bases de datos

109
Bases de Datos Lic. Diego Fabian Gómez Uniminuto

Upload: uniminuto

Post on 27-Jun-2015

1.208 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bases de datos

Bases de DatosLic. Diego Fabian Gómez

Uniminuto

Page 2: Bases de datos

Diseño de Bases de Datos

•Conceptos

Básicos

Page 3: Bases de datos

Base de Datos

• Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos.

• El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada.

Page 4: Bases de datos

Bases de Datos

• Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.

• Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.

Page 5: Bases de datos

Base de Datos

Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular.

http://www.maestrosdelweb.com/editorial/%C2%BFque-son-las-bases-de-

datos/

Page 6: Bases de datos

Características de las BD

Page 7: Bases de datos

Características de las BD

• Entre las principales características de los sistemas de base datos podemos mencionar:

• Independencia lógica y física de datos

• Redundancia mínima

• Acceso concurrente por parte de múltiples usuarios

• Integridad de los datos.

• Consultas complejas optimizadas.

• Seguridad de acceso y auditoría.

• Respaldo y recuperación.

• Acceso a través de diferentes lenguajes.

Page 8: Bases de datos

DBMS (Database Management System)

• Es un conjunto coordinado de programas, procedimientos, lenguajes, etc. Que suministra tanto a los usuario no informáticos como a los analistas, programadores o al administrador los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad.

Page 9: Bases de datos

Ejemplos de DBMS

• Oracle• SQL Server• Sybase• DB2• MySQL • PostgreSQL

Page 10: Bases de datos

Lenguaje de Definición de Datos. (DDL)

• En la parte de definición de un DBMS debe existir un conjunto de instrucciones o comando que permitan crear las estructuras de las bases de datos. A este conjunto de instrucciones se le conoce como lenguaje de definición de datos.

En esta especifican los elementos de datos que

integran la BD, su estructura y las relaciones

que existen entre ellos, las reglas de integridad

semántica, los controles a efectuar antes de

autorizar el acceso a la base de datos, así como

las características de tipo de físico y las vistas

lógicas de los usuarios.

Page 11: Bases de datos

Lenguaje de Manipulación de datos (DML)

• La función de manipulación permite a los usuarios de la base, informáticos o no, buscar, añadir, suprimir o modificar los datos de la misma, siempre de acuerdo con las especificaciones y las normas de seguridad dictadas por el administrado. Al conjunto de instrucciones de este tipo se le conoce como lenguaje de manipulación de datos.

Page 12: Bases de datos

Diseño de la Base de Datos

• Al igual que existe una metodología para crear programas que resuelvan una problemática, es necesario establecer un procedimiento de diseño de las estructuras de las bases de datos.

• El diseño se divide en varios niveles:

Nivel Conceptual

Nivel Lógico

Nivel Físico

Entendimiento de la persona

Entendimiento de la máquina

DBMS

Page 13: Bases de datos

Modelo Conceptual

• Se visualiza los conjuntos de datos que deben incluirse en el modelo de datos, así como sus relaciones. En esta etapa se puede hacer uso del modelo Entidad – Vínculo, que es uno de los modelos de mayor semántica de diseño.

Después de identificar el grupo de dato, se

debe generar una estructura lógica para la

manipulación de la base de datos por medio del

DBMS. Para ello es necesario usar un modelo

que puede ser el relacional, que además de

establecer la estructura de campos y registros,

permite establecer reglas de integridad de

datos y reglas de normalización para mejorar la

estructura. Finalmente la parte de estructura

física la maneja el DBMS con algunos que son

necesarios, como por ejemplo la creación de

índices.

Page 14: Bases de datos

Modelo Entidad Vínculo

• El modelo Entidad-Vinculo fue propuesto por Peter P. Chen en diferentes artículos en el año de 1976. Consiste en un modelo de representación del mundo real que consiste en Entidades y relaciones.

• También conocido como Entidad – Relación, diferente al modelo Relacional-

