Introduccin a los Sistemas de Bases de Datos
Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín 11/2/2020 Curso de Bases de Datos 1
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 11/2/2020 Curso de Bases de Datos 2
Arquitectura ANSI/SPARC Nivel de visión o externo Inventario (vistas parciales de la BD) Nivel conceptual/lógico (vista global de la BD) Ventas Contabilidad Correspondencia 1/muchos BD conceptual BD lógica Correspondencia 1/1 Nivel físico (almacenamiento de la BD) 11/2/2020 BD física Curso de Bases de Datos 3
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 11/2/2020 Curso de Bases de Datos 4
Nivel de visión Cada visión ofrece su representación de los datos de la BD Visión Secretaria Fechas con formato: BD (dd-mm-yy) 11/2/2020 Visión Contador Fechas con formato: (yyyy-dd-mm) Curso de Bases de Datos 5
Nivel de visión Una visión de usuario podría incluir: • Datos Agregados: Agregados Totales por Dpto • Datos Derivados: Derivados Sueldo total = básico + comisión • Datos Calculados: 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 11/2/2020 Curso de Bases de Datos 6
BD Cédula Nombre Salario 712123 Alesha Dixon 435422 Madonna 342311 Björk 100 5 Medicina 898765 Lorde 200 10 Medicina 231452 Cheryl Cole 50 5 Ciencias 546897 Bruno Mars 100 5 Artes 717234 Boy George 50 20 Artes Total Visión de un usuario Salario + Comisión 11/2/2020 Comisión Dpto 100 5 Ciencias 50 10 Ciencias Dpto 220 Ciencias 315 Medicina 175 Artes Curso de Bases de Datos Total sueldo por Dpto 7
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. 11/2/2020 Curso de Bases de Datos 8
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 11/2/2020 Curso de Bases de Datos 9
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 11/2/2020 Curso de Bases de Datos 10
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 11/2/2020 Curso de Bases de Datos 11
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 11/2/2020 Curso de Bases de Datos 12
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 esfuerzo para cambiar las aplicaciones de tal forma que se adapten al nuevo esquema de la BD. BD • Hay dos tipos: física y lógica 11/2/2020 Curso de Bases de Datos 13
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 11/2/2020 Curso de Bases de Datos 14
60 70 65 70 Árbol B+ 55 60 90 Apuntadores a los registros de datos Función Hash: por simplicidad supóngase: Pares e Impares 11/2/2020 Pares 70 60 90 Apuntadores a los registros de datos Impares 65 55 Curso de Bases de Datos 15 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é? 11/2/2020 Curso de Bases de Datos 16
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 11/2/2020 Curso de Bases de Datos 17
Diferencias entre los niveles Vista externa 1 Cod Inicial Apellido Nombre Nivel conceptual Nivel interno 11/2/2020 Cod Vista externa 2 Nro. Emp Nombre Edad Completo Correspondencias Externa / Conceptual Nombre Apellido FNac Salario Struct empleado{ date fecha_nac float salario string apellido [20] string nombre [20] int código Struct empleado *proximo} Curso de Bases de Datos Correspondencia Conceptual / Interna 18
• 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 11/2/2020 Curso de Bases de Datos 19
• 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… 11/2/2020 Curso de Bases de Datos 20
Concepto de modelo • La realidad concreta, con todos sus detalles no se puede captar y hay detalles que NO interesan: Captar lo que le interesa a la organización • 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 11/2/2020 Curso Bases de Datos 21
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 11/2/2020 Curso Bases de Datos 22
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 11/2/2020 Curso Bases de Datos 23
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 11/2/2020 Curso Bases de Datos 24
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 11/2/2020 Curso Bases de Datos 25
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 11/2/2020 Curso Bases de Datos 26
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… 11/2/2020 Curso Bases de Datos 27
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. 11/2/2020 Curso Bases de Datos 28
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 11/2/2020 Curso Bases de Datos 29
E-R Requisitos Clases Semántico Primitivos Red Jerárquico Relacional Objetual Objeto Relacional 11/2/2020 Modelo Conceptual Independiente del SGBD Modelo Lógico Dependiente del tipo de SGBD Modelo Físico Dependiente del SGBD: Oracle, My. SQL, SQL Server, DB 2, … Curso Bases de Datos 30
• 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… 11/2/2020 Curso Bases de Datos 31
- Slides: 31