26
  MODELOS BASE DE DATOS LUIS ERNESTO SUÁREZ RIVERA Cód.: 1094243607 Ing. EDGAR ALBORNOZ UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA PROGRAMA DE INGENIERÍA INDUSTRIAL ÁREA DE BASE DE DATOS PAMPLONA 2011

Modelos B.D

Embed Size (px)

Citation preview

Page 1: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 1/26

 

 

MODELOSBASE DE DATOS

LUIS ERNESTO SUÁREZ RIVERACód.: 1094243607

Ing. EDGAR ALBORNOZ

UNIVERSIDAD DE PAMPLONAFACULTAD DE INGENIERIAS Y ARQUITECTURA

PROGRAMA DE INGENIERÍA INDUSTRIALÁREA DE BASE DE DATOS

PAMPLONA2011

Page 2: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 2/26

 

 

MODELO ENTIDAD-RELACIÓN

Un diagrama o modelo entidad-relación (a veces denominado por sus siglas, E-R  "Entity relationship", o, "DER" Diagrama de Entidad Relación) es unaherramienta para el modelado de datos de un sistema de información. Estosmodelos expresan entidades relevantes para un sistema de información asícomo sus interrelaciones y propiedades.

El Modelo Entidad-Relación.

1.  Se elabora el diagrama (o diagramas) entidad-relación.

2.  Se completa el modelo con listas de atributos y una descripción de otrasrestricciones que no se pueden reflejar en el diagrama.

Dado lo rudimentario de esta técnica se necesita cierto entrenamiento yexperiencia para lograr buenos modelos de datos.

El modelado de datos no acaba con el uso de esta técnica. Son necesarias otrastécnicas para lograr un modelo directamente implementable en una base dedatos. 

Page 3: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 3/26

 

 Brevemente:

  Transformación de relaciones múltiples en binarias.  Normalización de una base de datos de relaciones (algunas relaciones

pueden transformarse en atributos y viceversa).  Conversión en tablas (en caso de utilizar una base de datos relacional).

Base Teórica y Conceptual

El modelo de datos entidad-relación está basado en una percepción del mundoreal que consta de una colección de objetos básicos, llamados entidades, y derelaciones entre esos objetos.

Entidad

Representa una “cosa” u "objeto" del mundo real con existencia independiente,

es decir, se diferencia unívocamente de cualquier otro objeto o cosa, inclusosiendo del mismo tipo, o una misma entidad.

Algunos Ejemplos:

  Una persona. (Se diferencia de cualquier otra persona, incluso siendogemelos).

  Un automóvil. (Aunque sean de la misma marca, el mismo modelo,...,tendrán atributos diferentes, por ejemplo, el número de bastidor).

  Una casa (Aunque sea exactamente igual a otra, aún se diferenciará ensu dirección).

Una entidad puede ser un objeto con existencia física como: una persona, unanimal, una casa, etc. (entidad concreta); o un objeto con existencia conceptualcomo: un puesto de trabajo, una asignatura de clases, un nombre, etc. (entidadabstracta).

Page 4: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 4/26

 

Una entidad está descrita y se representa por sus características o atributos.Por ejemplo, la entidad Persona puede llevar consigo las características:Nombre, Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc...

Atributos

Los atributos son las características que definen o identifican a una entidad.Estas pueden ser muchas, y el diseñador solo utiliza o implementa las queconsidere más relevantes. Los atributos son las propiedades que describen acada entidad en un conjunto de entidades.

En un conjunto de entidades, cada entidad tiene valores específicos asignadospara cada uno de sus atributos, de esta forma, es posible su identificaciónunívoca.

Ejemplos:

A la colección de entidades «alumnos», con el siguiente conjunto de atributosen común, (id, nombre, edad, semestre), pertenecen las entidades:

  (1, Sofía, 38 años, 2)

  (2, Josefa, 19 años, 5)

  (3, Carlos, 20 años, 2)

Cada una de las entidades pertenecientes a este conjunto se diferencia de lasdemás por el valor de sus atributos. Nótese que dos o más entidadesdiferentes pueden tener los mismos valores para algunos de sus atributos, peronunca para todos.

En particular, los atributos identificativos son aquellos que permitendiferenciar a una instancia de la entidad de otra distinta. Por ejemplo, elatributo identificativo que distingue a un alumno de otro es su número de id.

Para cada atributo, existe un dominio del mismo, este hace referencia al tipode datos que será almacenado o a restricciones en los valores que el atributo

