Sie sind auf Seite 1von 58

MODELAMIENTO DE

DATOS Y DISEO
RELACIONAL DE
BASE DE DATOS
Ing. Pilar Rios C.

Proceso de desarrollo
de Base de Datos
El desarrollo de Base de Datos es
un Enfoque Top Down, que
transforma los requerimientos de
Informacin en una Base de Datos
Operacional.

Ing. Pilar Rios C.

Proceso de desarrollo
de Base de Datos
Requerimientos de Informacin del Negocio

Modelamiento Conceptual de Datos

Vista del Negocio

Diseo Lgico de
Base de Datos

Vista del Sistema

Construccin Fsica
de Base de Datos

Base de Datos Operacional


Ing. Pilar Rios C.

Requerimientos de
Informacin del Negocio
El desarrollo TOP DOWN
de la Base de Datos
comienza con los
requerimientos de
Informacin del Negocio
Ing. Pilar Rios C.

Requerimientos de
Informacin del Negocio
Se desea informatizar una tienda de
Discos. Para ello se desean tener
almacenados los nombres de todos los
discos disponibles, adems de sus
cantantes y canciones. As mismo se
desean almacenar los clientes que han
comprado en dicha tienda
Ing. Pilar Rios C.

Modelo de Datos
Conceptual
El Modelo de Datos Conceptual
define y modela los aspectos
importantes acerca de la
informacin que el negocio
necesita saber o tener y las
relaciones entre dicha
informacin.
Ing. Pilar Rios C.

Modelo de Datos
Conceptual
DISCO

CANCION
contiene

# * id_disco
* tit_disco

comprado

estar

# * id_cancin
* titulo
* letra

interpretada
comprar

CLIENTE
# * id_cliente
* nombre
* apellidos
telfono

interpretar

CANTANTE
# * id_cantante
* nombre
* apellidos

Ing. Pilar Rios C.

Diseo de la Base de
Datos
En el diseo de la Base de Datos,
se mapean los requerimientos de
informacin reflejados en un
modelo Entidad Relacin dentro
de un diseo de base de datos
relacional.
Ing. Pilar Rios C.

Diseo de la Base de
Datos
Nombre de Tabla : DISCO
COLUMNA

COD_DISCO

Tipo de llave
Nulos / Unicos

PK
NN - U

Ejemplo

D0001

TIT_DISCO
NN

D0002

Instrumentales de
Oro
Dulces Sueos

D0003

xitos de oro

Ing. Pilar Rios C.

Construccin de la
Base de Datos
En la construccin de la Base
de Datos, se crean
fsicamente las tablas en la
base de datos relacional,
implementndolas de acuerdo
al diseo de base de datos
Ing. Pilar Rios C.

10

Construccin de la
Base de Datos
SQL> CREATE TABLE DISCO
2

( COD_DISCO

TIT_DISCO

CHAR(5)
NOT NULL
PRIMARY KEY,
CHAR(30) NOT NULL );

El lenguaje SQL se usa para crear y manipular


base de datos relacionales.

Ing. Pilar Rios C.

11

Desarrollo de Aplicaciones y de Base de


Datos
Requerimientos del
Negocio

INFORMACION
Modelo E-R,
definicin de
entidades

Tabla,
indices,
vistas.

MODELAMIENTO CONCEPTUAL DE DATOS

DISEO DE
BASE DE DATOS

PROCESO

CONTROL
CRUZADO

MODELAMIENTO DE
FUNCIONES

DISEO DE
APLICACIONES

CONTROL
CRUZADO

Jerarquia de funciones, definicin de


funciones.
Mdulos(pantallas,
reportes, menus,
PL/SQL, utilitarios).

INFORMACION
CONSTRUCCION DE
BASE DE DATOS

CONSTRUCCION DE
LA APLICACION

BASE DE DATOS

APLICACION

Sistema Operacional
Ing. Pilar Rios C.

