Vous êtes sur la page 1sur 33

BASE DE DATOS I

BASE DE DATOS I

Los Sistemas de Bases de Datos

M.C. Daniel Benito Román Ocampo


2
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.

Un Sistema es un conjunto de elementos y procedimientos relacionados, que tienen como


propósito el logro de determinados objetivos. Así, un Sistema de Información es el conjunto de
elementos y procedimientos íntimamente relacionados que tienen como propósito gestionar datos
y elaborar reportes que permitan tomar decisiones adecuadas para el logro de los objetivos de una
organización.

Es importante aclarar la diferencia entre Información y Datos. La diferencia básica consiste en


que los datos son necesarios o significativos como tales hasta que son procesados y convertidos a
una forma útil llamada información.

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.

INSUMOS Transformación de INSUMOS PRODUCTO

DATOS PROCESO INFORMACIÓN

M.C. Daniel Benito Román Ocampo


3
BASE DE DATOS I

SISTEMA DE INFORMACIÓN

DATOS PROCESAMIENTO INFORMACIÓN


REPORTES

GRAFICAS

SEÑALES

EJEMPLOS DE SISTEMAS DE INFORMACIÓN

 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

M.C. Daniel Benito Román Ocampo


4
BASE DE DATOS I

Sistema de Base de Datos

Un sistema de base de datos, no es más que un sistema de mantenimiento de registros basado en


computadora, es decir, un sistema cuyo propósito general es registrar y mantener información.

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

Representación simplificada de un Sistema de Base de Datos

Programas Usuarios
de Aplicación Sistema Gestor de Base de Datos Finales

Componentes de un Sistema de BD :
 Datos.
 Usuarios.
 Hardware.
 Software.

Componentes de un Sistema de Base de Datos:

 Datos
 Hardware
 Software
 Usuarios

M.C. Daniel Benito Román Ocampo


5
BASE DE DATOS I

DATOS
Los datos dentro de una base de datos están integrados y son compartidos:

 INTEGRADOS.- Puesto que la base de datos es la unificación de varios archivos con


redundancia parcial o totalmente eliminada.

 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.

 Administrador de la Base de Datos (DBA).


Es el responsable de definir políticas de acceso a la Base de Datos.

M.C. Daniel Benito Román Ocampo


6
BASE DE DATOS I

SISTEMA DE PROCESAMIENTO DE ARCHIVOS

El enfoque tradicional de programación con archivos, se apoya directamente del sistema


operativo convencional. Los registros permanentes se almacenan en varios archivos, y se escribe
un número de diferentes programas de aplicación para extraer registros de y añadir registros a
archivos apropiados. Este sistema tiene un número de desventajas importantes:

 Redundancia e Inconsistencia de los datos.


 Dificultad para tener acceso a los datos.
 Aislamiento de los datos.
 Anomalías del acceso concurrente.
 Problemas de seguridad.
 Problemas de integridad.

REPORTE
NOMBRE DIRECCION TEL PROGRAMA SALDO CLIENTE
DE
CUENTA
SALDOS
DE
CHEQUES

PROGRAMA CARGO o ABONO


NOMBRE DIRECCION TEL
DE
CUENTA CARGOS Y ABONOS
DE
AHORROS

PROGRAMA No DE CUENTA
DE
CUENTA CUENTAS DE AHORRO
DE
CHEQUES GLOBAL

SISTEMA DE PROCESAMIENTO DE ARCHIVOS

M.C. Daniel Benito Román Ocampo


7
BASE DE DATOS I

BASE DE DATOS

A continuación se dan algunas definiciones para su análisis:

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.

 Está sujeta a un conjunto de restricciones para garantizar la integridad de la información.

DEFINICION 2.

Modelo de parte del universo representado por una colección de datos con las siguientes
propiedades:

 Interrelacionados

 Capaces de evolucionar

 Accesibles a múltiples aplicaciones

 Redundancia mínima y controlada

COMPARACIÓN ENTRE EL ENFOQUE TRADICIONAL Y EL ENFOQUE


DE BASES DE DATOS

Una serie de características distinguen el enfoque de base de datos del enfoque tradicional de
programación con archivos.

En el procesamiento de archivos tradicional, cada usuario define e implementa los archivos


necesarios para una aplicación específica. En este enfoque normalmente existe mucha
redundancia en la información y cambios en el minimundo son difíciles de implementar en la
aplicación.

