Вы находитесь на странице: 1из 6

DISEÑO CONCEPTUAL MODELO ENTIDAD/RELACION

Hacemos una primera aproximación identificando las relaciones, así como las entidades y sus atributos

Entidad Atributos Observaciones


CodProg: Clave principal
Nombre: Nombre del programa
TipoAplic: El valor de este dato se corresponde con
el rango descrito en la ficha:
Programa CodProg, NombreProg, TipoAplic
Sistemas Operativos.
Ofimática
Diseño de páginas Web.
….

Para poder elaborar el esquema de E/R, intentamos identificar las entidades tal y como hemos hecho, y
para definir las relaciones que se establecen entre ellas Construimos una matriz de Entidades, que nos
permite visualizar el tipo de relación así como su correspondencia

Ficha Ficha Ficha Centros


Residen Ficha Ficha Patologí Medica
Medica Patologí Traslad Entidad Médico Familiar
te Historia Salidas a mento
ción as os es
Residente -- R R R R R R
Ficha
-- -- R R
Medicación
Ficha
-- -- -- R
Patologías
Ficha
-- -- -- -- R
Historia
Ficha
-- -- -- -- -- R
Traslados
Ficha
-- -- -- -- -- -- R
Salidas
Patología -- -- -- -- -- -- --
Medicamen
-- -- -- -- -- -- -- --
to
Centro/Enti
-- -- -- -- -- -- -- -- --
dad
Médico -- -- -- -- -- -- -- -- -- --
Familiar -- -- -- -- -- -- -- -- -- -- --

Realizamos un estudio de su cardinalidad y su correspondencia. Acercándonos lo más posible al significado


de los enunciados expresados en lenguaje natural

Entidad A Entidad B Relación Tipo Cardinalidad Correspondencia

1
1 Residente puede tener (0,n) anotaciones
Ficha TieneHisto RI (débil: en historia
Residente (1:N)
Historia rial entidad B) 1 Anotación en historia se corresponde a
(1,1) Residente
1 Residente puede tener (0,n) anotaciones
Ficha TieneMedi RI (débil: en la ficha de medicación
Residente (1:N)
Medicación cación entidad B) 1 Anotación de medicación se corresponde
a (1,1) Residente
1 Residente puede tener (0,n) anotaciones
Ficha TienePatol RI (débil: en la ficha de patología
Residente (1:N)
Patología ogía entidad B) 1 Anotación de una patología se
corresponde a (1,1) Residente
1 Residente puede tener (0,n) anotaciones
TieneSalid RI (débil: en la ficha de salidas
Residente Ficha Salida (1:N)
as entidad B) 1 Anotación de una salida se corresponde
a (1,1) Residente
1 Residente puede tener (0,n) anotaciones
Ficha TieneTrasl RI (débil: en la ficha de traslados
Residente (1:N)
Traslado ados entidad B) 1 Anotación de un traslado se corresponde
a (1,1) Residente
Relacionad RE (débil: 1 Residente puede tener (0,n) familiares
Residente Familiar (N:M)
o entidad B) 1 Familiar puede serlo de (1,n) Residentes
1 anotación en ficha de historia es
Ficha RealizaAno realizada por (1,1) Médico
Medico R (1:N)
Historia tación 1 Médico, puede realizar (0,n) anotaciones
en la ficha de historias
1 anotación en ficha de medicación es
Ficha prescrita por (1,1) Médico
Medico Prescribe R (1:N)
Medicación 1 Médico puede prescribir (0,n)
anotaciones en la ficha de medicación
1 Medicamento puede estar en (0,n)
Medicame Ficha EstaPauta anotaciones en ficha medicación
R (1:N)
nto Medicación doEn 1 anotación en ficha de medicamentos es
de (1,1) Medicamento
1 Patología puede estar en (0,n)
Ficha anotaciones en ficha patologías
Patologia Relacion R (1:N)
Patología 1 anotación en ficha de patologías es de
(1,1) Patología
1 CentroEntidad puede estar en (0,n)
CentroEnti anotaciones en ficha salidas
Ficha Salida SalirA R (1:N)
dad 1 anotación en ficha de salidas es de (1,1)
CentroEntidad
1 CentroEntidad puede estar en (0,n)
CentroEnti Ficha anotaciones en ficha traslados
TrasladarA R (1:N)
dad Traslado 1 anotación en ficha de traslados es de
(1,1) CentroEntidad

2
Claves, RE: Relación Existencial, RI: Relación Identificación

Ejemplo de apreciación de Relación en Identidad


Clave Principal Clave Principal Observaciones
Entidad A Entidad B Relación
Entidad A Entidad B
001 (Cod 001 (Cod La clave principal de la entidad
Residente) Anotación) débil necesita de la clave
Ficha TieneHistor
Residente principal de la entidad fuerte
Historia ial 001 (Cod 002 (Cod para definir entidades
Residente) Anotación) diferentes

Ejemplo de apreciación de Relación en Existencia


Clave Principal Clave Principal Observaciones
Entidad A Entidad B Relación Tipo
Entidad A Entidad B
001 001 Se corresponden a
Relacionad RI (débil:
Residente Familiar entidades
o entidad B) 002 001 diferentes

Quedando la Matriz de entidades

Ficha Ficha Ficha Centros


Residen Ficha Ficha Patologí Medica
Medica Patologí Traslad Entidad Médico Familiar
te Historia Salidas a mento
ción as os es
Residente -- RI(1:N) RI(1:N) RI(1:N) RI(1:N) RI(1:N) RE(N:M)
Ficha
-- -- R(1:N) R(1:N)
Medicación
Ficha
-- -- -- R(1:N)
Patologías
Ficha
-- -- -- -- R(1:N)
Historia
Ficha
-- -- -- -- -- R(1:N)
Traslados
Ficha
-- -- -- -- -- -- R(1:N)
Salidas
Patología -- -- -- -- -- -- --
Medicamen
-- -- -- -- -- -- -- --
to
Centro/Enti
-- -- -- -- -- -- -- -- --
dad
Médico -- -- -- -- -- -- -- -- -- --
Familiar -- -- -- -- -- -- -- -- -- -- --

