Está en la página 1de 14

BD Bases de Datos

Unidad 1: Bases de Datos

UNIDAD 1: BASES DE DATOS


Tema 1: Introduccin
1.1. Terminologa bsica
Dato
- Es un testimonio sobre una realidad, de un hecho (puede ser real o abstracto).
El club de ajedrez de la facultad puede guardar una lista de socios, de los rankings
actuales y de las partidas llevadas a cabo, as como de los estatutos del club. En
cualquier negocio se deben almacenar ciertas informaciones tales como clientes,
productos, precios, estado de las finanzas. A estas informaciones se les llama datos.
- Dato es la representacin de una realidad.
Ejemplos:
o
Telfono gratuito para denuncias
o
Nmero de carn de un alumno UDEP
o
Saldo en una cuenta de ahorros
o
Nmero de placa de un automvil
o
Editorial del libro texto de base de datos
Informacin
Por lo general es el resultado de procesar datos.
Se entiende por procesamiento de datos al almacenamiento, obtencin y recuperacin
de datos.
Un dato debe ser considerado como tal hasta el momento en que es organizado de
manera significativa, con lo cual pasa a ser informacin. Adquiere cierta utilidad
para quien la emplea: permite tomar decisiones o acciones al usuario.
En muchas oportunidades, dato e informacin son tratados como sinnimos.
Se puede pensar en Dato como lo que se almacena en una base de datos, e Informacin
como el significado de esa base de datos.
Procesamiento de la Informacin
o

Datos persistentes
Son los datos almacenados.

Datos de entrada
- Datos que ingresan al sistema por primera vez, a travs de un terminal o de
una estacin de trabajo.
- Estos datos pueden causar cambios en la informacin persistente.
- Son efmeros.
- En un inicio, no son parte de la BD.

Datos de salida
- Son mensajes y resultados que salen del sistema.
- Esta informacin puede ser derivada de los datos persistentes, pero no se
considera parte de la base de datos.
- Se obtiene generalmente de la combinacin de los datos de entrada con los
datos persistentes.

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

Datos de
Entrada

PROCESAMIENTO

Datos de
Salida

Datos
Persistentes

Ejemplo: Gua Telefnica


Datos de Entrada:

Datos de nuevos abonados


Retirados del servicio
Cambios de nmero

Data Persistente:

Gua Telefnica del 2010

Proceso:

Verificacin de telfonos ya existentes con datos de entrada.

Datos de Salida:

Gua del 2011 (nueva y actualizada)

Ejemplo: Alumnos de un colegio


Datos de Entrada:

Datos de nuevos alumnos


Notas
Profesores nuevos / retirados
Horarios nuevos
Alumnos egresados / expulsados

Data Persistente:

- Datos de alumnos (nombre, edad, sexo, cdigo, etc)


- Cursos (notas, horarios, aulas, profesores)
- Profesores (especialidad, sueldos, disponibilidad)

Datos de Salida:

Libretas de notas
Recibo de mensualidad
Actas de asistencia
Morosos
Montos por escala, etc.

Redundancia
La redundancia de un sistema de informacin de datos se define como el grado de
repeticin simultnea de la informacin en sus distintos niveles de almacenamiento.
La base de datos puede ser diseada para el procesamiento en lotes, en tiempo real o
en lnea. Muchas bases de datos sirven como una combinacin de estos mtodos de
procesamiento y en ellas se emplean, por ejemplo, terminales de tiempo real al mismo
tiempo que el procesamiento por lotes.
En la mayora de las bibliotecas de cintas o discos anteriores al uso de la tcnica de las
bases de datos, hay una sorprendente cantidad de datos duplicados o redundantes.
Muchos datos se hallan simultneamente almacenados en varios volmenes con
distintas finalidades y tambin con diferentes fechas de actualizacin. En la base de
datos se pretende eliminar esta redundancia. Algunos registros se duplican para reducir

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

los tiempos de acceso o simplificar los mtodos de direccionamiento, tambin para