M.C. Daniel Benito Román Ocampo


8
BASE DE DATOS I

En el enfoque de base de datos, en un solo diccionario de datos se mantienen las estructuras de


las diversas bases de datos requeridas por los usuarios; éste se define una sola vez y después es
usado por diversas aplicaciones. Normalmente la redundancia es menor y los cambios son más
fáciles de hacer.

NATURALEZA AUTO-DESCRIPTIVA DE UN SISTEMA DE BASE DE DATOS

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.

En un sistema de procesamiento de archivos la definición de los datos típicamente es parte de los


programas de aplicación mismos. De esta manera, estos programas están restringidos a trabajar
con una base de datos específica: la declarada en ellos. Cambios en el Universo de Discurso son
difíciles de reflejar en la base de Datos.

AISLAMIENTO ENTRE DATOS Y PROGRAMAS.


En el procesamiento de archivos, la estructura de los archivos de datos está incrustada en los
programas que los usan, así cualquier cambio en la estructura de un archivo puede requerir
cambiar todos los programas que tienen acceso a él. Por el contrario, los módulos del DBMS
son independientes de cualesquier archivo específico, ya que la estructura de éstos está
almacenada en el Diccionario de Datos del DBMS. Esta propiedad se conoce como
independencia entre programas y 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.

SOPORTE DE MÚLTIPLES VISTAS DE LOS DATOS


Una base de datos normalmente tiene varios usuarios, cada uno de los cuales puede requerir
diferentes perspectivas o vistas de la base de datos. Una vista puede ser un subconjunto de la base
de datos.

COMPORTAMIENTO DE DATOS Y PROCESAMIENTO DE TRANSACCIONES


MULTIUSUARIO
El DBMS debe incluir software para control de la concurrencia a fin de asegurar que varios
usuarios que tratan de actualizar los mismos datos, lo hagan en una forma controlada de tal
manera que los resultados sean correctos. A este tipo de procesamiento se le conoce como de
transacciones multiusuario.

M.C. Daniel Benito Román Ocampo


9
BASE DE DATOS I

BASES DE DATOS VENTAJAS/DESVENTAJAS

VENTAJAS

 Al minimizar la redundancia, disminuye el margen de error.

 Independencia entre Datos y Hardware.


 Independencia entre Datos y Programas de Aplicación.
 Los datos pueden compartirse (concurrencia).
 Disminución del tiempo de programación.
 Se pueden agregar Aplicaciones nuevas más fácilmente.
 Mecanismos de seguridad superiores a los convencionales.
 Es más fácil recuperar información cuando ocurre una falla.

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.

M.C. Daniel Benito Román Ocampo


10
BASE DE DATOS I

SISTEMA GESTOR DE BASE DE DATOS


Un Sistema Gestor de Bases de Datos (DataBase Management System - DBMS) es una colección
de programas que permite a usuarios crear y mantener bases de datos.

Es un software de propósito general que facilita los procesos de:

 DEFINICIÓN .- Especificación de estructuras, tipos de datos y restricciones.

 CONSTRUCCIÓN .- Almacenamiento de los datos en algún medio.

 MANIPULACIÓN .- Consulta y Actualización de la base de datos para diversas


aplicaciones.

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

SISTEMA GESTOR DE BASE DE DATOS

M.C. Daniel Benito Román Ocampo


11
BASE DE DATOS I

ALGUNOS PRODUCTOS DBMS COMERCIALES:

 MODELO RELACIONAL:

 ORACLE
 DB2
 SQL/DS
 INGRES
 INFORMIX
 Rdb/VMS
 SYBASE

 MODELO JERÁRQUICO:

 IMS

 MODELOS DE RED:

 IDMS

 MODELO ORIENTADO A OBJETOS:

 ONTOS
 GemStone
 ObjectStore
 O2

M.C. Daniel Benito Román Ocampo


12
BASE DE DATOS I

CAPACIDADES DESEABLES EN UN DBMS

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

Normalmente el DBMS debe proporcionar un subsistema de seguridad y autorización que el


DBA utiliza para asignar cuentas y privilegios (restricciones) a los usuarios de una base de datos.
Con este subsistema se puede definir el tipo de operaciones que un usuario puede efectuar y a que
partes de la base puede tener acceso. EL uso de vistas es otra forma de controlar el acceso.