Entidad

Objeto real o abstracto

Persona, lugar, suceso, real o abstracto

Page 15: Bases de datos

Entidad

• Una entidad se representa por un rectángulo como lo muestra la siguiente figura:

LECTOR

Page 16: Bases de datos

LECTOR

Entidad Débil

• Son aquellas que no pueden existir sino existe una entidad normal, por ejemplo el crédito de un cliente. Si el cliente no existe, la cuenta tampoco. Y se representa por medio de un rectángulo dentro de otro.

CUENTA

Page 17: Bases de datos

EJERCICIO CREACION DE ENTIDADES

• Inventarios y facturación:• Una empresa que se dedica a la venta de

productos de papelería desea llevar el control de su inventario a través de un sistema basado en bases de datos. El sistema debe registrar las ventas de mostrador e imprimir facturas si es necesario, con los datos de los clientes. Igualmente, se deben capturar las facturas de los proveedores para actualizar las existencias de los productos. Cada mes el sistema debe generar reportes sobre las existencias de los productos para realizar un inventario. El sistema debe ser capaz de manejar información global de ventas al mes, al año, así como la determinación de la existencia en la tienda de productos.

• Señalar cuales son las entidades explique porqué

Inventarios y facturación:

Una empresa que se dedica a la venta de productos de

papelería desea llevar el control de su inventario a través de

un sistema basado en bases de datos. El sistema debe registrar

las ventas de mostrador e imprimir facturas si es necesario,

con los datos de los clientes. Igualmente, se deben capturar las

facturas de los proveedores para actualizar las existencias de

los productos. Cada mes el sistema debe generar reportes

sobre las existencias de los productos para realizar un

inventario. El sistema debe ser capaz de manejar información

global de ventas al mes, al año, así como la determinación de

la existencia en la tienda de productos.

Señalar cuales son las entidades explique porqué

Solución

Page 18: Bases de datos

Creación de Entidades

Clientes Proveedores

Facturas de Ventas Ventas Productos Facturas de Compras

Page 19: Bases de datos

2~ Caso

Page 20: Bases de datos

SEMESTRES

Catedráticos Materias

Calificaciones

Carreras

Alumnos

Page 21: Bases de datos

Características del Modelo ER

• Refleja tan solo la existencia de los datos, no lo que se hace con ellos.

• Se incluyen todos los datos relevantes del sistema en estudio.

• No está orientado a aplicaciones específicas

• Es independiente de los SGBD• No tiene en cuenta restricciones de

espacio, almacenamiento, ni tiempo de ejecución.

• Está abierto a la evolución del sistema.

• Es el modelo conceptual más utilizado

Profesor

Tutor Estudiante

Nombre Curso

ID

Modulo Estudios

Page 22: Bases de datos

Elementos del Modelo ER

• ENTIDAD (entity)• ATRIBUTO (attibute)• DOMINIO (domain)• RELACIÓN (relationship)• LLAVES (KEY)

Page 23: Bases de datos

ENTIDADES

• Cualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar información en la BD

• Las entidades se representan gráficamente mediante rectángulos con su nombre en el interior

• Realmente, los rectángulos representan tipos de entidad, pero se omite el termino “tipo de entidad”. De tal forma que hablaremos siempre de entidades.

• Las entidades representan conjuntos de instancias, ocurrencias, ejemplares, e un determinado tipo de objeto del mundo real.

Page 24: Bases de datos

ATRIBUTOS

• Atributos = cada una de las propiedades o características que tiene una entidad.• Los atributos son valores simples, ejemplo. Enteros, cadena

de caracteres, sin estructura, conjuntos, etc.• Los atributos se representan mediante un óvalo con el

nombre del atributo dentro.• Adjetivo: Identificar, relacionar, Describir

Page 25: Bases de datos

Tipos de atributos

• Identificadores: son atributos que identifican de manera unívoca cada ocurrencia de una entidad. Toda entidad debe tener al menos un atributo identificador.