12

MODELO CONCEPTUAL DE
DATOS
Requerimientos de Informacin

Modelamiento Conceptual de Datos

-Modelo de Datos
Entidad Relacin
-Definiciones de Entidades

Diseo Lgico de
Base de Datos

-Definiciones de Tablas,
ndice, vistas, etc.

Construccin Fsica
de Base de Datos

Base de Datos Operacional


Ing. Pilar Rios C.

13

Modelo de Datos Conceptual


Modelo Entidad - Relacin
DISCO

CANCION
Poseer

# * cod_disco
* tit_disco

comprado

Estar

# * cod_cancin
* titulo
* letra

compuesta
comprar

CLIENTE
# * cod_cliente
* nombre
* apellidos
telfono

componer

CANTANTE
# * cod_cantante
* nombre
* apellidos

Ing. Pilar Rios C.

14

Componentes del Modelo


Entidad - Relacin
- Entidades :
Son los aspectos
importantes acerca de los cuales se
necesita Informacin.
- Relaciones : Como se relacionan las
entidades.
- Atributos : Informacin especifica
la cual necesita ser almacenada.
Ing. Pilar Rios C.

15

Definiciones de
Entidades
Un objeto de inters para el negocio
Una clase o categora de una cosa
Una cosa con nombre (sustantivo)
Una cosa significante acerca del cual el
negocio necesita informacin
Ejemplo: - Empleado,
- Departamento,
- Proyecto.

Ing. Pilar Rios C.

16

Definiciones de
Atributos
Sustantivos usados para describir las
entidades.
Piezas especficas de informacin el cual
necesita ser conocido y por lo tanto
almacenadas
Una entidad necesita tener atributos, pero
solo los de inters para el negocio
Ejemplo:
Empleado (cdigo, nombre, sueldo)
Ing. Pilar Rios C.

17

Estndares para
Diagramacin de Entidades
Cajas de cualquier dimensin con las esquinas
EMPLEADO
redondeadas.
Nombre de la Entidad en maysculas y en Singular. nombre
Nombre de sinnimo, entre parntesis (opcional).
f_nacimiento
Nombre de los atributos en minsculas.

COMPAIA
(CLIENTE)

DEPARTAMENTO

MEMBRESIA
Ing. Pilar Rios C.

18

Instancias de Entidades
Jefe de Oficina

Personal

Finanzas

EMPLEADO

Ventas

DEPARTAMENTO

Cada entidad debe tener mltiples ocurrencias o instancias.


Cada instancia de la entidad tiene valores especficos para
cada atributo de la entidad.
Ing. Pilar Rios C.

19

Identificando una
Instancia Unica
Cada Instancia debe ser
nica entre otras. Un atributo
o un conjunto de ellos,deben
identificarlas de manera nica
(Atributos UID- identificadores
nicos)

EMPLEADO
cdigo
nombres
fecha_nacimiento
salario

Ing. Pilar Rios C.

20

Identificando y Modelando
Entidades
Identifique un sustantivo
Es esto significante ?
Hay informacin acerca de lo que el negocio
necesita mantener ?
Es esto un grupo o una instancia ?

Poner un nombre la entidad


Escriba una descripcin de ello
Identifique un poco de atributos y UID
Dibuje un cuadro de borde suave para ello
Ing. Pilar Rios C.

21

Ejercicio de Ejemplo
Yo soy el administrador de una compaa de entrenamiento que provee
instructores-dirigidos a cursos en tcnicas de administracin.
Enseamos cursos, cada uno de los cuales tiene un cdigo, un nombre, y
un costo. Introduccin a UNIX y Programacin en C son dos de nuestros
cursos ms populares.
Los cursos varan en longitud de uno a cuatro das. Paul Robin y Maria
Gmez son dos de nuestros mejores instructores. Necesitamos tener los
nombres y nmeros telefnicos de cada instructor. Los estudiantes pueden
tomar uno o ms cursos sobre la longitud de tiempo, siendo muchos los
estudiantes que hacen sto. Jaime Bonora de Telefnica tom todos los
cursos que ofrecemos.
Nos gustara tener cada nombre de cada estudiante y su nmero
telefnico.
Ing. Pilar Rios C.

