4/26/2015curso de bases de datos1 introducción a los sistemas de bases de datos (2) francisco...

31
06/24/22 Curso de Bases de Datos 1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

Upload: lope-alfonso

Post on 23-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 2: 4/26/2015Curso de Bases de Datos1 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

Page 3: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 4: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 5: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 6: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 7: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 8: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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.

Page 9: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 10: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 11: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 12: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 13: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 14: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 15: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 16: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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é?

Page 17: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 18: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 19: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 20: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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…

Page 21: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 22: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellí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)

Page 23: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 24: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 25: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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)

Page 26: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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)

Page 27: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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)

Page 28: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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.

Page 29: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 30: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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

Page 31: 4/26/2015Curso de Bases de Datos1 Introducción a los Sistemas de Bases de Datos (2) Francisco Moreno Universidad Nacional Medellín

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…