Está en la página 1de 16

Departamento de Lenguajes y Sistemas Informticos

E.T.S. Ingeniera Informtica. Universidad de Sevilla

Avda Reina Mercedes s/n. 41012 Sevilla E.T.S. Ingeniera


Informtica
Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es

Bases de Datos
Tema 3
Modelos de datos

Sevilla, marzo 2005


V 2005.01.1
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1

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

3 LOS MODELOS DE DATOS EN EL PROCESO DE DISEO...............16

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.

1.2 Conceptos de modelacin de datos


1.2.1 Universo de discurso
Todo software ha de tener un alcance (limitado)
funcional: est dirigido a una farmacia, a una
universidad, a una petrolera, etc.
El diseador debe establecer el contorno del
problema; es decir lo que forma y lo que no
forma parte del problema. Este contorno se
denomina universo de discurso y es la parte del
mundo que, para el fin del software a construir,
interesa al diseador. Lo que est dentro del contorno forma parte del problema y lo que est fuera
no forma parte del problema. Es relevante definir claramente este contorno.

1.2.2 Modelos y esquemas


El ser humano crea modelos o simplificaciones de la realidad para poder comprenderla y
expresarla. Crear estos modelos implica tareas de simplificacin o abstraccin de la realidad, de
modo que representamos slo los aspectos que interesa resaltar de esa realidad que se pretende
alcanzar; as: una maqueta no es el edificio sino la apariencia a escala y la situacin o
localizacin de elementos que pretendemos. El plano de detalle de canalizaciones (agua,
electricidad, gas, telefona, cableado inteligente) de una habitacin no es la habitacin sino la parte
que nos interesa resaltar para comunicar con los agentes especializados de la construccin
(electricistas, fontaneros, etc.); Por otro lado, en la maqueta no estn los detalles de estos planos ni
en estos planos podemos ver la apariencia exterior y localizacin de elementos de un edificio (aulas,

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}

Es importante distinguir entre modelo de datos y esquema.

Un esquema puede definirse como:

Dittrich (1994): "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 a cerca del mini-mundo constituye la base de
datos,.

De Miguel, Piattini y Marcos (1999): Representacin de un determinado mundo real (universo


del discurso) en trminos de un modelo de datos.

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

1.3 Clasificacin de modelos de datos


Segn el nivel de abstraccin que se considere en referencia a la arquitectura ANSI/X3/SPARC
puede establecerse una clasificacin de los modelos de datos en:
Externos: Orientados a cada usuario en particular.
Globales: Orientados al conjunto de usuarios (contiene el modelo integrado para toda la
organizacin).
Internos: Consideran la implementacin fsica (entorno tecnolgico: sistema operativo,
organizacin de archivos soportados, etc.).

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).

Convencionales: estn orientados a la implementacin en un SGBD que soporta un


determinado modelo de datos: Relacional de Codd (RM/B Codd), Jerrquico, Red (Codasyl),
Relacional.

Modelo de datos convencional Modelo de datos conceptual


Implementados en SGBD comerciales No suelen estar implementados en SGBD
Dependen del SGBD Independientes del SGBD
Ms prximos al ordenador Mayor nivel de abstraccin
Poca capacidad semntica Mayor capacidad semntica
Ms enfocados a la implementacin Ms enfocados al diseo de alto nivel
(modelacin conceptual)
Interfaz informtico/sistema Interfaz usuario/informtico
Nivel de mediacin entre nivel externo/interno

2 Componentes de un modelo de datos


2.1 Formalizacin del concepto de modelo de datos
Los componentes de todo modelo de datos se pueden estructurar en esttica y dinmica del modelo.
Un modelo de datos (MD) se define formalmente como el par MD = <S, D>.
S es el conjunto de reglas de generacin que permiten representar la componente esttica
(estructuras del modelo y sus restricciones) y
D es el conjunto de operaciones autorizadas sobre la componente esttica E u operaciones que
permiten representar la componente dinmica.
La esttica permite formalizar la especificacin de estructuras admitidas (sern el soporte de los
lenguajes de definicin de datos: LDD o DDL (data definition languages), considerndose:

Pg. 6 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1

a) Elementos permitidos (Estructuras: Se)


