bases de datos
TRANSCRIPT
Bases de DatosLic. Diego Fabian Gómez
Uniminuto
Diseño de Bases de Datos
•Conceptos
Básicos
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.
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.
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/
Características de las BD
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.
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.
Ejemplos de DBMS
• Oracle• SQL Server• Sybase• DB2• MySQL • PostgreSQL
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.
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.
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
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.
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
Entidad
• Una entidad se representa por un rectángulo como lo muestra la siguiente figura:
LECTOR
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
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
Creación de Entidades
Clientes Proveedores
Facturas de Ventas Ventas Productos Facturas de Compras
2~ Caso
SEMESTRES
Catedráticos Materias
Calificaciones
Carreras
Alumnos
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
Elementos del Modelo ER
• ENTIDAD (entity)• ATRIBUTO (attibute)• DOMINIO (domain)• RELACIÓN (relationship)• LLAVES (KEY)
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.
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
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
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
• 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
• Monovaluados: son atributos que representan un valor para una determinada ocurrencia de una entidad en un momento determinado, Pueden ser simples o compuestos.
• 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.
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
TIPOS DE ATRIBUTOS
• Propios: son los atributos de las relaciones. Se representan unidos al rombo de la relación.
CANTIDAD
CLIENTE COMPRA PRODUCTOS
DIAGRAMA SIMBOLOS Y NOTACIONES
Entidad
Entidad Débil
Atributos
Atributo Multivariado
Relación
Relación Débil
ENTIDAD
ORDEN
ORDEN
ENTIDAD DEBIL
ORDEN Articulo del pedido
Comprador
Atributo
Id
Numero
Nombre
Calle
Ciudad
Dirección
Atributo Multivaluado
Profesor TemasTemas
Atributo Derivado
Circulo
Radio Área
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
1.Crear las entidades2.Identificar Atributos3.Crear el modelo con entidades y atributos
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.
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”
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.
Modelo de Entidad - Vínculo
• El vínculo se representa por medio de un rombo, en el cual se escribe un verbo
CONDUCE
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.
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)
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.
CONDUCE
CONDUCE
CONDUCE
1:1 De uno a Uno
1:N De uno a Muchos
N:M De Muchos a Muchos
Inventarios y FacturaciónProveedores
Facturas de Ventas Ventas Productos
Facturas de Compras
realizaClientesgenera
se Tener
Catedráticos Materias
Cursos
Carreras
Alumnos
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.
• 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.
• 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.
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
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: *
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
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".
• 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.
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:
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.
• 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.
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.
• 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.
• ¿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.
• 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?
• 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.
• 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.
• 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.
• 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.
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)
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)
Ejercicio:
• Según el concepto de relaciones, escriba 2 ejemplos de cada una.
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.
Solución Parcial
Cliente
Pedido
Articulo
Fabrica
Solución Parcial
Cliente
Pedido
Articulo
Fabrica
Realiza
1,1
0,n
contiene
1,n
1,n
Cantidad
Distribuye
1,n
1,n
Cliente
#Cliente
Saldo Descuento
Credito
Direcciones de envio
N
Calle Ciudad
Comuna
Pedido
#Cliente
Fecha
Hora Dia, mes año
Direcciones de envio
N
Calle Ciudad
Comuna
Articulo
#Articulo Descripcion
Fabrica
#Fabrica Telefono
Artículos distribui
do
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.
• Clave: es un conjunto de atributos que identifican de forma unívoca una entidad.
Cliente
#Cliente
Saldo Descuento
Crédito
• 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
• 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
• 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
• 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.
• 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
• 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
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.
• Clave candidata: es cada una de las claves mínimas existente en un conjunto de entidades.
Vehiculos
color
bastidor dueño
matricula
color
bastidor
dueño
matricula
LlavesCandidatas
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.
• Clave principal: (o primaria), es una clave candidata elegida de forma arbitraria, que usaremos siempre para identificar una entidad.
color
bastidor
dueño
#matricula
LlavesPrincipal
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.
• 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
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.
• 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
• 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.
• 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.
• 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.
• 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.
• Identificar entidades• Identificar relaciones• Primer diagrama• Identificar atributos• Selección claves• Verificar modelo
Catedráticos Materias
Cursos
Carreras
AlumnosImparte
De los
Pertenece
Acredita
Id_Cat Id_Mat Id_Carre
Id_Curso Id_Alum