Está en la página 1de 81

Modelamiento de Base de Datos

UNIDAD Nº II

www.iplacex.cl
SEMANA 4

Organizando la idea

Bienvenidos a la cuarta semana de Modelamiento de Base de datos. En


esta unidad vamos a construir un modelo relacional normalizado para
solucionar en forma eficiente los requerimientos de información de la
organización. A continuación, trabajaremos con normalizar y la
transformación al MR.

Transformación de Entidad Fuerte

A continuación, se explicarán las Reglas de Transformación para construir el Modelo Relacional


a partir del Modelo Entidad Relación:
 Toda Entidad del Modelo E/R se transforma en Relación o Tabla en el Modelo Relacional.
 En la forma no gráfica del Modelo Relacional, se le debe colocar el nombre de la Relación
(que debería ser el mismo nombre de la Entidad).
 Los atributos de las entidades del Modelo E/R se transforman en atributos o columnas de
la Relación en el Modelo Relacional.
 En la forma no gráfica del Modelo Relacional, los atributos se colocan entre paréntesis a
continuación del nombre de la Relación y separados por coma.
 Los atributos Identificadores Únicos de las Entidades del Modelo E/R se transforman en
la Clave Primaria (PK) de la Relación del Modelo Relacional.

Por lo general el formato del nombre de la clave primaria es: PK_nombretabla. En la forma no
gráfica la(s) columna(s) que son parte de la clave primaria de la Relación se debe(n) subrayar.

En el Ejemplo, la entidad EMPLEADO del Modelo E/R se transforma en la Relación EMPLEADO


en el Modelo Relacional. El atributo identificador único de la entidad se transforma en la Clave
Primaria de la Relación (marcada con una P en el Modelo Relacional gráfico).

www.iplacex.cl
SEMANA 4

Transformación Relaciones 1:M

La Relación del lado muchos (tabla relacionada) incluye como clave externa o foránea (FK) las
columnas que forman la clave primaria de la Relación del lado uno (relación principal). A esta
clave foránea se le debe asignar un nombre.
Por lo general el formato del nombre de la clave foránea es: FK_tablarelacionada_tablaprincipal

www.iplacex.cl
SEMANA 4

En la forma gráfica del Modelo Relacional, la punta de la flecha indica la tabla principal que
contiene la(s) columna(s) de clave primaria que con referenciadas por la tabla relacionada. La
columna clave foráneas además aparece marcada con una F
En la forma no gráfica, la(s) columna(s) que conforman la clave foránea se marcan con un
asterisco *.
En el ejemplo, la columna codigo de la relación DEPARTAMENTO es incluida como columna de
la Relación EMPLEADO y además es Clave Foránea.

www.iplacex.cl
SEMANA 4

Transformación Relaciones M:M

Para las relaciones Muchos a Muchos del modelo E/R que no pudieron ser eliminadas se debe
generar una Relación Intermedia en el Modelo Relacional a la cual de le debe asignar un nombre
adecuado.

La Relación de intersección o intermedia contiene dos claves externas (claves foráneas), cada
una referencia a la clave primaria de las tablas originales. En la forma no gráfica, la(s) columna(s)
que conforman la clave foránea se marcan con un asterisco *.

Ambas claves externas (foráneas) además componen la clave primaria de la Relación intermedia
a la cual se le debe asignar un nombre adecuado. En la forma no gráfica se deben subrayar.

En el ejemplo, se crea la Relación intermedia ASIGNATURA_DICTA con las columnas de claves


primarias de las Relaciones ASIGNATURA y PROFESOR (ambas columnas son PK y FK).

www.iplacex.cl
SEMANA 4

Transformación Relaciones 1:1


Las relaciones uno a uno en el Modelo E/R son poco comunes. En muchos casos puede implicar
que las dos entidades son en realidad una sola y se deben unir.
Si se debe mantener la relación 1:1, se coloca como clave externa o foránea en una de las
Relaciones del Modelo Relacional la(s) columna(s) que conforman la clave primaria de la otra
Relación (en principio daría igual en cuál de las Relaciones) .
En el caso de que una entidad participe opcionalmente en la relación, entonces es el identificador
de esta entidad el que se colocará como clave externa ó foránea en la Relación que representa
a la otra entidad.

En el ejemplo, la relación del EMPLEADO con CONYUGE es opcional, por lo tanto al transformar
al Modelo Relacional la clave primaria de EMPLEADO se convierte en una columna más de
CONYUGE y además es clave foránea.

www.iplacex.cl
SEMANA 4

Transformación Relaciones Recursivas

 Las relaciones recursivas se tratan de la misma forma que las otras, sólo que el atributo
