Bases de Datos

Fundamentos de BDs y algo más…

Archive for 7 de febrero de 2009

Claves

Posted by 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.

Posted in Modelo Entidad-Relación | Leave a Comment »

Restricciones

Posted by 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.

Posted in Modelo Entidad-Relación | Leave a Comment »

Conceptos básicos del modelo entidad-relación

Posted by 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.

Posted in Modelo Entidad-Relación | Leave a Comment »

Términos de repaso introductorios a BDs

Posted by 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.

Posted in Introducción, Términos de repaso | Leave a Comment »

Conceptos de la Gestión de Transacciones

Posted by fdonorat en 7 febrero 2009

Transacción: Colección de información de operaciones que se lleva a cabo como una única función lógica (o proceso)  en una aplicación de bases de datos.

Atomicidad: Para un proceso completo que necesita de varios pasos para ser realizada completamente, todos los pasos deben completarse para dar finalizado el proceso; si ocurre un error en un paso el proceso no podrá ser completado, debiendo proceder a abortar la operación y restaurar al estado correcto anterior de los datos.

Consistencia: Los datos que son repetidos o relacionados y que se encuentran en diferentes archivos  deben coincidir o hacerse coincidir  en cada archivo.

Durabilidad: Los datos deben persistir a pesar de que ocurran fallas en el sistema.

Componente de Gestión de Transacciones: Parte del motor de bases de datos que se encarga de controlar y llevar a cabo las transacciones, cumpliento también con la atomicidad y la consistencia.

Gestor de Control de Concurrencia: Controla la interacción entre las transacciones concurrentes para asegurar la consistencia de la base de datos. Controla el orden de realizar transacciones cuando dos o más usuarios quieren hacerlo al mismo tiempo.

Posted in Introducción | Leave a Comment »

Tipos de Usuarios de la Base de Datos

Posted by fdonorat en 7 febrero 2009

Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema mediante un programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usarios pueden también simplemente leer informes generados de la base de datos.

Programadores de aplicaciones. Son profesionales informáticos que escriben los programas de aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa.

Usuarios sofisticados. Interactúan con el sistema sin programas escritos, usando el lenguaje  de consulta  de base de datos para hacer sus consultas. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, usando ellos las herramientas de procesamiento analítico en línea (OLAP, OnLine Analytical Processing), o herramientas de recopilación de datos.

Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y sistemas expertos,  sistemas que almacenan datos de tipos de datos complejos (como gráficos y de audio) y sistemas de modelado de entorno.

Administradores de la base de datos (ABD). Son las personas que tienen el control central del SGBD. Entre las funciones del ABD se encuentran:

  • Definición del esquema de la base de datos.
  • Definición de la estructura y el método de acceso.
  • Modificación del esquema y la organización física.
  • Concensión de autorización para el acceso a los datos.
  • Mantenimiento rutinario.

Posted in Introducción | 32 Comments »

Arquitecturas de aplicaciones

Posted by 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

Posted in Introducción | Leave a Comment »

Estructura de un sistema de bases de datos

Posted by 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.

Posted in Introducción | Leave a Comment »