MÚLTIPLES INTERFACES DE USUARIO.


Debido a los diversos tipos de usuarios que usan una base de datos, el DBMS debe proporcionar
una variedad de interfaces para los mismos. Estas pueden incluir: lenguajes de consultas;
lenguajes de programación, con capacidades gráficas inclusive; interfaces basadas en menús e
interfaces de lenguaje natural.

REPRESENTACIÓN DE VÍNCULOS COMPLEJOS ENTRE DATOS.


EL DBMS debe tener capacidad de representar una gran variedad de vínculos complejos entre los
datos, así como poder recuperarlos y actualizarlos fácil y eficientemente.

M.C. Daniel Benito Román Ocampo


13
BASE DE DATOS I

RESPALDO (BACKUP) Y RECUPERACIÓN (RECOVER).


El DBMS debe tener los recursos para recuperar de fallas de hardware y software. El subsistema
de respaldo y recuperación es el responsable por esta tarea. Por ejemplo, si el sistema falla a
mitad de una transacción, el DBMS debe poder restaurar la base de datos hasta el estado previo
que tenía antes de la falla, y así asegurar que su contenido es válido.

IMPLICACIONES DEL ENFOQUE DE BASES DE DATOS


La utilización de bases de datos en las organizaciones presenta varias implicaciones las cuales
pueden beneficiar a las funciones computacionales de las misma.

POTENCIAL PARA ESTABLECER ESTÁNDARES.


En una organización grande el enfoque de bases de datos permite al DBA establecer estándares
entre los usuarios de las mismas. Esto facilita la comunicación y la cooperación entre los
departamentos, proyectos y usuarios dentro de la organización. Los estándares pueden ser
definidos para los nombres y formatos de los datos, formatos de despliegue, estructuras de
reportes, terminología, etc.

REDUCCIÓN DEL TIEMPO DE DESARROLLO DE APLICACIONES.


Una característica principal de las bases de datos es que el desarrollo de una nueva aplicación
toma poco tiempo. EL diseñar e implementar una nueva base de datos a partir de cero puede
llevar mucho más tiempo que escribir una sola aplicación usando las facilidades del DBMS. Se
estima un ahorro de un sexto a un cuarto de tiempo con respecto a sistemas de archivos
especializados.

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.

La siguiente figura muestra la posición que guarda el DBMS en un sistema de procesamiento de


datos, así como también las restricciones que se deben tener para los usuarios.

M.C. Daniel Benito Román Ocampo


14
BASE DE DATOS I

Usuarios

No
DBA Permitido

Sistema Operativo

Datos

SISTEMA GESTOR DE BASE DE DATOS.

M.C. Daniel Benito Román Ocampo


15
BASE DE DATOS I

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)

Código Objeto Gestor


de los programas de
de aplicacion Base de Datos DBMS

Gestor
de
Archivos

Archivo
de Diccionario ESTRUCTURA
Datos de
Datos DEL
SISTEMA
Disk Storage

M.C. Daniel Benito Román Ocampo


16
BASE DE DATOS I

COMPONENTES DE UN DBMS (Estructura del Sistema)

Un DBMS es un sistema de software extenso y complejo. A continuación se describen


brevemente las partes de un DBMS.

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:

Catálogo del Sistema


Archivos de Datos
Indices

M.C. Daniel Benito Román Ocampo


17
BASE DE DATOS I

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.

Recibe operaciones de recuperación y de actualización y las ejecuta sobre la base de datos

GESTOR DE BASE DE DATOS


Proporciona la interfaz entre los datos de bajo nivel almacenados en la base de datos y los
programas de aplicación, así como también las consultas que se hacen al sistema.

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

Controla el acceso simultáneo a una base de datos realizado por


varios usuarios.
SUBSISTEMA DE SEGURIDAD
Restringe el acceso a la base de datos, tanto a usuarios no autorizados como a partes de ésta que
sólo determinado grupo de usuarios puede usar.

M.C. Daniel Benito Román Ocampo


18
BASE DE DATOS I

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.

CATÁLOGO DEL SISTEMA ( DICCIONARIO DE DATOS )


Es una mini-base de datos almacenada en disco que puede estar separada físicamente o no de las
bases de datos controladas por el DBMS. Contiene información como nombres de archivos,
campos de datos, tipos de datos, detalles de almacenamiento, información de transformación
entre esquemas y restricciones. En su lugar puede usarse un diccionario de datos.

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.