Page 5: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 5/26

 

puede tomar (cadenas de caracteres, números, solo dos letras, solo númerosmayores que cero, solo números enteros...).

Cuando algún atributo correspondiente a una entidad no tiene un valordeterminado, recibe el valor nulo, bien sea porque no se conoce, porque noexiste o porque no se sabe nada al respecto del mismo.

Relación

Describe cierta dependencia entre entidades o permite la asociación de lasmismas.

Ejemplo:

Dadas dos entidades "Habitación 502" y "Mark", es posible relacionar que lahabitación 502 se encuentra ocupada por el huésped de nombre Mark.

Una relación tiene sentido al expresar las entidades que relaciona. En elejemplo anterior, un huésped (entidad), se aloja (relación) en una habitación(entidad).

Conjunto de Relaciones

Consiste en una colección, o conjunto, de relaciones de la misma naturaleza.

Ejemplo:

Dados los conjuntos de entidades "Habitación" y "Huésped", todas lasrelaciones de la forma habitación-huésped, permiten obtener la información delos huéspedes y sus respectivas habitaciones.

La dependencia o asociación entre los conjuntos de entidades es llamadaparticipación. En el ejemplo anterior los conjuntos de entidades "Habitación" y"Huésped" participan en el conjunto de relaciones habitación-huésped.

Page 6: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 6/26

 

Se llama grado del conjunto de relaciones a la cantidad de conjuntos deentidades participantes en la relación.

Restricciones

Son reglas que deben mantener los datos almacenados en la base de datos.

Correspondencia de Cardinalidades:

Dado un conjunto de relaciones en el que participan dos o más conjuntos deentidades, la correspondencia de cardinalidad indica el número de entidadescon las que puede estar relacionada una entidad dada.

Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, lacorrespondencia de cardinalidades puede ser:

  Uno a Uno: Una entidad de A se relaciona únicamente con una entidaden B y viceversa (ejemplo relación vehículo - matrícula: cada vehículotiene una única matrícula, y cada matrícula está asociada a un únicovehículo).

  Uno a varios: Una entidad en A se relaciona con cero o muchasentidades en B. Pero una entidad en B se relaciona con una única entidaden A (ejemplo vendedor - ventas).

  Varios a Uno: Una entidad en A se relaciona exclusivamente con unaentidad en B. Pero una entidad en B se puede relacionar con 0 o muchasentidades en A (ejemplo empleado-centro de trabajo).

  Varios a Varios: Una entidad en A se puede relacionar con 0 o muchasentidades en B y viceversa (ejemplo asociaciones- ciudadanos, donde

muchos ciudadanos pueden pertenecer a una misma asociación, y cadaciudadano puede pertenecer a muchas asociaciones distintas).

Page 7: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 7/26

 

Restricciones de Participación

Dado un conjunto de relaciones R en el cual participa un conjunto de entidadesA, dicha participación puede ser de dos tipos:

  Total: Cuando cada entidad en A participa en al menos una relación de R.

  Parcial: Cuando al menos una entidad en A NO participa en algunarelación de R.

Claves

Es un subconjunto del conjunto de atributos comunes en una colección deentidades, que permite identificar unívocamente cada una de las entidadespertenecientes a dicha colección. Asimismo, permiten distinguir entre sí lasrelaciones de un conjunto de relaciones.

Dentro de los conjuntos de entidades existen los siguientes tipos de claves:

  Superclave: Es un subconjunto de atributos que permite distinguirunívocamente cada una de las entidades de un conjunto de entidades. Sise añade un atributo al anterior subconjunto, el resultado seguirá siendouna superclave.

  Clave candidata: Dada una superclave, si ésta deja de serlo quitandoúnicamente uno de los atributos que la componen, entonces ésta es unaclave candidata.

  Clave primaria: Es una clave candidata, elegida por el diseñador de labase de datos, para identificar unívocamente las entidades en unconjunto de entidades.

Los valores de los atributos de una clave, no pueden ser todos iguales para doso más instancias.

Para poder distinguir unívocamente las relaciones en un conjunto de relacionesR, se deben considerar dos casos:

Page 8: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 8/26

 

  R NO tiene atributos asociados: En este caso, se usa como claveprimaria de R la unión de las claves primarias de todos los conjuntos deentidades participantes.

  R tiene atributos asociados: En este caso, se usa como clave primariade R la unión de los atributos asociados y las claves primarias de todoslos conjuntos de entidades participantes.

