09/02/25 Curso de Bases de Datos 1
Introducción a los Sistemas de
Bases de Datos (2)
Francisco Moreno
Universidad Nacional
Medellín
09/02/25 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
09/02/25 Curso de Bases de Datos 3
Arquitectura ANSI/SPARC
InventarioVentasContabilidad
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
09/02/25 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
09/02/25 Curso de Bases de Datos 5
Nivel de visión
Cada 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
09/02/25 Curso de Bases de Datos 6
Nivel de visión
Una 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
09/02/25 Curso de Bases de Datos 7
Cédula Nombre SalarioComisiónDpto
712123Alesha Dixon 100 5Ciencias
435422Madonna 50 10Ciencias
342311Björk 100 5Medicina
898765Lorde 200 10Medicina
231452Cheryl Cole 50 5Ciencias
546897Bruno Mars 100 5Artes
717234Boy George 50 20Artes
BD
Visión de
un usuario
Total Dpto
220Ciencias
315Medicina
175Artes
Salario + Comisión
Total sueldo
por Dpto
09/02/25 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.
09/02/25 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
09/02/25 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
09/02/25 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
09/02/25 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
09/02/25 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
09/02/25 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 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
09/02/25 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
6070
5560 6570 90
09/02/25 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é?
09/02/25 Curso de Bases de Datos 17
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
09/02/25 Curso de Bases de Datos 18
Diferencias entre los niveles
Vista externa 1 Vista externa 2
Nivel
conceptual
Nivel
interno
CorrespondenciaCorrespondencia
Conceptual / Conceptual /
InternaInterna
CorrespondenciasCorrespondencias
Externa / ConceptualExterna / Conceptual
CodNombreApellidoFNacSalario
Struct empleado{
date fecha_nac
float salario
string apellido [20]
string nombre [20]
int código
Struct empleado *proximo}
NroEmpNombre
Completo
EdadCodInicial
Nombre
Apellido
09/02/25 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
09/02/25 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…
09/02/25 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
09/02/25 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)
09/02/25 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
09/02/25 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
09/02/25 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)
09/02/25 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)
09/02/25 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)
09/02/25 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.
09/02/25 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
09/02/25 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
Dependiente
del SGBD:
Oracle, MySQL,
SQL Server,
DB2, …
Primitivos
Independiente
del SGBD
Dependiente del
tipo de SGBD
09/02/25 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…