LENGUAJE DE DEFINICIÓN DE DATOS ( DDL )


Es usado por el DBA y los diseñadores de bases de datos para definir el esquema conceptual,
Esta definición se compila y se guarda en el catálogo del DBMS.

LENGUAJE DE DEFINICIÓN DEL ALMACENAMIENTO ( SDL )


Es usado para especificar el esquema interno. No es común encontrarlo en los DBMS, salvo en
los de gran complejidad. Las transformaciones entre los esquemas interno y conceptual se pueden
especificar en este lenguaje o en el anterior.

LENGUAJE DE DEFINICIÓN DE VISTAS ( VDL )


Especifica vistas de usuarios y sus transformaciones hacia el esquema conceptual. En un DBMS
que no observa estrictamente la arquitectura de los tres esquemas, el DDL es usado con
frecuencia para definir estas vistas.

M.C. Daniel Benito Román Ocampo


19
BASE DE DATOS I

LENGUAJE DE MANIPULACIÓN DE DATOS (DML)


Permite manipular los datos de la base, lo cual incluye recuperar, insertar, eliminar y modificar
los 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.

M.C. Daniel Benito Román Ocampo


20
BASE DE DATOS I

 PARA USUARIOS PARAMÉTRICOS


Que se emplean para presentar al usuario un conjunto reducido de operaciones, muchas de ellas
asignadas a teclas del teclado. Están destinadas a usuarios que efectúan operaciones
repetitivas, como los cajeros de bancos.

 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:

 LENGUAJE DE 3a. GENERACIÓN:


Son lenguajes de tipo algorítmico, basados en procedimientos, en los cuales se insertan llamadas
a instrucciones del DBMS para realizar procesos con la base de datos. Ejemplo de estos
lenguajes son: C, Pascal, Cobol, Basic, etc. Actualmente no es común usarlos, ya que es
engorroso crear las aplicaciones y darles mantenimiento, salvo en aquellos casos en los que se
requiere una gran eficiencia, en tiempos de respuesta sobre todo.

 LENGUAJES DE CUARTA GENERACIÓN.


Un lenguaje de 4a. generación (4GL) es un lenguaje de programación con un conjunto
poderoso de instrucciones el cual permite crear aplicaciones que manipulan bases de datos.
Actualmente estos lenguajes incluyen elementos para manejar en forma gráfica la información
de una base de datos (Visual Basic es un ejemplo). Con un 4GL se pueden definir
aplicaciones constituidas por formas, reportes, menús, etc., que utilicen el contenido de una
base de datos a fin de satisfacer las necesidades de usuarios de la misma, como ejemplo
tenemos a Informix-4GL.

A la conjunción de base de datos con el software que la manipula le llamaremos Sistema o


Aplicación de Base de Datos.

M.C. Daniel Benito Román Ocampo


21
BASE DE DATOS I

 LENGUAJE ASOCIADO AL DBMS


Normalmente son lenguajes de 4a. generación de caracteres o ventanas, que son vendidos por
la misma empresa propietaria del DBMS. Son bastante versátiles y la comunicación con el
DBMS es casi directa. Tienen como desventaja el que son especializados para un DBMS
particular.

 LENGUAJE DE 4a. GENERACIÓN DE TERCEROS


son lenguajes basados en ventanas, en su gran mayoría, producidos empresas terceras y que no
están ligados a DBMS's particulares. Son bastante poderosos y requieren siempre de una
interfaz (ODBC) para comunicarse con algún DBMS particular. Como ejemplo: están Visual
Basic, Power Builder, Delphi, etc. La interfaz y las ventanas pueden ocasionar tiempos de
respuesta un poco lentos.

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.

M.C. Daniel Benito Román Ocampo


22
BASE DE DATOS I

ARQUITECTURA DE UNA BASE DE DATOS

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).

ARQUITECTURA DE UNA BASE DE DATOS


( PROPUESTA POR ANSI/SPARC )

La arquitectura de tres niveles proporciona un marco de trabajo para


describir conceptos de Estructuras y Bases de Datos.

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

M.C. Daniel Benito Román Ocampo


23
BASE DE DATOS I

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.

EL NIVEL EXTERNO O DE VISTAS