Si el conjunto de relaciones, R, sobre las que se pretende determinar la claveprimaria está compuesto de relaciones binarias, con los conjuntos de entidadesparticipantes A y B, se consideran los siguientes casos, según suscardinalidades:

  R es de muchos a uno de A a B entonces sólo se toma la clave primariade A, como clave primaria de R.

  R es de uno a muchos de A a B entonces se toma sólo la clave primariade B, como clave primaria de R.

  R es de uno a uno de A a B entonces se toma cualquiera de las dosclaves primarias, como clave primaria de R.

  R es de muchos a muchos de A a B entonces se toma la unión de losatributos que conforman las claves primarias de A y de B, como claveprimaria de R.

Diagrama Entidad-Relación

Anteriormente detallamos los conceptos relacionados al modelo ER, en estasección profundizaremos en como representarlos gráficamente. Cabe destacarque para todo proceso de modelado, siempre hay que tener en claro los

conceptos, estos nos brindan conocimiento necesario y además fundamentannuestro modelo al momento de presentarlo a terceros.

Formalmente, los diagramas ER son un lenguaje gráfico para describirconceptos. Informalmente, son simples dibujos o gráficos que describen

Page 9: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 9/26

 

información que trata un sistema de información y el software que loautomatiza.

Entidad

Las entidades son el fundamento del modelo entidad relación. Podemos adoptarcomo definición de entidad cualquier cosa o parte del mundo que es distinguibledel resto.

Por ejemplo, en un sistema bancario, las personas y las cuentas bancarias sepodrían interpretar como entidades.

Las entidades pueden representar entes concretos, como una persona o unavión, o abstractas, como por ejemplo un préstamo o una reserva. Serepresentan por medio de un rectángulo.

Atributo

Se representan mediante un círculo o elipse etiquetado mediante un nombre ensu interior.

Cuando un atributo es identificativo de la entidad se suele subrayar dichaetiqueta.

Relaciones 

Se representa mediante un rombo etiquetado en su interior con un verbo.

Este rombo se debe unir mediante líneas con las entidades (rectángulos) querelaciona, para así saber cuál es la relación que lleva cada uno.

Por motivos de legibilidad, los atributos no suelen representarse en undiagrama entidad-relación, sino que se describen textualmente en otrosdocumentos adjuntos.

Page 10: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 10/26

 

Diagramas Extendidos

DER extendido

Los diagramas Entidad-Relación no cumplen su propósito con eficacia debido aque tienen limitaciones semánticas. Por ese motivo se suelen utilizar losdiagramas Entidad-Relación extendidos que incorporan algunos elementos másal lenguaje:

Entidades Fuertes y Débiles

Cuando una entidad participa en una relación puede adquirir un papel fuerte odébil . Una entidad débil es aquella que no puede existir sin participar en la

relación, es decir, aquella que no puede ser unívocamente identificadasolamente por sus atributos. Una entidad fuerte (también conocida comoentidad regular) es aquella que sí puede ser identificada unívocamente. En loscasos en que se requiera, se puede dar que una entidad fuerte "preste" algunosde sus atributos a una entidad débil para que, esta última, se pueda identificar.

Page 11: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 11/26

 

Las entidades débiles se representan- mediante un doble rectángulo, es decir,un rectángulo con doble línea.

Cardinalidad de las relaciones

El tipo de cardinalidad se representa mediante una etiqueta en el exterior dela relación, respectivamente: "1:1", "1:N" y "N:M", aunque la notación dependedel lenguaje utilizado, la que más se usa actualmente es el unificado. Otraforma de expresar la cardinalidad es situando un símbolo cerca de la línea queconecta una entidad con una relación:

  "0" si cada instancia de la entidad no está obligada a participar en larelación.

  "1" si toda instancia de la entidad está obligada a participar en larelación y, además, solamente participa una vez.

  "N" , "M", ó "*" si cada instancia de la entidad no está obligada aparticipar en la relación y puede hacerlo cualquier número de veces.

Ejemplos de relaciones que expresan cardinalidad:

  Cada esposo (entidad) está casado (relación) con una única esposa(entidad) y viceversa. Es una relación 1:1.

  Una factura (entidad) se emite (relación) a una persona (entidad) y sólouna, pero una persona puede tener varias facturas emitidas a su nombre.Todas las facturas se emiten a nombre de alguien. Es una relación 1:N.

  Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos. Es unarelación N:M.

Atributos en Relaciones

