Vous êtes sur la page 1sur 18

Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile

Pgina N1

Introduccin y Conceptos Bsicos.

Base de Datos
Es un conjunto de datos interrelacionados. Por ejemplo una gua de telfonos.

Sistema Administrador de Bases de Datos (SABD, en ingls DBMS)
En el contexto de la organizacin, un SABD provee la informacin oportuna para la toma de decisiones, siendo ste,
su objetivo principal. Entendemos este SABD asociado al computador, el cual posee caractersticas que lo hacen ser
la herramienta ms adecuada para cumplir el objetivo del SABD; rapidez, capacidad, manejo de grandes volmenes
de informacin. Esto concluye que es necesario:
+ definir estructuras de informacin
+ definir mecanismos que permitan acceder a tal informacin. Por ejemplo, un lenguaje de consulta para el
usuario final, mecanismos de seguridad.

Sistema de Procesamiento de Archivos
Desventajas
- Redundancia e Inconsistencia de datos: consiste en tener copias de un mismo dato. Adems la forma de
presentacin de estos es diferente (formato), tambin la actualizacin no esta hecha al mismo tiempo.
- Dificultades para el acceso de los datos: en este enfoque cualquier requerimiento es satisfecho como caso
puntual, lo que implica dos cosas; el usuario no obtiene su informacin, o la obtiene a un costo muy alto. Esta
dificultad se debe a la inflexibilidad de estos sistemas. La inflexibilidad se obtiene porque los sistemas han sido
diseados sin coordinacin entre los grupos de desarrollo.
- Aislamiento de los datos: este aislamiento hace que sea imposible integrar la informacin para satisfacer los
requerimientos de gestin de la empresa, pues para ello es necesario efectuar procesos complejos de
importacin, transformacin, exportacin de datos.
- Privacidad y seguridad: usualmente no existen mecanismos de control de acceso, respaldos uniformes y la
recuperacin ante fallas de hardware y/o software, es una aventura. En general los datos se encuentran muy
susceptibles a ser daados en forma voluntaria o intencional.
- Integridad: hay que gasta mucho dinero en mantencin.
- Otros: no hay metodologas de desarrollo, estandarizacin, baja productividad, excesiva mantencin y no existe
departamento de informtica.

El problema de este enfoque, es que se ha dado excesiva importancia a los procesos, dejando de lado lo ms
importante, reconocido como un recurso de la organizacin, que es la informacin. Cualquier sistema en el
contexto de la organizacin, no es ms que un conjunto de procesos actuando sobre un conjunto de datos y por lo
tanto, debemos enfrentar el problema no solamente preocupndonos de los procesos, sino tambin de los datos.
Es posible enfrentar el problema de satisfacer adecuadamente los requerimientos de informacin de los usuarios
viendo a sta, desde el punto de vista de la informacin utilizada, denominamos a este enfoque, el enfoque de datos
que se concentra en analizar la informacin y en establecer una representacin adecuada de stas para satisfacer
los requerimientos de los usuarios.

Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N2



Modelo de Datos.
Al igual que en el ciclo de desarrollo del software y en general cualquier anlisis de resolucin de problemas, los
analistas involucrados en el estudio lo enfrentan en diferentes niveles de abstraccin. En el proceso de establecer un
modelo de la informacin manejado por una organizacin, podemos identificar tres niveles de abstraccin.


Visin



Conceptual


Fsico




Por lo tanto, el modelo de datos, se define como una coleccin de herramientas conceptuales que permiten describir
datos, relaciones entre ellos, significado y restricciones de integridad y consistencia.

Simbologa o Notacin
Varias personas se ponen de acuerdo en la simbologa entendible o conocida por todos para lograr una
representacin abstracta. El principal objetivo de los modelos de datos, es obtener una representacin abstracta de
una realidad. (Informacin utilizada para llevar a cabo alguna funcin).

Tipos de Modelos de Datos.
Existen tres tipos de modelos de datos dependiendo del nivel de abstraccin en el que se utilizan, y son:
Modelos Lgicos basados en entidades u Objetos
1) Se utilizan preferentemente en los niveles de visin y conceptual en el marco de diversas metodologas de
desarrollo, algunos de estos modelos son diagramas de entidades, diagramas de entidad relacin, modelo
semntico, modelo de Bachmann. Los modelos ms utilizados son el modelo entidad relacin y modelo
semntico.

Es importante destacar que este tipo de modelo, debe utilizarse absolutamente independiente de la tecnologa de
computacin que se utilice eventualmente para el desarrollo y construccin de los sistemas que utilizaran la
informacin modelada.

La representacin de estos modelos es eminentemente lgica (independientemente del formato de registros, de tipos
de datos, estructuras de almacenamiento, etc.)

Usuario 1 Usuario 2 Usuario 3
Conceptual
Fsico
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N3


Ejemplo de Diagrama de Entidades:













Modelo Lgico Basado en Registros
2) Se aplican fundamentalmente en los niveles conceptual y fsico en el marco de las metodologas de diseo de
aplicaciones, los modelos ms utilizados de ste tipo son:
+ Modelo Jerrquico: se basa en una visin jerrquica de los datos entendiendo una jerarqua como una relacin
de uno (padre) a muchos (hijos), donde cada hijo tiene un solo padre. Por ejemplo; una estructura orgnica. El
producto ms usado de este tipo en su tiempo fue IMS (IBM).
+ Modelo Reticular: se basa en una estructura de redes entendiendo una red como una relacin de muchos
(nodos) a muchos. El producto ms usado en su tiempo fue ACCENT-R, DBMS-10, TOTAL.
+ Modelo Relacional: un modelo de datos relacional consiste en una coleccin de tablas en que cada tabla tiene
un nombre nico para la identificacin y consiste en un conjunto de filas donde cada fila, representa una
ocurrencia de la entidad asociada, a su vez cada fila es subdividida en atributos que caracterizan a la entidad
asociada, podemos ver entonces una tabla como se muestra en la siguiente figura:

Rut Nombre Direccin Edad
Fila, Registro, 1.321.698-9 Juan Prez Maipu 30
Ocurrencia... 1.965.548-K Rosita Abuad Las Condes 25
Entidad CLIENTE

N factura Fecha Monto IVA Rut Cliente
Fila, Registro, 512 02.01.96 1.500.000 210.000 1.321.698-9
Ocurrencia... 586 03.01.96 845.000 165.000 1.965.548-K
Entidad FACTURA

Para la figura anterior, el campo rut permite relacionar ambas entidades (Cliente V/S Factura), aqu estamos en presencia de
una redundancia controlada.

El modelo relacional es el ms ampliamente utilizado hoy da, por su simplicidad conceptual y por su facilidad de
implementacin respecto a los modelos anteriores, algunos SABD comerciales que utilizan este modelo son: DBZ (DBMS de
IBM), SYBASE, ORACLE, WATCOM, ACCESS, INFORMIX, PARADOX.

Cliente
Facturas
Detalle de
facturas
Mercadera
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N4


Modelos Fsicos o Internos
3) Modelos Fsicos o Internos: estos modelos se utilizan nicamente en el nivel fsico en el marco de la
implementacin o construccin de un SABD.
Porqu utilizar una Base de Datos?
Podemos responder esta pregunta en dos contextos, primero en un contexto de la organizacin y en el contexto de
las aplicaciones.
En el contexto Organizacional:
Usaremos el esquema de Nolan.

Madurez
No Si






Inicio Contagio Control Integracin Arquitectura Madurez

+ Inicio: se caracteriza por el procesamiento de datos, es decir se utilizan sistemas operacionales de alta
rentabilidad. Ejemplo: sueldos, contabilidad. En esta etapa podemos identificar a un tipo de usuario temeroso.
Adems no se controlan los costos relacionados con informtica. En otras palabras, no existe cultura
informtica.
+ Contagio: en esta etapa, la organizacin detecta el computador y no hay una planificacin coherente, lo que
causa un crecimiento explosivo e irracional. Se siguen desarrollando sistemas operacionales sin control,
comenzando la mantencin de los sistemas en produccin.
+ Control: se caracteriza porque la organizacin se da cuenta que los costos son altos y crecientes y los beneficios
son mnimos, adems se advierte la necesidad de planificar y debido a la presin de los usuarios, aparece el
departamento de informtica.
+ Integracin: la planificacin ha sido asimilada y hay una adecuada definicin de polticas.
+ Arquitectura: la organizacin comienza su desarrollo tecnolgico. (Comunicacin, teleproceso, bases de datos
distribuidas, redes, etc.)
+ Madurez: comienza a pensar en largo plazo. La organizacin ve a la informacin como un recurso y a la
informtica como un rea estratgica, pero tambin la rentabilidad.
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N5


En el contexto de las Aplicaciones
Podemos utilizar el enfoque de base de datos a nivel de las aplicaciones, cuando:
+ Los requerimientos de informacin, estn en constante cambio.
+ Se requiere acceso rpido a la informacin estructurada de diferentes formas. Para lograr esto, la informacin
debe estar bien modelada.
+ Existen costos de desarrollo muy altos y crecientes, por lo tanto es urgente aplicar el enfoque de Base de Datos. Los mayores
costos se dan en la mantencin, por lo tanto se podra cambiar las herramientas de desarrollo. (De Cobol a Power Builder).
+ Exista necesidad de compartir datos. Diferentes aplicaciones pueden compartir los mismos datos.
+ Exista necesidad de comunicar informacin entre diferentes reas funcionales ubicadas en puntos geogrficos distantes.
(Base de Datos Distribuidas).
+ Necesidad de contar con datos de mayor calidad. Grado de preparacin de la informacin, rapidez y confiabilidad de los
datos que estn almacenados.