facilitar la reconstruccin de la base de datos en caso de dao accidental.
Por lo tanto hay necesidad de armonizar el grado de redundancia con otras
caractersticas deseables de la base de datos, de modo que es preferible hablar de
redundancia controlada o redundancia mnima, en lugar de no redundancia como criterio
de diseo.
Desventajas de la redundancia
La redundancia no controlada trae consigo los siguientes inconvenientes:
o Costo adicional de almacenamiento de los mismos datos.
o Para actualizar por lo menos una parte de las copias redundantes es preciso
recurrir a mltiples operaciones de actualizacin. La redundancia, por lo
tanto es ms trabajosa que los archivos que exigen actualizacin permanente o
peor en los que es frecuente la inclusin de nuevos datos y la eliminacin de los
ya obsoletos.
o Por ltimo, debido a que las distintas copias suelen hallarse en diferentes
estados de actualizacin, el sistema tiende a proporcionar informaciones
contradictorias.
Independencia lgica y fsica de los datos
- Independencia lgica de la Base de Datos
Una de las caractersticas ms importantes de la mayora de las bases de datos es la
de mantenerse en plena crisis de cambio y crecimiento.
La base de datos debe prestarse a una fcil reestructuracin siempre que haya que
agregar nuevos tipos de datos o utilizarla para nuevas aplicaciones.
Esta
reestructuracin no debe originar la necesidad de volver a escribir los programas.
La facilidad con la que pueda modificarse una base de datos tendr siempre un efecto
directo sobre la capacidad de desarrollar nuevas aplicaciones del procesamiento de
datos dentro del organismo que la explota.
- Independencia fsica de la base de datos
Es frecuente que el analista de sistemas piense que la estructura de la base de datos
que proyecta, es de carcter definitivo en cuanto a su contenido y aplicacin.
Se pueden prever algunos caracteres de reserva (factor de seguridad) dentro de cada
registro.
Adems, para absorber los cambios que haya que introducir en el futuro, las
aplicaciones deben depender lo menos posible de la organizacin fsica y estructura de
la base de datos, ya que cambios en ella implicaran trabajos onerosos en las
aplicaciones sobre todo si son muchas dentro de un sistema de base de datos.
En algunos sistemas, una de las razones para acudir a las tcnicas de bases de datos
es la que se apoya en la necesidad de permitir que los usuarios utilicen los datos de
una manera que no puede ser prevista exactamente por los diseadores.
Una de las ventajas de un sistema de informacin gerencial es que los gerentes y
colaboradores estn en condiciones de plantear a su sistema de
computacin
interrogantes imprevistas (bases de datos multidimensionales, SQL). Entonces lo
primero es almacenar para cada entidad todos los datos de inters, no slo los que se
necesiten para una determinada aplicacin (datawarehouse y datamining).

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

1.2. Organizacin de los datos


Jerarqua en la organizacin de los datos
Bit
Es un dgito binario. Slo acepta 0 1
Ejemplos:
o
o
o
o

Prendido Apagado
Masculino Femenino
Aprobado Desaprobado
Lleno Vaco

Byte
Es un conjunto de 8 bits que permite representar nmeros y letras. Se logran
representar 256 combinaciones a cada una de las cuales se asigna un carcter.

Campo
Es la caracterstica de una entidad. Entidad es todo aquello de lo que se puede e
interesa tomar datos.
Registro
Es la ocurrencia de un conjunto de campos relacionados. Es decir, es cuando un
conjunto de caractersticas de una entidad toma valores que los identifican y hacen
nicos.
Est constituido por diversos datos relacionados o que se complementan entre s
para proporcionar la unidad elemental de informacin del archivo.
Archivo
Es una coleccin de registros del mismo tipo. La unidad elemental del archivo es el
registro.

E004

P. Montoya

E003

Lima

K. Montes

Gerente

Lima

Registros

Contador

Archivo
E002

T. Len

E001

Cuzco Supervisor

T. Linares

Piura

#Emp Emp_Nom

Analista

Emp_Ciu Emp_Cargo

Campos
Base de Datos
Es una coleccin de archivos interrelacionados que tienen por objeto facilitar el
acceso, seguridad y gestin de la informacin.
Una base de datos se entiende tambin como una coleccin de datos persistentes
que es utilizada por aplicaciones de una organizacin dada.

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

Tema 2: Enfoque de Bases de Datos


2.1. Bases de Datos
Concepto
o Conjunto de archivos interrelacionados
o Conjunto de archivos que tienen por objeto facilitar el acceso, gestin y operacin de
los datos
o Coleccin de datos persistentes que es usado por las aplicaciones de una
organizacin
Finalidad
Su finalidad es la de servir a una o ms aplicaciones, de la mejor manera posible; los
datos se almacenan de modo que resulten independientes de los programas que los
usan. Los mismos datos deben ser aprovechados para tantas aplicaciones como sea
posible.
Por eso, la base de datos se concibe, a menudo, como un repositorio donde se rene la
informacin necesaria para el ejercicio de las funciones propias de un organismo
gubernamental, una empresa, una fbrica o cualquier otra organizacin.