Las relaciones también pueden tener atributos asociados. Se representan igualque los atributos de las entidades. Un ejemplo típico son las relaciones de tipo"histórico" donde debe constar una fecha o una hora. Por ejemplo, supongamos

Page 12: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 12/26

 

que es necesario hacer constar la fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura (con distinta fecha). En talcaso, el atributo "Fecha de emisión" de la factura debería colocarse en larelación "se emite".

Herencia

La herencia es un intento de adaptación de estos diagramas al paradigmaorientado a objetos. La herencia es un tipo de relación entre una entidad"padre" y una entidad "hijo". La entidad "hijo" hereda todos los atributos yrelaciones de la entidad "padre". Por tanto, no necesitan ser representadas dosveces en el diagrama. La relación de herencia se representa mediante untriángulo interconectado por líneas a las entidades. La entidad conectada por elvértice superior del triángulo es la entidad "padre". Solamente puede existiruna entidad "padre" (herencia simple). Las entidades "hijo" se conectan por labase del triángulo.

Agregación

Ejemplo agregación:

Es una abstracción a través de la cual las relaciones se tratan como entidadesde un nivel más alto. Se utiliza para expresar relaciones entre relaciones o

Page 13: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 13/26

 

entre entidades y relaciones. Se representa englobando la relación abstraída ylas entidades que participan en ella en un rectángulo. En la figura se muestra unejemplo de agregación en el que se representa la situación en la que unprofesor, cuando está impartiendo una clase, puede poner una incidenciaocurrida a lo largo de ésta (se fue la luz, falta la configuración de undeterminado software, etc.).

MODELO RELACIONAL

El para la gestión de una base de datos es un modelo de datos basado en lamodelo relacional lógica de predicados y en la teoría de conjuntos. Es el modelomás utilizado en la actualidad para modelar problemas reales y administrardatos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar FrankCodd, de los laboratorios IBM en San José (California), no tardó enconsolidarse como un nuevo paradigma en los modelos de base de datos.

Su idea fundamental es el uso de «relaciones». Estas relaciones podríanconsiderarse en forma lógica como conjuntos de datos llamados «tuplas». Pese

a que ésta es la teoría de las bases de datos relacionales creadas por EdgarFrank Codd, la mayoría de las veces se conceptualiza de una manera más fácilde imaginar, esto es, pensando en cada relación como si fuese una tabla queestá compuesta por registros  (cada fila de la tabla sería un registro o tupla ), ycolumnas  (también llamadas campos ).

Descripción

En este modelo todos los datos son almacenados en relaciones, y como cada

relación es un conjunto de datos, el orden en el que éstos se almacenen notiene relevancia (a diferencia de otros modelos como el jerárquico y el de red).Esto tiene la considerable ventaja de que es más fácil de entender y de utilizarpor un usuario no experto. La información puede ser recuperada o almacenadapor medio de consultas que ofrecen una amplia flexibilidad y poder paraadministrar la información.

Page 14: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 14/26

 

Este modelo considera la base de datos como una colección de relaciones. Demanera simple, una relación representa una tabla que no es más que un conjuntode filas, cada fila es un conjunto de campos y cada campo representa un valorque interpretado describe el mundo real. Cada fila también se puede denominartupla o registro y a cada columna también se le puede llamar campo o atributo.Para manipular la información utilizamos un lenguaje relacional, actualmente secuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, encambio, el Cálculo relacional sólo indica lo que se desea devolver.

Esquema

Un esquema es la definición de una estructura (generalmente relaciones otablas de una base de datos), es decir, determina la identidad de la relación yque tipo de información podrá ser almacenada dentro de ella; en otraspalabras, el esquema son los metadatos de la relación. Todo esquema constaráde:

  Nombre de la relación (su identificador).

  Nombre de los atributos (o campos) de la relación y sus dominios; eldominio de un atributo o campo define los valores permitidos para elmismo, es equivalente al tipo de dato por ejemplo character , integer ,date , string , etc.

Instancias

Una instancia de manera formal es la aplicación de un esquema a un conjuntofinito de datos. En palabras no tan técnicas, se puede definir como el contenidode una tabla en un momento dado, pero también es válido referirnos a unainstancia cuando trabajamos o mostramos únicamente un subconjunto de la

información contenida en una relación o tabla, como por ejemplo:

  Ciertos caracteres y números (una sola columna de una sola fila).

  Algunas o todas las filas con todas o algunas columnas

Page 15: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 15/26

 

  Cada fila es una tupla. El número de filas es llamado cardinalidad .

  El número de columnas es llamado aridad o grado .

