Tema 3

Descargar como ppsx, pdf o txt
Descargar como ppsx, pdf o txt
Está en la página 1de 25

BASE DE DATOS I

Tema: Diseño lógico


Elaborado por: Ybeth Maura Camacho Robles
Proceso: Diseño de Base de Datos relacionales

Lista de Modelo Modelo


requerimientos
Modelo físico
conceptual lógico

Especificaciones: Modelo Entidad-Relación Abstracto Conjunto de instrucciones


a) Administradores para definir la base de
b) Usuarios finales Abstracto Depende del modelo de datos
c) Gerentes base de datos
… Describe el contenido de la Lenguaje de definición
base de datos Independiente del fabricante
Ingeniería de requisitos Depende del sistema gestor
Independiente del modelo de de bases de datos (SGBD)
Muy importante bases de datos
CLAVE PRIMARIA
Para cada tabla necesitamos una clave primaria
(PK):

Identifica cada tupla de la tabla.


Puede ser simple o compuesta:
Simple Compuesta
empleados(idEmp, nombre, tfo) suministros(idProveedor, idArticulo, cantidad)

La señalamos subrayando el/los atributo/s que la forman.


Claves Candidatas
Son los atributos de una tabla que pueden ser PK.
Se dividen entre:
Clave primaria o PK: aquellos atributos que forman la
clave primaria.
Claves alternativas: las restantes claves candidatas.
Ej:

empleados(idEmp, nombre, tfo, CI)


Clave candidata
Escoger la clave candidata que tenga menos atributos.
Escoger la clave candidata cuyos valores no tengan
probabilidad de cambiar en el futuro.
Escoger la clave candidata cuyos valores no tengan
probabilidad de perder la unicidad en el futuro.
Escoger la clave candidata con el mínimo número de
caracteres (si es de tipo texto).
Escoger la clave candidata más fácil de utilizar desde
el punto de vista de los usuarios.
Valores NULL
Hay atributos que pueden no tener valor, se dice que
pueden tener valores NULL.

Ej:
CI
Nombre Alumnos
Tfo móvil

alumnos(CI, nombre, telefono móvil)


Indicaremos los atributos que no puedan tener valores
NULL (el nombre por ejemplo).
PASO 1: Entidades Fuertes
Crear una relación para cada entidad fuerte que incluya
todos sus atributos simples. De los atributos
compuestos incluir sólo sus componentes.
a3
a2
a4
E
d
a1 a5
c
b

A1 a2 a3 a4 b c d

Nombr Telefon
e o
idEmp CI
EMPLEAD
O

idEmp Nombre telefono CI


Paso 2: Entidades débiles
Crear una relación para cada entidad débil incluyendo
todos sus atributos simples.
De los atributos Para ello, se incluye la clave A continuación,
compuestos incluir sólo primaria de la relación que determinar la
sus componentes. representa a la entidad padre clave primaria
Añadir una clave ajena a en la nueva relación creada de la nueva
la entidad de la que para la entidad débil. relación.
depende.
Cod_E
Empleado Nombre

1
Tabla Dependiente
Tiene CodE nombre sexo Fecha_N Relación
*
Relación Relación F.K. Parcial
n Llave primaria

Dependiente
Fecha_N

Nombre Sexo
Paso 3: Relaciones binarias 1:1

1 1
DEPARTAMENTO Es jefe EMPLEADO

Solución 1: Participación no obligatoria en ambas

Jefe( idEmp, idDep, …………) idDep NOT NULL, idDep UNIQUE idDep
podría ser PK, es una clave alternativa
 La manera de decir que un atributo es una clave alternativa es
restringiendo que no pueda tener valores NULL y que sea
UNIQUE (valor diferente para cada tupla).
Paso 3: Relaciones binarias 1:1

1 es 1
DEPARTAMENTO jef EMPLEADO
e

Solución 2 Participación no obligatoria en ambas


Cuando la participación es
parcial se extrae como
llave foránea a cualquiera
de las dos entidades

Departamento( idDep, idEmp …….)


P.k. F.k
Empleado (idEmp ,, ……)
P.k.
Paso 3: Relaciones Binarias 1:1

1 Es
1
DEPARTAMENTO jefe EMPLEADO

 Participación obligatoria de una entidad

Departamento(idDep, …)

Empleado(idEmp, …, idDep) FK(idDep,departamentos),


idDep NOT NULL, idDep UNIQUE
Paso 3:Relaciones Binarias 1:1
 Participación obligatoria de ambas

1
1 Es
DEPARTAMENTO jef EMPLEADO
e

