80
Administración y Diseño Administración y Diseño de Bases de Datos de Bases de Datos Ing. Elio Freites. Ing. Elio Freites. Octubre 2010 Octubre 2010

Administración y diseño de bases de datos

Embed Size (px)

Citation preview

Page 1: Administración y diseño de bases de datos

Administración y DiseñoAdministración y Diseñode Bases de Datosde Bases de Datos

Ing. Elio Freites.Ing. Elio Freites.Octubre 2010Octubre 2010

Page 2: Administración y diseño de bases de datos

2

BibliografíaBibliografía

● Sistemas de Bases de Datos. Conceptos Fundamentales. Ramez Elmasri y Shamkant B. Navathe. Segunda Edición. Addison Wesley Iberoaméricana.

● Sistemas de Bases de Datos. C.J. Date. Séptima Edición. Pearson.

● Aplique SQL. James R. Groff y Paul N. Weinberg. Primera Edición. McGraw Hill.

Page 3: Administración y diseño de bases de datos

5

Unidad IUnidad I

Introducción a los Sistemas de Bases de Datos

Page 4: Administración y diseño de bases de datos

6

Procesamiento de DatosProcesamiento de Datos

Datos Procesamiento Información

Toma de Decisiones

Procesar los datos para generar información, es la finalidad principal de los Sistemas de Información.

Page 5: Administración y diseño de bases de datos

7

Actividades del Procesamiento de DatosActividades del Procesamiento de Datos

● Procesamiento de Transacciones.

– Evento que origina los Datos (Información).

● Tareas del Procesamiento de Transacciones.

– Recolectar los datos originados por transacciones.

– Clasificar esos datos.

– Ordenación de los Datos.

– Calcular los Nuevos datos (A partir de los Originales).

– Resumir los Datos.

– Almacenar esos datos.

Page 6: Administración y diseño de bases de datos

8

Actividades del Procesamiento de DatosActividades del Procesamiento de Datos

● Procesamiento de Información:

– Seleccionar los datos que se requieren para producir información.

– Operar sobre los datos seleccionados.

– Presentar la información.

– Distribuir la información a los centros de decisión.

Page 7: Administración y diseño de bases de datos

9

Problemas de los Antiguos Sistemas de InformaciónProblemas de los Antiguos Sistemas de Información

● Sistemas de Información: Una colección de personas, procedimientos y equipos diseñados, construidos y mantenidos para recoger, registrar, procesar, almacenar, recuperar y visualizar información.

● Problemas:

– Ocupación inútil de memoria secundaria.

– Aumento del tiempo de proceso.

– Posibilidad de inconsistencias.

– Dependencia de los datos respecto al soporte físico y a los programas.

– Se impone una gestión más racional del conjunto de datos.

– Surge un nuevo enfoque que se basa en un supuesto: Los Datos son recogidos y almacenados una sola vez, con independencia de los tratamientos.

Page 8: Administración y diseño de bases de datos

10

Componentes de un Sistema de InformaciónComponentes de un Sistema de Información

Page 9: Administración y diseño de bases de datos

11

Base de DatosBase de Datos

● Es una colección de archivos interrelacionados que son creados con un DBMS. El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla.

● Los tres componentes principales de un sistema de base de datos son:

– El Hardware.

– El software DBMS

– Los Datos a manejar, así como el personal encargado del manejo del sistema.

Page 10: Administración y diseño de bases de datos

12

Ejemplo de una Base de DatosEjemplo de una Base de Datos

Examenes cCodExa cDesExa cEdoExaHecFec Heces Fecales A

HemCmp Hematología Completa A

Glicem Glicemia A

Pacientes cCodPac cNomPac dFecNacPac cEdoPac09.178.643 Pedro Martínez 13/03/1968 A

11.774.216 María Guerra. 01/07/1973 A

13.571.591 Tomás Sequea 12/10/1980 A

Consultas cCodPac dFecConsulta cMot ivo09.178.643 03/12/2002 Cuadro Diarreíco.

11.774.216 01/04/1998 Control PosHospitalización

13.571.591 29/03/2004 Naúseas y Dolor Abdominal.

Exá menes enConsultas

cCodPac dFecConsulta cCodExa

09.178.643 03/12/2002 HecFec

11.774.216 01/04/1998 Glicem

Page 11: Administración y diseño de bases de datos

13

Introducción a los Sistemas Manejadores de Bases de Introducción a los Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea específica.

● El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular información de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interfase entre los usuarios y la base de datos.

Page 12: Administración y diseño de bases de datos

14

Introducción a los Sistemas Manejadores de Bases de Introducción a los Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● El objetivo de un SMBD es reducir:

– Redundancia e inconsistencia de datos.

– Dificultad para tener acceso a los datos.

– Aislamiento de los datos.

– Anomalías del acceso concurrente.

– Problemas de seguridad.

– Problemas de integridad.

Page 13: Administración y diseño de bases de datos

15

Introducción a los Sistemas Manejadores de Bases de Introducción a los Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

Page 14: Administración y diseño de bases de datos

16

Introducción a los Sistemas Manejadores de Bases de Introducción a los Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

Page 15: Administración y diseño de bases de datos

17

Introducción a los Sistemas Manejadores de Bases de Introducción a los Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● Características:

– Los datos almacenados sirven para múltiples operaciones.

– Varios usuarios pueden tener acceso a los mismos datos simultáneamente (Control de Concurrencia).

