Bases de Datos

Fundamentos de BDs y algo más…

Archivo de Febrero 2009

Conjuntos de entidades débiles

Publicado por fdonorat en 17 Febrero 2009

Un conjunto de entidades débiles es aquel que no tiene suficientes atributos para formar una clave primaria. Un conjunto que sí tiene una clave primaria se denomina conjunto de entidades fuertes.

Cada conjunto de entidades débiles debe estar asociada con un conjunto de entidades llamado conjunto de entidades identificadoras o propietarias. Así, el conjunto de entidades débiles depende existencialmente del conjunto de entidades identificadoras. La relación que asocia el conjunto de entidades débiles con el conjunto de entidades identificadoras se denomina relación identificadora. La relación identificadora es varios a uno del conjunto de entidades débiles al conjunto de entidades identificadoras y la participación del conjunto de entidades débiles en la relación es total.

Aunque un conjunto de entidades débiles no tiene clave primaria, deben hacerse distinguir todas aquellas entidades del conjunto de entidades que dependen de una entidad fuerte particular. El discriminante de un conjunto de entidades débiles es un conjunto de atributos que permiten esta distinción.

La clave primaria de un conjunto de entidades débiles se forma con la clave primaria del conjunto de entidades identificadoras, más el discriminante del conjunto de entidades débiles.

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Bill Gates vs. Steve Jobs

Publicado por fdonorat en 15 Febrero 2009

Un pequeño video de un encuentro entre estos dos especímenes que discuten sobre las PC y las Mac. De pronto me recordó a Celebrity DeathMatch, pero sin sangre. Hasta instructivo resulta el video LOL.

Publicado en Curiosidades en Inet | Deja un Comentario »

Diagrama Entidad-Relación

Publicado por fdonorat en 15 Febrero 2009

La estructura lógica general de una base de datos se puede expresar gráficamente mediante un diagrama E-R, que consta de los siguientes componentes principales:

Rectángulos, que representan conjuntos de entidades.

Elipses, que representan atributos.

Rombos, que representan relaciones.

Líneas, que unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de relaciones.

Elipses dobles, que representan atributos multivalorados.

Elipses discontínuas, que denotan atributos derivados.

Líneas dobles, que indican participación total de una entidad en un conjunto de relaciones.

Rectángulos dobles, que representan conjuntos de entidades débiles.

diagrama-e-r-2

los atributos de un conjunto de entidades que son miembros de la clave primaria están subrayados.

El conjunto de relaciones puede ser varios a varios, uno a varios, varios a uno o uno a uno. Para distinguir entre estos tipos, se dibuja o una línea dirigida (→) o una línea no dirigida (─) entre el conjunto de relaciones y el conjunto de entidades en cuestión.diagrama-e-r-1

Si el conjunto de relaciones tiene también algunos atributos asciados a él, entonces se unen esos atributos a ese conjunto de relaciones.

Los atributos compuestos también se pueden representar, definiendo sus atributos componentes y uniéndolos con el atributo que componen.

En los diagreamas E-R se indican papeles mediante etiquetas en las líneas que unen rombos con rectángulos.

También pueden indicarse restricciones más complejas sobre el número de veces en que cada entidad participa en las relaciones de un conjunto de relaciones. Un segmento  entre un conjunto de entidades y un conjunto de relaciones binarias puede tener una cardinalidad mostrada de la forma mín…máx, donde mín es la mínima cardinalidad y máx es la máxima. Un valor mínimo de 1 indica una participación total del conjunto de entidades en el conjunto de relaciones. Un valor máximo de 1 indica que la entidad participa en a lo sumo una relación, mientras que un valor máximo de * indica que no hay límite.

diagrama-e-r-3

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Cuestiones de diseño

Publicado por fdonorat en 15 Febrero 2009

Las nociones de conjunto de entidades y conjunto de relaciones no son precisas, y es posible definir un conjunto de entidades y las relaciones entre ellas de diferentes formas.

Uso de conjuntos de entidades o atributos

