martes, 2 de noviembre de 2010

Modelo entidad relación

MODELO ENTIDAD-RELACIÓN

Modelo entidad-relación

Es una herramienta para el modelo de datos de un un sistema de información. Estos modelos 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 otras restricciones que no se pueden reflejar en el diagrama.
Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.
El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos.
  • 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).

Entidad

Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad.
Algunos Ejemplos:
  • Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
  • 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á en su dirección).
Una entidad puede ser un objeto con existencia física como: una persona, un animal, una casa, etc. (entidad concreta), o un objeto con existencia conceptual como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta).
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 propiedades que describen a cada entidad en un conjunto de entidades.
Un conjunto de entidades dentro de una entidad, tiene valores específicos asignados para cada uno de sus atributos, de esta forma, es posible su identificación unívoca.
Ejemplos:
A la colección de entidades Alumnos, con el siguiente conjunto de atributos en común, (id, nombre, edad, semestre), pertenecen las entidades:
  • (1, Sofia, 18 años, 2)
  • (2, Josefa, 19 años, 5)
  • (3, Gabriela, 20 años, 2)
Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos.
En particular, los atributos identificativos son aquellos que permiten diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo 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 tipo de datos que será almacenado o a restricciones en los valores que el atributo puede tomar (Cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo números enteros...).
Cuando una entidad no tiene un valor para un atributo dado, este toma el valor nulo, bien sea que no se conoce, que no existe o que no se sabe nada al respecto del mismo.

Relación

Describe cierta dependencia entre entidades o permite la asociación de las mismas.
Ejemplo:

Dadas dos entidades "Habitación 502" y "Mark", es posible relacionar que la 
habitacion 502 se encuentra ocupada por el huésped de nombre Mark.
Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo, Un Huésped (entidad), se aloja (relación) en una habitación (entidad).

Restricciones

Son reglas que deben mantener los datos almacenados en la base de datos. No se deben de quebrantar a menos que tenga otra relacion de una tabla de uno a muchos.
Correspondencia de cardinalidades

Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la correspondencia de cardinalidad indica el número de entidades con las que puede estar relacionada una entidad dada.
Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de cardinalidades puede ser:
  • Uno a Uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa.
  • Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A.
  • Varios a Uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A.
  • Varios a Varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa.
Claves

Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite identificar unívocamente cada una de las entidades pertenecientes a dicha colección. Asimismo, permiten distinguir entre sí las relaciones 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 distinguir unívocamente cada una de las entidades de un conjunto de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá siendo una superclave.
  • Clave candidata: Dada una superclave, si ésta deja de serlo quitando únicamente uno de los atributos que la componen, entonces ésta es una clave candidata.
  • Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un conjunto de entidades.
Los valores de los atributos de una clave, no pueden ser todos iguales para dos o más entidades.
Para poder distinguir unívocamente las relaciones en un conjunto de relaciones R, se deben considerar dos casos:
  • R NO tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de las claves primarias de todos los conjuntos de entidades participantes.
  • R tiene atributos asociados: En este caso, se usa como clave primaria de R la unión de los atributos asociados y las claves primarias de todos los conjuntos de entidades participantes.
Si el conjunto de relaciones, R, sobre las que se pretende determinar la clave primaria está compuesto de relaciones binarias, con los conjuntos de entidades participantes A y B, se consideran los siguientes casos, según sus cardinalidades:
  • R es de muchos a uno de A a B entonces sólo se toma la clave primaria de A, como clave primaria de R.
  • R es de uno a muchos de A a B entonces se toma sólo la clave primaria de B, como clave primaria de R.
  • R es de uno a uno de A a B entonces se toma cualquiera de las dos claves primarias, como clave primaria de R.
  • R es de muchos a muchos de A a B entonces se toma la unión de los atributos que conforman las claves primarias de A y de B, como clave primaria de R.
Diagramas extendidos

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

Entidades fuertes y débiles

Cuando una entidad participa en una relación puede adquirir un papel fuerte o dé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 identificada solamente por sus atributos. Una entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser identificada unívocamente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad débil para que, esta última, se pueda identificar.
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 de la relación, respectivamente: "1:1", "1:N" y "N:M", aunque la notación depende del lenguaje utilizado, la que más se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un símbolo cerca de la línea que conecta una entidad con una relación:
  • "0" si cada instancia de la entidad no está obligada a participar en la relación.
  • "1" si toda instancia de la entidad está obligada a participar en la relación y, además, solamente participa una vez.
  • "N" , "M", ó "*" si cada instancia de la entidad no está obligada a participar 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ólo una, 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 una relación N:M.