BASE DE DATOS RELACIONAL

Una base de datos relacional es un conjunto de una o más tablas estructuradasen registros (líneas) y campos (columnas), que se vinculan entre sí por un campoen común, en ambos casos posee las mismas características como por ejemploel nombre de campo, tipo y longitud; a este campo generalmente se le denominaID, identificador o clave. A esta manera de construir bases de datos se le

denomina modelo relacional.

Estrictamente hablando el término se refiere a una colección específica dedatos pero a menudo se le usa, en forma errónea como sinónimo del softwareusado para gestionar esa colección de datos. Ese software se conoce comoSGBD (sistema gestor de base de datos) relacional o RDBMS (del inglésrelational database management system ).

Las bases de datos relacionales pasan por un proceso al que se le conoce como

normalización de una base de datos, el cual es entendido como el procesonecesario para que una base de datos sea utilizada de manera óptima.

Entre las ventajas de este modelo están:

1.  Garantiza herramientas para evitar la duplicidad de registros, a travésde campos claves o llaves.

2.  Garantiza la integridad referencial: Así al eliminar un registro elimina

todos los registros relacionados dependientes.

3.  Favorece la normalización por ser más comprensible y aplicable.

Page 16: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 16/26

 

BASE DE DATOS ORIENTADA A OBJETOS

En una base de datos orientada a objetos, la información se representamediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de unlenguaje de programación orientado a objetos, el resultado es un sistemagestor de base de datos orientada a objetos (ODBMS, object database 

management system ). Un ODBMS hace que los objetos de la base de datosaparezcan como objetos de un lenguaje de programación en uno o más lenguajesde programación a los que dé soporte. Un ODBMS extiende los lenguajes condatos persistentes de forma transparente, control de concurrencia,

recuperación de datos, consultas asociativas y otras capacidades.

Las bases de datos orientadas a objetos se diseñan para trabajar bien enconjunción con lenguajes de programación orientados a objetos como Java, C#,Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo queestos lenguajes de programación.

Los ODBMS son una buena elección para aquellos sistemas que necesitan unbuen rendimiento en la manipulación de tipos de dato complejos.

Los ODBMS proporcionan los costes de desarrollo más bajos y el mejorrendimiento cuando se usan objetos gracias a que almacenan objetos en disco ytienen una integración transparente con el programa escrito en un lenguaje deprogramación orientado a objetos, al almacenar exactamente el modelo deobjeto usado a nivel aplicativo, lo que reduce los costes de desarrollo ymantenimiento.

Historia

Los orígenes del término orientados a objetos (abreviado OO) se remontan alos lenguajes de programación orientadas a objetos. Los lenguajes deprogramación OO tienen sus raíces en el lenguaje SIMULA 67, propuesto afinales de la década de 1960. En Simula, el concepto de clase agrupa laestructura de datos interna de un objeto en una declaración de clase, es decir,

Page 17: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 17/26

 

introduce en el lenguaje Algol los conceptos de objeto y de clase. Como Algol,Simula es un lenguaje fuertemente utilizado para entornos compilados. Sinembargo, el primer lenguaje que popularizó la aproximación a objetos fueSmalltalk (1976); este puede considerarse una síntesis de años del lenguajeLisp, que ofrece una gran flexibilidad gracias a la interpretación, y de Simula,añadiendo el concepto de metaclase. Smalltalk ha podido responder a lasnecesidades de flexibilidad presentadas por el desarrollo de entornos deprogramación gráficos, favoreciendo la rápida creación de prototipos deinterfaces de usuarios amigables. Fue utilizado con éxito en la primeraestación gráfica de Xerox.

Con la llegada de las estaciones de trabajo en los años 80, han crecidonumerosos lenguajes orientados a objetos inspirados en Simula o Smalltalk.Entre los lenguajes compilados, los más celebres son C++, Objective C y Eiffel,debido a la compatibilidad del lenguaje o del código producido con el lenguajede programación C. La mayor parte de los lenguajes interpretados sonextensiones del Lisp; por ejemplo, Loops y CLOS. Es interesante notar que lamayor parte de los lenguajes populares existentes se encuentran en curso deampliación para convertirse en orientados a objetos, incluyendo al Cobol y Ada(más exactamente Ada 9X, que aporta la herencia).

