12.4.05

¿QUÉ ES UN SISTEMA DE BD?

¿QUÉ ES UN SISTEMA DE BD?

Es un sistema para archivar en computador; o sea, es un sistema computarizado cuyo propósito gral. Es mantener información y hacer que esté disponible cuando se solicite.

DATOS

ARCHIVOS

REGISTROS

CAMPOS

Diferencia entre dato (valores almacenados en la BD) e Información (se refiere al significado de esos valores desde el punto de vista de algún usuario).

REFERENTES A UNA ORGANIZACIÓN, VAMOS DETECTANDO ENTIDADES FISICAS Y ABSTRACTAS (CUENTA BANCARIA) Y ESTÁS SERÁN DE IMPORTANCIA PARA LA ORGANIZACIÓN QUE VAN A SER ALMACENADAS EN UN MEDIO FÍSICO PARA SER USADAS POR DETERMINADAS PERSONAS (INTERES).

4 Componentes de un sistema de BD

SISTEMA DE BD

DATOS O INFORMACIÓN

COMPARTIDOS

INTEGRADOS

HARDWARE O EQUIPOS

SOFTWARE O PROGRAMAS

DBMS

PROGRAMAS DE APLICACIÓN

HERRAMIENTAS

USUARIOS

1- INFORMACIÓN

Varios usuarios pueden tener acceso a la BD al mismo tiempo, el objetivo es lograr que cada individuo pueda comportarse como si estuviera trabajando con un sistema de un solo usuario.

Conviene suponer que todos los datos almacenados en el sistema se mantienen en una sola base de datos. Pero en la practica pueden existir razones de peso, aun en sistemas pequeños, para repartir la información en varias bases de datos distintas.

La información en la base estará integrada y compartida.

· Integrada: la BD puede considerarse como una unificación de varios archivos de datos, por lo demás distintos, y que elimina del todo o en parte cualquier redundancia entre ellos.

· Compartida: más de 1 usuario acceda simultáneamente a los mismos datos (acceso concurrente o no).

Otra consecuencia del mismo hecho (la integración de la base de datos) es que por lo regular un usuario determinado solo se ocupara de un subconjunto de la base de datos total. Diferentes usuarios percibirán la BD de varias maneras distintas. De hecho, aun cuando 2 usuarios compartan el mismo subconjunto de la BD, la forma como vean ese subconjunto puede diferir de manera considerable en los detalles.

2- EQUIPO

Computadoras, almacenamiento, volúmenes en red o únicos en un disco.

Los componentes de equipo del sistema que consisten son:

· Los volúmenes de almacenamiento secundario donde se conservan los datos almacenados junto con los dispositivos E/S asociados, controladores de dispositivos, canales de E/S, y demás.

· El procesador o procesadores y la memoria principal asociada que hacen posible la ejecución de programas del sistema de BD.

3- PROGRAMAS

a) Entre la BD física misma y los usuarios del sistema existe un nivel de programas, el sistema de administración de BD (DBMS). El DBMS maneja todas las solicitudes de acceso a la BD formuladas por los usuarios, tanto como la adición o eliminación de archivos (tablas), la obtención y puesta al día de datos de esos archivos. Una de las funciones generales es distanciar a los usuarios de la BD de detalles al nivel del equipo.

El DBMS presenta a los usuarios una vista de la BD en un nivel tanto por encima del nivel del equipo, y hace posibles sus operaciones, es un componente de software más importante pero no el único (utilerías, generadores de informes, herramientas para desarrollar aplicaciones).

Software compuesto por un conjunto de módulos, interfaces que los usuarios ven a los datos de los medios físicos. Almacenado en: un archivo de datos, archivos índices que permiten el acceso más rápido a los archivos almacenados. Mediante apuntadores acceso directo. Y también un Diccionario de Datos que contiene la información de la estructura de los archivos de datos, tipo de dato lógico, booleano, tamaño...(motor de la BD).

El DBMS es definitivamente el componente de software mas importante de todo el sistema, pero no es el único. entre los demás pueden mencionarse las utilerías, las herramientas para desarrollar aplicaciones, las ayudas para el diseño, los generadores de informes, etc.

b) Programas de aplicación: para que un usuario acceda a los datos.

c) Herramientas: p/ generar informes, formularios, p/ programadores y algunos que sepan un poco más.

4- USUARIOS

Se toman en cuenta tres clases de usuarios (personas que interactúan con el sistema):

· Programador de aplicaciones: Se encarga de escribir los programas de aplicación que utilizan la BD. Estos programas operan sobre los datos en todas las formas acostumbradas: recuperación, inserción, modificación o eliminación de datos. Se lleva a cabo solicitudes apropiadas al DBMS. Genera aplicaciones para que otros usuarios con conocimientos mínimos ingresen.

· Usuario final: Quien interactúa con el sistema desde una terminal en línea, puede tener acceso a la BD a través de una de las aplicaciones en línea mencionadas, o utilizar una interfaz incluida como parte integral de los programas del sistema de BD. (ej. SQL).

ü INGENUO: pantalla y nada más.

ü SOFISTICADO: consultas de datos, conoce un poco más, programas de aplicación.

ü ESPECIALIZADO: herramientas con imágenes...

La mayor parte de los sistemas incluyen también interfaces integradas adicionales con las que el usuario no necesita emitir mandatos explícitos como SELECT, sino que funcionan mediante la elección de opciones de un menú o el llenado de una forma. Estas interfaces suelen ser mas fáciles de usar en el caso de personas sin estudios formales de procesamiento de datos. Las interfaces manejadas mediante mandatos (como los lenguajes de consulta) tienden a requerir ciertos conocimientos sobre procesamientos de datos.