Atributos en relaciones

Las relaciones también pueden tener atributos asociados. Se representan igual que 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 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 tal caso, el atributo "Fecha de emisión" de la factura debería colocarse en la relación "se emite".

Herencia

La herencia es un intento de adaptación de estos diagramas al paradigma orientado 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 y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa mediante un triángulo interconectado por líneas a las entidades. La entidad conectada por el vértice superior del triángulo es la entidad "padre". Solamente puede existir una entidad "padre" (herencia simple). Las entidades "hijo" se conectan por la base del triángulo.

Agregación

Es una abstracción a través de la cual las relaciones se tratan como entidades de un nivel más alto. Se utiliza para expresar relaciones entre relaciones o entre entidades y relaciones. Se representa englobando la relación abstraída y las entidades que participan en ella en un rectángulo. En la figura se muestra un ejemplo de agregación en el que se representa la situación en la que un profesor, cuando está impartiendo una clase, puede poner una incidencia ocurrida a lo largo de ésta (se fue la luz, falta la configuración de un determinado software, etc.).

jueves, 21 de octubre de 2010

MODELOS DE BASES DE DATOS

MODELOS DE BASES DE DATOS
Base de datos jerárquicos:
 Una base de datos jerárquica consiste en una colección de registros que se conectan entre sí por medio de enlaces. Los registros son similares a los expuestos en el modelo de red. Cada registro es una colección de campos (atributos), que contienen un solo valor cada uno de ellos. Un enlace es una asociación o unión entre dos registros exclusivamente. Por tanto, este concepto es similar al de enlace para modelos de red.
Consideremos la base de datos, nuevamente, que contiene la relación alumno - materia de un sistema escolar. Existen dos tipos de registros en este sistema, alumno y materia. El registro alumno consta de tres campos: Nombre A, Control y Esp; El registro Materia esta compuesto de tres campos: Clave, Nombre M y Cred.
En este tipo de modelos la organización se establece en forma de árbol, donde la raíz es un nodo ficticio. Así tenemos que, una base de datos jerárquica es una colección de árboles de este tipo.

Base de datos de red:
Las bases de datos de red son archivos que proporcionan información necesaria para configurar la red. Son las siguientes:
·               hosts
·               netmasks
·               Base de datos ethers
·               bootparams
·               protocols
·               services
·               networks

Como parte del proceso de configuración, puede editar las bases de datos hosts y netmasks, si la red cuenta con subredes. Se utilizan dos bases de datos de red, bootparams y ethers, para configurar los sistemas como clientes de red. El sistema operativo utiliza las bases de datos restantes, que raramente requieren edición.

Aunque el archivo nsswitch.conf no es una base de datos de red, debe configurar este archivo junto con las bases de datos de red pertinentes. El archivo nsswitch.conf especifica qué servicio de nombre utilizar para un sistema concreto: archivos locales, NIS, DNS o LDAP.
Base de datos transaccionales:
Una base de datos transaccional es un DBMS en las operaciones de escritura sobre la base de datos son capaces de ser revertido si no se completan correctamente.
Si un sistema de base de datos transaccional pierde la mitad de la energía eléctrica a mitad de una transacción, ésta parcialmente terminada se retrotraerá y la base de datos será restaurada al estado en que se encontraba antes de la transacción iniciada.
Imagine que un front-end de la aplicación es el envío de un pedido de un cliente a un sistema de base de datos. El front-end de la aplicación envía la solicitud al producto al cliente y restar el producto del inventario. El front-end de la aplicación está a punto de enviar la solicitud de crear una factura para el cliente y de repente el front-end de la aplicación se bloquea.
Una base de datos transaccional puede revertir la transacción de forma parcial.
Una alternativa al uso de una base de datos transaccional es utilizar operaciones atómicas.
Base de datos relacionales:
En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto.
Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla.
Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Más adelante explicaremos que son las tablas.
Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas:
·               Generalmente, contendrán muchas tablas.
·               Una tabla sólo contiene un número fijo de campos.
·               El nombre de los campos de una tabla es distinto.
·               Cada registro de la tabla es único.
·               El orden de los registro y de los campos no está determinados.
·               Para cada campo existe un conjunto de valores posible.
Base de datos multidimencional:

Una base de datos multidimensional, es aquella que almacena sus datos con varias dimensiones, es decir que en vez de un valor, encontramos varios dependiendo de los "ejes" definidos. Veamos un ejemplo:
Una tabla relacional de productos podría tener 2 campos ID, Nombre del producto y existencias
En un entorno multidimensional con dos dimensiones, tiempo y espacio, tendríamos por cada entrada N valores dependiendo de estos dos ejes y asi podríamos observar el número de existencias en el tiempo (histórico) y en las diferentes sedes de la empresa.

Base de datos orientadas a objeto:
Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones más complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de bases de datos tradicionales.
Como cualquier Bases de Datos programables, una Base de Datos Orientada a Objetos (BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un depósito persistente listo para su explotación. Una BDOO almacena y manipula información que puede ser digitalizada (presentada) como objetos, además proporciona un acceso ágil y permite una gran capacidad de manipulación.
Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos (BDOO) son las siguientes:
• Identidad de objetos
• Constructores de tipos
• Encapsulamiento
• Compatibilidad con los lenguajes de programación
• Jerarquías de tipos y herencia
• Manejo de objetos complejos
• Polimorfismo y sobrecarga de operadores y
• Creación de versiones.


Bases de datos documentales:
 En este último grupo, cada registro se corresponde con un documento, sea éste de cualquier tipo: una publicación impresa, un documento audiovisual, gráfico o sonoro, un documento de archivo, un documento electrónico,...
Una base de datos se crea y mantiene de forma continuada con el objetivo de resolver necesidades de información concretas de un colectivo, una empresa o el conjunto de la sociedad. Estos recursos electrónicos pueden ser consultables directamente en formato electrónico o ser utilizados para elaborar productos impresos: bibliografías, directorios, informes. Los registros de las bases de datos documentales pueden incluir o no el contenido completo de los documentos que describen, según lo cuál se distinguen tres categorías:

  • Bases de datos de texto completo: son aquellas que estén constituidas por los propios documentos en formato electrónico, por un volcado completo de su texto. Pueden incorporar además campos en los que se contiene la información fundamental para facilitar su descripción y recuperación. En estos sistemas la operación de búsqueda (que puede abarcar la totalidad del texto) y la consulta del documento se producen sin salir del propio sistema de información.
  • Archivos electrónicos de imágenes: están constituidos por referencias que permiten un enlace directo con la imagen del documento original, sea este un documento iconográfico (fotografías, imágenes de televisión,...) o un documento impreso digitalizado en formato de imagen. En estas bases de datos normalmente la búsqueda está limitada a los campos de la referencia bibliográfica y no se pueden localizar otros términos presentes en el texto completo del documento original.
  • Bases de datos referenciales: sus registros no contienen el texto original sino tan sólo la información fundamental para describir y permitir la localización de documentos impresos, sonoros, iconográficos, audiovisuales o electrónicos. En estos sistemas de información sólo se puede obtener referencias sobre documentos que habrá que localizar posteriormente en otro servicio (archivo, biblioteca, fototeca, fonoteca,...) o solicitar a un servicio de suministro de documentos. Sin embargo, una base de datos referencial puede incluir campos que faciliten la localización del documento (bibliotecas, signaturas, direcciones en Internet,...) o incluso enlaces directos para obtener directamente el original a través de otro programa (tratamiento de texto, navegador de Internet,...).


Tipos de BD documentales (I)
·               Según el contenido completo o no de los documentos que describen se clasifican en:
·               Bases de datos a texto completo: permiten el acceso al propio documento en formato electrónico.
·               Bases de datos referenciales: Sólo contienen la información fundamental para describir y permitir la localización de los documentos, impresos o electrónicos.
·               Según la cobertura temática es decir la disciplina científica o materia que abarca la bases de datos, las podemos clasificar en:
·               Multidisciplinares: cobertura temática amplia, abarcan varias disciplinas o áreas temáticas.
·               Especializadas: recogen información de un área temática concreta.
Tipos de BD documentales (II)
·               Según el modo de acceso en:
·               Bases de datos de acceso local: para consultarlas es necesario acudir a la biblioteca.
·               Bases de datos en CD-ROM: se instalan en una red local y se consultan desde ordenadores conectados a la red.
·               Bases de datos en línea: pueden consultarse desde cualquier ordenador conectado a Internet. La consulta puede ser libre (gratuita) o mediante suscripción y la forma de acceso se puede realizar de dos formas:
·               Uso de clave y contraseña
·               Reconocimiento de dirección IP
Tipos de BD documentales (III)
·              Ej. de BD nac. doc. refer. multidisc. en línea: BD del CSIC (ICYT, ISOC IME)
·              Ej. BD internac. doc. ref. multidisc. en línea: SCOPUS
·              Ej. BD internac. doc. ref. multidisc. en línea: Web Of Science (ISI-WoS)
·               Producida por el ISI (Institute for Scientific Information), proporciona acceso a:
·               - Arts and Humanities Citation Index (AHCI) desde 1975
·               Science Citation Index Expanded (SCI-EXPANDED) desde 1945
·               Social Sciences Citation Index (SSCI) desde 1956
·               - Index Chemicus Current Chemical Reaction.
·               Indiza más de 8.500 publicaciones internacionales.
·               Además de la búsqueda de información por los procedimientos habituales, contiene un "índice de citas", lo que permite buscar artículos citados.
Base de datos deductivos:
Un sistema de bases de datos que tenga la capacidad de definir reglas con las cuales deducir o inferir información adicional a partir de los hechos almacenados en las bases de datos se llama Sistema de Bases de Datos Deductivas. Puesto que parte de los fundamentos teóricos de algunos sistemas de ésta especie es la lógica matemática, a menudo se les denomina Bases de Datos Lógicas. Una base de datos deductiva es, en esencia, un programa lógico; mapeo de relaciones base hacia hechos, y reglas que son usadas para definir nuevas relaciones en términos de las relaciones base y el procesamiento de consultas.
Los sistemas Bases de Datos Deductivas intentan modificar el hecho de que los datos requeridos residan en la memoria principal (por lo que la gestión de almacenamiento secundario no viene al caso) de modo que un SGBD se amplíe para manejar datos que residen en almacenamiento secundario.
En un sistema de Bases de Datos Deductivas por lo regular se usa un lenguaje declarativo para especificar reglas. Con lenguaje declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en vez de especificar los detalles de cómo lograrlo. Una máquina de inferencia (o mecanismo de deducción) dentro del sistema puede deducir hechos nuevos a partir de la base de datos interpretando dichas reglas. El modelo empleado en las Bases de Datos Deductivas está íntimamente relacionado con el modelo de datos relacional, y sobre todo con el formalismo del cálculo relacional. También esta relacionado con el campo de la programación lógica y el lenguaje Prolog. Los trabajos sobre Bases de Datos Deductivas basados en lógica han utilizado Prolog como punto de partida. Con un subconjunto de Prolog llamado Datalog se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje. Aunque la estructura gramatical se parece a la de Prolog, su semántica operativa (esto es, la forma como debe ejecutarse un programa en Datalog) queda abierta.

Una Base de Datos Deductiva utiliza dos tipos de especificaciones: hechos y reglas. Los hechos se especifican de manera similar a como se especifican las relaciones, excepto que no es necesario incluir los nombres de los atributos. Recordemos que una tupla en una relación describe algún hecho del mundo real cuyo significado queda determinado en parte por los nombres de los atributos. En una Base de Datos Deductiva, el significado del valor del atributo en una tupla queda determinado exclusivamente por su posición dentro de la tupla.

Sistema de gestión de base de datos
Sistema desarrollado que hace posible acceder a datos integrados que atraviesan los límites operacionales, funcionales u organizacionales de una empresa.

Objetivos en el uso de un sistema de gestión de base de datos:

·               Oportunidad, asociado a la eficiencia y eficacia.
·               Disponibilidad, permitiendo la accesibilidad de datos
·               Consistencias (oportunidad + disponibilidad), como calidad de datos
·               Evolución, para adaptarse al entorno
·               Integridad, en el nivel de los datos así como el sistema.
Objetivos del sistema de gestión de base de datos que podemos identificar son:
·               Independencia de datos
·               Accesibilidad limitada
·               Datos al día y sin redundancias
·               Consistencia
·               Interfaz única
·               Entrada directa a los datos
·               Recuperación por diferentes accesos
·               Función completa de interrogantes
·               Estandarización
·               Seguridad
Productos Asociados A Los Sistema De Gestión De Base De Datos:Existen cuatro productos básicos en los Sistema de Gestión de Base de Datos para sistemas Host (propietarios). Estos son:
·               Repositorio / diccionario / directorio / enciclopedia
·               Desarrollador de aplicaciones (Prototipo, Lenguaje(s) de programación, basado en interpretes).
·               Lenguaje de consulta
·               Lenguaje reporteador