• Se representa subrayando el nombre del atributo:

• Una entidad puede tener más de 1 atributo identificador; en ese caso, elegimos un atributo como identificador primario (P), quedando el resto como identificador alternativos (A)

NIP

NIP NC

PERSONA

A

DIA HORA

HORARIO

Page 26: Bases de datos

Tipos de atributos

• Atributos Simples y Compuestos• Simples: son atributos que no

están formados por otros atributos.

PESO

APELLIDO 1 APELLIDO2

APELLIDOSNOMBRE

NOMBRE COMPLETO

Page 27: Bases de datos

• Compuestos: son atributos que están formados por otros atributos que a su vez pueden ser simples o compuestos.• Ejemplo de simples y

compuestos:• Color es simple, toma

valores rojo, azul, etc.• Nombre es compuesto,

contiene nombre de pila y apellidos.

PESO

APELLIDO 1 APELLIDO2

APELLIDOSNOMBRE

NOMBRE COMPLETO

Page 28: Bases de datos

• Monovaluados: son atributos que representan un valor para una determinada ocurrencia de una entidad en un momento determinado, Pueden ser simples o compuestos.

Page 29: Bases de datos

• Derivados (o calculados): son atributos cuyo valor se obtiene aplicando una formula, no se almacenaran en la base de datos. Su valor se obtendrá en el momento en que sea necesario aplicando la fórmula asociada a ellos.• Ejemplo: El promedio de préstamo se puede derivar

si tenemos los valores de cada préstamo realizado a la persona.

Page 30: Bases de datos

TELEFONO

Tipos de atributos

• Multivaluados: son atributos que pueden representar varios valores simultáneamente para una misma ocurrencia de una entidad. Se representa mediante un óvalo. Pueden ser simples o compuestos.• Ejemplo: Teléfono o

Teléfonos.

TELEFONO

EDAD

Page 31: Bases de datos

TIPOS DE ATRIBUTOS

• Propios: son los atributos de las relaciones. Se representan unidos al rombo de la relación.

CANTIDAD

CLIENTE COMPRA PRODUCTOS

Page 32: Bases de datos

DIAGRAMA SIMBOLOS Y NOTACIONES

Entidad

Entidad Débil

Atributos

Atributo Multivariado

Relación

Relación Débil

Page 33: Bases de datos

ENTIDAD

ORDEN

Page 34: Bases de datos

ORDEN

ENTIDAD DEBIL

ORDEN Articulo del pedido

Page 35: Bases de datos

Comprador

Atributo

Id

Numero

Nombre

Calle

Ciudad

Dirección

Page 36: Bases de datos

Atributo Multivaluado

Profesor TemasTemas

Page 37: Bases de datos

Atributo Derivado

Circulo

Radio Área

Page 38: Bases de datos

Actividad Ejemplo 3

• Modelar el siguiente problema.

• Se trata de una base de datos que debe almacenar la información sobre varias estaciones meteorológicas, en una zona determinada. De cada una de ellas recibiremos y almacenaremos un conjunto de datos cada día: temperatura máxima y mínima, precipitaciones en litros/m2, velocidad del viento máxima y mínima, y humedad máxima y mínima.

• El sistema debe ser capaz de seleccionar, añadir o eliminar estaciones. Para cada una almacenaremos su situación geográfica (latitud y longitud), identificador y altitud.

• Fuente: http://mysql.conclase.net/curso/?cap=002b#ER_EJEMPLO1

Page 39: Bases de datos

1.Crear las entidades2.Identificar Atributos3.Crear el modelo con entidades y atributos

Page 40: Bases de datos
Page 41: Bases de datos

Quiz

A partir del siguiente enunciado se desea realiza el modelo entidad-relación 1. Una empresa vende productos a varios clientes. Se necesita

