Vous êtes sur la page 1sur 31

Introducción a los Sistemas de

Bases de Datos (2)

Francisco Moreno
Universidad Nacional
Medellín
3/16/2018 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
3/16/2018 Curso de Bases de Datos 2
Arquitectura ANSI/SPARC
Nivel de visión o externo
Inventario Ventas Contabilidad
(vistas parciales
de la BD) Correspondencia
1/muchos
Nivel conceptual/lógico BD conceptual
(vista global
de la BD) BD lógica

Correspondencia
1/1
Nivel físico
BD física
(almacenamiento
de la BD)
3/16/2018 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

3/16/2018 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 Visión Contador


Fechas con formato: BD Fechas con formato:
(dd-mm-yy) (yyyy-dd-mm)

3/16/2018 Curso de Bases de Datos 5


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
3/16/2018 Curso de Bases de Datos 6
Cédula Nombre Salario Comisión Dpto
712123 Alesha Dixon 100 5 Ciencias
435422 Madonna 50 10 Ciencias
342311 Björk 100 5 Medicina
BD
898765 Lorde 200 10 Medicina
231452 Cheryl Cole 50 5 Ciencias
546897 Bruno Mars 100 5 Artes
717234 Boy George 50 20 Artes

Total Dpto
Visión de 220 Ciencias
Total sueldo
un usuario 315 Medicina
por Dpto
175 Artes
Salario + Comisión
3/16/2018 Curso de Bases de Datos 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.

3/16/2018 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

3/16/2018 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

3/16/2018 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

3/16/2018 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

3/16/2018 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.
• Hay dos tipos: física y lógica

3/16/2018 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
3/16/2018 Curso de Bases de Datos 14
60 70
Árbol B+
55 60 65 70 90

Apuntadores a los registros de datos

Pares 70  60  90
Función Hash:
por simplicidad
supóngase: Apuntadores a los registros de datos
Pares e Impares Impares 65  55

3/16/2018 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é?

3/16/2018 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

3/16/2018 Curso de Bases de Datos 17


Diferencias entre los niveles
Vista externa 1 Vista externa 2
Cod Inicial Apellido NroEmp Nombre Edad
Nombre Completo
Correspondencias
Externa / Conceptual

Nivel Cod Nombre Apellido FNac Salario


conceptual
Correspondencia
Conceptual /
Struct empleado{ Interna
date fecha_nac
Nivel float salario
interno string apellido [20]
string nombre [20]
int código
Struct empleado *proximo}
3/16/2018 Curso de Bases de Datos 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

3/16/2018 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…

3/16/2018 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
3/16/2018 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

3/16/2018 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
3/16/2018 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
3/16/2018 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

3/16/2018 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

3/16/2018 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…

3/16/2018 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.
3/16/2018 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

3/16/2018 Curso Bases de Datos 29


E-R
Requisitos
Clases

Semántico Modelo Independiente


Conceptual del SGBD
Red
Primitivos
Jerárquico
Relacional Modelo Dependiente del
Objetual Lógico tipo de SGBD
Objeto -
Relacional
Modelo Dependiente
Físico del SGBD:
Oracle, MySQL,
SQL Server,
DB2, …
3/16/2018 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…

3/16/2018 Curso Bases de Datos 31

Vous aimerez peut-être aussi