identificador único puede figurar dos veces en una Relación como resultado de la
transformación y además es clave foránea. Por ello, se le debe asignar otro nombre a esa
columna.

En el ejemplo el atributo rut se transformará en otra columna de la Relación EMPLEADO en el


Modelo Relacional y además será clave foránea. Por lo tanto se le asigna el nombre de
numrut_jefe.

www.iplacex.cl
SEMANA 4

Transformación Entidades Débiles

Toda entidad débil incorpora una relación implícita con una entidad fuerte.
Se debe incorporar la clave primaria de la Relación que representa a la entidad fuerte como clave
externa o foránea en la Relación que representa la entidad débil. Es más, normalmente esa clave
externa además forma parte de la clave principal de la Relación que representa a la entidad débil.
En ocasiones el identificador de la entidad débil es suficiente para identificar los ejemplares de
dicha entidad, entonces ese identificador quedaría como clave principal, pero el identificador de
la entidad fuerte seguiría figurando como clave externa en la entidad débil.
En el ejemplo de la siguiente página, la columna codigo_vendedor que es la clave primaria de la
Relación VENDEDOR se transforma en una columna clave foránea de la Relación VENTA.
Además, junto con la columna fecha_hora_venta forman la clave primaria para identificar en
forma única una venta de un vendedor en particular.

www.iplacex.cl
SEMANA 4

Transformación Relaciones de Exclusividad


Los arcos representan una columna de clave foránea en la Relación principal.
El Diseño de Arco explícito crea una columna clave foránea para cada relación incluida en el
arco.
En el ejemplo de la siguiente página, la columna codigo de la Relación EMPRESA y la columna
numrut de la Relación PERSONA se transforman en columnas de claves foráneas de la Relación
CONTRATO.

Transformación Relaciones de Jerarquías

Para las Relaciones de Jerarquías (Supertipos/Subtipos) del Modelo


E/R existen tres formas de poder efectuar la transformación al
Modelo Relacional:
 Diseño de los subtipos en una sola Relación junto al
supertipo: es recomendable cuando los atributos de los
subtipos son muy pocos.
 Diseño de los subtipos en Relaciones separadas: cuando los
atributos específicos de cada subtipo son demasiados en
comparación con los atributos comunes definidos en el
supertipo.
 Diseño del supertipo y los subtipos en Relaciones separadas:
en este caso cada entidad se transforma en una Relación por
separado.

www.iplacex.cl
SEMANA 4

Transformación Relaciones de Jerarquías

Diseño de los subtipos y supertipo en una sola Relación


Para las Relaciones de Jerarquías (Supertipos/Subtipos) del Modelo E/R existen tres formas de
poder efectuar la transformación al Modelo Relacional:

 Consiste en diseñar una tabla para el supertipo con toda la información de los subtipos.
En otras palabras la tabla resultante contiene las instancias de todos los subtipos.

 Es apropiado cuando los subtipos tienen pocos atributos y la consulta de los datos suele
incluir datos de distintos subtipos.

Los pasos para este diseño son:

 Crear una Relación o tabla para el Supertipo.


 Crear una columna “tipo” para identificar a cual subtipo pertenece la fila o tupla.
 Crear una columna para cada uno de los atributos del supertipo.
 Crear una columna para cada uno de los atributos de los subtipos.
 Crear columnas claves foráneas para cada una de las relaciones del supertipo.
 Crear columnas claves foráneas para cada una de las relaciones de los subtipos.

En el ejemplo, se crea la Relación VEHICULO con los atributos del supertipo y subtipos. Además
se crea la columna tipo_vehiculo para poder saber si la información que se almacenará será de
un camión o remolque.

10

www.iplacex.cl
SEMANA 4

Diseño de los subtipos en Relaciones separadas:


 Consiste en convertir los subtipos en Relaciones diferentes, una para cada subtipo. Cada
tabla tendrá instancias solo de ese subtipo.
 Se usa este diseño cuando los subtipos tienen muchos atributos y relaciones específicas.

Los pasos para este diseño son:

 Crear una Relación o tabla para cada subtipo.


 En cada tabla de un subtipo crear las columnas para los atributos del supertipo.
 En cada tabla de un subtipo crear columnas claves foráneas para cada relación del
subtipo.
 En cada tabla de un subtipo crear columnas claves foráneas para cada relación del
supertipo.

Transformación Relaciones de Jerarquías

En el ejemplo, se crea las Relaciones CAMION y REMOLQUE cada una con sus atributos y
además con los atributos del supertipo incluyendo su clave primaria

Diseño del supertipo y los subtipos en Relaciones separadas


 Consiste en convertir el supertipo y sus subtipos asociados en tablas diferentes.
 Cada tabla tendrá como columnas los atributos de cada entidad.