– Los programas de aplicación permanecen invariables (Independiente de los datos) por cambios en la base de datos.

– El acceso a los datos es controlado mediante mecanismos de seguridad y privacidad.

– Garantiza la consistencia de los datos.

Page 16: Administración y diseño de bases de datos

18

Arquitectura de un Sistemas Manejadores de Bases de Arquitectura de un Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

Page 17: Administración y diseño de bases de datos

19

Arquitectura de un Sistemas Manejadores de Bases de Arquitectura de un Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● Nivel Físico: Es la representación del nivel más bajo de abstracción, en éste se describe en detalle la forma en como de almacenan los datos en los dispositivos de almacenamiento.

● Nivel Conceptual: El siguiente nivel más alto de abstracción, describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de su estructura de diseño. El nivel conceptual de abstracción lo usan los administradores de bases de datos, quienes deben decidir qué información se va a guardar en la base de datos.

Page 18: Administración y diseño de bases de datos

20

Arquitectura de un Sistemas Manejadores de Bases de Arquitectura de un Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● El Nivel Conceptual consta de las siguientes definiciones:

– Definición de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos direccionales en la base. Los elementos por definir incluyen artículos elementales (atributos), totales de datos y registros conceptuales (entidades).

– Relaciones entre datos: Se definen las relaciones entre datos para enlazar tipos de registros relacionados para el procesamiento de archivos múltiples.

Page 19: Administración y diseño de bases de datos

21

Arquitectura de un Sistemas Manejadores de Bases de Arquitectura de un Sistemas Manejadores de Bases de Datos (SMBD)Datos (SMBD)

● En el nivel conceptual la base de datos aparece como una colección de registros lógicos, sin descriptores de almacenamiento. En realidad los archivos conceptuales no existen físicamente. La transformación de registros conceptuales a registros físicos para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario.

– Nivel de visión: Nivel más alto de abstracción, es lo que el usuario final puede visualizar del sistema terminado, describe sólo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas visiones para la misma base de datos. Este nivel es utilizado por dos tipos de usuarios (Programadores de Aplicaciones y sus Usuarios (no especializados).

Page 20: Administración y diseño de bases de datos

22

Independencia con respecto a los datosIndependencia con respecto a los datos

Es la inmunidad de los programas de aplicación a cambios ó modificaciones en el esquema de la organización de Física de los datos. Son de dos Tipos: Lógica y Física.

● Lógica: Capacidad de modificar el nivel conceptual sin tener que alterar el Nivel Externo ni los programas de aplicación. Por ejemplo: Modificando el esquema conceptual para la ampliación de la base de datos, añadiendo un nuevo registro o elementos de información) o reducir la base de datos.

● Física: Capacidad de modificar el nivel físico sin tener que alterar el Nivel conceptual) o los externos). Por ejemplo, crear estructuras de archivos adicionales que mejoren el rendimiento de búsqueda de información.

Page 21: Administración y diseño de bases de datos

23

Administrador de Bases de Datos (DBA)Administrador de Bases de Datos (DBA)

● El control central del diseño, implementación y uso de la Base de Datos, es vital para los eventos que suceden en un ambiente de Base de Datos.

● Este control central y la coordinación es rol del Administrador de la Base de Datos. Se debe definir los roles de Administración, líneas de autoridad y las responsabilidades que tiene, las habilidades necesarias, los procedimientos, los estándares e interfases que pueda necesitar para crear y mantener la Base de Datos.

Page 22: Administración y diseño de bases de datos

24

Responsabilidades del DBAResponsabilidades del DBA

● Las responsabilidades de los Administradores pueden clasificarse en las siguientes áreas:

– Selección de aplicaciones apropiadas para los sistemas de administración de Bases de Datos.

– Asistir en el diseño de la Base de Datos.

– Mantener la documentación de la Base de Datos.

– Establecer procedimientos de validación de la data.

– Establecer procedimientos de respaldo.

– Planificar procedimientos de restauración.

Page 23: Administración y diseño de bases de datos

25

Funciones del DBAFunciones del DBA

● Funciones:

– Identificar los datos que la organización requiere y que van a incorporarse a la Base de Datos (Conocer los flujos de información) mediante el análisis estructurado del sistema.

– Diseñan la Base de datos: Definir la organización física de la Base de Datos. Esto es el diseño físico donde previamente se ha ya realizado el diseño lógico.

Diseño Lógico+

Organización Lógica+

Esquemas y Sub-Esquemas+

Diseño Físico+

Organización Física+

Estructura de Almacenamiento y Métodos de Acceso.

Page 24: Administración y diseño de bases de datos

26

Funciones del DBAFunciones del DBA

● Sirve de puente entre los Usuarios (No especializados y Programadores de Aplicación) y la Base de Datos.

● Especificar e Implementar los criterios y mecanismos de seguridad y privacidad de la Base de Datos.

● Mantenimiento de la Base de Datos.

● Establecer los mecanismos de respaldos y restauración para casos en que falle el Sistema Operativo y no requiera su pérdida (Prácticas Operativas).

Page 25: Administración y diseño de bases de datos

27

Fases en el Diseño de una Base de DatosFases en el Diseño de una Base de Datos

Recolección y Análisis de Requerimientos

Requerimientos de la Base de Datos

Esquema Conceptual (Modelo de Datos de Alto Nivel)

Diseño Conceptual

Diseño Lógico (Transformación de Modelo de Datos)

Esquema (Conceptual) Lógico (En el modo de datos de un SMBD)

