Vous êtes sur la page 1sur 14

BASES DE DATOS - NOTAS DE CLASE

Preparadas por:
JOSÉ IGNACIO BOTERO OSORIO
MARGARITA MARÍA HINCAPIÉ VÉLEZ

Asignatura Bases de Datos

POLITÉCNICO COLOMBIANO JAIME ISAZA CADAVID


FACULTAD DE INGENIERÍAS
INGENIERÍA INFORMÁTICA
MEDELLÍN
2007
Notas de Clase BD

POLITECNICO COLOMBIANO
“Jaime Isaza Cadavid”
BASES DE DATOS - NOTAS DE CLASE
Preparadas por José Ignacio Botero O. y Margarita María Hincapié V.

CONCEPTOS BASICOS

Sistema de Bases de Datos: Es un conjunto de archivos interrelacionados y una serie de


programas de aplicación que permiten a varios usuarios tener acceso a estos archivos y
modificarlos. Al conjunto de archivos se conoce comúnmente como la Base de Datos (BD).
Al usuario del sistema se le brindarán recursos para realizar diversas operaciones sobre estos
archivos, tales como:
- Agregar archivos nuevos a la BD.
- Insertar datos nuevos en archivos existentes.
- Obtener datos de archivos existentes.
- Actualizar datos de archivos existentes.
- Borrar datos en archivos existentes.
- Eliminar archivos ya existentes en la BD.

Ejemplo 1.: Considere una institución que dicta cursos de computadores orientados por
instructores. Se guarda información acerca de todos los cursos que se dictan, de los
instructores y de los estudiantes matriculados en los cursos. Los registros referentes a los
cursos, los instructores y los estudiantes, se mantienen en archivos permanentes del sistema.

Pero además de estos archivos, el sistema cuenta con varios programas de aplicaciones que
permiten manejar los archivos; entre ellos tenemos:

- Un programa para hacer ingresos y retiros de estudiantes.


- Un programa para adicionar un nuevo curso.
- Un programa para hallar el promedio de estuantes por curso.
- Un programa para generar listados de estudiantes por curso.

Los programas son elaborados por los programadores del sistema en respuesta a las
necesidades planeadas de la institución. Cada vez que se requiera se agregarán nuevos
programas de aplicaciones y archivos de datos al sistema.

Como vemos, un sistema de BD es un sistema computarizado cuyo propósito general es


mantener información y hacer que esté disponible cuando se solicite.
La información puede ser cualquier cosa que se considere importante para un individuo o para
la Organización a la cual debe servir el sistema.
La siguiente es una representación simplificada de un sistema de BD. Su propósito es mostrar
como se integran los componentes principales de un sistema de BD.: Los datos o información,
el equipo o hardware, los programas o software y los usuarios. (Gráfico 1)

José Ignacio Botero O. 2


Margarita María Hincapié V.
Notas de Clase BD

Usuarios / programadores

Sistema de base de
datos
Programas de aplicación / consultas

Software del Software para procesar


DBMS consultas / programas

Software para tener acceso a


los datos almacenados

Definición de la Base de datos


base de datos almacenada
almacenada
(metadatos)

Gráfico 1 Sistema de base de datos simplificado

José Ignacio Botero O. 3


Margarita María Hincapié V.
Notas de Clase BD

COMPONENTES PRINCIPALES DE UN SISTEMA DE BD

*Los datos o información: Es cualquier ente significativo para la Organización donde el


sistema opera y que le es necesario para los procesos de toma de decisiones inherente a la
administración de dicha Organización. Los datos almacenados en el sistema se pueden dividir
en una o más BD.

En general, la información en la BD., al menos en los sistemas grandes, estará Integrada y


además será Compartida lo cual constituye una ventaja importante de los sistemas de BD.

Integrada significa que la BD puede considerarse como una unificación de varios archivos de
datos y que elimina del todo o en parte cualquier redundancia entre ellos.

La BD del ejemplo anterior podría contener un archivo de Estudiantes con datos de nombre,
dirección, teléfono y también un archivo de Matriculas, que representaría la inscripción de
estudiantes en los cursos que dicta la institución:
Estudiante= (nombre, dirección, telefono,,...)
Matrícula= (nombre, curso, ...)