2.2. Objetivos de una organizacin de Bases de Datos


Mencionaremos algunos de los principios que deben guiarnos en la organizacin de una
base de datos.
Desempeo
Las bases de datos diseadas para ser usadas por operadores de terminal deben
asegurar un tiempo de respuesta adecuado para el dilogo entre el hombre y la
terminal. El tiempo de respuesta adecuado, en el caso de un sistema con terminales
depende de la naturaleza del dilogo entre hombre y terminal.
Para ciertas categoras de dilogo se requiere un tiempo de respuesta del orden de dos
segundos (es decir, dos segundos entre el instante en que el operador completa su
mensaje de entrada en la terminal y el instante en que aparece en sta el primer
carcter de la respuesta).
Redundancia Mnima
An con las tcnicas de las bases de datos, a medida que crecientes volmenes de
informacin se combinan para formar bases de datos integradas, se crea una mayor
posibilidad de redundancia.
Debera ser un objetivo de la organizacin de una base de datos el de eliminar los
valores de datos redundantes. Para ellos es preciso identificar los datos que son
utilizados en comn por varias aplicaciones y almacenar una sola copia.
Capacidad de Bsqueda
El usuario de una base de datos suele plantear muchas interrogantes acerca de los
datos almacenados. En la mayora de las aplicaciones comerciales actuales, se han
anticipado los tipos de averiguacin y los datos se han organizado fsicamente de modo
de poder satisfacerlas con adecuada prontitud.
Uno de los objetivos de la organizacin es el de lograr capacidad para la bsqueda
rpida y flexible.
Integridad
Cuando una base de datos incluye informacin utilizada por muchos usuarios, es
importante que no puedan destruirse los datos almacenados ni las relaciones que
existen pues esto hara que se produjesen fallos de hardware y diversos tipos de
accidentes.

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

El almacenamiento de los datos y los procedimientos de actualizacin e insercin deben


asegurar que el sistema pueda recuperarse de estas contingencias sin dao para los
datos, es decir, se debe garantizar la integridad de la informacin que almacena.
Privacidad y Seguridad
La privacidad se refiere al derecho de los individuos y organismos para determinar por s
mismos cundo, cmo, y en qu medida se permitir la transmisin a terceros de la
informacin que les concierne.
La seguridad de los datos se refiere a la proteccin de los datos contra el acceso
intencional o accidental por parte de personas no autorizadas y contra su indebida
destruccin o alteracin. Los siguientes puntos son requisitos indispensables para la
seguridad de la base de datos:
o La Base de Datos debe estar protegida contra el fuego, el robo y otras formas de
destruccin.
o Los datos deben ser reconstruibles.
o Los datos deben poder ser sometidos a procesos de auditora.
o El sistema debe disearse a prueba de intromisiones.
o Ningn sistema puede evitar de manera absoluta las intromisiones
malintencionadas, pero es posible hacer que resulte muy difcil eludir los
controles.
o Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda
descubrirse cualquier accin indebida o errnea.
Interfaz con el Pasado
Cuando un organismo se decide instalar un nuevo software de base de datos, es
importante que ste pueda trabajar con los programas y procedimientos existentes y
que los datos ya almacenados puedan ser convertidos a las nuevas formas.
Es esencial, no obstante, que no se frene el avance de la tecnologa de la informtica
por prestar una atencin excesiva a esta compatibilidad con el pasado.
Interfaz con el Futuro
En el futuro, los datos y los medios de almacenamiento cambiarn de muchas maneras
por lo que uno de los objetivos ms importantes en el diseo de una base de datos ser,
pues, el de planearla de manera que se pueda modificar sin necesidad de tener que
alterar los programas de aplicacin en uso. Para lograr esta proteccin, el diseo debe
prestar atencin a dos caractersticas:
Primero:

la vista de los datos que tiene el programador debe ser


independiente de la representacin fsica de los mismos. Esto es lo
que llamamos Independencia Fsica de los datos.

Segundo:

la vista de los datos que tiene el programador debe estar


protegida contra los cambios de la estructura y requerimientos de
otros programas de aplicacin.

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

