P EDRO J. M OLL M ONREAL
2014/2015
1
B ASES DE D ATOS:
A NÁLISIS Y D ISEÑO
ÍNDICE
1.I
NTRODUCCIÓNAB
ASESDED
ATOS1
1.1.Evolución del almacenamiento de la información...1
1.2.Sistema gestor de base de datos (SGBD)...1
1.3.SQL...2
1.4.Fases del diseño de bases de datos...2
1.5.Modelos de datos...2
2.M
ODELOC
ONCEPTUAL: E
NTIDAD-R
ELACIÓN3
2.1.Entidades...32.2.Atributos...3
2.3.Atendiendo a la composición...3
2.4.Atendiendo a los valores...4
2.5.Atendiendo al origen...4
2.6.Clave principal o primaria...4
2.7.Dominios...5
2.8.Relaciones...5
3.F
ASES DELD
ISEÑOC
ONCEPTUAL7
3.1.Identificar entidades...73.2.Identificar atributos y dominios...7
3.3.Identificar claves principales...7
3.4.Identificar relaciones y su grado...7
3.5.Representación del modelo entidad-relación...7
4.E
LD
ISEÑOL
ÓGICO. 8
4.1.El Modelo Relacional...84.2.Paso del modelo E-R al modelo Relacional...8
Optativa Informática I.E.S. La Melva 2º Bachillerato Pág. I
1. INTRODUCCIÓN A BASES DE DATOS 1.1. E
VOLUCIÓNDELALMACENAMIENTODELAINFORMACIÓNTodas las organizaciones necesitan almacenar información. Antes de la aparición de la informática la información se almacenaba en ar- chivos físicos usando...
Listas en papel.
Tarjetas o fichas de cartulina.
Carpetas.
Ficheros.
Archivadores con cajones.
Esto tiene una serie de inconvenientes:
Requieren mucho espacio físico.
Buscar, copiar o modificar la información es un proceso manual, lento y laborioso.
No realizan cálculos ni análisis sobre los datos.
Se produce deterioro físico o pérdida de las tarjetas.
Tras la aparición de la informática los datos se almacenan en archivos digitales...
Se necesitan aplicaciones manipular y mecanizar el proceso de la información.
Cada programa almacena y utiliza sus propios de forma independiente e inconexa.
Esto tiene una serie de inconvenientes:
Información repetida (redundancia).
Mayor tamaño de almacenamiento.
Datos repetidos que no concuerdan entre sí (inconsistencia).
Dispersión de datos por departamentos.
Difícil modificación y actualización.
La solución consiste en hacer que todas las aplicaciones utilicen los mismos datos por lo que aparecieron las bases de datos que son un permiten almacenar grandes cantida- des de datos relacionados y organizados de forma sistemática, y garantiza su gestión (con- sultar, añadir, eliminar, modificar, realizar cálculos...).
Entre los diferentes tipos de bases de datos, las relacionales son las más extendidas hoy en día. En el modelo relacional, la base de datos está formada por un conjunto de una o más tablas que se vinculan entre sí: se relacionan.
Las bases de datos tienen una serie de ventajas:
Redundancia mínima: evitan la aparición de información repetida.
Independencia al modificar el esquema de una BD sin afectar a las aplicaciones que la usan.
Consistencia al actualizar la información repetida.
Integridad de los datos garantizando su validez.
Seguridad frente a usuarios malintencionados.
Respaldo/recuperación mediante copias de seguridad.
Eficiencia en el acceso a los datos.
Menor espacio de almacenamiento.
1.2. S
ISTEMAGESTORDEBASEDEDATOS(SGBD)
Un SGDB es un software que gestiona los datos almacenados en una BD y permite...
Describir los datos, sus relaciones y sus condiciones de acceso e integridad.
Manipular los datos: buscar, añadir, suprimir y modificar datos de la base de datos.
Controlar la comunicación con la B.D.
Realizar copias de seguridad y recuperación ante desastres.
Administrar los usuarios y sus permisos.
Existen varios tipos de SGDB dependiendo de tu complejidad:
Para pequeñas empresas
MS Access
LibreOffice Base
OpenOffice Base
Redes corporativas o Internet
MySQL
Oracle
PostgreSQL
SQL Server
USUARIO
BD
SGBD
1.3. SQL
SQL es un lenguaje estándar para la gestión de BD relacionales que se caracteriza por:
Usado por la mayoría de SGBD.
Permiten gestionar la BD:
Tablas
Relaciones
Datos
Usuarios...
1.4. F
ASESDELDISEÑODEBASESDEDATOS El diseño de una base de datos consiste obtener una representación informática a partir del estudio de los elementos del mundo real.
Para ello es necesario definir las estructuras de los datos que ha de contener.
No es un proceso sencillo por la complejidad de la información y la cantidad de requisitos de los sistemas de información.
Es un proceso en etapas o fases en el que los resultados de una pasan como entradas a las siguientes.
Análisis de requerimientos
Consiste en analizar un problema real de la realidad para tener claro los flujos de información.
Observar los elementos que participan en la realidad.
Entrevistas y cuestionarios para averiguar los datos que hay que almacenar.
Revisar los documentos que se utilizan.
Diseño conceptual:
Obtiene el modelo conceptual: estructura de la información de la futura base de datos.
Es independiente de la tecnología que se utilizará posteriormente (tipo de BD y SGDB).
Diseño lógico:
Partiendo del modelo conceptual obtiene un modelo lógico.
Representa los datos en un formato más cercano al del ordenador.
Orientado al modelo de base de datos elegido (jerárquico, relacional o red).
Fácilmente implementable.
Limita la posibilidad de tener datos incoherentes.
Diseño físico:
Transforma el modelo lógico en un modelo físico.
Busca conseguir una mayor eficiencia y rendimiento.
Describe la forma en la que los datos serán representados.
Define el tipo de datos y su representación adaptados ya al SGBD a utilizar.
Implementación: Crea la BD utilizando el SGBD seleccionado según el modelo físico obtenido.
1.5. M
ODELOSDEDATOSDe cada una de las etapas del diseño de una BD se obtendrá un elemento al que llamamos modelo y cuyo tipo variará dependiendo del ni- vel en el que nos encontramos. Los modelos, utilizados en todo tipo de ciencias, pretenden de simbolizar una parte del mundo real de forma que sea más fácilmente manipulable. En definitiva, un modelo es un esquema mental en el que se intentan reproducir las características de una reali- dad específica y que nos ayuda a capturar todas las necesidades de información a almacenar.
Modelo conceptual: En la etapa de diseño conceptual se obtendrá un modelo conceptual o de alto nivel que facilitará la descripción global del sistema al nivel más próximo al usuario mediante la utilización de conceptos del mundo real. Usaremos el modelo Entidad/Relación.
Modelo lógico: En la etapa de diseño lógico se obtendrá el modelo lógico, el cual dependerá del modelo de base de datos utilizado. En nues- tro caso vamos a utilizar el modelo lógico relacional.
Modelo físico: En la etapa de diseño físico se obtendrá el modelo físico o interno, el cual contendrá un conjunto de normas de seguridad, una estructura interna y un conjunto de especificaciones de ajuste.
Cuestiones
1. Indica 10 aplicaciones de las bases de datos en la vida real. Por ejemplo, una biblioteca.
2. Explica que quiere decir en bases de datos redun- dancia, consistencia e integridad de los datos.
3. ¿Qué modelo conceptual vamos a utilizar en el cur- so? ¿Y qué modelo lógico?
4. Completa el siguiente esquema.
Optativa Informática I.E.S. La Melva 2º Bachillerato Pág. nº 2
IMPLEMENTACIÓN DISEÑO
FÍSICO DISEÑO LÓGICO DISEÑO CONCEPTUAL
REALIDAD
Idea Esquema
__________
Modelo _________
_________
_________
_________
_________
________ ________ ________ ________
Entidad
Relación Relacional SGBD Depende
Depende del SGBD del SGBD
BD
2. MODELO CONCEPTUAL: ENTIDAD-RELACIÓN
Desarrollado inicialmente por Peter Chen en 1976, aunque hay variantes.
Permite crear el esquema conceptual de una BD a partir de la idea surgida del análisis de la realidad.
Aplicable a cualquier tipo de BD (jerárquica, relacional, red).
Muy utilizado actualmente por su simplicidad y legibilidad.
Utiliza diagramas para su representación.
Fácil de aprender por los diseñadores y de comprender por los usuarios.
El modelo recibe su nombre debido a los elementos que lo componen, que principalmente son: entidades, relaciones y atributos.
2.1. E
NTIDADES Son objetos (reales o abstractos) del mundo real de los que quere- mos almacenar información sobre sus propiedades.
Se representan por un rectángulo que contiene el nombre de la enti- dad en mayúsculas.
Tipos:
Regular → Entidad independiente
Débil → Entidad totalmente dependiente de otra (rectángulo doble).
Ejemplos de entidades son: proveedor, artículo, pedido, empleado, producto, asignatura, alumno...
2.2. A
TRIBUTOS Almacenan las propiedades básicas de las entidades.
Se representan mediante círculos o elipses, dentro de los que aparece su nombre en minúsculas.
Se relacionarán mediante líneas con las entidades.
Ejemplos de atributos son: nombre del artículo, cantidad de artículos, apellidos del usuario, DNI del usuario...
Tipos atendiendo a diferentes factores:
Composición: simples y compuestos
Valores: monovaluados y multivaluados
Origen: almacenados y derivados
Cuestiones
5. Imagina que te piden obtener las entidades que encontrarías en tu Instituto (como por ejemplo profesores) ¿cuáles más podrías determinar? Una vez halladas las entidades ¿cuáles serían sus posibles atributos?
6. Realiza la representación de las entidades (rectángulos) y sus atributos (círculos) del ejercicio anterior.
7. Clasifica los siguientes elementos en atributos o entidades (haz una tabla): Pedido, calle, ciudad, fábrica, fecha, saldo, artículo, teléfono, producto, cliente, des - cuento, evento, duración, participantes.
2.3. A
TENDIENDOALACOMPOSICIÓN Atributos simples:
Tienen un solo componente y no se pueden divi- dir en partes más pequeñas con significado pro- pio.
Se representan mediante círculos o elipses.
Ejemplos: usuario, contraseña, fecha de naci- miento, NIF, email, sueldo, población.
Atributos compuestos:
Están formados por varios componentes y que tienen afinidad en cuanto a su significado.
Se representan también con círculos o elipses unidos a cada uno de los atributos de los que se compone.
Ejemplos: nombre (nombre, apellido1, apelli- do2), dirección (calle, número, piso, puerta)
Entidades
ALUMNO PROFESOR ASIGNATURA
ARTÍCULO
PROVEEDOR CLIENTE
PEDIDO LÍNEA
PEDIDO VENDEDOR
Entidad y atributos PROVEEDOR codpro
nif
nombre dirección teléfonos
Atributos simples y compuestos PERSONA
dirección nombre
completo nombre
apellido1
apellido2
calle
número
piso
puerta nif
email usuario
2.4. A
TENDIENDOALOSVALORES Atributos monovaluados:
Tienen un solo valor por cada ocurrencia de la entidad a la que pertenece.
Se representan mediante un círculo o elipse.
Ejemplos: usuario, edad, dni, apellidos
Atributos multivaluados:
Pueden tener varios valores por cada ocurrencia de la entidad.
Se representan con dos círculos o elipses, uno dentro de otro.
Ejemplos: teléfonos, direcciones, coches
2.5. A
TENDIENDOALORIGEN Atributos almacenados:
Son aquellos cuyos datos se almacenan directamente en la base de datos sin ne- cesidad de realizar ningún trámite intermedio.
Se representan por un círculo o elipse.
Ejemplos: nombre, dni, apellidos.
Atributos derivados:
Son aquellos que son obtenidos a partir del valor de uno o varios atributos exis- tentes en la misma o en otras entidades.
Se representan mediante círculos de trazo discontinuo.
Ejemplos: edad (a partir de la fecha de nacimiento), beneficio (a partir del coste y precio de venta).
Cuestiones
8. Representa las siguientes entidades con sus atributos (ten en cuenta los diferentes tipos de atributos y su representación) (
SOLUCIÓN-entidades01.dia):
Cliente: id, nombre completo (nombre, apellido 1 y apellido 2), domicilio (calle, portal, piso, puerta), teléfonos
Cuenta: banco, sucursal, número, dc, saldo, saldopositivo
Empleado: id, nombre, fecha-comienzo, antigüedad, teléfonos
Ordenador: id, nombre, procesadores, memoria, discoduro
9. Representa las siguientes entidades con sus atributos correspondientes (ten en cuenta los diferentes tipos de atributos y su representación) (
SOLUCIÓN -enti- dades02.dia):
Una empresa vende productos a varios clientes y se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección, fecha de naci - miento, edad, teléfonos). Además, cada producto tiene un nombre y un código, así como un precio unitario; y de cada proveedor se desea conocer el NIF, nombre y dirección.
En una empresa de transportes se desea saber de los camioneros, el dni, nombre, teléfono, dirección, salario, población y código postal en la que vive. Ade - más de los paquetes transportados interesa conocer el código de paquete, descripción, destinatario y dirección del destinatario; y de cada provincia se quiere almacenar su código de provincia y su nombre.
En un instituto se desea almacenar datos de los profesores (DNI, nombre, dirección y teléfono), de los módulos (código y un nombre) y de los alumnos (nº de expediente, nombre, apellidos y fecha de nacimiento).
2.6. C
LAVEPRINCIPALOPRIMARIA Dentro de los atributos en una entidad existirá un atributo o atributos que serán denominados clave.
La clave principal es el identificador que diferencia de forma inconfundible a cada una de las ocurrencias de una entidad.
Tiene un valor único en cada entidad y no puede ser nulo.
Debe ser mínima, es decir, sin atributos superfluos.
La clave puede estar formada por más de un atributo, es decir, que la clave sea compuesta. La combinación de valores de los atributos, por tanto, no podrán repetirse, aunque sí se podrán repetir valores para cada uno de los atributos por separado.
Se representa mediante un círculo, aunque en este caso el nombre del atributo estará subrayado.
Ejemplos: la matrícula de la entidad vehículo, el DNI de una persona, el ISBN de un líbro.
Optativa Informática I.E.S. La Melva 2º Bachillerato Pág. nº 4
Atributos monovaluados y multivaluados PERSONA
usuario edad
nif
teléfono
dirección
coche
Atributos almacenados y derivados PERSONA
edad usuario
fecha nacimiento email
Atributos clave PELÍCULA
año
id película título
ACTOR apellido
nombre dni
PROYECTO número
localización
nombre
2.7. D
OMINIOS Cada atributo puede tener un conjunto de valores posibles.
La descripción de los posibles valores de un atributo es lo que denominamos dominio.
Consiste tanto en una descripción física como semántica.
La descripción física indica el tipo de datos (numéricos, cadenas...), su longitud y otras restricciones, así como condiciones.
La descripción semántica es la función o propósito del atributo, lo que permite diferenciarlo de otros atributos que puedan tener similar o igual representación física.
Ejemplo: el atributo NombredelDepartamento puede definirse como "el conjunto de cadenas con más de siete caracteres que representan los departamentos de la Universidad de Valencia". La frase "el conjunto de cadenas con más de siete caracteres" describiría la parte física, mien - tras que la frase "representan los departamentos de la Univerisdad de Valencia" describiría la parte semántica.
En ocasiones, el dominio del atributo puede ser una lista enumerada, es decir, un conjunto de valores específicos (ejemplo: Azul, Verde, Rojo).
Cuestiones
10. Revisa el ejercicio anterior (entidades02.dia) e indica, para cada una de las entidades, cuál es el atributo o atributos clave. Una vez hecho, subráyalos para indi- car que son claves. Además indica el dominio de todos los atributos.
11. Indica, en cada una de las siguientes entidades, el atributo o atributos clave, así como el porqué de tal decisión:
Festival de cine: año, num_participantes, lugar, precio.
Persona: dni, nombre, apellidos, nacionalidad.
Equipo de fútbol: código, nombre, país, goles marcados, goles encajados.
Libros: título, editorial, año, autor, editorial, ISBN.
Carretera: nombre, tipo, número de tramos, material, ubicación.
Empresas constructoras: CIF, nombre, dirección, teléfono, fax, web.
Carreras: nombre, año, patrocinador, número de pilotos.
2.8. R
ELACIONES Describen la correspondencia o relación entre dos o más entidades, o una entidad consigo misma.
Por ejemplo: dadas las entidades AUTOR y LIBRO puede existir una asociación entre ambas llamada escribe de modo que cada autor escri- be libros y cada libro es escrito por autores.
Se representan mediante un rombo donde se escribe el nombre de la relación.
Se conecta el rombo con cada una de las relaciones implicadas.
Las relaciones siempre están asociadas con acciones, es decir, con ver- bos que representan la asociación entre las entidades integrantes.
Cardinalidad:
Es el número de elementos de una entidad que se conectan con un elemento de la otra entidad de la relación.
Se representa mediante dos números en la parte superior de la relación que indicarán el número máximo de unidades que se relacionan con la otra entidad y viceversa.
Tipos:
De uno a uno (1:1): dadas dos entidades A y B, cada ocurren- cia de la entidad A está relacionada, como máximo, con una de la entidad B y viceversa. Ejemplo: un esposo puede estar casado sólo con una esposa y una esposa puede estar casada sólo con un esposo.
De uno a muchos (1:N): cada ocurrencia de la entidad A está relacionada con ninguna, una o varias de la entidad B y cada entidad B está relacionada, como máximo, con una de la enti- dad A. Por ejemplo, cada alumno está matriculado en un cur- so y en cada curso están matriculados muchos alumnos.
nombre: cadena de 10 caracteres edad: número
fecha: fecha
peso: número con dos decimales ciudad: cadena de 20 caracteres
Entidades y relaciones
AUTOR escribe LIBRO
LIBRO prestado ALUMNO
Entidades y relaciones uno a muchos
ALUMNO matriculado CURSO
N:1
PADRE tiene HIJO
1:N
Entidades y relaciones uno a uno
PROVEEDOR suministra PIEZA
1:1
ESPOSO casado ESPOSA
1:1
De muchos a muchos (N:M): cada ocurrencia de la entidad A está relacionada con ninguna, una o varias de la entidad B y viceversa. Por ejemplo, si cada alumno puede asistir a varias asignaturas y a cada asignatura pueden asistir varios alumnos:
Grado:
Representa el número de entidades que participan en la relación.
Tipos:
Recursiva o reflexiva: Cuando sólo participa una entidad que se relaciona consigo misma. Por ejemplo, si queremos saber las perso- nas que están casadas con otras personas, la relación asociaría dos veces la entidad persona:
Binaria: Cuando el número de entidades participantes es dos.
Por ejemplo, si queremos saber los artículos que compra un cliente.
Ternaria: Cuando el número de entidades participantes es tres. Por ejemplo, si queremos almacenar los datos de un préstamo que un banco ha otorgado a una persona:
Cuestiones
12. Dadas las relaciones siguientes, represéntalas mediante los símbolos correspondientes indicando también sus cardinalidades (SOLUCIÓN-relaciones01.dia):
Cada pieza puede ser suministrada por un proveedor y cada proveedor puede suministrar varias piezas.
Cada libro puede ser prestado a varios lectores y cada lector puede tener prestados varios libros.
Cada academia imparte un curso y cada curso es impartido por una academia.
Cada país tiene varias comunidades y cada comunidad es de un sólo país.
13. Representa las entidades, atributos y relaciones siguientes (SOLUCIÓN-relaciones02.dia):
Biblioteca:
Los socios de la biblioteca disponen de un código de socio, un dni, dirección, teléfono, nombre y apellidos
Los libros disponen de título, editorial, el año en el que se escribió el libro, el nombre completo del autor (o autores), el año en que se editó y el ISBN Los socios pueden sacar varios libros prestados y cada libro puede ser prestado a varios socios
Carreteras:
De la carretera queremos almacenar: el código, el tipo, el número de tramos, el material y la ubicación.
Las empresas constructoras disponen de: CIF, nombre, dirección, teléfono, fax y web.
Las carreteras pueden ser construidas por una empresa y cada empresa puede construir varias carreteras.
Carreras:
De los circuitos queremos almacenar: nombre, localización, tamaño, categoría De las carreras queremos almacenar: nombre, patrocinador, número de pilotos
Las carreras solo se pueden celebrar en un circuito y cada circuito sólo puede albergar una carrera
Optativa Informática I.E.S. La Melva 2º Bachillerato Pág. nº 6
Entidades y relaciones muchos a muchos
CLIENTE compra ARTÍCULO
N:M
ALUMNO cursa ASIGNATURA
N:M
Relaciones recursivas
PERSONA es padre
1:N
PERSONA casada
1:1
PERSONA es amigo
N:M
Relaciones ternarias
BANCO otorga PERSONA
PRESTAMO
Relaciones binarias
PROFESOR es tutor GRUPO
1:1
3. FASES DEL DISEÑO CONCEPTUAL
Identificar entidades
Identificar atributos y dominios
Identificar claves principales
Identificar relaciones y su grado
Representación del modelo entidad-relación
3.1. I
DENTIFICARENTIDADES Partir de las especificaciones de requisitos de usuario.
Buscar los nombres o sustantivos (generalmente sujeto o complemento directo) que se mencionan.
Otra forma de identificarlos es pensar en aquellos que existen por sí mismos (empleado, alumno, libro...).
Al identificar entidades pensaremos en: objetos reales, documentos, personas, actividades u objetos abstractos.
Elegir un nombre adecuado e identificativo con el fin de no tener problemas posteriormente.
3.2. I
DENTIFICARATRIBUTOSYDOMINIOS Buscar nombres que identifiquen propiedades, cualidades, identificadores o características que queramos almacenar de entidades.
Todos ellos representarán información que se quiere almacenar de las entidades.
Tener en cuenta si los atributos son simples o compuestos: si queremos acceder a los diferentes componentes (atributo compuesto) o no (atri - buto simple).
Determinar si los atributos son almacenados o derivados, e identificar partir de qué atributos podemos extraer la información derivada.
Los atributos derivados se ignoran.
Identificar los dominios de los anteriores atributos (el conjunto de valores que pueden tener).
Pensar en los posibles valores que puede contener el atributo (longitudes máximas y/o mínimas y el tipo de datos).
3.3. I
DENTIFICARCLAVESPRINCIPALES Para cada entidad, hay que seleccionar un atributo que identifique unívocamente todas las ocurrencias de esa entidad.
En caso de haber varios, deberemos seleccionar uno de ellos y subrayarlo.
3.4. I
DENTIFICARRELACIONESYSUGRADO Se deben buscar expresiones verbales que indiquen las relaciones existentes entre las entidades.
Si las especificaciones reflejan estas relaciones es porque son importantes para la empresa y se deben reflejar en el esquema conceptual.
Hay que llevar cuidado ya que sólo interesarán las relaciones necesarias.
La mayoría de relaciones son binarias aunque es posible encontrar relaciones en las que participen más de dos o relaciones recursivas.
Además, hay que determinar las cardinalidades con las que participa cada entidad en cada una de las relaciones.
3.5. R
EPRESENTACIÓNDELMODELOENTIDAD-
RELACIÓN Utilizando la simbología vista, representaremos gráficamente todas las entidades, relaciones, atributos y cardinalidades Cuestiones
14. Se quiere diseñar una base de datos para almacenar información sobre una empresa de COMERCIO que vende productos a varios clientes. Realiza el diseño conceptual siguiendo las siguientes especificaciones: (SOLUCIÓN-comercio.dia)
Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección, teléfonos, edad, fecha de nacimiento).
Cada producto tiene un nombre y un código.
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 sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos.
De cada proveedor se desea conocer el NIF, nombre y dirección.
15. Se quiere diseñar una base de datos para almacenar información sobre los asuntos que lleva un GABINETE DE ABOGADOS. Realiza el diseño conceptual siguiendo las siguientes especificaciones (SOLUCIÓN -gabinete_abogados.dia):
Cada asunto tiene un número de expediente que lo identifica, y corresponde a un solo cliente.
Del asunto se debe almacenar su número de expediente, el período (fecha de inicio y fecha de archivo o finalización), su estado (en trámite, archivado, etc.).
También se tienen que almacenar los datos personales del cliente al que pertenece (DNI, nombre, dirección, fecha nacimiento).
Algunos asuntos son llevados por uno o varios procuradores.
De los procuradores nos interesa también los datos personales (DNI, número de colegiado, nombre, apellidos, dirección, número de casos ganados).
16. Se quiere diseñar una base de datos para almacenar información sobre los préstamos de las películas de un VIDEOCLUB. Realiza el diseño conceptual siguiendo las siguientes especificaciones (SOLUCIÓN -videoclub.dia):
Cada socio tiene una ficha con el número, el nombre del socio, su dirección y teléfono, y los nombres de sus directores favoritos.
De las películas interesa saber el título, el género (comedia, terror...), su director, el año y los actores que intervienen.
Un socio puede tomar prestadas varias películas y cada película puede ser prestada a varios socios.
Cada película está guardada en un archivador y cada archivador tiene varias películas.
De los archivadores se desea conocer: el número de serie, la ubicación, el número de estanterías, el total de películas y la fecha de compra.
4. EL DISEÑO LÓGICO.
4.1. E
LM
ODELOR
ELACIONAL Es el modelo más utilizado hoy en día.
Sus bases fueron postuladas por en 1970 por Edgar Frank Codd, de los laboratorios IBM.
Una base de datos consta básicamente de una o más tablas (también llamadas relaciones).
Cada tabla representa un tipo de entidad.
Las tablas almacenan los datos.
Las tablas se estructuran en filas y columnas.
Cada fila se denomina tupla o registro.
Cada registro representa una ocurrencia de la entidad en concreto.
Los registros están compuestos por campos.
Cada columna se denomina campo.
Todos los registros de una tabla tienen la misma estructura (campos).
La intersección de cada registro con cada campo es un dato concreto.
Estas tablas se vinculan o relacionan entre sí por un dato en común de características similares (tipo y longitud) llamado ID, identificador o clave (key).
La clave en la tabla principal se denomina clave principal (Primary Key PK) y se incluye en la tabla relacionada como clave ajena o foránea (Foreign Key FK).
4.2. P
ASODELMODELOE-R
ALMODELOR
ELACIONAL Transformación de entidades y atributos
Cada entidad del modelo entidad-relación generará una tabla.
Una vez tenemos claras las tablas deberemos pasar a distinguir las columnas de las que se compondrán las tablas.
Cada atributo simple se convertirá en una columna o campo.
Uno de los atributos, concretamente la clave principal, se convertirá en clave principal de la tabla.
Cada atributo multivaluado se convertirá en otra tabla cuya clave principal será la unión de la clave primaria de la otra tabla y el atri- buto. Se establecerá una relación 1:N entre la entidad y la tabla generada por su atributo multivaluado.
Cada atributo compuesto se convertirá en tantas columnas como atributos lo compongan.
Convertir los dominios del modelo entidad-relación a los tipos de datos del sistema gestor de base de datos.
Transformación de relaciones
La transformación de relaciones tiene especial relevancia debido a que va unida a las cardinalidades de éstas.
Relaciones 1:1: En este caso se seleccionará una de las entidades y se le añadirá, como clave ajena, la clave primaria de la otra entidad, añadiendo una restricción a la clave foránea para que sea única.
Relaciones 1:N:La solución pasará por añadir, a la entidad que se encuentra al lado del N del vínculo, la clave primaria de la otra entidad como una clave ajena.
Relaciones N:M:, Este caso se resuelve mediante la creación de una tabla intermedia cuyas columnas serán las claves primarias de am- bas entidades y cuya clave primaria serán los atributos que sean claves primarias de ambas tablas.
Optativa Informática I.E.S. La Melva 2º Bachillerato Pág. nº 8
BD:INSTITUTO ALUMNOS
PROFESORES ASIGNATURAS GRUPOS
CURSOS
Titulo: Cosmos Autor: Carl Sagan Materia: Astronomía Editorial: Planeta Año de publicación: 1982
Titulo Autor Materia Editorial Año El hobbit J.R.R. Tolkien Fantasia Planeta 1937 Cosmos Carl Sagan Astronomía Planeta 1982 Fundación Isaac Asimov Ciencia ficción Debolsillo 1951 Decamerón Giovanni Boccaccio Cuentos Castalia 1353
TABLA: LIBROS
CAMPO REGISTRO
Estructura de la tabla
dato
ALUMNOS CURSOS
Cuestiones