22

Ejercicio de Ejemplo Solucin


Yo soy el administrador de una compaa de entrenamiento que provee
instructores-dirigidos a cursos en tcnicas de administracin.
Enseamos cursos, cada uno de los cuales tiene un cdigo, un nombre, y
un pago. Introduccin a UNIX y Programacin en C son dos de nuestros
cursos ms populares.
Los cursos varan en longitud de uno a cuatro das. Paul Robin y Maria
Gmez son dos de nuestros mejores instructores. Necesitamos tener cada
nombre de instructor y nmero telefnico. Los estudiantes pueden tomar
uno o ms cursos sobre la longitud de tiempo, siendo muchos los
estudiantes que hacen sto. Jaime Bonora de Telefnica tom todos los
cursos que ofrecemos.
Nos gustara tener cada nombre de cada estudiante y su nmero
telefnico.
Ing. Pilar Rios C.

23

Ejercicio de Ejemplo Solucin


CURSO

ESTUDIANTE

cdigo
nombre
pago
longitud

nombre
num_fono

INSTRUCTOR
nombre
num_fono

Ing. Pilar Rios C.

24

RELACIONES
El objetivo de esta leccin es
predisponerle a entender lo que es un
relacionamiento en el ambiente del
negocio y cmo reunir entidades para
el uso de los relacionamientos
Ing. Pilar Rios C.

25

Definiciones de
Relaciones
La manera que una entidad se relaciona
a otra entidad.
Las reglas del negocio que enlazan en
conjunto las necesidades de informacin
del negocio.
Lo que una cosa tiene que hacer con otra
Una
asociacin
nombrada
entre
entidades.
Ing. Pilar Rios C.

26

Sintaxis de una Relacin


debe ser
Cada Entidad 1 (
o
)
puede ser

Entidad
sujeto

opcionalidad

uno o ms
(
o
) Entidad 2
uno y solamente uno

nombre de la
relacin

nombre

grado

Ing. Pilar Rios C.

entidad
objeto

27

Estndares de
Diagramacin
Una lnea entre dos entidades.
Nombre de relaciones en minscula.
Opcionalidad (cardinalidad mnima)
Obligatorio - debe ser
Opcional - puede ser

Grado (cardinalidad mxima)


Uno o ms
Uno y slo uno
Ing. Pilar Rios C.

28

Estndares de
Diagramacin

muchas
obligatorio opcional
(pata de gallo)

Ing. Pilar Rios C.

uno

29

Relacionamientos
Bidireccionales
Una relacin es bidireccional y representa la asociacin
entre dos entidades, o entre una entidad consigo misma.

INSTRUCTOR

CURSO

Cada Direccin de una relacin tiene:


- Un Nombre : Ej. Enseado por o asignado a
- Una Opcin : Ej. Debe ser o puede ser.
- Un grado : Ej. Uno y solamente uno, o uno o ms.

Ing. Pilar Rios C.

30

Validacin - solucin de
ejemplo

ESTUDIANTE

Matriculado en

CURSO

Tomado por

Cada ESTUDIANTE puede estar matriculado en uno o ms CURSOS

Cada CURSO puede ser tomado por uno o ms ESTUDIANTES

Nota: Leer Primero de izquierda a derecha y luego al contrario


Ing. Pilar Rios C.

31

Grados de Relaciones

1:1

M : 1M

Ing. Pilar Rios C.

32

Relacin muchos a uno


(M:1 o 1:M)

visitado por

REPRESENTANTE
DE VENTAS

CLIENTE
Asignado a