Si para llevar a cabo el proceso de administración de los cursos es preciso conocer la


información de cada estudiante inscrito, es evidente que no hace falta incluir esa información,
de manera redundante, en el archivo Matrícula, porque siempre podrá obtenerse mediante una
consulta al archivo Estudiantes.

Compartida significa que los elementos individuales de información en la BD pueden


compartirse entre varios usuarios distintos, en el sentido de que todos ellos pueden tener
acceso al mismo elemento de información y al mismo tiempo (acceso concurrente) y diferentes
usuarios pueden utilizarlo para propósitos distintos.

En el ejemplo anterior, los datos de los estudiantes seguramente serán compartidos por los
usuarios de la oficina de contabilidad, los cuales utilizarán la información con diferente
propósito.

*El equipo o hardware: Los componentes de equipo del sistema son: Dispositivos de
almacenamiento secundario donde se conservan los datos almacenados, junto con los
dispositivos de Entrada y Salida asociadas, controladores de dispositivos, canales de entrada
y salida… Además el procesador o procesadores y la memoria principal asociada, que hacen
posible la ejecución de los programas del sistema de BD.

*Los programas o software: Entre la BD física y los usuarios del sistema existe un nivel
(módulo) de software llamado “Sistema de Administración de BD” o DBMS, el cual maneja
todas las solicitudes de acceso a la BD formuladas por los usuarios. El DBMS es el
componente de software más importante de todo el sistema, pero no el único. Entre los demás
pueden mencionarse las rutinas de utilidad, las herramientas para desarrollar aplicaciones, las
ayudas para el diseño, los generadores de informes.

*Los usuarios: Se consideran tres clases amplias de usuarios: programador de aplicaciones,


usuario final y administrador de la BD (DBA).

José Ignacio Botero O. 4


Margarita María Hincapié V.
Notas de Clase BD

- Programador de aplicaciones: Se encarga de escribir los programas de aplicación que utilizan


la BD. Estos programas operan sobre los datos de todas las formas acostumbradas:
. Recuperación de información ya existente.
. Inserción de información nueva.
. Eliminación o modificación de datos.

Estas funciones se llevan a cabo dirigiendo las solicitudes apropiadas al DBMS.

- Usuario final: Es quien interactúa con el sistema desde una terminal en línea. Este puede
tener acceso a la BD a través de una aplicación en línea o puede utilizar una interfaz incluida
como parte integral de los programas del sistema de BD. La mayor parte de los sistemas
incluyen también interfaces integradas adicionales que funcionan mediante la elección de
opciones de un menú o el llenado de formas; esto para facilitar al usuario con pocos
conocimientos en el procesamiento de datos, su labor.

- Administrador de la BD (DBA): Es la persona encargada del control general del sistema de


BD en el nivel técnico. Entre sus funciones está:

. Decidir con exactitud cuál es la información que debe mantenerse en la BD, es decir,
identificar las Entidades y la información que debe registrarse acerca de ellas. Este proceso se
denomina definición del esquema conceptual.

. Decidir cómo se representará la información en la BD almacenada. Este proceso se


denomina definición del esquema interno.

. Vincularse con los usuarios: Debe encargarse de la comunicación con los usuarios y
garantizar la disponibilidad de los datos.

. Definir los controles de seguridad e integridad.

. Definir procedimientos de respaldo y recuperación para que en caso de que sufra daño
cualquier porción de la BD (por causa de un error humano, o un fallo en el equipo o el sistema
operativo que lo apoya) pueda reparar los datos implicados con un mínimo de retraso
afectando lo menos posible al resto del sistema (vaciados periódicos de la BD).

. Supervisar el desempeño y responder a cambios en los requerimientos: Es responsabilidad


del DBA organizar el sistema de modo que se obtenga el desempeño que sea “mejor para la
empresa”, y realizar los ajustes apropiados cuando cambien los requerimientos (nuevo
hardware, intento de compartir datos, mejora en el desempeño, cambios en las estructuras de
almacenamiento, mejoras en las técnicas de almacenamiento).

. Especificación de los limitantes de integridad.

Para facilitar estas tareas al DBA existen unos programas de utilidad o de servicio que hacen
parte de un sistema práctico de BD; algunos de ellos son:

. Rutinas de carga: Para crear la versión inicial de la BD.