conocer los datos personales de los clientes (nombre, apellidos, DNI, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes.

Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que un producto solo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el DNI , nombre y dirección.

Page 42: Bases de datos

Quiz

A partir del siguiente enunciado se desea realiza el modelo entidad-relación2. “Se desea informatizar la gestión de una empresa de transportes que

reparte paquetes por toda Argentina. Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar el DNI, nombre, teléfono, dirección, salario y población en la que vive. De los paquetes transportados interesa conocer el código de paquete, 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 las provincias a las que llegan los paquetes interesa guardar el código de provincia y el nombre. Un paquete sólo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios paquetes.De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros”

Page 43: Bases de datos

Modelo de Entidad - Vínculo• Se entiende por vínculo, relación o interrelación a

aquella asociación o correspondencia existente entre entidades.• Se denomina tipo de vínculo a la estructura genérica

del conjunto de vínculos existentes entre dos o mas tipos de entidad.

Page 44: Bases de datos

Modelo de Entidad - Vínculo

• El vínculo se representa por medio de un rombo, en el cual se escribe un verbo

CONDUCE

Page 45: Bases de datos

Modelo de Entidad - Vínculo

• En los vínculos se debe establecer el nombre, el grado, la cardinalidad y el tipo de correspondencia. El grado se refiere a la cantidad de entidades que intervienen en la relación. Así, si existe una entidad que se relaciona a así misma es un vínculo de grado 1.

Page 46: Bases de datos

Modelo de Entidad - Vínculo

• Se deben definir dos tipos de cardinalidad: mínima y máxima. La mínima se refiere al número mínimo de correspondencias en que una entidad puede participar y la máxima, el número máximo. En los diagramas las cardinalidades mínima y máxima se colocan entre paréntesis separadas por una como sobre la línea del vínculo:

• (card. Mínima, card Máxima)

Page 47: Bases de datos

Modelo de Entidad - Vínculo

• El tipo de correspondencias se refiere al número máximo de ocurrencias de cada entidad que puede intervenir en una ocurrencia de vínculo. Esta puede ser: de una a una, de uno a mucho y de muchos a muchos.

Page 48: Bases de datos

CONDUCE

CONDUCE

CONDUCE

1:1 De uno a Uno

1:N De uno a Muchos

N:M De Muchos a Muchos

Page 49: Bases de datos

Inventarios y FacturaciónProveedores

Facturas de Ventas Ventas Productos

Facturas de Compras

realizaClientesgenera

se Tener

Page 50: Bases de datos

Catedráticos Materias

Cursos

Carreras

Alumnos

Page 51: Bases de datos
Page 52: Bases de datos

RELACIÓN

• Para evitar confusiones con el término usaremos interrelación, ya que relación tiene un significado radicalmente diferente dentro del modelo relacional, y esto nos puede llevar a error.• Interrelación: es la asociación o conexión entre

conjuntos de entidades.• Tengamos los dos conjuntos: de personas y de

vehículos. Podemos encontrar una interrelación entre ambos conjuntos a la que llamaremos posee, y que asocie una entidad de cada conjunto, de modo que un individuo posea un vehículo.

Page 53: Bases de datos

• Grado: número de conjuntos de entidades que intervienen en una interrelación.• De este modo, en la anterior interrelación

intervienen dos entidades, por lo que diremos que es de grado 2 o binaria. También existen interrelaciones de grado 3, 4, etc. Pero las más frecuentes son las interrelaciones binarias.• Podemos establecer una interrelación ternaria (de

grado tres) entre personas, de modo que dos personas sean padre y madre, respectivamente, de una tercera.

Page 54: Bases de datos

• Existen además tres tipos distintos de interrelaciones binarias, dependiendo del número de entidades del primer conjunto de entidades y del segundo. Así hablaremos de interrelaciones 1:1 (uno a uno), 1:N (uno a muchos) y N:M (muchos a muchos).• Nuestro ejemplo anterior de "persona posee vehículo"

es una interrelación de 1:N, ya que cada persona puede no poseer vehículo, poseer uno o poseer más de uno. Pero cada vehículo sólo puede ser propiedad de una persona.• Otras relaciones, como el matrimonio, es de 1:1, o la de

amistad, de N:M.

Page 55: Bases de datos

Modelo Entidad Relación

Relación.- Asociación entre entidades para reflejar las interacciones existentes entre entidades.

Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa

Relaciones 1-1.- Las entidades que intervienen en la relación se asocian una a una

Relaciones 1-n.- Una ocurrencia de una entidad está asociada con muchas (n) de otra

Page 56: Bases de datos

Representación Gráfica 1

Existen diversas formas de representar un Modelo Entidad-Relación:

Entidades: Rectángulo redondeado, con Nombre en MayúsculaAtributos: en minúscula

Relaciones:

Uno a Uno: 1-1

Uno a Muchos: 1-nMuchos a Muchos: n-n

CLIENTE#*ci

*nombre*apellido

Campos claves: #Campos Obligatorios: *

Page 57: Bases de datos

Representación Gráfica 2

Existen diversas formas de representar un Modelo Entidad-Relación:

Entidades: Rectángulo nombre en mayúsculaAtributos: en minúscula dentro de óvalosRelaciones:

Uno a Uno: 1-1

Uno a Muchos: 1-n

Muchos a Muchos: n-n

CLIENTE

ci nombre

apellido

compra

compra

Campo clave: Se subraya

Page 58: Bases de datos

Relaciones "uno a uno"

• Estas relaciones entre bases de datos se dan cuando cada campo clave aparece sólo una vez en cada una de las tablas.• Tomando un ejemplo del mundo real, una clara

relación de "uno a uno" podría ser, el nombre de cualquier persona y su número de teléfono. Si partimos del supuesto en que cada persona tiene un solo número de teléfono, se podría hablar de una relación "uno a uno".

Page 59: Bases de datos
Page 60: Bases de datos

• Este tipo de relaciones se caracteriza porque cada uno de los campos define a aquél con el que se relaciona. • Es decir, conociendo el nombre de una persona

podemos conocer su número telefónico. O si sabemos su número telefónico, podemos identificar al dueño. En estos casos, se suele aconsejar incluir todos los datos dentro de una sola tabla.

Page 61: Bases de datos

Relaciones de "uno a varios"• El ejemplo del caso anterior (cada persona, un teléfono), si

bien es correcto teóricamente, es muy improbable desde el punto de vista de la realidad. Con la gran expansión de los teléfonos, por lo general, cada persona tiene un número de teléfono fijo, y además del teléfono móvil. Debemos tener en cuenta que de el de su casa también tendrá un número de teléfono de empresa, y que quizá también sus móviles estén divididos en ocio y trabajo.• Por ello, debemos tener nuestras bases de datos

preparadas para ello. Este tipo de relaciones es conocido como "uno a varios", y se podría representar de la siguiente manera:

Page 62: Bases de datos
Page 63: Bases de datos

Relaciones de "uno a varios"• En este caso, lo aconsejable no es almacenar todos

los datos en una sola tabla, sino lo eficiente es hacerlo en tablas separadas, utilizando el identificador ID para relacionarlas.

Page 64: Bases de datos
Page 65: Bases de datos

• En la tabla Nombre almacenamos el nombre y apellido, con su ID o número identificador. En la otra tabla, Teléfonos, almacenamos únicamente números de teléfono, con su correspondiente número identificador, en este caso TID. La manera en que se relaciona una con otra es mediante el identificador ID, que está presente en ambas tablas.

Page 66: Bases de datos

Relaciones de "varios a varios"• La última de la relaciones que podemos encontrar

es la de "varios con varios". Dado que en la vida las cosas rara vez son sencillas, éste será el tipo de relación que nos encontraremos más a menudo.

Page 67: Bases de datos

• Volviendo al tema de los teléfonos, hemos encontrado la manera de relacionar cada una de las personas con sus diversos teléfonos: el de su casa, el de su empresa, el móvil. Pero no será extraño tener en nuestra base de datos diversas personas que trabajen en la misma empresa, por lo que el número de su trabajo será el mismo, o miembros de una misma familia, por lo que compartirán el mismo teléfono de su hogar.

Page 68: Bases de datos

• ¿Cómo tratar este tipo de relaciones? Si nos limitamos a repetir dicho número de tablas, estaremos creando problemas de redundancia de datos, que a largo plazo lastrarán la rapidez y eficacia de nuestras tablas.

Page 69: Bases de datos
Page 70: Bases de datos

• Como vemos, cada elemento de la base de datos puede relacionarse libremente con uno o varios miembros de las distintas tablas.• En estos casos no hay una regla fija a la que podamos

acogernos, pero lo aconsejable es aproximarse lo más posible a la realidad, y no dudar en establecer tablas intermedias que nos ayuden a asociar mejor los datos.• Volviendo al tema de los teléfonos, imaginemos que varias

personas de nuestra tabla trabajan en la misma empresa en donde tienen varias líneas, por lo que los números de teléfono de trabajo de estas personas serían varios. ¿Cómo representarlo en nuestra base de datos?

Page 71: Bases de datos
Page 72: Bases de datos

• En este caso hemos creado una tabla intermedia llamada "empresas". En la tabla "nombres" incluimos un nuevo campo TID, que se relaciona con la tabla "empresas", y es esta tabla la que se relaciona directamente con los teléfonos. De esta manera, podemos almacenar todos los datos con facilidad sin tener que repetir un sólo número telefónico.

Page 73: Bases de datos

• Se pueden distinguir tres tipos de relaciones:• Relación Uno a Uno: Cuando un registro de una

tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.• Por ejemplo: tenemos dos tablas una con los datos

de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.

Page 74: Bases de datos

• Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).• Por ejemplo: tenemos dos tablas una con los datos de

diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará registrado) en una única población.

Page 75: Bases de datos

• Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.• Por ejemplo: tenemos dos tablas una con los datos de

clientes y otra con los artículos que se venden en la empresa, una cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.• Las relaciones varios a varios se suelen representar

definiendo una tabla intermedia entre las dos tablas. Por ejemplo sería definir una tabla líneas de pedido relacionada con clientes y con artículos.

Page 76: Bases de datos

Ejemplos:

• Un alumno puede estar en uno y solo un grupo de escuela y un grupo de escuela puede tener uno o muchos alumnos. (relación uno a muchos)

• Un producto puede estar en una o muchas ventas y una venta puede tener uno o muchos productos (relación de muchos a muchos)

Page 77: Bases de datos

Ejemplos:

• Un esposo puede tener una y solo una esposa y una esposa puede tener uno y solo un esposo (relación uno a uno)

• Una amante puede tener uno y solo un esposo y un esposo puede tener una o muchas amantes (relación de uno a muchos)

Page 78: Bases de datos

Ejercicio:

• Según el concepto de relaciones, escriba 2 ejemplos de cada una.

Page 79: Bases de datos

Ejercicio:

• Cree el enunciado y el modelo entidad relación de:• Una persona tiene un numero de cédula.• Una persona puede tener varios correos electrónicos.• Varios conductores para varios buses.• Un usuario una clave• Una persona tiene varios uniformes• Hay varios alimentos para muchas personas.