Diseño Físico

Esquema Interno (Para el mismo SMBD)

Implementación de TransaccionesPrograma de Aplicación

Diseño de Programas de Aplicación

Especificación de transacciones de alto nivel

Análisis Funcional

Requerimientos Funcionales Empresa

Independiente del SGBD

Específico para cada SMBD

Page 26: Administración y diseño de bases de datos

28

Modelo de DatosModelo de Datos

● Para introducirnos en este tema, empezaremos definiendo que es un modelo.

● Un modelo es una representación de la realidad que contiene las características generales de algo que se va a realizar.

● En Base de Datos, esta representación la elaboramos de forma gráfica.

● Un modelo de datos es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semántica asociada a los datos y restricciones de consistencia.

Page 27: Administración y diseño de bases de datos

29

Modelo Entidad Relación (MER)Modelo Entidad Relación (MER)

● Denominado por sus siglas como: E-R (Entity-Relationship), Este modelo representa a la realidad, a través de entidades, que son objetos que existen y que se distinguen de otros por sus características.

● Una entidad es un objeto que tiene significado o importancia, cuya información necesito conocer.

● Otras definiciones:

– Un objeto de interés al negocio.

– Una entidad es una clase o categoría de algo.

– Una entidad es el nombre de una cosa.

Page 28: Administración y diseño de bases de datos

30

Modelo Entidad Relación (MER)Modelo Entidad Relación (MER)

● Por ejemplo, para identificar las entidades en el contexto de una administración de personal en una empresa, las entidades podrían ser:

– Empleado.

– Departamento.

– Proyecto

● Las entidades pueden ser de dos tipos:

– Tangibles: Son todos aquellos objetos físicos que podemos ver, tocar o sentir.

– Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.

Page 29: Administración y diseño de bases de datos

31

Atributos de EntidadesAtributos de Entidades

● Las características de las entidades en base de datos se llaman atributos, por ejemplo el Nombre, Dirección Teléfono, Grado, Grupo, etc., son atributos de la entidad alumno; Clave, Número de Seguro Social, Departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con más entidades a través de relaciones.

● Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta), y las características que los identifican son:

– Empleado (Cédula, Nombre, Puesto, Salario).

– Artículo (Código, Descripción, Costo).

● La relación entre ambas entidades la podemos establecer como Venta.

Page 30: Administración y diseño de bases de datos

32

Atributos de EntidadesAtributos de Entidades

● Atributo Simple: Son atributos indivisibles (Atómicos).

● Atributos Compuestos: Se pueden dividir en componentes más pequeños.

● Atributos Monovaluados: Son aquellos que solamente pueden tomar un sólo valor.

● Atributos Multivaluados: Puede tomar múltiples valores y se caracterizan por tener límites en el número de valores para una entidad individual.

● Atributo Derivado: Cuando su instancia puede ser calculada a partir de otra.

● Atributo clave de un Tipo de Entidades: Sus valores identifican en forma única a cada entidad.

Page 31: Administración y diseño de bases de datos

33

Instancias y EsquemasInstancias y Esquemas

● Con el paso del tiempo la información que se va acumulando y desechando en la base de datos, ocasiona que está cambie.

● Instancia: Al estado que presenta una base de datos en un tiempo dado. Veámoslo como una fotografía que tomamos de la base de datos en un tiempo t, después de que transcurre el tiempo t la base de datos ya no es la misma.

● Esquema: Es la descripción lógica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irán formando cada uno de los atributos. El esquema no cambia los que varían son los datos y con esto tenemos una nueva instancia.

Page 32: Administración y diseño de bases de datos

34

Instancias y EsquemasInstancias y Esquemas

● Ejemplo: Considerando el ejemplo del vendedor que vende artículos, esquema e instancia según nuestro ejemplo, quedaría:

● Esquema:

– { Vendedor : Nombre, puesto, Salario, RFC }

– { Articulo : Clave, Costo, descripción }

● Instancia:

– {Ramirez Elmaris, Vendedor, 1500, XFC000234D

● Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en registros cuyos nombres de campos son: por parte del vendedor (Cédula Nombre, Puesto, Salario) y por el Artículo (Clave, Costo, Descripción).

Page 33: Administración y diseño de bases de datos

35

VínculosVínculos

● Una relación es una asociación bi-direccional entre dos entidades, o entre una entidad consigo mismo.

● Ejemplo, la relación entre las entidades Profesor-Curso es:

– Cada CURSO puede ser impartido por sólo un INSTRUCTOR.

– Cada INSTRUCTOR puede ser asignado a uno a más cursos.

● Grado de opcionalidad:

– Opcional: Puede ser.

– Obligatorio: Debe ser.

● Grado de cardinalidad:

– Uno o Más.

– Uno y Solo Uno.

Page 34: Administración y diseño de bases de datos

36

VínculosVínculos

● El grado de un vínculo es el número de tipos de entidades que participan en él (Binarios y Ternarios).

● La razón de cardinalidad especifica el número de ejemplares de vínculos en los que puede participar una entidad. Las razones de cardinalidad más comunes en el tipo de vínculos binarios son 1:1, 1:N y N:N.

● Las entidades débiles son aquellas entidades que no tienen atributos claves propios.

Page 35: Administración y diseño de bases de datos

37

Tipos de RelacionesTipos de Relaciones

● Un tipo de relación R entre n tipos de entidades E1, ..., E

n define un conjunto de

asociaciones entre estos tipos.

● Puede ser visto como un conjunto de instancias de la relación ri, donde cada r

i asocia n

entidades (e1, ..., e

n), y cada entidad e

j en r

i es un miembro del tipo de entidad Ej (1 <=

j <= n).

● Un tipo de relación es un subconjunto del producto cartesiano E1 x E

2 x ... x E

n.

Page 36: Administración y diseño de bases de datos

38

Tipos de RelacionesTipos de Relaciones

● Un tipo de relación podría también interpretarse como un conjunto de pares ordenados, en este caso: (e1, d1), (e2, d2), (e3, d1), (e4, d2), (e5, d3), (e6, d1), (e7, d3).

● Según el número de entidades relacionadas (o razón de cardinalidad), se pueden definir tres tipos de relaciones:

– Relaciones Uno a Uno (1:1). Una entidad A está asociada a lo más con una entidad B, y una entidad B a lo más con una entidad A. Ejemplo: "Ser jefe de" es una relación 1:1 entre las entidades empleado y departamento.

– Relaciones Uno a Muchos (1:n). Una entidad A está asociada con una o varias entidades B. Una entidad B, sin embargo, puede estar a lo más asociada con una entidad A. Ejemplo: "Ser profesor" es una relación 1:n entre profesor y curso, suponiendo que un curso sólo lo dicta un profesor.

– Relaciones Muchos a Muchos (n:m). Una entidad A está asociada con una o varias entidades B, y una entidad B está asociada con una o varias entidades A. Ejemplo: "Estar inscrito" es una relación n:m entre las entidades alumno y curso.

Page 37: Administración y diseño de bases de datos

39

Tipos de RelacionesTipos de Relaciones

Relación 1:1 Relación 1:N

Page 38: Administración y diseño de bases de datos

40

Tipos de RelacionesTipos de Relaciones

Relación N:1 Relación N:N

Page 39: Administración y diseño de bases de datos

41

Componentes de un Sistema de Base de DatosComponentes de un Sistema de Base de Datos

● Un módulo gestor de datos, que es el encargado de controlar el acceso a la información del SGBD almacenada en el disco.

● El compilador de DDL, que es quien procesa las definiciones de los esquemas, especificadas en el DLL y almacena las descripciones de los esquemas en el catálogo del SGBD.

● El procesador de la base de datos en tiempo de ejecución, que se encarga de los accesos a ella durante la ejecución, recibe operaciones de obtención, actualización y las ejecuta sobre l base de datos.

● El compilador de consultas que es el que maneja las consultas de alto nivel que se introducen interactivamente.

● El precompilador que extrae órdenes en DML de un programa de aplicación escrito en un lenguaje de programación anfitrión.

● El compilador de DML que es el encargado de convertir las órdenes en código objeto para el acceso a la base de datos.

Page 40: Administración y diseño de bases de datos

42

Tendencias o EnfoquesTendencias o Enfoques

● Relacional.

– Es conveniente clasificar a los Sistemas de Bases de Datos de acuerdo con el enfoque que adoptan para dar respuesta a las estructuras de datos y operadores asociados que deben soportar.

– El Enfoque Relacional: Se basa en la teoría matemática de las relaciones.

– La ventaja del modelo relacional es que los datos se almacenan, al menos conceptualmente, de un modo en que los usuarios entienden con mayor facilidad. Los datos se almacenan como tablas y las relaciones entre las filas y las tablas son visibles en los datos. Este enfoque permite a los usuarios obtener información de la base de datos sin asistencia de sistemas profesionales de administración de información.

Page 41: Administración y diseño de bases de datos

43

Tendencias o EnfoquesTendencias o Enfoques

● Características Enfoque Relacional:

– Es importante saber que las entradas en la tabla tienen un solo valor (son atómicos); no se admiten valores múltiples, por lo tanto la intersección de un renglón con una columna tiene un solo valor, nunca un conjunto de valores.

– Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una columna puede contener nombres de clientes, y en otra puede tener fechas de nacimiento. Cada columna posee un nombre único, el orden de las comunas no es de importancia para la tabla, las columnas de una tabla se conocen como atributos. Cada atributo tiene un dominio, que es una descripción física y lógica de valores permitidos.

Page 42: Administración y diseño de bases de datos

44

Tendencias o EnfoquesTendencias o Enfoques

● Características Enfoque Relacional (Continuación):

– No existen 2 filas en la tabla que sean idénticas.

– La información en las bases de datos son representados como datos explícitos, no existen apuntadores o ligas entre las tablas.

– En el enfoque relacional es sustancialmente distinto de otros enfoques en términos de sus estructuras lógicas y del modo de las operaciones de entrada/salida. En el enfoque relacional, los datos se organizan en tablas llamadas relaciones, cada una de las cuales se implanta como un archivo. En terminología relacional una fila en una relación representa un registro o una entidad; Cada columna en una relación representa un campo o un atributo.

– Así, una relación se compone de una colección de entidades(o registros) cuyos propietarios están descritos por cierto número de atributos predeterminados implantados como campos.

Page 43: Administración y diseño de bases de datos

45

Tendencias o EnfoquesTendencias o Enfoques

● Características Enfoque Relacional (Continuación):

– Un conjunto-entidad se representa mediante una tabla. Una asociación entre Conjunto-Entidad se representa mediante una tabla.

– Una asociación entre conjunto-entidades puede relacionar o dar a más conjuntos-entidades.

– Puede representar asociaciones de los tipos 1:1, 1:N, N:1 y N:N.

– Coexiste un acceso a los datos predefinidos.

– El acceso de los datos lo define el programa de aplicación mediante operaciones particulares.

Page 44: Administración y diseño de bases de datos

46

Modelo de Datos RelacionalModelo de Datos Relacional

● Este modelo considera la Base de Datos (BD) como una colección de relaciones. De manera simple, una relación representa una tabla, en que cada fila representa una colección de valores que describen una entidad del mundo real. Cada fila se denomina tupla. Una cabecera de columna es un atributo y la tabla es una relación. El tipo de datos de valores que pueden aparecer en cada columna se llama dominio.

Page 45: Administración y diseño de bases de datos

47

ClavesClaves

● Se denomina clave al atributo o conjunto de atributos que el Sistema manejador de Base de Datos utilizará para la identificación de un registro o tupla de forma única.

● La clave debe cumplir con dos requisitos:

– Identificación Unívoca.

– No redundancia.

● Se puede encontrar a veces una relación donde hay más de una combinación de atributos que poseen la propiedad de identificación única, es decir, más de una clave candidata. Una clave candidata que no es la clave primaria, se denomina clave secundaria o alternativa.

Page 46: Administración y diseño de bases de datos

48

Nomenclatura del Modelo Entidad RelaciónNomenclatura del Modelo Entidad Relación

Page 47: Administración y diseño de bases de datos

49

Nomenclatura del Modelo Entidad RelaciónNomenclatura del Modelo Entidad Relación

Page 48: Administración y diseño de bases de datos

50

Nomenclatura del Modelo Entidad RelaciónNomenclatura del Modelo Entidad Relación

Page 49: Administración y diseño de bases de datos

51

Nomenclatura del Modelo Entidad RelaciónNomenclatura del Modelo Entidad Relación

● Entidad.

– Fuertes: Entidades que tiene atributos claves propias (Autosuficiente).

– Débiles: Entidades que no tiene atributos claves propias. Se identifican por su relación con entidades específicas de otras entidades en combinación con alguno de los valores de su atributo.

● Atributos.

– Simples: Son aquellos atributos cuyo valor es un tipo básico de datos.

– Compuestos: Son aquellos que pueden dividirse en componentes más pequeños, que representan atributos más básicos.

– Monovaluados: Un solo valor.

– Multivaluados Tienen límites inferior y superior del número de valores para una entidad individual.

– Derivados: Valores que pueden derivar de entidades relacionadas.

Page 50: Administración y diseño de bases de datos

52

Procedimiento para la Construcción de un EsquemaProcedimiento para la Construcción de un Esquema

● Se identifican los objetos de la situación del mundo real.

● Se establecen las relaciones entre las entidades.

● Se construye el Diagrama del Esquema (Diagrama Entidad-Relación, Diagrama de Bloque o de Burbuja).

● Se selecciona un SMBD.

● Se escribe el programa de esquema usando lenguaje descriptor de datos (LDD) del SMBD Seleccionado.

Page 51: Administración y diseño de bases de datos

53

Extensiones y CompresionesExtensiones y Compresiones

● Una relación en una base de datos relacional tiene dos componentes: Extensión y Comprensión. La extensión de una relación específica, es el conjunto de tuplas que aparecen en una relación en cualquier instante dado.

● La extensión varía con el tiempo, es decir, cambia a medida que las tuplas se crean, eliminan y actualizan. La compresión de una relación específica es independiente del tiempo. Es la parte permanente de la relación, EN términos más precisos, la comprensión es la combinación de una estructura nominadora y un conjunto de restricciones de integridad.

● La estructura nominadora se compone del nombre de la relación y los nombres de los atributos (cada uno asociado con el nombre de su dominio asociado).

Page 52: Administración y diseño de bases de datos

54

Integridad de Entidades e Integridad ReferencialIntegridad de Entidades e Integridad Referencial

● En el modelo relacional, al igual que en otros modelos, existen restricciones, es decir, estructuras u ocurrencias no permitidas, siendo preciso distinguir entre restricciones inherentes y restricciones de usuario. Los datos almacenados en la base de datos han de adaptarse a las estructuras impuestas por el modelo (por ejemplo, no tener tuplas duplicadas) y han de cumplir las restricciones de usuario para constituir una ocurrencia válida del esquema.

● La regla de Integridad de Entidad norma sobre la imposibilidad de que un atributo que componga la llave primaria de una relación base acepte valores nulos (o Condiciones de evaluación).

● La integridad referencial es una propiedad deseable en las bases de datos, donde garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.

Page 53: Administración y diseño de bases de datos

55

Tipos de Relaciones.Tipos de Relaciones.

Page 54: Administración y diseño de bases de datos

56

Ejercicio de Modelado.Ejercicio de Modelado.

● Semántica obtenida del Análisis de Requerimientos y Recolección de Datos.

– La compañía está organizada en departamentos. Cada departamento tiene un nombre único y un cierto empleado que lo dirige, y nos interesa la fecha en que dicho empleado comenzó a dirigir el departamento. Un departamento puede estar distribuido en varios lugares.

– Cada departamento controla un cierto número de proyectos, cada uno de los cuales tiene un nombre y un número únicos, y se efectúa en un solo lugar.

– Almacenaremos el nombre, número de seguro social, dirección, salario, sexo y fecha de nacimiento de cada empleado. Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarán controlados por el mismo departamento. Nos interesa el número de horas por semana que un empleado trabaja en cada proyecto, y también quién es el supervisor de cada empleado.

– Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar los términos de sus seguros. Almacenaremos el nombre, sexo, fecha de nacimiento de cada dependiente y su parentesco con el empleado.

Page 55: Administración y diseño de bases de datos

57

Ejercicio de Modelado.Ejercicio de Modelado.

Page 56: Administración y diseño de bases de datos

58

Ejercicio PropuestoEjercicio Propuesto

● Se desea diseñar una base de datos para una Universidad que contenga información sobre los Alumnos, las Asignaturas y los Profesores. Construir un modelo E/R teniendo en cuenta las siguientes restricciones:

● Una asignatura puede estar impartida por muchos profesores (no a la vez) ya que pueden existir grupos.

● Un profesor puede dar clases de muchas asignaturas.

● Un alumno puede estar matriculado en muchas asignaturas.

● Se necesita tener constancia de las asignaturas en las que está matriculado un alumno, la nota obtenida y el profesor que le ha calificado.

● También es necesario tener constancia de las asignaturas que imparten todos los profesores (independientemente de si tienen algún alumno matriculado en su grupo).

● No existen asignaturas con el mismo nombre.

● Un alumno no puede estar matriculado en la misma asignatura con dos profesores distintos.

Page 57: Administración y diseño de bases de datos

59

Unidad IIUnidad II

Modelos de Datos y Algebra Relacional

Page 58: Administración y diseño de bases de datos

60

Algebra RelacionalAlgebra Relacional

● El Álgebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que construyen relaciones y manipulan datos, estos son:

– Selección.

– Proyección.

– Producto.

– Unión.

– Intersección.

– Diferencia.

– Join o Reunión.

– División.

Page 59: Administración y diseño de bases de datos

61

Operadores del Algebra RelacionalOperadores del Algebra Relacional

● Las operaciones de proyección, producto, unión, diferencia, y selección son llamadas primitivas, puesto que las otras tres se pueden definir en términos de estas.

● Se hace necesario en este punto incluir un modelo de datos de ejemplo en el cual trabajar para generar ejemplos de comandos y operadores. Para este efecto se incluye un modelo básico de administración de RadioTaxis.El Gráfico que se presenta a continuación representa el Modelo conceptual (Modelo Lógico) o Diagrama de Entidad-Relación:

Page 60: Administración y diseño de bases de datos

62

Esquema de Relaciones del Modelo RadioTaxisEsquema de Relaciones del Modelo RadioTaxis

● Los Esquemas de relaciones que se pueden construir a partir de este modelo son los siguientes:

– Dueño = {rut, nombre, teléfono, dirección, vigencia}

– Chofer = {rut, nombre, teléfono, dirección, fecha_licencia_desde, fecha_licencia_hasta, vigencia}.

– Vale = {correlativo, hora_desde, hora_hasta, metraje_total, tarifa_total}

– Móvil = {patente, rut_dueño, rut_chofer, marca, modelo, año}

– Viaje = {correlativo_vale, patente_movil, Hora_Desde, hora_hasta, origen, destino, tarifa, metraje}

Page 61: Administración y diseño de bases de datos

63

SelecciónSelección

● El operador de selección opta por tuplas que satisfagan cierto predicado, se utiliza la letra griega sigma minúscula para señalar la selección. El predicado aparece como subíndice. La Relación que constituye el argumento se da entre paréntesis.

● Ejemplos:

σ vigencia = “S” (Dueño)

σ patente = “HL-8434” (Movil)

Page 62: Administración y diseño de bases de datos

64

ProyecciónProyección

● La operación de proyección permite quitar ciertos atributos de la relación, esta operación es unaria, copiando su relación base dada como argumento y quitando ciertas columnas, La proyección se señala con la letra griega pi mayúscula. Como subíndice se coloca una lista de todos los atributos que se desea aparezcan en el resultado. La relación argumento se escribe después de entre paréntesis.

● Ejemplo:

∏ nombre, direccion (Dueño)

∏ rut, vigencia (σ year(fecha_vigencia_desde) >= 1996 (Chofer))

Page 63: Administración y diseño de bases de datos

65

ProductoProducto

● En álgebra relacional el producto de dos relaciones A y B es: A Veces B o A X B Produce el conjunto de todas las tuplas t tales que t es el encadenamiento de una tupla a perteneciente a A y de una b que pertenece a B. se utiliza el símbolo X para representar el producto.

● Ejemplo:

Dueño x Movil

Movil x Chofer

Page 64: Administración y diseño de bases de datos

66

UniónUnión

● En álgebra relacional la unión de dos relaciones compatibles A y B es: A UNION B o A B Produce el conjunto de todas las tuplas que pertenecen ya sea a A o a B o a ∪Ambas. Al igual que en teoría de conjuntos el símbolo representa aquí la unión de ∪dos relaciones.

● Ejemplo:

r ∪ s = {t | t ∈ r or t ∈ s}

∏ rut, vigencia (Dueño) ∪ ∏ rut, vigencia (Chofer)

Page 65: Administración y diseño de bases de datos

67

DiferenciaDiferencia

● En álgebra relacional la diferencia entre dos relaciones compatibles A y B A MENOS B o A – B Produce el conjunto de todas las tuplas t que pertenecen a A y no pertenecen a B.

● Ejemplo:

σ rut, vigencia (Dueño) - σ rut, vigencia (Chofer)

Page 66: Administración y diseño de bases de datos

68

Join o ReuniónJoin o Reunión

● En álgebra relacional el JOIN entre el atributo X de la relación A con el atributo Y de la relación B produce el conjunto de todas las tuplas t tal que t es el encadenamiento de una tupla a perteneciente a A y una tupla b perteneciente a B que cumplen con el predicado “A.X comp B.Y es verdadero” (siendo comp un operador relacional y los atributos A.X y B.Y pertenecientes al mismo dominio). Si el operador relacional “comp” es “=” entonces el conjunto resultante es un EQUI-JOIN. Si se quita uno de éstos (usando una proyección) entonces el resultado es un JOIN-NATURAL.

● Ejemplo:

σ Dueño.rut = Movil.rut_dueño (Dueño x Movil)

Page 67: Administración y diseño de bases de datos

69

DivisiónDivisión

● En álgebra relacional el operador de división divide la relación A con grado m + n por la relación B entregando como resultado una relación con grado m. El atributo m + i de A y el atributo i de B deben estar definidos dentro del mismo dominio. Así el resultado de A DIVIDIDO POR B o A / B produce la relación C con un sólo atributo X, tal que cada valor de x de C.X aparece como un valor de A.X, y el par de valores (x, y) aparece en A para todos los valores y que aparecen en B.

● Ejemplo:

∏ movil, rut_chofer (Movil)

/

∏ rut (σ fecha_licencia_hasta < “01/01/2001” (Chofer))

Page 68: Administración y diseño de bases de datos

70

Ejercicio de Algebra RelacionalEjercicio de Algebra Relacional

PROVEEDORESS  S#  SNOMBRE  SITUACION  CIUDAD   S1  Salazar         20  Londres   S2  Jaimes          10  París   S3  Bernal          30  París   S4  Corona          20  Londres   S5  Aldana          30  Atenas

PARTESP  P#  PNOMBRE  COLOR   PESO  CIUDAD   P1  Tuerca   Rojo      12  Londres   P2  Perno    Verde     17  París   P3  Birlo    Azul      17  Roma   P4  Birlo    Rojo      14  Londres   P5  Leva     Azul      12  París   P6  Engrane  Rojo      19  Londres

PROYECTOSJ  J#  JNOMBRE      CIUDAD   J1  Clasificador Londres   J2  Perforadora  Roma   J3  Lectora      Atenas   J4  Consola      Atenas   J5  Compaginador Londres   J6  Terminal     Oslo   J7  Cinta        Londres

ENVIOSSPJ  S#  P#  J#  CANT     S1  P1  J1   200     S1  P1  J4   700     S2  P3  J1   400     S2  P3  J2   200     S2  P3  J3   200     S2  P3  J4   500     S2  P3  J5   600     S2  P3  J6   400     S2  P3  J7   800     S2  P5  J2   100     S3  P3  J1   200     S3  P4  J2   500     S4  P6  J3   300     S4  P6  J7   300     S5  P2  J2   200     S5  P2  J4   100     S5  P5  J5   500     S5  P5  J7   100     S5  P5  J7   100     S5  P1  J4   100     S5  P3  J4   200     S5  P4  J4   800     S5  P5  J4   400     S5  P6  J4   500

Page 69: Administración y diseño de bases de datos

71

Ejercicio de Algebra RelacionalEjercicio de Algebra Relacional

● Obtener los detalles completos de todos los proyectos.

● Obtener los números de los proveedores que suministran partes al proyecto J1.

● Obtener una lista de todas los envíos en los cuales la cantidad está en el intervalo de 300 a 750 inclusive.

● Obtener todas la tripletas de números de proveedor, número de parte y número de proyecto tales que el proveedor, la parte y el proyecto indicados estén todos en la misma ciudad.

● Obtener todas las parejas de nombres de ciudad tales que un proveedor de la primera coiudad suministre partes a un proyecto en la segunda ciudad.

Page 70: Administración y diseño de bases de datos

72

Ejercicio de Algebra RelacionalEjercicio de Algebra Relacional

● Considere la Siguiente BD:

– empleado (ficha, nombre, calle, ciudad)

– trabaja (ficha, empresa, sueldo)

– empresa (empresa, descripción, ciudad)

– jefe (ficha, ficha_jefe)

● Nombre y calle de todos los empleados que trabajan en el Banco X y ganen más de 2.000.000,00 Mensuales.

● Empleados que vivan en la misma calle y ciudad que su jefe.

● Empleados que ganen más que cualquier empleado del Banco X.

● Empleados que trabajan en todas la empresas.

● Jefe de todos los empleados.

Page 71: Administración y diseño de bases de datos

73

Algoritmo de Transformación ER a Modelo RelacionalAlgoritmo de Transformación ER a Modelo Relacional

● Para realizar la transformación de un Modelo Entidad-Relación al Modelo Relacional, hay que seguir un algoritmo de Transformación, que consta de siete Pasos:

1) Por cada tipo normal de entidades E del esquema E-R, se crea una relación que contenga todos los atributos simples de E. Se incluyen sólo los atributos simples componentes de un atributo compuesto. Se elige uno de los atributos clave de E como clave primaria de R. Si la clave elegida es compuesta, el conjunto de atributos simples que la forman constituirá la clave primaria de R (Las claves foráneas no se incluyen posteriormente en pasos subsiguientes).