2.3. Niveles de Abstraccin


En un enfoque de base de datos, existen niveles de abstraccin bajo los cuales se
visualiza la informacin.
El nivel ms alto corresponde al nivel semntico y se refiere a la representacin de
ciertos aspectos del mundo real en trminos de entidades, atributos de estas entidades
y relaciones entre entidades.
Nivel conceptual
Se refiere a la transformacin de la representacin semntica a una representacin en el
software del DBMS, mediante la utilizacin de un modelo de datos (relacional con tablas,
atributos y relaciones, de red con tipos de registros, tems y sets, jerrquico con tipos
de registros, tems y relaciones jerrquicas u otros).
Nivel interno
Se refiere al almacenamiento de los datos del nivel conceptual en base a estructuras de
archivos ( e.g., rbolers B+, Hashing, archivos invertidos, etc.) y enlaces entre archivos,
y a los mecanismos de acceso interno (buffers, algoritmos de bsqueda, insercin, etc.).
Se incluyen tambin los mecanismos de compresin y codificacin.
Nivel de sistema/hardware
Se refiere a la interaccin del DBMS con el SO y el hardware (CPU, discos, memoria
principal, terminales, canales, red, etc.).

Un DBMS provee los mecanismos para transformar de un nivel de abstraccin a otro,


intentando mantener una relativa independencia entre un nivel y otro.
Al considerar la representacin conceptual de datos en un DBMS, se distinguen a su vez
dos formas o abstracciones diferentes(tambin llamados modelos): conceptual,
propiamente tal, y externo.
El modelo conceptual propiamente tal representa la visin global o corporativa de las
entidades y asociaciones de una organizacin. Es considerado el modelo de la
organizacin incorporado en la BD. Ejemplos de modelos conceptuales son el relacional,
el de red y el jerrquico. El esquema conceptual es la definicin e implementacin de
esta visin de los datos. Incluye informacin sobre autorizacin, documentacin,
protecciones, etc. Normalmente incluye un diccionario de datos.
Los modelos externos (puede haber ms de 1), representan visiones parciales del
modelo conceptual, particulares a grupos de usuarios y aplicaciones con caractersticas
comunes. Se definen en esquemas externos, en forma similar a la definicin del
esquema conceptual.
Los DBMS manejan estos esquemas, haciendo conversiones ("mappings") de los
esquemas externos al modelo conceptual y de ste al esquema interno (nivel interno de
representacin de datos).

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

Tema 3: Sistema Administrador de Bases de Datos - DBMS


3.1. DBMS
Un Sistema Administrador de Bases de Datos (DataBase Management System DBMS) o
simplemente Sistema de Bases de Datos es un conjunto de software, hardware y
procedimientos administrativos que permiten crear, accesar, modificar, proteger y
administrar una BD.
3.2. Componentes de un DBMS
La informacin
En la actualidad existen sistemas de bases de datos para mquinas que van desde
microcomputadores bastante pequeos hasta los macro computadores ms grandes.
Vale decir, que existen sistemas multiusuarios y sistemas de un solo usuario. Por
razones de generalidad asumiremos que los sistemas son multiusuarios con una sola
base de datos.
La informacin en la base de datos deber estar integrada y adems deber ser
compartida. Estos dos aspectos, integracin y compartimiento, constituyen una ventaja
importante de los sistemas de bases de datos.
Integrada: Significa que la base de datos puede considerarse como una
unificacin de varios archivos, por lo dems distintos, y que elimina del todo o
en parte cualquier redundancia entre ellos.
Compartida: Significa que los elementos individuales de informacin en la base
de datos pueden compartirse entre varios usuarios distintos, en el sentido de
que todos ellos pueden tener acceso al mismo elemento de informacin.
El Equipo
Los componentes de equipo del sistema de base de datos son:
o Los volmenes de almacenamiento secundario, donde se conservan los datos
almacenados, junto con los dispositivos de entrada y salida, etc.
o El procesador o procesadores y la memoria principal asociada que hacen
posible la ejecucin de los programas de bases de datos.
Los Programas
Entre la base de datos fsica (es decir, los datos tal y como estn almacenados en
realidad) y los usuarios del sistema existe un nivel de programas y el manejador de
base de datos (manejador de BD) o, en la mayora de los casos, el sistema de
administracin de bases de datos (DBMS, database management system).
Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada
una de las cuales es responsable de alguna tarea especfica. Las funciones principales
son:
o Crear y organizar la base de datos.
o Establecer y mantener las trayectorias de acceso a la base de datos, de tal
manera que los datos en cualquier parte de la base se puedan acceder
rpidamente.
o Manejar los datos de acuerdo con las peticiones de los usuarios.
o Mantener la integridad y seguridad de los datos.
o Registrar el uso de las bases de datos.
El DBMS interpreta y procesa las peticiones del usuario para recobrar informacin de la
base de datos. Las preguntas a la base de datos pueden tener distintas formas, pueden
teclearse directamente desde la terminal, o codificarse como programas en lenguaje de
alto nivel. As, el DBMS protege a los usuarios de la tediosa programacin que tendran
que hacer para organizar el almacenamiento de los datos o accesarlos una vez
almacenados.

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