Comprende un conjunto de esquemas externos o vistas de usuario. Cada esquema externo
describe la parte de la base de datos que utiliza un grupo particular de usuarios y oculta el resto
de la base de datos. Se puede usar en este nivel un modelo de datos similar al punto anterior.

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.

INDEPENDENCIA DE LOS DATOS

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:

INDEPENDENCIA LÓGICA DE DATOS


Es la capacidad de cambiar el esquema conceptual sin tener que cambiar los esquemas externos o
programas de aplicación. Cuando esto sucede, sólo las definiciones de las vistas y sus
transformaciones correspondientes deben ser cambiadas en un DBMS que soporta este concepto.
Cambios a las restricciones en el nivel conceptual tampoco deben afectar al nivel externo.

M.C. Daniel Benito Román Ocampo


24
BASE DE DATOS I

INDEPENDENCIA FÍSICA DE DATOS


Es la capacidad para cambiar el esquema interno sin tener que cambiar el esquema conceptual o
los esquemas externos. Debido a que la independencia física se refiere solamente al aislamiento
de una aplicación de las estructuras físicas de almacenamiento, es más fácil lograrla que la
independencia lógica.

INSTACIAS Y ESQUEMAS

En cualquier modelo de datos es importante distinguir entre la descripción de la base de datos y la


base de datos en sí misma.

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

M.C. Daniel Benito Román Ocampo


25
BASE DE DATOS I

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.

El esquema es llamado algunas veces la intención de la base de datos; al estado también se le


conoce como la extensión de 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).

M.C. Daniel Benito Román Ocampo


26
BASE DE DATOS I

En la mayoría de los casos, incluye un conjunto de operaciones básicas para especificar


recuperaciones y actualizaciones sobre las bases de datos; puede incluir conceptos para
especificar comportamiento, lo cual se refiere a especificar un conjunto de operaciones definidas
por el usuario permitido sobre la base de datos.

Muchos modelos de datos han sido propuestos. Se pueden definir tres categorías según el tipo de
conceptos que proporcionan:

MODELO CONCEPTUAL DE DATOS (O DE ALTO NIVEL)


Proporcionan conceptos que están más cercanos a la forma en que los usuarios perciben los datos.
Frecuentemente se auxilian en diagramas para plasmar un modelo para un caso específico.

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.

MODELO FÍSICOS DE DATOS (O DE BAJO NIVEL)


Brindan conceptos que describen los detalles de la manera en que los datos están almacenados en
la computadora. En general, estos conceptos están dirigidos a especialistas en computación más
que usuarios finales típicos.

Como principales modelos de datos tenemos:

 Entidad-Relación

 Modelo Relacional.

 Modelo Jerárquico.

 Modelo Red.

 Modelo Orientado a Objetos.

 Modelo Relacional Extendido (objeto semántico).

USUARIOS DE LA BASE DE DATOS


Para bases de datos personales, normalmente la misma persona define, construye y manipula la
base de datos, Para bases de datos multiusuarios grandes, con varias decenas o cientos de
usuarios, diversos tipos de personal están involucrados:

M.C. Daniel Benito Román Ocampo


27
BASE DE DATOS I

ADMINISTRADOR DE LA BASE DE DATOS (DBA).


Es el responsable por la administración de los recursos tanto del DBMS como de las bases de
datos que tenga la organización.

Funciones realizadas por el DBA:


 Decidir la información que contendrá la base de datos (definir esquema conceptual)
 Decidir la estructura y la estrategia de acceso (definir esquema interno)
 Vincularse con los usuarios (definir subesquema)
 Definir los controles de autorización y los procedimientos de validación
 Definir la estrategia de respaldo y recuperación
 Controlar el desempeño y responder a los cambios de requerimientos

UTILERÍAS QUE FACILITAN LAS TAREAS DEL DBA

 Rutinas de carga
 Rutinas de reorganización
 Rutinas de registro de eventos diarios
 Rutinas de recuperación
 Rutinas de análisis estadístico

DISEÑADORES DE LA BASE DE DATOS (O PROGRAMADOR DE APLICACIONES).

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).

M.C. Daniel Benito Román Ocampo


28
BASE DE DATOS I

FASES EN EL DESARROLLO DE UNA BASE DE DATOS

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

DISEÑO ESQUEMA CONCEPTUAL


CONCEPTUAL EN UN MODELO DE DATOS
DE ALTO NIVEL

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)