2) Por cada tipo de entidad débil D del esquema ER con tipo de entidades propietarias E, se crea una relación R y se incluyen todos los atributos simples de D como atributos de R. Además, se incluye como atributo de clave externa de R los atributos de clave primaria de la relación o relaciones que corresponden al tipo o tipos de entidades propietarias. La clave primaria de R es la combinación de las claves primarias propietarias y la clave parcial de D, si existe.

Page 72: Administración y diseño de bases de datos

74

Algoritmo de Transformación ER a Modelo RelacionalAlgoritmo de Transformación ER a Modelo Relacional

3) Por cada tipo de vínculo binario 1:1 del esquema ER, se identifican las relaciones S y T que corresponden a los tipos de entidades que participan en R. Se escoge una de la relaciones y se incluye como clave externa en S la clave primaria de T (o viceversa). Es mejor elegir un tipo de entidades con participación total en R en el papel de S. Se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de vínculo 1:1 R como atributo de S.

4) Por cada tipo de vínculos normal (no débil) binario 1:N R, se identifica la relación S que representa el tipo de entidades participantes del lado N del tipo de vínculos. Se incluye como clave externa en S la clave primaria de la relación T que representa al otro tipo de entidades que participa en R; la razón es que cada ejemplar de entidad del lado N está relacionado con un máximo de un ejemplar del lado 1. Se incluyen todos los atributos simples (o componentes simples de los atributos compuestos) del tipo de vínculos 1:N como atributos de S.