- Las relaciones M:1 son las ms comunes.


- Las relaciones M:1 que son obligatorias en ambas
direcciones son las ms raras.
Ing. Pilar Rios C.

33

Relacin muchos a muchos ( M : M )

Atendido por
PACIENTE
Asignado a

TRABAJADOR
DE SERVICIO DE
SALUD

- Las relaciones M : M son muy comunes.


- Las relaciones M : M usualmente son opcionales en ambas
direcciones, tambin puede ser opcional en una sola direcciones
Ing. Pilar Rios C.

34

Relacin uno a uno ( 1:1)

AUTOMOVIL

Es conducido
por

CONDUCTOR

El conductor
de

- Las relaciones 1 : 1 son muy raras.


- Las relaciones 1 : 1 que es obligatoria en ambas direcciones es muy
rara.
Ing. Pilar Rios C.

35

Determinando la existencia
de un Relacionamiento
MEMBRESIA

COPIA

ALQUILER

MEMBRESIA
COPIA

Existencia
Nombre
Grado
Opcionalidad
Validacin

ALQUILER

MEMBRESIA
ALQUILER

COPIA
Ing. Pilar Rios C.

36

Nombrando al
Relacionamiento
Existencia
Nombre
Grado
Opcionalidad
Validacin

Cada ttulo esta disponible como una


copia y cada copia es de un ttulo

de

COPIA

disponible
como

Ing. Pilar Rios C.

TITULO

37

Determinando el Grado
Cada ttulo esta disponible como una copia,
podra haber lotes de copias pero hay
siempre un ttulo de una copia

Existencia
Nombre
Grado
Opcionalidad
Validacin

uno

COPIA

TITULO

muchos
Ing. Pilar Rios C.

38

Determinando la
Opcionalidad
Cada copia debe tener un ttulo pero
necesitamos informacin acerca de
ttulos an si no hubiera copia

Existencia
Nombre
Grado
Opcionalidad
Validacin

opcional

COPIA

TITULO

obligatorio
Ing. Pilar Rios C.

39

Validando el
Relacionamiento
Existencia
Nombre
Grado
Opcionalidad
Validacin

Cada copia debe ser de uno y slo


un ttulo, y cada ttulo puede estar
disponible como uno o ms copias

de

COPIA

Disponible
como

Ing. Pilar Rios C.

TITULO

40

Atributos
Los Atributos describen una entidad para identificar,
calificar, clasificar, cuantificar o expresar el estado de una
entidad
El numero clave Identifica a un Empleado
El Nombre y Apellido Califican a un Empleado

El tipo de nmina (Salariado) Clasifica a un empleado


La edad Cuantifica a un Empleado
Los nombres de los atributos deben ser especficos ejm si se
trata de una cantidad (cantidad regresada)
Los atributos deben respetar los principios de Atomicidad y
Unicidad
Ing. Pilar Rios C.
41

Estndares de Diagramacin de
Atributos

Los nombres de los atributos estn en


singular y se muestran en minsculas.
Listar los nombres de los atributos en su caja
de Entidad.
CURSO

INSTRUCTOR

ESTUDIANTE

cdigo
nombre
pago
longitud

nombre
num_fono

nombre
num_fono

Ing. Pilar Rios C.

42

OPCIONALIDAD DE
ATRIBUTOS
ATRIBUTOS OBLIGATORIOS
Un valor debe ser conocido por cada ocurrencia
de la entidad
Marcarlo con *
ATRIBUTOS OPCIONALES

Un Valor puede ser conocido por cada


ocurrencia de la entidad
Marcarlo con o
Ing. Pilar Rios C.

43

OPCIONALIDAD DE
ATRIBUTOS

PERSONA
* codigo
* nombre
o titulo
* sexo
o peso

En un futuro en la etapa
de diseo de la BD esto
se declarar como Null
o No Null

Ing. Pilar Rios C.

44