. Rutinas de reorganización: Para reacomodar la información de la BD por diversos motivos
(casi siempre relacionados con el desempeño); por ejemplo, para agrupar los datos de cierta
manera, o recuperar espacio ocupado por datos ya obsoletos.
José Ignacio Botero O. 5
Margarita María Hincapié V.
Notas de Clase BD

. Rutinas de descarga / recarga: Para descargar la BD (o parte de ella) en medios de


almacenamiento de respaldo con propósitos de recuperación, y para cargar otra vez los datos
a partir de esas copias de respaldo.

. Rutinas de estadística: Para calcular varias medidas estadísticas del desempeño, como son
tamaños de archivo o distribuciones de valores de los datos, o cuentas de entrada y salida,
etc.

. Rutinas de análisis: Para analizar los datos estadísticos.

. Rutinas de registro de eventos diarios: Que anotan cada operación contra la BD, quienes y el
estado anterior y posterior de la misma.

Uno de los recursos más importantes del DBA es el Diccionario de Datos. Esta es una BD en
sí que contiene datos acerca de los datos, es decir, Metadatos, o sea la descripción de otros
objetos del sistema (datos, programas, archivos, equipos, lenguajes, usuarios...) y las
relaciones que se generan entre estos objetos. Ej.: Cuáles usuarios utilizan qué parte de la
BD.

QUE ES UNA BASE DE DATOS: Una BD está constituida por un conjunto de “datos
persistentes” utilizado por los sistemas de aplicación de una empresa determinada.

Los “datos persistentes” son los que se refieren a la operación de la empresa, y los cuales
sirven de apoyo a la toma de decisiones.

Los datos de una BD difieren de otros tipos de datos más efímeros como son los datos de
entrada y de salida, las proposiciones de control, los resultados intermedios o cualquier
información cuya naturaleza sea hasta cierto punto transitorio.

Los “datos de entrada” se refieren a la información que entra al sistema por primera vez. Esta
información podría dar pié a la modificación de los datos persistentes.
Los “datos de salida” se refiere a mensajes y resultados que proceden del sistema; esta
información podría derivarse de los datos persistentes.

La clasificación de un dato entre persistente o no persistente, está regido por el contexto de su


utilización.

En consecuencia podemos definir que una base de datos es un conjunto de datos que
hacen referencia al mismo asunto, que son persistentes y agrupados en archivos
interrelacionados (Tablas).

Ejemplo 2.: Considere una empresa en particular la cual registra información referente a:
. Los proyectos que está manejando
. Los empleados asignados a esos proyectos
. Los departamentos a los cuales están adscritos los empleados

José Ignacio Botero O. 6


Margarita María Hincapié V.
Notas de Clase BD

Los proyectos, los departamentos y los empleados, constituyen las Entidades Básicas acerca
de las cuales la empresa necesita registrar información en la BD. Es importante destacar, que
además de las entidades básicas, existirán interrelaciones que vinculen a dichas entidades,
las cuales se representan gráficamente mediante líneas o arcos. Por ejemplo, la interrelación
entre los empleados, los departamentos y los proyectos: cada empleado trabaja en un
proyecto y a la vez cada empleado está adscrito a un departamento. Estas interrelaciones
también forman parte de la información como las entidades básicas, por lo tanto deben
representarse en la BD. Las interrelaciones sirven para responder a preguntas tales como:

. Dado un departamento, encontrar los empleados adscritos a él.

. Dado un proyecto, hallar los empleados que trabajan en éste.

. Dado un departamento, cuáles proyectos pertenecen a él. (Gráfico 2)

Empleado Departamento

Proyecto

Gráfico 2
Se puede identificar que la entidad proyectos tiene una interrelación con sigo misma, esto
implica que un proyecto X puede ser parte de otro proyecto Y.
Las entidades y las interrelaciones tienen propiedades. Por ejemplo, los Empleados tienen
Fecha de Nacimiento, los Departamentos tienen Nombre, los proyectos tienen Fecha de Inicio,
por lo tanto tales propiedades deben estar representadas también en la base de datos.
Gráficamente una entidad se puede identificar de la siguiente manera:

EMPLEADO
Identificación PROYECTO DEPARTAMENTO
Nombre Numero del Identificación
Fecha de Proyecto Nombre
Nacimiento Nombre
Teléfono Departamento
Fecha_inicio

VENTAJAS DEL ENFOQUE DE BASES DE DATOS


José Ignacio Botero O. 7
Margarita María Hincapié V.
Notas de Clase BD

Estas ventajas se derivan de un control centralizado de los datos:


- Es posible disminuir la redundancia al máximo: Lo que no ocurre si cada aplicación tiene sus
propios archivos. Existen sin embargo, en ocasiones, motivos para mantener varias copias de
los mismos datos almacenados; ya sean motivos técnicos o del negocio.

- Es posible evitar la inconsistencia: Esto en el caso de no redundancia, pero si hay


redundancia controlada la posibilidad también existe ya que se activarían procesos
automáticos de actualización.

- Es posible compartir los datos: Nuevas aplicaciones pueden utilizar datos ya almacenados.

- Es posible hacer cumplir las normas: Al tener un control centralizado de la BD, el DBA puede
garantizar la observación de todas las normas aplicables para la representación de los datos;
esto como apoyo al intercambio de información, o migración de datos entre sistemas y además
como ayuda para el compartimiento y comprensibilidad de la información.

- Es posible aplicar restricciones de seguridad: Debido a la jurisdicción completa que tiene el


DBA sobre la BD éste puede asegurar que el acceso a la BD sea sólo a través de los canales
apropiados y definir las verificaciones de seguridad que se deben realizar cuando se intente
acceder a información delicada.

- Es posible mantener la integridad: Es decir, que la información de la BD sea correcta.


Esto se logra definiendo y poniendo en práctica procesos de verificación para las operaciones
de actualización de los datos (inserción, modificación o borrado).

- Contar con la independencia de los datos: O sea la inmunidad de las aplicaciones ante los
cambios en la estructura de almacenamiento y en las técnicas de acceso, las cuales pueden
ser modificadas para lograr un desempeño ”óptimo para la empresa”.

ARQUITECTURA PARA SISTEMAS DE BASES DE DATOS:

El objetivo de la arquitectura de tres niveles o esquemas consiste en formar una separación


entre las aplicaciones del usuario y la base de datos física.
La arquitectura de la BD se define en tres niveles de abstracción (niveles en los que puede
observarse la BD):
- Nivel interno o físico
- Nivel conceptual
- Nivel externo o de visión.

Nivel Externo
(Vistas individuales de los
usuarios)
José Ignacio Botero O. 8
Margarita María Hincapié V.
Notas de Clase BD

Nivel Conceptual
(Vista comunitaria de los
usuarios)

Nivel Interno
(Vista del
Almacenamiento)

Gráfico 3

Nivel externo: Es el nivel de abstracción más alto, en el cual se describe solamente una parte
de la BD y tiende a satisfacer las necesidades de los usuarios. El sistema puede proporcionar
muchas vistas diferentes de la misma BD y a éstas se denominan subesquemas. Un archivo
se ve de acuerdo a la tarea específica a realizar.

El nivel externo hace referencia a la forma como el usuario final de la información percibe los
datos. En este nivel los datos pueden estar procesados y presentados de diversas maneras.
Por ejemplo:

EMPLEADO
Identificación Nombre Departamento Sueldo
1020 Valentina Sistemas 1,800,325
1021 Cristina Planeación 2,300,100

Nivel conceptual: Es el nivel intermedio de abstracción en el cual se describe cuáles son los
datos reales que están almacenados en la BD y qué relaciones existen entre los datos.
Muestra el esquema lógico global de la BD en términos de unas cuantas estructuras. Es la
visión organizacional de la BD que se obtiene al integrar todos los requerimientos de los
usuarios.

En el nivel conceptual la información se presenta tal y como es realmente, no como se


presenta en el nivel externo. Por ejemplo, en el cuadro anterior de los Empleados se presenta
información de los empleados y del departamento del que dependen; para el nivel externo es
la forma adecuada de ver la información, pero para el nivel conceptual estaría distribuida en
varios archivos o tablas como EMPLEADOS y DEPARTAMENTOS, esto implica que una
ocurrencia en el nivel externo no siempre es igual en el nivel conceptual como es el caso de
los Empleados y Departamentos.