En años recientes, han aparecido muchos prototipos experimentales y sistemasde bases de datos comerciales orientados a objetos. Entre los primeros seencuentran los sistemas ORION, OpenOODB, IRIS, ODE y el proyectoENCORE/ObServer. Y entre los sistemas disponibles en el mercado están:GEMSTONE/OPAL de ServicLogic, ONTOS de Ontologic, Objectivity deObjectivity Inc., Versant de Versant Technologies, ObjecStore de ObjectDesign y O2 de O2 Technology. Esta es solo una lista parcial de los prototiposexperimentales y de los sistemas de bases de datos comerciales orientados aobjetos. Desafortunadamente, es aún demasiado pronto para saber cuálessistemas se instalarán como líderes en este campo.

Las bases de datos orientados a objetos han adoptado muchos de los objetoscreados para los lenguajes de programación orientados a objetos.

Page 18: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 18/26

 

BASE DE DATOS JERÁRQUICA

Una base de datos jerárquica es un tipo de sistema de gestión de bases dedatos que, como su nombre indica, almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar aun árbol visto al revés), en donde un nodo padre de información puede tenervarios nodos hijo .

Esta relación jerárquica no es estrictamente obligatoria, de manera que puedenestablecerse relaciones entre nodos hermanos . En este caso la estructura enforma de árbol se convierte en una estructura en forma de grafo dirigido. Estavariante se denomina Bases de datos de red. 

Reseña Histórica

Las bases de datos jerárquicas fueron concebidas en los años 1960. El primermetamodelo de base de datos propuesto fue la mencionada Base de datos en 

red , concebida bajo el auspicio de CODASYL (Conference on Data Systems 

Languages) . Posteriormente se refinó la idea dando lugar a la base de datos jerárquica. La primera implementación de este metamodelo fue IMS (Information Management System) . Se trata de un diseño de IBM  y otroscolaboradores en 1966 para el Programa Apoyo de la NASA. IMS aún seencuentra activo. El sector de la banca y las Administraciones Públicasadoptaron rápidamente esta tecnología, sin la cual, no hubiese sido posible elgrado de automatización que tienen hoy día. Estos sectores eran los únicos concapacidad económica suficiente para adquirir los enormes mainframe para laautomatización de bases de datos, única solución posible en la época.

Poco después, en 1970, E. F. Codd propuso el modelo relacional. Las ventajas de

estos modelos y su enfoque matemático centraron los esfuerzos de la industriadando lugar a los sistemas gestores de bases de datos relacionales. Estosúltimos han reemplazado a las bases de datos jerárquicas hoy día, pero nocompletamente. La mayoría de las antiguas bases de datos jerárquicas debancos y Administraciones Públicas aún siguen en actividad. Esto se debe a queel rendimiento de las bases de datos jerárquicas sigue sin ser superado por las

Page 19: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 19/26

 

bases de datos relacionales. Además estos sectores sufren un gran volumen detransacciones. Obsérvese, por ejemplo, la cantidad de apuntes contables querequiere una red de cajeros automáticos en un solo día.

Cómo Funcionan

A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista 

lógica  de una vista física  de la base de datos. De manera que las relacionesentre datos se establecen siempre a nivel físico, es decir, mediante referenciaa direcciones físicas del medio de almacenamiento (sectores y pistas).

Los datos se almacenan en la forma de registros, el equivalente a las filas delmodelo relacional. Cada registro consta de un conjunto de campos, elequivalente a las columnas del modelo relacional. Un conjunto de registros conlos mismos campos se denomina fichero (record type, en inglés), el equivalentea las tablas del modelo relacional.

El modelo jerárquico facilita relaciones padre-hijo , es decir, relaciones 1:N (deuno a varios) del modelo relacional. Pero a diferencia de éste último, lasrelaciones son unidireccionales. En justicia, dichas relaciones son hijo-padre ,pero no  padre-hijo . Por ejemplo, el registro de un empleado (nodo hijo ) puederelacionarse con el registro de su departamento (nodo  padre ), pero no alcontrario. Esto implica que solamente se puede consultar la base de datosdesde los nodos hoja  hacia el nodo raíz . La consulta en el sentido contrariorequiere una búsqueda secuencial por todos los registros de la base de datos(por ejemplo, para consultar todos los empleados de un departamento). En lasbases de datos jerárquicas no existen índices que faciliten esta tarea.

Obsérvese que, a priori, no existen relaciones N:M (de muchos a muchos) en elmodelo jerárquico. Salvo que se simulen mediante varias relaciones 1:N. Noobstante, esto puede provocar problemas de inconsistencia, ya que el gestor de

base de datos no controla estas relaciones.