11

www.iplacex.cl
SEMANA 4

Los pasos para este diseño son:

Crear una tabla para el supertipo con sus propias columnas y clave principal.

 En cada tabla de los subtipos crear las columnas para los atributos que cada entidad del
subtipo posee.
 En cada tabla de los subtipos las columnas de la clave principal del supertipo se crean
como clave externa o foránea y además como clave primaria.

En el ejemplo, se crean las Relaciones VEHICULO, CAMION y REMOLQUE cada unos con sus
propios atributos. Los subtipos además hereden los atributos de clave primaria del supertipo que
además se transforma en clave foránea.

12

www.iplacex.cl
SEMANA 4

Demostrando la Idea

A continuación trabajaremos con el modelo entidad relación extendido, en donde utilizaremos


Data Modeler y SQL Developer para demostrar lo aprendido en esta unidad. Aplicaremos las
formas normales al Modelo Entidad Relación, trabajaremos la terminología estructural en el
Modelo y aplicaremos la transformación del Modelo E/R al Modelo Relacional.

Para comenzar, abre datamodeler.exe.

Haz clic derecho en “Modelo Lógico” y haz click en Mostrar.

13

www.iplacex.cl
SEMANA 4

Ahora insertaremos una Nueva Entidad, para eso haz clic en “Nueva Entidad”.

Ahora haz clic en cualquier parte del “Panel Lógico” para insertar la Nueva Entidad.

14

www.iplacex.cl
SEMANA 4

Le daremos el nombre PACIENTE a la nueva entidad, recuerda siempre que los nombres de las
entidades deben ir en MAYÚSCULA y son singulares.

A continuación comenzaremos a agregar los atributos de la entidad PACIENTE. Para esto debes
hacer clic en el panel izquierdo de las propiedades, donde dice “Atributos”.

15

www.iplacex.cl
SEMANA 4

Para ingresar el primer atributo de la entidad, debes hacer clic en el icono “+” con el que puedes
agregar el atributo a la lista.

El nombre del primer atributo será “numero_ficha”, recuerda que los nombres de los atributos se
escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.

16

www.iplacex.cl
SEMANA 4

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “NUMERIC” para luego asignarle el tamaño que utilizará.

17

www.iplacex.cl
SEMANA 4

Le asignarás el tamaño “3” y luego haz clic en “UID” para definir que es el identificador único del
atributo.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “primer_nombre” y seleccionamos “Lógico”.

18

www.iplacex.cl
SEMANA 4

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

19

www.iplacex.cl
SEMANA 4

Le asignarás el tamaño “20” y luego haz clic en “Obligatorio” para definir que este atributo no
debe quedar en blanco a la hora de ingresar datos.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “segundo_nombre” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

20

www.iplacex.cl
SEMANA 4

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “20” y luego haz clic en el icono “+”, con el que puedes agregar otro
atributo a la lista.

21

www.iplacex.cl
SEMANA 4

Ingresa el nombre del atributo “apellido_paterno” y haz clic en “Lógico”.


Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “20” y luego haz clic en “Obligatorio” para definir que este atributo no
debe quedar en blanco a la hora de ingresar datos.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “apellido_materno” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “20” y luego haz clic en “Obligatorio” para definir que este atributo no
debe quedar en blanco a la hora de ingresar datos.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “direccion” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “20” y luego haz clic en “Obligatorio” para definir que este atributo no
debe quedar en blanco a la hora de ingresar datos.

22

www.iplacex.cl
SEMANA 4

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “telefono” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “10” y luego haz clic en “+” para agregar otro atributo.

Ingresamos el nombre del atributo “fechas_citas” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “DATE” .


Haz clic en “Obligatorio” para definir que este atributo no debe quedar en blanco a la hora de
ingresar datos y luego haz clic en “Aceptar”.

23

www.iplacex.cl
SEMANA 4

Ahora que hemos creado la entidad vamos a pasar al modelo relacional, para luego crear la tabla
en SQL Developer.
Haz clic en el icono de “Realizar ingeniería”.

Haz clic en “Realizar ingeniería”.

24

www.iplacex.cl
SEMANA 4

¡Muy Bien! Haz realizado la Ingeniería al Modelo Relacional, ahora vamos a generar el Script,
para eso haz clic en “Generar DDL”.

Haz clic en “Generar”.

25

www.iplacex.cl
SEMANA 4

Haz clic en “Aceptar”.

Vamos a copiar el script. Haz clic derecho en el “Editor de Archivos DDL”.

26

www.iplacex.cl
SEMANA 4

Haz clic en “Copiar” para copiar el Script.