Beneficios de usar Base de Datos.
1. Minimiza la redundancia de datos. Existe redundancia, pero controlada a fin de poder relacionar los datos.
2. Aumento de la consistencia, debido a que la redundancia es mnima.
3. Integracin de los datos. Se tiene una visin ms centralizada de los datos.
4. Facilidad para compartir datos. Es de fcil acceso porque se comparten.
5. Mayor estandarizacin. Las aplicaciones accedan la Base de Datos de la misma forma. (Administracin
centralizada).
6. Facilidad para el desarrollo de las aplicaciones. Esta es consecuencia del punto anterior y con esto, aumenta la
productividad, porque me preocupo solo de los procesos.
7. Flexibilidad en el acceso de los datos. Existe ms de una forma de accesar a los datos.
8. Reduccin de la necesidad de mantencin de las aplicaciones.
9. Independencia de los datos. Es la capacidad de modificar una definicin, respecto de un conjunto de datos en el
nivel de abstraccin, sin afectar la definicin equivalente en el nivel superior siguiente, se llama independencia
de datos. (Niveles visin, conceptualizacin y fsico.)

Nivel Visin FACTURA : Producto Nombre Precio



Nivel Conceptual Cdigo Monto Precio Cd. Artculo Proveedores



+ Independencia fsica de los datos. Es la capacidad de modificar una definicin de datos en el nivel fsico sin
provocar que se deban escribir los programas de aplicacin nuevamente. Cuando hay problemas de eficiencia,
se produce el cambio en el nivel fsico.
+ Independencia lgica de los datos. Es la capacidad de modificar una definicin de datos en el nivel conceptual,
sin provocar que se vuelvan a escribir los programas de aplicacin. La independencia lgica es en general,
difcil de lograr porque esta asociada a cambios en los requerimientos de informacin, los cuales usualmente
son complejos.


Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N6


Costos que implica usar el enfoque de Base de Datos.
1. Requerimiento de recursos especializados, ya que se requiere de especialistas en software y metodologas.
2. Necesidad de respaldos de informacin, debido a la centralizacin de la informacin.
3. Conflicto organizacional, porque cuando la gente tiene que compartir su informacin, se siente amenazada por
la prdida de poder. La organizacin entera debe comprometerse con el nuevo enfoque y es la nica forma de
evitar la resistencia al cambio.
4. Complejidad del software, ya que el Sistema Administrador de Base de Datos tiene un alto costo ya que la
complejidad de este software, requieren mucha capacitacin.

Componentes de un sistema de Base de Datos.
Usuario Ingenuo Programadores Usuarios Administrador
de Aplicac. Sofisticados de Base de D.












S.A.B.D.









Usuarios.

1. Ingenuo: es el usuario ms bsico, o aquel que interacta con el sistema a travs de las interfaces que proveen
las aplicaciones (estructuradas). Ejemplo: un cajero de un banco.
2. Programador de Aplicaciones: es el constructor de los programas.
3. Sofisticados: es aquel que hace requerimientos de informacin no anticipados por las aplicaciones y por lo
tanto, requiere de un lenguaje de consulta para interactuar con los datos.
4. Administrador de Base de Datos: es el responsable de la definicin lgica y fsica de los datos almacenados y de
su contenido.
Funciones del Adm. de Base de Datos. (DBA)
+ Definicin de esquemas: El administrador tiene una doble funcin, debido a que debe interactuar con
usuarios e interactuar con programas de aplicacin. Esto se explica, debido a que ste, es responsable
del modelo lgico (Modelamiento de datos) y modelo fsico (Base de Datos, archivos) de los datos. Es
decir, esta encargado de la estructura de la informacin, entre otras cosas.
Interfases de
Aplicacin
Programas de
Aplicacin
Consulta Planificacin
de las Bases D.
Precompilador
de DML
Procesador
de Consultas
Compilador
de DDL
Gestor
de archivos
Cdigo de Objeto
de programas de consulta
Gestor de
Archivos
Archivos de
Datos e Indice
Diccionario de
Datos
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N7


+ Concesin de Autorizacin: es responsable de definir quienes tienen accesos y a qu informacin tienen
acceso. Debe manejar los perfiles a acceso.
+ Especificacin de restricciones de integridad: como un ejemplo de esto, son las entidades cliente y
factura que vimos en uno de los anteriores ejemplos. Son reglas para validar datos, debido a que esto
evita que se ingresen datos que no existen.

Caractersticas del Sistema Administrador de Base de Datos
Provee la interfaz entre los datos almacenados en la Base de Datos y los programas de aplicacin y consultas que
interactan con el sistema. Es la interfaz entre el usuario y los datos.