Objetos y vnculos entre objetos (Ejemplo: Juan y Mara son objetos de una clase
persona, mientras que casado con es un predicado o vnculo que puede ligar a
Juan y Mara en una relacin o correspondencia).
Caractersticas o propiedades de los objetos (domicilio, email de una persona), tipos
de valores admisibles (string, , longitud_inch2, ciudades_espaolas, etc..).
b) Elementos no permitidos o invalidados por restricciones (Sr)

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.

2.2 Esttica de los modelos de datos


2.2.1 Tipos de estructuras
Los elementos permitidos no son los mismos para todos los MD; varan especialmente en
terminologa, pero en general son Objetos (entidades, relaciones, registros, etc.), vnculos entre
objetos (interrelaciones, set, etc.), propiedades o caractersticas de objetos o vnculos (atributos,
campos, elementos de datos, etc.), dominios o conjuntos de valores homogneos admisibles sobre
los que se definen las propiedades.
A estos elementos permitidos se les podrn aplicar aquellas abstracciones reconocidas por el
modelo.
La representacin de estos elementos depende de cada modelo de datos, pudiendo hacerse en forma
de grafos (Red CODASYL, ME/R de Chen, UML), relaciones o conjuntos (Relacional), rboles
(jerrquico), etc.
Es fundamental conocer el tipo de estructuras admisibles y la semntica que soportan. Desde un
punto de vista genrico pueden agruparse caractersticas comunes empleadas en diversos modelos
bajo el siguiente epgrafe de mecanismos de abstraccin.

Pg. 7 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1

2.2.2 Mecanismos de abstraccin


Los procesos de abstraccin ayudan a modelar los datos; el modelador debe centrarse en lo esencial,
pasando por alto aspectos que son irrelevantes o que caen fuera del universo de discurso.
Los MD ofrecen distintos mecanismos de abstraccin para facilitar la representacin de los
esquemas de datos; este esquema es el resultado de aplicar un proceso de abstraccin a un
determinado mundo real (universo de discurso). Los principales mecanismos de abstraccin son:

Clasificacin o generalizacin 4 instanciacin o particularizacin


Agregacin
Jerarquas de generalizacin
Asociacin (segn algunos autores es un tipo de agregacin)
Pueden combinarse entre s ofreciendo interesantes mecanismos semnticos para estructurar datos.
La clasificacin establece una vinculacin entre una categora (clase) de objetos y cada objeto en
particular (instancia) que pertenece a dicha categora, mientras que en las otras tres (agregacin,
generalizacin y asociacin) la relacin se establece entre categoras de objetos y, por tanto,
tambin entre los correspondientes ejemplares de dichas categoras.
Los mecanismos de abstraccin los utilizamos a diario (consciente o inconscientemente). P.ej.:
El vehculo de matrcula CR-0978-Z es (especializacin) de la clase ambulancia. La
ambulancia es una generalizacin del conjunto de vehculos utilizados en el hospital.

Una ambulancia est formada (agregacin) por cuatro ruedas, un chasis, un motor.

El propietario (asociacin) de la ambulancia matrcula CR-0978-Z es la empresa


CUASER; su conductor (asociacin) es Jos Fernndez.

2.2.2.1 Clasificacin o generalizacin 4 instanciacin o particularizacin


La generalizacin (clasificacin) es el mecanismo de abstraccin que selecciona caractersticas
comunes a un conjunto de ocurrencias o instancias para crear una categora a la cual pertenecen
dichas ocurrencias o instancias. El mecanismo contrario se denomina instanciacin (o
particularizacin).
Ejemplo: Se clasifican o generalizan como Vehculos al conjunto de mquinas, animales o cosas,
con medios de propulsin propios, que sirven para desplazar seres u objetos desde una posicin a
otra:
Ambulancia SI es un vehculo
Gra NO es un vehculo (incumple la propiedad de autopropulsin).

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.