Ahora, abre sqldeveloper.exe.

Para insertar el Script generado en Datamodeler, primero debemos tener creada una base de
datos en SQL Developer, luego hacer clic derecho en dicha base de datos. Haz clic derecho en
la base de datos “PRIMERAFN”. Elige la opción conectar.

27

www.iplacex.cl
SEMANA 4

Volvemos a SQL Developer, en la hoja de trabajo pegaremos el script copiado. Haz clic derecho
en “hoja de trabajo”.

Haz clic en “Pegar”.

28

www.iplacex.cl
SEMANA 4

Ahora vamos a ejecutar el Script generado en Data Modeler. Para eso haz clic en el icono
“Ejecutar Script”.

¡Muy bien! Se han creado las tablas en SQL Developer. Ahora vamos a ver como quedaron. Haz
clic en “Tablas (Filtrado)”.

29

www.iplacex.cl
SEMANA 4

Vemos la tabla que acabamos de crear. Haz clic en “PACIENTE” para ver más.

Aquí puedes ver los atributos de la tabla PACIENTE, los tipos de datos, si los campos se pueden
dejar en blanco, entre otros. Haz clic en “Datos” para continuar.

30

www.iplacex.cl
SEMANA 4

Insertaremos algunos datos. Haz clic en “Insertar Fila”.

Para la tabla PACIENTE ingresarás lo siguiente:


NUMERO_FICHA “01”
PRIMER_NOMBRE “Juan”
SEGUNDO_NOMBRE quedará como (null)
APELLIDO_PATERNO “Romero”
APELLIDO_MATERNO ”Araya”
DIRECCION ”Av 367”
TELEFONO quedará como (null)
FECHAS_CITAS “19/03/2018”
Una vez ingresado los datos, haz clic en “insertar fila”.

31

www.iplacex.cl
SEMANA 4

Para la segunda fila ingresarás lo siguiente:


NUMERO_FICHA “01”
PRIMER_NOMBRE “Juan”
SEGUNDO_NOMBRE quedará como (null)
APELLIDO_PATERNO “Romero”
APELLIDO_MATERNO ”Araya”
DIRECCION ”Av 367”
TELEFONO quedará como (null)
FECHAS_CITAS “25/03/2018”
Una vez ingresado los datos, haz clic en “Guardar”.

32

www.iplacex.cl
SEMANA 4

Al guardar arroja un error, ya que comparten la misma PK.


Esto se arregla cambiando el valor de “numero_ficha”, pero esto significa ingresar un nuevo
paciente, y este nuevo paciente es idéntico al anterior pero con otra fecha en la cita medica.
Es entonces cuando nos enfrentamos a la primera forma normal.
Una entidad esta normalizada en 1FN si contiene solo valores atómicos (un solo valor), es decir,
no posee grupos repetitivos.
Para poder cumplir con esto, se debe pasar a otra entidad aquellos grupos repetitivos,
generándose dos entidades a partir de la entidad original, y crear una relación 1:M con
identificación en la nueva entidad.
Entonces, para crear la otra entidad debes volver a Data Modeler y editar el modelo lógico.
Haz clic en “aceptar”.

33

www.iplacex.cl
SEMANA 4

Una vez en Data Modeler, debes editar la entidad PACIENTE y eliminar el atributo “fechas_citas”.
Haz doble clic en la entidad “PACIENTE”.

Haz clic en el icono “X”, para eliminar el atributo repetitivo.

34

www.iplacex.cl
SEMANA 4

Ahora crearemos una entidad llamada “CITA_MEDICA” para esto haz clic en “Nueva Entidad”.

Le daremos el nombre CITA_MEDICA a la nueva entidad, recuerda siempre que los nombres de
las entidades deben ir en MAYÚSCULA y son singulares.

35

www.iplacex.cl
SEMANA 4

A continuación comenzaremos a agregar los atributos de la entidad CITA_MEDICA. Para esto


debes hacer clic en el panel izquierdo de las propiedades, donde dice “Atributos”.

Para ingresar el primer atributo de la entidad, debes hacer clic en el icono “+” con el que puedes
agregar el atributo a la lista.

36

www.iplacex.cl
SEMANA 4

El nombre del primer atributo será “codigo_cita”, recuerda que los nombres de los atributos se
escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.
Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “NUMERIC” para luego asignarle el tamaño que utilizará.

37

www.iplacex.cl
SEMANA 4

Le asignarás el tamaño “3” y luego haz clic en “UID” para definir que es el identificador único del
atributo.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “fecha_cita” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “DATE” .


Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Ingresamos el nombre del atributo “numero_clinica” y seleccionamos “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “NUMERIC” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “3” y luego haz clic en “Obligatorio” para definir que este atributo no
puede quedar en blanco.

