introducción a los sistemas de bases de datos (2)
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
04/21/23 Curso de Bases de Datos 1
Introducción a los Sistemas de Bases de Datos (2)
Francisco Moreno
Universidad Nacional
Medellín
04/21/23 Curso de Bases de Datos 2
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
04/21/23 Curso de Bases de Datos 3
Arquitectura ANSI/SPARC
Inventario Ventas Contabilidad
BD conceptual
Nivel de visión o externo(vistas parciales
de la BD)
Nivel conceptual/lógico(vista global
de la BD)
Nivel físico(almacenamiento
de la BD)
BD física
Correspondencia 1/1
Correspondencia 1/muchos
BD lógica
04/21/23 Curso de Bases de Datos 4
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
04/21/23 Curso de Bases de Datos 5
Nivel de visiónCada visión ofrece su representación de los datos de
la BD
Visión Secretaria Visión Secretaria Fechas con formato:
(dd-mm-yy)
Visión Contador Visión Contador Fechas con formato:
(yyyy-dd-mm)
BD
04/21/23 Curso de Bases de Datos 6
Nivel de visiónUna visión de usuario podría incluir:
• Datos AgregadosAgregados: Totales por Dpto
• Datos DerivadosDerivados:
Sueldo total = básico + comisión
• Datos CalculadosCalculados:
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
04/21/23 Curso de Bases de Datos 7
Cédula Nombre Salario Comisión Dpto
712123 Alesha Dixon 100 5 Ciencias
435422 Madonna 50 10 Ciencias
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
BD
Visión de un usuario
Total Dpto
220 Ciencias
315 Medicina
175 ArtesSalario + Comisión
Total sueldo por Dpto
04/21/23 Curso de Bases de Datos 8
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.
04/21/23 Curso de Bases de Datos 9
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
04/21/23 Curso de Bases de Datos 10
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
04/21/23 Curso de Bases de Datos 11
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
04/21/23 Curso de Bases de Datos 12
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
04/21/23 Curso de Bases de Datos 13
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 Sin independencia de datos se requeriría mucho esfuerzo para cambiar las aplicaciones de tal forma esfuerzo para cambiar las aplicaciones de tal forma que se adapten al nuevo esquema de la BDque se adapten al nuevo esquema de la BD.
• Hay dos tipos: física y lógica
04/21/23 Curso de Bases de Datos 14
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 conceptualEj. 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
04/21/23 Curso de Bases de Datos 15
Apuntadores a los registros de datos
Árbol B+
Función Hash: por simplicidad
supóngase: Pares e Impares
Pares
Impares
70 60 90
65 55
Apuntadores a los registros de datos
Apuntadores a los registros de datos
60 70
55 60 65 70 90
04/21/23 Curso de Bases de Datos 16
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é?
04/21/23 Curso de Bases de Datos 17
Independencia lógicaAlgunos 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
04/21/23 Curso de Bases de Datos 18
Diferencias entre los nivelesVista externa 1 Vista externa 2
Nivel conceptual
Nivel interno
CorrespondenciaCorrespondenciaConceptual / Conceptual /
InternaInterna
CorrespondenciasCorrespondenciasExterna / ConceptualExterna / Conceptual
Cod Nombre Apellido FNac Salario
Struct empleado{ date fecha_nac float salario string apellido [20] string nombre [20] int códigoStruct empleado *proximo}
NroEmp Nombre Completo
EdadCod Inicial Nombre
Apellido
04/21/23 Curso de Bases de Datos 19
• 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
04/21/23 Curso de Bases de Datos 20
• 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…
04/21/23 Curso Bases de Datos 21
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
04/21/23 Curso Bases de Datos 22
• Un modelo conceptual, en BD, es una descripción de alto nivel de la estructura de la BD, independiente del SGBDindependiente del SGBD que se vaya a usar
• El diseño de un modelo conceptual parte de la especificación de requisitos
Modelo conceptual (1/4)
04/21/23 Curso Bases de Datos 23
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
04/21/23 Curso Bases de Datos 24
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
04/21/23 Curso Bases de Datos 25
• 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
Modelo conceptual(4/4)
04/21/23 Curso Bases de Datos 26
• 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
Modelo lógico (1/3)
04/21/23 Curso Bases de Datos 27
• 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…
Modelo lógico (2/3)
04/21/23 Curso Bases de Datos 28
Modelo lógico(3/3)
• La elección del modelo lógico depende de la clase de modelo soportado por el tipo detipo 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.
04/21/23 Curso Bases de Datos 29
• 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
Modelo físico
04/21/23 Curso Bases de Datos 30
RequisitosRequisitos
Modelo Modelo ConceptualConceptual
Modelo Modelo LógicoLógico
Modelo Modelo FísicoFísico
E-R
Clases
Semántico
Relacional
Red
Jerárquico
Objetual
Objeto -Relacional
Dependientedel SGBD: Oracle, MySQL, SQL Server, DB2, …
Primitivos
Independientedel SGBD
Dependiente del tipo de SGBD
04/21/23 Curso Bases de Datos 31
• 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…