Implementación de Esquema interno


transacciones (para el mismo DB)
programas de aplicación

El diagrama anterior muestra las etapas del desarrollo, enmarcadas con rectángulo, y los
productos que se obtienen en cada etapa, sin enmarcar.

M.C. Daniel Benito Román Ocampo


29
BASE DE DATOS I

RECOLECCIÓN Y ANÁLISIS DE REQUERIMIENTOS


Es la etapa en la que se hacen entrevistas con los usuarios potenciales de la base de datos con el
fin de entender y documentar sus requerimientos de datos. El resultado es un conjunto de
requerimientos de usuario. Estos deberán ser especificados de una manera tan detallada, completa
y precisa como sea posible.

En paralelo se deben especificar los requerimientos funcionales de la aplicación. Estos consisten


de operaciones definidas por el usuario (o transacciones) que serán aplicadas a la base de datos, e
incluyen tanto recuperaciones como actualizaciones. Es común usar técnicas como los diagramas
de flujo de datos para especificar estos requerimientos.

DISEÑO CONCEPTUALES DE LA BASE DE DATOS


Aquí se crea un esquema conceptual de la base de datos usando para ello un modelo de datos de
alto nivel. El esquema conceptual es una descripción concisa de los requerimientos de datos de
los usuarios y comprende descripciones de los tipos de datos, vínculos y restricciones para los
datos; expresados por medio de los elementos que proporciona el modelo de datos de alto nivel.
Dado que estos elementos no incluyen detalles de implementación, pueden ser usados para
comunicarse con usuarios no especializados a fin de asegurar que todos sus requerimientos son
cubiertos y que no hay contradicciones.

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.

DISEÑO LÓGICO DE LA BASE DE DATOS


Es la etapa en la cual se implementa la base de datos usando un DBMS comercial. Aquí se
trasforma el esquema conceptual de la base de datos, del modelo de datos de alto nivel, usado en
el paso anterior, al modelo de datos empleado por el DBMS: relacional, objetual, de red o
jerárquico (los dos últimos ya de poco uso). El resultado es un esquema lógico (conceptual, según
la arquitectura de los tres esquemas) de las bases de datos.

DISEÑO FÍSICO DE LA BASE DE DATOS


Durante esta fase son especificadas las estructuras de almacenamiento internas y las
organizaciones de archivos para la base de datos. Normalmente el DBMS controla estos aspectos
y el diseñador tiene poca injerencia en los mismos.

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.

M.C. Daniel Benito Román Ocampo


30
BASE DE DATOS I

EJEMPLOS DE BASES DE DATOS

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.

Micro-empresa para pintar casas.

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.

¿Cuales seria las tablas que podría contener la base de datos?

Agencia de venta de automóviles.


Las bases de datos pueden ser más complicadas que la del ejemplo anterior. Considérese ahora
una agencia de venta de automóviles en la cual laboran dos supervisores, cuatro agentes de ventas
y un administrador.

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:

 Un servidor de base de datos.


 Dos PC's para los supervisores,
 Una PC para el administrados, y
 Cuatro PC's para los agentes de ventas.

M.C. Daniel Benito Román Ocampo


31
BASE DE DATOS I

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:

 Modelos (Id-modelo, Descripción, Precio-actual,Num-unidades)


 Unidades (Rfv,Fecha-adqui, Id-modelo
 Agentes (Id-agente, Nombre, Teléfono, Fecha-ingreso)
 Clientes (Id-cliente, Nombre,Domicilio,Teléfono, Notas)
 Ventas-hechas(Id-venta,Fecha,Id-agente,Id-cliente)
 Unidades-vend (Id-venta,Rfv,precio.venta)
 Equipos (Id-equipo,Nombre,Descripción,Costo)
 Equipo-extra (Id-venta,Rfv,Id-equipo)

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.

Sistema de transacciones bancarias (cuentas de cheques).

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:

 En ventanilla (en varias decenas de sucursales),


 A través de cajero automático (varias decenas)
 Por teléfono. etc.

M.C. Daniel Benito Román Ocampo


32
BASE DE DATOS I

Comparación de las bases de datos.

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

M.C. Daniel Benito Román Ocampo


33
BASE DE DATOS I

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.

M.C. Daniel Benito Román Ocampo


34

Vous aimerez peut-être aussi