38

www.iplacex.cl
SEMANA 4

Ahora realizamos la relación 1:M.


Haz clic en el icono “Relación 1:M”.

Entonces en Nombre de Origen de paciente escribe “posee”, y en Nombre en Destino de


citas_médicas escribe ”pertenece”. Luego haz clic en “Aceptar”.

39

www.iplacex.cl
SEMANA 4

En el siguiente Demuestra, veremos como aplicar la segunda forma normal (2FN).

40

www.iplacex.cl
SEMANA 4

Tenemos la entidad ALUMNO con los siguientes atributos:


#* numero_alumno NUMERIC (3)
* nombre VARCHAR (20)
* apellido_paterno VARCHAR (20)
* apellido_materno VARCHAR (20)
* carrera VARCHAR (10)

Nos detenemos a observar la entidad.


Un ALUMNO pertenece a una carrera, pero una carrera no es un atributo atómico, ya que muchos
alumnos pueden pertenecer a una misma carrera.

Entonces tenemos que extraer el atributo carrera y convertirlo en una entidad.


Haz clic en “Nueva Entidad”.

41

www.iplacex.cl
SEMANA 4

Haz clic en “Panel Lógico”.

Le daremos el nombre CARRERA a la nueva entidad, recuerda siempre que los nombres de las
entidades deben ir en MAYÚSCULA y son singulares.

42

www.iplacex.cl
SEMANA 4

La entidad CARRERA tendrá los atributos *codigo_carrera y *nombre_carrera . Para esto debes
hacer clic en el panel izquierdo de las propiedades, donde dice “Atributos”.

Para ingresar el primer atributo de la entidad, debes hacer clic en el icono “+” con el que puedes
agregar el atributo a la lista.

El nombre del primer atributo será “codigo_carrera”, recuerda que los nombres de los atributos
se escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “NUMERIC” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “3” y luego haz clic en “Obligatorio” para definir que este atributo no
puede quedar en blanco.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

Agrega otro atributo llamado“nombre_carrera”, recuerda que los nombres de los atributos se
escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “20” y luego haz clic en “Obligatorio” para definir que este atributo no
puede quedar en blanco.

43

www.iplacex.cl
SEMANA 4

Haz clic en “Aceptar” .

Ahora debes editar la entidad ALUMNO y eliminar el atributo “carrera”.


Haz doble clic en la entidad “ALUMNO”.

44

www.iplacex.cl
SEMANA 4

Haz clic en el icono “X”, para eliminar el atributo repetitivo.

Ahora usando la misma idea que nos planteamos al analizar la entidad ALUMNO, realizamos la
relación 1:M desde CARRERA hacia ALUMNO.
Para esto haz clic en “Nueva relación 1:M”

45

www.iplacex.cl
SEMANA 4

Es decir, una carrera tiene muchos alumnos, pero un alumno pertenece a una sola carrera.
Haz clic primero en “CARRERA” y luego en “ALUMNO”

Entonces en Nombre de Origen de CARRERA escribe “pertenece”, y en Nombre en Destino de


ALUMNO escribe ”tiene”. Luego haz clic en “Aceptar”.

46

www.iplacex.cl
SEMANA 4

Entonces la pregunta ahora es ¿Cuál es la diferencia entre Primera y Segunda Forma Normal?
En 1FN los atributos que se sacaban representaban grupos de atributos o admitían más de un
valor, además dependen de la entidad en la que se encontraban.
En cambio, en 2FN el atributo que sacamos no depende de la entidad en la que estaba, y permite
valores distintos que pueden ser utilizados por varios valores de la entidad que salió.
En el siguiente Demuestra, veremos como aplicar la tercera forma normal (3FN).

47

www.iplacex.cl
SEMANA 4

Para revisar la 3FN tenemos la entidad REVISTA con los siguientes atributos:
#* numero NUMERIC (3)
* codigo_editorial NUMERIC (3)
* nombre_editorial VARCHAR (15)
* fecha_publicacion DATE

Nos detenemos a observar la entidad.


La entidad se encuentra en 1FN, ya que todos sus atributos permiten un valor único y
posiblemente atómico.
Luego podemos notar que se encuentra en 2FN, ya que ninguno de sus atributos tienen
dependencia parcial entre ellos.

Entonces podemos notar que sí hay dependencias transitivas.


Esto quiere decir que un atributo que no es identificador único depende de otro atributo que
tampoco es identificador único.

En este caso nombre_editorial depende de codigo_editorial y es posible sacarlos.


Para esto se debe crear la entidad EDITORIAL y relacionarla con REVISTA.
Haz clic en “Nueva Entidad”.