Departamento(idDep, …)
Sol 1
Empleado(idEmp, …, idDep) FK(idDep,departamentos), idDep UNIQUE
idDep puede ser NULL
Sol2 seria la análoga pero cambiando los papeles de departamentos y
Departamento(idDep, ……)
empleados
Empleado(idEmp, ….…)
Sol 3
jefe(idDep, idEmp,…) FK(idDep,departamentos), FK(idEmp,empleados),
idEmp NOT NULL y UNIQUE idEmp es clave alternativa
Sol 4 Departamento_Empleado(idDep, …,idEmpleado,…..)
Paso 4: Relaciones binarias 1:N

1 pertenec M
DEPARTAMENTO e EMPLEADO

 Participación obligatoria de entidad m.

Departamento(idDep, …)

Empleado (idEmp, …, idDep)


FK(idDep,departamentos) idDep NOT NULL
 M puede ser 0, pero no generan valores NULL
Paso 4: Relaciones binarias 1:N
1 pertenec N
DEPARTAMENTO e EMPLEADO

• Participación no obligatoria de
 N puede
entidad m. ser 0, idDep puede ser NULL
Departamento(idDep, …)
Sol1
Empleado(idEmp, …, idDep) FK(idDep,departamentos) idDep puede ser
NULL
departamento(idDep, …)
Sol2 pertenencia(idEmp, idDep) FK(idDep, departamentos), FK(idEmp,
empleados), idDep NOT NULL
Empleado(idEmp,…)
Paso 5: Relaciones binarias M:N
 Muchos a muchos todos los casos

M Asignaci
N
PROYECTO on EMPLEADO

cargo

Proyecto(idPro, …)

Asignación(idPro, idEmp, cargo) FK(idPro,proyectos), FK(idEmp,


empleados) P.k.

Empleado(idEmp, …)
 M y N pueden ser 0, pero no generan valores NULL
Paso 6: Atributo Multivaluado
Para cada atributo multivaluado A se crea una nueva tabla R
que incluye un atributo que corresponde a A más el atributo
de la llave primaria de la tabla que representa el tipo de
entidad o el tipo de relación que tiene A como atributo.

cod
habilidad
Empleado cod habilidad
nombre

m n d
a E1 R E2

b
k c
R
a c k
f.k. f.k.
Paso 7:Relaciones Ternarias M:N:P
M Nota N
ALUMNO ASIGNATURA

CONVOCATORIA

Alumno(idAl, …)

Asignatura(idAsig, …)

Convocatoria(idCon,…)

Nota(idAl,idAsig,idCon,nota) FK(idAl,alumnos), FK(idAsig,asignaturas),


FK(idCon,convocatorias)
P.k.
Paso 7:Relaciones Ternarias M:N:1
Fecha_fi
n
M N
POLÍTICO Afiliad
FECHA_INI
o

PARTIDO

Político (idPol, …)

fechas_ini(idIni, …)

Partido(idPar,…)

Afiliacion(idPol, idIni, idPar, fecha_fin)


P.k.
FK(idPol,políticos), FK(idIni,fechas_ini), FK(idPar,partidos), idPar NOT NULL
Relaciones recursivas

 Las reglas de representación de relaciones


es la misma, pero es necesario distinguir
entre los diferentes roles que tienen los
identificadores
Relaciones recursivas

 Relación 1:1

persona
1 1

esposo
esposa
casado

persona (persona_id, ........)


casado (persona_id_esposo, persona_id_esposa, ......)
Relaciones recursivas

 Relación 1:m

empleado
1 m

supervisado
supervisor
*
supervisa

Empleado (nro_empleado, ......., nro_emple_supervisor)


Relaciones recursivas

 Relación m:n

parte
m n

parte_menor
r
parte_mayo

compone

Parte (nro_parte, .......)


compone (nro_parte_mayor, nro_parte_menor, .........)
Esqueleto del modelo ER
reglas de representación

 Especialización.- Hay 4 formas de mapeo:


1.- todos los casos
empleado empleado (ci, nombre,...)
secretaria (ci, vel_tipeo, ...)
tipo técnico (ci, univ, .....)
Participa-
ción
2.- Disjunto y participación total
secretaria técnico secretaria (ci, vel_tipeo,nombre..)
técnico (ci, universidad,nombre..)

3.- Pocos atributos en subclases y disjunto.


empleado (ci, nombre, vel_tipeo,universidad,t,...)

4. Pocos atributos en subclases y sobrepuesto


empleado (ci, nombre, vel_tipeo,universidad,t1,t2,...)
Esqueleto del modelo ER
reglas de representación

 Categorización.- Forma de mapeo:

persona banco compañia

dueño
persona (ci, nombre,..., dueño#)
banco (banco#, banco_dirección,..., dueño#)
compañía (compañía#, compañía_dirección, ..., dueño#)
dueño (dueño#, .....)
GRACIAS POR SU
ATENCIÓN

También podría gustarte