SlideShare una empresa de Scribd logo
1 de 29
Capítulo 4
Modelo Lógico
Objetivos
• Tablas, Columnas, Filas y Campos(Primera Forma Normal)
• Definición de Primary Key y Foreign Key
• Conversión de Entidades del Modelo Conceptual
• Conversión de Relaciones:
– 1:1
– 1:M
– M:M
– Ternaria
• Conversión de Relaciones Especiales
– Supertipo-Subtipo
– Dependencia
– Recursiva
• Resolución de la Ubicación de los Atributos de la Relación
Modelo Lógico
• El modelo lógico es el refinamiento del
Modelo Conceptual
• Aquí se reducen y/o aumentan entidades y
solo quedan aquellas que van a ser diseñadas
como tablas de la Base de Datos
Formas Normales (FN)
• En la teoría de bases de datos relacionales, las
formas normales (FN) proporcionan los
criterios para determinar el grado de
vulnerabilidad de una tabla a inconsistencias y
anomalías lógicas.
Tablas, Columnas, Filas y
Campos(Primera Forma Normal)
• Una tabla de base de datos relacional que se
adhiere a la 1FN es una que satisface cierto
conjunto mínimo de criterios.
• Estos criterios se refieren básicamente a
asegurarse que la tabla es una representación
fiel de una relación y está libre de "grupos
repetitivos".
Tablas, Columnas, Filas y
Campos(Primera Forma Normal)
• Una tabla está en 1FN si satisface las siguientes cinco condiciones:
1. No hay orden de arriba-a-abajo en las filas.
2. No hay orden de izquierda-a-derecha en las columnas.
3. No hay filas duplicadas.
4. Cada intersección de fila-y-columna contiene exactamente un
valor del dominio aplicable y nada más.
5. Todas las columnas son regulares es decir, las filas no tienen
componentes como IDs de fila, IDs de objeto, o timestamps
ocultos.
Cedula Nombre Dirección Teléfono
0876456324 Jorge Santos 1234 Av. 10 2345678
0964532748 Luis Tinoco 6543 Av. 4 2654345
1345234567 Ana Ramírez 34 Av. 6 2654567
Cedula
Nombre
Dirección
Teléfono
CLIENTE
Tablas, Columnas, Filas y
Campos(Primera Forma Normal)
• La violación de cualesquiera de estas condiciones
significaría que la tabla no es estrictamente
relacional, y por lo tanto no está en 1FN.
Cedula Nombre Apellido Dirección Teléfono
0876456324 Jorge Santos 1234 Av. 10 2345678
0964532748 Luis Tinoco 6543 Av. 4 2654345
1345234567 Ana Ramírez 34 Av. 6 2654567
Cedula
Nombre
Apellido
Dirección
Teléfono
CLIENTE
Tabla/fila/columna = archivo/registro/campo = relación/tupla/atributo
Tipos de Claves
• Una clave es una o más columnas de una tabla
que identifica una fila.
• Una clave única identifica una sola fila, una no
única identifica a varias filas.
• Una clave compuesta es una clave que
contiene dos o más atributos.
• Una tabla tiene una clave primaria única y
puede tener claves únicas adicionales
llamadas claves candidatas.
Primary Key – Clave primaria
• Es usada para:
– Representar la tabla en las relaciones
– Organizar el almacenamiento de tabla
– Generar índices
Foreign Key – Clave Foránea
• Una clave foránea es una referencia a una
clave en otra tabla.
• Las claves foráneas no necesitan ser claves
únicas en la tabla donde están y sí a donde
están referenciadas.
idEmpleado (pk)
Nombre
Dirección
Teléfono
idDepartamento(fk)
EMPLEADO
idDepartamento(pk)
Nombre
DEPARTAMENTO
trabaja
Conversión de entidades
del modelo conceptual
• Cada entidad del modelo conceptual se
transforma directamente en una tabla.
• Los atributos de la entidad pasan a ser
automáticamente las columnas de la tabla.
Entidad Tabla
Atributos Columnas
idCliente int (pk)
Nombre char(30)
Dirección char(50)
Teléfono int
CLIENTE
idCliente
Nombre
Dirección
Teléfono
CLIENTE
Conversión de Relaciones
• Cada relación de un modelo conceptual se
transforma directamente en una tabla.
• Los campos de esta tabla son las claves
primarias de todas las entidades que
participen en la relación más todos aquellos
atributos que pudiera tener la relación.
Relación Tabla
Simplificación del modelo lógico
• El número de tablas que componen la base de
datos debe mantenerse en el mínimo posible.
• Esto mismo es aplicable a las relaciones
binarias con cardinalidad uno a uno.
• Las tablas con un único atributo se pueden
eliminar.
Relaciones 1:1
• Si las entidades que se asocian poseen
cardinalidades (0,1), entonces la relación se
transforma en una tabla, además de las dos
tablas a las que se transforman cada una de
las entidades:
idHombre
Nombre
HOMBRE
idMujer
Nombre
MUJER
matrimonio
idHombre int (pk)
Nombre char(30)
HOMBRE
idMujer int (pk)
Nombre char(30)
MUJER
idMujer int (fk)
idHombre int (fk)
MATRIMONIO
idMujer= idMujeridHombre= idHombre
Relaciones 1:1
• Si una de las entidades que participa en la relacion posee
cardinalidad (0,1), mientras que en la otra es (1,1), conviene
propagar la clave de la entidad con cardinalidad (1,1) a la tabla
resultante de la entidad de cardinalidades (0,1) con el fin de evitar
que aparezcan valores nulos.
idEmpleado
Nombre
Dirección
Teléfono
EMPLEADO
idDepartamento
Nombre
DEPARTAMENTO
dirige
idEmpleado int (pk)
Nombre char(30)
Dirección char(50)
Teléfono int
EMPLEADO
idDepartamento int(pk)
Nombre char(30)
idEmpleado int (fk)
DEPARTAMENTO
idEmpleado= idEmpleado
Relaciones 1:1
• En el caso de que ambas entidades presenten cardinalidades (1,1),
se puede propagar la clave de cualquiera de ellas a la tabla
resultante de la otra, teniendo en cuenta en este caso los accesos
más frecuentes y prioritarios a los datos de las tablas.
codigo
Nombre
añoFundacion
EQUIPO
cedula
Nombre
Apellido
PRESIDENTE
tiene
codigo= codigo
Cedula char (12) (pk)
Nombre char(30)
Apellido char(30)
Codigo int (fk)
PRESIDENTE
Codigo int (pk)
Nombre char(50)
añoFundacion int
EQUIPO
cedula= cedula Cedula char (12) (pk)
Nombre char(30)
Apellido char(30)
PRESIDENTE
Codigo int (pk)
Nombre char(50)
añoFundacion int
Cedula char(12) (fk)
EQUIPO
Relaciones 1:M
• Las tablas obtenidas como transformación de
relaciones binarias con cardinalidad uno a varios
se pueden eliminar.
• Los atributos que formaban parte de la tabla
pasan a formar parte de la tabla que representa
la entidad con cardinalidad “varios”.
• Asimismo, si la relación tuviera atributos propios,
también pasarían a la tabla que representa la
entidad con cardinalidad “varios”.
Relaciones 1:M
idEmpleado int (pk)
Nombre char(30)
Dirección char(50)
Teléfono int
idDepartamento int(fk)
EMPLEADO
idDepartamento int (pk)
Nombre char(30)
DEPARTAMENTO
idDepartamento = idDepartamento
idEmpleado
Nombre
Dirección
Teléfono
EMPLEADO
idDepartamento
Nombre
DEPARTAMENTO
trabaja
Relaciones 1:M
idUsuario= idUsusario
idUsuario
password
nombre
apellido
USUARIO
idReservacion
fechaLlegada
horaLlegada
diasPermanencia
RESERVACION
registra
fechaReservacion
horaReservacion
idUsuario char(30)(pk)
Password char(30)
Nombre char(30)
Apellido char(30)
USUARIO
idReservacion int (pk)
fechaLlegada date
horaLlegada time
diasPermanencia int
fechaReservacion date
horaReservacion time
idUsuario char(30) (fk)
RESERVACION
Relaciones M:M
idcliente
Nombre
Apellido
Dirección
Teléfono
CLIENTE
codProducto
Descripcion
PRODUCTOS
compra
fechaCompra
Idcliente int (pk)
Nombre char(30)
Apellido char(30)
Dirección char(50)
Teléfono int
CLIENTE
codProducto int (pk)
Descripcion char(50)
PRODUCTOS
idCompra (pk)
idCliente int (fk)
codProducto int(fk)
fechaCompra date
COMPRA
idCliente=idCliente
codProducto=codProducto
Relaciones Ternarias
idCliente
Nombre
Direccion
Telefono
Ciudad
CLIENTE
idCliente int (pk)
Nombre char(30)
Direccion char(50)
Telefono int
Ciudad char(30)
CLIENTE
idFormaPago
descripcion
FORMADEPAGO
numFactura
montoTotal
FACTURA
paga
Fecha
hora
idFormaPago int (pk)
Descripcion char(50)
FORMADEPAGO
idFormaPago int (fk)
idCliente int (fk)
numFactura int (fk)
Fecha date
Hora time
PAGO
numFactura int (pk)
montoTotal numeric(20,2)
FACTURA
idCliente=idCliente
idFormaPago= idFormaPago
numFactura= numFactura
Conversión de Relaciones Especiales
Supertipo –Subtipo
(a) Englobar todos los atributos de la entidad y sus subtipos en una
sola tabla. (Adoptaremos esta solución cuando los subtipos se
diferencien en muy pocos atributos y las relaciones que los
asocian con el resto de entidades del modelo conceptual sean las
mismas para todos los subtipos.
(b) Crear una tabla para el supertipo y tantas tablas como subtipos
haya, con sus atributos correspondientes. Esta es la solución
cuando existen muchos atributos distintos entre los subtipos y se
quieren mantener de todas las maneras los atributos comunes a
todos ellos en una tabla.
(c) Considerar las tablas distintas para cada subtipo, que contengan
además los atributos comunes. Se elegirá esta opción cuando se
dieran las mismas condiciones que en el caso anterior (muchos
atributos distintos) y los accesos realizados sobre los datos de los
distintos subtipos siempre afectan a atributos comunes.
Supertipo –Subtipo
idCliente
Nombre
Direccion
Telefono
Ciudad
CLIENTE
RUC
Razon social
Empresa
Cedula
Estado civil
Persona
idCliente int (pk)
Nombre char(30)
Direccion char(50)
Telefono int
Ciudad char(30)
RUC char(14)
Razon social char(20)
Cedula char(12)
EstadoCivil char(10)
CLIENTE(a)
Supertipo –Subtipo
idCliente int (pk)
Nombre char(30)
Direccion char(50)
Telefono int
Ciudad char(30)
CLIENTE(b)
idCliente
Nombre
Direccion
Telefono
Ciudad
CLIENTE
RUC
Razon social
Empresa
Cedula
Estado civil
Persona
idCliente int(fk)
RUC char(14) (pk)
Razon social char(20)
Empresa
idCliente int (fk)
Cedula char(12) (pk)
EstadoCivil char(10)
Persona
Supertipo –Subtipo
(c)
idCliente
Nombre
CLIENTE
RUC
Razon social
Empresa
Cedula
Estado civil
Persona
RUC char(14) (pk)
idCliente int (pk)
Nombre char(30)
Razon social char(20)
Empresa
Cedula char(12) (pk)
idCliente int (pk)
Nombre char(30)
EstadoCivil char(10)
Persona
Dependencia
Edificio Departamentotiene
idEdificio
Nombre
direccion
idDepartamento
Numero
Piso
Edificio Departamento
idEdificio int (pk)
Nombre char(30)
direccion char(50)
idDepartamento int (pk)
Numero int
Piso int
idEdificio int (fk)
idEdificio= idEdificio
Recursiva
Supervisa
idEmpleado
Nombre
Apellido
Dirección
Teléfono
Empleado
idEmpleado int (pk)
Nombre char(30)
Apellido char(30)
Dirección char(50)
Teléfono int
idEmpleado2 int(fk)
Empleado
idEmpleado= idEmpleado2
Diccionario de Datos
• Es un documento que muestra una
descripción de los elementos que componen
cada tabla.
• Para cada atributo de la tabla se especifica:
Atributo Tipo de Dato Dominio Descripción
Ejemplo de Diccionario de Datos

Más contenido relacionado

La actualidad más candente

Fórmulas y funciones básicas
Fórmulas y funciones básicasFórmulas y funciones básicas
Fórmulas y funciones básicasRocioGutierrez1993
 
6 consultas
6 consultas6 consultas
6 consultasVirteco
 
Buscar buscarv buscarh
Buscar buscarv buscarhBuscar buscarv buscarh
Buscar buscarv buscarhJohn Ortega
 
Teoria y-actividades-excel-2007
Teoria y-actividades-excel-2007Teoria y-actividades-excel-2007
Teoria y-actividades-excel-2007MiguelCorrea98
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bdMaría Luisa Velasco
 
Informatica grupo nº 10
Informatica grupo nº 10Informatica grupo nº 10
Informatica grupo nº 10Brayans123
 
Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1IsabelJaramilloJ
 
Manual excel medio - funciones
Manual excel medio -  funcionesManual excel medio -  funciones
Manual excel medio - funcioneseLMformacion
 
Repasando Excel
Repasando ExcelRepasando Excel
Repasando Excelmpfarias
 
FUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELFUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELDennisse Mayon
 
Funciones estadisticas de excel
Funciones estadisticas de excelFunciones estadisticas de excel
Funciones estadisticas de excelMalco Quintero
 
Promedio y promedio si
Promedio y promedio siPromedio y promedio si
Promedio y promedio si21031990
 
CURSO EXCEL - iNTRODUCCIÓN
CURSO EXCEL - iNTRODUCCIÓNCURSO EXCEL - iNTRODUCCIÓN
CURSO EXCEL - iNTRODUCCIÓNVirginia Caccuri
 

La actualidad más candente (17)

Fórmulas y funciones básicas
Fórmulas y funciones básicasFórmulas y funciones básicas
Fórmulas y funciones básicas
 
Diseño bases d e datos
Diseño bases d e datosDiseño bases d e datos
Diseño bases d e datos
 
6 consultas
6 consultas6 consultas
6 consultas
 
Buscar buscarv buscarh
Buscar buscarv buscarhBuscar buscarv buscarh
Buscar buscarv buscarh
 
Teoria y-actividades-excel-2007
Teoria y-actividades-excel-2007Teoria y-actividades-excel-2007
Teoria y-actividades-excel-2007
 
Cuadernillo actividades excel
Cuadernillo actividades excelCuadernillo actividades excel
Cuadernillo actividades excel
 
Suma
SumaSuma
Suma
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bd
 
Informatica grupo nº 10
Informatica grupo nº 10Informatica grupo nº 10
Informatica grupo nº 10
 
Explicamos
ExplicamosExplicamos
Explicamos
 
Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1Funciones Estadisticas Grupo 1
Funciones Estadisticas Grupo 1
 
Manual excel medio - funciones
Manual excel medio -  funcionesManual excel medio -  funciones
Manual excel medio - funciones
 
Repasando Excel
Repasando ExcelRepasando Excel
Repasando Excel
 
FUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCELFUNCIONES ESTADISTICA EN EXCEL
FUNCIONES ESTADISTICA EN EXCEL
 
Funciones estadisticas de excel
Funciones estadisticas de excelFunciones estadisticas de excel
Funciones estadisticas de excel
 
Promedio y promedio si
Promedio y promedio siPromedio y promedio si
Promedio y promedio si
 
CURSO EXCEL - iNTRODUCCIÓN
CURSO EXCEL - iNTRODUCCIÓNCURSO EXCEL - iNTRODUCCIÓN
CURSO EXCEL - iNTRODUCCIÓN
 

Similar a 4 ml

creacion de basse de datos para alumnos de unidep en sistamas portales
creacion de basse de datos para alumnos de unidep en sistamas portalescreacion de basse de datos para alumnos de unidep en sistamas portales
creacion de basse de datos para alumnos de unidep en sistamas portalesLuisMagaa45
 
Modelo relacional (mr)
Modelo relacional (mr)Modelo relacional (mr)
Modelo relacional (mr)Damelys Bracho
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióNSergio Sanchez
 
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVERTODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVERSaulTapiaAlmidon
 
S03.s1 Modelo logico - Claves.pdf
S03.s1 Modelo logico -  Claves.pdfS03.s1 Modelo logico -  Claves.pdf
S03.s1 Modelo logico - Claves.pdfPersonaNatural1
 
Actividad apropiacion conocimientos_dbenavides
Actividad apropiacion conocimientos_dbenavidesActividad apropiacion conocimientos_dbenavides
Actividad apropiacion conocimientos_dbenavidesDanny Benavides
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacionalLesli Pacheco
 

Similar a 4 ml (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
creacion de basse de datos para alumnos de unidep en sistamas portales
creacion de basse de datos para alumnos de unidep en sistamas portalescreacion de basse de datos para alumnos de unidep en sistamas portales
creacion de basse de datos para alumnos de unidep en sistamas portales
 
Modelo relacional (mr)
Modelo relacional (mr)Modelo relacional (mr)
Modelo relacional (mr)
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Modelo relacional2
Modelo relacional2Modelo relacional2
Modelo relacional2
 
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVERTODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
 
Clase 2 Modelo Relacional - MR
Clase 2 Modelo Relacional - MRClase 2 Modelo Relacional - MR
Clase 2 Modelo Relacional - MR
 
S03.s1 Modelo logico - Claves.pdf
S03.s1 Modelo logico -  Claves.pdfS03.s1 Modelo logico -  Claves.pdf
S03.s1 Modelo logico - Claves.pdf
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Tema2 bases dedatosrelacional
Tema2 bases dedatosrelacionalTema2 bases dedatosrelacional
Tema2 bases dedatosrelacional
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Reglas de transformacion
Reglas de transformacionReglas de transformacion
Reglas de transformacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
5 modelo relacional
5 modelo relacional5 modelo relacional
5 modelo relacional
 
Actividad apropiacion conocimientos_dbenavides
Actividad apropiacion conocimientos_dbenavidesActividad apropiacion conocimientos_dbenavides
Actividad apropiacion conocimientos_dbenavides
 
Ejemplo diccionario
Ejemplo diccionarioEjemplo diccionario
Ejemplo diccionario
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 

Más de vanessaicm (12)

Sql4
Sql4Sql4
Sql4
 
Sql3
Sql3Sql3
Sql3
 
Sql1
Sql1Sql1
Sql1
 
Sql1 2
Sql1 2Sql1 2
Sql1 2
 
Sql2
Sql2Sql2
Sql2
 
7 ar
7 ar7 ar
7 ar
 
6 n2
6 n26 n2
6 n2
 
5 n
5 n5 n
5 n
 
3 mcr
3 mcr3 mcr
3 mcr
 
2 mc
2 mc2 mc
2 mc
 
8 ar2
8 ar28 ar2
8 ar2
 
1 intro
1 intro1 intro
1 intro
 

4 ml

  • 2. Objetivos • Tablas, Columnas, Filas y Campos(Primera Forma Normal) • Definición de Primary Key y Foreign Key • Conversión de Entidades del Modelo Conceptual • Conversión de Relaciones: – 1:1 – 1:M – M:M – Ternaria • Conversión de Relaciones Especiales – Supertipo-Subtipo – Dependencia – Recursiva • Resolución de la Ubicación de los Atributos de la Relación
  • 3. Modelo Lógico • El modelo lógico es el refinamiento del Modelo Conceptual • Aquí se reducen y/o aumentan entidades y solo quedan aquellas que van a ser diseñadas como tablas de la Base de Datos
  • 4. Formas Normales (FN) • En la teoría de bases de datos relacionales, las formas normales (FN) proporcionan los criterios para determinar el grado de vulnerabilidad de una tabla a inconsistencias y anomalías lógicas.
  • 5. Tablas, Columnas, Filas y Campos(Primera Forma Normal) • Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. • Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación y está libre de "grupos repetitivos".
  • 6. Tablas, Columnas, Filas y Campos(Primera Forma Normal) • Una tabla está en 1FN si satisface las siguientes cinco condiciones: 1. No hay orden de arriba-a-abajo en las filas. 2. No hay orden de izquierda-a-derecha en las columnas. 3. No hay filas duplicadas. 4. Cada intersección de fila-y-columna contiene exactamente un valor del dominio aplicable y nada más. 5. Todas las columnas son regulares es decir, las filas no tienen componentes como IDs de fila, IDs de objeto, o timestamps ocultos. Cedula Nombre Dirección Teléfono 0876456324 Jorge Santos 1234 Av. 10 2345678 0964532748 Luis Tinoco 6543 Av. 4 2654345 1345234567 Ana Ramírez 34 Av. 6 2654567 Cedula Nombre Dirección Teléfono CLIENTE
  • 7. Tablas, Columnas, Filas y Campos(Primera Forma Normal) • La violación de cualesquiera de estas condiciones significaría que la tabla no es estrictamente relacional, y por lo tanto no está en 1FN. Cedula Nombre Apellido Dirección Teléfono 0876456324 Jorge Santos 1234 Av. 10 2345678 0964532748 Luis Tinoco 6543 Av. 4 2654345 1345234567 Ana Ramírez 34 Av. 6 2654567 Cedula Nombre Apellido Dirección Teléfono CLIENTE Tabla/fila/columna = archivo/registro/campo = relación/tupla/atributo
  • 8. Tipos de Claves • Una clave es una o más columnas de una tabla que identifica una fila. • Una clave única identifica una sola fila, una no única identifica a varias filas. • Una clave compuesta es una clave que contiene dos o más atributos. • Una tabla tiene una clave primaria única y puede tener claves únicas adicionales llamadas claves candidatas.
  • 9. Primary Key – Clave primaria • Es usada para: – Representar la tabla en las relaciones – Organizar el almacenamiento de tabla – Generar índices
  • 10. Foreign Key – Clave Foránea • Una clave foránea es una referencia a una clave en otra tabla. • Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas. idEmpleado (pk) Nombre Dirección Teléfono idDepartamento(fk) EMPLEADO idDepartamento(pk) Nombre DEPARTAMENTO trabaja
  • 11. Conversión de entidades del modelo conceptual • Cada entidad del modelo conceptual se transforma directamente en una tabla. • Los atributos de la entidad pasan a ser automáticamente las columnas de la tabla. Entidad Tabla Atributos Columnas idCliente int (pk) Nombre char(30) Dirección char(50) Teléfono int CLIENTE idCliente Nombre Dirección Teléfono CLIENTE
  • 12. Conversión de Relaciones • Cada relación de un modelo conceptual se transforma directamente en una tabla. • Los campos de esta tabla son las claves primarias de todas las entidades que participen en la relación más todos aquellos atributos que pudiera tener la relación. Relación Tabla
  • 13. Simplificación del modelo lógico • El número de tablas que componen la base de datos debe mantenerse en el mínimo posible. • Esto mismo es aplicable a las relaciones binarias con cardinalidad uno a uno. • Las tablas con un único atributo se pueden eliminar.
  • 14. Relaciones 1:1 • Si las entidades que se asocian poseen cardinalidades (0,1), entonces la relación se transforma en una tabla, además de las dos tablas a las que se transforman cada una de las entidades: idHombre Nombre HOMBRE idMujer Nombre MUJER matrimonio idHombre int (pk) Nombre char(30) HOMBRE idMujer int (pk) Nombre char(30) MUJER idMujer int (fk) idHombre int (fk) MATRIMONIO idMujer= idMujeridHombre= idHombre
  • 15. Relaciones 1:1 • Si una de las entidades que participa en la relacion posee cardinalidad (0,1), mientras que en la otra es (1,1), conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad de cardinalidades (0,1) con el fin de evitar que aparezcan valores nulos. idEmpleado Nombre Dirección Teléfono EMPLEADO idDepartamento Nombre DEPARTAMENTO dirige idEmpleado int (pk) Nombre char(30) Dirección char(50) Teléfono int EMPLEADO idDepartamento int(pk) Nombre char(30) idEmpleado int (fk) DEPARTAMENTO idEmpleado= idEmpleado
  • 16. Relaciones 1:1 • En el caso de que ambas entidades presenten cardinalidades (1,1), se puede propagar la clave de cualquiera de ellas a la tabla resultante de la otra, teniendo en cuenta en este caso los accesos más frecuentes y prioritarios a los datos de las tablas. codigo Nombre añoFundacion EQUIPO cedula Nombre Apellido PRESIDENTE tiene codigo= codigo Cedula char (12) (pk) Nombre char(30) Apellido char(30) Codigo int (fk) PRESIDENTE Codigo int (pk) Nombre char(50) añoFundacion int EQUIPO cedula= cedula Cedula char (12) (pk) Nombre char(30) Apellido char(30) PRESIDENTE Codigo int (pk) Nombre char(50) añoFundacion int Cedula char(12) (fk) EQUIPO
  • 17. Relaciones 1:M • Las tablas obtenidas como transformación de relaciones binarias con cardinalidad uno a varios se pueden eliminar. • Los atributos que formaban parte de la tabla pasan a formar parte de la tabla que representa la entidad con cardinalidad “varios”. • Asimismo, si la relación tuviera atributos propios, también pasarían a la tabla que representa la entidad con cardinalidad “varios”.
  • 18. Relaciones 1:M idEmpleado int (pk) Nombre char(30) Dirección char(50) Teléfono int idDepartamento int(fk) EMPLEADO idDepartamento int (pk) Nombre char(30) DEPARTAMENTO idDepartamento = idDepartamento idEmpleado Nombre Dirección Teléfono EMPLEADO idDepartamento Nombre DEPARTAMENTO trabaja
  • 19. Relaciones 1:M idUsuario= idUsusario idUsuario password nombre apellido USUARIO idReservacion fechaLlegada horaLlegada diasPermanencia RESERVACION registra fechaReservacion horaReservacion idUsuario char(30)(pk) Password char(30) Nombre char(30) Apellido char(30) USUARIO idReservacion int (pk) fechaLlegada date horaLlegada time diasPermanencia int fechaReservacion date horaReservacion time idUsuario char(30) (fk) RESERVACION
  • 20. Relaciones M:M idcliente Nombre Apellido Dirección Teléfono CLIENTE codProducto Descripcion PRODUCTOS compra fechaCompra Idcliente int (pk) Nombre char(30) Apellido char(30) Dirección char(50) Teléfono int CLIENTE codProducto int (pk) Descripcion char(50) PRODUCTOS idCompra (pk) idCliente int (fk) codProducto int(fk) fechaCompra date COMPRA idCliente=idCliente codProducto=codProducto
  • 21. Relaciones Ternarias idCliente Nombre Direccion Telefono Ciudad CLIENTE idCliente int (pk) Nombre char(30) Direccion char(50) Telefono int Ciudad char(30) CLIENTE idFormaPago descripcion FORMADEPAGO numFactura montoTotal FACTURA paga Fecha hora idFormaPago int (pk) Descripcion char(50) FORMADEPAGO idFormaPago int (fk) idCliente int (fk) numFactura int (fk) Fecha date Hora time PAGO numFactura int (pk) montoTotal numeric(20,2) FACTURA idCliente=idCliente idFormaPago= idFormaPago numFactura= numFactura
  • 22. Conversión de Relaciones Especiales Supertipo –Subtipo (a) Englobar todos los atributos de la entidad y sus subtipos en una sola tabla. (Adoptaremos esta solución cuando los subtipos se diferencien en muy pocos atributos y las relaciones que los asocian con el resto de entidades del modelo conceptual sean las mismas para todos los subtipos. (b) Crear una tabla para el supertipo y tantas tablas como subtipos haya, con sus atributos correspondientes. Esta es la solución cuando existen muchos atributos distintos entre los subtipos y se quieren mantener de todas las maneras los atributos comunes a todos ellos en una tabla. (c) Considerar las tablas distintas para cada subtipo, que contengan además los atributos comunes. Se elegirá esta opción cuando se dieran las mismas condiciones que en el caso anterior (muchos atributos distintos) y los accesos realizados sobre los datos de los distintos subtipos siempre afectan a atributos comunes.
  • 23. Supertipo –Subtipo idCliente Nombre Direccion Telefono Ciudad CLIENTE RUC Razon social Empresa Cedula Estado civil Persona idCliente int (pk) Nombre char(30) Direccion char(50) Telefono int Ciudad char(30) RUC char(14) Razon social char(20) Cedula char(12) EstadoCivil char(10) CLIENTE(a)
  • 24. Supertipo –Subtipo idCliente int (pk) Nombre char(30) Direccion char(50) Telefono int Ciudad char(30) CLIENTE(b) idCliente Nombre Direccion Telefono Ciudad CLIENTE RUC Razon social Empresa Cedula Estado civil Persona idCliente int(fk) RUC char(14) (pk) Razon social char(20) Empresa idCliente int (fk) Cedula char(12) (pk) EstadoCivil char(10) Persona
  • 25. Supertipo –Subtipo (c) idCliente Nombre CLIENTE RUC Razon social Empresa Cedula Estado civil Persona RUC char(14) (pk) idCliente int (pk) Nombre char(30) Razon social char(20) Empresa Cedula char(12) (pk) idCliente int (pk) Nombre char(30) EstadoCivil char(10) Persona
  • 26. Dependencia Edificio Departamentotiene idEdificio Nombre direccion idDepartamento Numero Piso Edificio Departamento idEdificio int (pk) Nombre char(30) direccion char(50) idDepartamento int (pk) Numero int Piso int idEdificio int (fk) idEdificio= idEdificio
  • 27. Recursiva Supervisa idEmpleado Nombre Apellido Dirección Teléfono Empleado idEmpleado int (pk) Nombre char(30) Apellido char(30) Dirección char(50) Teléfono int idEmpleado2 int(fk) Empleado idEmpleado= idEmpleado2
  • 28. Diccionario de Datos • Es un documento que muestra una descripción de los elementos que componen cada tabla. • Para cada atributo de la tabla se especifica: Atributo Tipo de Dato Dominio Descripción