MODELAMIENTO Y DISEO DE BD
1
MODELAMIENTO Y DISEO DE BD
2
Prefacio
Modelamiento y Diseo de Base de Datos, es un manual que
proporcionar los conocimientos, las tcnicas de Modelamiento
de Base de Datos. Al hacerlo aprenders tambin a desarrollar la
capacidad de anlisis y de sntesis, a generar soluciones
mediante mtodos ordenados, y a trabajar en equipo; tres cosas
que te sern muy tiles durante toda tu vida.
Los procedimientos empleados en este manual permiten conocer
las
herramientas
indispensables
para
la
elaboracin
de
El Director
MODELAMIENTO Y DISEO DE BD
3
se
mencionan
nicamente
con
fines
MODELAMIENTO Y DISEO DE BD
4
CAPITULO 1
b. CARATERISTICAS
Escalabilidad: Se refiere de la organizacin, mejorando su performance.
-
Rendimiento:
Caracterstica
de
brindar
respuestas
los
mltiples
Los usuarios que podrn tener acceso a los datos almacenados, por medio de
permisos otorgados por el Administrador de BD (DBA).
Para describir cada uno de los modelos o paradigmas en que se basan las bases de
datos, vamos a seguir un criterio histrico, estudiando primero los sistemas ms antiguos
para pasar por ltimo a los sistemas ms avanzados.
MODELAMIENTO Y DISEO DE BD
7
Modelo Jerrquico.
El sistema jerrquico ms comnmente conocido es el sistema IMS de IBM. Esta base de
datos tiene como objetivo establecer una jerarqua de fichas, de manera que cada ficha
puede contener a su vez listas de otras fichas, y as sucesivamente. P.ej., una ficha de
clientes puede contener una lista de fichas de facturas, cada una de las cuales puede
contener a su vez una lista de fichas de lneas de detalle que describen los servicios
facturados.
Una base de datos jerrquica est compuesta por una secuencia de bases de datos
fsicas, de manera que cada base de datos fsica se compone de todas las ocurrencias de
un tipo de registro o ficha determinada.
Modelo en Red.
Podemos considerar al modelo de bases de datos en red como de una potencia
intermedia entre el jerrquico y el relacional que estudiaremos ms adelante. Su
estructura es parecida a la jerrquica aunque bastante ms compleja, con lo que se
consiguen evitar, al menos en parte, los problemas de aqul.
Modelo relacional.
En este apartado tan slo daremos unas nociones iniciales sobre este modelo, ya que
todo nuestro trabajo se basar en l, y ser estudiado con mucho mayor detalle en
captulos posteriores.
Este modelo intenta representar la base de datos como un conjunto de tablas. Aunque las
tablas son un concepto simple e intuitivo, existe una correspondencia directa entre el
MODELAMIENTO Y DISEO DE BD
8
USUARIOS
Existen tres grandes clases de usuarios:
Programadores de aplicaciones, que son los responsables de escribir los
programas de aplicacin de base de datos en algn lenguaje de programacin.
Estos programas acceden a la base de datos emitiendo la solicitud apropiada al
DBMS. Los programas en s pueden ser aplicaciones convencionales por lotes o
pueden ser aplicaciones en lnea, cuyo propsito es permitir al usuario final el
acceso a la base de datos desde una estacin de trabajo o terminal en lnea.
MODELAMIENTO Y DISEO DE BD
9
Jefes de proyecto.
Analistas de sistemas.
Analistas programadores.
Programadores.
Diseadores de sistemas.
MODELAMIENTO Y DISEO DE BD
10
MODELAMIENTO Y DISEO DE BD
11
MODELAMIENTO Y DISEO DE BD
12
MODELAMIENTO Y DISEO DE BD
13
MODELAMIENTO Y DISEO DE BD
14
otro
se
denomina
correspondencia
transformacin.
Estas
MODELAMIENTO Y DISEO DE BD
15
LABORATORIO # 1
CONOCIENDO LOS SGBDR
SGBDRs existentes son: SQL Server, PostgreSQL, MySQL, Oracle, Sybase, DB2,
Access, Informix, etc...
Los usuarios de una base de datos no estn relacionados con los usuarios del sistema.
Al igual que en un sistema informtico, existe la figura del administrador. En casi todos los
Un privilegio es: crear, modificar o borrar una tabla; consultar, insertar, borrar o
modificar los datos de una tabla; consultar o crear una vista; crear usuarios o
grupos; otorgar privilegios; etc...
MODELAMIENTO Y DISEO DE BD
16
ORACLE
MySQL
MODELAMIENTO Y DISEO DE BD
17
MODELAMIENTO Y DISEO DE BD
18
MODELAMIENTO Y DISEO DE BD
19
Primero debemos conocer los dos niveles con los que trabaja Erwin: El lgico y el nivel
fsico, para seleccionarlos debemos desplegar el combo que se presenta:
MODELAMIENTO Y DISEO DE BD
20
VISTAS EN NIVELES:
Erwin muestra 3 niveles para la presentacin de los modelos, estos representan a los 3 tipos de
modelos: Conceptual, lgico y fsico.
Entity View: Muestra el modelo en forma de entidades, como un modelo conceptual.
Atribute View: Aparece activado por defecto, muestra el modelo con todos los atributos
ingresados, es la vista de un modelo lgico y fsico.
Definition View: Muestra las entidades con sus respectivas definiciones.
MODELAMIENTO Y DISEO DE BD
21
EL TOOLBOX:
MODELAMIENTO Y DISEO DE BD
22
CAPITULO 2
METODOLOGA PARA EL DISEO DE BASE DE DATOS
1. MODELAMIENTO CONCEPTUAL
1.1. Definicin
1.2. CARACTERISTICAS
Un modelo de datos es una serie de conceptos que puede utilizarse para
describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos
de modelos de datos: los modelos conceptuales y los modelos lgicos. Los
MODELAMIENTO Y DISEO DE BD
23
MODELAMIENTO Y DISEO DE BD
25
Resolviendo:
Entidades: auto, cliente, personal de venta, documentos, porque son los sustantivos del
cual se requiere informacin, no Honda ni Volvo ni Mercedes Benz, stas son elementos
de una entidad auto, no confundir entidad y elementos, ms adelante detallar este punto.
Graficando en el modelo conceptual:
2.
Cliente - Pedido
Pas Ciudad
MODELAMIENTO Y DISEO DE BD
26
MODELO LOGICO
Los modelos lgicos basados en objetos se usan para describir datos en el nivel conceptual y el
externo. Se caracterizan porque proporcionan capacidad de estructuracin bastante flexible y
permiten especificar restricciones de datos. Los modelos ms conocidos son el modelo entidadrelacin y el orientado a objetos.
CREACIN DEL MODELO LGICO DEL CASO ANTERIOR:
Lo primero que debemos hacer es identificar los atributos de las entidades, colocndoles los
atributos que sern las claves primarias.
Cliente: Cdigoclie, nombre apellidos, direccin, DNI, situacin.
Vendedor: Codigovend, nombre, apellidos, direccin, fecha_ingreso.
Automvil: Codigoauto, ao, precio, stock.
Comprobante: numero, fecha_emisin.
Modelo: Codigomod, descripcin.
Marca: Codigomarca, nombre, procedencia, categora.
El Modelo Lgico est muy orientado a registros, proporciona una vista ms cercana a la estructura
de la base de datos, que vendra a ser el modelo Fsico de datos.
MODELAMIENTO Y DISEO DE BD
27
La abstraccin de algo posee dos cualidades: suprime los detalles irrelevantes y busca
para aislar la esencia de ese algo. Por ejemplo, para el tipo de dato integer slo usamos
su definicin y sus operaciones, pero no sabemos cmo est implementado; por lo tanto
es un tipo de dato abstracto.
Los datos representan una abstraccin de la realidad ya que algunas caractersticas y
propiedades de los objetos reales son ignoradas, porque son irrelevantes a un problema
en particular.
Abstraccin: simplificacin de los hechos.
TIPOS DE ABSTRACCION
A. CLASIFICACIN:
Define un concepto como una clase de objetos de la realidad con propiedades
comunes (ES_MIEMBRO_DE).
rbol de un nivel que tiene como raz la clase y como hoja los elementos de la
clase.
Cada elemento hoja es miembro de cada elemento de la raz.
MODELAMIENTO Y DISEO DE BD
28
B. AGREGACIN:
Define una clase nueva a partir de otras que representan sus partes componentes
(ES_PARTE_DE).
Construir
un
nuevo
elemento
del
modelo
como
compuesto
de
otros
elementos
(componentes)
Inverso: Desagregacin
Se establece una relacin ES_PARTE_DE entre los elementos componentes y el elemento
compuesto
C. GENERALIZACIN:
Define una relacin de subconjunto entre los elementos de 2 o + clases (ES_UN).
Se representa con un rbol de un nivel, en el que todos los nodos son clases, con la clase
genrica como raz y las clases subconjuntos como hojas.
Todas las abstracciones definidas para la clase genrica, son heredadas por la clase
subconjunto.
MODELAMIENTO Y DISEO DE BD
29
D. ASOCIACION
Se utiliza para relacionar dos o ms clases (y, por tanto sus ejemplares), crendose
un elemento de un tipo distinto.
Inverso: Disociacin
En algunos MD no aparece esta abstraccin como tal, no existiendo ningn
concepto especial para representarla (p.e. Relacional).
Clasificacin:
MODELAMIENTO Y DISEO DE BD
30
Agregacin:
Asociacin:
MODELAMIENTO Y DISEO DE BD
31
CAPITULO 3
Modelado de Datos I
Modelado de Datos I
Concepto de Dominio, atributo, tipo entidad Relaciones: Definicin y
Propiedades.
Definiciones de Claves: Primaria, Candidata, Fornea Reglas de Integridad.
CONCEPTO DE DOMINIO
Un dominio describe un conjunto de posibles valores para cierto atributo. Como un
dominio restringe los valores del atributo, puede ser considerado como una restriccin.
Matemticamente, atribuir un dominio a un atributo significa "todos los valores de este
atributo deben de ser elementos del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc.
ATRIBUTOS
Los atributos son aquellos que caracterizan a una entidad, son las propiedades que posee
cada entidad y que la hacen distinta ante las otras entidades, no existe entidad que no
tenga al menos un atributo.
TIPOS DE ATRIBUTOS
a.
MODELAMIENTO Y DISEO DE BD
32
TIPOS DE ENTIDADES:
ENTIDAD FUERTE: Tambin conocida como entidad Padre, es aquella entidad cuya
existencia no depende de la existencia de alguna otra entidad, es identificada fcilmente
dentro de un proceso y da lugar a la posibilidad de otras entidades.
ENTIDAD DEBIL: Tambin conocida como entidad Hijo, es aquella cuya existencia
depende de la existencia de otra entidad, en este caso de una entidad fuerte, tiene sus
propias caractersticas aunque est ligada a la entidad fuerte.
En el ejemplo anterior, diremos que las entidades Cliente, Auto y Personal son fuertes,
mientras que Documentos es dbil ya que no se generar elemento alguno de esa entidad
sin la existencia de las otras tres.
CLAVES O LLAVES
Una clave es un atributo especial que identifica de manera nica cada ocurrencia de la
entidad, es decir, es el que identifica a la entidad como nica e irrepetible en el universo
que es el proceso de negocio. No puede existir dos valores iguales para clave de la
entidad, ya que se estara infringiendo la integridad referencial de los datos (ms adelante
detallar este punto).
MODELAMIENTO Y DISEO DE BD
33
CLAVE CANDIDATA
Las claves candidatas son simplemente aquellas claves las cuales no fueron seleccionadas como
clave primaria, exactamente alguna de esas claves es seleccionada como PK y las restantes si
existe alguna son llamadas claves alternas, pero pueden servir para identificar en una consulta de
datos a la entidad en un momento dado.
Otras claves candidatas pueden ser: telfono, lote, nmero de serie, etc.
MODELAMIENTO Y DISEO DE BD
34
MODELAMIENTO Y DISEO DE BD
35
RELACION RECURSIVA
En un tipo de relacin muy especial, en donde los elementos de la misma entidad
participan ms de una vez en la relacin con distintos papeles, esto se da por medio
de la PK de la entidad, se denomina Recursividad de datos. Este tipo de relacin se
utiliza para representar la dependencia de los elementos de la entidad con otros
elementos de la misma entidad.
La cardinalidad con la que una entidad participa en una relacin especifica el nmero
mnimo y el nmero mximo de correspondencias en las que puede tomar parte cada
ocurrencia de dicha entidad.
TIPOS DE CARDINALIDADES
RELACION DE UNO A UNO:
En este tipo de relaciones, cada instancia o elemento de la entidad A est asociado
solamente a un elemento de la entidad B. Se recomienda que cuando se identifique una
relacin de este tipo, se una ambas entidades formando una sola, salvo casos especiales.
MODELAMIENTO Y DISEO DE BD
36
MODELAMIENTO Y DISEO DE BD
37
MODELAMIENTO Y DISEO DE BD
38
MODELAMIENTO Y DISEO DE BD
39
En la siguiente imagen se muestra el modelo Fsico del caso anterior (La concesionaria de
automviles), con todos los tipos de datos indicados.
MODELAMIENTO Y DISEO DE BD
40
EN EL MODELO FSICO
La Generalizacin se muestra as:
MODELAMIENTO Y DISEO DE BD
41
CAPITULO 4
MODELAMIENTO Y DISEO DE BD
42
MODELAMIENTO Y DISEO DE BD
43
MODELAMIENTO Y DISEO DE BD
44
CAPITULO 5
MODELO RELACIONAL
Modelo Relacional
Fundamentos del modelo relacional Evolucin del MR Objetivos del MR
Estructura del Modelo Relacional: Dominio y Atributo, relaciones, claves y
restricciones
MODELO RELACIONAL
El modelo relacional para la gestin de una base de datos es un modelo de datos basado
en la lgica de predicado y en la teora de conjuntos. Es el modelo ms utilizado en la
actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser
postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de
base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podran considerarse en
forma lgica como conjuntos de datos llamados tuplas. Pese a que sta es la teora de
las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces
se conceptualiza de una manera ms fcil de imaginar, esto es, pensando en cada
relacin como si fuese una tabla que est compuesta por registros (cada fila de la tabla
sera un registro o tupla), y columnas (tambin llamadas campos).
CONCEPTOS
DATOS ATOMICOS
Las Bases de Datos relacionales tienen en la estructura de sus tablas en realidad,
datos atmicos (es as como debe de ser). Un dato atmico es aquel que no puede
descomponerse en dos o ms datos simples, es decir, son indivisibles en sus valores.
Los datos atmicos son opuestos a los multivaluados, que pueden ser descompuestos
MODELAMIENTO Y DISEO DE BD
45
tenemos
que
ID_Estudiante
determina
Curso_Tomando
el
MODELAMIENTO Y DISEO DE BD
47
CAPITULO 6
MODELO DE DATOS II
Modelo de Datos II
Si la entidad que participa con cardinalidad mxima uno lo hace tambin con
cardinalidad mnima uno, entonces se propaga el atributo de la entidad que
tiene cardinalidad mxima 1 a la que tiene cardinalidad mxima N,
MODELAMIENTO Y DISEO DE BD
48
En el caso de las relaciones N-arias se aplica la misma regla que para las
relaciones N:M
En el caso de las relaciones reflexivas supondremos que se trata de una relacin
binaria con la particularidad que las dos entidades son iguales y aplicaremos las
reglas vistas en los puntos anteriores.
MODELAMIENTO Y DISEO DE BD
49
EL MODELO LOGICO
MODELAMIENTO Y DISEO DE BD
50
CAPITULO 7
TEORA DE LA NORMALIZACIN
Teora de la Normalizacin
la
Normalizacin.
NORMALIZACION DE DATOS
EVITAR LA REDUNDANCIA!
Ejemplo:
MODELAMIENTO Y DISEO DE BD
51
MODELAMIENTO Y DISEO DE BD
52
MODELAMIENTO Y DISEO DE BD
53
Diremos: Atributo 1 tiene DFC con ambas claves, Atributo 2 no tiene DFC con ambas
claves, entonces remover Atributo 2.
PASOS DE LA 2FN
1. Identificar los atributos con dependencia funcional incompleta.
2. Remover los atributos con DF incompleta y crear una nueva entidad.
3. Llevar la clave a la nueva entidad.
MODELAMIENTO Y DISEO DE BD
54
MODELAMIENTO Y DISEO DE BD
55
MODELAMIENTO Y DISEO DE BD
57
CAPITULO 8
ALGEBRA RELACIONAL
Algebra Relacional
LGEBRA RELACIONAL
El lgebra relacional es un conjunto de operaciones que describen paso a paso como
computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo
relacional. Denominada de tipo procedimental, a diferencia del Clculo relacional que es
de tipo declarativo.
Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una
representacin intermedia de una consulta a una base de datos y, debido a sus
propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de
dicha consulta.
MODELAMIENTO Y DISEO DE BD
58
MODELAMIENTO Y DISEO DE BD
59
LAS OPERACIONES
Bsicas
Cada operador del lgebra acepta una o dos relaciones y retorna una relacin como
resultado.
y son operadores unarios, el resto de los operadores son binarios. Las operaciones
bsicas del lgebra relacional son:
SELECCIN ()
Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que
cumplan la(s) condicin(es) P, esto es:
MODELAMIENTO Y DISEO DE BD
60
PROYECCIN ()
Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto
vertical de atributos de la relacin, esto es:
Muestra una nueva relacin, cuyo esquema contiene cada una de las tuplas de la relacin
Alumnos junto con las tuplas de la relacin Maestros, mostrando primero los atributos de
la relacin Alumnos seguidos por las tuplas de la relacin Maestros.
UNIN ()
MODELAMIENTO Y DISEO DE BD
61
La tabla de clientes almacena informacin sobre cada posible cliente de nuestra empresa.
En la tabla de productos almacenamos informacin sobre cada producto de la empresa.
La tabla de ventas relaciona a las dos anteriores utilizando el atributo cod Producto para
indicar el producto que se venda, y el atributo N Cliente para indicar el cliente al que
vendimos el producto.
Sobre ella se realizan estos ejercicios (las soluciones estn al final):
Realizar una consulta que muestre el nombre de los clientes de Palencia.
Indicar el cdigo y descripcin de los productos cuyo cdigo coincida con su
descripcin.
MODELAMIENTO Y DISEO DE BD
62
CAPITULO 9
DEFINICIN:
Un Sistema de Gestin de Bases de Datos (SGBD1) consiste en una coleccin de datos
interrelacionados y un conjunto de programas para acceder a los mismos. Esta definicin
es prcticamente idntica a la que se dio anteriormente de Sistema de Informacin, de
hecho normalmente en el ncleo de un SI se sita un SGBD. El caso de lo SIG es un
poco diferente ya que en principio las bases de datos espaciales no son adecuadas para
su manejo con SGBD tradicionales.
Sin embargo, a lo largo del desarrollo de las tecnologas ligadas a los SIG desde los
setenta hasta la actualidad, una de las tendencias ms claras es el papel, cada vez ms
importante, que tiene el uso de SGBD para la gestin de datos temticos como apoyo al
SIG.
MODELAMIENTO Y DISEO DE BD
63
CLASIFICACIN:
Modelo de datos:
-
Relacionales
Objeto-relacionales.
Orientados a objetos.
Jerrquicos,
Red,
Otros...
Nmero de usuarios:
MODELAMIENTO Y DISEO DE BD
64
Monousuario
Multiusuario
Nmero de lugares:
-
Centralizados
Distribuidos.
MODELAMIENTO Y DISEO DE BD
65