1.1 EMPLEADOS
Identificación Tipo Tamaño
Cod_emp Char 15
José Ignacio Botero O. 9
Margarita María Hincapié V.
Notas de Clase BD

Nombre Char 50
Sueldo Number 10,3

Nivel físico: Es el nivel más bajo de abstracción, en el que se describe cómo se almacenan
físicamente los datos. Se ocupa de índices, apuntadores, trayectorias de acceso a los datos,
número de bytes, etc. (La información se guarda en árboles B-tree o AVL o Hashing). En el
nivel interno se hace una representación de bajo nivel de toda la base de datos.

1.2 EMPLEA
DOS
Cod_emp Longitud=18, Desplazamiento=0
Nombre Tipo=Byte(6), Desplazamiento=6, Indice=IEMP
Sueldo Tipo Byte(12), Desplazamiento=12

Correspondencia

En la arquitectura de Bases de Datos existen correspondencias entre los diferentes niveles,


una es la correspondencia entre el nivel externo y el conceptual y otra entre el nivel
conceptual y el interno.

La correspondencia conceptual/interna es la que especifica como se representan los registros


y campos conceptualmente en el interno. Si la estructura de almacenamiento en la base de
datos es modificada, es necesario ajustar la correspondencia conceptual/interna existente
entre los niveles.
La correspondencia externa/conceptual se aplica de la misma manera que la correspondencia
interna/conceptual.

El Sistema Administrador de Bases de Datos (DBMS).

El DBMS es el conjunto de programas que maneja todo acceso a la base de datos,


conceptualmente lo que sucede es lo siguiente:

• Un usuario solicita acceso, empleando algún sublenguaje de datos determinado (por


ejemplo el SQL).
• El DBMS interpreta esa solicitud y la analiza.
• El DBMS inspecciona, en orden, el esquema externo de ese usuario, la
correspondencia externa/conceptual asociada, el esquema conceptual, la
correspondencia conceptual/interna, y la identificación de la estructura de
almacenamiento.

LENGUAJES UTILIZADOS EN BASES DE DATOS

Básicamente son dos:


1- El DDL (Lenguaje de definición de datos): Es el lenguaje especial para describir el
esquema conceptual de la BD. Permite la definición de los objetos de la BD. El resultado de su
compilación son tablas que se almacenan en el archivo especial llamado Diccionario de Datos.

José Ignacio Botero O. 10


Margarita María Hincapié V.
Notas de Clase BD

Este archivo se consulta siempre que se va a leer o modificar los datos reales en el sistema de
bases de datos.
La estructura de almacenamiento y los métodos de acceso empleados por el sistema de BD se
especifican por medio de un conjunto de definiciones de otro tipo especial de DDL llamado
“Lenguaje de almacenamiento y definición de datos”.

2- El DML (Lenguaje de manejo de datos): Permite a los usuarios manejar o tener acceso a los
datos. El manejo consiste en:
. Recuperación de información almacenada en la BD.
. Inserción de información nueva.
. Eliminación de información de la BD.
. Modificación de información de la BD.

Una CONSULTA es una proposición que solicita recuperación de información. Esta puede
hacerse de dos maneras:

- Desde un programa de aplicación como por ejemplo Cobol mediante instrucciones


incrustadas en él (lenguaje huésped). Estas solicitudes planeadas son características de
aplicaciones operacionales.

- Por medio de un lenguaje de consulta directamente al DBMS, el cual hace parte del DML y
que tiene además su propia sintaxis. Estas son solicitudes no planeadas, interactivas o propias
de aplicaciones de apoyo a decisiones.

ESTRUCTURA GENERAL DEL SISTEMA DE BASES DE DATOS

Un sistema de BD se divide en módulos que se encargan de cada una de las tareas del
sistema general. Algunas de las funciones del sistema de BD pueden ser realizadas por el
sistema operativo. Entre los componentes funcionales de un sistema de BD, se encuentran:

Manejador de archivos: Encargado de asignar espacio en el disco y de las estructuras de


datos que se van a emplear para representar la información almacenada en el disco.

El manejador de bases de datos (DBMS): Que constituye la interfaz entre los datos de bajo
nivel almacenados en la BD y los programas de aplicaciones y las consultas que se hacen al
sistema.

