Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPETENCIA:
ING. DANIEL
iNDICE DE CONTENIDO
J. DIAZ
ARENAS
1.
2.
3. 4. 5. 6.
lntroduccion a. Presentacion y contextualizacion b. Competencia (Iogro) c. Capacidades d. Actitudes e. Ideas basicas y contenido Desarrollo de los temas a. Tema 01: Introducci6n a las base de datos b. Tema 02: Modelos e ingenieria de requisitos c. Tema 03:Modelo Entidad Relaci6n d. Tema 04: Caso comercial y Alquiler de peliculas Lecturas recomendadas Actividades y ejercicios Autoevaluaclon Resumen lntroduccion a. Presentaci6n y cohtextualizacion b. Comp~tencJa(Iogro) J c. capacldades _... d. Actitudes e. Ideas i?asicas~ contenido Desarrollo de los temas a. Tema 01: Es~ecializaci6n y Generalizaci6n b. Terna02: Modelo Relacional c. Tema 03: Mapeode tablas d. ....Tema Caso Video elubs 04: Lecturas recomendadas
1.
2.
3. 4. 5. 6.
Unidad
1.
Presentaci6n y contextualizaci6n Competencia (Iogro) c. Capacidades d. Actitudes e. Ideas basicas y contenido Desarrollo de los temas a. Tema 01: Normalizaci6ro b. Tema 02: Nmmalizaci6n aplicaciones c. Tema 03: Uso de herramientas CASE d. Tema 04: Modelo Fisico Lecturas reeomendadas Actividades y ejercicios Autoevaluaclon Resumen
2.
3. 4. 5. 6.
Unidad de Aprendizaje 4: 1. lntroduccion _.I a. Presentaci6n y contextualizacl6n b. Competencia (Iogro) c. Capacidades d. Actitudes e. Ideas basicas y contenido 2. Desarrollo de los temas a. Tema 01: Construcci6n de bases de datos utilizando b. Tema 02: Uso de sentencias SQL para obtener resuuauos c. Tema 03: Uso de joins para recuperar informaci6n de d. Tema 04: Sentencias SQL avanzadas 3. Lecturas recomendadas 4. Actividades y ejercicios 5. Autoevaluaclon 6. Resumen
04-48 05 05 05 05 05 06 - 45 05 12 21 34 45 45 47 48 49-84 50 50 50 50 50 50 52 -66 52 57 66 79 74 74 82 84 85-128 86 86 86 86 86 86 87-108 88 93 101 108 123 123 127 127 63
MODELAMIENTO
DE DATOS
ING. DANIEL
PREFACIO
J. DIAZ
ARENAS
La asignatura Modelamiento de Datos es de naturaleza te6rico practice y pertenece al area de formaci6n profesional. EI modelado (tarnbien lIamando modelamiento) de datos permite realizar abstracciones del mundo, permitiendo centrarse en los aspectos macros, sin preocuparse de las particularidades. La elaboraci6n de un modelo conceptual permite representar la realidad en terminos entendibles al usuario final. Este modelo conceptual se mapea para construir un modelo 16gico que representa las tablas con sus tipos de dato, finalmente un modelo fisico, que constituye el diserio de las estructuras de datos que alrnacenaran las operaciones de la organizaci6n utilizando un gestor de base de datos relacional. Comprende cuatro unidades de aprendizaje: I. Generalidades del diseno de base de datos relacionales y modelo entidad relaci6n II Modelo relacional. III. Normalizaci6n, uso de herramientas CASE y modelo fisico. IV. Modelo fisico y lenguaje estructurado de consultas.
UNIDAD APRENDIZAJE
Especializaci6n y Generalizaci6n Modelo 16gico
2 : MODELO RELACIONAL
Mapeo de tablas Caso video Clubs
AI finalizar esta asignatura usted sera capaz perspectivas para el modelado de datos: Dise diseno fisico".
MODELAMIENTO
DE DATOS
UNIDADDE APRENDIZAJE
ING. DANIEL
1. INTRODUCCION: a) Presentacion y contextualizacion
J. DIAZ
ARENAS
En esta unidad aprendera los conceptos principales sobre las bases de datos relacionales, archivos de datos, y la diferencia que existe entre ellos. Entendera la importancia de los sistemas de informaci6n, asi como su relaci6n con el modelamiento de datos. EI cicio de vida de los sistemas de informaci6n con sus correspondientes etapas.
Para terminar la unidad usted aprendera el modelo conceptual mas popular, me refiero al modelo entidad
........
relaci6n,
diseriara
model os conceptuales,
utilizando los elementos del mo~elo!entidad relaci6n como base. Le invito a tomar
siguiendo detalladamente
los valiosos
conocimientos
que
esta unidad,
la metodologia planteada.
b)
I""""'
c) Capacidades
1. Comprender los conceptos fundamentales 2. de base de datos.
Distinguir los distintos tipos de model os para diseriar una base de datos y la forma de ~pturar los requisitos del cliente
d) Actitudes
./ Lee con dedicaci6n todo 10 concerniente a base de datos relacionales y modelo entid ./ Realiza preguntas sobre cualquier duda unidad ./ Practica los casos sobre modelo entid texto y las asignaciones de clase
MODELAMIENTO
DE DATOS
ING. DANIEL
./ Comparte sus conocimientos adquiridos
J. DIAZ ARENAS
y desarrollando
investigando
casos sobre el modelo entidad relaci6n, con sus comparieros de clase que
relacional y modelo entidad relaci6n comprende el desarrollo de los siguientes temas: Introducci6n a las bases de datos, Modelos e ingenieria de requisitos, Modelo entidad relaci6n y Caso comercial y alquiler de pelfculas.
Z ?
MODELAMIENTO
DE DATOS
TEMA
COMPETENCIA:
ING. DANIEL
DESARROLLO DE LOS TEMAS
J. DIAZ
ARENAS
Base de datos "Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a multiples y diferentes aplicaciones. La base de datos es una fuente significativa de datos que son compartidos por numerosos usuarios para diversas aplicaciones" Kendall y Kendall
Otros conceptos
de base de datos
"Una base de datos tiene una fuente de la cual se derivan los datos, grado de interacci6n con los acontecimientos del mundo real y esta activamente interesado en el contenido de la base de
Analizando
los
conceptos
antes
de ",,..rllt,,,,,
relacionados" y ~que son los datos? Elementos conocidos como por ejemplo telef6nico, el dni, el ruc de la empresa entre pueden dividirse mas. Ejemplos de datos: Manuel
16791125
25
MODELAMIENTO
DE DATOS
ING. DANIEL
Archivos de datos
J. DIAZ
ARENAS
Inicialmente los datos se almacenaban en archivos como por ejemplo txt, doc, etcetera, durante muchos anos los programas inforrnaticos utilizaron archivos para registrar los datos, pero el gran problema era la redundancia. Kendall y Kendall dice: "Consiste en a/macenar los datos en archivos individua/es, exclusivos para casa aplicaci6n particular. En este sistema los datos pueden ser redundantes (repetidos innecesariamente) y la actualizaci6n de los archivos es mas lenta Que en una base de datos"
Ejemplo de archivo tradicional: Se cuenta con dos archivos alumno y matricula en el primero se encuen datos de los alumnos mientras que en el segundo se encuentra la matricula de los alumnos Archivo: Alumno Nombre Pedro Marengo Carolina Diaz direccion Av. Loa amarantos 208 Urb. La primavera 425 Telefono 890994409 2700869
Archivo: matricula
m
20100081 20100082 20110001 2012000
La redundancia radica en la repeticion de los nom problema aparece en los errores de diqitacion, matricula el nombre del alumno Pedro ocasionara problemas posteriores
PLEASE
MODELAMIENTO
DE DATOS
ING. DANIEL
Gestor de base de datos relacional (GBDR) Programa de computadora que permite
J. DIAZ ARENAS
crear y administrar una base de datos; en el mercado nacional encontramos a los de mayor uso al mysql, sqlserver y oracol
Sistemas de informaci6n "Es un sistema que reune, almacena, procesa y distribuye conjuntos de informaci6n entre los diferentes elementos que configuran una organizaci6n, y entre la organizaci6n misma y su entorno" Juan Antoni Pastori Collado Tarnbien se dice que es un conjunto de elementos relacionados entre sf, que se encarga de procesar manual y/o autornaticarnente datos, en funci6n de determinados objetivos. Para entenderlo mejor veamos el siguiente grafico:
MODELAMIENTO
DE DATOS
ING. DANIEL
Cicio de vida de los sistemas de informaci6n
J. DIAZ
ARENAS
Un buen desarrollo de software depende muchas veces del correcto modelamiento de la base de datos. EI proceso de software comprende etapas como anal isis, diserio, desarrollo y pruebas, el modelamiento de la base de datos se encuentra en la atapa de diserio. Otra forma de representar el cicio de vida de los sistemas de informaci6n propuesto por kendall y kendall es el
2) Determinacion de
objetivos
7) Implantacion
del sistema
6) Prueba
... Figura 02: Cicio de vida de los sistemas de informaci6n f' Fwente: KSAdall y Kendall
<»
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
J. DIAZ
ARENAS
La etapa 1,2 Y 3 del modelo de kendall y kendall, es la etapa de anal isis, en esta etapa se planea los tiempos y objetivos del proyecto de software adem as de los requerimientos de informacion.
Despues de la captura de requisitos viene la etapa de diserio, datos, una de las actividades es el modelamiento de aspecto que veremos a profundidad en el
escritura del codiqo fuente, este codiqo se escribe en base al modelado realizado en la etapa de diserio.
informatica
en los
E
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
ING. DANIEL
J. DIAZ
ARENAS
de los sistemas de
/'""
"
ae/los
requerimientos
del cliente,
por la
r-
que neces)1a,en consecuencia la ingenierfa de requisites, es una rama de 'ajng~enierfa del software, que nos ayuda a entender al cliente
y capturar
R FULL SION
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
En el prologo a un libro de Ralph Young sobre las prcicticas efectivas en los requisitos, el autor de este libro escribio: Es tu peor pesadilla. Un cliente entra en tu oficina, se sienta, te mira directo a los ojos, y dice:"Yo se que usted piensa que entiende 10 que digo, pero 10 que usted no entiende es que 10 que digo no es real mente
nuestros clientes. Tenemos problemas al comprender la informacion que adquirimos. Con frecuencia, desorganizada e invertimos registramos los requisitos de una manera
en verificar
10 que
registramos. Permitimos que el cambio nos controle en lugar de establecer mecanismos para controlarlo. En resumen, fallamos al establecer un cimiento solido para el sistema
0
un reto. Cuando estos se combinan, la imagen es d los gerentes y profesionales existen soluciones del software
·~"i
e... ·
CJO
ING. DANIEL
La ingenierfa de requisitos entender factibilidad, sin proporciona
J. DIAZ
ARENAS
10que el cliente quiere, analizar las necesidades, evaluar la negociar una solucion razonable, validar la especificccion, especificar la solucion los
cmbiquedcdes.
y administrar
requisitos
ebtencien,
elebcrccien,
negociacion,
especlflcccien,
,...,.
La captura de requisitos,
"
"\
Inicio Inicio del proyecto, algunas veces se puede iniciar con una conversaci6n, pero generalmente inicia con la identificaci6n de necesidades del negocio.
mas importantes
en
Obtenci6n Realmente parece muy facil preguntarle al cliente ambito del proyecto 0 inclusive, el alineamie estrateqicos del negocio, pero muchas veces es aspectos nos ayudaran a entender mejor porque es
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
al analista con requisitos innecesarios para los objetivos del negocio Problemas de comprensien. Cuando los actores clave del negocio, los que usaran el sistema tienen poca ccmprensien de
10
que necesitan,
ccmunicdrselo al analista. Problemas de volatilidad. Los requerimientos planteados al inicio del proyecto cambian
continuamente
d
Elaboraci6n
Negoclaclon Por 10 general, el cliente siempre requiere mas de 10 que se p planeado, el ingeniero de requisitos tiene que negociar real del proyecto.
Especificaciones Una especlflcaclon un modele puede ser un documento formal, de estos escrito, de -.
ORDER FULL
de 'l''l~'A.~\i~,._ uso,\'u~~~~.t.la'~
I
matematlco
una colecclon
cualquier comblnaclon
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
Gestion
Conjunto de actividades que ayudan al equipo de proyecto a identificar, controlar y rastrear los requisitos y los cambios a estos en cualquier momento mientras se
desarrolia el proyecto
I~
~tpT4Tn2i
/'
a* Pi @§diiiM
iQuien estci detrcis de la solicitud de este trabajo? iQuien usarci la solucidn> iCucil serci el beneficio economico de una solucion exitosa? iExiste otra fuente para la solucion requerida?
el problema se
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
iLos aspectos especiales del desempefto 0 las restricciones que cfectcrdn la forma en que se busque la solucidn>
Las siguientes preguntan permitiran evaluar la efectividad de las respuestas anteriores. iEs usted la persona adecuada para contestar esta pregunta? iSus respuestas son oficiales? iMis preguntas son relevantes para su problema? iEstoy haciendo demasiadas preguntas? iAlguien mas puede proporcionar informacion adicional?
"EI que pregunta es un tonto durante cinco m pregunta es un tonto por siempre"
MODELAMIENTO
DE DATOS
ING. DANIEL
MODELOS
Un modelo es una representaci6n abstracta
0
J. DIAZ ARENAS
bases de datos son tres los modelos que permiten conceptual, modelo 16gico y modelo fisico.
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
Modelo Conceptual
J. DIAZ
ARENAS
EI disefo del modele conceptual parte de la especificccion de requisitos. Es independiente del gestor de base de datos relacional, describe un conjunto de objetos de la realidad, el modele conceptual que
utilizaremos es el ENTIDAD/RELACION
Modelo logico Se obtiene del modele entidad relccion, 10 que cambia es la forma de presentccion, se dice que es una descripcidn de la estructura de la base de datos, que puede ser procesada por el gestor de base de datos relacional (GBDR). EI modele logico que utilizaremos en el curso, es el relacional, por ser el que utilizan los GBDR. Se podrfa decir que el modele logico es como un puente, porque se encuentra entre el modele conceptual y el modele ffsico
Modelo ffsico Es una descripcidn de la implcntccicn de u '''--'~'''''' de base de datos relacional como por ejem EI disefio de un modele ffsico depende modele logico
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
2,
AI finalizar
la base de datos.
>
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
COMPETENCIA:
ING. DANIEL
J. DIAZ
ARENAS
conceptual mas utilizado, permite plasmar una realidad como de la empresa, por ejemplo
0
comercial,
recursos humanos,tesoreria, entre otras. Propuesto por Peter Chen en 1967, el objetivo del modele es representar realidad de la empresa. graficamente la
Los elementos bdsicos del modele entidad relccion Entre las son: Entidades, mas atributos utilizadas y se asociaciones. notaciones encuentra la de Chen y la CW Bachman, mas conocida como notccion pata de gallo, en este curso enseficremos las dos, aunque despues veremos que la mas utilizada es la nctccion pata de gallo. Es preciso explicar que inicialmente el modele entidad relccion contaba con elementos entidades, atributos, conoce como el extendido, asociaciones, mas t modele entidad re se agregaron nuevos elementos, y aho con elementos como o+ri
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
Entidad Es un objeto importante de la vida real que tiene atributos como por ejemplo ALUMNO, iCuciles son sus atributos?, apellidos, telefono, direccien, correo; una de las maneras de identificar entidades, preguntcindonos si tiene atributos, atributos no es entidad. Una entidad son los sujetos de interes para la organizacion y el modelo que se quiere construir. es codigo, nombre,
Otra definicion de Entidad Cualquier tipo de objeto de donde se recoge informacion: cosa, persona, concepto abstracto. Por ejemplo: carro, casa, empleado,
cliente, empresa, oficio, producto, concierto, excursion, etc. Las entidades se representan grcificamente mediante rectcingulos y su
nombre aparece en el interior. Un nombre de entidad solamente puede aparecer una vez en el modelo entidad re
Existen dos tipos de entidcdes una entidad cuya existencia depende de fuerte1
http://www3.uji.es/-mmarques/f47/apun/node83.html
MODELAMIENTO
DE DATOS
ING. DANIEL
Ejemplo de entidades con su representecien
J. DIAZ
grafica
ARENAS
P_E_RS_O_N_A
~ __ M_A_TR_I_CU_L_A _ __
~II ~ ~II~
C_A_T_E_G_O_R_IA ~ __
T_U_RN_O FACTURA
CARRERA
Asociacion Conexion entre obstante dos entidades, a veces lIamada relacion binaria, entidades no
que se pueden
relacionar con varias entidades. Atributo Caracterlstica que describe una entidad
0
~o VER8/0
de la . ~jdra: ~
·~"i
e... ·
CJO
ING. DANIEL
J. DIAZ
ARENAS
codigo
ALUMNO
Entidad Atributo
._)
notaei6n
Chen
Explicando
la figGa. Nr;o 3, la entidad ALUMNO, tiene 4 atributos, c6digo, apellido, debe considerar que la entidad ALUMNO, puede tener mas
'l"-
nombre y direcci6n,ie
~C"
Entidad
Codigo Apellido Nombre
Atributos
pata
La figura
Nro 4 representa
practicarnente
10 mismo
f~J'~!-1\
Y tB~O
E
diferencia que los atributos en la notaci6n chen se en la entidad y en la notaci6n pata de gallo se encuen no se debe preocupar mucho, por el aspecto de I en euenta la eorreeta deseripei6n de los atribu
,,.,.:t'~~resentados fuera de ~
~:9!~~ ~bi=tJrL
VERSION
de la Pt.~AS1§te
e... ·
MODELAMIENTO DE DATOS
CJO
ING. DANIEL
Los atributos Atributos de una entidad se clasifican
J. DIAZ
ARENAS
en diferentes
tipos:
Simples V Compuestos
Un atributo simple es aquel que no se puede dividir en partes, ejemplo de atributos simples: dni, c6digo_alumno, nivel, etcetera. En cambio los atributos compuestos se pueden dividir en partes, como por ejemplo: datos_cliente, se puede dividir en nombre, apellido_paterno, apellido_materno rue, curso, grado, secci6n,
/....~
r:
Datos cliente
I"
nombre ~~
...)
t-~J-. """~
Apellido_materno datos_cliente aunque
._.,.
La gran pfegl;lota es
---
Explicaci6n En la entidad ALUMNO, el atributo direcci6n puede estar compuesto por: calle, numero, distrito, ciudad y provincia, entonces la entidad ALUMNO, quedarfa de la siguiente manera.
Codigo Apellido Nombre Calle Numero Distrito Ciudad provincia Figura Nro 7 Atributo direcci6n sub-di
Q«;
~o VER8~
O~
MODELAMIENTO
DE DATOS
ING. DANIEL
.,
J. DIAZ
ARENAS
; I
--------------------------------IMPORTANTE
Algunas veces sera diffcil identificar atributos
... ,
'
practices.
/
Atributos
Un atributo es univalorado
unico, por ejemplo una persona no puede tener mas de un nurnero de dni. Atributos Multivalorados cuando un atributo tiene mas de un valor, por
Es multivalorado
ejemplo: direcci6n, un cliente puede tener mas de una direcci6n, en este caso el atributo direcci6n es multivalorado EI Senor Abraham Silberschatz, Henry presenta el siguiente ejemplo: Un banco puede limitar el nurnero de direcciones almacenadas de un cliente ados. atributo Colocando Ifmites en este caso, se expresa que el del conjunto de entidades cliente puede
direcci6n_cliente
Atributos
nulos
Tipo de atributo cuyos datos pueden ser nulos en algunos casos, por ejemplo: en el atributo telefono, se puede dar el caso, que un cliente no tenga teletono Atributos Clave de una entidad
Atributos cuyos datos en ninqun caso son iguales, p puede ser una atributo clave porque no pueden exi mismo dni.
: IMPORTANTE
I I I
----------------------------------,
EIconcepto de dato, se entendera mejor al estudiar el modelo relacional
MODELAMIENTO
DE DATOS
ING. DANIEL
Ejemplos atributos univalorados y multivalorados
J. DIAZ
ARENAS
CLiENTE
Codigo Apellido Nombre Oireccion dni Figura Nro 8 Entidad CLiENTE con atributos EI campo ONI es una atributo univalorado porque no se puede dividir,
,........."
veamos la
representaci6n grafica
CLiENTE
datos
Figura Nro 9 Entidad CLiENTE con datos de atributo nombre y dni EI valor del ONI de Manuel es unico y no Ie l2ertenec~ a otro cliente. En cambio el atributo dire-tci6n es multivalorado, porque puede ~ direcciones, siempre teniendo en cuenta-io que hemos algunas veces solamente necesitamos registrar una direcci6 cliente (empresa que nos contrata para realizar el registristrar mas de una direcci6n, si ese fuera el cambio se explicara en el modelo relacional. Ver el ei
.I
X)0m~se~
datos), requ~~b dad carnbiaria, ese ~ E
multivaloP<k:EAS
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
Jr. conde de nieva 456 Manuel Av. Arica 321 Calle Santa Isabel 564
Figura Nro 10 Ejemplo atributos multivalorados Vemos en la figura 10, que Daniel tiene dos direcciones, entonces el atributo direcci6n es multivalorado. : PARA ANALIZAR
I I
...........
,------------------~---------------------------------------_
Muchas veces no es facil diferenciar si un atributo es entidad, ejemplo: ciudad es un atributo de cliente
0
,
\
: :
I \
I I
,-----------------------------------------------------------;
f"""'\
Asociaciones
La raz6n de ser del modelo entidad relaci6n, son las relaciones entre entidades Existen varios tipos de relaciones que se explicaran a continuaci6n.
mas entidades
Relaci6n de uno a uno Una entidad A se relaciona con solo una entidad By solo una entidad A B se relaciona con
PLEASE
MODELAMIENTO
DE DATOS
ING. DANIEL
Ejemplo de entidades con relaciones de uno a uno
J. DIAZ
ARENAS
ALUMNO
Codigo Apellido Nombre Direccion
MATRICULA
I
~
I I Uno
Para aprender a identificar relaciones de 1 a 1, se debe considerar la siguiente regia. t:"De Al..;~NO .~-MATRICULA Un alurnno tiene una MA"f.,RICULA) De MATRICULA a ALUMNO Esa matricula Ie pertenece solo a ese alumno
;;:
...............
?
MOOOOi M00002
>-
En el caso presentado anteriormente se observa que Daniel tiene el c6digo de matrfcula M00001 y Manuella~M00002, claramente se veque es una relaci6n de uno a uno.
Relaci6n de uno a muchos Una entidad A se relaciona con muchas entidades 8, s· relaciona solamente con una entidad A.
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
CLiENTE
Codigo Apellido Nombre Dni ruc
FACTURA
I I
____yMuchos j-
De FACTURA a CCIENTE ) Esa faclura solo Ie pertenece a un eliente Otra forma de identifie~r relaciones de uno a muchos es la siguiente:
r-
"
,;.
FACTURA
de facturas, en general dentro de los'clrculos solo bay datos de factura, observamos que Mario tiene dos facturas y puede hasta el momento solamente tiene una, pero tarnbien pu una relaci6n de uno a muchos de cliente a factura.
De factura a cliente, la factura con nurnero F00001 Mario y no a otro cliente en ninqun caso, entonces uno a uno, de factura a cliente.
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
Relaciones de Muchos a Muchos Una entidad A se relaciona con muchas entidades B y una entidad B se relaciona con muchas entidades A
...,..__AL_UM_N_O
Codigo Apellido Nombre Dni
--I
xDA
HABILIDAD
Codigohabilidad Nombre habilidad
z
De ALUMNO a HABILIDAD Un alum no tiene una
0
muchos alurnnos
Se observa que Mario tiene varias habilidades como pero Karina tarnbien aprende rapido y canta, entonce
y a~IR®~
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
muchos, porque un alumno Mario tienes varias habilidades, pero esas habilidades tarnbien las puede tener otro alumno, como Karina. ;'------------------------------------------------------, : IMPORTANTE
I
~
I
,------------------------------------------------------_/
Notaci6n CHEN
PINTOR
codigo Nombres apellidos
CUADRO
Codigocuadro Nombre cuadro
PINTOR
CUADRO
Se nota la diferencia, las relaciones se representan por u fuera del recuadro de las entidades, los atributos cl
MODELAMIENTO
DE DATOS
TEMA
COMPETENCIA:
ING. DANIEL
CASO COMERCIAL
J. DIAZ ARENAS
Sea
un
sistema
de
informacion
que
represente
la
informacion
de
Proveedores, clientes y artfculos disponibles en una determinada empresa de venta de computadoras. Contiene la siguiente informacion: • Informacion sobre proveedores: codiqo, nombre, direccion, Telefono, ciudad, pars • Informacion sobre clientes: codiqo, ONI, nombre, direccion, telefono • Informacion sobre artfculos: codiqo, nombre, precio unitario, Color, stock • Informacion sobre las facturas indicando codiqo jactura.numerc,
fecha, subtotal, igv y total • Informacion sobre la relacion entre clientes y artfculos
Disenar un diagrama entidad relacion que describa conceptual mente el sistema de informacion
1.
PROVEEDOR
C6digo Nombre Oirecci6n Telefono Ciudad oais
CLiENTE
C6digo ONI Nombre Oirecci6n Telefono
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
FACTURA
C6digo_factura Numero Fecha Subtotal igv total
Hasta el momenta se ha identificado las principales entidades y atributos; ahora es el momenta de relacionar las entidades y terminar de disenar el modele conceptual utilizando el modele entidad relaci6n
CLiENTE
C6digo ONI Nombre Oirecci6n Telefono
~
FACTURA
C6digo_factura Numero Fecha Subtotal igv ~I
Para identificar el tipo de relaci6n que existe entre la entidad CLiENTE la entidad FACTURA, se agregan clientes y facturas, observamos que Mario puede tener en el tiempo varias facturas, pero la factura F00001 y F00002, solamente puede pertenecer a Mario y no a Karina, entonces se concluye que la relaci6n es de uno a muchos, ya que un clie puede tener una 0 muchas facturas, pero esa factura solamente Ie pertenece a un cliente.
.t"
i1
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
CLiENTE
C6digo ONI Nombre Oirecci6n Telefono
S\ \J A )
Io!o-+-~~"";""------i-"''''''
...,..__FA_CT_UR_A
C6digo_factura Numero Fecha Subtotal igv total
---I
Z ?
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
Relaci6n ARTICULO vs FACTURA
J. DIAZ ARENAS
ARTICULO
C6digo Nombre Precio unitario Color stock
FACTURA
C6digo_factura Numero Fecha Subtotal igv total
jJ
Se Observa que un ~tyulo puede estar en varias facturas, y en una factura'bueden por 10tanto la rCaci6tque existir varios artfculos,
F00003 00022
500gb
ARTICULO
C6digo Nombre Precio unitario Color stock
MODELAMIENTO
DE DATOS
ING. DANIEL
Relaci6n PROVEEDOR vs ARTICULO
J. DIAZ ARENAS
ARTICULO
C6digo Nombre Precio unitario Color stock
PROVEEDOR
C6digo Nombre Direcci6n Telefono Ciudad
oais
r:
proveedor puede vender mas de un articulo a la vez, par 10tanto la relaci6n es de muchos a mu~hQs
500gb
ARTICULO
C6digo Nombre Precio unitario Color stock
MODELAMIENTO
DE DATOS
ING. DANIEL
EI modelo final quedarfa de la siguiente manera
J. DIAZ
ARENAS
PROVEEDOR
C6digo Nombre Oirecci6n Telefono Ciudad oais
CLiENTE
C6digo ONI Nombre Oirecci6n Telefono
ARTICULO
C6digo Nombre Precio unitario Color stock
FACTURA
C6digo_factura Numero .....Fecha Subtotal igv total
~-~.....;........;.--..:....+-
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
CAsa ALQUILER DE PELICULAS
J. DIAZ
ARENAS
La cadena de Video Clubs Gusters ha decidido, para mejorar su servicio, emplear una base de datos para almacenar la informacion referente a las
pelfculas que ofrece en alquiler. Esta informacion es la siguiente: Una pelfcula se caracteriza por un titulo, nacionalidad, productora y fecha. En una pelfcula pueden participar varios actores (nombre, nacionalidad, sexo) algunos de ellos como actores principales. Una pelfcula esta dirigida por un director (nombre, nacionalidad). De cada pelfcula se dispone de uno
0
nurnero de ejemplar y caracterizados por su estado de conservacion. Un ejemplar se puede encontrar alquilado a algun socia (ONI, nombre,
direccion, telefono). Se desea almacenar la fecha de comienzo del alquiler y la de devolucion. Un socia tiene que ser avalado por otro socia que responda de el en caso de tener problemas en el alquiler.
2. Oefinir entidades.vtributos
PELICULA
Titulo Nacionalidad Productora fecha director Nombre Nacionalidad
Sexo
tipoactor
FULL ION
MODELAMIENTO
DE DATOS
ING. DANIEL
EJEMPLAR
Nro
Estado
J. DIAZ
ARENAS
ALQUILER
Fecha_inicio Fecha_fina I
Cuando el caso requiere mucho anal isis, sugiero leer el enunciado varias veces, para comprender mejor los requerimientos del cliente. Relaci6n PELICULA vs AGTOR
PELICULA
Titulo Nacionalidad Productora fecha director Nacionalidad Sexo tipoactor
que en la
pelfcula tron, pueGie haber varios actores, y a la vez esos actores pueden participar de varias pelfculas. Ror ejemplo Cindy Morgan tr::abaj6 en tron y los viajes de gulliver.
..
MODELAMIENTO
DE DATOS
ING. DANIEL
Relaci6n EJEMPLAR vs PELICULA
J. DIAZ
ARENAS
PELICULA
Titulo Nacionalidad Productora fecha director
EJEMPLAR
1 1
1/ Nro Estado
I"
Observamos que la pelfcula tron tiens varies ejemplares, solamente Ie pertenece a) muchos.
...........
r-
EJEMPLAR
Nro Estado
ALQUILER
Se observa que un ejemplar puede ser alquilado socios, y un socia puede alquilar varios ejemp tanto la relaci6n es de muchos a muchos.
MODELAMIENTO DE DATOS
ING. DANIEL
J. DIAZ ARENAS
20/01/2011 Tron ejm01 Tron ejm02 los viajes ejem03 21/01/2011 22/01/2011
r:
Relaci6n
socio
r:
vs ~LQ!!ILER
socio
Dni Nombre Direcci6n Telefono aval
ALQUILER
Fecha_inicio Fecha_fina I
Se observa muchas
una
veces,
alquiler
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
20/01/2011
Manuel Ana
21/01/2011 22/01/2011
Para concluir,
para este caso
obse",a~s el m21~tidad~elaCi6n)final
PELICULA
Titulo Nacionalidad Productora fecha director
ACTOR
Nombre
I~";""' __ """"_"""_~""''''''
ALQUILER
Fecha_inicio Fecha_fina I
Nro Estado
ER FULL RSION
aval MODELAMIENTO DE DATOS
ING. DANIEL
2. LECTURAS RECOMENDADAS
Introducci6n Ingenieria a las bases de datos de requisitos
J. DIAZ
ARENAS
http://www.monografias.com/trabajosS/basede/basede.shtml http://es.wikipedia.org/wikillngenier%C3%ADa_de_requisitos
3. TRABAJOS Y EJERCICIOS
1. Investigue los principal.es gestores caracteristicas
r:
r:
de base de datos
relacionales
y sus
2.
Identifique mediante una entrevista cuales son las necesidades del negocio. EI rubro del negocio es libre .( Definirel tipo
3.
"..
AUTOR
C6digo nombre pais
LlBRO
Nombre fecha
4.
MODELAMIENTO
DE DATOS
ING. DANIEL
(URSO
C6digo nombre
J. DIAZ
ARENAS
ALUMNO
1/1
l'l
V
~
Mate 01
Ffsica
2,
U <:
1. Cual es la definicion mas correcta sobre bases de datos a) Conjunto de datos relacionados b) Es la base de los datos c) Fuente para trabaiar con datos .-~ d) Datos en contextos-diferentes con las bases-de datos e) Conjuntos de datos que no se relacionan 2. En que aspectos radlca la redundancia de datos a) No hay diferencia I b) Repetici6n de los datos c) En las bases de datos relacionales hay mucha d) En las dos hay mucha redundancia, por 10 y~.p.6'1 ~ e) En los archivos clasicos no hay redundancia y I 3. De las siguientes, cual considera una preg realizarfa en una ~ entrevista para capturar los requisitos sOluciJ?LEASE a) Cuales son los problemas que deberfa b) Cuantos operarios tienen en la empresa c) Cuantos aries tienes d) Cual es el sueldo promedio de un ge e) Estoy haciendo demasiadas preguntas 4. Selecciona la respuesta que se acerca mas: I de datos relacional a) Crea y administra una base de datos
ER 8~ 0
ORDER FULL
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
b) No sirve para nada los datos los puedo guardar en un cuaderno c) Si un poco, porque despues colapsa y se tiene que volver a 10 de antes d) Con una hoja de calculo es suficiente, no me sirve un gestor e) Solo use Word 5. Los pasos del cicio de vida de los sistemas de informacion son a) Diserio y pruebas b) Analisis, diserio, desarrollo, pruebas c) Analisis y desarrollo d) Desarrollo e) Analisis, diserio y desarrollo 6. Que es la ingenieria de requisitos a) Son los problemas de sistemas de informacion b) Los sistemas de informacion a medida c) Conocer cuales son las necesidades, especificaciones y requerimientos del cliente ---.., I d) Son los requisitos de la ingenie~i"a e) Es 10 que no qJiere el cliente ..1 ~ 7. Cuales son las fases de la ingenieria de requisitos a) Inicio, obtencien, elaboracion, neqociacion, especifioacion, validacion y gestion r b) Obtencion de resultados y confesiones del cliente c) Confesiones, preguntas diffciles, validacion, presentacion de resultados d) Entrevistas, reqistrar resultados e) ~egociar, validar, obtener y resultados finales r- .7 8. Cual es la definicion mas correcta para el proceso de valldaclorv" a) 'Documento escrito, un conjunto de modelos graficos _, b) ~Quien usara esta solucion \ j c) Quie~nesta detras de la solicitud de este trabaio ~ d) Proceso que verifica si las especificaciones son correctas e) EI cliente siempre requiere mas de 10 que se puede logr.ar en el tiempo especificado 9. Cual es la definicion de modelo a) Un modele es una representacion abstracta 0 conceptual de la realidad b) Toda la informacion de un cliente se plasma en un modelo c) Los requerimientos planteados al inicio del proyecto d) Cornprension de 10 que necesita ~ e) Simplemente no se sabe como cornunicarselo 'al analista 10. Cuales son los tipos de relaciones que conoce a) Uno a uno, uno a muchos, rnuchos a muchos y cuatro a m b) Uno a uno ~. c) Muchos a muchos y artos a pocos d) Pocos a pocos y tri- relacion e) Uno a uno, uno a muchos y muchos a mucho
·~"i
e... ·
CJO
ING. DANIEL
J. DIAZ
ARENAS
5. RESUMEN
Una base de datos es un conjunto de objetos que se relacionan entre sf para cumplir con los objetivos del negocio
0
area funcional.
EI modelamiento de datos se encuentra en la etapa cuatro del diserio del cicio de vida clasico de los sistemas de informacion.
una base €:iedatos se necesita registrar los requisitos del clave en el momento de la
"!
-«:
r /'
del cliente se
obtencion,
elaboracion,
especificacion,
-.
divide en 7 validacion y
area que se desea analizar. Lo que se espera de esta etapa es capturar los del cliente alineados a los objetivos del negocio, considero apropiado
reuniones con la alta gerencia, para saber cuales son los objetivos a los que apoyara la solucion planteada. En la etapa de neqociacion
../
fa empress desarrolladora
relacion extendido, al agregar elementos como la aqreqacion, aspectos que seran explicados mas adel
MODELAMIENTO
DE DATOS
UNIDADDE APRENDIZAJE
MODELO RELACIONAL
Ox
'"
bi'lTEo:.ER
r-r~-,/
c=~
~~~~
COMPETENCIA:
ING. DANIEL
1. INTRODUCCION:
J. DIAZ
ARENAS
a) Presentaci6n y contextualizaci6n
EI alum no elabora modelos utilizando la generalizaci6n y especializaci6n. Diseria modelos relacionales y aplica estos conocimientos a la realidad empresarial Peruana y extranjera
b) Competencias
Comprender los conceptos del modelo relacional y desarroliar casos practices
c) Capacidades
./ ./ ./ ./
)
y
'" Comprende los cenceptos fundamentales especializaci6n generalizaci6n y desarrolia casos practices Entiende lo§ccmceptos sobre el modelo relacional Transforma el modelo entidad relaci6n a modelo relacional Desarrolia casos practices enfocaaos a realidades empresariales
'i"""""""'
I ~
d) ActittJdes y An~~a y y y
conciencia los conceptos fundamentales sobre especializaci6n y r generalizaci6n. Genera habitos estudiando los conceptos sobre el modelo relacional Es responsable en la entrega de trabaios practices Comparte sus conocimientos con su grupo de trabajo en cuanto a los casos ..... sobre el modelo relacional
e)
.......
La Unidad de Aprendizaje' siguientes temas:
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
MODELAMIENTO
DE DATOS
TEMA
ESPECIALIZACIO N Y GENERALIZACI 0 N
COMPETENCIA: AI finalizar esta asignatura bases de datos utilizando cuando sea necesario". u esp
ING. DANIEL
2. DESARROLLO DE LOS TEMAS
J. DIAZ
ARENAS
~i----------
diferencian de alguna forma de las otras entidades del conjunto. Abraham Silberschatz La especializaci6n se centra en agrupar entidades comunes, por ejemplo: la entidad cuenta se divide en cuenta de ahorros y cuenta corriente
CUENTA
Nro_cuenta moneda Tipo_interes
AHORRO
Nro_cuenta Moneda Saldo_minimo
Nro_cuenta moneda
Generallzacion Especlallzacion
Tipo_interes
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
En cambio la Generalizaci6n se basa en entidades que tienen atributos comunes, se forma entonces una entidad super tipo con atributos generales y otras entidades sub tipo con atributos diferentes, por ejemplo:
ALUMNO
C6digo Nombre Paterno Materno Carrera facultad
PROFESOR
s\\JA
~
c6digo, nombre,
'-_'
PERSONA
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
PERSONA
C6digo Nombre Generalizaci6n Especializaci6n Paterno Materno
J. DIAZ
ARENAS
PROFESOR
carrera facultad Tipo_pensi6n
,/
.... ...
/
I
, ,
\ \
,
\ \
cuenta de ahorros.
' ....
-------------
Agregaci6n
Construcci6n que se utiliza principalmente cua muchos a muchos. En el modele entidad relaci6n no se rom muchos, solamente se deja expresado, existen entidades que se tienen que rei de la relaci6n de muchos a muchos, obse
<:).
~~
Ya
uieMe.G~lON
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
En el caso alquiler de video, habfa una relaci6n PELICULA - ACTOR, donde un actor podia participar en muchas pelfculas y en una pelfcula participaban varios actores, pero la problernatica radica en cual de las dos entidades se debe colocar el atributo tipoactor(principal serla definir cuales son actores
0
principales
PELICULA
Titulo Nacionalidad Productora fecha director
S\DA
TIPO ACTOR
C6digo tipo
ACTOR
Nombre Nacionalidad Sexo
Z
Con esta construcci6n
si se podrfa
contestar
quienes
son
los actores
principales y secundarios de una pelfcula en especial. En el capitulo modele relacional, se describe y explica la forma de transformar este modele conceptual a relacional.
<:>~
Q«;
~
~o VER8~
O~
·~"i
e... ·
CJO
MODELAMIENTO
DE DATOS
TEMA
MODELO LOGICO
pulllistwr !;IIl!J!IIMrl!(!
SiI(I~
1 "'
nmd)dIBiN<lmll;
COMPETENCIA:
ING. DANIEL
J. DIAZ
ARENAS
------------
--
,
I
I I I I
I I I
Es el tipo de modele loqico mas utilizado, sus principales componentes son las tablas, campos, datos y registros (tuplas), adernas es empleado por casi todos los gestores de base de datos relacionales. Modelo propuesto por E.F Cood en los laboratorios de IBM en California. Se trata de un modele loqico que establece una estructura sobre los datos, aunque posteriormente estos puedan ser almacenados de multiples formas
\_ _ _ _
, Tabla"
- - -- - - -~- - - ---/
0
:-'_11._
,-----J!I#
'\
\
reeoger informacion
Una tabla contiene informacion y esta cornpuesta por datos, a la vez estos dat;;~nen tipos de datos y una longitud.
CampG
Caracterfstica que describe a una tabla, adem as los campos representan las propiedades basicas de las tablas y sus relaciones t'" Dato Elementos conocldos que van d~.Qtrode los campos, por ejemplo: el campo nombre el dato Manuel, el campg telefcnc el date>2700860 el campo edad el dato 25. ' Registro
/
\ \
.......
_--------
MODELAMIENTO
DE DATOS
ING. DANIEL
TABLA: ALUMNO
J. DIAZ
ARENAS
_I
1 1
I
Dfaz Velarde
Campo
columna
002 003
-1
Registro
Fila
Arenas
Carolina
.. )
Olivera
Jorge
Dato
fundamentales
per campos
CODIGO, PATE~NO, MATERNO, NOMBRE, datos como 001, Arenas, Olivera, 002, etcetera,
.....
registros
Cribilleros
r
Mario, ese
conjunto de datos forman un registro. Esa es una forma de representar a una tabla la otra forma es muy parecida a una entidad, con la diferencia que a los campos seTe agrega tipos de dato, longitud y si el campo es nulo
0
no nulo.
Antes derrepresentar la otra forma de una tabla, echemos un vistazo a los tipos de datos mas comunes:
Cuando el dato es un nurnero Cuando el dato es cadena de caracteres, como Cuando el dato es fecha u hora Cuando el dato es imagenl/ Cuando el tipo de dato tiehe dos estados
~ _J UIA
numerico nombre
cadena fecha
0
-'
hora
imagen
ALUMNO
C6digo Nombre Paterno Materno cadena(3} cadena(40} cadena(40} cadena(40}
MODELAMIENTO
DE DATOS
J. DIAZ
ARENAS
,,
\
,----------------------------~
PATERNO Marengo Df~ Velarde De los palotes
....
I I
MATERNO Cribilleros
TELEFONO
~1'- - Arenas'"
Olivera Perez
.~
L..--.
Se observa en la tabla anterior que el alumno Jorge no tiene nurnero telef6nico, entonces el campo telefono es de tipo nulo.
Clave candidata
Campos de la tabla a ser clave primaria, una de sus caractertsticas'es datos no se repiten. Por 10 general se debe seleccionar varios campos si los hubiera, aunque en la mayorfa de los casos solamente uno sera el primario . que sus
.....
Observe el siguiente ejemplo: TABLA: AUTOMOVIL NMATRICULA CCA-341 OFG-851 XTV-657 WG8-959
.I
Fiat Ford
En la tabla anterior el campo NMATRICULA repiten, por 10 tanto son las claves candidatas, primarias.
MODELAMIENTO DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
,----------------------------,
IMPORTANTE Finalmente las claves candidatas solamente sirven para seleccionar al campo primario. En el modelo relacional el campo primario y foraneo son los unicos elementos que se contemplan.
'
,----------------------------~
Clave primaria
tablas. Observe la
;/
-..
.--
..,,,
MARCA Toyota
-")
......
MOD?lO Yaris
CCA-341
91123659802
I
12236698988 50602233598
cualquiera
l
I
I
Realmente primaria,
_,.
"'
,.I
....._.
COA
otro ti
f(;
~o VER8~
O~
MODELAMIENTO
DE DATOS
ING. DANIEL
;' /
J. DIAZ ARENAS
"
---------------------------------------------------_
,
\
/
I
IMPORTANTE No siempre la clave primaria se encuentra entre los campos de una tabla sino se debe agregar un campo para definir la clave principal de la tabla. EI motivo es por supuesto que tanto para el caso del campo NMOTOR y NMATRICULA, el usuario final ingresarfa los datos y estaria latente el posible error de ingreso de datos. No se debe permitir que el usuario final ingrese los datos del campo clave principal, sino mas bien el sistema gestor 0 un algoritmo de proqrarnacion deben generarlo. Observe el siguiente ejemplo:
, , ',---------------~-------;-~------------------------~;
CODIGO NMOTOR
/
/
importante
por 10 tanto
no existe
MODELAMIENTO
DE DATOS
J. DIAZ
ARENAS
externa
son las
Consta de un campo que es primario en la tabla origen Permite relacionar tablas afines Mecanismo para asegurar la integridad de los datos
CLiENTE
Codigocliente(PK) cadena(6) no nulo Apellido cadena(40) no nulo Nombre cadena(40) no nulo Dni cadena(8) no nulo Ruc cadena(11) no nulo
FACTURA
Codigofactura(PK) Codigocliente(FK) Fecha cadena(10) no nulo cadena(6) no nulo fecha no nulo nurnerico no nulo decimal no nulo
rlAr.im;:!1 nn ru lin
La relacio~re
la clave primaria de cliente es codigocliente y de FAOTURA codi~ofactura. Entonces se observa que la pata de gallo(relacion de muchos) se encuentra en factura, por 10 tanto la clave primaria de CLiENTE se agrega como campo de la tabla FACTURA pero como clave foranea. Un aspecto clave a considerar es que el tipo de dato y la longitud debe ser el mismo tanto en la tabla CLiENTE como en la tabla FACTlJRA. Para que quede claro, observe la relaci6n entre P.ELlCULA a
~
PELICULA
Idpelicula(PK) cadena(6) no nulo Titulo cadena(60) no nulo Nacionalidad cadena(50) no nulo Productora cadena(50) no nulo Fecha fecha no nulo Director cadena(6Q) no nulo
VERSION
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
0
la clave
encuentra la pata de gallo (marcada con color rojo en esta ocasi6n), para este caso esta en EJEMPLAR, entonces la clave primaria de PELICULA, se agrega como campo toraneo en EJEMPLAR, con la misma longitud y tipo de dato. EI nombre del campo clave no es necesario que sea el mismo, si se cambia no hay ninqun error. Observe ahora el resultado pero con datos para ambas tablas: TABLA: PELICULA idpelicula POOO01 Titulo Las cr6nicas POOO02 Peruana Warner Bros 10lO2/2000
..........
fecha 15/10/2010
idpelicula
P00001 P00001
Solo para terminar la idea, existen aos ejemplares .... para las cr6nicas y un ejemplar para Anaconda.
...
E
~a
~~2iS,!~~810
de los datos, es ~
PLEASE
los dael~OEf{epu
LL
\
~
VERSION
E
CJO
·~"i
e... ·
MODELAMIENTO
DE DATOS
ING. DANIEL
Relaciones
J. DIAZ
ARENAS
En cuanto a las relaciones, son las mismas que se explicaron en el modelo entidad relacion, es decir de uno a muchos, de muchos a muchos y de uno a uno.
Z ?
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
MAPEO DE TABLAS
COMPETENCIA:
ING. DANIEL
J. DIAZ
ARENAS
Que es el Mapeo
Es el proceso mediante el cual una entidad del modelo entidad convierte en tabla del modelo relacional
relaci6n
se
Observemos
ALUMNO
idalumno Apellido Nombre direccion idmatricula mat fecha mat_grado mat seccion mat nivel EI mapeo de estas dos tablas a modelo relacional, se re enta de la siguiente forma.
ALUMNO
Idalumno(PK) Apellido Nombre Direcci6n cadena(6) no nulo cadena(40) no nulo cadena(40) no nulo cadena(60) no nulo
MATRICULA
mat fecha fecha no nulo mat_grado cadena(1S) no nulo mat seccion cadena(S) no nulo ......... mat nivel idal
Como se observa el mapeo es cosa tacit, solamente • • • • • Cambiar el nombre de la entidad por tabla Agregar la clave primaria y foranea si exi Se cambia el nombre atributo por campo Agregar el tipo de dato a los campos de la Agregar la longitud del campo
MODELAMIENTO
DE DATOS
ING. DANIEL
• Especificar si el campo es nulo
0
J. DIAZ
ARENAS
no nulo
000001
Dfaz Arenas
Daniel
000002
Vaca Toro
J
000003
Marfa
r:
/)
TABLA: MA::J:RICULA ,
0000000002
EGUNDO
SECUNDARIA
000001
si las re
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
CLiENTE
Codigo Apellido Nombre Dni ruc
FACTURA I
r-,
CLiENTE
Codigocliente(PK) cadena(6) no nulo Apellido cadena(40) no nulo Nombre cadena(40) no nulo Dni cadena(8) no nulo Ruc cadena(11) no nulo
FACTURA
Codigofactura(PK) Codigocliente(FK) Fecha Nroserie Total Subtotal Igv cadena(10) no nulo cadena(6) no nulo fecha no nulo nurnerico no nulo decimal no nulo decimal no nulo decimal no nulo
Si recordamos el modele entidad n, cada vez que se encontraba una relaci6n de rnuchos a muchos, se dejaba sin desarrollar, aunque se sa be que este tipo ae relaciones se rompe para formar otras tablas.
r
Estas accianes de torlJlar nuevas tablas con las relacianes de muchas a muchas se desarrollan can el mad~ relacianal, veamos un ejempla: La relaci6n entre alumna y habilidad es de much ve expresada en el siguiente qrafico
ALUMNO
Codigo Apellido Nombre Dni
MODELAMIENTO
DE DATOS
ING. DANIEL
ALUMNO
Codigo(PK) Apellido Nombre Dni cadena(6) cadena(40) cadena(40) cadena(8) no nulo no nulo no nulo no nulo
J. DIAZ
ARENAS
HABILIDAD
Codigohabilidad(PK) cadena(5) no nulo Nombre_habilidad cadena(40) no nulo
ALUMNO
HABILIDAD
Se
agrega
la
"tabla
AlUMNO ALUMNO
HABILIDAD
con
las
claves
primarias
y HABILIDAD,
rnuchos tanto de
uno
se necesita una construcci6n de este tipo para almacenar a alumnos con sus respectivas habilidades, a
000002
Cribilleros
MODELAMIENTO
DE DATOS
ING. DANIEL
TABLA: HABILlOAO
J. DIAZ
ARENAS
TABLA: ALUMNO
HABILlOAo
000001 000002
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
Mapeo de una generalizacion/especializacion
J. DIAZ
ARENAS
La entidad supertipo PERSONA tiene dos entidades subtipo PROFESOR. EI modelo entidad relaci6n se expresa en el siguiente grafico
ALUMNO
PERSONA
C6digo
PROFESOR
carrera facultad Tipo_pensi6n
PERSONA
C6digo(PK) cadena(6) cadena(40) Paterno cadena(40) Materno cadena(40) no nulo no nulo no nulo no nulo
ALUMNO
Idalumno (PK) cadena(6) no nulo Carrera cadena(SO) no nulo Facultad cadena(SO) no nulo C6digo(FK) cadena(6) no nulo Idp
MODELAMIENTO
DE DATOS
ING. DANIEL
La PK (primary key
0
J. DIAZ ARENAS
clave
primaria)
de
asi se establece un
y PERSONA
0
ALUMNO PERSONA.
PROFESOR
Es preciso recalcar que la clave primaria de PERSONA, tabla seria foranear+K) como tanto en la en la tabla
PROFESOR
ALUMNO.
Z ?
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
ING. DANIEL
J. DIAZ
ARENAS
La cadena de Video Clubs Gusters ha decidido, para mejorar su servicio, emplear una base de datos para almacenar la informacion referente a las
pelfculas que ofrece en alquiler. Esta informacion es la siguiente: Una pelfcula se caracteriza por un titulo, nacionalidad, productora y fecha. En una pelfcula pueden participar varios actores (nombre, nacionalidad, sexo) algunos de ellos como actores principales. Una pelfcula esta dirigida por un director (nombre, nacionalidad). De cada pelfcula se dispone de uno
0
nurnero de ejemplar y caracterizados por su estado de conservacion. Un ejemplar se puede encontrar alquilado a algun socia (ONI, nombre,
direccion, telefono). Se desea almacenar la fecha de comienzo del alquiler y la de devolucion. Un socia tiene que ser avalado por otro socia que responda de el en caso de tener problemas en el alquiler. ,
E
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
J. DIAZ
ARENAS
PELICULA
Titulo Nacionalidad Productora fecha director
ACTOR
Nombre Nacionalidad
Sexo
tipoactor
ALQUILER
Fecha_inicio Fecha_fina I
Nro Estado
EI mapeo a modele relacionar comienza carnbiamdo las entidades a tablas. Primero se selecciona lasiablas que tienen relaciones de muchos
~
mu
PELICULA
Idpelicula(PK) cadena(S) no nulo Titulo cadena(40) no nulo Nacionalidad cadena(SO) no nulo Productora cadena(SO) no nulo Fecha cadena(SO) no nulo Director cadenareu) no nulo
MODELAMIENTO
DE DATOS
ING. DANIEL
Una vez que las tablas han side mapeadas, muchos a muchos,
J. DIAZ
ARENAS
de
se
agrega
una
caso
PELICULA ACTOR.
PELICULA
Idpelicula(PK) cadena(S) no nulo Titulo cadena(40) no nulo Nacionalidad cadena(SO) no nulo Productora cadena(SO) no nulo Fecha cadena(SO) no nulo Director cadenareu) no nulo
ACTOR
Idactor (PK) cadena(S) no nulo Nombre cadena(60) no nulo Nacionalidad cadena(SO) no nulo
..... -~.,...----t:,..._~~~/-!I
Sexo
cadena(1)
no nulo
~J
PELICULA ACTOR
Idpelicula(PK) cadena(S) no nulo Idactor (PK) cadena(S) no nulo Tipoactor cadena(1S) no nulo
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
EI campo tipoactor, se mueve a la tabla PELICULA_ACTOR, de actor es principal
0
J. DIAZ
ARENAS
secundario.
EJEMPLAR
Nro Estado
ALQUILER
Fecha_inicio Fecha_fina I
'I II
OAry
ALQUILER
Idalquiler (PK) cadena(10} no nulo Fecha_inicio fecha no nulo Fecha_final fecha no nulo Total decimal no nulo
·~"i
e... ·
CJO
ING. DANIEL
En la tabla DETALLE_EJEMPLAR, formada por idejemplar y idalquiler. EI modele final quedarfa de la siguiente manera:
J. DIAZ
ARENAS
PELICULA
Idpelicula(PK) cadena(S) no nulo Titulo cadena(40) no nulo Nacionalidad cadena(SO) no nulo Productora cadena(SO) no nulo Fecha cadena(SO) no nulo Director cadena(SQ) no nulo
ACTOR
Idactor (PK) cadena(S) no nulo Nombre cadena(60) no nulo Nacionalidad cadena(SO) no nulo Sexo cadena(1) no nulo
r:
Idpelicula(PK) cadena(S) no nulo Idactor (PK) cadena(S) no nulo Tipoactor cadena(1S) no nulo
SOCIO
Idsocio(PK} cadena(S} no nulo Dni cadena(S} no nulo Nombre cadena(40} no nulo Direcci6n cadena(40} no nulo Telefono cadena(20} no nulo Aval cadena(S} no nulo
..---.
EJEMPLAR
Idejemplar(PK} cadena(10} no nulo Nro entero no nulo Estado cadena(l} no nulo Idpelicula(FK} cadena(S} no nulo
ALQUILER
Idalquiler (PK) cadena(10} no nulo Fecha_inicio fecha Fecha_fina I
DETALLE_ALQUILER
Idejemplar(PK} cadena(10} no nulo Idalquiler(PK} cadena(10} no nulo Precio decimal no nulo
·~"i
e... ·
CJO
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
MODELAMIENTO
DE DATOS
ING. DANIEL
3. LECTURAS RECOMENDADAS
ESPECIALIZACION Y GENERALIZACION
J. DIAZ ARENAS
e-i------------
http://www.fortunecity.com/lavender/dale/10S4/base/Generalizacion.htm
http://bd.eui.upm.es/OYOBO/ERE texto.pdf MODELO LOGICO Y MAPEO DE- TABLAS http://www .uazuay. ed u.ec/anal isis/EI %20modelo%20relacional. http://ict.udlap.mxlpeople/carlos/is341/bases03.html MAPEO DE TABLAS
http://www.tejedoresdelweb.com/wiki/images/a/aS/8asesdatos_teoS_modelo_relacional.pdf
4. ACTIVIDADES EJERCICI05e-!------------Y
A
1. Se tienen 2Centidades utilice'7c; generalizacion 0 especlaffzaclon.
CAMION,
AUTO.BtJS,
CAMION
r
AUTOBUS
Can_pisos
Can_carroceria
~.f?
~ 2. Mapee la siguiente tabla'
BOLETA
Idboleta Fecha total
3.
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
CLiENTE
Idcliente Cli_razon Cli_rue Cli_direeeion 4.
CLiENTE
Idcliente(PK} eadena(6} no nulo Cli_razon eadena(30} no nulo Cli_rue eadena(l1} no nulo Cli_direeeion eadena(40} no nulo
CLiENTE
Idcliente(PK} eadena(6} no nulo Cli_razon eadena(30} no nulo _C~liru_e~ea~d_e_n_a_(l_l_}_n_O_n_u_l_o ~ Cli_direeeion eadena(40} no nulo ...
II
_r-~
~~.
~y
-f",'" i>.
'"
z
5.
BOLETA ...,__________.
Idboleta(PK} eadena(10} no nulo Feeha eadena(10} no nulo Total real(S,3} no nulo Idcliente(FK} eadena(6} no nulo
Elaborar el modelo relacional del siguiente CASO de estudio La asociacion "Amigos de la Fiesta" desea recoger de una base de datos toea la Informacion acerca de las corridas de toros que se celebran en 8eru y de todos los datos relacionados con elias. Se desea tener informacion acerca de cada corrida, identificada 4 coniuntarnente por un numero de orden, la feria en la que se celebra y el ano de celebraciQ_n (por ejemplo: oryen 2, feria S 1990) ; las corridas que no se celebran dura campo Feria y se numeran correlativamente En una determinada corrida actuan una maximo 6) de los que se desea guardar en que tome la alternativa. Adernas se desea saber quien fue alternativa en su dia (un torero comparieros 0 a ninguno). En cada corrida un torero obtiene orejas, de rabos y si salio por la pu mantener informacion.
,..
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
Cad a torero puede tener un apoderado, A su vez, un apoderado to puede ser de varies toreros. De el se desea saber su dni, nembre, direccion y telefono. Una corrida se celebra en una plaza de teres de la que se desea saber su nembre (que se supone unico), localidad, direccion y afore. En una misma plaza se pueden celebrar varias corridas de teres. Cad a toro pertenece a una ganaderfa determinada. De cada ganaderfa se quiere conocer su codiqo, nembre, localidad, precedencia y antiquedad ( fecha de creacion) . En cada corrida sen estoqueados al menes 6 teres. Cada toro viene identificade per el codiqo de la ganaderfa a la que pertenece, el ario en que nacio y un nurnero de erden. Adernas se desea mantenerj informacion acerca de su nembre y color, asi como d?l-Prden en que lue toreado. )
/,)~
1. Selecciene la definicion de generalizacion
a) Se basa en entidades que tienen atributos cemunes, una entidad subtipo y supertipo b) Extiende entidades c) Se base en entidades que no.tienen entidades cemunes d) Contraeentidades en entidades sub tipe y super tipo e) Extiende entidades en entidades sub till>ey super tlpo
yn
o VER8_
<:)
10
ORDER FULL
c-
·~"i
e... ·
CJO
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
b) Es el conjunto de campos candidatos, a ser clave primaria c) Son las claves primarias de una tabla d) Son solo campos e) Son campos externos a las tablas relacionados 6. Explique con sus palabras que es una clave primaria a) Campo principal cuyos datos no se repiten b) Campo secundario c) Campo que sus datos son redundantes d) Campo foraneo de la tabla relacionada e) Campo principal cuyos datos se repiten 7. Cual es el concepto de registro a) Contiene una columna b) Contiene una fila de datos en una tabla de informaci6n c) Elemento conocido que van dentro de los campos d) Caracteristica que describe alma table e) Elemento desconooido que va dentro del contenido de los campos ./ ..... 8. Cual es el concepto de datos J a) Elemento conocido que van dentro de los campos .. b) Es un elemento nulo ...("",-' c) Son todos 10s9ampos que estan en blanco d) Campo de tabla a ser clave primaria e) Sirven para seleccionar el carnpe primario y foraneo 9. Existe alguna diferencia entre las relaciones que apr::endi6 en el-modelo entidad relaci6n, de las relaciones del modelo relacional, si existe explique cual es. a) Si bay-diterencia b) No hay diferencia son las mismas c) Bueno;-Ias relaciones de uno a muchos son diferemtes d) Las relaciones de muchos a muchos son diferentes ..... e) La diferencia radica que en el modelo relacional se liaman tablas 10. Que es 10que sucede con las relaciones de muchos a muchos a) En el modelo relacional se rompen y se forman nuevas relaciones b) Nada, siguen iguales en el modelo relacional c) Se extienden y se convierten en relaciones unarias d) Bueno, las relaclones de muchos a muchos, no existen Fln el modelo relacional e) Son iguales que las relaciones de uno a uno •
//<
<:/
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
J. DIAZ
ARENAS
RESUMEN
La especializaci6n se forma cuando se incluyen grupos de entidades que se
diferencian de alguna forma de las otras entidades del conjunto. En cambio la generalizaci6n se centra en atributos comunes y coloca uno como el general, lIamado la entidad super tipo y los sub tipo son las entidades dependientes Cuando tenga dudas en saber si es especializaci6n implemente una entidad supertipo y entidades subti
0
generalizaci6n
simplemente
EI modelo relacional
semejante al modelo entidad relaci6n, con algunas diferencias. A las entidades se Ie lIaman tablas, a los atributos campos y casi siempre cuentan con claves primarias y foraneas. Las claves primarias son campos especiales cuyos datos no se repiten y sirven para las relaciones entre tablas. En cambio el campo foraneo consta de un campo que es primario en la tabla de origen, una de sus funciones principales es asegurar la
0
integridad referencial entre tablas, tarnbien algunas veces se Ie llama clave ajena externa, pero son solo sin6nimos de clave foranea.
Es importante mencionar que las relaciones entre tablas son las mismas que en el modelo entidad relaci6n.
En el proceso de diserio de base de datos, un paso importante es la transformaci6n que existe entre el modelo entidad relaci6n y el modelo relacional, consiste en
cambiar las entidades a tablas, agregarles tipos de dato y lonqi primarias y foraneas, tarnbien romper las relaciones de
Hay casos especiales como el mapear un generali clave primaria de la entidad super tipo, en las enti consigue enlazar las tablas de la generalizaci6nl es
MODELAMIENTO
DE DATOS
UNIDADDE APRENDIZAJE
COMPETENCIA:
ING. DANIEL
INTRODUCCION .,...------------------
J. DIAZ
ARENAS
a) Presentaci6n y contextualizaci6n
En esta unidad aprendera los conceptos principales sobre la normalizaci6n
de base de datos, la primera forma normal, la segunda forma normal y la tercera forma normal. Para poder entender y aplicar los conceptos de la normalizaci6n, se
desarrolla
un caso practice, Alquiler de video, caso utilizado en la primera tabla por tabla, hasta
unidad, se aplicara toda la teo ria de normalizaci6n, I concluir con el modelo de bas~(je, datos. Para diseriar bases, diseriarlas
herramientas
l'
el diserio
a manejar
asi
como a gestionar datos de una realidad empresarial. Le invito a tomar los valiosos conocimientos que contiene siguiendo detalladamente la metodologia planteada. esta unidad,
b) Competencias ....
,
Diseriar bases de datos efectivas y eficaces utilizando el minimo de tiempo para su construccion y seleccionanwlas berramientas necesarias.
c) Capacidades
./ ./ ./ ./ Comprender y aplicar los conceptos funda Aplicar la normalizaci6n en diferentes Diseriar bases de datos utilizando Comprender la importancia de relacional
Actitudes
Y Comparte sus conocimientos de normalizaci6n DE DATOS
MODELAMIENTO
ING. DANIEL
y y y
J. DIAZ ARENAS
Se esfuerza por comprender la importancia de las herramientas CASE Es puntual en el desarrollo de casos practices donde debe aplicar normalizaci6n Estudia a conciencia los elementos de instalaci6n del mysql
la
:\::-,..J
F'
Z ?
E
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
NORMALIZACION
..
- "'---'Ii.
Z ?
fl.P"''''''ld~~''''''' _~
:; ~;jj-:'''' ~~
d
PWba • .cI' M_,,,,ia ~~t~~rolo.Cs.:l
• ",", ""0 •.
•
8<S
r:..~
COMPETENCIA: AI finalizar esta asignatura usted se "Comprender y aplicar los conc normalizacion" .
MODELAMIENTO
DE DATOS
ING. DANIEL
2. DESARROLLO DE LOS TEMAS
J. DIAZ
ARENAS
_+---------
Normal izacion
Es el proceso mediante el cual se aplican una serie de reglas a las tablas del modelo relacional, para evitar que exista redundancia de datos y proteger la integridad de los mismos. Se definen principalmente 3 formas normales, para las tablas del modelo relacional, las que se analizan a continuaci6n
1.
Tiene una clave primaria o Todas las tablas del modele tienen que tener una clave principal, sino fuera el caso se Ie agrega una No existen campos duplicados o No debe haber campos con el mismo Nombre como por ejemplo direccion1 direccion2, si fuera el caso ese campo Forma su propia tabla Crea una tabla separada por cada campo Duplicado
(f.iliI~~~~~
ACTOR
Nombre cadena(60) no Nacionalidad cadena(50) Sexo cadena(1) no nulo Direcci6n1 cadena(60) no Direcci6n2 cadena(60) no nu
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
Primero revisamos si tiene clave primaria, como no tiene se la proporcionamos, entonces la tabla queda asi,
ACTOR
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Nacionalidad cadena(50) no nulo Sexo cadena(1) no nulo Direcci6n1 cadena(60) no nulo Direcci6n2 cadena(6Q) no nulo
La segunda reqla-es que no tienen que existir campos duplieados, como los campos direccion1 y direcoi0912, se forma por 10 tanto otra tabla con esos campos, y quedarfa asl. ,
"
."...-10,
ACTOR
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Nacionalidad cadena(50) no nulo Sexo cadena(1) no nulo
DIRECCION
Iddireccion(PK) cadena(60) no nulo Direcci6n cadena(50) no nulo Idactor(FK) cadena(6) no nulo
~o VER8~
--=--
O~
·~"i
e... ·
CJO
ING. DANIEL
2.
~
J. DIAZ
ARENAS
No existen datos duplicados en las filas de los campos de la tabla, si ese fuera el caso, crear una tabla separada Relacionar estas nuevas tablas mediante una clave toranea y agregarle su propia clave primaria
La tabla ACTOR ya se encuentra en primera forma normal, pero no en segunda forma normal, analicer1Jos~
.~ j
Ii
.. r.
ACTOR
~.
»:
Para.analizar mejor la segunda forma normal, es preciso agregarle datos a la tabla ACTOR.
el dato
esto quebranta las reg las de segunda forma una nueva tabla con el nombre NACIONAL ACTOR.
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ ARENAS
ACTOR
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Sexo cadena(1) no nulo Idnacionalidad(FK) cadena(30) no nulo
NACIONALIDAD
Idnacionalidad(PK) cadena(30) no nulo Nac_descripcion cadena(50) no nulo
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
ING. DANIEL
3. Tercera Forma Normal (3FN)
J. DIAZ
ARENAS
Eliminar los campos que no dependan de la clave primaria o Buscar en el modelo relacional, si estos campos eliminados pertenecen a alguna tabla del modelo y agregarlos o Crear una nueva tabla con los campos eliminados
La tabla ACTOR ya se encuentra en segunda forma normal y en tercera forma normal, pero para explicar la tercera forma, se aqreqara algunos campos en la tabla.
ACTOR
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Sexo cadena(1) no nulo Idnacionalidad(FK) cadena(30) no nulo Preciopelicula decimal no nulo
clave primaria de ACTOR, por 10 tanto se aplica la tercera forma normal, y se elimina ese campo. La tabla queda de la siguiente forma.
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Sexo cadena(1) no nulo Idnacionalidad(FK) cadena(30)
Q«;
~o VER8~
O~
·~"i
e... ·
CJO
TEMA
NORMALIZACION APLICACIONES
COMPETENCIA:
J. DIAZ
ARENAS
PELICULA
Idpelicula(PK) cadena(S) no nulo Titulo cadena(40) no nulo Nacionalidad cadena(SO) no nulo Productora cadena(SO) no nulo Fecha cadena(SO) no nulo Director cadena(SQ) no nulo
/"
ACTOR
Idactor (PK) cadena(S) no nulo Nombre cadena(60) no nulo Nacionalidad cadena(SO) no nulo Sexo ) cadena(1) no nulo
Idpelicula(PK) cadena(S) no nulo Idactor (PK) cadena(S) no nulo Tipoactor cadena(1S) no nulo
SOCIO
Idsocio(PK} cadena(S} no nulo Dni cadena(S} no nulo Nombre cadena(40} no nulo Direcci6n cadena(40} no nulo Telefono cadena(20} no nulo Aval cadena(S} no nulo
EJEMPLAR
Idejemplar(PK} cadena(10} no nulo Nro entero no nulo Estado cadena(l} no nulo Idpelicula(FK} cadena(S} no nulo
ALQUILER
Idalquiler (PK) cadena(10} no nulo
DETALLE_ALQUILER
Idejemplar(PK} cadena(10} no nulo Idalquiler(PK} cadena(10} no nulo Precio decimal no nulo
·~"i
e... ·
CJO
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
Aplicar las tres formas normales a todas las tablas del diagrama, una por una, comenzado por la tabla PELICULA.
PELICULA
Idpelicula(PK) cadena(S) no nulo Titulo cadena(40) no nulo Nacionalidad cadena(SO) no nulo Productora cadena(SO) no nulo Fecha cadena(SO) no nulo Director cadenareu) no nulo 1 Forma Normal Cuenta con una clave
r:
prjnaria
lA
y no tiene campos
10 tanto se
encuentra
2 Forma Normal,
productora y director
~
por
10 tanto
NACIONALIDAD
Idnacionalidad(PK} cadena(S} no nulo Nac_descripcion cadena(40} no nulo
MODELAMIENTO
DE DATOS
ING. DANIEL
J. DIAZ
ARENAS
PFIICLJI A
Idpelicula(PK) cadena(5) no nulo Titulo cadena(40) no nulo Idnacionalidad(FK) cadena(5) no nulo Idproductora(FK) cadena(3) no nulo Fecha cadena(50) no nulo Iddirector(FK) cadena(5) no nulo
Tabla ACTOR La tabla ACTOR esta en primera forma normal, pero el campo nacionalidad tiene datos repefidos, al normalizar la tabla en segunda ~orma queda de la siquiente manera.
..
.....
,...
Z ......
---. ~ Tabla PELICULA AC:rOR 1 Forma Normal
A_C_T_O_R
.....
Idactor(PK) cadena(6) no nulo Nombre cadena(60) no nulo Sexo cadena(1) no nulo Idnacionalidad(FK) cadena(30) no nulo
00001 00001
EI campo tipoactor TIPOACTOR.
00002 00003
tiene datos repetidos, p
MODELAMIENTO
DE DATOS