Suelen definirse en un conjunto de entidades, atributos que requieren guardar información extra referente a ellos, facilitándose eso y además de hacerlo más claro, tratarlo como una entidad en lugar de como un atributo. Otras ocaciones resulta lo contrario, que se trata a una entidad que quedaría más práctico manejarlo como un atributo del conjunto de entidades.

La distinción de la forma de usar la información dependerá de la estructura de la empresa del mundo real que se modela y de la semántica asociada con el atributo en cuestión.

Uso de conjuntos de entidades o conjuntos de relaciones

No siempre está claro si es mejor expresar un objeto mediante un conjunto de entidades o mediante un conjunto de relaciones.

Una posible guía para determinarlo es designar un conjunto de relaciones para describir una acción que ocurre entre entidades. Este enfoque también puede ser útil para decidir si ciertos atributos se pueden expresar más apropiadamente como relaciones.

Conjuntos de relaciones binarias o n-arias

Las relaciones en las bases de datos son generalmente binarias. Algunas relaciones que parecen no ser binarias podrían ser representadas mejor con varias relaciones binarias. Eso dependerá de la simplicidad o utilidad que tenga hacer ese ajuste.

Ubicación de los atributos de las relaciones

La razón de cardinalidad de una relación puede afectar a la situación de los atributos de la relación. Los atributos de los conjuntos de relaciones uno a uno o uno a varios pueden estar asociados con uno de los conjuntos de entidades participantes, en lugar de con el conjunto de relaciones. Los atributos de un conjunto de relaciones uno varios se pueden colocar sólo en el conjunto de entidades de la parte <<varios>> de la relación. Por otra parte, para los conjuntos de entidades uno a uno, los atributos de la relación se pueden asociar con cualquiera de las entidades participantes.

La elección de la colocación del atributo es más clara para los conjuntos de relaciones varios a varios. Cuando un atributo se determina mediante la combinación de los conjuntos de entidades participantes, en lugar de por cada entidad por separado, ese atributo debe estar asociado con el conjunto de relaciones varios a varios.

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Claves

Publicado por fdonorat en 7 Febrero 2009

Una clave permite identificar un conjunto de atributos sificiente para distinguir las entidades entre sí. También pueden ayudar a identificar unívocamente a las relaciones y así distinguir las relaciones entre sí.

Conjuntos de entidades.

  • Superclave: Conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades.
  • Claves candidatas: Subconjuntos propios de una superclave que no son superclave.
  • Clave primaria: Clave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades.

Conjuntos de relaciones

La estructura de la clave primaria para el conjunto de relaciones depende de la correspondencia de cardinalidades asociada al conjunto de relaciones.

Cuando el conjunto de relaciones es de varios a varios, la clave primaria del conjunto de relaciones consistirá  en la unión de las claves primarias de los dos conjuntos de entidades.

Cuando la realación es de varios a uno, la clave primaria del conjunto de relaciones será la clave primaria del primer conjunto de entidades.

Cuando la relación es de uno a varios, la clave primaria del conjunto de relaciones será simplemente la clave primaria del segundo conjunto de entidades.

Para relaciones uno a uno, se puede usar cualquier clave primaria.

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Restricciones

Publicado por fdonorat en 7 Febrero 2009

Correspondencia de cardinalidades.

Expresa el número de entidades a las que otra entidad puede estar asociada vía un conjunto de relaciones.

Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de cardinalidades debe ser la siguiente:

  • Uno a uno: Una entidad en A se asocia sólo con una entidad en B, y una entidad en  B se asocia sólo con una entidad en A.

correspondencia-uno-uno

  • Uno a varios: Una entidad en A se asocia con cualquier número de entidades en B, pero una entidad en B se puede asociar sólo con una entidad en A.

correspondencia-uno-varios

  • Varios a uno: Una entidad en A se asocia sólo con una entidad en B, pero una entidad en B se puede asociar con cualquier número de entidades en A.