El DBMS maneja todas las solicitudes de acceso a la base de datos formuladas por los
usuarios. Una de las funciones generales del DBMS es distanciar a los usuarios de la
base de datos de detalles a nivel del equipo (de manera muy similar a la forma como los
sistemas de lenguajes de programacin evitan a los programadores de aplicaciones la
necesidad de ocuparse de detalles al nivel de la mquina). El DBMS presenta a los
usuarios una vista de la base de datos en un nivel un tanto por encima del nivel del
equipo, y hace posible sus operaciones (por ejemplo las operaciones SQL).
El DBMS es definitivamente el componente de software ms importante de todo el
sistema, pero no es el nico. Entre los dems pueden mencionarse las utileras, las
herramientas para desarrollar aplicaciones, las ayudas para el diseo, etc.
Los Usuarios
Se toman en cuenta tres clases amplias de usuarios:
o En primer trmino, est el programador de aplicaciones, quien se encarga de
escribir los programas de aplicacin que utilizan la base de datos. Estos
programas operan sobre los datos en todas las formas acostumbradas:
recuperacin de informacin ya existente, insercin o modificacin. Por
supuesto, todas estas funciones se llevan a cabo dirigiendo las solicitudes
apropiadas al DBMS.
o La segunda clase de usuario es el usuario final, quien interacta con el sistema
desde un terminal. Un usuario final puede tener acceso a la base de datos a
travs de una de las aplicaciones mencionadas anteriormente.
o La tercera clase de usuario es el Administrador de bases de datos o DBA
(database administrator). En la mayora de las empresas los usuarios finales no
tienen control directo sobre la forma en la que se guarda la informacin en la
base de datos. En vez de ello, asignan uno o ms individuos (o un equipo de
profesionales) para controlar y manejar la base. Este individuo o equipo es
llamado administrador de la base de datos. Un DBA tambin debe poseer buena
comunicacin verbal y conocimiento de la empresa para que el sistema pueda
servir a sus usuarios de la mejor manera posible.
3.3. Los servicios fundamentales de un DBMS
Los servicios bsicos que cualquier sistema debe proveer ya se han mencionado en el
punto anterior. Veremos ahora que significa cada uno de ellos en un poco mas de
detalle.
Manejo de volmenes grandes de datos
Una de las diferencias fundamentales entre un lenguaje de programacin cualquiera y
un software de base de datos es que mientras el primero est diseado para manejar un
volumen relativamente pequeo de datos en memoria principal, el sistema de base de
datos est orientado a manejar volmenes grandes de datos en memoria secundaria.
Una base de datos puede contener gran parte de la informacin que maneja una
organizacin en forma de miles de megabytes. Es por esto que es importante que
existan mecanismos para asegurar este importante recurso.
Persistencia de los datos
Tal como se ha dicho antes, los datos que maneja un sistema de base de datos
corresponden a la informacin de una organizacin por lo cual ellos deben permanecer
almacenados ms all de la ejecucin de un programa o proceso computacional. Esta
razn, junto al volumen involucrado, es lo que hace que las bases de datos sean
almacenadas en dispositivos de memoria no voltil (discos magnticos, discos pticos,
etc).

Facultad de Ingeniera

BD Bases de Datos

Unidad 1: Bases de Datos

Acceso eficiente a la informacin