48

www.iplacex.cl
SEMANA 4

Haz clic en “Panel Lógico”.

Le daremos el nombre EDITORIAL a la nueva entidad, recuerda siempre que los nombres de las
entidades deben ir en MAYÚSCULA y son singulares.

49

www.iplacex.cl
SEMANA 4

La entidad EDITORIAL tendrá los atributos *codigo_editorial y *nombre_editorial. Para esto


debes hacer clic en el panel izquierdo de las propiedades, donde dice “Atributos”.
Para ingresar el primer atributo de la entidad, debes hacer clic en el icono “+” con el que puedes
agregar el atributo a la lista.
El nombre del primer atributo será “codigo_editorial”, recuerda que los nombres de los atributos
se escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.
Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.
Haz clic en “NUMERIC” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “3” y luego haz clic en “UID” para definir que este atributo es el
identificador único primario.

Ingresaremos otro atributo a la entidad, para eso debes hacer clic en el icono “+”, con el que
puedes agregar el atributo a la lista.

El siguiente atributo será “nombre_editorial”, recuerda que los nombres de los atributos se
escriben con minúsculas. Luego selecciona el tipo de dato “Lógico”.

Haz clic en Tipo de Origen “Unknown” para luego asignarle el tamaño que utilizará.

Haz clic en “VARCHAR” para luego asignarle el tamaño que utilizará.

Le asignarás el tamaño “15” y luego haz clic en “Obligatorio” para definir que este atributo no
puede quedar en blanco.

50

www.iplacex.cl
SEMANA 4

Haz clic en “Aceptar” .

Ahora debes editar la entidad REVISTA y eliminar el atributo “fecha_publicacion”.


Haz doble clic en la entidad “REVISTA”.

51

www.iplacex.cl
SEMANA 4

Haz clic en el icono “X”, para eliminar el atributo repetitivo.

Haz clic en “Aceptar”.

52

www.iplacex.cl
SEMANA 4

Ahora decimos una REVISTA es editada por una EDITORIAL, y una EDITORIAL es editora de
muchas REVISTAS creando la relación 1:M.
Para esto haz clic en “Nueva relación 1:M”

Haz clic primero en “EDITORIAL” y luego en “REVISTA”

53

www.iplacex.cl
SEMANA 4

Entonces en Nombre de Origen de EDITORIAL escribe “editora de”, y en Nombre en Destino de


REVISTA escribe ”editada por”. Luego haz clic en “Aceptar”.

¡Bien hecho!, has terminado de demostrar como se aplican las formas normales al modelo
Entidad Relación.
En el siguiente Demuestra, veremos como aplicar la transformación del modelo entidad relación
al modelo relacional trabajando con terminología estructural en el modelo.

54

www.iplacex.cl
SEMANA 4

Existen varias Reglas de transformación para construir el Modelo Relacional a partir del Modelo
Entidad Relación.

Veremos cómo aplicar la transformación de:


Entidad Fuerte
Relaciones 1:M
Relaciones M:M (N:M)
Relaciones 1:1
Relaciones Recursivas
Entidades Débiles

Tenemos la entidad EMPLEADO que posee los siguientes atributos:


#* numrut NUMERIC (3)
* dvrut VARCHAR (2)
* primer_nombre VARCHAR (30)
* apellido_paterno VARCHAR (30)
o fono NUMERIC (10)

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

55

www.iplacex.cl
SEMANA 4

Ahora haz clic “Realizar Ingenieria”

Obtenemos el Modelo Relacional Gráfico.


Con respecto a transformación debemos saber que toda entidad del Modelo Entidad Relación se
transforma en Relación o Tabla en el Modelo Relacional.
Los atributos de las entidades del Modelo Entidad Relación se transforman en atributos o
columnas de la relación en el modelo relacional.

56

www.iplacex.cl
SEMANA 4

En la forma no gráfica del modelo relacional se le debe colocar el nombre de la relación, que
debería ser el mismo nombre de la entidad.
En la forma no gráfica del modelo relacional los atributos se colocan entre paréntesis a
continuación del nombre de la relación y separados por coma.
Los atributos identificadores únicos de las entidades del Modelo Entidad Relación se transforman
en PK de la relación del modelo relacional.

Para la transformación de la relación 1:M tenemos dos entidades, DEPARTAMENTO y


EMPLEADO, similar al ejemplo anterior.

La entidad DEPARTAMENTO
#* codigo NUMERIC (5)
* descripcion VARCHAR (20)
Y la entidad EMPLEADO con

57

www.iplacex.cl
SEMANA 4