correspondencia-varios-uno

  • Varios a varios: Una entidad en A se asocia con cualquier número de entidades en B, y una entidad en B se asocia con cualquier número de entidades en A.

correspondencia-varios-varios

Restricciones de participación.

  • Participación total: Cada entidad de un conjunto de entidades participa al menos en una relación del conjunto de relaciones.
  • Participación parcial: Sólo algunas entidades del conjunto de entidades participan en relaciones en el conjunto de relaciones.

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Conceptos básicos del modelo entidad-relación

Publicado por fdonorat en 7 Febrero 2009

Entidad: Cosa u objeto en el mundo real que es distinguible de todos los demás objetos.

Conjunto de entidades: Conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos.

Atributos: Propiedades que posee cada miembro de un conjunto de entidades.

Dominio: Conjunto de valores permitidos para cada atributo.

Atributos simples: Atributos que no están divididos en subpartes.

Atributos compuestos: Atributos que sí pueden dividirse en subpartes.

Atributos monovalorados: Atributos que sólo pueden contener un valor para una entidad concreta.

Atributos multivalorados: Atributos que pueden contener un conjunto de valores para una entidad específica.

Atributos derivados: El valor de este tipo de atributos se puede derivar o formar con los valores de otros atributos o entidades relacionados.

Relación: Asociación entre diferentes entidades.

Conjunto de relaciones: Conjunto de relaciones del mimo tipo.

Papel de la entidad: Función que desempeña una entidad.

Conjunto de relaciones recursivo: El mismo conjunto de entidades participa en una relación más de una vez con diferentes papeles.

Conjunto de relaciones binario: Conjunto de relaciones que implica dos conjuntos de entidades.

Conjunto de relaciones ternario: Conjunto de relaciones que implica tres conjuntos de entidades.

Grado del conjunto de relaciones: Número de conjuntos de entidades que participan en un conjunto de relaciones. Un conjunto de relaciones binario tiene grado 2, un conjunto de relaciones ternario tiene grado 3.

Publicado en Modelo Entidad-Relación | Deja un Comentario »

Términos de repaso introductorios a BDs

Publicado por fdonorat en 7 Febrero 2009

Abstracción de datos: Técnica que permite diseñar estructuras de datos que consiste en representar las características esenciales de una estructura de datos, olvidándose de los detalles específicos de implementación de los datos, escondiendo la complejidad a los usuarios para simplificar su interacción con el sistema.

Administrador de Base de Datos (ABD): La persona que tiene el control central sobre el sistema gestor de bases de datos (SGBD), define el esquema, la estructura y método de acceso a la BD, modifica el esquema y controla organización física, pone las autorizaciones para el acceso a los datos y da mantenimiento a la BD.

Concurrencia: Ocurre cuando dos o más usuarios quieren acceder a los mismos datos al mismo tiempo.

Diccionario de datos: Conjunto de metadatos que contiene la características lógicas de los datos que se van a utilizar en el sistema (nombre, descripción, contenido y organización).

Ejemplar de la base de datos: Colección de información almacenada en la BD.

Esquema de la base de datos: Es el diseño completo de la BD (tablas, campos de cada tabla y relaciones entre cada campo y cada tabla).

  • Esquema físico: Diseño físico en el nivel físico.
  • Esquema lógico: Diseño de la BD en el nivel lógico.

Independencia física de los datos: Cuando los programas de aplicación no dependen del esquema físico y, por tanto, no deben ser modificados si cambia el esquema físico.

Lenguajes de BDs

  • Lenguaje de consultas: Lenguae que permite a los usuarios acceder y recuperar información almacenada en la BD.
  • Lenguaje de definición de datos: Especifica un esquema de BD mediante un conjunto de definiciones.
  • Lenguaje de manipulación de datos: Lenguaje para recuperar información almacenada, insertar información nueva, borrar información y modificar información de la BD.

Máquinas cliente y servidor: Las máquinas cliente son donde trabajan los usuarios remotos de la BD; las máquinas servidor son en las que se ejecuta el sistema de BD.

