Académique Documents
Professionnel Documents
Culture Documents
BASE DE DATOS I
LA IMPORTANCIA DE LA INFORMACIÓN
El gran desarrollo, alcanzado por las organizaciones administrativas demanda una enorme
cantidad de información. Por otro lado, las empresas están obligadas a tomar decisiones cada vez
más precisas y con mayor rapidez. Los responsables de esto, muchas veces cuenta con
información inadecuada para sus fines; generalmente esta resulta redundante, incompleta, poco
clara, demasiado voluminosa o llega tarde para ser de utilidad.
La información es el activo mas valioso de una empresa, de aquí, la importancia que tiene el
mantenerla actualizada, disponible y en buen estado. Para satisfacer la necesidad de sistemas
confiables que puedan coleccionar y manipular la información de una forma adecuada para la
empresa, se requiere de sistemas de cómputo, denominados Sistema de Bases de Datos.
La siguiente figura nos muestra la relación que se establece entre los datos e información a través
de un proceso, conformando un sistema, conocido como sistema de información.
SISTEMA DE INFORMACIÓN
GRAFICAS
SEÑALES
Tarjetas de crédito
Reservación de lugares en avión
Control escolar
Sistema financiero
Control de productos en supermercado
Contabilidad
Nómina
Facturación
Inventarios
Pronóstico de ventas
Control de presupuestos
Programación y control de la producción
Cajeros automáticos
Tal información puede estar relacionada con cualquier cosa que sea significativa para la
organización donde el sistema opera; en otras palabras, cualquier dato necesario para los procesos
de toma de decisiones inherentes a la administración de esa organización. En la siguiente figura
se ejemplifica gráficamente.
ó para un grupo de empresas similares (Instituciones Educativas).
Software que cubre la necesidad de una empresa determinada
Programas Usuarios
de Aplicación Sistema Gestor de Base de Datos Finales
Componentes de un Sistema de BD :
Datos.
Usuarios.
Hardware.
Software.
Datos
Hardware
Software
Usuarios
DATOS
Los datos dentro de una base de datos están integrados y son compartidos:
COMPARTIDOS.- Esto implica que los datos pueden ser accesados concurrentemente
por diferentes usuarios.
HARDWARE
Consiste básicamente de unidades de almacenamiento secundario, principalmente discos duros,
discos compactos, cintas magnéticas etc.
SOFTWARE
Entre la base de datos física y los usuarios existe una capa de Software denominada Sistema
Gestor de Base de Datos (DataBase Management System - DBMS).
Todos los requerimientos de acceso a la base de datos son gestionados por el DBMS.
USUARIOS
En general, exesten 3 tipos de usuarios:
Programador de Aplicaciones.
Se encarga de escribir programas para el manejo de la Base de Datos Usando un lenguaje
de alto nivel.
Usuario Final.
Es el que utiliza un lenguaje de consulta proporcionado como parte integral del sistema
(SQL) o recurrir a un programa de aplicación escrito por un usuario programador que
acepte órdenes desde la terminal y a su vez formule solicitudes al DBMS en nombre del
usuario final.
REPORTE
NOMBRE DIRECCION TEL PROGRAMA SALDO CLIENTE
DE
CUENTA
SALDOS
DE
CHEQUES
PROGRAMA No DE CUENTA
DE
CUENTA CUENTAS DE AHORRO
DE
CHEQUES GLOBAL
BASE DE DATOS
DEFINICION 1.
Una base de datos es una colección de datos relacionados con la finalidad de permitir el manejo
de la información de alguna compañía, la cual tiene las siguientes propiedades implícitas:
Representa algún aspecto del mundo real, llamado minimundo o el Universo de Discurso
(UD). Cambios en el minimundo se reflejan en la base de datos.
Su colección de datos es lógicamente coherente con un significado inherente; esto es, un
conjunto de datos al azar normalmente no constituye una base de datos.
Se diseña, se construye, y se llena con datos para un propósito específico.
DEFINICION 2.
Modelo de parte del universo representado por una colección de datos con las siguientes
propiedades:
Interrelacionados
Capaces de evolucionar
Una serie de características distinguen el enfoque de base de datos del enfoque tradicional de
programación con archivos.
El sistema de Base de Datos contiene no solo a la Base de Datos misma, sino, también una
definición completa de su estructura. La definición se almacena en el Diccionario de Datos del
sistema. Esta información se conoce como metadatos. El Diccionario de Datos es usado por el
DBMS para poder trabajar con cualquier base de datos.
El DBMS proporciona a los usuarios una representación conceptual de los datos sin incluir
muchos de los detalles de cómo éstos son almacenados.
VENTAJAS
DESVENTAJAS
Un sistema de base de datos normalmente es menos eficiente (en tiempo y espacio) que él
mismo sistema con procesamiento de archivos.
El DBMS consume muchos recursos de hardware (Memoria Central o Secundaria).
En bases de datos centralizadas el sistema es más vulnerable a catástrofes físicas.
Un DBMS puede ser de propósito especial para manipular base de datos que tienen un propósito
específico.
Usuarios
No
DBA Permitido
Sistema Operativo
Datos
MODELO RELACIONAL:
ORACLE
DB2
SQL/DS
INGRES
INFORMIX
Rdb/VMS
SYBASE
MODELO JERÁRQUICO:
IMS
MODELOS DE RED:
IDMS
ONTOS
GemStone
ObjectStore
O2
CONTROL DE LA REDUNDANCIA
Cuando se hace el diseño de una base de datos se debe almacenar una sola vez cada dato lógico,
tal como el nombre o fecha de nacimiento de una persona. Esto evita inconsistencias en la
información y ala vez ahorra espacio de almacenamiento. En algunos casos es deseable, o
necesario, tener una redundancia controlada para optimizar tiempos de respuesta en consultas o
porque así lo exige el modelo de datos empleado. El DBMS debe proporcionar este recurso.
RESTRICCIONES DE INTEGRIDAD.
Esta característica se encuentra relacionada con la del punto anterior. Estas restricciones van
desde permitir que a la base sólo ingresen datos correctos, por ejemplo valores en un rango, hasta
forzar que un registro esté relacionado con otros registros de una cierta manera. Normalmente
estas restricciones se derivan del significado o semántica de los datos del minimundo. La mayoría
de las restricciones pueden ser controladas por el DBMS; otras deben controlarse por medio de
módulos especializados programados.
SEGURIDAD
DISPONIBILIDAD DE INFORMACIÓN.
Cuando una actualización a la base de datos es hecha por un usuario, todos los demás usuarios
pueden ver inmediatamente dicha actualización. Esta disponibilidad de información "al día" es
esencial para muchas transacciones, tales como sistemas de reservaciones y bases de datos de
bancos.
Usuarios
No
DBA Permitido
Sistema Operativo
Datos
U S U A R I O S
Usuarios Programadores Usuarios
Ingenuos de Aplicación Sofisticados DBA
(Nómina, Cajero Auto.,etc.) (4GL, Cobol, C, Pascal + SQL) (SQL)
Esquema
Interfaces Programas Consulta de la Base
de de (Query) de Datos
Aplicación Aplicacion
Procesador
Precompilador de Consultas
Compilador
DML Query
DDL
processor)
Gestor
de
Archivos
Archivo
de Diccionario ESTRUCTURA
Datos de
Datos DEL
SISTEMA
Disk Storage
Compilador DDL
Precompilador DML
Procesador de Consultas
Gestor de Base de Datos
Gestor de Archivos
Subsistema de Control de Concurrencia
Subsistema de Seguridad
Subsistema de Respaldo/Recuperación
También se requieren varias estructuras de datos como parte de la implementación del sistema
físico, incluyendo:
COMPILADOR DDL
Procesa las definiciones de los esquemas, especificadas con DDL, y almacena sus descripciones
(metadatos) en el catálogo.
PRECOMPILADOR DML
Analiza y traduce instrucciones del DML. Normalmente genera llamadas al procesador de
consultas para que éste las ejecute.
PROCESADOR DE CONSULTAS
Traduce sentencias en un lenguaje de consultas a instrucciones de bajo nivel que entiende el
gestor de la base de datos.
Controla el acceso a la información almacenada en disco, ya sea, que forme parte de una base de
datos o del catálogo.
GESTOR DE ARCHIVOS
Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas
para representar información almacenada en disco. Usa servicios del sistema operativo para
intercambiar datos entre disco y memoria central.
SUBSISTEMA DE CONTROL DE CONCURRENCIA
SUBSISTEMA DE RESPALDO/RECUPERACIÓN
Permite crear respaldos de las bases de datos en otro dispositivo, ya sea disco o cinta magnética,
para poder recuperar la información, posteriormente, en caso de una falla catastrófica.
ARCHIVOS DE DATOS
Estos almacenan la base de datos.
INDICES
Proporcionan acceso rápido a los elementos de datos que contienen valores determinados.
LENGUAJES E INTERFACES DE UN DBMS
A continuación se describen los diferentes lenguajes que un DBMS proporciona para poder
definir, construir y manipular una base de datos.
En los DBMS's actuales, no es común encontrar separados a estos lenguajes sino reunidos en uno
solo. Tal es el caso de SQL para manejadores relacionales.
Por otro lado, el DML (en particular el de SQL) pueden brindar instrucciones para ser usadas en
forma interactiva, a través de terminal o PC comunicada con la base de datos, o incrustadas en un
lenguaje de programación de propósito general. En este último caso, el lenguaje de programación
se conoce como lenguaje anfitrión (host) y al DML se le llama sublenguaje de datos. Al DML
también se le conoce como lenguaje de consulta (Query Language).
INTERFACES
Son las diferentes interfaces que se pueden encontrar en un ambiente de bases de datos. Algunas
pueden ser proporcionadas por el DBMS; otras, programadas por medio de un lenguaje de 3a. o
4a. generación.
BASADAS EN MENÚS
Presentan al usuario listas de opciones que lo van guiando a través del sistema. Los menús
pueden presentarse por medio de caracteres exclusivamente, o por medio de un ambiente de
ventanas.
GRÁFICAS
Típicamente despliegan al usuario un diagrama el cual éste ca llenando con información.
Normalmente están combinadas con menús basados en ventanas.
BASADAS EN FORMAS
Presenta una forma al usuario para que éste edite datos; esto es, para que inserte o modifique
datos.
DE LENGUAJE NATURAL.
las cuales aceptan solicitudes escritas en lenguaje natural (normalmente, inglés). No son comunes
y se puede decir que aún están en desarrollo.
PARA EL DBA
Que normalmente contienen instrucciones privilegiadas para ser usadas exclusivamente por el
DBA.
APLICACIONES
Una aplicación para una base de datos consiste de formas, consultas, reportes, menús y módulos
especializados. El programa se elabora utilizando un lenguaje de programación y a través de una
interfaz se comunica con el DMBS para tener acceso a la base de datos. El lenguaje puede ser un:
También se pueden usar lenguajes orientados a objetos (C++, SmallTalk, etc.) para crear
programas de aplicación, aunque en general éstos se asocian más a bases de datos OO que a bases
en otro paradigma.
En esta parte se describirá una arquitectura de base de datos, llamada arquitectura de los tres
esquemas, cuyo propósito es, sobre todo, permitir el aislamiento entre datos y programas y
múltiples vistas de los datos.
En esta arquitectura, los esquemas pueden ser definidos en tres niveles (ver figura siguiente).
Vista-Individual
de
usuario
Vista-Comunidad
de
usuarios
El DBA es el responsable
de que el mapeo entre los
tres niveles se realice
correctamente.
Almacenamiento
EL NIVEL INTERNO
Tiene un esquema interno, el cual describe la estructura de almacenamiento físico de la base de
datos. El esquema interno usa un modelo de datos físicos y describe los detalles completos del
almacenamiento de los datos y los caminos de acceso para la base de datos.
EL NIVEL CONCEPTUAL
Tiene un esquema conceptual, el cual describe la estructura de la base de datos completa para una
comunidad de usuarios. El esquema conceptual oculta los detalles de almacenamiento físico y se
concentra en describir entidades (datos), tipos de datos, vínculos, operaciones del usuario y
restricciones. Se puede usar un modelo de datos conceptual o uno de implementación en este
nivel.
Hay que notar que los tres esquemas son sólo descripciones de datos; los únicos datos que
actualmente existen, están en el nivel físico (base de datos almacenada).
También hay que observar que se deben efectuar transformaciones entre los diferentes esquemas
para poder atender las solicitudes/resultados que se envían entre los diversos niveles. Dado que
este proceso puede consumir tiempo, no todos los DBMS se ajustan totalmente a esta
arquitectura, aunque varios de ellos si la observan, hasta cierto punto.
La arquitectura de los tres esquemas puede ser usada para explicar el concepto de independencia
de datos, el cual puede ser definido como la capacidad para cambiar el esquema en un nivel de la
base de datos, sin tener que cambiar el esquema en el siguiente nivel superior. Se pueden definir
dos tipos de independencia de datos:
INSTACIAS Y ESQUEMAS
La descripción de la base de datos se conoce como Esquema de la Base de Datos. Este esquema
se especifica durante el diseño de la base de datos y se espera que no cambie con frecuencia. Un
esquema dibujado se conoce como diagrama del esquema, cada unidad en el esquema es un
elemento del esquema.
Ejemplo de esquema:
PROFESOR
Profe-Clave Profe-Nombre Profe-Categoria Depto-Clave
ALUMNO
Alumn-Contrl Alumn-Nomb Alumn-Carrera Alumn-Prom
CURSA
Alumn-Cntrl Curso-Clave Curso-Calif
CURSO
Curso-Clave Curso-Nomb Credit-Curso Profe-Clave
DEPARTAMENTO
Depto-Clave Depto-Nomb Jefe-Nomb
Un diagrama de esquema muestra sólo algunos aspectos del esquema, tal como el nombre de los
elementos y de los campos de datos; pero no muestra otros, como el tipo de los datos, los
vínculos entre ellos o restricciones sobre los mismos.
Los datos actuales en una base de datos puede cambiar frecuentemente. Al conjunto de datos que
está en la base de datos en un momento particular del tiempo se le conoce como estado de la base
de datos (o conjunto de ocurrencia o Instancia). En un estado dado, cada elemento del esquema
tiene su propio conjunto actual de instancias.
Ejemplo:
CURSO
Curso-Clave Curso-Nomb Credit-Curso Profe-Clave
300 Programación I 9 PC11
310 Base de datos 9 PC11
605 Economía V 8 PE15
Cada que se actualiza la base de datos (Inserción, Modificación o Eliminación de datos), ésta
cambia de un estado a otro.
Cuando se define una nueva base de datos, sólo se especifica su esquema al DBMS: Su estado
inicial es el "ESTADO VACÍO". Cuando se cargan los primeros datos, éstos definen el
"ESTADO INICIAL" de la base de datos. Después, cada actualización hace que la base de
datos pase de un estado a otro.
En cualquier momento, un estado de la base de datos debe ser válido, esto es, el estado debe
satisfacer tanto la estructura como las restricciones especificas para la base de datos.
MODELOS DE DATOS
Una característica fundamental del enfoque de base de datos es que proporciona varios niveles de
abstracción de los datos, ocultando detalles de su almacenamiento que no son necesarios para la
mayor parte de los usuarios de una base de datos. El modelo de datos es la herramienta principal
usada para proporcionar esta abstracción.
El modelado de datos es un conjunto de conceptos usado para la estructura de una base de datos
(el término estructura se refiere a la conjunción de tipos de datos, vínculos y restricciones que
deben observarse para los datos).
Muchos modelos de datos han sido propuestos. Se pueden definir tres categorías según el tipo de
conceptos que proporcionan:
DE REPRESENTACIÓN (O DE IMPLEMENTACIÓN)
Proporcionan conceptos que pueden ser entendidos por usuarios finales pero que no están
demasiado lejos del mundo en los datos están organizados dentro de la computadora. Estos
modelos son los usados en la mayoría de los DBMS comerciales: de redes, jerárquico, relacional
y de objetos.
Entidad-Relación
Modelo Relacional.
Modelo Jerárquico.
Modelo Red.
Rutinas de carga
Rutinas de reorganización
Rutinas de registro de eventos diarios
Rutinas de recuperación
Rutinas de análisis estadístico
Son los responsables de identificar los datos a ser almacenados en una base de datos y de escoger
las estructuras apropiadas para representar y almacenar estos datos. Normalmente definen las
vistas de los diversos grupos de usuarios para al final integrar una base de datos con todas ellas.
USUARIOS FINALES
Son las personas que tiene acceso a la base de datos para hacer consultas y actualizaciones y
generar reportes. El rango es amplio y puede ir desde usuarios simples (capturistas) hasta
usuarios expertos (analistas).
En esta sección se describen a grandes rasgos las fases usuales seguidas durante el desarrollo de
una base de datos. En conjunción se comentan las actividades que normalmente se realizan para
el desarrollo de programas de aplicación asociados, bajo la perspectiva del análisis y diseño
estructurado.
DISEÑO
DISEÑODE
DELA
LABASE
BASEDE
DEDATOS
DATOS
MINIMUNDO
MINIMUNDO
RECOLECCIÓN
Y REQUERIMIENTOS FUNCIONALES
ANÁLISIS ANÁLISIS FUNCIONAL
DE REQUERIMIENTOS
REQUERIMIENTOS DE
LA BASE DE DATOS
ESPECIFICACIÓN DE
TRANSACCIONES ALTO
NIVEL ESQUEMA LÓGICO
EN EL MODELO DE DATOS DE
DISEÑO UN DBMS ESPECÍFICO
LOGICO RELACIONAL
RED
JERÁRQUICO
Diseño de los programas
de aplicación
DISEÑO
ESPECIFICO
(FÍSICO)
El diagrama anterior muestra las etapas del desarrollo, enmarcadas con rectángulo, y los
productos que se obtienen en cada etapa, sin enmarcar.
Después que el esquema conceptual ha sido elaborado, por medio de las operaciones básicas del
modelo de datos, se deben especificar las transacciones de alto nivel correspondientes a las
operaciones del usuario identificadas durante el análisis funcional. Esto también sirve para
confirmar que el esquema conceptual satisface todos los requerimientos funcionales.
En paralelo con estas actividades, los programas de aplicación son diseñados e implementados
como transacciones de la base de datos correspondientes a las especificaciones de las
transacciones de alto nivel.
En esta sección se describen tres ejemplos de bases de datos que muestran el espectro de
aplicaciones en las que éstas se pueden usar, así como las características importantes de cada tipo
de base de datos.
Es una micro-empresa, compuesta por dos personas de tiempo completo y algunos trabajadores
eventuales, que se dedica a pintar casa. Es una micro-empresa que ya tiene varios años en el
mercado, con una buena reputación, que consigue la mayor parte de sus trabajos por
recomendaciones de clientes y, ocasionalmente, por contratistas.
Cuentan con una cartera de varias decenas de clientes u emplean una pequeña base de datos
personal para guardar la información importante acerca de trabajos realizados anteriormente. Esto
con el fin de poder obtener datos relevantes cuando se va a efectuar un nuevo trabajo, ya sea para
un cliente nuevo.
La base de datos personal, en general, no es grande, contienen pocas tablas y almacenan poca
información.
La base de datos contiene información sobre modelos en ventas, clientes, ventas realizadas, etc.
Esta base de datos es compartida por el personal de la agencia y está localizada en una red de área
local formada por:
La base de datos requerida para gestionar la información de esta aplicación es más complicada
que la micro-empresa que pinta casas. Un ejemplo de las tablas que podría contener es el
siguiente:
Obviamente, la información almacenada en esta base de datos es mucho mayor que en el primer
caso. Además, esta base de datos es multiusuario.
Este es un ejemplo de un sistema de base de datos de mucha mayor complejidad que los dos
anteriores. EL sistema debe poder:
Almacenar los datos generales de los clientes y de las cuentas que poseen,
Registrar las transacciones que se realizan y el lugar en que se efectúan,
Generar estados de cuenta,
Llevar a cabo consolidaciones, etc.
Además, el sistema debe permitir acceso multiusuario ya que las diversas transacciones se
pueden efectuar:
Los ejemplos anteriores, representa una muestra de los usos de la tecnología de las bases de
datos. Cientos de miles de ellas son como la usada por la micro-empresa que pinta casas: bases de
datos monousuario, con una cantidad relativamente pequeña de datos. Las formas y reportes que
generan normalmente son simples y directos. Otras son como la usada por la agencia de autos;
tienen más de un usuario pero generalmente menos de veinte o treinta en total. Contienen una
cantidad moderada de datos y las formas y reportes deben ser de cierta complejidad para
satisfacer funciones de la organización.
Las bases de datos más grandes son como la del sistema bancario que tiene cientos de usuarios y
varios gigabytes de datos. En general, muchas aplicaciones las usan, teniendo cada una sus
propias formas y reportes.
En la siguiente tabla se resumen las características importantes de cada una de estas clases de
bases de datos:
NO. CANTIDAD
CLASE EJEMPLO TÍPICO DE TAMAÑO TÍPICO TÍPICA DE
USUARIOS TABLAS
Personal Micro-Empresa Pintora 1 < 10 megabytes < 10
Grupo Agencia de Autos < 25 < 100 megabytes < 25
Organización Sistema Bancario Cientos Varios Gigabytes > 30
Bibliografia Básica:
Korth, Henry F.
Abraham silverschatz.
Fundamentos de Bases de Datos. 2a. 1993.
Ed. Mc Graw-Hill.
Jeffrey D. Ullman
Principles of Databases and Knowledge Base
Systems.
Computer Science Press, 1992.
Date.
Introducción a Sistemas de Bases de Datos
5a. Ed. Addison-wesley 1993.
A. F. Cárdenas, D. McLeod
Research Fundations and Semantic Database
Systems.
Prentice-Hall 1992.