#* numrut NUMERIC(10)
* dvrut VARCHAR(1)
* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)
Luego planteamos la relación como 1:M, en donde un departamento tiene asignados a muchos
empleados, y un empleado pertenece a un departamento. Para esto haz clic en el icono de
“relación 1:M”.

Haz clic en la entidad DEPARTAMENTO y luego clic en la entidad EMPLEADO.

58

www.iplacex.cl
SEMANA 4

Decimos entonces que un departamento tiene asignado a muchos empleados, y un empleado


pertenece a un departamento. Escribe en nombre en origen “asignados” y en nombre en destino
“pertenece”.

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

59

www.iplacex.cl
SEMANA 4

Ahora haz clic “Realizar Ingenieria”

Obtenemos el Modelo Relacional Gráfico.


La relación del lado muchos (tabla relacionada) incluye como clave externa o foránea (FK) las
columnas que forman la clave primaria de la relación del lado Uno (relación principal) .
Por lo general el formato del nombre de la clave foranea es “FK_tablarelacionada_tablaprincipal”,
a esta clave foránea se le debe asignar un nombre representativo a su tabla de origen.

Modelo Relacional Gráfico.


La punta de la flecha indica la tabla principal que contiene la columna de clave primaria, que son
referenciadas por la tabla relacionada.
La clave foránea esta marcada con una F.

60

www.iplacex.cl
SEMANA 4

En la forma no gráfica del modelo relacional las columnas que forman la clave foránea se marcan
con un asterisco.
En el ejemplo la columna código de la relación departamento, es incluida como columna de la
relación empleado, y además es clave foránea.

La entidad ASIGNATURA
#* codigo NUMERIC (5)
* descripcion VARCHAR (20)
Y la entidad PROFESORcon
#* numrut NUMERIC(10)
* dvrut VARCHAR(1)
* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)
Luego planteamos la relación como M:M, en donde un profesor puede dictar muchas asignaturas,
y una asignatura puede ser dictada por varios profesores. Para esto haz clic en el icono de
“relación M:M”.

61

www.iplacex.cl
SEMANA 4

Haz clic en la entidad ASIGNATURA y luego clic en la entidad PROFESOR.

Decimos entonces que un profesor puede dictar muchas asignaturas y una asignatura puede ser
dictada por varios profesores. Escribe en nombre en origen “dictada” y en nombre en destino
“dicta”.

62

www.iplacex.cl
SEMANA 4

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

Ahora haz clic “Realizar Ingenieria”

63

www.iplacex.cl
SEMANA 4

Obtenemos el Modelo Relacional Gráfico.


Para las relaciones M:M del modelo entidad/relación que no pudieron ser eliminados, se debe
generar una relación intermedia en el modelo relacional, a la cual se le debe asignar un nombre
adecuado, así que cambiamos el nombre de la tabla creada. Haz doble clic en “Relation_1”.

Le asignaras el nombre “ASIGNATURA_DICTA” a la nueva relación.

64

www.iplacex.cl
SEMANA 4

Entonces la relación intermedia contiene dos claves foráneas en donde cada una referencia a la
clave primaria de las tablas originales.
Ambas claves externas (foráneas) además componen la clave primaria de la relación intermedia
a la cual se le debe asignar un nombre adecuado.

En la forma no gráfica del modelo relacional se debe crear la nueva tabla de relación y la columna
que conforma la clave foránea se marcan con un asterisco.
En la forma no gráfica se deben subrayar las claves primarias.
En el ejemplo se crea la relación intermedia ASIGNATURA_DICTA con las columnas de claves
primarias de las relaciones asignatura y profesor. Ambas columnas son PK y FK.

65

www.iplacex.cl
SEMANA 4

Para la transformación de la relación 1:1 tenemos dos entidades, EMPLEADO y CONYUGE,


similar al ejemplo anterior.
La entidad EMPLEADO con:
#* numrut_empleado NUMERIC(10)
* dvrut_empleado VARCHAR(1)
* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)
y la entidad CONYUGE con:
#* numrut_conyuge NUMERIC(10)
* dvrut_conyuge VARCHAR(1)
* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)
Luego planteamos la relación como 1:1, en donde un empleado tiene un cónyuge y un cónyuge
pertenece a un empleado. Para esto haz clic en el icono de “relación 1:1”.

66

www.iplacex.cl
SEMANA 4

Haz clic en la entidad EMPLEADO y luego clic en la entidad CONYUGE.

Decimos entonces que un empleado tiene un cónyuge y un cónyuge pertenece a un empleado


Escribe en nombre en origen “tiene” y en nombre en destino “pertenece”.

67

www.iplacex.cl
SEMANA 4

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

Ahora haz clic “Realizar Ingenieria”