No es suficiente tener acceso a la informacin almacenada en la base de datos. Se
requiere adems que este acceso sea relativamente eficiente (rpido).
Este
requerimiento hace que los sistemas de bases de datos deban mantener estructuras
internas de acceso a los datos que permitan llegar a ellos con facilidad. Un ejemplo de
ello es el uso de ndices.
Por ejemplo, si se requiere consultar permanentemente los saldos de las cuentas
corrientes de los clientes, deben existir mecanismos que permitan obtener rpidamente
(unos segundos) la informacin correspondiente a un cliente especfico cualquiera.
Soporte de un modelo de datos
Si tal vez pudiera pensarse que los tres primeros servicios descritos son cumplidos
tambin por un buen manejador de archivos, aqu ya definitivamente aparece un
elemento que es nico de los sistemas de bases de datos.
La idea es proporcionar al usuario o programador una visin conceptual o de alto nivel
de los datos que es independiente de la forma en que internamente se almacenen
realmente. Esto es lo que se denomina un modelo de datos.
Por ejemplo, mas adelante veremos que el modelo de datos predominante en la
actualidad es el llamado modelo relacional, en el cual los datos se visualizan en forma
de tablas. Para el usuario los datos son tablas con filas y columnas independizndolo de
detalles fsicos de implementacin.
Lenguajes de consulta de muy alto nivel
Los lenguajes de consulta (query languages) estn tan ntimamente relacionados con los
sistemas de bases de datos que casi no puede concebirse uno de stos que no los
incluya. En efecto, una de las ventajas importantes de los sistemas de bases de datos
frente a una solucin en base a archivos tradicionales es la facilidad para responder a un
requerimiento de informacin ocasional o poco previsto. Para ello, en lugar de tener
que escribir un programa completo con muchas lneas de cdigo, generalmente basta
una consulta expresada como un par de lneas escritas en un lenguaje de muy alto nivel
con caractersticas de tipo mas bien declarativas que procedurales.
Manejo de transacciones
Los sistemas de bases de datos soportan el concepto de transaccin, o unidad de
trabajo atmica indivisible. Esto es muy importante para asegurar la integridad de la
informacin en un ambiente multiusuario en que adems pueden haber fallas
ocasionales.
Por ejemplo un proceso asociado a un movimiento contable incluye operaciones de
retiro de una cuenta y aumento de otra. Si por alguna razn esta transaccin no llega a
su trmino, el sistema asegura que tampoco quede a la mitad revirtiendo los cambios
que la transaccin haba alcanzado a efectuar.
Por otra parte el mecanismo de control de concurrencia asegura que aunque se
entremezclen en el tiempo ejecuciones de varias transacciones, el efecto neto es igual
que si ellas se ejecutaran una a continuacin de la otra (seriabilidad).
Control del acceso
Los sistemas de bases de datos enfatizan la idea de que la informacin es un recurso de
la organizacin. Como tal es muy valioso y por lo tanto debe restringirse el acceso a
ella. Para ello dichos sistemas proporcionan mecanismos de control de acceso que
permiten definir en forma bastante detallada las cosas que un determinado usuario
puede hacer con cada uno de los tems de informacin almacenados.
Por ejemplo para una persona ser posible consultar los datos personales de los
empleados pero tal vez exceptuando el sueldo, otros podrn modificar esta informacin
y finalmente habra algunos que no tienen ningn acceso a ella.

Facultad de Ingeniera

10

BD Bases de Datos

Unidad 1: Bases de Datos

Integridad de los datos


La integridad de los datos tiene que ver con la mantenimiento de la base de datos en un
estado consistente en un ambiente en que se considera que pueden haber fallas de todo
tipo. Por ejemplo, pueden haber cortes repentinos de energa, cadas del sistema
operativo o de la aplicacin misma o por ltimo un desperfecto que destruya la
informacin almacenada en un disco.
Para ello estos sistemas disponen de a lo menos dos mecanismos: el subsistema de
recuperacin y las restricciones de integridad de los datos.
El subsistema de recuperacin es, junto con el de control de concurrencia, el principal
actor en el manejo de las transacciones que se describi anteriormente. El se encarga
de restaurar la base de datos a un estado consistente luego de una falla. Para ello
normalmente se vale de mecanismos de "logging" en los cuales se lleva un registro de
las acciones que se han llevado a cabo.
Por otra parte las restricciones de integridad permiten detectar posibles fuentes de
inconsistencia de la base de datos en el preciso momento en que se producen
disminuyendo as a un mnimo su incidencia.

3.4. Principales DBMS