Page 80: Bases de datos

Solución Parcial

Cliente

Pedido

Articulo

Fabrica

Page 81: Bases de datos

Solución Parcial

Cliente

Pedido

Articulo

Fabrica

Realiza

1,1

0,n

contiene

1,n

1,n

Cantidad

Distribuye

1,n

1,n

Page 82: Bases de datos

Cliente

#Cliente

Saldo Descuento

Credito

Direcciones de envio

N

Calle Ciudad

Comuna

Page 83: Bases de datos

Pedido

#Cliente

Fecha

Hora Dia, mes año

Direcciones de envio

N

Calle Ciudad

Comuna

Page 84: Bases de datos

Articulo

#Articulo Descripcion

Page 85: Bases de datos

Fabrica

#Fabrica Telefono

Artículos distribui

do

Page 86: Bases de datos

Clave

• En principio, cada entidad se puede distinguir de otra por sus atributos. Aunque un subconjunto de atributos puedan ser iguales en entidades distintas, el conjunto completo de todos los atributos no se puede repetir nunca. Pero a menudo son sólo ciertos subconjuntos de atributos los que son diferentes para todas las entidades.

Page 87: Bases de datos

• Clave: es un conjunto de atributos que identifican de forma unívoca una entidad.

Cliente

#Cliente