68

www.iplacex.cl
SEMANA 4

Las relaciones 1:1 en el Modelo Entidad Relación son poco comunes, en muchos casos puede
implicar que las dos entidades son en realidad una sola y se deben unir.
Se coloca como clave foránea en una de las relaciones del modelo relacional la o las columnas
que conforman la clave primaria de la relación, sin importar, en un principio, en cuál de las
relaciones.

En el caso de que una


entidad participe opcionalmente en la relación, entonces es el identificador de esta entidad el que
se colocará como clave externa en la relación que representa a la otra entidad.
En el ejemplo la relación de EMPLEADO con CONYUGE es opcional, por lo tanto, al transformar
al modelo relacional la clave primaria de EMPLEADO se convierte en una columna más de
CONYUGE y además es clave foránea.

69

www.iplacex.cl
SEMANA 4

Para la transformación de la relación recursiva tenemos la entidad EMPLEADO.

La entidad EMPLEADO tine:


#* numrut NUMERIC(10)
* dvrut VARCHAR(1)
* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)

Luego planteamos la relación como 1:M, en donde un empleado es subordinado de un jefe, y un


jefe tiene muchos subordinados. Para esto haz clic en el icono de “relación 1:M”.

70

www.iplacex.cl
SEMANA 4

Haz doble clic en la entidad EMPLEADO.

Decimos entonces que un empleado es subordinado de un jefe y un jefe tiene muchos


subordinados. Escribe en nombre en origen “jefe de” y en nombre en destino “subordinado a”.

71

www.iplacex.cl
SEMANA 4

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

Ahora haz clic “Realizar Ingenieria”

72

www.iplacex.cl
SEMANA 4

Las relaciones recursivas se tratan de la misma forma que las otras, sólo que atributo
identificador único puede figurar dos veces en una relación como resultado de la transformación,
que además es clave foránea.
Es por esto que se le debe asignar otro nombre a esa columna. Haz doble clic en la entidad
“EMPLEADO”.

El nombre que se le asignará a esta columna será “numrut_jefe”.

73

www.iplacex.cl
SEMANA 4

En el ejemplo el atributo rut se transforma en esta columna de la relación empleado en el modelo


relacional y además es la clave foránea, por lo tanto queda con el nombre de numrut_jefe.
De la misma forma se arma el diseño relacional no gráfico.

Para la transformación de la Entidad Débil tenemos dos entidades, VENDEDOR y VENTA.

La entidad VENDEDOR:
#*cod_vendedor NUMERIC (5)
* numrut NUMERIC(10)
* dvrut VARCHAR(1)

74

www.iplacex.cl
SEMANA 4

* primer_nombre VARCHAR(30)
* apellido_paterno VARCHAR(30)
o fono NUMERIC (10)
Y la entidad VENTA :
#*fecha_hora_venta DATE
*monto_venta NUMERIC (8)
Luego planteamos la relación como 1:M, en donde un vendedor efectúa muchas ventas y una
venta le pertenece a un vendedor . Para esto haz clic en el icono de “relación 1:M”.

Haz clic en la entidad VENDEDOR y luego clic en la entidad VENTA.

75

www.iplacex.cl
SEMANA 4

Decimos entonces un vendedor efectua muchas ventas, pero una venta le pertenece a un
vendedor. Escribe en nombre en origen “efectua” y en nombre en destino “pertenece”.

Para realizar la transformación al Modelo Relacional haz clic en la doble flecha azul “Realizar
Ingeniería”.

76

www.iplacex.cl
SEMANA 4

Ahora haz clic “Realizar Ingenieria”

Toda entidad débil incorpora una relación implícita con una entidad fuerte.
Se debe incorporar la clave primaria de la relación que representa a la entidad fuerte como clave
externa o foránea en la relación que representa a la entidad débil.
Normalmente esa clave externa además forma parte de la clave principal de la relación que
representa a la entidad débil.

77

www.iplacex.cl
SEMANA 4

En ocasiones el identificador de la entidad débil es suficiente para identificar los ejemplares de


dicha entidad, entonces ese identificador quedaría como clave principal, pero el identificador de
la entidad fuerte seguiría figurando como clave externa en la entidad débil.
En el ejemplo la columna código vendedor que es la clave primaria de la relación vendedor, se
transforma en una columna clave foránea de la relación venta, además junto con la columna
fecha_hora_venta forman la clave primaria, para identificar de forma única una venta de un
vendedor en particular.

78

www.iplacex.cl
SEMANA 4

79

www.iplacex.cl
SEMANA 4

80

www.iplacex.cl
SEMANA 4

81

www.iplacex.cl

También podría gustarte