Una vez establecida la matriz de entidades pasamos a establecer un primer esquema E/R con las entidades
sus relaciones y sus tipos de correspondencia. Los atributos de cada entidad deben incluirse pero en este
caso por simplificación evitamos su utilización.

3
Refinamos el esquema anterior mediante el estudio de posibles redundancias, si existen ciclos con
relaciones semánticas equivalentes. Eliminando la relación y estudiando las cardinalidades comprobamos
tanto en un sentido como en el otro.

Análisis de redundancias

Establecemos que el diagrama entidad/relación es válido.

4
DISEÑO LÓGICO: MODELO RELACIONAL

Nombre de las Tablas en Mayúsculas (Claves primarias subrayadas, Claves alternativas en negrita, Claves
ajenas cursiva, Atributos con valores nulos con un *)
El modelo relacional establece las siguientes restricciones
 Restricción de clave primaria (PRIMARY KEY)
 Restricción de Unicidad (UNIQUE). Claves alternativas. Atributos cuyos valores no pueden repetirse en
diferentes tuplas.
 Restricción de Obligatoriedad (NOT NULL) Atributos que no pueden tomar valores nulos, es obligatorio
que posean un valor.
 Restricción de Clave Ajena (FOREIGN KEY) Integridad referencial. Los valores de la clave ajena (relación
hijo) deben corresponderse o ser nulos si admiten nulos, con la clave primaria (relación padre).Claves en
la actualización de Datos.

Borrado en Borrado con valor Modificación en Modificación por


B:C B:D M:C M:D
cascada por defecto cascada defecto
Borrado con Borrado Modificación Modificación
B:N B:R M:N M:R
puesta a nulo restringido puesta a nulo restringida

Pueden especificarse condiciones que deben cumplir los valores de determinados atributos
Restricciones de Rechazan todo valor que no cumpla unas condiciones específicas. Se comprueban ante
verificación una inserción, borrado o modificación.
CHECK Se asocian a un objeto determinado, generalmente una relación. No necesita nombre
Restricciones de
Generalización del caso anterior. Se aplica sobre atributos de diferentes relaciones por
aserción
tanto es necesario que tenga un nombre que la identifique
ASSERTION
Disipadores
Si nos interesa especificar una acción en caso de rechazo.
TRIGGER

Proceso de transformación del modelo relacional


 Su clave primaria, es una concatenación de las claves primarias
Transformación
de las dos entidades enlazadas.
de Se crea una
 Si la relación tiene atributos estos pasan a formar parte de la
interrelaciones nueva tabla.
nueva tabla
N:M
 Tener en cuenta las cardinalidades máximas y mínimas.
Transformación Nueva tabla, cuya clave es la clave de la entidad Se usa si la entidad tiene atributos
de del lado N. propios
interrelaciones Propagar la clave de la entidad en el lado 1 a la Cuando no se sabe la cantidad de
1:N del entidad en el lado N NULL
1:N en Propagación de clave de la entidad fuerte a la entidad débil opción de
Relaciones en
existencia borrado en cascada
existencia y en
1:N en
identificación Propagación de clave de la entidad fuerte a la entidad débil
identificación
Transformación El supertipo propaga su clave principal a los
Crear una tabla para el supertipo y otra
de supertipos.
para cada subtipo.
generalizaciones Todos tienen l a misma clave principal

5
OPERARIO (DNI, Nombre, Fecha_Nac, N_Seg_Social)
ESPECIALIZADO (DNI, Año_experiencia)
APRENDIZ (DNI)

La exclusividad entre ESPECIALIZADO y APRENDIZ se controla mediante una aserción


CREATE ASSERTION Controlar exclusividad_generalizacion
Check ((Tipo = ‘especializado’ AND EXIST ESPECILIZADO AND NO EXIST APRENDIZ) OR
(Tipo = ‘aprendiz’ AND EXIST APRENDIZ AND NOT EXIST ESPECIALIZADO))

NORMALIZACIÓN DE LAS RELACIONES

1 FORMA
Atomicidad de los elementos
NORMAL
Todo atributo que no pertenece a la clave principal depende de ella de forma completa,
2 FORMA no parcial
NORMAL Relación (AB(PK), C, D), pero D depende sólo de A.
Solución: Relación1 (AB (PK), C). Relación2 (A(PK), D)
Ningún atributo no primario depende transitivamente de alguna clave de la relación.
3 FORMA Sea una Relación (A, B, C). y las dependencias son: B depende de A, C depende de B
NORMAL Solución Descomponer en entidades con claves ajenas: Relación1(A(PK) con B(FK)).
Relación2 (B(PK) con C).
Existen varias candidatas.
FORMA BOYCE Las candidatas son compuestas
CODD Las claves candidatas se solapan, tienen por lo menos un atributo común

4 FORMA
No existen dependencias multivaluadas
NORMAL

CREACION DE TABLAS

Create table [Facturas]


(
[NumFactura] Char(10) NOT NULL,
[FechaFactura] Datetime NULL,
[Total] Integer NULL,
[CodCliente] Char(10) NOT NULL,
[Matricula] Char(20) NOT NULL,
Primary Key ([NumFactura],[CodCliente],[Matricula])
)
go

Alter table [Facturas] add foreign key([CodCliente]) references [Clientes] ([CodCliente]) on update no
action on delete no action
go

Вам также может понравиться