· Administrador de BD (DBA): Persona que centraliza la responsabilidad y control de la BD. Técnico responsable de poner en práctica las decisiones del administrador de datos. Trabaja en interacción con el DA, no es considerado un usuario, es quien diseña el sistema, puesto gerencial, conoce las necesidades del usuario, pero lo implementa el DBA. Es un profesional en procesamientos de datos. Su tarea es crear la base de datos en sí y poner en vigor los controles técnicos necesarios para apoyar las políticas dictadas por el administrador de datos. Se encarga también, de garantizar el funcionamiento adecuado del sistema y de proporcionar otros servicios de índole técnica relacionados.

Ordenes al sistema, GERENTE) sigue la política DA DBA (mantiene el contacto con todos los usuarios, TÉCNICO)

Datos Persistentes

¿QUÉ ES UNA BD?

DATOS PERSISTENTES

Conviene llamar persistente a los datos de una BD. Esto tiene por objetivo sugerir que la información de una BD difiere de otros tipos de datos cuya naturaleza sea hasta cierto punto transitoria.

·Datos de entrada: se refiere a la información que entra al sistema por primera vez. Esta información podría dar pie a una modificación de los datos persistentes (podría convertirse en parte de éstos últimos), pero en principio no forma parte de la BD propiamente dicha.

·Datos de salida: se refiere a mensajes y resultados que emanan del sistema. Ésta información podría derivarse de los datos persistentes, pero no se le considera en sí como parte de la BD.

La distinción de persistente y transitorios no es rígida y nítida, sino que depende del contexto. Si suponemos que tal distinción tiene al menos cierto sentido intuitivo, es posible presentar una definición un tanto mas precisa del termino Base de Datos.

Definición de BD: Una BD está constituida por cierto conjunto de datos persistentes utilizados por los sistemas de aplicaciones de una empresa (cualquier organización) determinada.

El termino “empresa” podría ser una sola persona (con una pequeña BD privada) o una corporación o entidad similar de gran tamaño (como una enorme BD compartida).

Las empresas actuales a menudo mantienen 2 BD distintas, una con datos de operación y otra con datos de apoyo a decisiones. La base de datos de apoyo a las decisiones muchas veces contiene información resumida (totales, promedios), la cual se extrae en forma periódica de la BD operacional.

4.4.05

Estandar SQL ANSI/ ISO

La historia de SQL (que se pronuncia deletreando en inglés las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definición, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estándar industrial de hecho por lo que respecta a las bases de datos relacionales.
En 1986, el
ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transfomó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la actual SQL/92.

El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level o al máximo el Intermediate level), extendiéndolo de manera individual según la propia visión que cada cual tenga del mundo de las bases de datos.

Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como
SQL3. Las características principales de esta nueva encarnación de SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

Fernando A. Mas

31.3.05

Próximos Temas a Tratar

Ventajas de las Bases de Datos:

  1. Es posible reducir la redundancia.
  2. Es posible evitar la inconsistencia hasta cierto punto.
  3. Es posible compartir Datos.
  4. Es posible hacer cumplir las normas.
  5. Es posible aplicar restricciones de seguridad.
  6. Es posible mantener la integridad.
  7. Es posible equilibrar requerimientos opuestos.
Administrador de Bases de Datos:
  1. Definir el esquema conceptual.
  2. Definir el esquema interno.
  3. Vincularse con los usuarios.
  4. Definir verificaciones de seguridad e integridad.
  5. Definir procedimientos de respaldo y recuperación.
  6. Supervisar el desempeño.

Funciones del DBMS:

  1. Definición de Datos.
  2. Manipulación de Datos.
  3. Una solicitud planeada.
  4. Solicitud no planeada.
  5. Seguridad e Integridad de Datos.
  6. Recuperación y Concurrencia de los Datos.
  7. Diccionario de Datos.
  8. Desempeño.

Problema de los Sistemas Distribuidos:

  1. Procesamiento de consultas.
  2. Administración de Catalogo.
  3. Propagación de Actualizaciones.
  4. Control de Recuperación.
  5. Control de concurrencia.

30.3.05

Algebra Relacional

Panorama General del Álgebra Relacional:

Consiste en un conjunto de operadores de alto nivel que operan sobre relaciones. Cada uno de estos operadores tomo una o dos relaciones como entrada y produce una nueva relación de salida.

Codd definió un conjunto muy específico de ocho operadores de este tipo, en dos grupo:

Operaciones Tradicionales:

# Unión: construye una relación formada por todas las tuplas que aparecen en cualquiera de las dos relaciones.

# Intersección: Construye una relación formada por aquellas tuplas que aparezcan en las dos relaciones.

# Diferencia: Construye una relación formada por las tuplas que aparecen en la primera relación que no aparezcan en la segunda de las dos relaciones especificadas.

# Producto Cartesiano: A partir de dos relaciones, construye una relación que contiene todas las combinaciones posibles de tuplas.

Operaciones relacionales especiales:

# Restricción: extrae las tuplas especificadas de una relación dada. Extrae aquellas tuplas que satisfacen la condición.

# Proyección: Extrae los atributos especificados de una relación dada.

# Reunión: A partir de dos relaciones, construye una relación que contiene todas las posibles combinaciones de tuplas , una de cada una de las dos relaciones.

# División: Toma dos relaciones, una binaria y otra unaria, y construye una relación formada por todos los valores de un atributo de la relación binaria que concuerdan con todos los valores de la relación unaria.