Modelamiento de Datos 2013
Modelamiento de Datos 2013
Modelamiento de Datos 2013
D
MODELAMIENTO DE DATOS
Introduccin
En el desarrollo de las Aplicaciones que sirven para manipular las Bases de datos
nos encontramos con Bases de Datos que ya han sido creadas en algn DBMS
en particular, luego el programador debe conocer su estructura y las reglas que
juegan en dichas B.D. para a continuacin segn las necesidades del usuario
disear la aplicacin ms adecuada.
El conocimiento de cmo se lleg a disear la B.D. se hace importante porque
nos permitir conocer los criterios que se tuvieron en cuenta para llegar a dicho
modelo, esto har que nuestra aplicacin tenga mayor consistencia y ms an se
puedan detectar algunos errores de diseo que tal vez no se tomaron en cuenta el
proceso del modelamiento.
Este curso, tiene como objetivo principal entonces adquirir las tcnicas adecuadas
para disear e implementar, a partir de una realidad concreta, una base de datos
en un servidor determinado y con el DBMS (SQL Server)
Pg.1
D
CAPTULO
SISTEMAS DE INFORMACION
Sistema
Datos
Representacin formal de hechos, conceptos o instrucciones adecuada para su
comunicacin, interpretacin y procesamiento por seres humanos o medios
automticos.
Son nmeros y factores en bruto, sin analizar, acerca de los sucesos. Algo
recogido directamente de la fuente.
Pg.2
D
Informacin
Es el resultado de la organizacin o anlisis de los datos de alguna manera
significativa con un objetivo preestablecido.
Caractersticas de la informacin
La informacin es evaluada de acuerdo a cuatro factores que deben formar parte
de sus caractersticas:
Calidad
Cuanto ms exacta sea la informacin mejor ser su calidad y los usuarios
recurrirn a ella con ms confianza cuando tomen una decisin.
Oportunidad
La informacin debe estar siempre disponible, para la accin correcta y la
toma de decisiones en el momento que se le necesite.
Cantidad
Los administradores casi nunca toman decisiones correctas y acertadas si la
informacin no es acertada, oportuna y suficiente; la informacin debe ser la
suficiente para cubrir el espectro del problema en la toma de decisiones.
Relevancia
Debe darse solo la informacin relevante para la toma de decisiones; toda la
informacin proporcionada debe ser de utilidad; los datos no deben ser de
relleno.
Pg.3
D
Sistemas de Informacin
Un Sistema de informacin es un sistema, automatizado o manual, que engloba
apersonas, mquinas y/o mtodos organizados para recopilar, procesar, transmitir
datos que representan informacin.
Implica la infraestructura, organizacin, personal y componentes para la
recopilacin,
procesamiento,
almacenamiento,
transmisin,
visualizacin,
diseminacin y organizacin de informacin.
Un Sistema de Informacin es entonces, una coleccin integrada de hardware,
software, procedimientos, datos y personas que trabajan en conjunto para genera
informacin. Un S.I. es un mtodo formal de poner a disposicin de los usuarios
informacin confiable y oportuna que se necesita para facilitar el proceso de la toma
de decisiones y permitir que las funciones de planeacin, control y operaciones se
realicen eficazmente en la organizacin.
Pg.4
D
Sistemas Mixtos
Combina cualquiera de los S.I. anteriores, por tanto las caractersticas que
puede adoptar este tipo de sistema es la combinacin de los otros tipos de
S.I.
Pg.5
D
Perspectiva Tecnolgica
Una vez definidas las caractersticas funcionales, se debe analizar la
perspectiva tecnolgica del S.I.
Se deben considerar los siguientes factores:
Cul es la Arquitectura de sistemas ms convenientepara el S.I.
Con lo cual realmente se puede apoyar a las operaciones de la
Organizacin.
Los cambios tecnolgicos que se presentan cada vez ms aprisa,
cmo afectarn a nuestro S.I.
Pg.6
D
Ventajas
Personal
Recursos conceptuales
Dinero
Informacin
Pg.7
CAPTULO
D
Pg.8
D
Pg.9
D
Base de datos
Una base de datos es un conjunto de datos organizados de manera tal que se
facilita el almacenamiento, la actualizacin, y la consulta de los datos. Una base de
datos relacional est organizada como un conjunto de filas y columnas relacionadas.
Es una coleccin sistematizada de datos, que puede ser usada como fuente de
informacin nica para toda la organizacin.
Coleccin organizada y sistematizada de datos de inters de la organizacin a la
cual accedemos y explotamos para obtener informacin de utilidad para el manejo
de la organizacin.
Pg.10
D
Ayuda a desarrollar una base de datos que permita cumplir con los
requerimientos de la organizacin.
Pg.11
D
Microsoft Access
MySQL
PosgreSQL
SybaseSystem
Oracle Database
Pg.12
D
Arquitectura de un DBMS.
Un DBMS se puede dividir en tres niveles:
Nivel externo
Nivel conceptual
Nivel interno
Nivel externo
Es el nivel del SABD ms cercano al usuario por lo que se le conoce tambin como
la vista del usuario. El nivel externo define cmo el usuario ve los datos
almacenados por el SABD.
Nivel conceptual
Es el nivel que define la base de datos tal como es y cmo la ve el DBA
(DatabaseAdministrator). Este nivel define las relaciones entre los datos.
Nivel interno
Es el nivel que tiene que ver con el almacenamiento fsico de los datos. Define cmo
se guardan los datos en el medio fsico.
Pg.13
D
Diseo Conceptual
El diseo conceptual permite describir, de un modo totalmente independiente de
laimplementacin, los datos que el usuario quiere recoger en el sistema.
Dependiendo de la cantidad de informacin que se desee representar, tendremos
aplicaciones ms o menos orientadas a los datos. As, por ejemplo, la gestin de
una biblioteca es una aplicacin pura de Bases de Datos (en adelante BD) ya que
prcticamente toda la funcionalidad del sistema se centra en el mantenimiento de los
datos (introducir un libro, prestar un libro, etc.).
Existen, sin embargo, otras aplicaciones, como por ejemplo un sistema de control de
navegacin area, en las que los datos son algo secundario. Podemos decir que, en
general, los datos son el ncleo de todo SI orientado a la gestin.
El desarrollo estructurado de software, a diferencia de lo que ocurre en el
desarrolloorientado a objetos, mantiene una clara separacin entre los datos y las
funciones del sistema. Por ello, es necesario disponer, en cada una de las etapas
del proceso de desarrollo, de tcnicas especficas para la especificacin de los
datos, que sern diferentes de las tcnicas orientadas a la especificacin de las
funciones o procesos.
El modelado conceptual es una actividad que se realiza en la etapa de
anlisis,paralelamente al modelado de procesos o funciones. Su objetivo, como ya
hemos dicho, es captar toda la informacin del mundo real que se desea representar
en el mundo informtico. En este proceso es importante abstraer los detalles sin
importancia y representar tan slo aquella informacin que sea relevante.
En este punto no nos interesa el cmo ni donde se va a implementar el sistema.
Dehecho,dependiendo del tipo de sistema (ms o menos orientado a los datos), del
volumen de informacin, de los requisitos de eficiencia, etc. se podrn utilizar
distintos mecanismos de persistencia de los datos: Sistemas de Bases de Datos,
Sistemas de Ficheros, etc.
En esta etapa interesa recoger la mxima cantidad de informacin posible, por lo
necesitamos una tcnica que cumpla los siguientes requisitos:
Pg.14
D
Pg.15
D
constituye la realidad, mientras que la maqueta puede considerarse una copia del
mismo.
En el mbito de la bases de datos es muy comn la utilizacin del trmino modelo
de datos, y existen diferentes definiciones del mismo en la literatura. As, por
ejemplo, Dittrich define modelo de datos como "un conjunto de herramientas
conceptuales para describir la representacin de la informacin en trminos de
datos. Los modelos de datos comprenden aspectos relacionados con: estructuras y
tipos de datos, operaciones yrestricciones".
Un modelo de datos permite representar una parcela de informacin del mundo
realde especial inters, lo que habitualmente se denomina universo del discurso o,
entrminos, de Dittrichmini-mundo. La representacin del universo del discurso se
concibe en dos niveles: el de la informacin en s misma y el de las estructuras que
hacen posible la representacin de tal informacin. Estos dos niveles dan lugar, en
el mbito de las bases de datos, a la distincin entre esquema y base de datos,
conceptos que Dittrich define como sigue: "La descripcin especfica de un
determinado mini-mundo en trminos de un modelo de datos se denomina esquema
(o esquema de datos) del mini-mundo. La coleccin de datos que representan la
informacin acerca del mini-mundo constituya la base de datos".
Teniendo presente que esta terminologa puede variar y que empleamos sta por
ser la ms extendida en el mundo de los datos en el que se centra la presente
unidad,definimos modelo de datos como un:
Conjunto de conceptos, reglas y convenciones que permiten describir y manipular
los datos de la parcela del mundo real que constituye nuestro universo del discurso
Pg.16
D
ELEMENTOS ESTTICOS
En el Modelo E/R, tal como fue propuesto por Chen, se distinguen los siguientes
elementospara la componente esttica:
Entidad, Interrelacin, Dominio y Atributo.
Entidades
El mundo real se compone de una serie de objetos (reales o abstractos) acerca de
los cuales queremos obtener y representar informacin. En general dichos objetos
podrn agruparse en conjuntos de acuerdo a unas caractersticas comunes a todos
aquellos que forman parte de un mismo conjunto. Denominamos entidad a la
abstraccin que permite representar aquellos objetos del mundo real que comparten
una serie de caractersticas comunes.
Las entidades son los objetos principales sobre los que debe recogerse informacin
y generalmente denotan personas, lugares, cosas o eventos de inters. Las
entidades aparecern reflejadas en el enunciado habitualmente como nombres. A
cada una de las posibles ocurrencias (cada persona, lugar, cosa o evento concreto)
de la entidad se denomina Instancia o ejemplar.
Las entidades se representan grficamente mediante rectngulos y su nombre
aparece en el interior. Un nombre de entidad slo puede aparecer una vez en el
esquema conceptual.
Existen dos categoras de entidades:
Regulares o fuertes
Son aquellas que existen por s mismas y que la existencia de una instancia o
ejemplar en la entidad no depende de la existencia de otrasinstancias en otra
entidad. Larepresentacin grfica dentro del diagrama es mediante un rectngulo.
Dbiles
Son aquellas entidades en las que se hace necesaria la existencia deinstancias de
otras entidades distintas para que puedan existir instancias en esta entidad.
La representacin grfica dentro del diagrama es mediante un rectngulo con las
esquinas ovaladas.
Un ejemplo de entidad dbil sera EJEMPLAR, ya que la existencia de unainstancia
depende de la existencia del LIBRO, y por tanto, la desaparicin de un determinado
libro dela base de datos hace que desaparezcan todas las instancias de dicho libro.
Su representacincomo entidades sera la siguiente:
LIBRO
Inst. Flores Manco Julio E.
EJEMPLAR
Pg.17
D
Como se puede observar por la propia definicin, las entidades dbiles nunca
cumplirn la primera regla.
Atributos
Los atributos se utilizan para detallar las entidades asignndoles propiedades
descriptivas tales como nombre, color y peso. Los atributos son cada una de las
propiedades o caractersticas que tiene un tipo de entidad o un tipo de interrelacin.
La existencia de un atributo est ligada a la del correspondiente tipo (de entidad o de
interrelacin.
Existen dos tipos de atributos: identificadores y descriptores. Los primeros se utilizan
para distinguir de manera nica cada una de las ocurrencias de una entidad
(distinguindose entre identificadores principales e identificadores alternativos),
mientras que los descriptores de utilizan para describir una ocurrencia de entidad.
No slo es posible especificar atributos en las entidades sino tambin en las
interrelaciones (en este caso slo tiene sentido hablar de atributos descriptores y no
de identificadores)
Identificadores
Entre todos los atributos de un tipo de entidad han de existir uno o varios conjuntos
de atributos (simples y/o compuestos) que identifiquen unvocamente cada una de
las instancias de ese tipo de entidad.
Cada uno de estos conjuntos de atributos se denomina Identificador Candidato
(IC). Todo IC debe cumplir la condicin de ser unvoco y mnimo(Criterio de
Unicidad y Criterio de Minimidad).
Cuando un IC es compuesto, el nmero de los atributos que lo componen debe ser
mnimo, en el sentido de que la eliminacin de cualquiera de ellos le hara perder su
carcter de identificador.
Pg.18
D
Entre los IC se elige uno como Identificador Principal (IP) y el resto sern
Identificadores Alternativos (IA).
En la notacin los atributos de una entidad se representan grficamente as:
Pg.19
D
Relaciones
Se entiende por relacin una asociacin, vinculacin o correspondencia entre
entidades.
Distinguiremos entre el tipo de relacin o estructura genrica que describe un
conjunto de relaciones, y cada relacin, es decir, cada uno de las instancias
concretas.
Un ejemplo de relacin sera: imparte es un tipo de relacin que vincula los tipos de
entidad PROFESOR y CURSO; una instancia del tipo de relacin imparte es la
vinculacin entre el profesor Carrasco y el curso Modelamiento de Datos.
Pg.20
D
Ejemplos de la cardinalidad
Pg.21
D
Pg.22
D
Por ejemplo un cliente se relaciona con un coche por que este lo a usar, pero
antes de llevarse el coche, primero tiene que separa una reserva, luego la
relacin ms inmediata de la entidad Cliente es con la entidad Reserva.
1
M
M
1
Pg.23
D
EJERCICIO 2
A partir dela siguiente realidad propuesta, disear el modelo conceptual
correspondiente:
La clnica SANTO TOMAS necesita llevar un control informatizado de su gestin de
pacientes y mdicos.
De cada paciente se desea guardar el cdigo, nombre, apellidos, direccin,
poblacin, provincia, cdigo postal, telfono y fecha de nacimiento.
De cada mdico se desea guardar el cdigo, nombre, apellidos, telfono y
especialidad.
Se desea llevar el control de cada uno de los ingresos que el paciente hace en el
hospital.
Cada ingreso que realiza el paciente queda registrado en la base de datos. De cada
ingreso se guarda el cdigo de ingreso (que se incrementar automticamente cada
vez que el paciente realice un ingreso), el nmero de habitacin y cama en la que el
paciente realiza el ingreso y la fecha de ingreso.
Un mdico puede atender varios ingresos, pero el ingreso de un paciente solo puede
ser atendido por un nico mdico. Un paciente puede realizar varios ingresos en la
clnica.
Pg.24
D
EJERCICIO 3
A partir del siguiente enunciado se desea realizar el modelo conceptual
correspondiente.
Se desea informatizar la gestin de una empresa de transportes que reparte
paquetes por todo el Pas. Los encargados de llevar los paquetes son los
camioneros, de los que se quiere guardar el DNI, nombre, telfono, direccin, salario
y poblacin en la que vive. De los paquetes transportados interesa conocer el cdigo
de paquete, descripcin, destinatario y direccin del destinatario. Un camionero
distribuye muchos paquetes, y un paquete slo puede ser distribuido por un
camionero.
De las provincias a las que llegan los paquetes interesa guardar el cdigo de
provincia y el nombre. Un paquete slo puede llegar a una provincia. Sin embargo, a
una provincia pueden llegar varios paquetes.
De los camiones que llevan los camioneros, interesa conocer la matrcula, modelo,
tipo y potencia. Un camionero puede conducir diferentes camiones en fechas
diferentes, y un camin puede ser conducido por varios camioneros.
Ejercicio 4
La cadena de Video-Clubs Glob-Gusters ha decidido, para mejorar su servicio,
emplear una base de datos para almacenar la informacin referente a las pelculas
que ofrece en alquiler. Esta informacin es la siguiente:
Una pelcula se caracteriza por su ttulo, nacionalidad, productora y fecha (p.e., Quo
Vadis, Estados Unidos, M.G.M., 1955).
En una pelcula pueden participar varios actores (nombre, nacionalidad, sexo)
algunos de ellos como actores principales.
Una pelcula est dirigida por un director (nombre, nacionalidad).
De cada pelcula se dispone de uno o varios ejemplares diferenciados por un
nmero de ejemplar y caracterizados por su estado de conservacin.
Un ejemplar se puede encontrar alquilado a algn cliente (nombre, direccin,
telfono). Se desea almacenar la fecha de comienzo del alquiler y la de devolucin.
Cada socio puede alquilar como mximo 4 ejemplares.
Un socio tiene que ser avalado por otro socio, que responda de l en caso de tener
problemas en el alquiler.
Pg.25
D
Ejercicio 5
Una empresa de transporte de pasajeros requiere se le disee una Base de Datos
que cumpla con los siguientes requerimientos:
La empresa se dedica al transporte interprovincial de pasajeros entre las principales
ciudades del pas.
Todas sus rutas son directas; es decir, que partiendo de la ciudad de origen se
dirigen sin escalas a la ciudad destino.
Cada ruta tiene una ciudad de origen, una hora de salida programada, una hora de
salida real, una ciudad destino, una hora de llegada programada, una hora de
llegada real.
Para cada ruta se tiene dos tipos de pasajes: Estndar (asiento pulman) y Premium
(asiento-cama).
Las unidades de transporte se han adquirido de distintos fabricantes y tienen distinta
capacidad e pasajeros. Hay unidades para 30 pasajeros, unidades para 40
pasajeros, etc.
Para cada viaje se asignan 2 choferes. Adems, en cada viaje se tiene a bordo a
una azafata para la atencin a los pasajeros.
En los controles de salida y entrada de las ciudades se debe entregar una relacin
de pasajeros que van en el viaje, as como de la tripulacin.
La BD debe permitir el control de la venta de pasajes, de las unidades de transporte
utilizadas, de la tripulacin asignada, y del viaje.
Presentar el modelo de datos conceptual.
Solucin:
Pg.26
D
EJERCICIO 6
A partir del siguiente supuesto disear el modelo conceptual:
Se desea disear una base de datos para almacenar y gestionar la informacin
empleada por una empresa dedicada a la venta de automviles, teniendo en cuenta
los siguientes aspectos:
La empresa dispone de una serie de coches para su venta. Se necesita conocer la
matrcula, marca y modelo, el color y el precio de venta de cada coche.
Los datos que interesa conocer de cada cliente son el RUC, nombre, direccin,
ciudad y nmero de telfono: adems, los clientes se diferencian por un cdigo
interno de la empresa que se incrementa automticamente cuando un cliente se da
de alta en ella. Un cliente puede comprar tantos coches como desee a la empresa.
Un coche determinado solo puede ser comprado por un nico cliente.
El concesionario tambin se encarga de llevar a cabo las revisiones que se realizan
a cada coche. Cada revisin tiene asociado un cdigo que se incrementa
automticamente por cada revisin que se haga. De cada revisin se desea saber si
se ha hecho cambio de filtro, si se ha hecho cambio de aceite, si se ha hecho
cambio de frenos u otros. Los coches pueden pasar varias revisiones en el
concesionario.
Pg.27
CAPTULO
D
Diseo Lgico
El diseo lgico parte del esquema conceptual y se obtiene como resultado un
esquema lgico de base de datos. Un esquema lgico es una descripcin de la
estructura de la base de datos que puede procesar el software de DBMS. Un
modelo lgico es un lenguaje usado para especificar esquemas lgicos. Los
modelos lgicos ms utilizados son:
Redes
Jerrquico
Relacional
El modelo relacional
En el modelo relacional los datos tienen una estructura de registros de longitud
fija con un nmero fijo de campos o atributos. Los datos se representan en
formato de filas y columnas.
La base del modelo relacional es la tabla o relacin, un ordenamiento
rectangular de filas y columnas de los valores de los datos.
Pg.28
D
Tabla
La estructura fundamental del modelo relacional es la tabla bidimensional
constituida por filas (tuplas) y columnas (atributos). Las relaciones representan
las entidades que se consideran interesantes en la base de datos. Cada
instancia de la entidad encontrar sitio en una tupla de la relacin, mientras
que los atributos de la relacin representan las propiedades de la entidad.
Por ejemplo, si en la base de datos se tienen que representar personas, podr
definirse una relacin llamada "Personas", cuyos atributos describen las
caractersticas de las personas. Cada tupla de la relacin "Personas"
representar una persona concreta.
Por ejemplo, la relacin: Personas (DNI, nombre, apellido, sexo, estadoCivil,
fechaNacimiento) es apenas una definicin de la estructura de la tabla, es
decir su nombre y la lista de atributos que la componen. Si esta estructura se
puebla con datos, entonces tendremos una lista de valores individuales para
cada tupla, atributo por atributo.
Dominio.
Cada atributo de una relacin se caracteriza por un nombre y por un dominio.
El dominio indica qu valores pueden ser asumidos por una columna de la
relacin. A menudo un dominio se define a travs de la declaracin de un tipo
para el atributo (por ejemplo diciendo que es una cadena de diez caracteres),
pero tambin es posible definir dominios ms complejos y precisos.
Por ejemplo, para el atributo "sexo" de nuestra relacin "Personas" podemos
definir un dominio por el cual los nicos valores vlidos son 'M' y 'F'; o bien
para el atributo "fechaNacimiento" podremos definir un dominio por el que se
consideren vlidas slo las fechas de nacimiento despus del uno de enero de
1960, si en nuestra base de datos no est previsto que haya personas con
fecha de nacimiento anterior a esa.
Inst. Flores Manco Julio E.
Pg.29
D
Texto
Numero
Fecha
Otros
Clave primaria
La clave primaria sirve para identificar unvocamente a cada instancia de la
entidad, y puede estar formada por uno o ms atributos. Cuando una clave
est formada por ms de un atributo se la conoce como clave compuesta. A
la clave primaria se le conoce tambin como PK (PrimaryKey). En ocasiones,
para una entidad dada, ms de un atributo o conjunto de atributos puede ser
seleccionado como clave. Estos atributos o conjuntos de atributos se conocen
como claves candidatas.
Clave fornea
La clave fornea, tambin denominada FK (ForeignKey) es el atributo de una
entidad que la relaciona con otra entidad a travs de la clave primaria de sta.
La clave fornea es un atributo que es clave primaria en la otra entidad.
Pg.30
D
Reglas de transformacin
1. Toda entidad se convierte en una tabla o relacin que toma el nombre de la
entidad. Los atributos de la entidad sern las columnas de la tabla y el
atributo identificador principal ser la clave primaria. A menos que se indique
lo contrario los atributos no identificadores podrn tomar valores nulos.
2. Las interrelaciones 1:N1:1se transforman propagando el atributo
identificador principal de la entidad que tiene cardinalidad mxima 1 a la que
tiene cardinalidad mxima N. Si la relacin fuese 1:1 la propagacin de clave
Inst. Flores Manco Julio E.
Pg.31
D
Ejemplos de Transformacin
Pg.32
D
Pg.33
D
Ejemplo 1 de Transformacin
Se desea disear una base de datos que guarde la informacin de las
reservas de una empresa dedicada al alquiler de automviles. Los supuestos
semnticos son los siguientes:
Un determinado cliente puede tener en un momento dado varias reservas.
Una reserva la realiza un nico cliente, pero puede involucrar a varios coches.
Es importante registrar la fecha de comienzo de la reserva y la de
terminacin.
Todo coche tiene siempre asignado un nmero determinado de garaje, que no
puede cambiar.
Cada reserva se realiza en una determinada agencia.
En la base de datos pueden existir clientes que no hayan hecho ninguna
reserva.
Todas las entidades tienen una clave alfanumrica que las identifica
unvocamente.
Se pide realizar el diseo del modelo E/R e indicar aquellos supuestos que no
se han considerado.
Solucin:
Modelo Conceptual
Pg.34
D
Este Modelo puede pasarse a una herramienta CASE como es el caso del
ERWIN.
El docente indicara los pasos para usar el ERWIN en clase.
Pg.35
D
Ejemplo 2 de Transformacin
La base de datos COMPAIA debe almacenar informacin de los empleados,
departamentos y proyectos de una empresa, de acuerdo con los siguientes
requisitos:
La compaa est organizada en departamentos. Cada departamento tiene un
nombre nico, un nmero nico y un empleado que la dirige y estamos
interesados en guardar la fecha en que dicho empleado comenz a dirigir el
departamento.
Un departamento puede estar distribuido en varios lugares.
Cada departamento controla un cierto nmero de proyectos, cada uno de los
cuales tiene un nombre y un nmero nicos, y se realiza en un slo lugar.
Se almacena el nombre, nmero de la Seguridad Social, direccin, salario,
sexoy fecha de nacimiento de cada empleado. Todo empleado est asignado
a un Departamento, pero puede trabajar en varios proyectos que no tienen por
qu ser del mismo departamento. Nos interesa saber el nmero de horas que
un empleado trabaja en cada proyecto a los que est asignado.
Tambin se quiere guardar la relacin de las cargas familiares de cada
empleado para administrar el seguro que poseen. Almacenaremos el nombre,
sexo y fecha de nacimiento de cada una de las cargas familiares y su
parentesco con el empleado.
Solucin:
Pg.36
D
Pg.37
D
Pg.38
D
Relaciones Ternarias
Supongamos el caso de varias COMPAIAs que venden varios PRODUCTOs
a varios CLIENTEs. Esta situacin se puede representar mediante dos
relaciones binarias, tal como se muestra en el diagrama siguiente.
En el Modelo Conceptual tendramos:
Pg.39
D
Pg.40
D
Pg.41
CAPTULO
D
NORMALIZACION
La Normalizacin es un proceso que permite remplazar las relaciones
complejas entre los Datos por relaciones ms sencillas de tal manera que se
facilita la comprensin y el desarrollo del procesamiento de datos.
La idea bsica de la normalizacin es reducir una estructura de datos compleja
(multidimensional) a un grupo de entidades y relaciones ms simples.
Los objetivos principales de la Normalizacin son facilitar la actualizacin de la
Base de Datos, eliminar las redundancias y las anomalas de actualizacin, de
manera tal que se maneje adecuadamente la integridad y consistencia de los
datos. El modelo normalizado finalmente debe corresponder y reflejar la
realidad a partir de la cual se dise.
La integridad de datos, se puede asociar en general a restricciones que
permitan asegurar que los cambios o actualizaciones que efectan los
usuarios en la Base de Datos, no resulten en una prdida de consistencia de
stas, es decir se debe contar con mecanismos que permitan proteger la Base
de Datos.
El concepto de la Normalizacin de los datos tuvo su origen en la teora
relacional numrica y fue planteada formalmente por Edgard F. Codd. Codd
encontr en esta teora una forma elegante de presentar un mtodo para el
trabajo de modelar los datos; esta es la razn por la cual debe seguir estos
procedimientos, llamados formas normales, de manera rgida y en forma
ordenada. Esto quiere decir que primero se debe pasar a la Primera Forma
normal, luego a la Segunda Forma Normal luego a la Tercera y as
sucesivamente. No se debe alterar esta secuencia.
Codd planteo inicialmente la Primera Forma Normal (1FN) , la Segunda Forma
Normal (2FN) y la Tercera Forma Normal (3FN), posteriormente en 1971
Heath reformul la 3FN y en 1977 Fagin defini la Cuarta Forma Normal
(4FN).
La presentacin formal de la teora de la Normalizacin exige un bagaje
matemtico, con sus correspondientes algoritmos, y es solo indispensable en
una formacin acadmica universitaria. No pretendo desarrollar esta
formalizacin, sino ms bien presentar estas ideas de una manera intuitiva
para que los lectores a quienes va dirigido este trabajo, que por lo general son
personas que quieren llegar directo al grano, puedan comprender esta teora
de manera muy simple y prctica.
A continuacin plantearemos las principales formas normales, desde el punto
de vista que nos hemos propuesto
Pg.42
D
Para observar con mayor claridad la forma de aplicar las formas normales voy
a plantear un caso prctico, y en l iremos desarrollando las diferentes formas
normales. Supongamos que al estudiar una realidad de un negocio se nos
presenta un documento como el que se muestra a continuacin:
Pg.43
D
Entidad Compleja
Como se puede observar los atributos que forman parte del grupo repetitivo
son desde Cod hasta Subtotal que son los atributos que tienen varios datos
para una misma celda. Por ejemplo en la celda que corresponde a la columna
del Cod en la primera fila debe estar el dato P104, pero tambin en esta
misma fila deberan estar los datos P089 y P133, ya que corresponden a la
misma Boleta o sea a la misma instancia; estos datos no se podran ubicar
mas abajo, en al siguiente fila, porque estos lugares corresponden a otra fila
a otra instancia. Luego estos tres datos deben ubicarse en la misma celda
yuxtaponindose entre ellos; por lo tanto los datos de este atributo no
permiten representar a la entidad en un plano sino ms bien en una
representacin espacial.; luego este atributo se dice forma parte del grupo
repetitivo.
Lo anterior tambin se aplica para los atributos Producto, Unidad, Can, PU, y
SubTotal
Pg.44
D
La entidad compleja anterior quedara sin los atributos que conforman el grupo
repetitivo. A esta entidad resultante le llamaremos momentneamente Entidad
A :
Entidad B.
NroBol
Cod
Producto Unidad
Can
PU
SubTotal
Dependencia Parcial.
Supongamos que tenemos una entidad como la siguiente, donde la PK es
compuesta y est formada por los atributos A y B:
Pg.45
D
Pg.46
D
NroBol
Cod
Producto
Unid
Can
ad
PU
1356
P104
Arroz del No
Saco
130.00 260.00
1356
P089
Leche Gloria
Caja
120.00 360.00
1356
P133
Aceite El Sol
Caja
90.00
1357
P104
Arroz del No
Saco
135.00 540.00
...
SubTotal
450.00
Pg.47
D
Pg.48
D
Entidad B1
Entidad B2
Aqu podemos observar que tambin se llev al atributo del cual dependan
funcionalmente en la entidad B, esto asegura la relacin entre las entidades
resultantes. Adems identificamos al atributo Cod como PK en esta nueva
entidad resultante B2.
Hasta este momento, en este ejemplo, tenemos tres entidades resultantes en
2FN :A, B1, y B2.
Pg.49
D
Entidad A1
Entidad A2
Pg.50
D
Entidad A3
A2 A3 B1 B2
BOLETA
A2
CLIENTE
A3
VENDEDOR
B1
DETALLEBOLETA
B2
PRODUCTO
Pg.51
D
Luego hay que definir el tipo de relacin a establecer entre las entidades; por
ejemplo vamos determinar el tipo de relacin que existe entre la entidad
VENDEDOR y la entidad BOLETA, que como ya se haba determinado en el
proceso de la Normalizacin, el nexo entre estas dos entidades es el atributo
IdVend.
Se observa que el atributo nexo es PK en la entidad VENDEDOR y , a su vez
es FK en la entidad BOLETA; por esta razn, para esta relacin en particular
VENDEDOR es la Entidad Padre, y BOLETA es la Entidad Hija.
Adems para determinar una instancia en particular en la entidad Hija no se
necesita conocer IdVend (al vendedor); luego podemos especificar un nmero
de boleta, por ejemplo 356 y ya podemos esa boleta; no hubo necesidad de
especificar el vendedor (IdVend).
Adems si solo tuviramos como dato el cdigo del vendedor (IdVend) no
podramos particularizar una boleta, pues pueden existir muchas boletas
relacionadas con un mismo vendedor. Por lo tanto podemos afirmar que la
relacin existente entre VENDEDOR y BOLETA es una RELACIN NO
IDENTIFICADORA.
A continuacin tazamos la lnea de relacin entre las dos entidades:
Pg.52
D
Pg.53
D
Ejercicio 2 de Normalizacin.
Normalizar estructuras complejas de datos.
Establecer las dependencias funcionales entre los atributos.
Identificar las claves primarias y forneas.
Construir diagramas E-R
Dado el siguiente documento correspondiente a la Ficha de Matricula de un
Alumno del CEPS, obtener las Estructura compleja correspondiente y luego
aplicar las tcnicas de Normalizacin desarrolladas en clase
FICHA DE MARTICULA
Fecha:
N 20023
24/09/2011
Cdigo: C
Modulo: C04
Alumno: Crdova Tello, Javier
Mes Acd.
CodCurso
3
3
2
VB2
SQ2
SQ1
Cdigo: 99409
Observaciones: .
D
Identificar los Atributos que sern las Claves Principales y los Atributos que
sern Claves Forneas.
Trazar las lneas de relacin entre las entidades partiendo desde la PK en la
entidad Padre hacia la FK en la entidad Hija
Con el diagrama E-R del papel se debe construir el Modelo Lgico en Erwin
Establecer las cardinalidades correspondientes a las relaciones.
Pg.55
D
Ejercicio 3 de Normalizacin.
A partir del siguiente documento Normalizar y construir Diagrama E-R, El Modelo
Lgico, el Modelo Fsico. Implementar la BD en SQL Server
Telfono :
5447291
Autor
CodEdit
Nombre Editorial
1005
Estadstica
Murray Spiegel
901
McGraw Hill
1007
E. Petroustsos
803
Anaya
1.
2.
3.
4.
5.
Solucin:
Pg.56
D
Ejercicio 4 de Normalizacin.
Dado el siguiente documento correspondiente al estado de cuenta de una tarjeta de
crdito de una entidad bancaria. Normalizar hasta la tercera forma normal y luego
dibujar el diagrama de entidades correspondiente.
Pg.57
D
Ejercicio 5 de Normalizacin.
En el siguiente documento se presentan los gastos por cobrar de una cadena de
edificios. El Documento tiene el cdigo NumGPCM (Numero de Gastos por cobrar
mensual). Cada edificio tiene direccin y su cdigo (E1, E2, etc.)
NumGPCM: 1003
Se pide elaborar :
La Entidad Compleja y Normalizar hasta la 3FN
Dibujar el diagrama de entidades y sus relaciones.
Pasar este diagrama al Modelo Lgico en Erwin
Solucin:
Identificamos la Entidad Compleja con los atributos que se describen en el
documento; y a continuacin encontramos los atributos que forman parte del Grupo
Repetitivo:
Pg.58
D
1FN
Luego para pasar a la Primera Forma Normal separamos el Grupo repetitivo en
otra entidad aparte llevndonos una copia de la PK para mantener el vinculo entre
las entidades resultantes:
2FN
Para pasar a la Segunda Forma Norma identificamos los atributos con
Dependencia Parcial de la Clave Primaria.
Ntese que la entidad A ya se encuentra en 2FN porque su PK es Simple (est
formada por un solo atributo).
3FN
Para pasar a la tercera forma normal verificamos las dependencias transitivas de
atributos con respecto de su clave primaria y separamos estos atributos en otra
entidad llevndonos una copia del atributo del cual dependen transitivamente de la
PK.
Pg.59
D
Finalmente representamos estas entidades resultantes en un Diagrama EntidadRelacin y luego implementamos el Modelo Lgico correspondiente en Erwin.
Pg.60
D
Ejercicio 6 de Normalizacin.
En el siguiente documento se presenta un listado de Ventas totales por zona y
vendedor.
Los Vendedores tienen un cdigo que los identifica (V103, V102, etc.). Cada ZONA
corresponde a un grupo de ciudades del Pas. Las lneas tienen cdigos como L1,
L2, L3, etc.
Se pide elaborar:
La entidad compleja
Normalizar hasta la 3FN
Dibujar el diagrama de Entidades con sus relaciones
Pasar al Modelo Lgico en Erwin.
Pg.61
D
ANOMALIAS ADICIONALES
Anomala de la Dependencia Condicional ( ValorNull )
Se establece cuando en una campo de una entidad para algunas instancias no
existen datos, o sea tienen valores nulos.
Por ejemplo existen algunos clientes que no tiene crdito en un grupo de clientes.
Luego en el atributo Credito de la entidad cliente existen algunas instancias que en
el atributo Credito no tienen valor alguno,(Tienen nulos).
Luego en el grafico de la entidad CLIENTE tendramos la siguiente figura:
Pg.62
D
Ejercicio 7 de Normalizacin.
Se tiene una organizacin que cuenta con un sistema de lneas conectadas a una
central telefnica
Se tiene entonces a continuacin una muestra de las llamadas realizadas desde las
diferentes dependencias de la organizacin
Pg.63
D
Solucin:
Pg.64
D
Ejercicio 8 de Normalizacin.
Se tiene el siguiente documento correspondiente a la Planilla de Empleados deuna
empresa determinada.Obtener las Estructura compleja correspondiente y luego
aplicar las tcnicas de Normalizacin.
Apellidos y Nombres
Dependencia
100
Logstica
Dependencia
900
250
200
100
125
100
50
......
......
1875
1600
750
.... ...
.... ...
....
....
Contabilidad
Totalesxxxx
Horizonte
Integra
....
....
250
100
250
.........
.........
xxx
250
200
250
125
1875
100
1600
125
1875
......
.... ...
......
.... ...
....
....
xxxxxxxxxx
Pg.65
D
Con el diagrama E-R del papel se debe construir el Modelo Lgico en Erwin
Establecer las cardinalidades correspondientes a las relaciones.
Solucin:
Pg.66
D
Ejercicio 9 de Normalizacin.
Se tiene el caso de una Empresa de fabricacin de insumos de oficina y tiles de
escritorio. El centro de produccin se encuentra en Santa Anita; El departamento de
comercializacin y marketing se encuentra en San Isidro; Los Almacenes se
encuentran en Lince y El Departamento de Contabilidad y Gerencia General se
ubica en Miraflores.
Se enva equipos a los diferentes locales con el fin de recaudar los datos necesarios
para realizar un modelo de datos y luego implementar una base de datos en SQL
Server.
Los equipos han reportado unas muestras de los documentos de Pedidos, Guas de
Remisin, Facturas y de las Boletas de Ingreso a Almacn.
Pg.67
D
GUIA DE PEDIDOS
Numero
Nombre
Cliente
Direccin Cli
Cdart.
Cantidad
Artculo
Unidad
med.
Nombre Artculo
P
u
Pedido
Fecha
Cod.Vend
Vend
Nombre Cli.
P001
14/08/2010
V004
RUIZ
ALVA
23456789
4234567
A004
CIENTO
Lapicero
20
P001
14/08/2010
V004
RUIZ
ALVA
23456789
4234567
A001
10
DOCENA
Cuaderno
10
P001
14/08/2010
V004
RUIZ
ALVA
23456789
4234567
A003
RESMA
Papel Bond A4
50
P002
15/08/2010
V001
CALLE
BELTRAN
87654123
Jr Trujillo 214
5566789
A002
DOCENA
Borrador
P002
15/08/2010
V001
CALLE
BELTRAN
87654123
Jr Trujillo 214
5566789
A004
CIENTO
Lapicero
20
P002
15/08/2010
V001
CALLE
BELTRAN
87654123
Jr Trujillo 214
5566789
A003
RESMA
Papel Bond A4
50
Pg.68
RUC Cli
Telfono
Cli
D
GUIA DE REMISION
Numero
Nmero
Nombre
Cliente
Rem.
Fecha
Pedido
Cod.Vend
Vendedor
Nombre
Cli.
R101
15/08/2010
P001
V004
RUIZ
ALVA
R101
15/08/2010
P001
V004
RUIZ
R101
15/08/2000
P001
V004
R104
16/08/2010
P002
R104
16/08/2010
P002
R104
16/08/2010
P002
Artculo
Unidad
med.
Nombre
Artculo
Pu
CIENTO
Lapicero
20,00
A001
10
DOCENA
Cuaderno
10,00
4234567
A003
RESMA
Papel Bond A4
50,00
Jr Trujillo 214
5566789
A002
DOCENA
Borrador
4,00
Jr Trujillo 214
5566789
A004
CIENTO
Lapicero
20,00
Jr Trujillo 214
5566789
A003
RESMA
Papel Bond A4
50,00
Direccin Cli
TelfCli
CdArt.
23456789
4234567
A004
ALVA
23456789
4234567
RUIZ
ALVA
23456789
V001
CALLE
BELTRAN
87654123
V001
CALLE
BELTRAN
87654123
V001
CALLE
BELTRAN
87654123
RUC Cli
Cant
Pg.69
D
FACTURA
Nmero
Factura
Num
Fecha
Cliente
Rem
Cod.Ve
Nombre
Cli.
RUC Cli
Direccin Cli
Telf. Cli
Cd
art.
Cant
Artculo
Unidad
med.
Nombre
Artculo
Prec
un
Monto
Total
Total
Total
Articulo
Venta
IGV
Factura
370,00
66,60
436,60
338,00
60,84
398,84
F00234
15/08/2010
R101
V004
ALVA
23456789
4234567
A004
CIENTO
Lapicero
20,00
20,00
F00234
15/08/2010
R101
V004
ALVA
23456789
4234567
A001
10
DOCENA
Cuaderno
10,00
100,00
F00234
15/08/2010
R101
V004
ALVA
23456789
4234567
A003
RESMA
Papel Bond A4
50,00
250,00
F00235
16/08/2010
R104
V001
BELTRAN
87654123
Jr Trujillo 214
5566789
A002
DOCENA
Borrador
4,00
8,00
F00235
16/08/2010
R104
V001
BELTRAN
87654123
Jr Trujillo 214
5566789
A004
CIENTO
Lapicero
20,00
80,00
F00235
16/08/2010
R104
V001
BELTRAN
87654123
Jr Trujillo 214
5566789
A003
RESMA
Papel Bond A4
50,00
250,00
Pg.70
D
BOLETA DE
INGRESO DE ALMACEN
Nmero de
Ingreso
Artculo
Fecha
Cod.Art.
Nombre Art.
Cantidad
Unidad
I0984
01/06/2010 A004
Lapicero
I0984
01/06/2010 A001
Cuaderno
60 DOCENA
I0984
01/06/2010 A003
Papel Bond A4
50 RESMA
100 CIENTO
Pg.71
D
Con las entidades resultantes creamos un solo diagrama donde convergen todas las
Entidades. Se han asignado nombres a cada Entidad
Pg.72
CAPTULO
D
Diseo Fsico
El modelo fsico es un modelo que representa la realidad en la implementacin y por
lo tanto es dependiente de la plataforma que se use. Se necesita definir por lo tanto
el DBMDS con el que se va a implementar finalmente la Base de Datos. En nuestro
caso vamos a usar el SQL Server de Microsoft.
El Modelo Fsico se usa entonces para plasmar la solucin a nivel fsico, en el caso
de una base de datos, ac se tendr que modelar de acuerdo al motor de base de
datos que uses, por ejemplo ac se tiene que colocar el tipo de datos de los
conceptos lgicamente relacionados en los modelos anteriores (ejemplo: Char,
String, Int, var, etc.)
DBMS
Data Base Management System.Son las siglas en Ingles para los Sistemas de
Gestin o Administracin de Bases de Datos.
Es una aplicacin que permite a los usuarios definir, crear y mantener una Base de
Datos, adems de proporcionar un acceso controlado a la misma.
Es una aplicacin que interacciona con los usuarios de los programas de aplicacin
y la base de datos.
Pg.73
D
Oracle: Uno de los ms reconocidos a nivel mundial como de los mejores DBMS's.
Multiplataforma, confiable y seguro. Su administracin puede ser un poco difcil pero
nada que no se pueda resolver
DB2
DB2: Heredero de System R de IBM. Es un gran DBMS que ofrece una seguridad
casi impenetrable cuando se instala sobre una mquina AS/400
Informix
Informix: Otra opcin de IBM para el mundo empresarial que necesita un DBMS
sencillo y confiable.
D3: Un nuevo DBMS que pretende abrirse camino con caractersticas novedosas
Pg.74
D
Progress: Otro DBMS con aos en el mercado, con una nueva cara y un nuevo
espritu. Esta enfocado a los grandes negocios.
Microsoft SQL Server es un sistema para la gestin de bases de datos producido por
Microsoft basado en el modelo relacional. Sus lenguajes para consultas son El
Transac SQL (T-SQL) y ANSI SQL.
Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas
gestores de bases de datos como son Oracle, PostgreSQL o MySQL.
Uso de SQLServer
Creacin de una Base de datos.
Hacer click en el icono de acceso directo SQLServer Management Studio
Pg.75
D
Pg.76
D
Para crear una nueva Base de Datos Nos ubicamos en el Explorador de Objetos de
la izquierda y hacemos click con derecha en la carpeta de Databases
Pg.77
D
Pg.78
D
Para verificar la Base de datos nueva hacemos click con derecha en Databases y
elegimos Refresh (Actualizar)
Pg.79
D
DATETIME :Almacena fechas con una precisin de milisegundo. Debe usarse para
fechas muy especficas. El formato que presenta es de fecha y hora (0:00:00).
Ocupa 8 bytes
Pg.80
D
los que
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato
adecuado para cada uno de ellos.
Por ejemplo, si en un campo almacenaremos nmeros enteros, el tipo "float" sera
una mala eleccin; si vamos a guardar precios, el tipo "float" es ms adecuado, no
as "integer" que no tiene decimales. Otro ejemplo, si en un campo vamos a guardar
un nmero telefnico o un nmero de documento, usamos "varchar", no "integer"
porque si bien son dgitos, con ellos no realizamos operaciones matemticas.
Pg.81
D
Pg.82
D
Pg.83
D
Entity
Pg.84
D
Hacemos click con derecha sobre la entidad y del men contextual que aparece,
elegimos Atribute Properties
Pg.85
D
D
Pg.87
D
Pg.88
D
Se hace click con derecha en la relacin, y del men emergente se elige la opcin
Properties
Pg.89
D
Pg.90
D
Ahora vamos a relacionar PEDIDO con DETALLE_PEDIDO con una relacin de tipio
Identificadorapara lo cual elegimos a la herramienta de la parte superior,
Identifyingrelationship;
Pg.91
D
Grabamos el modelo, elegimos del men File la opcin Save As (Guardar como)
Pg.92
D
Pg.93
D
Hacemos click con derecha en alguna parte libre del modelo, y del men contextual
que aparece elegimos la opcin Properties
Pg.94
D
Pg.95
D
Para el atributo IdCliente cambiamos al tipo CHAR y entre los parntesis digitamos
5 ose le cambiamos al tipo CHAR(5)
Ahora vamos a generar el cdigo para implementar los objetos de bases de datos en
el servidor.
Del men Actionselegimos Forward Engineer y luego Schema
Pg.96
D
Se presenta la siguiente ventana, con el cdigo que genera Erwin en lenguaje SQL
Pg.97
D
Pg.98
D
Pg.99
D
Pg.100
D
Pg.101
D
Ejercicio adicional:
En el caso del ejemplo Ejercicio 9 de Normalizacin, el modelo Lgico se debe
convertir al modelo fsicocorrespondiente e implementar la base de datos en SQL
Server
Pg.102