Como ya se ha mencionado, las relaciones se establecen mediante punterosentre registros. Es decir, un registro hijo  contiene la dirección física en elmedio de almacenamiento de su registro  padre . Esto tiene una ventajafundamental sobre las bases de datos relacionales: el rendimiento. El acceso de

Page 20: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 20/26

 

un registro a otro es prácticamente inmediato sin necesidad de consultartablas de correspondencia.

Las relaciones jerárquicas entre diferentes tipos de datos pueden hacer quesea muy sencillo responder a determinadas preguntas, pero muy difícil elcontestar a otras.

Limitaciones del Modelo Jerárquico

A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estosproblemas derivan del hecho de que el sistema gestor de base de datos noimplementa ningún control sobre los propios datos, sino que queda en manos delas aplicaciones garantizar que se cumplen las condiciones invariantes que serequieran (por ejemplo, evitar la duplicidad de registros). Dado que todas lasaplicaciones están sujetas a errores y fallos, esto es imposible en la práctica.Además dichas condiciones suelen romperse ex profeso por motivos operativos(generalmente, ajustes debidos a cambios en el negocio) sin evaluarse susconsecuencias.

Duplicidad de Registros

No se garantiza la inexistencia de registros duplicados. Esto también es ciertopara los campos "clave". Es decir, no se garantiza que dos registroscualesquiera tengan diferentes valores en un subconjunto concreto de campos.

Integridad Referencial

No existe garantía de que un registro hijo  esté relacionado con un registro padre válido. Por ejemplo, es posible borrar un nodo  padre sin eliminar anteslos nodos hijo , de manera que éstos últimos están relacionados con un registro

inválido o inexistente.

Desnormalización

Este no es tanto un problema del modelo jerárquico como del uso que se hacede él. Sin embargo, a diferencia del modelo relacional, las bases de datos

Page 21: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 21/26

 

 jerárquicas no tienen controles que impidan la desnormalización de una base dedatos. Por ejemplo, no existe el concepto de campos clave o campos únicos.

La desnormalización permite ingresar redundancia de una forma controlada,seguir a una serie de pasos conlleva a:

  Combinar las relaciones

  Duplicar los atributos no claves

  Introducción de grupos repetitivos

  Crear tablas de extracción

Cuando se debe desnormalizar:

  Se debe desnormalizar para optimizar el esquema relacional.

  Para hacer referencia a la combinación de 2 relaciones que forman unasola relación.

Ejemplo:

Proveedor (Nro_proveedor, calle, ciudad, cod_postal, descripción) La relaciónProveedor esta desnormalizada, ya que para normalizarla deberíamos crear unatabla con ciudad y código postal

Gestores de bases de datos jerárquicas

  Adabas

  GT.M

  IMS

  Focus

Page 22: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 22/26

 

BASE DE DATOS DE RED

Una base de datos de red es una base de datos conformada por una colección oset de registros, los cuales están conectados entre sí por medio de enlaces enuna red. El registro es similar al de una entidad como las empleadas en elmodelo relacional. 

Un registro es una colección o conjunto de campos (atributos ), donde cada unode los que contiene solamente un único valor almacenado, exclusivamente elenlace es la asociación entre dos registros, así que podemos verla como unarelación estrictamente binaria. 

Una estructura de base de datos de red, llamada algunas veces estructura deplex, abarca más que la estructura de árbol, porque un nodo hijo en laestructura red  puede tener más de un nodo  padre . En otras palabras, larestricción de que en un árbol jerárquico cada hijo puede tener sólo un padre ,se hace menos severa.

Así, la estructura de árbol se puede considerar como un caso especial de laestructura de red .

Ejemplo

Para ilustrar la estructura de los registros en una base de datos de red,mostraremos la base de datos alumno – materia, con los siguientes registros(en el Lenguaje de programación Pascal):

type materia = recordclave: string[7]

nombreM: string[25]cred: string[2];end;

type alumno = recordnombre: string[30];

Page 23: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 23/26

 

control: string[8];materia: Materia; {Enlace a materia}end;

En síntesis una base de datos en red puede tener 1 o más elementos padre.

BASES DE DATOS TRANSACCIONALES

Son bases de datos cuyo único fin es el envío y recepción de datos a grandesvelocidades, estas bases son muy poco comunes y están dirigidas por lo generalal entorno de análisis de calidad, datos de producción e industrial, esimportante entender que su fin único es recolectar y recuperar los datos a lamayor velocidad posible, por lo tanto la redundancia y duplicación deinformación no es un problema como con las demás bases de datos, por logeneral para poderlas aprovechar al máximo permiten algún tipo deconectividad a bases de datos relacionales.