Detallar Atributos
PERSONA
Nombre

PERSONA
apellido
Nombre

Se debe verificar que un atributo no sea derivado o


clculo de otros existentes tales como Totales,
Contadores, etc. Ejm Promedios,total de ventas ....
Los atributos derivados son redundantes
Ing. Pilar Rios C.

45

ASIGNAR
IDENTIFICADORES
UNICOS (UID)
UID Sirven para identificar de forma nica una ocurrencia
Marcar cada atributo UID con #
Todos los componentes de UID deben ser Obligatorios #*

DEPARTAMENTO
# * nmero
* nombre

Ing. Pilar Rios C.

46

ASIGNAR
IDENTIFICADORES
UNICOS (UID)
MANEJADO POR

CUENTA
#*numero

MANEJADOR DE

BANCO
#*numero

NOTA: Se usa barra UID para indicar que la relacin es


parte del UID de la entidad
* Con frecuencia los atributos artificiales son usados para
UIDS
Ing. Pilar Rios C.

47

RELACIONES DEL
MODELO RECURSIVO
Una relacin recursiva es la relacin entre una entidad
con ella misma
EMPLEADO
#* numero de clave
* nombre
* apellido
o empleo
* fecha de paga
GERENTE DE

BAJO LAS ORDENES DE

Cada Empleado puede estar bajo las


ordenes de uno y solo un Empleado
Cada Empleado puede ser gerente de
uno o mas Empleados
Ing. Pilar Rios C.

48

RELACIONES QUE MODELAN


ROLES
En el modelo Entidad Relacin se defini una entidad Instrucctor y
una entidad Estudiante. Este modelo trabaja bien si un Instrucctor
nunca es un estudiante y viceversa
INSCRIPCIN
* fecha de inscripcin
o fecha de termino
o grado

Las Entidades que representan


roles pueden compartir
instancias que se traslapan

PARA

PARA

REGISTRADO
EN

ESTUDIANTE
#* id
* apellido
* nombre
o numero telefnico

TOMADO POR

CURSO
#* codigo
* nombre
o duracin
o cuota

Ing. Pilar Rios C.

ENSEADO
POR
MAESTRO
DE

INSTRUCCTOR
#* id
* apellido
* nombre
o nmero telefonico

49

RELACIONES QUE MODELAN


ROLES
La entidad PERSONA
debe tomar los roles
instructor/estudiante POR
PERSONA
#* id
* apellido
* nombre
* nmero telf

INSCRIPCION
* fecha de inscripcin
o fecha de termino
o grado
POR
ESTUDIANTE
DE
INSTRUCCTOR
DE
IMPARTIDO
POR

TOMADO
POR

CURSO
#* codigo
* nombre
* duracin
* cuota

Se puede usar relaciones para modelar roles. Las relaciones


permiten que en una sola instancia de la entidad asuma multiples
roles.
Ing. Pilar Rios C.

50

MODELAR SUBTIPOS
Un supertipo es una entidad que tiene subtipos.
Un supertipo puede ser separado en dos o ms subtipos
mutuamente excluyentes
Usar subtipos para modelar exclusivamente tipos de entidad que
tienen atributos o relaciones comunes
Cada subtipo puede tener sus propias relaciones o atributos.
Cada subtipo pueden tener tambien sus propios subtipos,
normalmente dos o tres niveles de profundidad son adecuados

Todas las instancias de una entidad supertipo deben pertenecer a


una y solo una de las entidades subtipo. Los subtipos deben
formar un grupo completo sin traslaparse
Ing. Pilar Rios C.

51

MODELAR SUBTIPOS
EMPLEADO
#*nmero de clave
* nombre
EMPLEADO
* apellido
ASALARIADO
* salario

EMPLEADO POR
HONORARIOS
* costo por hora
* costo por horas extras
MIENBRO
DE

ASIGNADO A
COMPUESTO
DE

