Modelo E-R
Modelo E-R
Modelo E-R
1. Modelos de datos
Estos son lenguajes utilizados para especificar BDs, un modelo de datos permite
expresar:
Estructuras (Objetos de los problemas).
Restricciones (Reglas que deben cumplir los datos).
Operaciones (Insertar, borrar, consultar datos).
Éstas son bases de datos que, como su nombre indica, almacenan su información
en una estructura jerárquica. En este modelo los datos se organizan en una forma
similar a un árbol (visto al revés), 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.
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.
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.
Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en
los lenguajes de programación y sistemas de administración de datos. Aunque
nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su
gestión.
Elementos
Relaciones base y derivadas
En una base de datos relacional, todos los datos se almacenan y se acceden a ellos
por medio de relaciones. Las relaciones que almacenan datos son llamados
"relaciones base" y su implementación es llamada "tabla". Otras relaciones no
almacenan datos, pero que 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.
Restricciones
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
Clave única
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única
cada registro de dicha tabla, es decir, no pueden existir dos o más registros
diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos
se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas
suele llamársele candidata a clave primaria.
Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas, 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.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave
puede contener valores NULL.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas
no necesitan ser claves únicas en la tabla donde están y si a donde están
referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de
empleados, pero obviamente se permite que haya varios empleados en un mismo
departamento, pero existirá solo un departamento.
Clave índice
Las claves índice 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.
Procedimientos almacenados
Los procedimientos almacenados no son parte del modelo relacional, pero todas las
implementaciones comerciales los incluyen.
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 multidimensional 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 estudiar.
3. DBMS.
El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data Store ,
se crea bajo el concepto del Modelo de Datos de Red (Bachgman, 1965); luego se
desarrolla el IMS: Information Management System , sobre el concepto del Modelo
de Datos Jerárquico. Estos DBMSs eran accesados normalmente por lenguajes de
programación como Cobol usando interfases de bajo nivel haciendo que las tareas
de creación de aplicaciones y mantenimiento de los datos fuesen controlables, pero
aún complejas.
A medida que evolucionaban los DBMS, los lenguajes de programación también lo
hacían. En 1967 surge el primer lenguaje de programación orientado a objetos,
Simula, el cual fue propuesto para simulación de actividades. En este los
procedimientos podían ser asociados a un tipo para representar el comportamiento
de una instancia, introduciendo así el concepto de Clase. Simula, soporta
paralelismo permitiendo muchas entidades interactivas en una simulación. Además
comparte objetos acoplando datos y procedimientos.
Luego se genera una nueva noción, donde las bases de datos deben almacenar por
medio de una estructura tabular llamada relación o tabla (Codd,1970), compuesta
por filas y columnas, accesando dichas relaciones a través de un lenguaje de alto
nivel no procedural (declarativo). De esta forma en los años 80s surgen varios
productores de DBMS Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2,
además de otros lenguajes orientados a objetos como el C++, Java (antes el Oak),
Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero su desarrollo se
hace independiente de los DBMSs.
Ventajas DBMS
Desventajas DBMS
Es más costoso.
Mayor necesidad de recursos para acceder a la base de datos.
Necesita un especialista.
4. Esquema de un DBMS.
5. Lenguajes del DBMS.
DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este
el DBMS identifica las descripciones de los elementos de los esquemas y almacena
la descripción del esquema en el catálogo del DBMS.
Por medio de este el DBMS especifica el esquema conceptual e interno (Base de
datos Almacenada).
Tipos de DML's:
De alto Nivel o No por procedimientos: SQL.
De bajo Nivel o por procedimientos.