TEMA
1 BASES DE DATOS: ANÁLISIS Y DISEÑO
PEDRO J. J. MOLL MONREAL
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
ÍNDICE 1.INTRODUCCIÓN A BASES DE DATOS
1
1.1.Evolución del almacenamiento de la información..............................................................................................................................1 1.2.Sistema gestor de base de datos (SGBD).........................................................................................................................................1 1.3.SQ....................................................................................................................................................................................................2 1.!."ases del dise#o d e bases de datos.................................................................................................................................................2 1.$.%odelos de datos...............................................................................................................................................................................2
2.MODELO CONCEPTUAL: ENTIDAD-RELACIÓN
3
2.1.Entidades............................................................................................................................................................................................3 2.2.&tributos.............................................................................................................................................................................................3 2.3.&tendiendo a la com'osición.............................................................................................................................................................3 2.!.&tendiendo a los valores....................................................................................................................................................................! 2.$.&tendiendo al origen.......................................................................................................................................................................... ! 2..lave 'rinci'al o 'rimaria...................................................................................................................................................................! 2.*.Dominios.............................................................................................................................................................................................$ 2.+.,elaciones..........................................................................................................................................................................................$
3.FASES DEL DISEÑO CONCEPTUAL
7
3.1.-dentificar entidades...........................................................................................................................................................................* 3.2.-dentificar atributos dominios...........................................................................................................................................................* 3.3.-dentificar claves 'rinci'ales..............................................................................................................................................................* 3.!.-dentificar relaciones su grado........................................................................................................................................................ * 3.$.,e'resentación del modelo entidad/relación.....................................................................................................................................*
4.EL DISEÑO LÓGICO.
!.1.El %odelo ,elacional..........................................................................................................................................................................+ !.2.0aso del modelo E/, al modelo ,elacional.......................................................................................................................................+
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. I
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
1. INTRODUCCIÓN A BASES DE DATOS DEL ALMACENAMIENTO DE LA INFORMACIÓN 1.1. EVOLUCIÓN Todas las organizaciones necesitan almacenar información. Antes de la aparición de la informática la información se almacenaba en archivos físicos usando...
Listas en papel. Tarjetas o fichas de cartulina. Carpetas. Ficheros. Archivadores con cajones. Esto tiene una serie de inconvenientes
!e"uieren mucho espacio f#sico. $uscar% copiar o modificar la información es un proceso manual% lento & laborioso. 'o realizan cálculos ni análisis sobre los datos. (e 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...
(e necesitan aplicaciones manipular & mecanizar el proceso de la información. Cada programa almacena & utiliza sus propios de forma independiente e incone*a. Esto tiene una serie de inconvenientes
+nformación repetida ,redundancia-. a&or tama/o de almacenamiento. 0atos repetidos "ue no concuerdan entre s# ,inconsistencia-. 0ispersión de datos por departamentos. 0if#cil modificación & actualización.
La solución consiste en hacer "ue todas las aplicaciones utilicen los mismos datos por lo "ue aparecieron las bases de datos "ue son un permiten almacenar grandes cantida1 des de datos relacionados & organizados de forma sistemática% & garantiza su gestión ,con1 sultar% a/adir% eliminar% modificar% realizar cálculos...-. Entre los diferentes tipos de bases de datos% las relacionales son las más e*tendidas ho& en d#a. En el modelo relacional% la base de datos está formada por un conjunto de una o más tablas "ue se vinculan entre s# se relacionan. Las bases de datos tienen una serie de ventajas
!edundancia m#nima evitan la aparición de información repetida. +ndependencia al modificar el es"uema de una $0 sin afectar a las aplicaciones "ue la usan. Consistencia al actualizar la información repetida. +ntegridad de los datos garantizando su validez. (eguridad frente a usuarios malintencionados. !espaldo2recuperación mediante copias de seguridad. Eficiencia en el acceso a los datos. enor espacio de almacenamiento.
GESTOR DE BASE DE DATOS (SGBD) 1.2. SISTEMA
USUARIO
3n SGDB es un soft4are "ue gestiona los datos almacenados en una $0 & permite...
0escribir los datos% sus relaciones & sus condiciones de acceso e integridad. anipular los datos buscar% a/adir% suprimir & modificar datos de la base de datos. Controlar la comunicación con la $.0. !ealizar copias de seguridad & recuperación ante desastres. Administrar los usuarios & sus permisos. E*isten varios tipos de (50$ dependiendo de tu complejidad
SGBD
6ara pe"ue/as empresas ( Access Libre7ffice $ase 7pen7ffice $ase !edes corporativas o +nternet &(8L 7racle 6ostgre(8L (8L (erver
Optativa Informátia I.E.S. La M!"va
BD
#$ Ba%i""!rato
Pá&. n$ '
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
1.3. SQL (8L es un lenguaje estándar para la gestión de $0 relacionales "ue se caracteriza por
3sado por la ma&or#a de (5$0. 6ermiten gestionar la $0 Tablas !elaciones 0atos 3suarios...
DISEÑO DE BASES DE DATOS 1.4. F ASES DEL
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. 6ara ello es necesario definir las estructuras de los datos "ue ha de contener. 'o es un proceso sencillo por la complejidad de la información & la cantidad de re"uisitos de los sistemas de información. Es un proceso en etapas o fases en el "ue los resultados de una pasan como entradas a las siguientes. Análisis de reuerimientos Consiste en analizar un problema real de la realidad para tener claro los flujos de información. 7bservar los elementos "ue participan en la realidad. Entrevistas & cuestionarios para averiguar los datos "ue ha& "ue almacenar. !evisar los documentos "ue se utilizan. Diseño conceptual 7btiene el modelo conceptual estructura de la información de la futura base de datos. Es independiente de la tecnolog#a "ue se utilizará posteriormente ,tipo de $0 & (50$-. Diseño l!gico 6artiendo del modelo conceptual obtiene un modelo l!gico. !epresenta los datos en un formato más cercano al del ordenador. 7rientado al modelo de base de datos elegido ,jerár"uico% 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. $usca conseguir una ma&or eficiencia & rendimiento. 0escribe la forma en la "ue los datos serán representados. 0efine el tipo de datos & su representación adaptados &a al (5$0 a utilizar. "mplementaci!n Crea la $0 utilizando el (5$0 seleccionado seg9n el modelo f#sico obtenido.
REALIDAD
DISEÑO CONCEPTUAL DISEÑO LÓGICO DISEÑO FÍSICO IMPLEMENTACIÓN
1.5. MODELOS DE DATOS 0e cada una de las etapas del dise/o de una $0 se obtendrá un elemento al "ue llamamos modelo & cu&o tipo variará dependiendo del ni1 vel en el "ue nos encontramos. Los modelos% utilizados en todo tipo de ciencias% pretenden de simbolizar una parte del mundo real de forma "ue sea más fácilmente manipulable. En definitiva% un modelo es un es"uema mental en el "ue se intentan reproducir las caracter#sticas de una reali 1 dad espec#fica & "ue nos a&uda a capturar todas las necesidades de información a almacenar.
#odelo conceptual En la etapa de dise/o conceptual se obtendrá un modelo conceptual o de alto nivel "ue facilitará la descripción global del sistema al nivel más pró*imo al usuario mediante la utilización de conceptos del mundo real. 3saremos el modelo Entidad2!elación. #odelo 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 nues1 tro caso vamos a utilizar el modelo lógico relacional. #odelo 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 & 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 redundancia, consistencia e integridad de los datos. 3. !u" modelo conceptual vamos a utili#ar en el curso$ % qu" modelo l&gico$ '. (ompleta el siguiente esquema.
Idea
Esquema _________ __________ _________
o l e d o M
_ _ _ _ _ _ _ _ _
Entdad Rela!"n Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
_ _ _ _ _ _ _ _
_________ _________
_ _ _ d e D n _ B _ p e S G _ e l _ D e _ d
Rela!onal
_ _ _ _ _ _ _ _
#D
_ _ _ _ _ _ _ _
SG#D
Pá&. n$ #
PEDRO J. MOLL MONREAL 2.
B ASES DE DATOS: ANÁLISIS Y DISEÑO
MODELO CONCEPTUAL: ENTIDAD-RELACIÓN 0esarrollado inicialmente por 6eter Chen en :;<=% aun"ue ha& variantes. 6ermite crear el es"uema conceptual de una $0 a partir de la idea surgida del análisis de la realidad. Aplicable a cual"uier tipo de $0 ,jerár"uica% relacional% red-. u& utilizado actualmente por su simplicidad & legibilidad. 3tiliza diagramas para su representación. Fácil de aprender por los dise/adores & de comprender por los usuarios. El modelo recibe su nombre debido a los elementos "ue lo componen% "ue principalmente son entidades% relaciones & atributos.
2.1. ENTIDADES
(on objetos ,reales o abstractos- del mundo real de los "ue "uere1 mos almacenar información sobre sus propiedades.
(e representan por un rectángulo "ue contiene el nombre de la enti 1 dad en ma&9sculas.
$ipos !egular > Entidad independiente 0)bil > Entidad totalmente dependiente de otra ,rectángulo doble-.
Ejemplos de entidades son proveedor% art#culo% pedido% empleado% producto% asignatura% alumno...
PROVEEDOR
ARTÍCULO
VENDEDOR
PEDIDO
LÍNEA PEDIDO
ALUMNO
PROFESOR
ASIGNATURA Entidades
2.2. ATRIBUTOS
Almacenan las propiedades básicas de las entidades.
(e representan mediante c#rculos o elipses% dentro de los "ue aparece su nombre en min9sculas.
(e relacionarán mediante l#neas con las entidades.
CLIENTE
no#bre
direi&n
te$%"onos
ni"
Ejemplos de atributos son nombre del art#culo% cantidad de art#culos% apellidos del usuario% 0'+ del usuario... $ipos atendiendo a diferentes factores Composición simples & compuestos ?alores monovaluados & multivaluados 7rigen almacenados & derivados
od!ro PROVEEDOR Entidad y atributos
Cuestiones
). Imagina que te piden obtener las entidades que encontrar*as en tu Instituto +como por ejemplo proesores cules ms podr*as determinar$ /na ve# alladas las entidades cules ser*an sus posibles atributos$ . eali#a la representaci&n de las entidades +rectngulos sus atributos +c*rculos del ejercicio anterior. 4. (lasiica los siguientes elementos en atributos o entidades +a# una tabla5 Pedido, calle, ciudad, brica, eca, saldo, art*culo, tel"ono, producto, cliente, des cuento, evento, duraci&n, participantes.
2.3. ATENDIENDO A LA COMPOSICIÓN
Atributos simples Tienen un solo componente & no se pueden divi1 dir en partes más pe"ue/as con significado pro1 pio. (e representan mediante c#rculos o elipses. Ejemplos usuario% contrase/a% fecha de naci1 miento% '+F% email% sueldo% población. Atributos compuestos Están formados por varios componentes & "ue tienen afinidad en cuanto a su significado. (e representan tambi)n con c#rculos o elipses unidos a cada uno de los atributos de los "ue se compone. Ejemplos nombre ,nombre% apellido:% apelli1 do@-% dirección ,calle% n9mero% piso% puerta-
Optativa Informátia I.E.S. La M!"va
a$$e
a!e$$ido' no#bre no#bre o#!$eto
n)#ero
a!e$$ido(
!uerta ni" direi&n
e#ai$ PERSONA
#$ Ba%i""!rato
!iso
usuario Atributos si#!$es y o#!uestos
Pá&. n$ (
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
2.4. ATENDIENDO A LOS VALORES
Atributos monovaluados Tienen un solo valor por cada ocurrencia de la entidad a la "ue pertenece. (e representan mediante un c#rculo o elipse. Ejemplos usuario% edad% dni% apellidos Atributos multivaluados 6ueden tener varios valores por cada ocurrencia de la entidad. (e representan con dos c#rculos o elipses% uno dentro de otro. Ejemplos tel)fonos% direcciones% coches
edad
usuario
direi&n
ni"
te$%"ono o+e
e#ai$
Atributos #ono*a$uados y #u$ti*a$uados
PERSONA
2.5. ATENDIENDO AL ORIGEN
Atributos almacenados (on a"uellos cu&os datos se almacenan directamente en la base de datos sin ne 1 cesidad de realizar ning9n trámite intermedio. (e representan por un c#rculo o elipse. Ejemplos nombre% dni% apellidos. Atributos derivados (on a"uellos "ue son obtenidos a partir del valor de uno o varios atributos e*is1 tentes en la misma o en otras entidades. (e representan mediante c#rculos de trazo discontinuo. Ejemplos edad ,a partir de la fecha de nacimiento-% beneficio ,a partir del coste & precio de venta-.
"e+a nai#iento
e#ai$ usuario
edad
PERSONA
Atributos a$#aenados y deri*ados
Cuestiones
6. epresenta las siguientes entidades con sus atributos +ten en cuenta los dierentes tipos de atributos su representaci&n +789/(I:;-entidades01.dia5 (liente5 id, nombre completo +nombre, apellido 1 apellido 2, domicilio +calle, portal, piso, puerta, tel"onos (uenta5 banco, sucursal, n. epresenta las siguientes entidades con sus atributos correspondientes +ten en cuenta los dierentes tipos de atributos su representaci&n + 789/(I:; -entidades02.dia5 /na empresa vende productos a varios clientes se necesita conocer los datos personales de los clientes +nombre, apellidos, dni, direcci&n, eca de naci miento, edad, tel"onos. ?dems, cada producto tiene un nombre un c&digo, as* como un precio unitario@ de cada proveedor se desea conocer el ;IA, nombre direcci&n. En una empresa de transportes se desea saber de los camioneros, el dni, nombre, tel"ono, direcci&n, salario, poblaci&n c&digo postal en la que vive. ?de ms de los paquetes transportados interesa conocer el c&digo de paquete, descripci&n, destinatario direcci&n del destinatario@ de cada provincia se quiere almacenar su c&digo de provincia su nombre. En un instituto se desea almacenar datos de los proesores +B;I, nombre, direcci&n tel"ono, de los m&dulos +c&digo un nombre de los alumnos +nC de expediente, nombre, apellidos eca de nacimiento.
2.6. CLAVE PRINCIPAL O PRIMARIA
0entro de los atributos en una entidad e*istirá un atributo o atributos "ue serán denominados clave. La clave principal es el identificador "ue diferencia de forma inconfundible a cada una de las ocurrencias de una entidad. Tiene un valor 9nico en cada entidad & no puede ser nulo. 0ebe ser m#nima% es decir% sin atributos superfluos. La clave puede estar formada por más de un atributo% es decir% "ue la clave sea compuesta. La combinación de valores de los atributos% por tanto% no podrán repetirse% aun"ue s# se podrán repetir valores para cada uno de los atributos por separado. (e representa mediante un c#rculo% aun"ue en este caso el nombre del atributo estará subra&ado. Ejemplos la matr#cula de la entidad veh#culo% el 0'+ de una persona% el +($' de un l#bro.
id !e$-u$a
t-tu$o
a!e$$ido
a,o
n)#ero no#bre
PELÍCULA
Optativa Informátia I.E.S. La M!"va
$oa$i/ai&n
no#bre dni
ACTOR
#$ Ba%i""!rato
PRO.ECTO
Atributos $a*e
Pá&. n$ )
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
2.. DOMINIOS
Cada atributo puede tener un conjunto de valores posibles. nombre5 cadena de 10 caracteres La descripción de los posibles valores de un atributo es lo "ue denominamos dominio. edad5 n
10. evisa el ejercicio anterior +entidades02.dia e indica, para cada una de las entidades, cul es el atributo o atributos clave. /na ve# eco, subralos para indicar que son claves. ?dems 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&n5 Aestival de cine5 aDo, numparticipantes, lugar, precio. Persona5 dni, nombre, apellidos, nacionalidad. Equipo de
2.!. RELACIONES
0escriben la correspondencia o relación entre dos o más entidades% o una entidad consigo misma. AUTOR esribe LI0RO 6or ejemplo dadas las entidades A3T7! & L+$!7 puede e*istir una asociación entre ambas llamada escribe de modo "ue cada autor escri1 be libros & cada libro es escrito por autores. (e representan mediante un rombo donde se escribe el nombre de la LI0RO !restado ALUMNO relación. (e conecta el rombo con cada una de las relaciones implicadas. Entidades y re$aiones Las relaciones siempre están asociadas con acciones% es decir% con ver1 bos "ue representan la asociación entre las entidades integrantes. %ardinalidad Es el n9mero de elementos de una entidad "ue se conectan con un elemento de la otra entidad de la relación. (e representa mediante dos n9meros en la parte superior de la relación "ue indicarán el n9mero má*imo de unidades "ue se relacionan con la otra entidad & viceversa. $ipos %$% De uno a uno &'(') dadas dos entidades A & $% cada ocurren1 cia de la entidad A está relacionada% como má*imo% con una PROVEEDOR su#inistra PIE3A de la entidad $ & viceversa. Ejemplo un esposo puede estar casado sólo con una esposa & una esposa puede estar casada sólo con un esposo.
%
%$ESPOSO
asado
ESPOSA
Entidades y re$aiones uno a uno De uno a muchos &'(*) cada ocurrencia de la entidad A está
relacionada con ninguna% una o varias de la entidad $ & cada entidad $ está relacionada% como má*imo% con una de la enti1 dad A. 6or ejemplo% cada alumno está matriculado en un cur1 so & en cada curso están matriculados muchos alumnos.
N$% ALUMNO
#atriu$ado
CURSO
%$N PADRE
tiene
1I2O
Entidades y re$aiones uno a #u+os
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. n$ *
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
De muchos a muchos &*(#) cada ocurrencia de la entidad
A está relacionada con ninguna% una o varias de la entidad $ & viceversa. 6or ejemplo% si cada alumno puede asistir a varias asignaturas & a cada asignatura pueden asistir varios alumnos
N$M CLIENTE
o#!ra
ARTÍCULO
N$M ALUMNO
ursa
ASIGNATURA
Entidades y re$aiones #u+os a #u+os
Grado !epresenta el n9mero de entidades "ue participan en la relación. $ipos +ecursiva o refle*iva Cuando sólo participa una entidad "ue se relaciona consigo misma. 6or ejemplo% si "ueremos saber las perso 1 nas "ue están casadas con otras personas% la relación asociar#a dos veces la entidad persona
%$% PERSONA
asada
%$N PERSONA
es !adre
N$M PERSONA
es a#i4o Re$aiones reursi*as
Binaria Cuando el n9mero de entidades participantes es dos.
6or ejemplo% si "ueremos saber los art#culos "ue compra un cliente.
%$% PROFESOR
es tutor
GRUPO Re$aiones binarias
$ernaria Cuando el n9mero de entidades participantes es
tres. 6or ejemplo% si "ueremos almacenar los datos de un pr)stamo "ue un banco ha otorgado a una persona
0ANCO
otor4a
PERSONA
PRESTAMO Re$aiones ternarias Cuestiones
12. Badas las relaciones siguientes, repres"ntalas mediante los s*mbolos correspondientes indicando tambi"n sus cardinalidades + 789/(I:;-relaciones01.dia5 (ada pie#a puede ser suministrada por un proveedor cada proveedor puede suministrar varias pie#as. (ada libro puede ser prestado a varios lectores cada lector puede tener prestados varios libros. (ada academia imparte un curso cada curso es impartido por una academia. (ada pa*s tiene varias comunidades cada comunidad es de un s&lo pa*s. 13. epresenta las entidades, atributos relaciones siguientes +789/(I:;-relaciones02.dia5 Biblioteca5 9os socios de la biblioteca disponen de un c&digo de socio, un dni, direcci&n, tel"ono, nombre apellidos 9os libros disponen de t*tulo, editorial, el aDo en el que se escribi& el libro, el nombre completo del autor +o autores, el aDo en que se edit& el I7F; 9os socios pueden sacar varios libros prestados cada libro puede ser prestado a varios socios Carreteras 5 Be la carretera queremos almacenar5 el c&digo, el tipo, el n
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. n$ +
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
3. FASES DEL DISEÑO CONCEPTUAL
+dentificar entidades +dentificar atributos & dominios +dentificar claves principales +dentificar relaciones & su grado !epresentación del modelo entidad1relación
3.1. IDENTIFICAR ENTIDADES
6artir de las especificaciones de re"uisitos de usuario. $uscar los nombres o sustantivos ,generalmente sujeto o complemento directo- "ue se mencionan. 7tra forma de identificarlos es pensar en a"uellos "ue e*isten 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.
ATRIBUTOS " DOMINIOS 3.2. IDENTIFICAR
$uscar nombres "ue identifi"uen propiedades% cualidades% identificadores o caracter#sticas "ue "ueramos almacenar de entidades. Todos ellos representarán información "ue se "uiere almacenar de las entidades. Tener en cuenta si los atributos son simples o compuestos si "ueremos acceder a los diferentes componentes ,atributo compuesto- o no ,atri 1 buto simple-. 0eterminar si los atributos son almacenados o derivados% e identificar partir de "u) atributos podemos e*traer la información derivada. Los atributos derivados se ignoran. +dentificar los dominios de los anteriores atributos ,el conjunto de valores "ue pueden tener-. 6ensar en los posibles valores "ue puede contener el atributo ,longitudes má*imas &2o m#nimas & el tipo de datos-.
PRINCIPALES 3.3. IDENTIFICAR CLAVES
6ara cada entidad% ha& "ue seleccionar un atributo "ue identifi"ue un#vocamente todas las ocurrencias de esa entidad. En caso de haber varios% deberemos seleccionar uno de ellos & subra&arlo.
3.4. IDENTIFICAR RELACIONES " SU GRADO
(e deben buscar e*presiones verbales "ue indi"uen las relaciones e*istentes entre las entidades. (i las especificaciones reflejan estas relaciones es por"ue son importantes para la empresa & se deben reflejar en el es"uema conceptual. Ba& "ue llevar cuidado &a "ue sólo interesarán las relaciones necesarias. La ma&or#a de relaciones son binarias aun"ue es posible encontrar relaciones en las "ue participen más de dos o relaciones recursivas. Además% ha& "ue determinar las cardinalidades con las "ue participa cada entidad en cada una de las relaciones.
DEL MODELO ENTIDAD#RELACIÓN 3.5. REPRESENTACIÓN
3tilizando la simbolog#a vista% representaremos gráficamente todas las entidades% relaciones% atributos & cardinalidades Cuestiones
1'. 7e quiere diseDar una base de datos para almacenar inormaci&n sobre una empresa de (8HE(I8 que vende productos a varios clientes. eali#a el diseDo conceptual siguiendo las siguientes especiicaciones5 + 789/(I:;-comercio.dia 7e necesita conocer los datos personales de los clientes +nombre, apellidos, dni, direcci&n, tel"onos, edad, eca de nacimiento. (ada producto tiene un nombre un c&digo. /n cliente puede comprar varios productos a la empresa, un mismo producto puede ser comprado por varios clientes. 9os productos son suministrados por dierentes proveedores. 7e debe tener en cuenta que un producto s&lo puede ser suministrado por un proveedor, que un proveedor puede suministrar dierentes productos. Be cada proveedor se desea conocer el ;IA, nombre direcci&n. 1). 7e quiere diseDar una base de datos para almacenar inormaci&n sobre los asuntos que lleva un ?FI;EJE BE ?F8?B87. eali#a el diseDo conceptual siguiendo las siguientes especiicaciones +789/(I:; -gabineteabogados.dia5 (ada asunto tiene un n
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. n$ ,
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
4. EL DISEÑO LÓGICO.
4.1. EL M ODELO R ELACIONAL
Es el modelo más utilizado ho& en d#a.
(us bases fueron postuladas por en :;< por Edgar FranD Codd% de los laboratorios +$.
3na 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 & columnas.
Cada fila se denomina tupla o registro .
PRO/ESORES ASI0NATRAS 0RPOS
ALMNOS
Cada registro representa una ocurrencia de la entidad en concreto.
Los registros están compuestos por campos.
Cada columna se denomina campo.
1RSOS BD:INSTITUTO
E2tr3t3ra 4! "a ta5"a RE0ISTRO Titulo: Cosmos
TABLA: LIBROS $itulo Autor #ateria ditorial Año El hobbit .!.!. TolDien Fantasia 6laneta :;G< %osmos %arl Sagan Astronomía laneta '/01 Fundación +saac Asimov Ciencia ficción0ebolsillo:;H: 0eca merón 5 iovanni $occa cci o Cuent os Casta lia :GHG
Autor: Carl Sagan Materia: Astronomía Editorial: Planeta Año de publicación: 198
4ato
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 com9n de caracter#sticas similares ,tipo & longitud- llamado +0% identificador o clave ,De&-.
1AMPO
ALMNOS
1RSOS
La clave en la tabla principal se denomina clave principal ,6rimar& e& 6- & se inclu&e en la tabla relacionada como clave ajena o foránea ,Foreign e& F-.
4.2. P ASO DEL MODELO E#R AL MODELO R ELACIONAL
$ransformaci!n de entidades , atributos Cada entidad del modelo entidad1relación generará una tabla. 3na vez tenemos claras las tablas deberemos pasar a distinguir las columnas de las "ue se compondrán las tablas. Cada atributo simple se convertirá en una columna o campo. 3no de los atributos% concretamente la clave principal% se convertirá en clave principal de la tabla . Cada atributo multivaluado se convertirá en otra tabla cu&a clave principal será la unión de la clave primaria de la otra tabla & el atri1 buto. (e establecerá una relación :' entre la entidad & la tabla generada por su atributo multivaluado. Cada atributo compuesto se convertirá en tantas columnas como atributos lo compongan. Convertir los dominios del modelo entidad1relación a los tipos de datos del sistema gestor de base de datos. $ransformaci!n de relaciones La transformación de relaciones tiene especial relevancia debido a "ue va unida a las cardinalidades de )stas. +elaciones '(' En este caso se seleccionará una de las entidades & 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 "ue sea 9nica. +elaciones '(*La solución pasará por a/adir% a la entidad "ue se encuentra al lado del ' del v#nculo% la clave primaria de la otra entidad como una clave ajena. +elaciones *(#% Este caso se resuelve mediante la creación de una tabla intermedia cu&as columnas serán las claves primarias de am1 bas entidades & cu&a clave primaria serán los atributos "ue sean claves primarias de ambas tablas.
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. n$ -
PEDRO J. MOLL MONREAL
B ASES DE DATOS: ANÁLISIS Y DISEÑO
Cuestiones
14. Badas las siguientes entidades trans&rmalas en tablas +789/(I:;-01tablasrelacional.dia.
16. Bados los siguientes esquemas entidad-relaci&n trans&rmalos al modelo relacional + 789/(I:;-02tablasrelacional.dia.
1>. ?bre el esquema entidad-relaci&n del ejercicio gabineteabogados.dia aDade el modelo relacional +789/(I:;- gabineteabogadosrelacional.dia. 20. ?bre el esquema entidad-relaci&n del ejercicio videoclub.dia aDade el modelo relacional +789/(I:;- videoclubrelacional.dia. 21. 8bt"n el modelo relacional del siguiente diagrama teniendo en cuenta los dominios de los atributos + 789/(I:;- diseDorelacional.dia.
22. 8bt"n el modelo relacional del siguiente diagrama teniendo en cuenta los dominios de los atributos + 789/(I:;- componentesrelacional.dia.
Optativa Informátia I.E.S. La M!"va
#$ Ba%i""!rato
Pá&. n$ 6