Saldo Descuento

Crédito

Page 88: Bases de datos

• Por ejemplo la entidad persona, podemos pensar que de una forma intuitiva sabemos qué atributos distinguen a dos personas distintas. Sabemos que el nombre por si mismo, desde luego, no es uno de esos atributos, ya que hay muchas personas con el mismo nombre.

Persona

nombre

Page 89: Bases de datos

• A menudo, el conjunto de nombre y apellidos puede ser suficiente, pero todos sabemos que existen ciertos nombres y apellidos comunes que también se repiten, y que esto es más probable si se trata de personas de la misma familia.

Persona

nombres

apellidos

Page 90: Bases de datos

• Las personas suelen disponer de un documento de identidad que suele contener un número que es distinto para cada persona.

Persona

nombres

apellidos documento

Page 91: Bases de datos

• Pero habrá aplicaciones en que este valor tampoco será una opción: podemos tener, por ejemplo, personas en nuestra base de datos de distintas nacionalidades, o puede que no tengamos acceso a esa información (una agenda personal no suele contener ese tipo de datos), también hay personas, como los menores de edad, que generalmente no disponen de documento de identidad.

Page 92: Bases de datos

• Con otros tipos de entidad pasa lo mismo. En el caso de vehículos no siempre será necesario almacenar el número de matrícula o de bastidor, o tal vez no sea un valor adecuado para usar como clave (ya veremos más adelante que en el esquema físico es mucho mejor usar valores enteros).

Vehiculos

matricula

bastidor dueño

Page 93: Bases de datos

• En ocasiones, por un motivo u otro, creamos un atributo artificial para usarlo sólo como clave. Esto es perfectamente legal en el modelo E-R, y se hace frecuentemente porque resulta cómodo y lógico.

Vehiculos

#Id_vehiculos

bastidor dueño

Id_matricula

Page 94: Bases de datos

Claves candidatas

• Una característica que debemos buscar siempre en las claves es que contengan el número mínimo de atributos, siempre que mantengan su función. Diremos que una clave es mínima cuando si se elimina cualquiera de los atributos que la componen, deja de ser clave. Si en una entidad existe más de una de estas claves mínimas, cada una de ellas es una clave candidata.

Page 95: Bases de datos

• Clave candidata: es cada una de las claves mínimas existente en un conjunto de entidades.

Vehiculos

color

bastidor dueño

matricula

Page 96: Bases de datos

color

bastidor

dueño

matricula

LlavesCandidatas

Page 97: Bases de datos

Clave principal

• Si disponemos de varias claves candidatas no usaremos cualquiera de ellas según la ocasión. Esto sería fuente de errores, de modo que siempre usaremos la misma clave candidata para identificar la entidad.

Page 98: Bases de datos

• Clave principal: (o primaria), es una clave candidata elegida de forma arbitraria, que usaremos siempre para identificar una entidad.

Page 99: Bases de datos

color

bastidor

dueño

#matricula

LlavesPrincipal

Page 100: Bases de datos

Claves de interrelaciones• Para identificar interrelaciones el proceso es similar,