Metadatos: Datos acerca de los datos.

Modelos de datos: Colección de herramientas para describir datos, las relaciones entre ellos, su semántica y sus restricciones.

  • Modelo de datos orientado a objetos: Extensión del modelo entidad-relación con las nociones de encapsulación, métodos (funciones) e identidad de objeto.
  • Modelo de datos relacional: Utiliza un grupo de tablas para representar los datos y las relaciones entre ellos. Basado en registros.
  • Modelo de datos relacional orientado a objetos: Combina el model de datos orientado a objetos y el modelo de datos relacional.
  • Modelo entidad-relación (E-R): Basado en una percepción del mundo real que consta de una colección de objetos básicos llamados entidades, y de relaciones entre objetos.

Programa de aplicación: Programa que se usa para interactuar con la BD.

Sistema gestor de bases de datos (SGBD): Consiste en una colección de datos interrelacionados y una colección de programas para acceder a los datos. Proporciona un entorno conveniente y eficiente para los usuarios que lo usan para la recuperación y almacenamiento de la información.

Sistema de archivos: Estructuran la información guardada en una unidad de almacenamiento de una computadora, que luego será representada textual o gráficamente utilizando un gestor de archivos. Proveen métodos para crear, mover, renombrar y eliminar archivos y directorios.

Transacciones: Colección de operaciones que se lleva a cabo como una única función lógica en una aplicación de BD.

Vistas de datos: Dependiendo del usuario que necesite información de la BD, se le muestran ciertos elementos (vistas), proporcionándoles el sistema sólo una parte de la BD.

Publicado en Introducción, Términos de repaso | Deja un Comentario »

Arquitecturas de aplicaciones

Publicado por fdonorat en 7 Febrero 2009

La mayoría de usuarios de un sistema de bases de datos no están situados actualmente junto al sistema de bases de datos, sino que se conectan a él a través de una red.

En una máquina cliente los usuarios trabajan remotos de la base de datos, en una máquina servidor se ejecuta el sistema de bases de datos.

Las aplicaciones de bases de datos se dividen usualmente en dos o tres partes. En una arquitectura de dos capas, la aplicación se divide en un componente que reside en la máquina cliente, que llama la funcionalidad del sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas.

En cambio, en una arquitectura de tres capas, la máquina cliente actúa simplemente como frontal y se comunica con un servidor de aplicaciones , usualmente mediante una interfaz de formularios. A su vez el servidor de aplicaciones se comunica con el sistema de bases de datos para acceder a los datos.

arquitecturas-de-aplicaciones2

Publicado en Introducción | Deja un Comentario »

Estructura de un sistema de bases de datos

Publicado por fdonorat en 7 Febrero 2009

Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. A grandes rasgos se pueden dividir en los componentes gestor de almacenamiento y procesador de consultas.

Gestor de almacenamiento

Proporciona la interfaz entre los datos de bajo nivel en la base de datos y los programas de aplicación y consultas emitidas al sistema. Es responsable de la interacción con el gestor de archivos para realizar el almacenamiento, recuperación y actualización de los datos en la base de datos.

Entre sus componentes se incluyen:

  • Gestor de autorización e integridad, comprobando que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos.
  • Gestor de transacciones, asegura la consistencia de la base de datos a pesar de los fallos del sistema, y controla las transacciones concurrentes.
  • Gestor de archivos, gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco.
  • Gestor de memoria intermedia, permite que la base de datos maneje tamaños de datos mucho mayores que el tamaño de la memoria principal.

Procesador de consultas

Ayuda al sistema de bases de datos a simplificar y facilitar el acceso a los datos.

Sus componentes incluyen:

  • Intérprete del LDD, interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos.
  • Compilador del LMD, traduce las instrucciones del LMD en un lenguaje de consultas a instrucciones de bajo nivel que entiende el motor de evaluación de consultas. El compilador del LMD también optimiza las consultas.
  • Motor de evaluación de consultas, ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD.

Publicado en Introducción | Deja un Comentario »