El procesador de consultas: Que traduce las proposiciones en lenguaje de consulta a


instrucciones de bajo nivel que puede entender el manejador de BD. Además, el procesador
de consultas trata de convertir la solicitud del usuario a una forma equivalente pero más
eficiente, encontrando una estrategia adecuada para ejecutar la consulta (optimizador).

El precompilador de DML: Que convierte las proposiciones en DML incrustadas en un


programa de aplicaciones, en llamadas normales a procedimientos en el lenguaje huésped.
Además, interactúa con el procesador de consultas para generar el código apropiado.

El compilador de DDL: Que convierte las proposiciones en DDL en un conjunto de tablas que
contienen metadatos. Estas tablas se almacenan en el Diccionario de Datos.

José Ignacio Botero O. 11


Margarita María Hincapié V.
Notas de Clase BD

Además se requieren varias estructuras de datos como parte de la implantación del sistema
físico, incluyendo:

- Archivos de datos que almacenan la BD.


- Diccionario de datos: Que guarda la información relativa a la estructura de la BD; es una BD
del sistema, no del usuario.
- Índices: Que permiten el acceso rápido a elementos de información con valores
determinados.

Gráfico 4. Estructura general del sistema de bases de datos

FUNCIONES DEL DBMS

1- Definición de datos: El DBMS debe ser capaz de aceptar definiciones de datos (esquemas
externo, conceptual, interno y todas las correspondencias asociadas).

José Ignacio Botero O. 12


Margarita María Hincapié V.
Notas de Clase BD

2- Manipulación de datos: El DBMS debe ser capaz de atender las solicitudes del usuario para
extraer y actualizar datos en la BD.

3- Seguridad e Integridad de los datos: El DBMS debe supervisar las solicitudes de los
usuarios y rechazar los intentos de violar las medidas de seguridad e integridad definidas por
el DBA.

4- Respaldo y Recuperación: Todo sistema está sujeto a fallas de distinta índole (caída de las
cabezas lectoras de disco, interrupción del suministro de energía, errores de software, etc.). El
DBMS es responsable de detectar estas fallas y restaurar la BD al estado antes de la falla.
Esto se logra iniciando diversos procesos de respaldo y recuperación.

5- Control de concurrencia: El DBMS o en su defecto el componente de software relacionado


con él, el administrador de transacciones, debe controlar la interacción entre usuarios cuando
ellos accedan en forma concurrente la BD para su actualización, ya que es necesario
conservar la consistencia de los datos.

6- Diccionario de datos: El DBMS debe incluir una función de diccionario de datos. Este es una
BD del sistema; su contenido puede considerarse como “datos acerca de los datos”
(metadatos), es decir, se almacenan físicamente todos los diversos esquemas y
correspondencias.

7- Desempeño: El DBMS deberá ejecutar todas estas funciones, en la forma más eficiente
posible.

CONCEPTOS DE ESQUEMA Y ESTADO

Es importante en cualquier modelo de datos diferenciar entre los conceptos de esquema y


estado de la BD.

El esquema se refiere a la definición o descripción de la BD que se elabora durante la etapa


de diseño y se espera que no sufra modificaciones constantes. Generalmente los modelos de
datos representan el esquema a través de diagramas. El diagrama del esquema presenta la
estructura de todos los tipos de registros y algunos aspectos o restricciones del esquema.

A cada uno de los objetos del esquema se le denomina elemento del esquema.

Los datos que contiene la BD en un momento determinado se denomina estado de la BD


(conjunto de ocurrencias o ejemplares). El estado inicial al definirse el esquema de la BD es
vacío. En un estado diferente de vacío, cada elemento del esquema tendrá su propio conjunto
de ocurrencias. Por tanto, cada vez que se inserta, elimina o modifica el valor de un elemento
de información, se cambia el estado de la BD. Para la BD del ejemplo 2 el diagrama del
esquema podría ser:

Empleado
Identificación Nombre Fecha_Nacimiento Telefono

José Ignacio Botero O. 13


Margarita María Hincapié V.
Notas de Clase BD

Proyecto
Numero del proyecto Nombre Departamento Fecha_inicio

Departamento
Identificación Nombre

José Ignacio Botero O. 14


Margarita María Hincapié V.

Vous aimerez peut-être aussi