aunque más simple. Tengamos en cuenta que para definir una interrelación usaremos las claves primarias de las entidades interrelacionadas. De este modo, el identificador de una interrelación es el conjunto de las claves primarias de cada una de las entidades interrelacionadas.

Page 101: Bases de datos

• Por ejemplo, si tenemos dos personas identificadas con dos valores de su clave primaria, clave1 y clave2, y queremos establecer una interrelación "es padre de" entre ellas, usaremos esas dos claves. El identificador de la interrelación será clave1,clave2.

ENTIDAD1 ENTIDAD2INTERRELACION

CLAVE1 CLAVE2CLAVE1 CLAVE2

Page 102: Bases de datos

Entidades fuertes y débiles

• A menudo la clave de una entidad está ligada a la clave principal de otra, aún sin tratarse de una interrelación.

Page 103: Bases de datos

• Por ejemplo, supongamos una entidad viaje, que usa la clave de un vehículo y añade otros atributos como origen, destino, fecha, distancia.

viaje

Id_matricula

origen destino

distancia

fecha

Page 104: Bases de datos

• Decimos que la entidad viaje es una entidad débil, en contraposición a la entidad vehículo, que es una entidad fuerte. La diferencia es que las entidades débiles no necesitan una clave primaria, sus claves siempre están formadas como la combinación de una clave primaria de una entidad fuerte y otros atributos.

Page 105: Bases de datos

• Además, la existencia de las entidades débiles está ligada o subordinada a la de la fuerte. Es decir, existe una dependencia de existencia. Si eliminamos un vehículo, deberemos eliminar también todos los viajes que ese vehículo ha realizado.

Page 106: Bases de datos

• Se trata de gestionar una biblioteca, y nuestro cliente quiere tener ciertas herramientas a su disposición para controlar libros, socios y préstamos. Adicionalmente se necesita un control de los ejemplares de cada libro, su ubicación y su estado, con vistas a su retirada o restitución, para esto último necesita información sobre editoriales a las que se deben pedir los libros.• Tanto los ejemplares como los socios estarán sujetos a ciertas

categorías, de modo que según ellas cada ejemplar podrá ser o no prestado a cada socio. Por ejemplo, si las categorías de los ejemplares van de A a F, y la de los socios de B a F, un ejemplar de categoría A nunca puede ser prestado a ningún socio. Estos ejemplares sólo se pueden consultar en la biblioteca, pero no pueden salir de ella. Un ejemplar de categoría B sólo a socios de categoría B, uno de categoría C se podrá prestar a socios de categorías B y C, etc. Los ejemplares de categoría F siempre pueden prestarse.

Page 107: Bases de datos

• El sistema debe proporcionar también un método de búsqueda para libros por parte de los socios, por tema, autor o título. El socio sólo recibirá información sobre los libros de los que existen ejemplares, y sobre la categoría.• Además, se debe conservar un archivo histórico de préstamos,

con las fechas de préstamo y devolución, así como una nota que el responsable de la biblioteca quiera hacer constar, por ejemplo, sobre el estado del ejemplar después de su devolución. Este archivo es una herramienta para la biblioteca que se puede usar para discriminar a socios "poco cuidadosos".• Los préstamos, generalmente, terminan con la devolución del

libro, pero algunas veces el ejemplar se pierde o el plazo supera un periodo de tiempo establecido y se da por perdido. Estas circunstancias pueden cerrar un préstamo y provocan la baja del ejemplar (y en ocasiones la del socio :-). Nuestro archivo histórico debe contener información sobre si el libro fue devuelto o perdido.

Page 108: Bases de datos

• Identificar entidades• Identificar relaciones• Primer diagrama• Identificar atributos• Selección claves• Verificar modelo

Page 109: Bases de datos

Catedráticos Materias

Cursos

Carreras

AlumnosImparte

De los

Pertenece

Acredita

Id_Cat Id_Mat Id_Carre

Id_Curso Id_Alum