5) Por cada tipo de vinculo binario M:N R, se crea una nueva relación S para representar R. Se incluyen como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidades participantes; su combinación constituirá la clave primaria de S.

Page 73: Administración y diseño de bases de datos

75

Algoritmo de Transformación ER a Modelo RelacionalAlgoritmo de Transformación ER a Modelo Relacional

6) Por cada atributo multivaluado A se crea una nueva relación R que contiene un atributo correspondiente a A más el atributo de clave primaria K (como clave externa en R) de la relación que representa el tipo de entidades o de vínculos que tiene a A como atributo. La clave primaria de R es la combinación de A y K. Si el atributo multivaluado es compuesto, se incluye sus componentes simples.

7) Por cada tipo de vínculo n-ario R, n > 2, se crea una nueva relación S que represente a R. Se incluye como atributos de clave externa en S las claves primarias de las relaciones que representan los tipos de entidades participantes. También se incluyen los atributos simples (o los componentes simples ed los atributos compuestos) del tipo de vínculos n-ario como atributos ed S. La clave primaria de S casi siempre es una combinación de todas las claves externas que hacen referencia a las relaciones que representan los tipos de entidades participantes.

Page 74: Administración y diseño de bases de datos

76

Teoría de NormalizaciónTeoría de Normalización

● Primera Forma Normal (1FN): Una relación está en primera forma normal si y sólo si, todos los dominios simples subyacentes contienen sólo valores atómicos.