o DB2 de IBM
http://www.ibm.com/software/data/db2
o Oracle de Oracle Corp.
http://www.oracle.com/database
o SQL-Server de Microsoft Corp.
http://www.microsoft.com/sql
o CloudScape de IBM
http://www-306.ibm.com/software/data/cloudscape
o Informix de IBM
http://www-306.ibm.com/software/data/informix
o INGRES Open Source
http://www3.ca.com/Solutions/Product.asp?ID=1013
o PostgreSQL Open Source
http://www.postgresql.org
o MySQL Open Source y privado (Oracle)
http://www.mysql.com
o SQLite Open Source
http://www.sqlite.com

Facultad de Ingeniera

11

BD Bases de Datos

Unidad 1: Bases de Datos

Tema 4: Lenguajes de Bases de Datos


El sistema DBMS proporciona al usuario un lenguaje especial de descripcin de datos (data
description language, DDL) para describir esquemas conceptuales y externos, as como
distintos lenguajes de manejo de datos (data manipulation languages, DML) para manejar
los datos de la base. Los distintos lenguajes varan extensamente en su sintaxis, formato y
capacidades, todas tienen gran influencia tanto en la rapidez y la flexibilidad del desarrollo
del programa como en el desempeo del sistema despus de su implantacin.
4.1. Lenguajes de descripcin de datos (DDL)
Un lenguaje para la descripcin de datos, es el medio apto para declarar al sistema de
administracin de la base cules son las estructuras de datos que van a utilizarse. Un
DLL contiene definiciones de tipo especial respecto a la estructura de almacenamiento y
los mtodos de acceso usados por los sistemas de bases de datos. El resultado de la
compilacin de estas definiciones es un conjunto de instrucciones que especifican los
detalles de implantacin de los esquemas de los esquemas que se le esconden al
usuario.
4.2. Lenguajes de Manejo de datos (DML)
El DBMS proporciona un lenguaje de manejo de datos (data manipulation language,
DML) para que emita proposiciones de entrada / salida para acceder la base de datos. El
DML puede ser una extensin del lenguaje de la computadora central. Las proposiciones
del lenguaje DML de algunos sistemas relacionales se pueden teclear desde una terminal
como comandos interactivos o se pueden emitir desde un programa en lenguaje de alto
nivel como si fueran parte del mismo lenguaje.
El DML es un lenguaje que capacita a los usuarios a acceder o manipular datos segn
estn organizados. Por manipulacin se entiende:
o
o
o
o

Recuperar datos
Insertar datos
Suprimir datos
Modificar datos.

Hay dos tipos de DML:


o
o

Procedural: El usuario especifica los datos que necesita y cmo obtenerlos.


Nonprocedural: El usuario especifica los datos que necesita sin especificar
cmo obtenerlos.

4.3. Lenguajes de consulta


El DBMS proporciona un lenguaje de consulta para efectuar operaciones de E / S,
permitiendo a los no programadores recuperar informacin de la base de datos sin
necesidad de programar. Este lenguaje es muy parecido al ingls, pero no existe un
estndar para dichos lenguajes de consulta, pero la mayora de ellos cumple con las
siguientes caractersticas:
o

Son lenguajes no algortmicos con los cuales el usuario realiza consultas


convencionales para efectuar operaciones o actualizaciones en la base de
datos.

Son convenientes para recuperaciones orientadas a transacciones aisladas en


vez de procesamientos por lotes voluminosos.

El DML y el lenguaje de consulta se vuelven lo mismo cuando las proposiciones


de los lenguajes de consulta de algunos sistemas pudiesen estar inmersos en
un programa de lenguaje de alto nivel.

Facultad de Ingeniera

12

BD Bases de Datos

Unidad 1: Bases de Datos

Algunos sistemas de manejo administrativo los lenguajes llamados de cuarta


generacin, con los cuales el usuario puede aprender a crear y procesar la base de
datos en un periodo de tiempo relativamente corto.
El leguaje de cuarta generacin permite bsicamente permite al usuario especificar sus
necesidades, para lo cual su compilador o interprete crear un mtodo para alcanzarlas.
Algunos ejemplos de lenguajes de cuarta generacin son: NATURAL de Software AG
para el sistema de ADABAS y PowerHouse de Cognos.
4.4. Lenguajes de Programacin
La mayora de los DBMS poseen actualmente alguna interfaz con lenguajes de alto nivel,
tales como de tecnologa MS .NET, Java, C/C++. Usualmente estas interfaces son
libreras escritas en dicho lenguaje, las cuales son importadas por los programas
desarrollados por el programador.
Las libreras permiten hacer uso de las instrucciones de los lenguajes de consulta que el
DBMS soporta.
De esta manera, el programa creado tiene dos lenguajes distintos en su cdigo fuente:
el lenguajes principal con el que se crea el programa y el lenguaje de consulta a la base
de datos, con el que se mandan instrucciones de consulta a la base de datos con la que
interacta el programa.

