Generaciones de Bases de Datos Sector Comercial Centros de Investigación Sector Industrial • Primera generación: Bases de datos jerárquica • Segunda: Bases de datos en red • Tercera: Bases de datos relacionales Arquitectura del DBMS Jerárquico IMS/360 -1969 Aplicación 1 Programa de comunicación Aplicación 2 Programa de comunicación Descripciones de la base de datos Aplicación n Programa de comunicación Estructura jerárquica de una base de datos académica ASIGNATURA Código Descripción CURSOS REQUISITOS Fecha PROFESORES Cédula Nombre Grupo Aula ESTUDIANTES Cédula Nombre El problema básico de la estructura jerárquica, consistió en que un registro hijo no podía tener dos padres. Esta situación impedía representar relaciones muchos a muchos, sin tener redundancia. Segunda Generación: Bases de Datos en Red La estructura de un DBMS en red es esencialmente la misma que en el modelo de datos jerárquico; excepto que un “miembro” (registro hijo) puede pertenecer a más de un “conjunto” (registro padre). Las redes de conjuntos de una base de datos siempre son implementadas mediante punteros, como lo ilustra la figura 123 | Juan Pérez registro 128 registro 146 registro 145 registro 149 El manejo de punteros; además de aumentar la complejidad, obliga a definir de antemano cómo se consultarían los datos; restando flexibilidad a los sistemas. TERCERA GENERACION DE BASES DE DATOS En 1970, E.F. Codd de la IBM propone el modelo relacional que está basado en la teoría de conjuntos y en la lógica de predicados de primer orden. La técnica consistía en representar los datos como tablas bidimensionales; una manera mucho más sencilla y comprensible y por ello, este modelo de datos logró la popularidad que hoy sigue teniendo. Ventajas del modelo relacional 1. Separación clara del nivel lógico y el físico. El usuario no sabe la estructura de datos interna o el nivel físico. 2. Simple y fácil de trabajar con él. La representación de los datos por tablas es intuitiva pues recuerda las hojas electrónicas. 3. Operadores más poderosos para la manipulación de datos (operadores de conjuntos). 4. Fundamentos teóricos sólidos. Desventajas En ocasiones, el tiempo de respuesta se ve afectado por la prohibición de manejo de punteros en forma explícita; aunque en algunos manejadores de bases de datos también se puede tener acceso a los objetos mediante su ROWID (identificador de fila) que no es otra cosa que la dirección de cada tupla en el archivo físico de datos. Terminología Relacional Relación: Una relación es un concepto abstracto que se puede representar mediante una estructura bidimensional. R: { x Ɛ Dn | x es un estudiante de postgrado en sistemas}. Propiedades: • Cada celda es atómica o univaluada. • Cada columna tiene un nombre único dentro de la tabla. • El orden de las columnas o filas es indiferente. • Cada fila es distinta e identificable por alguna combinación de los valores en los atributos (su clave primaria). Terminología Relacional (cont. ) Tupla: A cada instancia o fila de una relación se le denomina Atributo: cada columna se le denomina también Al número de atributos se le denomina el grado de una relación. Al número de tuplas se le denomina cardinalidad o extensión de la relación. Terminología Relacional (cont. ) Dominio Un dominio es un conjunto aceptable de valores para un atributo. Un dominio puede ser compartido por varios atributos y cada uno de ellos se puede restringir para velar por la integridad de la base de datos. Clave Primaria Las claves sirven para la identificación de las tuplas. Se utiliza, entonces, una colección mínima de atributos como clave primaria para representar los identificadores únicos del modelo E-R. Terminología Relacional (cont. ) Clave candidata: Atributo (columna) o conjunto de atributos que identifican a una tupla (fila) dada. La clave primaria es la clave candidata elegida por el DBA. Clave foránea: Es un atributo que es clave primaria en otra relación. Permite explícitamente especificar las relaciones entre dos diferentes entidades y es también un mecanismo para asegurar la integridad. Terminología alternativa de términos Relacional Común Sistemas de Archivos Relación Tabla Archivo Tupla Fila Registro Atributo Columna Campo Instancia Valor Valor