Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelo de Datos
Modelo de Datos
Bases de Datos
Tema 3
Modelos de datos
Indice
1 INTRODUCCIN ......................................................................................... 3
1.1 NECESIDAD DE ESQUEMAS ........................................................................................... 3
1.2 CONCEPTOS DE MODELACIN DE DATOS ..................................................................... 4
1.2.1 Universo de discurso.................................................................................................................... 4
1.2.2 Modelos y esquemas..................................................................................................................... 4
1.3 CLASIFICACIN DE MODELOS DE DATOS ...................................................................... 6
2 COMPONENTES DE UN MODELO DE DATOS .................................... 6
2.1 FORMALIZACIN DEL CONCEPTO DE MODELO DE DATOS ............................................ 6
2.2 ESTTICA DE LOS MODELOS DE DATOS......................................................................... 7
2.2.1 Tipos de estructuras ..................................................................................................................... 7
2.2.2 Mecanismos de abstraccin......................................................................................................... 8
2.2.2.1 Clasificacin o generalizacin instanciacin o particularizacin ................................................................................ 8
2.2.2.2 Agregacin ..................................................................................................................................................................... 9
2.2.2.3 Jerarquas de generalizacin..........................................................................................................................................10
2.2.2.4 Asociacin....................................................................................................................................................................11
2.2.3 Restricciones................................................................................................................................ 11
2.2.3.1 Clasificacin.................................................................................................................................................................11
2.2.3.2 Componentes de una restriccin.....................................................................................................................................13
2.3 METABASE DE DATOS BASE DE DATOS ....................................................................14
2.4 DINMICA ...................................................................................................................14
2.4.1 Operadores .................................................................................................................................. 14
2.4.2 Transacciones.............................................................................................................................. 15
2.4.2.1 Concepto ......................................................................................................................................................................15
2.4.2.2 Regla de atomicidad y puntos de sincronismo.................................................................................................................15
Pg. 2 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
1 Introduccin
1.1 Necesidad de esquemas
El ser humano es eminentemente simblico; desde que nace se expresa de diversas maneras
(lenguaje hablado, lenguaje corporal) y recibe el cmulo de sensaciones que representa la vida y,
sobre todo, la relacin con nuestros semejantes. El ser humano ha evolucionado constantemente
en estas formas de expresin, creando diversos idiomas y ha inventado otras diversas maneras de
expresarse: la msica, la pintura, la escultura, en definitiva: lenguajes de smbolos. En su evolucin
ha llegado a crear la escritura, lenguajes matemticos y lenguajes que permiten esquematizar. En
diversos campos de la ingeniera se representan esquemas: planos (arquitectura), esquemas
elctricos (electricidad), esquemas de mquinas (ingeniera mecnica), Etc. Etc.
Para transmitir mensajes simples puede bastar con expresiones faciales (alegra, sorpresa, dolor,
Etc.). Para aclarar la razn de estos estados puede ser necesario y, generalmente basta, el lenguaje
hablado; necesitamos movernos en el dominio (emisor y receptor) del mismo lenguaje para poder
entendernos. Para arbitrar y dictaminar sobre conflictos entre personas (laborales, familiares,
civiles) el ser humano ha creado reglas: el derecho civil, derecho administrativo, derecho
laboral, Etc.. Los juristas se sirven del lenguaje escrito (la ley, la jurisprudencia, pruebas
documentales) y del lenguaje hablado (testimonios) para emitir estos dictmenes que permiten
aclarar las situaciones de conflicto. El ser humano sigue creando reglas continuamente.
En construcciones simples (un arreglo del bao de un domicilio), un pequeo arriate en el jardn
son proyectos que pueden ser especificados basndose en el lenguaje hablado o en el lenguaje
natural escrito; se trata de productos simples de obtener. Crear un programa que gestione una lista
de telfonos puede ser una tarea equivalente en especificacin de software; es decir, est muy clara
la estructura y la funcionalidad que debe tener el producto final; del mismo modo, basta con decir
qu datos queremos? y cmo queremos que se presente la lista?.
Ahora bien, si se trata de la construccin de un hospital con capacidad para 10.000 camas, o de un
centro acadmico para alojar tres titulaciones universitarias y al menos 5.000 alumnos qu duda
cabe que no es inmediato pasar de esta necesidad a la accin de construir?. Del mismo modo, tanto
un patinete como un buque o un avin a reaccin son vehculos, pero la complejidad de su
construccin los diferencia notablemente.
En diversos campos de la ingeniera, si se ha de crear un producto complejo (edificio, mquina, etc.)
se requiere un experto en la materia. Los expertos en diversas materias han creado lenguajes
(nuevas reglas de expresin y representacin) universales para aclarar y desarrollar la especificacin
del producto complejo que se ha de crear. La arquitectura e ingeniera civil han creado lenguajes
para la representacin de planos (elevados a nivel de estandarizacin nacional: ANSI, DIN, UNE e
internacional: ISO) de modo que la representacin del conocimiento no es ambigua sino clara y
precisa (pues todo el mundo entiende la convencin): un arquitecto no tiene que explicar a otro lo
que significa una raya o una cota en un plano, pues los smbolos son cerrados y significan lo que
para ellos se ha acordado en la semntica que encierran. Los planos se hacen a escala, con lo que
los muros, situacin de puertas, ventanas, canalizaciones son precisos y obligarn al constructor
(contratista) en la fase de edificacin.
El ser humano ha creado en estos campos del saber un proceso que va desde la necesidad de un
producto complejo expresada por el usuario hasta la puesta a disposicin del mismo. Desde que
decidimos que se necesita un edificio acadmico hasta que se pueden dar clases lectivas en l pasa
un tiempo que se estructura en fases claramente diferenciadas: concepcin o especificacin
general del edificio (maquetas o modelos, planos generales (planta, alzado, perfil)), diseos
Pg. 3 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
detallados (estudios geolgicos del terreno: las condiciones para construir un edificio no son las
mismas en Madrid <bajo nivel sismolgico> que en San Francisco <alto nivel de riesgo
sismolgico>, diseo de interiores, diseo de canalizaciones, etc.). Es decir, antes de construir es
necesario invertir un esfuerzo mental muy importante en disear el producto; para disearlo es
necesario centrarse en diferentes aspectos del mismo. Para cada uno de estos aspectos existen
lenguajes (grficos, matemticos, etc.) que permiten cerrar la especificacin y comportamiento de
lo que pretendemos obtener. Est ms que justificada la convencin universal de estos lenguajes,
ms cerrados que el lenguaje natural (herramienta propicia para la literatura) pero mucho ms
precisos y con menos ambigedades.
Para crear un producto software el ser humano se vale tambin de lenguajes (lenguajes de
programacin en la fase de construccin o programacin, lenguajes grficos o matemticos en la
fase de concepcin: anlisis y diseo del sistema).
Una parte estructural muy importante en un producto software complejo pueden ser las estructuras
de datos. Se requerirn lenguajes que permitan especificar la estructura de estos datos en la fase de
concepcin: anlisis y diseo y en la fase de implementacin o construccin del sistema. Para crear
un lenguaje es necesario convenir unas reglas que permitan transmitir el conocimiento. Un modelo
de datos va a ser ese conjunto de conceptos y reglas que, dotado con una sintaxis, formalizan un
lenguaje. Con los lenguajes (p.ej. SQL es un lenguaje basado en el modelo relacional de datos, en
concreto, est basado en el clculo relacional de tuplas) se podrn expresar diseos o concepciones
de estructuras de datos: esquemas de esos datos.
En este tema se presentan los principales conceptos de modelos de datos: esquemas, objetos,
propiedades, asociaciones, operaciones, restricciones, etc.; se realiza una clasificacin de los diversos
tipos de modelos de datos y se estudian los principales mecanismos de abstraccin utilizados en
esta rea.
Pg. 4 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
laboratorios, bar, jardines, etc.). Se requieren diversos esquemas (generales y de detalle) del
mismo universo (el centro acadmico a construir).
Un modelo/esquema1 puede definirse como la abstraccin mental de la realidad observada en
la que se resaltan los aspectos que se pretenden transmitir. Es decir, se simplifica la
representacin, desechando otras caractersticas reales que pueden estar representadas en otros
modelos/esquemas o bien que son irrelevantes para el proceso de construccin.
Tsichritzis y Lochovsky (1982) son autores que se han preocupado de formalizar el concepto
abstracto de modelo de datos: Dispositivo de abstraccin que nos permite ver el bosque (esto
es, la informacin contenida en los datos) en oposicin a los rboles (valores individuales
de los datos).
Dittrich (1994) lo define como conjunto de herramientas conceptuales para describir la
representacin de la informacin en trminos de datos. Los modelos de datos comprenden
aspectos relacionados con: estructuras, tipos de datos, operaciones y restricciones.
De Miguel, Piattini y Marcos (1999) lo definen como conjunto de conceptos, reglas y
convenciones que permiten describir y manipular los datos de la parcela de un cierto
mundo real que deseamos almacenar en la base de datos.
Es decir: un modelo es el conjunto de reglas y convenciones que van a permitir cerrar una
especificacin, de modo que el emisor y el receptor de la idea comprendan y asuman claramente
estas convenciones y la especificacin est exenta de ambigedades.
Los modelos de datos son el soporte para la creacin de distintos tipos de lenguajes, siendo un
lenguaje la concrecin expresiva de estas reglas bajo una sintaxis o gramtica concreta:
Lenguaje de datos {Modelo de datos,Sintxis}
1Ntese la ambigedad en el dominio de lo coloquial, pues se confunde modelo con esquema o maqueta (en el sentido
de que se trata de una simulacin o representacin). Se aclarar al distinguir y precisar en el terreno de la modelacin de
datos.
Pg. 5 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Se utiliza la expresin modelos lgicos para hacer referencia tanto a los modelos globales como a
los externos, ya que ambos describen aspectos lgicos de los datos, frente a los modelos internos
que describen aspectos fsicos.
Los modelos lgicos se pueden dividir en:
Conceptuales o semnticos: estn enfocados a describir el mundo real con independencia
de la tecnologa (mquinas, redes, sistemas operativos). Ej: Modelo Entidad/Interrelacin de
Chen (ME/R), Orientados a Objetos (Diagramas de clases de UML).
Pg. 6 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
S=< Se, Sr >, la esttica del modelo permite definir determinadas estructuras e invalidar
determinados estados en la base de datos (estados inadmisibles).
La Dinmica es un componente del modelo que facilitar la manipulacin de instancias de las
estructuras de la base de datos definidas con los componentes estticos (sern el soporte de los
lenguajes de manipulacin de datos LMD o DML (data manipulation languages) que permitirn
escribir transacciones). La dinmica ofrecer operadores o expresiones para realizar acciones sobre
los datos.
Pg. 7 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Una ambulancia est formada (agregacin) por cuatro ruedas, un chasis, un motor.
La clasificacin se
corresponde con el concepto
de pertenencia a un conjunto
(es miembro de): entre el
elemento clase y los
elementos miembros se
establece una correspondencia
que atiende al verbo: es
miembro de.
Pg. 8 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Las instancias o ejemplares de una clase tienen caractersticas similares, por medio de las cuales se
describe la correspondiente clase; estas caractersticas toman valores concretos para cada uno de las
instancias que pertenecen a la clase.
Los mismos objetos admiten clasificaciones distintas. Por ejemplo, pueden clasificarse las
asignaturas:
obligatorias / optativas
anuales / semestrales
de primer curso, de segundo curso.
2.2.2.2 Agregacin
La abstraccin de agregacin consiste en construir un nuevo elemento del modelo como
compuesto de otros elementos (componentes). Atiende al verbo es parte de entre los elementos
componentes y el elemento compuesto. El mecanismo contrario se llama desagregacin.
Pg. 9 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Pg. 10 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
2.2.2.4 Asociacin
La asociacin es una abstraccin que se utiliza para vincular dos o ms clases (por tanto sus
instancias o ejemplares) crendose un elemento de un tipo distinto.
En algunos MD no aparece esta abstraccin como tal, no existiendo ningn concepto especial para
representarla (Ej. Ni RM/B de Codd ni ERM de Chen, pero s en RM/T de Codd y modelos EER).
Matrimonio
Ejemplo: Hombre Mujer , donde las clases Hombre y Mujer se asocian en una nueva clase
Matrimonio. Matrimonio es una nueva clase con entidad propia a la cual se pueden vincular tanto
propiedades (fecha y lugar de celebracin) como establecer vnculos con otras entidades (p.ej., la
compra de una casa). Matrimonio no es un mero vnculo o correspondencia entre instancias de
entidades Hombre y Mujer; tiene sustantividad por si.
2.2.3 Restricciones
2.2.3.1 Clasificacin
Se conocen como restricciones las reglas que impiden que determinados objetos o estados se
consoliden en la base de datos. Existen dos tipos:
Restricciones inherentes al propio modelo o estructurales (Ej.:si el modelo es jerrquico, la
nica estructura es un rbol y no podr representarse directamente una correspondencia m:n,
pues los vnculos entre padre e hijo son 1:n).
Restricciones de integridad semnticas (RIS) o explcitas, p.ej.:
restricciones de rango I 1{a(a : alumno) a.edad [18, 65]}
ecuaciones lgicas
I 2 d (d : debe) h(h : haber ) (h.N asiento = d .N asiento) h.importe = d .importe
h d
Pueden ser:
Propias del MD (semntica integrada): su definicin corresponde al diseador, pero su
gestin es responsabilidad del modelo de datos, el cual las reconoce y recoge en el esquema.
La reusabilidad est garantizada al especificarse universalmente las reglas.
Ajenas al MD (semntica dispersa): son, por completo, responsabilidad del diseador, ya
que el modelo de datos no las reconoce ni proporciona instrumentos para manejarlas. El
diseador tiene que hacer cdigo ajeno a la BD para incluirlas. Se dificulta la reusabilidad y se
pueden generar colisiones o inconsistencias de reglas.
Pg. 11 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Restricciones propias
Las restricciones PROPIAS (B2) se especifican al definir el esquema mediante las facilidades que
proporciona la funcin de definicin de datos (DDL), almacenndose en la metabase de datos (no
en los programas), por lo que no pueden ser violadas por ninguna aplicacin, es decir, cualquier
actualizacin est obligada a respetarlas.
Dependiendo de que sea o no preciso definir la accin:
Accin general. Es preciso programar un procedimiento (en cualquier lenguaje) que determine la
accin que hay que llevar a cabo. Se subdividen en:
Procedimientos almacenados. Se definen de forma procedimental
Disparadores (triggers). Se formula una condicin de forma declarativa y cuando se
cumple una proposicin lgica; el cumplimiento de la misma "dispara" la accin que puede
ser declarativa o un mtodo programado..
Accin especfica. La accin (en general rechazo, aunque puede ser otra, bien predeterminada bien
elegida mediante opciones) est implcita en la misma restriccin.
Dentro de las restricciones de accin especfica es preciso distinguir entre:
Condicin general. La condicin se define mediante una proposicin lgica. La operacin
ser una actualizacin. No se declara la accin porque este tipo de restriccin lleva siempre
asociado el rechazo de la operacin cuando no se cumple la condicin, es decir, el sistema
evala la condicin y si el resultado es cierto se actualiza y si no es cierto no se lleva a cabo la
operacin. P.ej., en SQL 92 se incluyen dos tipos de restricciones que son de condicin
general:
Pg. 12 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Pg. 13 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
2.4 Dinmica
2.4.1 Operadores
La componente dinmica consta de operadores que se permiten manejar las estructuras del
correspondiente MD.
En un plano abstracto, sin seguir una sintaxis concreta, puede expresarse una sentencia del lenguaje
de manipulacin de datos (LMD) con la siguiente gramtica:
LOCALIZACIN <condicin> ACCIN <objetivo>
2 Un estado es persistente si puede almacenarse y ser verificado en cualquier instante. Debe diferenciarse entre estado
persistente y estado transitorio o intermedio (normalmente en memoria).
3 Esta ecuacin significa que si se aplican todas las reglas de la MBD al estado de la BD se obtendr el mismo estado, o
dicho de otro modo, cada estado persistente verifica todas las restricciones de integridad de la metabase de datos.
Pg. 14 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Tanto BDi como BDj deben ser estados consistentes. Es decir BDi=RMBD(BDi) y BDj=RMBD(BDj).
Ejemplo:
Actualiza Accin
Notas_de_alumnos Objetivo
Cambia nota5
SI nota=4.9 Enfoque y condicin
2.4.2 Transacciones
2.4.2.1 Concepto
En general, la lgica de actualizacin de los datos de los sistemas de informacin est agrupada en
tareas ejecutables denominadas transacciones.
Una transaccin (T) puede definirse como una sucesin de acciones (ai) u operaciones sobre la base
de datos; es decir T { a1, a 2, ... ai , .., a n 1, an} ; expresado funcionalmente y partiendo de un estado
consistente (BDi) de la base de datos, esta transaccin necesariamente debe llevar a un nuevo estado
consistente (BDi+1) :
( ))
Regla de atomicidad de una transaccin. Una transaccin se comporta como una unidad
lgica de trabajo, de modo que se garantiza siempre la consecucin de un estado final consistente.
Cuando la transaccin ejecuta la primitiva Commit(T) se habr alcanzado el estado final objetivo de
la transaccin; sin embargo, si la transaccin ejecuta (por razones diversas) la primitiva Abort(T),
entonces no se llegar al estado final objetivo BDi+1 , siendo la nica opcin volver al estado de
partida BDi, siendo necesario deshacer los cambios asociados a los estados intermedios
(inconsistentes por estas acciones que estn vinculadas al todo o accin atmica de la transaccin).
Para poder deshacer estos cambios se necesitar funcionalidad en los gestores de bases de datos
dentro del seno de los subsistemas de gestin de recuperacin de la base de datos; este proceso de ir
hacia atrs deshaciendo cambios se conoce como ROLLBACK de la transaccin.
Pg. 15 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1
Pg. 16 de 16