Se pueden considerar tres tipos distintos de agregacin:


Agregacin de propiedades individuales para describir una clase (entidad superior).
Admitida explcita o implcitamente por todos los MD.
Agregacin de propiedades para obtener una propiedad compuesta (El agregado de
datos). Admitida por algunos MD: p.ej.:Codasyl S; el modelo relacional bsico de Codd no
admite agregados de datos.
Agregacin de clases para obtener una clase compuesta. Slo la incluyen los MD semnticos:
ER, UML.

Pg. 9 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1

2.2.2.3 Jerarquas de generalizacin


Las jerarquas de generalizacin permiten abstraer caractersticas comunes a varias clases
(subclases) para constituir una clase ms general (superclase) que las contiene.
El conjunto de ejemplares de una subclase es un subconjunto de los ejemplares de la
correspondiente superclase.
Entre los elementos subclase y el elemento superclase se establece una relacin del tipo
es_un (Las jerarquas de generalizacin suponen un refinamiento de la abstraccin de
generalizacin donde la interrelacin o vnculo es entre clases en vez de entre objetos
(miembros. P.ej. Vehculo matrcula SE-2048-CTX) y clases (objeto genrico. P.ej.
Vehculo).

La superclase PERSONA es una generalizacin de las subclases PROFESOR y ESTUDIANTE.


Cada jerarqua de generalizacin es un rbol de un solo nivel donde la raz es la superclase y las hojas
son las subclases.
El mecanismo inverso de la abstraccin de jerarqua de generalizacin es la especializacin (las
subclases son casos particulares o especficos de la superclase).
Todo ejemplar de una subclase es tambin ejemplar de la superclase y, adems de poseer las
caractersticas especficas de la subclase, hereda todas las correspondientes a la superclase.
Aunque esta abstraccin es intuitiva muy til no se contempla en todos los modelos de datos (P.ej.
ni el modelo relacional bsico de Codd ni en el model E/R bsico de Chen, pero s en modelos
extendidos de Chen o en el modelo relacional extendido de Codd RM/T o en UML).

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

Verificacin. La expresin lgica mediante la cual se formula la condicin est


definida sobre uno o varios atributos de un mismo elemento. Por ejemplo, una
clasula "CHECK dentro de un CREATE TABLE.
Asercin. Son anlogas a las anteriores pero pueden estar referidas a ms de un
elemento del esquema ya que tienen existencia por s mismas (por tanto tienen un
nombre). Ej.: CREATE ASSERTION ..
Condicin especfica. Tambin denominadas de "caso especial" "implcitas. Se refiere a las
diversas opciones que facilitan los distintos MD cuando se definen los elementos de su esquema y
que en realidad son restricciones. Por ejemplo, en el modelo Relacional: PRIMARY KEY,
FOREIGN KEY, NOT NULL ...

2.2.3.2 Componentes de una restriccin


En una restriccin de integridad es posible distinguir los siguientes componentes:
La operacin de actualizacin (insercin, borrado o modificacin) cuya ejecucin ha de dar
lugar a la comprobacin del cumplimiento de la restriccin.
La condicin que debe cumplirse, la cual es en general una proposicin lgica, definida sobre
uno o varios elementos del esquema, que puede tomar uno de los valores de verdad (cierto o
falso).
La accin que debe llevarse a cabo dependiendo del resultado de evaluar la condicin.
Las restricciones de integridad se pueden considerar, en cierto modo, como reglas ECA (Evento,
Condicin, Accin): al ocurrir un evento (en este caso una actualizacin), se comprueba una condicin y
dependiendo de su resultado se pone en marcha una accin (rechazar la operacin, informar al usuario, corregir el
error, etc.).
Adems de estos elementos, tambin pueden tener un nombre, por medio del cual es posible
identificarlas, y tambin puede indicarse el momento en el que ha de evaluarse la condicin.

Pg. 13 de 16
Bases de Datos Modelos de datos
Sevilla, Marzo/2005, V 2005.01.1

2.3 Metabase de datos  base de datos


La aplicacin de la componente esttica de un MD a un determinado Universo del Discurso (UD)
nos da como resultado un esquema de base de datos o metabase de datos (MBD):
G[UD] = MBD(EMBD,RMBD)
MBD es la estructura de datos que describe, en el correspondiente modelo MD, las categoras que
han resultado de las abstracciones aplicadas al mundo real (UD) as como las restricciones de
integridad que se trata de modelar. La metabase de datos est compuesta por las estructuras del
esquema (EMBD) y las restricciones de integridad definidas (RMBD).
Una base de datos (BD: conjunto de instancias de datos) es la instanciacin de una metabase de
datos.
Generalizacin
BD  MBD . Una instancia de la base de datos configura un estado persistente2 que
Ins tan ciacin
representa una situacin del universo de discurso. Un estado para hacerse persistente debe satisfacer
todas las restricciones de integridad de la base de datos; a esto se denomina estado consistente.
Sea BDi un estado persistente y consistente; entonces BDi contiene a la MBD y a los valores que
definen la instancia o estado persistente (BDi= RMBD (BDi)3) del universo representado:
BDi(EMBD,RMBD,BDi= RMBD (BDi))

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>

Localizacin o enfoque. Consiste en localizar una instancia de un objeto indicando un camino


(lenguaje navegacional), o un conjunto de instancias definido por intensin a travs de una
condicin (lenguaje de especificacin). <condicin> representa una expresin lgica que deben
cumplir los objetos que se desea localizar o seala el camino que permite llegar a esos objetos.
Accin (Operador del LMD). Se realiza sobre la(s) instancia(s) localizada(s). Puede consistir en
una operacin de recuperacin o en una actualizacin (insercin, borrado o modificacin).
<objetivo> indica los objetos (o las propiedades de stos) sobre los que se aplica la accin.
La aplicacin de un operador (O) a una instancia o estado de la base de datos, si es de actualizacin,
genera un nuevo estado o instancia:
BDj=O(BDi)

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) :