– La Primera Forma Normal (1FN) prohíbe tener un conjunto de valores, una tupla de valores o combinación de ambos como valor de un atributo para una tupla individual.

– Prohíbe las “Relaciones dentro de Relaciones” o las “relaciones como atributos de tuplas”.

– Los únicos valores de atributos que permite 1FN son valores atómicos (o indivisibles).

● Segunda Forma Normal (2FN): Una relación está en segunda forma normal si y sólo si está en 1FN y todos los atributos no clave dependen por completo de la clave formal primaria. La segunda forma normal se basa en el concepto de dependencia funcional total. En una entidad hay existe una dependencia funcional total si la eliminación de cualquier atributo de la relación hace que la dependencia deje de ser válida.

Page 75: Administración y diseño de bases de datos

77

Teoría de NormalizaciónTeoría de Normalización

● Tercera Forma Normal (3FN): Una relación está en tercera forma normal si y sólo si está en 2FN y todos los atributos no claves dependen de manera no transitiva de la clave primaria.

– La tercera forma normal se basa en el concepto de dependencia transitiva.

– Una relación esta en 3FN si y sólo si los atributos no clave (si los hay) son:

● Mutuamente independientes.

● Dependientes por completo de la clave primaria.

Page 76: Administración y diseño de bases de datos