BASES DE DATOS MULTIDIMENSIONALES

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, comocreación de Cubos OLAP. Básicamente no se diferencian demasiado de lasbases de datos relacionales (una tabla en una base de datos relacional podríaserlo también en una base de datos multidimensional), la diferencia está másbien a nivel conceptual; en las bases de datos multidimensionales los campos oatributos de una tabla pueden ser de dos tipos, o bien representan dimensionesde la tabla, o bien representan métricas que se desean estudiar.

BASES DE DATOS DOCUMENTALES

Permiten la indexación a texto completo, y en líneas generales realizarbúsquedas más potentes. Tesaurus es un sistema de índices optimizado paraeste tipo de bases de datos.

Page 24: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 24/26

 

BASES DE DATOS DEDUCTIVAS

Un sistema de base de datos deductiva, es un sistema de base de datos perocon la diferencia de que permite hacer deducciones a través de inferencias. Sebasa principalmente en reglas y hechos que son almacenados en la base dedatos. Las bases de datos deductivas son también llamadas bases de datoslógicas, a raíz de que se basa en lógica matemática. Este tipo de base de datossurge debido a las limitaciones de la Base de Datos Relacional de responder aconsultas recursivas y de deducir relaciones indirectas de los datosalmacenados en la base de datos.

LENGUAJE 

Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual esdeclarativo y permite al ordenador hacer deducciones para contestar aconsultas basándose en los hechos y reglas almacenados.

VENTAJAS 

  Uso de reglas lógicas para expresar las consultas.

  Permite responder consultas recursivas.

  Cuenta con negaciones estratificadas

  Capacidad de obtener nueva información a través de la ya almacenada en labase de datos mediante inferencia.

  Uso de algoritmos de optimización de consultas.

  Soporta objetos y conjuntos complejos.

Page 25: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 25/26

 

DESVENTAJAS 

  Crear procedimientos eficaces de deducción para evitar caer en bucles

infinitos.

  Encontrar criterios que decidan la utilización de una ley como regla dededucción.

  Replantear las convenciones habituales de la base de datos.

FASES 

  Fase de Interrogación: se encarga de buscar en la base de datos informacionesdeducibles implícitas. Las reglas de esta fase se denominan reglas dederivación.

  Fase de Modificación: se encarga de añadir a la base de datos nuevasinformaciones deducibles. Las reglas de esta fase se denominan reglas degeneración.

INTERPRETACIÓN 

Encontramos dos teorías de interpretación de las bases de datos deductivas:

  Teoría de Demostración: consideramos las reglas y los hechos como axiomas.

Los hechos son axiomas base que se consideran como verdaderos y nocontienen variables. Las reglas son axiomas deductivos ya que se utilizan paradeducir nuevos hechos.

  Teoría de Modelos: una interpretación es llamada modelo cuando paraun conjunto específico de reglas, éstas se cumplen siempre para esainterpretación. Consiste en asignar a un predicado todas lascombinaciones de valores y argumentos de un dominio de valores

Page 26: Modelos B.D

5/9/2018 Modelos B.D. - slidepdf.com

http://slidepdf.com/reader/full/modelos-bd 26/26

 

constantes dado. A continuación se debe verificar si ese predicado esverdadero o falso.

MECANISMOS 

Existen dos mecanismos de inferencia:

  Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglasde inferencia.

  Descendente: donde se parte del predicado (objetivo de la consulta realizada)e intenta encontrar similitudes entre las variables que nos lleven a hechoscorrectos almacenados en la base de datos.

GESTIÓN DE BASES DE DATOS DISTRIBUIDA(SGBD)

La base de datos y el software SGBD pueden estar distribuidos en múltiplessitios conectados por una red. Hay de dos tipos:

1.  Distribuidos homogéneos: utilizan el mismo SGBD en múltiplessitios.

2.  Distribuidos heterogéneos: Da lugar a los SGBD federados osistemas multibase de datos en los que los SGBD participantestienen cierto grado de autonomía local y tienen acceso a variasbases de datos autónomas preexistentes almacenados en losSGBD, muchos de estos emplean una arquitectura cliente-

servidor.

Estas surgen debido a la existencia física de organismos descentralizados.

Esto les da la capacidad de unir las bases de datos de cada localidad y accederasí a distintas universidades, sucursales de tiendas, etc.