Elementos del Sistema Administrador de Base de Datos
+ Cdigo Objeto de programas de aplicacin: los programas de aplicacin interactan con el Sistema
Administrador de Base de Datos de la siguiente forma :
Cada programa es escrito en un lenguaje determinado (Cobol, C, Pascal, etc), al que se le han agregado un
conjunto de instrucciones de acceso a los datos provistas por el Sistema Administrador de Base de Datos.
De este modo cualquier programa, debe pasar por un proceso de traduccin de dos fases:
a) se expanden las instrucciones del Sistema Administrador de Base de Datos, al cdigo fuente del
lenguaje utilizado (Host o Anfitrin), al resultado de este proceso se le llama programa expandido, el
cual esta escrito en cdigo fuente del lenguaje anfitrin.
b) Compilacin del programa expandido el cual genera un programa objeto que es finalmente ejecutado.
Cabe destacar que el Sistema Administrador de Base de Datos debe proveer de diferentes
preprocesadores para cada lenguaje anfitrin que se requiera.
+ Precompilador DML : DML (Data Manipulation Languaje) es un lenguaje de consulta y actualizacin de datos
por lo tanto, insertar, borrar, modificar y consultar datos de una Base de Datos. Un DML es un conjunto de
instrucciones para realizar las instrucciones anteriores, que pueden ser usadas por los programadores de
aplicacin o por el administrador de la Base de Datos.



traduccin
programa Fuente Compilador programa Objeto
(lenguaje alto nivel) (lenguaje mquina)


Prog.Fuente (Host) Prog.Expandido Prog.Objeto




Al igual que los lenguajes de programacin, un DML puede ser procedural o no-procedural. El lenguaje procedural,
es aquel el cual el usuario define el cmo (algoritmo) y uno no-procedural, es aquel que el usuario define el
seguimiento y es transparente a ste el cmo se efecta el proceso asociado a tal requerimiento. (Herramienta de
cuarta generacin).
La mayora de los Sistema Administrador de Base de Datos, proveen un DML no-procedural para las funciones de
consulta, y procedural para lo que implica actualizacin. (Ingreso, modificacin y eliminacin). De acuerdo a lo
anterior, el procedimiento de consultas es la parte no-procedural del DML, la cual es provista a los usuarios
sofisticados, los cuales cuentan por lo tanto, con una interfaz que les permite definir su requerimiento de
informacin y generar las instrucciones de DML procedurales correspondientes, las cuales son interpretadas y
ejecutadas para entregar la respuesta. (Query Languaje. - QL - Lenguaje de Consulta).
Programa
(Lenguaje)
Precompilador Compilador
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N8


Al igual que en los generadores de aplicacin, un lenguaje de consulta no procedural, ha sido diseado para
satisfacer distintos requerimientos de informacin, lo que implica usualmente que el cdigo generado al hacer la
consulta, es ineficiente. (Fundamentalmente, tiempos de respuesta).
Algunos Sistema Administrador de Base de Datos, proveen una funcin de optimizacin del cdigo generado por las
consultas y otros dan la posibilidad de almacenar las consultas, las que pueden ser compiladas para disponer el
cdigo objeto.
+ Compilador de DDL : es un conjunto de instrucciones que permiten definir lo que llamaremos un Esquema de
una Base de Datos, que corresponde a la visin fsica del diseo de la Base de Datos y esta en ntima relacin
con el Modelo de Datos identificado o utilizado. En esencia el DDL permite crear los archivos de computador
que sern capaces de almacenar la informacin modelada, debido a esto es necesario que el DDL, contenga
instrucciones para definir conceptos fsicos de estos archivos. El usuario del DDL, es el administrador de la
Base de Datos.
+ Gestor de Archivos (File Manager) : cumple en esencia las mismas funciones del file manager de un Sistema
Operativo:
a) Dar servicio de acceso a los datos de estos archivos.
b) Definir una organizacin de tales archivos.
c) Esconder los aspectos fsicos de stos.
Ejemplo: Una aplicacin puede ver un archivo, como una secuencia ordenada de registros, pero
tal archivo puede estar disperso en diferentes discos o particiones.
Algunos Sistema Administrador de Base de Datos proveen toda la funcionalidad de un file manager y
esconden al Sistema Operativo, los detalles de las Base de Datos, haciendo que ste, vea un conjunto de
tablas como un nico gran archivo. Por otro lado, existen seudos Sistema Administrador de Base de Datos
que dejan toda esta tarea al Sistema Operativo.
+ Archivos de Datos: son los archivos fsicos almacenados en disco.
+ ndice: es un conjunto de archivos auxiliares que tienen como objetivo, optimizar el acceso a los archivos de
datos y dar un ordenamiento a stos.
Diccionario de Datos: es una Base de Datos que contiene datos de una Base de Datos. Ejemplo:
Cliente Factura
Rut Nombre Direccin Nmero Fecha Rut

BASE DE DATOS

Tablas Tabla de Atributos
Factura ............ Factura Nmero
Cliente ............ Factura Fecha
DICCIONARIO DE DATOS


Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N9


Modelamiento de Datos.