Facultad de Ingeniera

13

BD Bases de Datos

Unidad 1: Bases de Datos

Tema 5: Desarrollo histrico y perspectivas futuras


Dcada de los 60s... Modelo de Red y Jerrquico
El desarrollo del enfoque de base de datos se remonta a los aos 60's, con el reinado de
sistemas basados en modelos jerrquico y de red. No haba disponibilidad de lenguajes de
consulta declarativos por lo que normalmente la extraccin de informacin se llevaba a cabo
mediante una combinacin del DML (data manipulation language) provisto por el DBMS junto
con un lenguaje de programacin tradicional (COBOL, FORTRAN, PL/1) que pasaba a
llamarse lenguaje "husped".
Dcada de los 70s... Base de Datos Relacional
En la dcada de los 70's comienzan a aparecer con fuerza los sistemas basados en el modelo
relacional. Originalmente este modelo, aunque gozaba de gran prestigio en el ambiente
acadmico (Ingres, System/R), no fue aceptado por el mundo empresarial. Principalmente
se criticaba su bajo desempeo en comparacin con los sistemas en uso. Sin embargo,
estos sistemas continuaron perfeccionndose y terminaron por imponerse.
Usualmente
asociados con lenguajes de consulta de tipo declarativo muy fcil de usar (ej. SQL) los
sistemas relacionales tienen su maduracin durante esta dcada.
Dcada de los 80s... SQL: Estndar de la Industria Relacional
La dcada de los 80 muestra un claro predominio de los sistemas relacionales. La entrada
de grandes actores (IBM) en este terreno afianza an mas la tecnologa. Comienzan a
emerger algunos estndares (SQL). Sin embargo, hacia fines de la dcada hacen su
aparicin dos nuevos tipos de sistemas: los sistemas orientados al objeto (OODBMS) y los
sistemas basados en conocimiento (KBMS). Por otra parte comienza a considerarse cada vez
ms importante la tecnologa asociada a los sistemas de bases de datos distribuidas.
La dcada de los 90 no present la maduracin de las bases de datos orientadas al objeto,
como se haba previsto. Aparece, sin embargo, el enfoque relacional/objeto, dado el
predominio de los lenguajes de programacin O-O. Paralelamente, las bases de datos
deductivas, con capacidad para almacenar y manejar no slo datos sino tambin reglas, se
hicieron cada vez ms necesarias para construir los complejos sistemas del siglo XXI.
Siglo XXI: Business Intelligence y XML
Aplicaciones organizacionales orientadas al apoyo de la toma de decisiones en la empresa.
Tendencias como el DataWarehouse y el Data Mining marcan la diferencia entre los distintos
DBMS, los cuales incluyen herramientas cada vez ms potentes. Otras aplicaciones auxiliares
de estas tendencias son: OLAP, Datamarts, entre otros. Las bases de datos O-O no llegan a
asentarse, las bases de datos relacionales siguen establecidas con gran fuerza en la industria
del almacenamiento y se desarrollan tcnicas para la conjuncin y coexistencia de los
paradigmas de programacin O-O con persistencia relacional.
De otro lado, el XML toma gran fuerza y se ve como el medio de transporte semntico de la
informacin. En arquitecturas y aplicaciones sobre las que se desarrolla el web, esto adquiere
gran potencial, sin embargo siguen las investigaciones acerca de los datos semiestructurados basados en XML.
Adems existe la tendencia a nuevas tecnologas, tales como las bases de datos no
relacionales. Son tecnologas que surgieron ante la necesidad de crear aplicaciones masivas
de alto nmero de usuarios, como las aplicaciones web, que tengan un soporte de bases de
datos de alto desempeo. En el ao 2011 se ha creado un nuevo estndar de lenguaje de
consultas, llamado unQL (Unstructured Query Language).

Facultad de Ingeniera

14

También podría gustarte