78

● Forma Normal de Boyce-Cood (FNBC): Una relación está en forma Boyce/Cood si y sólo si todo determinante es una clave candidata.

– La 2FN y la 3FN eliminan las dependencias parciales y las dependencias transitivas de la clave primaria. Pero este tipo de dependencias todavía pueden existir sobre otras claves candidatas, si éstas existen. La BCFN es más fuerte que la 3FN, por lo tanto, toda relación en BCFN está en 3FN.

– La violación de la BCFN es poco frecuente ya que se da bajo ciertas condiciones que raramente se presentan. Se debe comprobar si una relación viola la BCFN si tiene dos o más claves candidatas compuestas que tienen al menos un atributo en común.

– Determinante: Uno o más atributos que, de manera funcional, determinan otro atributo o atributos. En la dependencia funcional (A,B)->C, (A,B) son los determinantes.

– Definición formal: Una relación R esta en FNBC si y solo si cada determinante es una llave candidato.

Page 77: Administración y diseño de bases de datos

79

Ejemplo de NormalizaciónEjemplo de Normalización

Page 78: Administración y diseño de bases de datos

80

Ejemplo de NormalizaciónEjemplo de Normalización

Page 79: Administración y diseño de bases de datos

81

Ejemplo de NormalizaciónEjemplo de Normalización

Page 80: Administración y diseño de bases de datos

82

Ejemplo de NormalizaciónEjemplo de Normalización