Es un proceso asociado al anlisis y resolucin de un problema. El objetivo final de este proceso, es un modelo de
datos de la realidad analizada.
Entidad: son objetos tangibles, intangibles, conceptuales, tienen ciertas caractersticas o atributos que caracterizan
a las entidades. Desde el punto de vista de los datos podemos asociar a estas entidades reales, lo que
denominaremos Entidades de Datos, la cual es un conjunto de atributos de una entidad real que interesan en el
contexto de un determinado problema.
Ejemplo: Una persona, se puede ver desde diferentes puntos de vista de entidades:

Para un Banco : Cliente (Rut, Nombre, Direccin, Deuda, etc...
Para una Clnica: Paciente (Rut, Nombre, Direccin, Isapre, Diagnstico, etc...
Para una Universidad: Estudiante (Rut, Nombre, Direccin, Carrera, Promedio, etc...

Los atributos subrayados, se les llama atributos esenciales, no importando el contexto, ya que estn asociados
naturalmente a la entidad.

Ocurrencia: una entidad en el mundo real tiene individuos, a cada uno de estos individuos, corresponde a una
ocurrencia de la entidad de datos. Por ejemplo; una entidad de datos para una persona, ser un CLIENTE con
atributos Rut, Nombre, Direccin y los diferentes clientes, son ocurrencias de la entidad de datos.
Entenderemos el modelamiento de datos como un proceso que va desde una visin general (Nivel Visin), pasa por
una representacin conceptual y se materializa en una implementacin fsica, es muy importante que el
enfrentamiento del problema se haga con una metodologa, pues de otro modo, es probable que el modelo de datos
obtenido, no sea correcto.

Semntica de los Datos (significado de los datos)
Cuando se analiza una situacin, se busca el significado de los datos, es decir su semntica. Existen diferentes tipos
de semntica los cuales son:

Semntica de Asociacin
Es la ms importante, pues permite iniciar el proceso de modelamiento y entendemos por asociacin, a una
conexin lgica entre entidades. El requerimiento mnimo para un modelamiento de datos, es poder representar la
semntica de asociacin. Podemos tipificar la semntica de la siguiente forma:
a) Asociacin (1:1) uno a uno: es cuando para una ocurrencia de la entidad A, existe una nica
ocurrencia de la entidad B asociada y viceversa.
b) Asociacin (1:n) uno a muchos: es cuando para una ocurrencia de la entidad A, existen varias
ocurrencias asociadas en la entidad B y para una ocurrencia de la entidad B, existe una nica
ocurrencia de la entidad A. Ejemplo; Alumno - Carrera.
c) Asociacin (n:m) muchos a muchos: es cuando hay mltiples ocurrencias de la entidad A, asociadas
con mltiples ocurrencias de la entidad B. Ejemplo; Rut - Cta.Cte.
La semntica de asociacin, nos permite presentar el modelo ms sencillo que podemos representar, denominado
diagrama de entidades y su simbologa es la siguiente:

Entidad :

1:1 :
1:n :
n:m :
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N10



Ejemplos:














Ejercicio: Utilice un Diagrama de Entidades para modelar la siguiente situacin; en una Universidad,
existen profesores que imparten asignaturas a alumnos, cada asignatura se dictada en varios paralelos.

Desarrollo.
Entidades = Universidad (es una entidad implcita, ya que tiene una sola ocurrencia), Profesores, Alumnos
y Asignaturas.
Un primer modelo podra ser as:







Este sera el primer diagrama que divisaramos al primer anlisis, sin embargo presenta algunos
problemas, ya que hay asociaciones redundantes, porque la asociacin entre profesor y alumno existe a
travs de la asignatura, por lo tanto no debera ser inclua en el modelo.
Adems cuando se modela una realidad, se deben resolver las relaciones n:m entre las entidades. Esto se
debe a que las relaciones de muchos a muchos, no son representables en el modelo relacional. Por lo tanto
el diagrama, quedara de la siguiente forma:









De esta forma, al dejar PARALELO como una entidad, se evitan las relaciones n:m, que son las que no se
pueden representar en el modelo relacional.


Capital
Cama
Alumno
AFP
Cliente
Cta.Cte.
Pas
Paciente
Carrera
Afiliado
Proveedor
Cliente
Profesor
Profesor
Alumno
Alumno
Asignatura
Asignatura
Paralelo
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N11


Ejercicio: Considere las siguientes reglas:
1) Los pacientes ingresan y se les asigna una cama.
2) Las camas estn en piezas, y cada pieza tiene muchas camas.
3) Cada paciente tiene asignado un mdico el cual puede tratar a muchos pacientes.
4) El mdico puede ordenar diferentes exmenes para un paciente, estos exmenes estn tipificados y en la orden
de examen, el mdico indica un posible diagnstico.
5) El enfermo puede cambiar de mdico durante su estada en el hospital.
6) Cada mdico puede o pudo diagnosticar una o ms enfermedades en un paciente. Las enfermedades estn
tipificadas, sin embargo el mdico debe especificar qu exmenes de laboratorio consider para el diagnstico
de cada enfermedad.

