BASE DE DATOS
-
Upload
institutodelperu -
Category
Documents
-
view
1 -
download
0
Transcript of BASE DE DATOS
BASE DE DATOS
DEDICATORIA
Este presente Trabajo Monográfico dedico a mis padres y familiares
porque me brindaron su apoyo tanto moral y económicamente para
seguir estudiando y lograr el objetivo trazado para un futuro mejor
y ser orgullo para ellos y de toda la familia.
Pág. 2
BASE DE DATOS
INDICE DEL CONTENIDO
Pág.
INTRODUCCIÓN………………………………………………….…………………….……..….6
CAPÍTULO I
HISTORIA, CONCEPTO Y GENERALIDADES
1.1 HISTORIA………………………………………………..…………………………………7
1.2 CONCEPTO DE BASE DE DATOS……………………………………………………...8
1.2.1 PRIMER CONCEPTO…………………………………………….……………....8
1.2.2 SEGUNDO CONCEPTO……………………………………………...................8
1.2.3 TERCER CONCEPTO………………………………………………………….9
1.3 ELEMENTOS DE UNA BASE DE DATOS……………………………………………..10
1.4 CARACTERÍSTICAS DE LA BASE DE DATOS…………………………………….…11
1.5 IMPORTANCIA DE UNA BASE DE DATOS…………………………………………...12
CAPÍTULO II
SISTEMA DE GESTIÓN DE BASE DE DATOS
2.1 CONCEPTO……………………………………………………………………………….13
Pág. 3
BASE DE DATOS
2.2 MODELOS DE BASES DE DATOS………………………………………………….…14
2.2.1 BASES DE DATOS JERÁRQUICAS………………………………………...…14
2.2.2 BASE DE DATOS DE RED…………………………………………………...…15
2.2.3 BASES DE DATOS TRANSACCIONALES……………………………………16
2.2.4 BASES DE DATOS RELACIONALES………………………………………......17
2.2.4.1 ELEMENTOS……………………………………………………....18
2.2.5 BASES DE DATOS MULTIDIMENSIONALES……………………………..…..21
2.2.6 BASES DE DATOS ORIENTADAS A OBJETOS……………………………....21
2.2.7 BASES DE DATOS DOCUMENTALES………………………………………....22
2.2.8 BASES DE DATOS DEDUCTIVAS……………………………………………...23
2.3 VENTAJAS Y DESVENTAJAS DE LA SGBD……………………………………….....24
2.3.1 VENTAJAS………………………………………………………………………....24
2.3.2 DESVENTAJAS…………………………………………………………………….28
2.4 FUNCIONES DE UN SGBD……………………………………………………….…..….29
2.4.1 DEFINICIÓN DE DATOS……………………………………………………….…30
2.4.2 MANIPULACIÓN DE DATOS………………………………………………….…30
2.4.3 SEGURIDAD E INTEGRIDAD DE LOS DATOS…………………………….…31
2.4.4 GESTIÓN DE TRANSACCIONES Y ACCESO
CONCURRENTE…………..32
Pág. 4
BASE DE DATOS
CAPÍTULO III
TIPOS DE SGBD, LENGUAJES Y USUARIOS
3.1 TIPOS Y CARACTERÍSTICAS DE SGBD……………………………………………...34
3.1.1 POSTGRESQL………………………………………………………………….…34
3.1.2 FIREBIRD……………………………………………………………………….....37
3.1.3 SQLITE…………………………………………………………………………….38
3.1.4 DB2 EXPRESS-C………………………………………………………………... 39
3.1.5 APACHE DERBY……………………………………………………….………...39
3.1.6 MYSQL……………………………………………………………………..………40
3.2 LENGUAJES Y USUARIOS………………………………………………………...…...41
3.2.1 ADMINISTRADOR DE BASE DE DATOS……………………………………..43
CONCLUSIONES……………………………………………………………………………..….45
REFERNCIAS BIBLIOGRÁFICAS……………………………………………………………...47
Pág. 5
BASE DE DATOS
INTRODUCCIÓN
Este trabajo a de tratar sobre las Bases de Datos. Las bases
son cualquier conjunto de datos organizados para su almacenamiento
en la memoria de un ordenador o computadora, diseñado para
facilitar su mantenimiento y acceso de una forma estándar. Los
datos suelen aparecer en forma de texto, números o gráficos. Desde
su aparición en la década de 1950, se han hecho imprescindibles
para las sociedades industriales.
La Base de Datos tienen varios tipos entre ellos están: Base
de Datos Relacional, Base de Datos Jerárquica, Bases de Datos Red
Pág. 6
BASE DE DATOS
también sus tipos de Datos que pueden ser tanto de Entrada como de
Salida y los tipos de Datos para los campos de una tabla.
En el primer capítulo se detalla un poco de historia, la
variedad de conceptos, características e importancia de una base de
datos en la actualidad.
En el segundo capítulo se explica que es un sistema de
gestión de base de datos, los diferentes tipos de base de datos que
existen, las ventajas y desventajas al hacer uso un gestor de base
de datos en la actualidad así como sus funciones principales.
Finalmente en el tercer capítulo se da conocer los diferentes
tipos de SGBD (Sistema de Gestión de Base de Datos) y detallando
sus características de cada una de ellas como también los lenguajes
que utilizan para que un usuario pueda acceder a la data; y el rol
importante del DBA que cumple en una organización.
EL AUTOR
CAPÍTULO I
HISTORIA, CONCEPTO Y GENERALIDADES
Pág. 7
BASE DE DATOS
1.1 HISTORIA
Tuvieron sus orígenes en 1960 - 1962, cuando se empezaron a
usar las máquinas que codificaban la información en tarjetas
perforadas por medio de agujeros. Las bases de datos se crean con
el objetivo de almacenar grandes cantidades de datos que antes se
almacenaba en libros, lo que era lento, costoso y complejo
(cualquier actualización a realizar, había que hacerla en cada uno
de los libros en los que apareciera dicha información a modificar).
Las primeras bases de datos manejaban ficheros que eran
almacenados en tarjetas o soportes magnéticos. Cuando los
ordenadores evolucionan, aparecen las cintas y los discos, a la vez
que las maquinas son dotadas de mucha más potencia y facilidad de
manipulación, es por tanto en ese momento cuando las bases de datos
comienzan a ser realmente útiles.
En 1970 se convoca una Conferencia de Lenguajes de
Programación y se establece un modelo llamado CODASYL (Modelo para
el tratamiento de bases de datos que fue publicado por E. Cod en
1970. Cod, propuso una forma de organizar las bases de datos
mediante un modelo matemático lógico.
Una vez creado este modelo se crea un modelo estándar de actuación.
Pág. 8
BASE DE DATOS
1.2 CONCEPTOS DE BASE DE DATOS
1.2.1 PRIMER CONCEPTO
Una base de datos es una colección de información organizada
de forma que un programa de ordenador pueda seleccionar rápidamente
los fragmentos de datos que necesite. Una base de datos es un
sistema de archivos electrónico.
Las bases de datos tradicionales se organizan por campos,
registros y archivos. Un campo es una pieza única de información;
un registro es un sistema completo de campos; y un archivo es una
colección de registros. Por ejemplo, una guía de teléfono es
análoga a un archivo. Contiene una lista de registros, cada uno de
los cuales consiste en tres campos: nombre, dirección, y número de
teléfono.
A veces se utiliza DB, de database en inglés, para referirse
a las bases de datos.
1.2.2 SEGUNDO CONCEPTO
Pág. 9
BASE DE DATOS
Una base de datos (cuya abreviatura es BD) es una entidad en
la cual se pueden almacenar datos de manera estructurada, con la
menor redundancia posible. Diferentes programas y diferentes
usuarios deben poder utilizar estos datos. Por lo tanto, el
concepto de base de datos generalmente está relacionado con el
de red ya que se debe poder compartir esta información. De allí el
término base. "Sistema de información" es el término general
utilizado para la estructura global que incluye todos los
mecanismos para compartir datos que se han instalado.
1.2.3 TERCER CONCEPTO
Una base de datos es el conjunto de datos informativos
organizados en un mismo contexto para su uso y vinculación.
Se le llama base de datos a los bancos de información que
contienen datos relativos a diversas temáticas y categorizados de
distinta manera, pero que comparten entre sí algún tipo de vínculo
o relación que busca ordenarlos y clasificarlos en conjunto.
Una base de datos puede ser de diverso tipo, desde un pequeño
fichero casero para ordenar libros y revistas por clasificación
Pág. 10
BASE DE DATOS
alfabética hasta una compleja base que contenga datos de índole
gubernamental en un Estado u organismo internacional.
Recientemente, el término base de datos comenzó a utilizarse casi
exclusivamente en referencia a bases construidas a partir de
software informático, que permiten una más fácil y rápida
organización de los datos. Las bases de datos informáticas pueden
crearse a partir de software o incluso de forma online usando
Internet. En cualquier caso, las funcionalidades disponibles son
prácticamente ilimitadas.
1.3 ELEMENTOS DE UNA BASE DE DATOS
Datos: Es la parte esencial de la información, es decir, la
información que llega a la base de datos.
Pág. 11
BASE DE DATOS
Atributos: Son los diferentes campos que conforman la
estructura de una base de datos.
Campos: Es la unidad más pequeña de datos.
Registro: Es un conjunto de campos o atributos relacionados
entre sí.
Archivo: Es un conjunto de registros relacionados.
Pág. 12
BASE DE DATOS
1.4 CARACTERÍSTICAS DE LA BASE DE DATOS
Entre las principales características de los sistemas de base de
datos podemos mencionar:
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditoría.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar.
Pág. 13
BASE DE DATOS
1.5 IMPORTANCIA DE UNA BASE DE DATOS
Las bases de datos facilitan no solo el registro de gran cantidad
de datos son también el acceso a los mismos, lo cual permite
ahorrar tanto espacio físico como tiempo al momento de consultar
información contenida en ellas.
A nivel organizacional, las bases de datos resultan una ventaja
competitiva, siendo así una herramienta primordial al momento de
tomar decisiones ya que permiten:
Mantener comunicación constante con los clientes.
Conocer las tendencias de compra del mercado objetivo.
Personalizar la atención a los usuarios.
Generar estrategias de publicidad.
Utilizar segmentos específicos de clientes para colocar
productos específicos llegando de manera directa al
comprador o usuario.
Comentar las novedades, promociones y noticias relacionadas
con el negocio; y en algunas ocasiones, con el sector al que
se dedica la empresa.
En la actualidad, las bases de datos son el elemento fundamental en
Pág. 14
BASE DE DATOS
las aéreas que utilizan sistemas computarizados, debido a que
permite operar información de manera organizada, segura, confiable
y en grandes cantidades.
CAPÍTULO II
SISTEMA DE GESTIÓN DE BASE DE DATOS
(SGBD)
2.1 CONCEPTO
Los Sistemas de Gestión de Base de Datos (en inglés Data Base
Management System) son un tipo de software muy específico, dedicado
a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Se compone de un lenguaje de
definición de datos, de un lenguaje de manipulación de datos y de
un lenguaje de consulta.
Pág. 15
BASE DE DATOS
2.2 MODELOS DE BASES DE DATOS
Además de la clasificación por la función de las bases de datos,
éstas también se pueden clasificar de acuerdo a su modelo de
administración de datos.
Un modelo de datos es básicamente una "descripción" de algo
conocido como contenedor de datos (algo en donde se guarda la
información), así como de los métodos para almacenar y recuperar
Pág. 16
BASE DE DATOS
información de esos contenedores. Los modelos de datos no son cosas
físicas: son abstracciones que permiten la implementación de un
sistema eficiente de base de datos; por lo general se refieren a
algoritmos, y conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
2.2.1 BASES DE DATOS JERÁRQUICAS
En este modelo los datos se organizan en forma de árbol
invertido (algunos dicen raíz), en donde un nodo padre de
información puede tener varios hijos. El nodo que no tiene
padres es llamado raíz, y a los nodos que no tienen hijos se
los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el
caso de aplicaciones que manejan un gran volumen de
información y datos muy compartidos permitiendo crear
estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su
incapacidad de representar eficientemente la redundancia de
datos.
Pág. 17
BASE DE DATOS
2.2.2 BASE DE DATOS DE RED
Éste es un modelo ligeramente distinto del jerárquico; su
diferencia fundamental es la modificación del concepto de
nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que
ofrecía una solución eficiente al problema de redundancia de
datos; pero, aun así, la dificultad que significa administrar
la información en una base de datos de red ha significado que
sea un modelo utilizado en su mayoría por programadores más
que por usuarios finales.
Pág. 18
BASE DE DATOS
2.2.3 BASES DE DATOS TRANSACCIONALES
Son bases de datos cuyo único fin es el envío y recepción de
datos a grandes velocidades, estas bases son muy poco comunes
y están dirigidas por lo general al entorno de análisis de
calidad, datos de producción e industrial, es importante
entender que su fin único es recolectar y recuperar los datos
a la mayor velocidad posible, por lo tanto la redundancia y
duplicación de información no es un problema como con las
demás bases de datos, por lo general para poderlas aprovechar
al máximo permiten algún tipo de conectividad a bases de datos
relacionales.
Un ejemplo habitual de transacción es el traspaso de una
cantidad de dinero entre cuentas bancarias. Normalmente se
realiza mediante dos operaciones distintas, una en la que se
decrementa el saldo de la cuenta origen y otra en la que
incrementamos el saldo de la cuenta destino. Para garantizar
la atomicidad del sistema (es decir, para que no aparezca o
desaparezca dinero), las dos operaciones deben ser atómicas,
Pág. 19
BASE DE DATOS
es decir, el sistema debe garantizar que, bajo cualquier
circunstancia (incluso una caída del sistema), el resultado
final es que, o bien se han realizado las dos operaciones, o
bien no se ha realizado ninguna.
2.2.4 BASES DE DATOS RELACIONALES
Éste es el modelo utilizado en la actualidad para representar
problemas reales y administrar datos dinámicamente. Tras ser
postulados sus fundamentos en 1970 por Edgar Frank Codd, de
los laboratorios IBM en San José (California), no tardó en
consolidarse como un nuevo paradigma en los modelos de base de
datos. Su idea fundamental es el uso de "relaciones". Estas
relaciones podrían considerarse en forma lógica como conjuntos
de datos llamados "tuplas". Pese a que ésta es la teoría de
las bases de datos relacionales creadas por Codd, la mayoría
de las veces se conceptualiza de una manera más fácil de
imaginar. Esto es pensando en cada relación como si fuese una
tabla que está compuesta por registros (las filas de una
tabla), que representarían las tuplas, y campos (las columnas
de una tabla).
Pág. 20
BASE DE DATOS
En este modelo, el lugar y la forma en que se almacenen los
datos no tienen relevancia (a diferencia de otros modelos como
el jerárquico y el de red). Esto tiene la considerable ventaja
de que es más fácil de entender y de utilizar para un usuario
esporádico de la base de datos. La información puede ser
recuperada o almacenada mediante "consultas" que ofrecen una
amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases
de datos relacionales es SQL, Structured Query Language o
Lenguaje Estructurado de Consultas, un estándar implementado
por los principales motores o sistemas de gestión de bases de
datos relacionales.
Durante su diseño, una base de datos relacional pasa por un
proceso al que se le conoce como normalización de una base de
datos.
2.2.4.1 ELEMENTOS
Relaciones Base y Derivadas
Pág. 21
BASE DE DATOS
En una base de datos relacional, todos los datos se almacenan
y se accede a ellos por medio de relaciones. Las relaciones
que almacenan datos son llamadas "relaciones base" y su
implementación es llamada "tabla". Otras relaciones no
almacenan datos, pero son calculadas al aplicar operaciones
relacionales. Estas relaciones son llamadas "relaciones
derivadas" y su implementación es llamada "vista" o
"consulta". Las relaciones derivadas son convenientes ya que
expresan información de varias relaciones actuando como si
fuera una sola tabla.
Restricciones
Una restricción es una limitación que obliga el cumplimiento
de ciertas condiciones en la base de datos. Algunas no son
determinadas por los usuarios, sino que son inherentemente
definidas por el simple hecho de que la base de datos sea
relacional. Algunas otras restricciones las puede definir el
usuario, por ejemplo, usar un campo con valores enteros entre
1 y 10.
Las restricciones proveen un método de implementar reglas en
la base de datos. Las restricciones limitan los datos que
pueden ser almacenados en las tablas. Usualmente se definen
usando expresiones que dan como resultado un valor booleano,
indicando si los datos satisfacen la restricción o no.
Pág. 22
BASE DE DATOS
Las restricciones no son parte formal del modelo relacional,
pero son incluidas porque juegan el rol de organizar mejor los
datos. Las restricciones son muy discutidas junto con los
conceptos relacionales.
Dominios
Un dominio describe un conjunto de posibles valores para
cierto atributo. Como un dominio restringe los valores del
atributo, puede ser considerado como una restricción.
Matemáticamente, atribuir un dominio a un atributo significa
"cualquier valor de este atributo debe ser elemento del
conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto,
fecha, no procedurales, etc.
Clave primaria
Una clave primaria es una clave única elegida entre todas las
candidatas que define unívocamente a todos los demás atributos
de la tabla, para especificar los datos que serán relacionados
con las demás tablas. La forma de hacer esto es por medio de
claves foráneas.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla,
determina la relación existente en dos tablas. Las claves
foráneas no necesitan ser claves únicas en la tabla donde
están y sí a donde están referenciadas.
Pág. 23
BASE DE DATOS
Por ejemplo, el código de departamento puede ser una clave
foránea en la tabla de empleados. Se permite que haya varios
empleados en un mismo departamento, pero habrá uno y sólo un
departamento por cada clave distinta de departamento en la
tabla de departamentos.
Clave índice
Las claves índices surgen con la necesidad de tener un acceso
más rápido a los datos. Los índices pueden ser creados con
cualquier combinación de campos de una tabla. Las consultas
que filtran registros por medio de estos campos, pueden
encontrar los registros de forma no secuencial usando la clave
índice.
Las bases de datos relacionales incluyen múltiples técnicas de
ordenamiento, cada una de ellas es óptima para cierta
distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de
datos, pues son un detalle agregado. Sin embargo, las claves
índices son desarrolladas por el mismo grupo de programadores
que las otras partes de la base de datos.
Pág. 24
BASE DE DATOS
2.2.5 BASES DE DATOS MULTIDIMENSIONALES
Son bases de datos ideadas para desarrollar aplicaciones muy
concretas, como creación de Cubos OLAP. Básicamente no se
diferencian demasiado de las bases de datos relacionales (una
tabla en una base de datos relacional podría serlo también en
una base de datos multidimensional), la diferencia está más
bien a nivel conceptual; en las bases de datos
multidimensionales los campos o atributos de una tabla pueden
ser de dos tipos, o bien representan dimensiones de la tabla,
o bien representan métricas que se desean aprender.
2.2.6 BASES DE DATOS ORIENTADAS A OBJETOS
Pág. 25
BASE DE DATOS
Este modelo, bastante reciente, y propio de los modelos
informáticos orientados a objetos, trata de almacenar en la
base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que
incorpora todos los conceptos importantes del paradigma de
objetos:
Encapsulación: Propiedad que permite ocultar la
información al resto de los objetos, impidiendo así
accesos incorrectos o conflictos.
Herencia: Propiedad a través de la cual los objetos
heredan comportamiento dentro de una jerarquía de clases.
Polimorfismo: Propiedad de una operación mediante la cual
puede ser aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden
definir operaciones sobre los datos como parte de la
definición de la base de datos. Una operación (llamada
función) se especifica en dos partes. La interfaz (o
signatura) de una operación incluye el nombre de la operación
Pág. 26
BASE DE DATOS
y los tipos de datos de sus argumentos (o parámetros). La
implementación (o método) de la operación se especifica
separadamente y puede modificarse sin afectar la interfaz. Los
programas de aplicación de los usuarios pueden operar sobre
los datos invocando a dichas operaciones a través de sus
nombres y argumentos, sea cual sea la forma en la que se han
implementado. Esto podría denominarse independencia entre
programas y operaciones.
SQL: 2003, es el estándar de SQL92 ampliado, soporta los
conceptos orientados a objetos y mantiene la compatibilidad
con SQL92.
2.2.7 BASES DE DATOS DOCUMENTALES
Permiten la indexación a texto completo, y en líneas generales
realizar búsquedas más potentes. Tesaurus es un sistema de
índices optimizado para este tipo de bases de datos.
Pág. 27
BASE DE DATOS
2.2.8 BASES DE DATOS DEDUCTIVAS
Un sistema de base de datos deductiva, es un sistema de base
de datos pero con la diferencia de que permite hacer
deducciones a través de inferencias. Se basa principalmente en
reglas y hechos que son almacenados en la base de datos. Las
bases de datos deductivas son también llamadas bases de datos
lógicas, a raíz de que se basa en lógica matemática. Este tipo
de base de datos surge debido a las limitaciones de la Base de
Datos Relacional de responder a consultas recursivas y de
deducir relaciones indirectas de los datos almacenados en la
base de datos.
Pág. 28
BASE DE DATOS
2.3 VENTAJAS Y DESVENTAJAS DE LA SGBD
2.3.1 VENTAJAS
Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los mismos
datos en ficheros distintos. Esto hace que se desperdicie
espacio de almacenamiento, además de provocar la falta de
consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están
integrados, por lo que no se almacenan varias copias de los
mismos datos. Sin embargo, en una base de datos no se puede
eliminar la redundancia completamente, ya que en ocasiones es
necesaria para modelar las relaciones entre los datos.
Pág. 29
BASE DE DATOS
Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce
en gran medida el riesgo de que haya inconsistencias. Si un
dato está almacenado una sola vez, cualquier actualización se
debe realizar sólo una vez, y está disponible para todos los
usuarios inmediatamente. Si un dato está duplicado y el
sistema conoce esta redundancia, el propio sistema puede
encargarse de garantizar que todas las copias se mantienen
consistentes.
Compartir datos:
En los sistemas de ficheros, los ficheros pertenecen a las
personas o a los departamentos que los utilizan. Pero en los
sistemas de bases de datos, la base de datos pertenece a la
empresa y puede ser compartida por todos los usuarios que
estén autorizados.
Pág. 30
BASE DE DATOS
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares
necesarios, tanto los establecidos a nivel de la empresa como
los nacionales e internacionales. Estos estándares pueden
establecerse sobre el formato de los datos para facilitar su
intercambio, pueden ser estándares de documentación,
procedimientos de actualización y también reglas de acceso.
Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la
consistencia de los datos almacenados. Normalmente, la
integridad se expresa mediante restricciones o reglas que no
se pueden violar. Estas restricciones se pueden aplicar tanto
a los datos, como a sus relaciones, y es el SGBD quien se debe
encargar de mantenerlas.
Mejora en la seguridad:
Pág. 31
BASE DE DATOS
La seguridad de la base de datos es la protección de la base
de datos frente a usuarios no autorizados. Sin unas buenas
medidas de seguridad, la integración de datos en los sistemas
de bases de datos hace que éstos sean más vulnerables que en
los sistemas de ficheros.
Mejora en la accesibilidad a los datos:
Muchos SGBD proporcionan lenguajes de consultas o generadores
de informes que permiten al usuario hacer cualquier tipo de
consulta sobre los datos, sin que sea necesario que un
programador escriba una aplicación que realice tal tarea.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el
programador necesita escribir en un sistema de ficheros. A
nivel básico, el SGBD proporciona todas las rutinas de manejo
de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador
centrarse mejor en la función específica requerida por los
usuarios, sin tener que preocuparse de los detalles de
implementación de bajo nivel.
Pág. 32
BASE DE DATOS
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se
encuentran inmersas en los programas de aplicación que los
manejan.
Esto hace que los programas sean dependientes de los datos, de
modo que un cambio en su estructura, o un cambio en el modo en
que se almacena en disco, requiere cambios importantes en los
programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos
de las aplicaciones. Esto es lo que se conoce como
independencia de datos, gracias a la cual se simplifica el
mantenimiento de las aplicaciones que acceden a la base de
datos.
Aumento de la concurrencia:
Pág. 33
BASE DE DATOS
En algunos sistemas de ficheros, si hay varios usuarios que
pueden acceder simultáneamente a un mismo fichero, es posible
que el acceso interfiera entre ellos de modo que se pierda
información o se pierda la integridad. La mayoría de los SGBD
gestionan el acceso concurrente a la base de datos y
garantizan que no ocurran problemas de este tipo.
Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien
proporcione las medidas necesarias para proteger los datos
ante fallos en el sistema o en las aplicaciones. Los usuarios
tienen que hacer copias de seguridad cada día, y si se produce
algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde
que se hizo la última copia de seguridad se pierde y se tiene
que volver a realizar. Sin embargo, los SGBD actuales
Pág. 34
BASE DE DATOS
funcionan de modo que se minimiza la cantidad de trabajo
perdido cuando se produce un fallo.
2.3.2 DESVENTAJAS
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser
complejos con una gran funcionalidad. Es preciso comprender
muy bien esta funcionalidad para poder realizar un buen uso de
ellos.
Coste del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer que
sea necesario adquirir más espacio de almacenamiento. Además,
para alcanzar las prestaciones deseadas, es posible que sea
Pág. 35
BASE DE DATOS
necesario adquirir una máquina más grande o una máquina que se
dedique solamente al SGBD. Todo esto hará que la implantación
de un sistema de bases de datos sea más cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el
sistema sea más vulnerable ante los fallos que puedan
producirse. Es por ello que deben tenerse copias de seguridad
(Backup).
2.4 FUNCIONES DE UN SGBD
Las principales funciones que debe realizar un S.G.B.D. son:
La definición de los datos.
La manipulación de los datos.
Garantizar la seguridad e integridad de los datos.
La gestión de las transacciones y el acceso concurrente.
Pág. 36
BASE DE DATOS
2.4.1 DEFINICIÓN DE DATOS
Mediante el Lenguaje de Definición de datos (L.D.D.) el
S.G.B.D. permite describir y definir los esquemas de la base
de datos. Este lenguaje debe permitir:
La creación de objetos conceptuales
La descripción de estructuras físicas
La definición de vistas
Para una base de datos existente, el L.D.D. debe permitir
también:
La modificación de la descripción de objetos conceptuales
El borrado de objetos conceptuales
La modificación y borrado de caminos de acceso
La modificación de las vistas
Un L.D.D. está compuesto por un conjunto de comandos que
actúan sobre los objetos conceptuales y sobre los objetos
físicos. El conjunto de las descripciones de objetos de una
base de datos se le conoce con el nombre de diccionario de
datos.
Pág. 37
BASE DE DATOS
2.4.2 MANIPULACIÓN DE DATOS
La función de manipulación de datos se encarga de todas las
operaciones de intercambio de datos entre los usuarios y la
base de datos. Esta función se hace con la ayuda del Lenguaje
de Manipulación de datos (L.M.D.), que está compuesto
por un conjunto de comandos que nos permiten la consulta o
puesta al día (inserción, modificación y borrado) de los datos
de una base de datos.
Los L.M.D. funciona de forma diferente, según el modelo de
datos:
En los modelos en red y jerárquicos son, lenguajes
procedimentales (se indica que datos se quieren y como se
van a obtener esos datos), es decir, los programadores deben
indicar el camino a seguir para acceder a los datos
solicitados.
En el modelo relacional son lenguajes declarativos o no
procedimentales (se indica que datos se quieren pero no la
forma de obtenerlos), y no es necesario indicar cómo se
tiene que acceder a los datos, es suficiente indicar qué es
lo que se desea obtener.
Pág. 38
BASE DE DATOS
2.4.3 SEGURIDAD E INTEGRIDAD DE LOS DATOS
Se trata de garantizar la coherencia de los datos, comprobando
que sólo los usuarios autorizados puedan efectuar las
operaciones correctas sobre la base de datos. Esto se consigue
mediante:
Un control sobre los usuarios que acceden a la base de datos
y los tipos de operaciones que están autorizados a realizar.
Este control se llama gestión de autorizaciones, y permite
crear o borra usuarios y conceder o retirar derechos a
efectuar determinados tipos de operaciones (por ejemplo:
crear objetos, borrar objetos, modificar datos, etc.).
La validación de las operaciones realizadas con los datos.
Este control se hace mediante un conjunto de reglas
llamadas restricciones de integridad. Existen varios tipos
de restricciones de integridad, como por ejemplo, las
restricciones de integridad referencial, que imponen que las
modificaciones realizadas sobre algunos datos, obliguen a
realizar modificaciones de otros datos con los que están
enlazados (por ejemplo, si se modifica el código de un
Pág. 39
BASE DE DATOS
artículo, se debería modificar ese código en todos los
pedidos que soliciten el artículo).
Una protección de los datos contra los accesos
malintencionados y los fallos. Los accesos malintencionados
se suelen evitar con la asignación de palabras de paso
(password) a los usuarios, la definición de vistas,
protección física de los datos (encriptado de los datos).
Con respecto a los fallos causados por manipulaciones
incorrectas, o accidentes lógicos o físicos, los S.G.B.D.
suelen disponer de utilidades de recuperación de los datos
después de un fallo.
La correcta utilización de todas estas operaciones de
seguridad e integridad constituye una tarea esencial del
Administrador de la base de datos (gestión de usuarios y sus
derechos, gestión de vistas y recuperación después de un
fallo).
2.4.4 GESTIÓN DE TRANSACCIONES Y ACCESO CONCURRENTE
El principal objetivo de la implantación de una base de datos
en un sistema de información de una organización, es poner a
disposición de un gran número de usuarios un conjunto
integrado de datos. El S.G.B.D. debe proteger los datos cuando
Pág. 40
BASE DE DATOS
estos sean manipulados simultáneamente por diferentes
usuarios.
Una transacción se define como una unidad lógica de
tratamiento (conjunto de órdenes) que aplicada a un estado
coherente de la base de datos la deja, de nuevo, en un estado
coherente, después de hacer las modificaciones. Una
transacción solo se puede ejecutar completamente o ser
anulada.
Para controlar la ejecución simultánea de transacciones es
necesario una buena gestión de acceso concurrente que controle
que la ejecución paralela de transacciones da el mismo
resultado que una ejecución secuencial. Para controlar la
ejecución paralela, la solución clásica consiste en bloquear
momentáneamente los datos utilizados por una transacción hasta
que finalice la actualización y las demás transacciones que
demandan estos datos se ponen en espera hasta que quedan
desbloqueados.
Un parámetro importante que afecta al rendimiento es el nivel
de bloqueo de datos, llamado granularidad del bloque. Esta
Pág. 41
BASE DE DATOS
granularidad puede ser lógica (toda la base, una tabla, una
línea) o física (segmento, fichero, página).
La consecuencia de esta técnica de bloqueos es el riesgo del
interbloqueo (llamado bloqueo mortal), que sucede cuando dos o
más transacciones se encuentran a la espera de que queden
liberados datos que tiene bloqueados otra transacción que
espera por los datos que están bloqueados por las
transacciones anteriores. El S.G.B.D. debe estar capacitado
para detectar esta situación y desbloquearla.
Otras funciones que deben realizar los S.G.B.D. son:
Capacidad de auditoria: Para el administrador de la base de datos
es muy importante conocer quien accede a la base de datos y
que operaciones realiza. Un buen S.G.B.D debe poder
proporcionarle esa información.
Pág. 42
BASE DE DATOS
Garantizar un tiempo de respuesta idóneo para el diálogo entre los
usuarios y la base de datos en los procesos en línea.
CAPÍTULO III
TIPOS DE SGBD, LENGUAJE Y USUARIOS
3.1 TIPOS Y CARACTERÍSTICAS DE SGBD
3.1.1 POSTGRESQL
PostgreSQL es un sistema de gestión de base de datosrelacional orientada a objetos y libre, publicado bajo lalicencia BSD. Como muchos otros proyectos de código abierto,el desarrollo de PostgreSQL no es manejado por una empresa y/opersona, sino que es dirigido por una comunidad dedesarrolladores que trabajan de formas desinteresadas,altruistas, libres y/o apoyadas por organizacionescomerciales.
Características:
Alta concurrencia
Pág. 43
BASE DE DATOS
Mediante un sistema denominado MVCC (Acceso concurrente
multiversión, por sus siglas en inglés) PostgreSQL permite que
mientras un proceso escribe en una tabla, otros accedan a la
misma tabla sin necesidad de bloqueos.
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para: * Números de precisión arbitraria. * Texto de largo ilimitado. * Figuras geométricas (con una variedad de funciones asociadas). * Direcciones IP (IPv4 e IPv6). * Bloques de direcciones estilo CIDR. * Direcciones MAC. * Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a lainfraestructura GiST de PostgreSQL.
Pág. 44
BASE DE DATOS
Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
Disparadores (triggers): Un disparador o trigger se define
como una acción específica que se realiza de acuerdo a un
evento, cuando éste ocurra dentro de la base de datos.
Tipos de datos y operaciones geométricas
Soporte para transacciones distribuidas. Permite a PostgreSQL
integrase en un sistema distribuido formado por varios
recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una
cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un
servidor de aplicaciones donde el éxito ("commit") de la
transacción globlal es el resultado del éxito de las
transacciones locales.
Pág. 45
BASE DE DATOS
3.1.2 FIREBIRD
Firebird es un sistema de administración de base de datos
relacional (o RDBMS) (Lenguaje consultas: SQL) de código
abierto, basado en la versión 6 de Interbase, cuyo código fue
liberado por Borland en 2000. Su código fue reescrito de C a
C++. El proyecto se desarrolla activamente, el 18 de abril de
2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009
fue liberada la versión 2.5.0 RC1.
Es multiplataforma, y actualmente puede ejecutarse en los
sistemas operativos:
Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
Ejecutable pequeño, con requerimientos de hardware
bajos.
Arquitectura Cliente/Servidor sobre protocolo TCP/IP y
otros (embedded).
Soporte de transacciones ACID y claves foráneas.
Es medianamente escalable.
Pág. 46
BASE DE DATOS
Buena seguridad basada en usuarios/roles.
Diferentes arquitecturas, entre ellas el Servidor
Embebido (embedded server) que permite ejecutar
aplicaciones monousuario en ordenadores sin instalar el
software Firebird.
Bases de datos de sólo lectura, para aplicaciones que
corran desde dispositivos sin capacidad de escritura como
cd-roms.
Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl,
.net, etc.
Completo lenguaje para la escritura de disparadores y
procedimientos almacenados denominado PSQL.
Capacidad de almacenar elementos BLOB (Binary Large
OBjects).
3.1.3 SQLITE
SQLite es un sistema de gestión de bases de datos relacional
compatible con ACID, contenida en una relativamente pequeña
(275 kiB) biblioteca en C. SQLite es un proyecto de dominio
público creado por D. Richard Hipp.
Pág. 47
BASE DE DATOS
A diferencia de los sistemas de gestión de bases de datos
cliente-servidor, el motor de SQLite no es un proceso
independiente con el que el programa principal se comunica.
En lugar de eso, la biblioteca SQLite se enlaza con el
programa pasando a ser parte integral del mismo.
Características:
La biblioteca implementa la mayor parte del estándar SQL-92,
incluyendo transacciones de base de datos atómicas,
consistencia de base de datos, aislamiento, y durabilidad
(ACID), triggers y la mayor parte de las consultas complejas.
SQLite usa un sistema de tipos inusual. En lugar de asignar un
tipo a una columna como en la mayor parte de los sistemas de
bases de datos SQL, los tipos se asignan a los valores
individuales.
Varios procesos o hilos pueden acceder a la misma base de
datos sin problemas.
Varios accesos de lectura pueden ser servidos en paralelo. Un
acceso de escritura sólo puede ser servido si no se está
sirviendo ningún otro acceso concurrentemente.
Pág. 48
BASE DE DATOS
3.1.4 DB2 EXPRESS-C
DB2 express-C es un motor de base de datos perteneciente a la
empresa IBM, conteniendo parte de las funcionalidades de la
versión de pago DB2 propiedad también de la empresa IBM, este
motor de base de datos es gratuita pero no libre (como
aquellas que tienen licencia GPL) y cuenta con la ventaja de
no tener límite de crecimiento en sus archivos de base de
datos.
3.1.5 APACHE DERBY
Apache Derby es un sistema gestor de base de datos relacional
escrito en Java que puede ser empotrado en aplicaciones Java y
utilizado para procesos de transacciones online. Tiene un
tamaño de 2 MB de espacio en disco. Inicialmente distribuido
como IBM Cloudscape, Apache Derby es un proyecto open source
licenciado bajo la Apache 2.0 License. Actualmente se
distribuye como Sun Java DB.
Características:
APIs para JDBC y SQL. Soporta todas las características
de SQL92 y la mayoría de SQL99.
Pág. 49
BASE DE DATOS
Su código mide alrededor de 2000KB comprimido.
Soporta cifrado completo, roles y permisos. Además posee
SQL SCHEMAS para separar la información en una única base
de datos y control completo de usuarios.
Soporta internamente procedures, cifrado y compresión.
Trae soporte multilenguaje y localizaciones específicas.
A partir de la versión 10.4 trae un sistema simple de
replicación maestro-esclavo.
Transacciones y recuperación ante errores ACID.
3.1.6 MYSQL
MySQL es un sistema de gestión de bases de datos relacional,
multihilo y multiusuario con más de seis millones de
instalaciones. MySQL AB —desde enero de 2008 una subsidiaria
de Sun Microsystems y ésta a su vez de Oracle Corporation
Pág. 50
BASE DE DATOS
desde abril de 2009— desarrolla MySQL como software libre en
un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso
compatible con esta licencia, pero para aquellas empresas que
quieran incorporarlo en productos privativos deben comprar a
la empresa una licencia específica que les permita este uso.
Está desarrollado en su mayor parte en ANSI C.
Características
Inicialmente, MySQL carecía de elementos considerados
esenciales en las bases de datos relacionales, tales como
integridad referencial y transacciones. A pesar de ello,
atrajo a los desarrolladores de páginas web con contenido
dinámico, justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQL están
siendo incorporados tanto por desarrollos internos, como por
desarrolladores de software libre. Entre las
Características disponibles en las últimas versiones se puede
destacar:
Pág. 51
BASE DE DATOS
Amplio subconjunto del lenguaje SQL. Algunas extensiones son
incluidas igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de mecanismos de almacenamiento que
ofrecen diferente velocidad de operación, soporte físico,
capacidad, distribución geográfica, transacciones...
Transacciones y claves foráneas.
Conectividad segura.
Replicación.
Búsqueda e indexación de campos de texto.
3.2 LENGUAJES Y USUARIOS
Para comunicarse con el SGBD, el usuario, ya sea un programa de
aplicación o un usuario directo, se vale de un lenguaje. Hay muchos
lenguajes diferentes, según el tipo de usuarios para los que están
pensados y el tipo de cosas que los usuarios deben poder expresar
con ellos:
a) Habrá usuarios informáticos muy expertos que querrán
escribir procesos complejos y que necesitarán lenguajes
complejos.
Pág. 52
BASE DE DATOS
b) Sin embargo, habrá usuarios finales no informáticos,
ocasionales (esporádicos), que sólo harán consultas. Estos
usuarios necesitarán un lenguaje muy sencillo, aunque dé un
rendimiento bajo en tiempo de respuesta.
c) También podrá haber usuarios finales no informáticos,
dedicados o especializados. Son usuarios cotidianos o,
incluso, dedicados exclusivamente a trabajar con la BD.
Estos usuarios necesitarán lenguajes muy eficientes y compactos,
aunque no sea fácil aprenderlos. Tal vez serán lenguajes
especializados en tipos concretos de tareas.
El lenguaje SQL, que es el más utilizado en las BD relacionales,
tiene verbos instrucciones de tres tipos diferentes:
Verbos del tipo DML; por ejemplo, SELECT para hacer consultas,
e INSERT, UPDATE y DELETE para hacer el mantenimiento de los
datos.
Verbos del tipo DDL; por ejemplo, CREATE TABLE para definir
las tablas, sus columnas y las restricciones.
Además, SQL tiene verbos de control del entorno, como por
ejemplo COMMIT y ROLLBACK para delimitar transacciones.
Pág. 53
BASE DE DATOS
En cuanto a los aspectos DML, podemos diferenciar dos tipos de
lenguajes:
a) Lenguajes muy declarativos (o implícitos), con los que se
especifica qué se quiere hacer sin explicar cómo se debe hacer.
b) Lenguajes más explícitos o procedimentales, que nos exigen
conocer más cuestiones del funcionamiento del SGBD para detallar
paso a paso cómo se deben realizar las operaciones (lo que se
denomina navegar por la BD).
Como es obvio, los aspectos DDL (las descripciones de los datos)
son siempre declarativos por su propia naturaleza.
Los lenguajes utilizados en los SGBD pre relacionales eran
procedimentales. SQL es básicamente declarativo, pero tiene
posibilidades procedimentales.
Aunque casi todos los SGBD del mercado tienen SQL como lenguaje
nativo, ofrecen otras posibilidades, como por ejemplo 4GL y
herramientas visuales:
Lenguajes 4GL (4th Generation Languages) de muy alto nivel,
que suelen combinar elementos procedimentales con elementos
declarativos.
Pretenden facilitar no sólo el tratamiento de la BD, sino
también la definición de menús, pantallas y diálogos.
Pág. 54
BASE DE DATOS
Herramientas o interfaces visuales muy fáciles de utilizar,
que permiten usar las BD siguiendo el estilo de diálogos con
ventanas, iconos y ratón, puesto de moda por las aplicaciones
Windows. No sólo son útiles a los usuarios no informáticos,
sino que facilitan mucho el trabajo a los usuarios
informáticos: permiten consultar y actualizar la BD, así como
definirla y actualizar su definición con mucha facilidad y
claridad.
3.2.1 ADMINISTRADOR DE BASE DE DATOS
Son los responsables del correcto funcionamiento de la BD y
velan para que siempre se mantenga útil. Intervienen en
situaciones problemáticas o de emergencia, pero su
responsabilidad fundamental es velar para que no se produzcan
incidentes. A continuación damos una lista de tareas típicas
del ABD:
Mantenimiento, administración y control de los esquemas.
Comunicación de los cambios a los usuarios.
Asegurar la máxima disponibilidad de los datos; por ejemplo,
haciendo copias (back-ups), administrando diarios (journals o
logs), reconstruyendo la BD, etc.
Pág. 55
BASE DE DATOS
Resolución de emergencias.
Vigilancia de la integridad y de la calidad de los datos.
Diseño físico, estrategia de caminos de acceso y
reestructuraciones.
Control del rendimiento y decisiones relativas a las
modificaciones en los esquemas y/o en los parámetros del SGBD
y del SO, para mejorarlo.
Normativa y asesoramiento a los programadores y a los usuarios
finales sobre la utilización de la BD.
Control y administración de la seguridad: autorizaciones,
restricciones, etc.
Pág. 56
BASE DE DATOS
CONLUSIONES
1) Que las bases de datos forman el núcleo de las principales
aplicaciones, sitio web y servicios corporativos.
2) Que en todos los casos hay herramientas de gestión y control
que permiten verificar su funcionamiento y eventualmente
corregirlo.
3) También se entiende que tiene una elevada capacidad y solidez
para administrar la información sin fallos ni errores.
4) Que una base de datos conlleva la existencia de tres tipos de
usuarios que son el:
Diseño el cual administra los datos.
Desarrollador implementa las transacciones e interfaces.
Usuarios finales los cuales consultan y editan los datos.
Pág. 57
BASE DE DATOS
5) Que el propósito de una base de datos es responder a consultas
y ejecutar transacciones de datos.
6) Durante la realización de este trabajo, aprendimos acerca, de
los sistemas de gestión de bases de datos, y su importancia y
utilidad a la hora de almacenar, clasificar y manejar
información, de cualquier tipo.
7) Desde usuarios particulares, hasta grandes empresas, gozan de
las ventajas que brindan los SGBD, desde clasificar la
información según el criterio deseado por el usuario,
modificar la información que contiene una base de datos, entre
otras.
8) MySQL ha sido un gestor de bases de datos muy útil desde que
fue creado, y con el tiempo, nuevas funciones se le añadieron,
expandiéndolo y volviéndolo más útil, y convirtiéndose así en
uno de los gestores de bases de datos más utilizados a nivel
mundial, junto a Oracle. Por otro lado, PostgreSQL es un SGBD
continuamente modificado y actualizado por un grupo de
desarrolladores a nivel mundial (PostgreSQL Global Development
Group), también basado en el lenguaje SQL.
Pág. 58
BASE DE DATOS
9) Hemos explicado que los componentes de un modelo de BD son las
estructuras, las restricciones y las operaciones. Los
diferentes modelos de BD se diferencian básicamente por sus
estructuras. Hemos hablado de los modelos más conocidos,
especialmente del modelo relacional, que está basado en
tablas.
10) Cada tipo de usuario del SGBD puede utilizar un lenguaje
apropiado para su trabajo. Unos usuarios con una tarea
importante y difícil son los administradores de las BD
REFERENCIAS BIBLIOGRÁFICAS
FUENTES DE TIPO WEB
http://es.wikipedia.org/wiki/Base_de_datos
Pág. 59
BASE DE DATOS
http://es.wikipedia.org/wiki/Modelo_relacional
http://fernandoflores707.blogspot.com/2010/07/tema-3-
conclusion-administracion-de.html
https://sites.google.com/site/rebecagonzalezfbd4sc4a/tareas/1-
9-sistemas-gestores-de-base-de-datos
http://www.ub.edu.ar/catedras/ingenieria/Datos/capitulo1/
cap16.htm
https://nopaltepecmanolos.wordpress.com/2011/05/29/funciones-
de-los-sistemas-gestores-de-base-de-datos/
https://tombasededatos.wordpress.com/2010/08/27/1-7-2-
funciones-de-un-gestor-de-base-de-datos/
http://brenyova.blogspot.com/2013/03/que-es-un-gestor-y-
cuales-son-sus-tipos.html
http://ocw.uoc.edu/computer-science-technology-and-
multimedia/bases-de-datos/bases-de-datos/P06_M2109_02147.pdf
Pág. 60