DEPARTAMENTO

Ing. Pilar Rios C.

COMPUESTO
DE

SINDICATO

52

MODELOS DE RELACIONES
EXCLUSIVOS
Modelar dos o mas relaciones mutuamente excluyentes de la misma
entidad usando un arco
ejm. Una CUENTA BANCARIA debe pertenecer a una COMPAA
o ser PERSONAL. Usar un arco para modelar esta relacin.
PERTENECE
A
PROPIETARIO
DE

CUENTA BANCARIA
A
PERTENECE
A

PROPIETARIO
DE

PERSONAL
B

COMPAA
C

Cada CUENTA BANCARIA debe pertenecer a una y solo una


PERSONA o pertenecer a una y solo una COMPAIA
Ing. Pilar Rios C.

53

DISEO INICIAL DE LA BASE DE


DATOS
LLAVES PRIMARIAS: Una llave primaria (PK) es una columna o
grupo de columnas que identifican de manera nica a cada rengln en
una tabla. Cada tabla debe tener una llave primaria y una llave
primaria debe ser nico y obligatoria (NO NULL).
La llave primaria que se compone de varias columnas se denomina
LLAVE CONCATENADA
Una tabla puede tener mas de una columna o combinacin que
puede servir como llave primaria las cuales se denominan LLAVE
ALTERNA o CANDIDATA

Ing. Pilar Rios C.

54

LLAVES FORANEAS
Una llave Foranea (FK) es una columna o combinacin de
columnas en una tabla, que se refieren a una llave primaria en la
misma o en otra tabla.
LLAVE
PRIMARIA

No_EMP.

LLAVE
FORANEA

APELLIDO NOMBRE NRO_DPTO NOMINA

LLAVE
PRIMARIA
NRO_DPTO

NOMBRE_DPTO

Ing. Pilar Rios C.

55

INTEGRIDAD DE DATOS

INTEGRIDAD DE ENTIDADES: Ninguna parte de la


llave primaria puede ser NULA.
INTEGRIDAD REFERENCIAL: Una llave Fornea debe
coincidir con un valor de una llave primaria.
INTEGRIDAD DE COLUMNAS: Una columna debe
contener slo valores consistentes con el formato de datos
definido para una columna (UNICIDAD)

INTEGRIDAD DEFINIDA POR EL USUARIO: Los


datos almacenados el la base de datos deben cumplir con
las reglas del negocio
ATOMICIDAD: En la interseccin de una columna y una
fila solo debe existir UN DATO
Estos Constrains deben ser forzados por el DBMS o
Ing. Pilar Rios C.
Software de aplicacin

56

PASOS PARA EL DISEO DE LA BASE


DE DATOS
PRIMER PASO - MAPEAR LAS ENTIDADES:
Mapear la tabla para cada entidad. Crear un mapa de
instancias para la nueva tabla y registrar nicamente el
nombre de la tabla
NOMBRE DE LA TABLA: INSTRUCCTOR
COLUMNA

INSTRUCCTOR

TIPO DE
LLAVE
NULOS

Ing. Pilar Rios C.

57

PASO 2 - MAPEAR ATRIBUTOS A


COLUMNAS
Mapear cada atributo de la entidad a una columna en su tabla
correspondiente. Establecer los atributos obligatorios para las
columnas NO NULAS (NN)

PASO 3- MAPEAR UIDS A LLAVES PRIMARIAS


Asignar cualquier atributo(s) que sean parte del UID de la entidad a
Columnas PK. Etiquetar estas columnas PK en la TABLA
PASO 4 - MAPEAR RELACIONES PARA LLAVES FORANEAS
PASO 5 - DIAGRAMAR LOS ARCOS:
Los arcos representan un tipo de llave fornea mltiple
PASO 6 - ESCOGER OPCIONES DE SUBTIPOS
Ing. Pilar Rios C.

58

Das könnte Ihnen auch gefallen