( ))

BDi + 1 = T ( BDi ) = an a n1 ... ai ... a 2 a1 ( BDi )


Los estados intermedios pueden no ser consistentes.

2.4.2.2 Regla de atomicidad y puntos de sincronismo


Del concepto de transaccin se deduce que una transaccin debe comportarse como una unidad
lgica de trabajo BDi + 1 = T ( BDi ) ; es decir, una transaccin si sufre una interrupcin (puede suceder
pues todas las operaciones suceden en un tiempo finito y cuantificable y pueden darse causas como
fallos del medio, del sistema operativo, del propio entorno de la base de datos, comunicaciones, etc.)
no debe dejar la base de datos en ese estado intermedio, puesto que puede ser consistente.

Punto de sincronismo. Se identifican:


Comienzo. El instante o punto de inicio de la transaccin (primitiva de gestin de transacciones
Begin(T)).
Terminacin. La terminacin puede ser normal o terminacin con confirmacin de los resultados
de la transaccin (primitiva Commit(T)) o bien terminacin anormal en caso de interrupcin
(primitiva Abort(T)).

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

3 Los modelos de datos en el proceso de diseo


Se conoce como proceso de diseo de una BD al conjunto de tareas necesarias para representar un
sistema objetivo (Universo de discurso) mediante un esquema. Los MD juegan un importante papel
en el proceso de diseo de una BD al ofrecer el soporte de abstraccin adecuado para obtener estos
esquemas.
Los objetivos que persigue todo MD son
de dos tipos:
Formalizacin. El MD permite definir
formalmente las estructuras y restricciones
a travs de lenguajes de datos.
Base del diseo. El MD es un elemento
fundamental en el desarrollo de una
metodologa de diseo de BD; entorno al
esquema formalizado se construirn los
otros artefactos o componentes del
sistema.

Pg. 16 de 16

También podría gustarte