310 likes | 562 Views
Introducción a los Sistemas de Bases de Datos (2). Francisco Moreno Universidad Nacional Medellín. Niveles de abstracción de una BD. Percepción de una BD según el tipo de usuario (final, especialista o administrador) Arquitectura ANSI/SPARC * Base para la independencia de datos.
E N D
Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín Curso de Bases de Datos
Niveles de abstracción de una BD • Percepción de una BD según el tipo de usuario (final, especialista o administrador) • Arquitectura ANSI/SPARC* • Base para la independencia de datos *American National Standards Institute/Systems Planification and Requirements Committee Curso de Bases de Datos
Arquitectura ANSI/SPARC Nivel de visión o externo (vistas parciales de la BD) Inventario Ventas Contabilidad Correspondencia 1/muchos Nivel conceptual/lógico (vista global de la BD) BD conceptual BD lógica Correspondencia 1/1 Nivel físico (almacenamiento de la BD) BD física Curso de Bases de Datos
Nivel de visión/externo • El más cercano a los usuarios finales • Percepción de la BD por parte de los usuarios finales • Tantas visiones como tipos de usuarios haya • Cada visión de usuario final se puede considerar como un subesquema Curso de Bases de Datos
Nivel de visión Cada visión ofrece su representación de los datos de la BD Visión Secretaria Fechas con formato: (dd-mm-yy) Visión Contador Fechas con formato: (yyyy-dd-mm) BD Curso de Bases de Datos
Nivel de visión Una visión de usuario podría incluir: • Datos Agregados: Totales por Dpto • Datos Derivados: Sueldo total = básico + comisión • Datos Calculados: Edad de una persona (inferida a partir de su fecha de nacimiento) Note que en una BD convencional este tipo de datos posiblemente no están almacenados explícitamente en la BD Curso de Bases de Datos
BD Visión de usuario Total sueldo por Dpto Salario + Comisión Curso de Bases de Datos
Nivel de visión • Los conceptos de dato agregado, derivado y calculado significan, en general, que un dato se genera a partir de otro(s) • Puede haber a su vez: • datos agregados derivados • datos agregados calculados etc. Curso de Bases de Datos
Nivel conceptual • Nivel mediador entre los otros dos niveles • Interesante para el usuario especialista • Se ocupa de los datos almacenados en la BD física y las relaciones entre ellos • Descripción semántica de los datos que conforman la BD • Soporta a cada visión de usuario externa Curso de Bases de Datos
Nivel conceptual • Es una visión completa de todos los requisitos y elementos de interés para la organización • Incluye restricciones sobre los datos • La descripción del nivel conceptual no debe tener detalles dependientes del almacenamiento • Es un lenguaje de muy alto nivel • El nivel lógico es un refinamiento (ofrece más detalles) que el modelo conceptual Curso de Bases de Datos
Nivel físico • Interno • Más cercano a la máquina • Interesa al usuario administrador y al especialista • Esquema físico: Descripción y tipos de datos (tamaño y precisión), tipos de índices y de estructuras de almacenamiento usadas, de acuerdo con un SGBD particular Curso de Bases de Datos
Nivel físico • Describe cómo se almacenan los datos en términos de estructuras de datos específicas • Se encarga de: - Reservar espacio para los datos e índices - Comprimir los datos - Encriptar los datos Curso de Bases de Datos
Independencia de los datos • Es uno de los objetivos de la arquitectura ANSI/SPARC • Permite modificar la definición de un nivel sin afectar (en lo posible) el nivel inmediatamente superior • Sin independencia de datos se requeriría mucho esfuerzoparacambiarlasaplicaciones de tal forma que se adapten al nuevoesquema de la BD. • Hay dos tipos: física y lógica Curso de Bases de Datos
Independencia física • Se presenta entre el nivel conceptual y el nivel físico • Un cambio en el esquema físico (e.g., usar otras estructuras de almacenamiento) no conduce a cambios en el esquema conceptual Ej. Cambiar el tipo de índice de un atributo: B+ por hash, ¿con qué propósito se hace este tipo de cambios? • Inmunidad del esquema conceptual ante cambios del esquema físico Curso de Bases de Datos
60 70 70 90 65 55 60 Árbol B+ Apuntadores a los registros de datos Pares 70 60 90 Función Hash: por simplicidad supóngase: Pares e Impares Apuntadores a los registros de datos Impares 65 55 Curso de Bases de Datos Apuntadores a los registros de datos
Independencia lógica • Se presenta entre el nivel de visión y el nivel conceptual • Significa que un cambio en el nivel conceptual no debe implicar un cambio en el nivel de visión • Es más difícil de lograr. ¿Por qué? Curso de Bases de Datos
Independencia lógica Algunos de los posibles cambios en el nivel conceptual: • Adición de elementos (atributos, entidades, etc.) Ej. La adición de un atributo obligatorio puede afectar a los subesquemas externos • Eliminación de elementos La eliminación de un atributo puede afectar a los subesquemas externos Curso de Bases de Datos
Diferencias entre los niveles Vista externa 2 Vista externa 1 NroEmp Nombre Completo Edad Cod Inicial Nombre Apellido Correspondencias Externa / Conceptual Nivel conceptual Cod Nombre Apellido FNac Salario Correspondencia Conceptual / Interna Struct empleado{ date fecha_nac float salario string apellido [20] string nombre [20] int código Struct empleado *proximo} Nivel interno Curso de Bases de Datos
La descripción completa de una BD se denomina esquema • Cada visión de usuario tiene su esquema (subesquema), existe un esquema conceptual/lógico y uno interno • Existen correspondencias (mappings): - entre cada subesquema externo y el conceptual - entre el esquema conceptual y el interno • Estas correspondencias le permiten al SGBD saber, e.g., un elemento conceptual con cual elemento del nivel físico se corresponde Curso de Bases de Datos
En teoría debería existir un lenguaje de descripción para cada esquema (nivel)* • Sin embargo, en la práctica en muchos SGBD el esquema lógico queda fusionado con la especificación del esquema interno * No siempre sucede así en los SGBD actuales… Curso de Bases de Datos
Concepto de modelo • La realidad concreta, con todos sus detalles no se puede captar y hay detalles que NO interesan: • N observadores de un fenómeno tendrán al menos N percepciones, posiblemente distintas, del mismo fenómeno • Modelo: Herramienta para comunicar y plasmar la representación de algún fenómeno del mundo real • Esa representación ayuda a la comprensión del fenómeno Captar lo que le interesa a la organización Curso Bases de Datos
Modelo conceptual (1/4) • Un modelo conceptual, en BD, es una descripción de alto nivel de la estructura de la BD, independiente del SGBD que se vaya a usar • El diseño de un modelo conceptual parte de la especificación de requisitos Curso Bases de Datos
Modelo conceptual(2/4) • El propósito del modelo conceptual es describir la estructura de los datos de la BD, en vez de las estructuras de almacenamiento que se requerirán para manejar dichos datos • Se expresa mediante un lenguaje de alto nivel • Es un modelo de datos que describe un conjunto de conceptos de una realidad y cómo se relacionan entre ellos Curso Bases de Datos
Modelo conceptual(3/4) • Características deseables: • Expresividad: Representación de gran variedad de restricciones • Simplicidad: Usualmente es fácil de comprender por los usuarios • Minimalidad: Un concepto no se puede expresar con otros conceptos • Formalidad: Conceptos con interpretación única, precisa y bien definida Curso Bases de Datos
Modelo conceptual(4/4) • Los modelos conceptuales más usados para BD son - Entidad Relación (E-R) El más usado y base del curso - Semántico - Diagrama de clases de UML Curso Bases de Datos
Modelo lógico (1/3) • Un modelo lógico en BD es una descripción de la estructura de la BD • Puede ser procesado por un SGBD • El diseño de un modelo lógico parte de un modelo conceptual • Sigue siendo un lenguaje de alto nivel pero más detallado que el modelo conceptual Curso Bases de Datos
Modelo lógico (2/3) • Los modelos lógicos más usados son: • Relacional El más usado y base del curso • Objeto – Relacional • Objetual puro • Anteriores (primitivos): • Red • Jerárquico Similitud con la organización jerárquica de los documentos XML… Curso Bases de Datos
Modelo lógico(3/3) • La elección del modelo lógico depende de la clase de modelo soportado por el tipo de SGBD, NO de un SGBD específico (es decir, el diseño del modelo lógico se efectúa igual para todos los SGBD relacionales porque todos soportan el modelo relacional) • El modelo lógico está entre el modelo conceptual y el modelo físico * * Sin embargo, en algunos SGBD la especificación del modelo lógico queda fusionada con elementos del modelo físico. Curso Bases de Datos
Modelo físico • Un modelo físico es una descripción de la implantación de una BD en disco • Describe las estructuras de almacenamiento y las técnicas para accesar los datos • El diseño de un modelo físico depende de un SGBD específico Curso Bases de Datos
E-R Requisitos Clases Independiente del SGBD Semántico Modelo Conceptual Red Primitivos Jerárquico Dependiente del tipo de SGBD Modelo Lógico Relacional Objetual Objeto - Relacional Dependiente del SGBD: Oracle, MySQL, SQL Server, DB2, … Modelo Físico Curso Bases de Datos
Se presentarán los modelos conceptuales E-R y semántico • Como modelo lógico se presentará el relacional • El modelo conceptual de clases y el lógico objeto-relacional se presentan en otros cursos • Se comienza con el modelo E-R… Curso Bases de Datos