Se pide:
1) Identificar las Entidades de Datos.
PACIENTE
CAMA
PIEZA
MEDICO
EXAMEN
TIPO DE EXAMEN
DIAGNOSTICO
TIPO DE ENFERMEDAD.
2) Hacer un diagrama de entidades en el cual no existan asociaciones de n:m.













3) Hacer una lista de los atributos de cada Entidad en el diagrama.
Paciente {Rut, Nombre, Direccin, Mdico, Cama....}
Mdico {Nombre, Especialidad, Inscripcin Colegio, Rut, etc...}
Pieza {Cantidad de Camas, Tipo de pieza, Piso, etc...}
Examen {Mdico, Paciente, Tipo de Examen, Tipo Enfermedad (Diagnstico), Fecha, Valor...}




PACIENTE CAMA PIEZA
EXAMEN MEDICO
Tipo Examen
Tipo
Enfermedad
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N12


Entidades y Relaciones.
Dentro de los atributos de las entidades, se pueden distinguir algunas especiales que permiten establecer las
asociaciones entre las entidades. Podemos definir formalmente una entidad, como una relacin matemtica de n>1
entidades no necesariamente distintas.
Sean: E
1
, E
2
, E
3
,........E
n
, entidades, entonces una relacin es un subconjunto de:
( ) {
e e e e
n
e E e E e E e
n
E
n
n
1 2 3 1 1 2 2 3 3
2 , , , ... / , , ...... , e e e e >

`
)


Una relacin en el contexto del Modelo Relacional, puede tener atributos propios y por lo tanto la podemos ver
como una entidad.
Formalmente una entidad:

{ }
E e e e e
n
a a a
n
e E e E e
n
E
n
a D a
n
D
n
c e e e e e ( , , , .... , , , .... ) / , .... , ....
1 2 3 1 2 1 1 2 2 1 1

Donde:
E E E
n 1 2
, , .... Son Entidades.
D D D
n 1 2
, , .... Son dominios de los atributos de E.
a a a
n 1 2
, , .... Son atributos propios de E.

En esencia, una relacin y una entidad, son similares aunque conceptualmente diferentes. En el contexto de Base
de Datos nos interesa el concepto ms general de entidad.
Del ejemplo anterior:

E
1



E


E
2



Existe un concepto primordial que denominaremos Superclave y es un conjunto de uno o ms atributos que
considerados como un todo, permiten identificar en forma nica a una ocurrencia de una entidad. Por ejemplo en la
entidad PROFESOR, sera el Rut y el entidad PARALELO, sera el Cdigo Paralelo.
Si no existiera el atributo Cdigo Paralelo, una Superclave sera Rut Profesor, Cdigo Asignatura. Si K es una
superclave, entonces tambin lo ser cualquier subconjunto de K.
En general nos interesan aquellas superclaves para las cuales ningn subconjunto propio es superclave. A estas
superclaves mnimas, las llamamos Claves Candidatas. Utilizaremos el trmino Clave Primaria para denotar una
clave candidata que elige el diseador como el medio principal para identificar las ocurrencias de una entidad.
Aquellas que no fueran seleccionadas como clave primaria, se llaman Claves Alternativas o Secundarias, a pesar
que ste ltimo se utiliza para conjunto de atributos que no son necesariamente claves candidatas.

A continuacin veremos un nuevo Modelo de Datos Semntico, que consiste en lo siguiente:
Nombre_Entidad (a
1
, a
2
, a
3
,....a
i
, {b
1
, b
2
, b
3
,...b
n
} .....a
n
)
donde:
+ a
1
.....a
n
, son atributos atmicos o invisibles pertenecientes a Nombre_Entidad.
Profesor Alumno
Asignatura
Paralelo
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N13


+ b
1
.....b
n
, son atributos atmicos o invisibles pertenecientes a una Entidad Dbil, asociada con
Nombre_Entidad.
+ Las claves se representan subrayadas.
+ La clave primaria se ubica siempre como primer(os) atributo(s).
+ Las asociaciones se representan anlogamente al diagrama de las entidades.

Atributos Atmicos
Es aquel que a criterio del diseador, no puede ser dividido.
Entidad Dbil
es aquella que depende de la existencia de otra entidad, llamada Entidad Fuerte. Generalmente no tiene
atributos propios, ya que son entidades que relacionan a otras.
Atributos Repetitivos
Son aquellos que aparecen en una entidad solamente en los primeros pasos del modelamiento en un
proceso que llamamos, normalizacin de datos definido para el modelo relacional.












PACIENTE (rut paciente, nombre, rut mdico, N cama)
CAMA (N cama, tamao, N pieza)
PIEZA (N pieza, tipo, cantidad camas)
MEDICO (rut mdico, nombre, especialidad)
EXAMEN (rut mdico, rut paciente, cdigo examen, fecha)
TIPO ENFERMEDAD (cdigo enfermedad, nombre)
TIPO EXAMEN (cdigo examen, nombre).

Representaciones Adicionales en la Semntica de Asociaciones.
Asociacin Recursiva.
Esta ocurre entre ocurrencias de la misma Entidad, si usamos el diagrama de Entidades, algunos ejemplos son los
siguientes:

Empleado ( rut_empleado, nombre, rut_esposa) esposa 1 : 1



Empleado ( rut_empleado, nombre, rut_jefe) es jefe de 1 : n



Componente( Cd_parte, Cd_parte que pertenece)
PACIENTE
Empleado
Empleado
CAMA PIEZA
EXAMEN MEDICO
Tipo Examen
Tipo
Enfermedad
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N14



Partes Componente
1 Tornillo 2 1
2 Puerta 3 1
3 Auto 3 2
4 Neumtico 3 4


Asociacin no Requerida u Optativa (semntica de dependencia)
Ocurre cuando se quiere representar que, podra o no haber asociacin entre dos entidades. Existen dos
alternativas para esta representacin:
1 : 1


0 0


1 : Obligatorio
0 : Optativo.
1 : n 1 0


n : m 0 0



A la semntica de asociacin optativa, se le conoce tambin como, Semntica de Dependencia, pero otra forma de
ver esta situacin, es que existen ocurrencias de una entidad (la dependiente) que no pueden existir sin la existencia
de una ocurrencia en la entidad asociada.

Es usual que la semntica de dependencia, permita representar asociacin entre entidades de dos tipos:
Entidad Fuerte
Es aquella que tiene atributos propios, adems de aquellos necesarios para establecer
asociaciones y que tiene entidades asociadas cuyas ocurrencias dependen de la existencia de
ciertas ocurrencias en ella.
Entidad Dbil
Es aquella que tiene atributos que le permiten establecer asociaciones con otras entidades y cuyas
ocurrencias dependen de la existencia de ocurrencias en una entidad fuerte asociada.

Ejemplo:
CLIENTE(rut cliente, nombre, direccin, giro,...)
FACTURA(N factura, fecha, rut cliente, ...) Fuerte.
DETALLE(N factura, cod. Artculo,...) Dbil.
ARTICULO(cd artculo, descripcin,...)



Paciente
Paciente
Jefe
Mdico
Cama
Cama
Subordinado
Paciente
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N15


En el ejemplo anterior en la entidad FACTURA, existe un atributo rut_cliente que es clave primaria de la entidad
CLIENTE, y algo similar ocurre en detalle factura en la cual est cd_artculo, que es clave primaria de la entidad
ARTICULO. Ambos atributos no pertenecen a tales entidades.

Clave Fornea
Es el atributo de una entidad, que es clave primaria de otra. El concepto de Clave Fornea permite
manejar un criterio de consistencia de datos denominado integridad referencial, que permite a travs del
DBL de un Sistema Administrador de Base de Datos, que al definir una Base de Datos no solamente se
defina la estructura o esquema de las tablas, sino tambin la dependencia entre ellas, permitiendo que el
Sistema Administrador de Base de Datos independientemente de los programas de aplicacin, efecte
chequeos de consistencia durante la actualizacin de datos.

Diagrama de Bachmann
Muchas veces es necesario validar el modelo de datos de una situacin con el usuario, para enfrentar esto, es muy
til el diagrama de Bachmann.

<Nombre de entidad>
< clave primaria>
<otros>


Comentarios de los Modelos presentados hasta ahora
I. El diagrama entidad no representa atributos, solo asociaciones.
II. El diagrama entidad es preferible resolver las asociaciones de muchos a muchos (n:m), en cambio en el de
Bachmann lo ms conveniente, es que no se haga.
III. El diagrama de entidad y el de Bachmann, se usan fundamentalmente en el nivel de visin, en cambio en el
modelo semntico es muy aplicable en el nivel conceptual y es complementario al diagrama de entidades.
IV. En general, los tres modelos son tiles para los primeros enfrentamientos al problema.

Semntica de Tiempo
Situacin: Un cliente enva a una empresa, una orden de compra, la empresa har despachos los cuales
posteriormente sern facturados.










El modelo anterior representa una situacin en que existe dependencia entre las entidades, pero esta dependencia
aparece asociada a una cuestin temporal. Necesariamente debe darse la secuencia ORDEN DE COMPRA - GUIA
DE DESPACHO - FACTURA.
La representacin de la semntica de tiempo, es equivalente a la semntica de dependencia, pero es muy importante
identificarla en la situacin analizada, pues permite aplicar el concepto de integridad referencial planteado
anteriormente.
CLIENTE
ORD.COMPRA
GUIA DESP.
FACTURA
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N16



Otras Semnticas
Podemos identificar de modo implcito en todos los ejemplos que hemos dado anteriormente, una semntica que
llamamos Unicidad (a travs del concepto clave primaria).
Otra semntica importante es la de Abstraccin o Generalizacin.
Personas(rut_cliente, nombre, direccin, estado_civil, sexo,...)
CLIENTE
Empresa(rut_cliente, razn_social, direccin, nmero de conservador,...)


EJERCICIO
Un Banco desea crear una Base de Datos de sus clientes, tanto actuales como potenciales, de tal modo de apoyar a
sus ejecutivos de cuentas con toda la informacin que stos requieren para ofrecer los productos del Banco. Los
clientes son personas o empresas con atributos diferentes unos de otros, cada cliente puede tener varias direcciones
donde enviar correspondencia (Particular, comercial, casillas, fax, etc). Los clientes personas, tienen cnyuges e
hijos que tambin ser clientes del Banco. (Actuales o Potenciales). Los clientes empresa pueden estar relacionados
entre s de diferentes formas ( Una empresa es propietario de otra, sola o en conjunto con otras o una empresa es
filial de otra). Los clientes personas pueden estar relacionadas con los clientes empresa (empleador, asesores,
directorio, etc.) pudiendo estar relacionados con ms de una empresa.

1. Modele lo anterior, entidades, atributos y relaciones.
2. Agregue todas las entidades necesarias para eliminar las relaciones de n:m.
3. Indique todas las claves. (Primaria, secundaria, forneas, alternativas).
4. Usando alguna notacin adecuada, describa el algoritmo que permita a un ejecutivo obtener para un cliente
determinado, todos los clientes relacionados con l.

Desarrollo:
Empresa/Persona (Roles)
- Cliente Potenciales/Actuales (puede ser atributo de cliente o una entidad aparte).
Relacionados.
- Ejecutivo
- Producto
- Direccin.















Cliente
Potencial
Cliente
Empresa
Persona
Direccin
Asociacin
Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N17


Cliente (rut_cliente, tipo cliente,.....
Empresa (rut_cliente, giro, razn social,....
Persona (rut cliente, nombre, fecha nacimiento,....
Direccin (rut_cliente, tipo direccin, calle, N, comuna, ciudad,...
Asociada (rut_cliente1, rut cliente2, tipo asociacin,....
4.- Con el rut del cliente accede a Clientes y con ese rut, accede a asociacin.


Modelo Entidad Relacin.
Es el ms utilizado en el nivel conceptual, pues permite representar entidades, sus atributos y relaciones en un solo
modelo que es mapeable o traducible directamente en un conjunto de tablas relacionales.

Simbologa:

1) Entidad :
Dbil Fuerte


2) Relaciones. Todas las asociaciones entre entidades deben ser rotuladas.
Rotulacin

3) Asociaciones, se representan anlogamente a los modelos anteriores.
1:1 :

1:n :

n:m :


Atributos :

Nombre
Entidad


Fundamentos avanzados de Bases de datos (FB-IN-400) IP de Chile
Pgina N18


4) Opcionalidad :

1 : Requerido . 0 : Opcional






+ Existe literatura en que las asociaciones son representadas por flechas, se interpretan inversamente a como lo
hemos presentado.
+ A pesar que existe la representacin para asociaciones de n:m, no debiera utilizarse es decir se deben resolver.
A este tipo de tabla se le denomina NUB.
+ Cuando existe ms de una asociacin entre dos tablas, deben representarse separadamente tales asociaciones.
+ Las claves se representan subrayadas y se prefiere que la clave primaria, aparezca en el extremo superior
izquierdo de la entidad.
+ Cuando existe una relacin entre dos entidades de 1:n, es la entidad n (donde ocurren las n ocurrencias), la que
debe contener la clave fornea, es decir, la clave primaria de la entidad que tiene una nica ocurrencia.

Ejercicio:
Considere una empresa que esta dividida en departamentos en la cual trabajan personas. Cada persona, tiene un
rut, nombre, direccin, etc.
Al ingresar a la empresa, son asignadas a un departamento. Estas personas adems trabajan en proyectos,
independientemente del departamento al que pertenezcan.
Los proyectos se identifican por un nmero de proyecto, y para cada proyecto interesa conocer la fecha de inicio y
trmino.
Una persona puede ser asignada a un proyecto como parte del equipo de trabajo, en cuyo caso debe indicarse la
fecha de inicio y trmino de tal asignacin.
Cada proyecto tiene un administrador, que es una persona asignada o encargada.

Se pide:
Modelar en Entidad Relacin y traducir el modelo a un conjunto de tablas relacionales equivalentes.

PERSONA
<Rut> Nombre Direccin
DEPARTAMENTO Pertenece
Inicio Trmino
PROYECTO
Asignada
Rut.Ad. <Cod.Proy > Nombre
Inicio Trmino Cargo
<CodDep.t> Nombre
Administra
<CodDep.t>
CodProy +Rut

Vous aimerez peut-être aussi