[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos
GUIA DE BASE DE DATOS. PARTE 1: Unidad 1: Modelo Entidad Relación
¿Qué es una Base de Datos? •
Colección compartida de datos relacionados desde el punto de vista lógico, junto con una descripción de esos datos (metadatos), diseñada para satisfacer las necesidades de información de una organización.
•
Conjunto exhaustivo y no redundante de datos estructurados, organizados de forma independiente a su utilización o implantación en máquina, accesibles en tiempo real y compatible con usuarios concurrentes y sus respectivas necesidades (peticiones) de información.
•
Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
•
Las bases de datos se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.
¿En qué se diferencia una Base de Datos de los archivos tradicionales? Una base de datos es un archivo, existen diferentes tipos de archivos, cómo de texto, imágenes, pistas de audio, video, entre otras junto con los archivos de bases de datos. Cada tipo de archivo tiene sus características únicas que los diferencian y programas específicos que nos permiten hacer uso de ellos. En el caso de las bases de datos, tienen un estructura organizacional que permite contener de forma ordenada datos de diferentes tipos. ¿Qué es un Sistema Gestor de Base de Datos? Sistema Gestor de Bases de Datos (SGBD). Es un software que proporciona servicios para la creación, el almacenamiento, el procesamiento y la consulta de la información almacenada en base de datos de forma segura y eficiente. Un SGBD actúa como un intermediario entre las aplicaciones y los datos. ¿Funciones de un Sistema Gestor de Base de Datos? Los SGBD pueden considerarse como intermediarios entre las aplicaciones y la representación de los datos. Así, los desarrolladores ven los datos desde una perspectiva de más alto nivel. Esa perspectiva es la del modelo de bases de datos utilizado.
Prof. Lcdo Wilfredo Díaz
Página 1/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos Proporcionar independencia de los datos y las aplicaciones. Así, se puede diseñar la base de datos incluso antes que las aplicaciones, y ese diseño permitirá que se desarrollen múltiples aplicaciones posteriormente. Los lenguajes de una Base de Datos: Un sistema gestor de base de datos debe proporcionar una serie de lenguajes para la definición y manipulación de la base de datos. Estos lenguajes son los siguientes: •
Lenguaje de definición de datos (DDL). Para definir los esquemas de la base de datos
•
Lenguaje de manipulación de datos (DML). Para manipular los datos de la base de datos
•
Lenguaje de control de datos (DCL). Para la administración de usuarios y seguridad en la base de datos.
Ventajas de utilizar un Sistema Gestor de Base de Datos
Seguridad de los datos
Control o manipulación de datos
Actualización de los datos en línea
Reducción de tiempos
Mantener organización coherente de los datos
Simplificación del trabajo
Generación de informes a partir de los datos Accesos concurrentes a las BD
Estructura Global de un Sistema Gestor de Bases de Datos
Prof. Lcdo Wilfredo Díaz
Página 2/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos ¿Qué es Abstracción?
Niveles de Abstracción
Niveles: • Físico • Lógico • Vistas
¿Qué es el Modelado de Datos?
•
Es la representación de cosas del mundo real.
Prof. Lcdo Wilfredo Díaz
Página 3/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos •
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.
•
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.
Los Modelos de Datos se dividen en 3 grupos: •
Modelos lógicos basados en objetos. Modelo Entidad-Relación. Modelo Orientado a Objetos.
•
Modelos lógicos basados en registros. Modelo Relacional. Modelo Jerárquico. Modelo de Red.
•
Modelos físicos de datos. Modelo UML (Unified Modeling Language). Modelo de memoria de elementos.
Modelo Entidad-Relación (E-R) El modelo E-R se basa en una percepción del mundo real, la cual está formada por OBJETOS BÁSICOS llamados entidades y las relaciones entre estos objetos así como las características de estos objetos llamados atributos. 1. Entidad: Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus características llamadas atributos. Las entidades pueden ser concretas como una persona o abstractas como una fecha. 2. Atributos: Una entidad se caracteriza y distingue de otra por los atributos, en ocasiones llamadas propiedades, que representan las características de una entidad. 3. Relación; Una relación es la asociación que existe entre dos o más entidades.
Modelo Entidad/Relación: a) Conjuntos de Entidades. b) Conjuntos de Atributos. c) Conjuntos de Relaciones
Prof. Lcdo Wilfredo Díaz
Página 4/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos a) Conjuntos de Entidades Un entidad: Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad. Algunos Ejemplos: • • •
Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo, el número de bastidor). Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).
Física o real (una persona, un libro, un empleado, una casa) Abstracta o conceptual (una asignatura, un viaje, un nombre) Una entidad está descrita y se representa por sus características o atributos. Por ejemplo, la entidad Persona puede llevar consigo las características: Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc... b) Conjuntos de Atributos. Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. Un conjunto de entidades dentro de una entidad, tiene valores específicos asignados para cada uno de sus atributos, de esta forma, es posible su identificación unívoca. Ejemplos: A la colección de entidades Alumnos, con el siguiente conjunto de atributos en común, (id, nombre, edad, semestre), pertenecen las entidades: • • • •
(1, Sofía, 18 años, 2) (2, Josefa, 19 años, 5) (3, Carlos, 20 años, 2) ...
Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos. Se clasifican en: 1. 2. 3. 4.
Simples y compuestos Univalorados y multivalorados Nulos Almacenados o derivados
Prof. Lcdo Wilfredo Díaz
Página 5/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos
1. Simples y compuestos Un atributo simple es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio. Un atributo compuesto es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a su uso. Ejemplo: •
Atributos simples No divisibles. Atómicos
•
Atributos compuestos
Pueden dividirse en otros con significado propio
Valor compuesto = concatenación de valores de componentes
2. Univalorados y multivalorados Atributos multivalorados a aquellos que pueden contener más de un valor simultáneamente, y monovalorados a los que sólo pueden contener un valor.
Prof. Lcdo Wilfredo Díaz
Página 6/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos Ejemplo de Multivalorados: Una persona puede tener varios números de teléfono (casa, trabajo, móvil) y puede que nos interese tenerlos todos. En este caso haremos de teléfono un atributo multivalorado. La dirección puede contener dirección de la casa, del trabajo. Dependientes económicos. Nacionalidad. Pueden tener límites superior e inferior del número de valores por entidad Teléfono (0,3) Domicilio (1,2) Dependientes económicos (0,5) Nacionalidad(1,2) Ejemplo de Monovalorados: Atributos que pueden tener un sólo valor para cada entidad Nombre de una persona. Fecha de nacimiento de una persona. CURP de una persona. 3. Atributos Nulos Se aplican valores nulos cuando: Se desconoce el valor del atributo Teléfono Email No existe un valor para el atributo Nombre cónyuge Apellido paterno 4. Almacenados o derivados El valor para este tipo de atributo se puede derivar de los valores de otros atributos o entidades relacionados, es decir, valor calculado a partir de otra información ya existente (atributos, entidades relacionadas). Ejemplo: Edad de una persona (se calcula a partir de la fecha de nacimiento) Existencias de un producto (cantidad de compra – cantidad de venta) Cantidad de empleados (se calcula contando el número de entidades del tipo EMPLEADO)
Prof. Lcdo Wilfredo Díaz
Página 7/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos c) Conjuntos de relaciones Una relación como la asociación entre diferentes entidades. Tienen nombre de verbo, que la identifica de las otras relaciones y se representa mediante un rombo. Normalmente las relaciones no tienen atributos. Cuando surge una relación con atributos significa que debajo hay una entidad que aún no se ha definido. A esa entidad se la llama entidad asociada. Esta entidad dará origen a una tabla que contendrá esos atributos. Esto se hace en el modelo relacional a la hora de representar los datos. Lo veremos más adelante. Un conjunto de relaciones es un conjunto de relaciones del mismo tipo, por ejemplo entre ARTÍCULOS y VENTAS todas las asociaciones existentes entre los artículos y las ventas que tengan estos, forman un conjunto de relaciones. La mayoría de los conjuntos de relaciones en un sistema de BD son binarias (dos entidades) aunque puede haber conjuntos de relaciones que implican más de dos conjuntos de entidades Un conjunto de relaciones es un conjunto de relaciones del mismo tipo. Formalmente es una relación matemática con n > = 2 de conjuntos de entidades (posiblemente no distintos). Si E1, E2,…, En son conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de: {(e1, e2,…,en) | e1 ∈ E1, e2 ∈ E2,…,en ∈ En} Donde (e1,e2,…en) es una relación. Ejemplo: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo alumno (i.e. alumnos concretos) y {b1,b2, b3} 3 asignaturas concretas. Una posible relación: {(e1,b1), (e2,b1), (e1,b2) } diciendo que e1 está matriculado tanto en b1 como en b2 y e2 en b1.
Estructura genérica o abstracción del conjunto de relaciones existentes entre dos o más tipos de entidad Un DIRECTOR ha rodado PELICULAS
Número de tipos de entidad que participan en el tipo de relación •
Binaria: grado 2 (el más frecuente)
•
Ternaria: grado 3
•
Reflexiva (o recursiva): grado 1
Prof. Lcdo Wilfredo Díaz
Página 8/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos
Existen 2 tipos de limitantes que permiten establecer las validaciones necesarias para conseguir que los datos correspondan con la realidad. 1. Tipos de relaciones 2. Dependencia de existencia
Correspondencia de cardinalidades (Tipos de Relaciones) Es aquella que expresa el número de entidades a las que otra entidad puede estar asociada mediante un conjunto de relaciones, permitiendo describir conjuntos de relaciones binarias. Dado un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de cardinalidad puede ser:
De uno a uno.- Se da cuando una entidad en A se asocia con una entidad en B o cuando una entidad en B se asocia con una entidad en A.
De uno a muchos.- Se da cuando una entidad en A se asocia con cualquier número de entidades en B y una entidad en B sólo se puede asociar con una entidad en A.
De muchos a uno.- Es el caso inverso al anterior, siendo una entidad en B la que se puede asociar con cualquier número de entidades en A y una entidad en A la que sólo puede asociarse con una entidad en B.
Prof. Lcdo Wilfredo Díaz
Página 9/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos
De muchos a muchos.- Cualquier entidad de cualquiera de los dos conjuntos puede asociarse con cualquier número de entidades del otro conjunto.
La cardinalidad de una relación puede afectar a la situación de los atributos de la relación. Cuando la cardinalidad es uno a uno, el atributo descriptivo puede ir en cualquiera de los dos conjuntos. Si es de uno a muchos o de muchos a uno, deberá ir en el conjunto de “muchos”. Y si es de muchos a muchos, deberá permanecer en el conjunto de relaciones. Importante: La cardinalidad para cada conjunto de entidades depende del punto de vista que se le dé al modelo en estudio, claro está, sujetándose a la realidad.
Dependencias de existencia.Refiriéndonos a las mismas entidades A y B, decimos que si la entidad A depende de la existencia de la entidad B, entonces A es dependiente de existencia por B, si eliminamos a B tendríamos que eliminar por consecuente la entidad A, en este caso B es la entidad Dominante y A es la entidad Dominada Restricciones de participación Dado un conjunto de relaciones R en el cual participa un conjunto de entidades A, dicha participación puede ser de dos tipos: La participación de un conjunto de entidades E en un conjunto de relaciones R es total si cada entidad en E participa en al menos una relación de R. Si sólo algunas entidades en E participan en relaciones en R, la participación se denomina parcial. Claves Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite identificar unívocamente cada una de las entidades pertenecientes a dicha colección. Asimismo, permiten distinguir entre sí las relaciones de un conjunto de relaciones. Dentro de los conjuntos de entidades existen los siguientes tipos de claves: •
Superclave: Uno o más atributos que nos permite identificar una entidad en específico dentro de un conjunto de entidades y ninguna otra entidad la tiene. Toda relacion tiene por lo menos una super llave llamada llave primaria.
Prof. Lcdo Wilfredo Díaz
Página 10/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos •
Clave candidata: Son aquellos atributos que tienen características para ser super llaves, pero hay dos o más en una entidad; una se tomara como llave primaria y otra como llave secuendaria. El atributo que es la llave primaria en una entidad se subraya.
•
Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un conjunto de entidades.
Los valores de los atributos de una clave, no pueden ser todos iguales para dos o más instancias. Para poder distinguir unívocamente las relaciones en un conjunto de relaciones R, se deben considerar dos casos: R NO tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de las claves primarias de todos los conjuntos de entidades participantes. R tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de los atributos asociados y las claves primarias de todos los conjuntos de entidades participantes. Si el conjunto de relaciones, R, sobre las que se pretende determinar la clave primaria está compuesto de relaciones binarias, con los conjuntos de entidades participantes A y B, se consideran los siguientes casos, según sus cardinalidades:
R es de muchos a uno de A a B entonces sólo se toma la clave primaria de A, como clave primaria de R. R es de uno a muchos de A a B entonces se toma sólo la clave primaria de B, como clave primaria de R. R es de uno a uno de A a B entonces se toma cualquiera de las dos claves primarias, como clave primaria de R. R es de muchos a muchos de A a B entonces se toma la unión de los atributos que conforman las claves primarias de A y de B, como clave primaria de R.
Tipos de entidades •
Débil: es aquella que no tiene llave primaria.
•
Fuerte: es aquella que tiene llave primaria
Una entidad débil siempre tiene una restricción de participación total en la relación que la une a su entidad propietaria DIAGRAMA ENTIDAD-RELACIÓN La estructura lógica general de una base de datos se puede expresar gráficamente mediante un diagrama E-R. Los diagramas son simples y claros, cualidades que pueden ser
Prof. Lcdo Wilfredo Díaz
Página 11/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos responsables del amplio uso del modelo E-R. Tal diagrama consta de los siguientes componentes principales:
Rectángulos, que representan conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones. Líneas, que unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de relaciones.
Elipses dobles, que representan atributos multivalorados. Elipses discontinuas, que denotan atributos derivados.
Líneas dobles, que indican participación total de una entidad en un conjunto de relaciones.
Prof. Lcdo Wilfredo Díaz
Página 12/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos Ejercicios del Modelo E-R Ejercicios 1: 1. Horarios de clases. Elaborar los modelos y diagramas considerando: •
Análisis de requisitos: Determinar las entidades necesarias y sus atributos.
•
Utilizar la simbología adecuada para la representación del modelo E-R.
•
Poner un nombre a la relación entre entidades.
•
En la simbología, considerar la cardinalidad de las relaciones.
•
En la simbología, considerar la llave primaria
•
Definir el grado de cada relación.
Entidades: 1. Carreras (cve_carrera, nombre_carrera) 2. Grupos (cve_grupo, nombre_grupo, cve_carrera) 3. Alumnos (expediente, nombre_alumno, cve_grupo) 4. Asignaturas (cve_asignatura, nombre_asignatura) 5. Cargas Académicas (cve_grupo, cve_asignatura, cve_profesor) 6. Salones (cve_salon, nombre_salon) 7. Profesores (cve_profesor, nombre_profesor) 8. Horarios (cve_grupo, cve_salon, día, hora_inicio, hora_fin) Relaciones: 1. Grupos pertenecen a Carrera (1:1) – (N:1) 2. Alumnos se inscriben a Grupos (N:1) – (1:N) 3. Asignatura se carga a Carga Académica (1:N) – (1:1) 4. Grupo se carga a Carga Académica (1:N) – (1:1) 5. Profesor se carga a Carga Académica (1:N) – (1:1) 6. Salón se asigna a una Horario (1:N) – (1:1) 7. Grupo se asigna a un Horario (1:N) – (1:1)
Prof. Lcdo Wilfredo Díaz
Página 13/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos Ejercicios 2: UNA EMPRESA VENDE PRODUCTOS A VARIOS CLIENTES. •
Se necesita conocer los datos personales de los clientes (NOMBRE, RFC, DIRECCIÓN, FECHA DE ALTA, ANTIGÜEDAD).
•
Cada producto tiene un NOMBRE y un CÓDIGO, así como un PRECIO.
•
De cada proveedor se desea conocer el RFC, NOMBRE y DIRECCION.
•
Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes.
•
Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos.
Entidades: 1. Cliente (nombre, rfc, dirección, fecha de alta, antigüedad) 2. Producto (nombre, código, precio) 3. Proveedor(rfc, nombre, dirección) Relaciones: 1. Cliente compra Producto (N:N) 2. Proveedor suministra Producto (1:N) Diagrama:
Ejercicios 3: SE DESEA INFORMATIZAR LA GESTIÓN DE UNA EMPRESA DE TRANSPORTES QUE REPARTE PAQUETES POR TODA LA REPÚBLICA •
Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar el rfc, nombre, teléfono, dirección y salario. Prof. Lcdo Wilfredo Díaz
Página 14/15
[UNEFA – ING. SISTEMA . V SEMESTRE] Base de Datos •
De los paquetes transportados interesa conocer el código, descripción, destinatario y dirección del destinatario.
•
Un camionero distribuye muchos paquetes, y un paquete sólo puede ser distribuido por un camionero.
•
De los estados a los que llegan los paquetes interesa guardar el código de estado y el nombre del estado.
•
A un estado pueden llegar varios paquetes.
•
Sin embargo, un paquete sólo puede llegar a un estado.
•
De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo y capacidad.
•
Un camionero puede conducir diferentes camiones en fechas diferentes.
•
Un camión puede ser conducido por varios camioneros también en diferentes fechas.
Entidades: 1. Camionero (rfc, nombre, teléfono, dirección, salario) 2. Paquete (código, descripción, destinatario y dirección del destinatario) 3. Estado (código, nombre) 4. Camión (matrícula, modelo, capacidad) Relaciones: 1. Camionero distribuye Paquete (1:N) 2. Estado llega Paquete (1:N) 3. Camionero conduce Camión (N:N) Diagrama:
Prof. Lcdo Wilfredo Díaz
Página 15/15