Anda di halaman 1dari 89

s un sistema que almacena datos que están relacionados.

Es un repositorio en donde guardamos información integrada que podemos almacenar y recuperar.


 Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto
de programas que manipulan esos datos

Componentes de una Base de Datos:


 Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc.

 Software: que es el DBMS o Sistema Administrador de Base de Datos.

 Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para
convertirse en información.

Tipos de Usuarios en Base de Datos


 Usuario Final: es la persona que utiliza los datos, esta persona ve datos convertidos en información:
 Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactuàn con la Base de
Datos.
 DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de
Base de Datos quien sed encarga de realizar el mantenimiento diario o periòdico de los datos.

Las personas tienen acceso DBMS se clasifican de la siguiente manera:


USUARIOS INGENUOS. – Son aquellos que interactuan con el sistema por medio de aplicaciones
permanentes.
USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la información por medios de
lenguajes de consulta.
PROGRAMADORES DE APLICACIÓN.- son aquellos con un amplio dominio del DML capaces de generar
nuevos módulos o utilerias capaces de manejar nuevos datos en el sistema.
USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan módulos que no se refieren precisamente al
manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imágenes,
procesamiento de audio y demás.
Conceptos Bàsicos de Base de datos
 Archivo: son conjuntos de registros.

 Registros: son conjuntos de campos.

 Campos: es la minìma unidad de referencia.
Niveles de Abstracción en Base de datos

Externo: esa es la visiòn del usuario final, se ve como se maneja los datos ya convertidos en información.
Es aquel en el que se presenta al usuario final y que puede combinaciones o relaciones entre los datos que
conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la
información y sus relaciones.
Conceptual: se ve como esta estructurado la Base Datos, equipos de campo tiene como estan estructurado
los registros.
Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre
ellas. Ejemplos comunes de este nivel son el diseño de los registros y las ligas que permitirán la conexión
entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos.
Interno: se ve como se almacena los datos fisicamente.
Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los
diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware.
Muchas veces se opta por mantener el nivel físico proporcionado por el sistema operativo para facilitar y
agilizar el desarrollo.
DBMS(Data Managment System (Sistema Administrador de Base de Datos) )
Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de
interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición
de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este
tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y
acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su
expresión inglesa.
Subsistema de un DBMS
Motor ò Núcleo DBMS: recibe los requerimientos lògicos de E/S y los convierte
en operaciones de lectura y escritura.
Lògicos: son cualquier tipo de consulta requerimiento de lectura con ingreso de datos (requerimiento de
estructura) es ayudado por el Sistema Operativo para convertir estos requerimientos lògicos en fìsicos que
actuàn sobre dispositivos de almacenamiento.
Herramientas de definición: permite definir y modificar la estructura de la Base de Datos, a este nivel
definimos lo que se conoce como "Esquema " que es la definición total de Base de Datos, es que definimos la
estructura de la tabla, los tipos de campos, las restricciones para los campos.
 Subesquema: manejo de vistas de datos, de niveles externos.

 Esquema: manejo de niveles conceptuales.

Interface de Procesamiento: me provee de las facilidades de actualizaciòn, despliegue y visualizaciòn de


datos.
Desarrollo de Aplicaciones: me permite generar una aplicación por Ej: generadores de formas, pantalla,
còdigo, herramientas case, etc.
Diccionario de Datos: este es el componente al subsistema con el que interactuàn directamente el DBA, le
proporciona niveles de consulta y reportes útiles para su trabajo de administración. Es la descripción de la
estructura de Base de Datos y relaciones entre datos, y programas.
DBMS
Caracterìsticas y Objetos:
 Independencia de Datos: el DBMS me provee una independencia de mis datos vs. las aplicaciones.
 Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).

 Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de Almacenamiento.


Independencia de datos es proteger nuestro programa de aplicaciones frente a las modificaciones en la
estructura de datos y viceversa, ya sea en forma física ò lógica.
 Independencia Física: es protección a los programas de aplicación debido a cambios en la estructura de
archivos, con cambios en las características de los campos. Ej: cambio de clave primaria a secundaria.

 Independencia Lógica: protección a los programas de aplicación cuando se modifica el esquema.

Redundancia, datos repetidos y distribuidos en cualquier parte. El efecto que ocasiona la redundancia es tener
inconsistencia de datos y desperdicio de espacio de almacenamiento.
Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos.
 Inconsistencia de Datos: dato que esta en lugar con un valor y encuentra en otro lugar con otro valor. Ej: se
actualiza el archivo cliente pero no se actualiza el archivo de transacciones.

Ocurre cuando existe información contradictoria o incongruente en la base de datos.


Integridad de Datos
Integridad: conjunto de seguridades que son utilizadas para mantener los datos correctos.
Ocurre cuando no existe a través de todo el sistema procedimientos uniformes de validación para los datos.
 Fuente de Error: estas fuentes de error se origina si el programa de entrada de datos no esta validado. Ej:
fallas de hardware, actualizaciones incompletas, defectos del software, inserción de datos no vàlidos, errores
humanos.

Una tècnica que usa el BDMS de una entrada de datos no vàlida es la validación.
Validación: es proteger los datos, validar los datos en la entrada de datos. Existen tipos de validaciones:
 Tipo de Dato: es si se define un campo como carácter ò char y no puede ingresar nùmeros enteros.

 Valor de Dato: si se define un valor entero se puede especificar un rango y no se puede pasar de ese valor.

 Valores Claves / No Nulos: asegura registros ùnicos y cuyos valores no sean nulos.

 Integridad Referencial: asegura al DBMS que no exista registros hijos sin sus registros padres
correspondientes.

Control de Concurrencia ò Simultaniedad


Se da en ambiente multi-usuario, tratando de acceder aun objeto de datos al mismo tiempo.
Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar
los procesos que afectan a la base de datos. Comúnmente se refiere a la poca o nula efectividad de los
procedimientos de bloqueo
Granularidad: que es el tamaño de las unidades aseguradas. Ej: la granularidad puede proteger un campo,
un registro, un archivo,etc.
Dead-look(bloqueo): es la tècnica que evita errores de concurrencia, se da cuando se desarrolla una espera
circular entre dos transacciones y cada una de estas solicita una actualizaciòn sobre el mismo archivo, no
permite a otros usuarios el recurso hasta que tèrmine el proceso, se da la espera circular.
Recuperaciòn de Datos
Recuperar los datos frente a las fuentes de error mencionadas anteriormente. La restauración de la Base de
Datos a su estado normal es responsabilidad del DBA, quien esl el responsable de implantar procedimientos
de detecciòn de error y recuperaciòn.
El DBA es quien tiene el control centralizado de la base de datos. Se persigue con esto reducir el número de
personas que tengan acceso a los detalles técnicos y de diseño para la operación del DBMS.
Las soluciones principales de un DBA son:
DEFINICION DEL ESQUEMA.- Crea el esquema original de la base de datos y genera el diccionario de datos
por medio de proposiciones en DDL.
DEFINICION DE ESTRUCTURAS DE ALMACENAMIENTO Y METODOS DE ACCESO.- Se encarga de
generar a seleccionar estructuras para el medio secundario y definir los métodos de acceso a la información,
esto ultimo por medio de proposiciones en DML.
MODIFICACION DE ESQUEMA Y ORGANIZACIÓN.- Es una actividad poco frecuente que consiste en
rediseñar el esquema de la base de datos. Esto se haría necesario ante la modificación abrupta de las
condiciones originales que dieron pie al diseño del esquema primario. Las proposiciones para llevar a cabo
esta tarea se realizan en DDL.
CONCESION DE AUTORIZACIONES DE ACCESO.- Se encarga de registrar a los usuarios para permitir su
acceso al DBMS. Asigna a cada uno de ellos una serie de atributos que le permiten gozar de privilegios como
el acceso a determinadas áreas de aplicación, de los datos o del uso de recursos en el sistema.
ESPECIFICACION DE LAS LIMITANTES DE INTEGRIDAD.- Crea una serie de tablas donde se especifica el
conjunto de restricciones que serán aplicables durante los procesos de actualización
Para recuperar:
Backup(respaldo): disco duro,cinta.
 Backup caliente: Base de Datos esta operativa.

 Backup frio: Base de Datos no esta operativa.

Mirror o Espejo
Archivos de Logs: (registro de transacciòn)
Son las transacciones diarias que se registran en la Base de Datos. Cuando ocurre un problema se acude a
los archivos de logs se hace un REVERSO y tambièn se puede recuperar la ùltima transacción que se hizo.
Seguridad de los Datos
Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el
sistema, facilitando así el acceso a intrusos.
La seguridad de los datos se puede definir en las siguientes aspectos:
 Objeto a asegurar: el primer objeto a asegurar son los objetos, programas y finalmente al esquema.
 Codificaciòn de Claves: el DBMS provee la seguridad de los Login (usuario y password).
 Control de Acceso: se especifican seguridades contra accesos indicados orientado a personas no autorizada.

Control y Administraciònde Recursos


El DBMS debe proveer al DBA de todos los mecanismos para control y administración de recursos. Para que
el DBA con integridad de datos, recuperaciòn de errores e implementaciòn de seguridad.
Establecimiento de Relaciones entre Datos
El BDMS debe proveer los recursos para el establecimiento de relaciones entre los datos, cuales son las
relaciones: 1 -> 1, 1 -> n, n -> n
Ciclo de vida de las operaciones de Base de datos
Etapas:
 Planificación del Proyecto
 Definición del Sistema
 Recolección y Análisis de los Requisitos
 Diseño de la Base de Datos
 Selección del SGDB / DBMS
 Diseño de la Aplicación
 Prototipo
 Implementaciòn
 Conversión y Carga de datos
 Prueba
 Mantenimiento

Estas etapas no son estrictamente secuenciales de hecho hay que repetir algunas de las etapas varias veces
haciendo lo que se conoce como "Ciclos de Re-alimentaciòn" por Ej: los problemas que se encuentran en la
etapa de Diseño de la Base de Datos pueden requerir una recolección de requisitos adicional y su posterior
análisis.
El ciclo de vida de un desarrollo de una base de datos consta de siete pasos:
Análisis de las necesidades
Estudio de viabilidad
Definición de requisitos
Diseño conceptual / lógico
Implementación
Evaluación y Mantenimiento
Planificación del Proyecto:
Esta etapa con lleva la planificación de como se puede llevar acabo las etapas de ciclo de vida de la manera
màs eficiente, hay tres componentes principales:
 El trabajo que se va arealizar.
 Los recurso para llevarlo acabo.
 El dinero para pagar todo ello.

Definición del Sistema


En esta etapa se especifica el àmbito y los ìndices de la aplicación de la Base de Datos asì como con que
otros sistemas interactua. Tambièn hay que determinar quienes son los usuarios y las àreas de la aplicación.
Recolección y Análisis de los Requisitos:
En esta etapa se recoge y analiza los requerimientos de los usuarios y de las àreas de aplicación. Esta
información se la puede recoger de varias formas:
 Entrevistando el personal de la empresa concretamente aquellos que son considerando expertos en la àrea
que se de.
 Observando el funcionamiento de la empresa.
 Examinando documentos sobre todo aquellos que se utilizan para recoger o visualizar la información.
 Utilizando cuestionario para recoger información de grandes grupos de usuarios.
 Utilizan la experiencia adquirida en el Diseño de Sistemas similares.

Esta etapa tiene como resultado en conjunto de documentos con las especificaciones de requisitos de los
usuarios en donde se describen las operaciones que se realizan en la empresa desde distintos puntos de
vista.
Los requisitos de desarrollo involucran el software y hardware necesario para la implementación, los recursos
humanos necesarios (tanto internos como externos), la formación al personal.
Diseño de Base de datos:
En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las especificaciones hasta
el punto en que puede comenzar la implementación. Durante esta etapa se crean modelos detallados de las
vistas de usuario y sobre todo las relaciones entre cada elemento del sistema, documentando los derechos de
uso y manipulación de los diferentes grupos de usuarios.
Si parte de la información necesaria para crear algún elemento establecido ya se encuentra implementado en
otro sistema de almacenamiento hay que documentar que relación existirá entre uno y otro y detallar los
sistemas que eviten la duplicidad o incoherencia de los datos.
El diseño consta, como se vio anteriormente, de tres fases: el diseño global o conceptual, el diseño lógico y
el modelo físico.
Esta etapa consta de tres fases: diseño conceptual, diseño lògico, diseño fisico de la Base de Datos.
La primera fase consiste en la producción de un esquema conceptual que es independiente de todos los
consideraciones fisicas.este modelo se refina después en un
esquema lògico eliminando las construcciones que no se puede representar en el modelo de Base de Datos
escogido (relacional, orientado a objeto,etc). En la tercera
fase el esquema lògico que traduce un esquema fisico para el sistema gestor de Base de Datos escogido. La
fase de diseño fisico considera las estructuras de
almacenamiento y los mètodos de acceso necesarios para proporcionar un acceso eficiente a la Base de
Datos en memoria secundaria.
Selección del SGBD / DBMS:
Si no se dispone de un Sistema Gestor de Base de Datos o que se encuentre obsoleto se debe escoger un
SGBD que sea adecuado para el sistema de información esta
elecciòn se debe hacer en cualquier momento antes del diseño lògico.
Diseño de aplicación:
En esta etapa de diseña los programas de aplicación que usaràn y aplicarà la Base de Datos, esta etapa el
diseño de la Base de Datos son paralelos en la mayor parte de
los casos no se puede finalizar el diseño de las aplicaciones hasta que se a terminado el diseño de Base de
Datos. Por otra lado la Base de Datos exige para dar soporte
a las aplicaciones por lo que ahora una retroalimentación desde el diseño de las aplicaciones al diseño de la
Base de Datos. En esta etapa hay que asegurarse de que
toda la funcionalidad especificada en los requisitos de usuarios se encuentra en el diseño de la aplicación.
Prototipo:
Esta etapa es opcional es para construir prototipo de la aplicaiòn que permiten a los diseñadores y al usuario
probar el sistema, un prototipo es un modelo de trabajo de las aplicaciones del sistema. El prototipo no tiene
toda la funcionalidad del sistema final pero es suficiente para que los usuarios puedan usar el sistema e
identificar que aspectos estan bien, cuales no son adecuados ademàs de poder sugerir mejora ò la inclusión
de nuevos elementos.
Implementaciòn:
En esta etapa se crean las definiciones de la Base de Datos a nivel conceptual externo ò interno, asì como los
programas de aplicación la implementaciòn de la Base de Datos se realiza mediante las sentencias SQL,
estas sentencias se encargan de crear el sistema d la base, los ficheros donde se almacenaràn los datos y las
vistas de los usuarios.
Los programas de aplicación se implementan utilizando lenguaje de tercera y cuarta generaciòn, partes de
estas aplicaciones son transacciones de la Base de Datos que se implementan tambièn mediante lenguaje
SQL. La sentencia de este lenguaje se pueden embeber en un lenguaje de programciòn anfitrion como Visual
Basic,Java, etc. Tambièn se implementan en esta etapa todos l,os controles de seguridad e integridad.
Una vez totalmente detallado el modelo conceptual se comienza con la implementación física del modelo de
datos, a medida que se va avanzando en el modelo el administrador del sistema va asegurando la corrección
del modelo y el validador la utilidad del mismo.
Conversión y Carga de datos:
Esta etapa es necesaria cuando se esta reemplazando un sistema antiguo por uno nuevo. Los datos se
cargan desde el sistema viejo al nuevo directamente ò si es necesario se convierte al formato que requiera el
nuevo SGBD y luego se carga esta etapa se la suele llamar "Migraciòn".
Prueba:
En esta etapa se prueba y vàlida el sistema con los requisitos especificados por los usuarios. Para ello se
debe diseñar una materia de test con datos reales que se deben llevar acabo de manera metòdica y rigurosa.
Si la fase de prueba se lleva correctamente descubrirà los errores en los programas de aplicación y en la
estructura de la Base de Datos.
Mantenimiento:
Una vez que el sistema esta completamente probado o implementado se pone en marcha. El sistema esta
ahora en la fase de mantenimiento en la que se lleva acabo los siguientes tareas: monitoreo de
las prestaciones del sistema y mantenimiento, y actualizaciòn del sistema.
En esta última etapa todos los usuarios del sistema acceden a la base de datos y deben asegurarse el
correcto funcionamiento de la misma, que sus derechos son los adecuados, teniendo a su disposición cuanta
información necesiten. También deberán asegurarse que el acceso a los datos es cómodo, práctico, seguro y
que se han eliminado, en la medida de lo posible, las posibilidades de error.
El administrador se asegura que todos los derechos y todas las restricciones han sido implementadas
correctamente y que se ha seguido en manual de estilo en la totalidad de la implementación
Modelo Entidad – Relaciòn
 Modelaje: es el proceso mediante el cual podemos identificar las propiedades dinàmicas ò estàticas de un
dominio de aplicación con mira a su transformación en un diseño interpretable en un sistema computarizado.
Es el plasmar los requerimientos de los usuarios en un programa para poder implementarlo.

 Entidad: es el objeto sobre el cual se requiere mantener ò almacenar información.

 Relaciòn: es la asociación significativa y estable entre dos entidades

 Atributo: son las propiedades que describen y califican una entidad. Ej: Entidad cliente(nombre, apelliido,
direcciòn, edad, sexo)

Las entidades se las representa mediante cajas que se colocan el nombre de la entidad con letras
mayùsculas. Ej:

Las relaciones se representan con lìneas que conectan las cajas de las entidades. Ej:

Los atributos se incluyen dentro de las cajas de las entidades y se escriben con minùsculas. Ej:
Entidades: se puede considerar entidades a los sujetos, objetos, a los eventos, a los lugares y a los
abstracciones.

Relaciones: las relaciones tiene tres propiedades ò caracterìsticas:


 Grado ò Cardinalidad: que se clasifica en:
 Opcionalidad: es la participación obligatoria u opcional en la entidad de la relaciòn.

 Leyenda: es una expresión que escribe el rol de cada entidad en la relaciòn.

Como se lee el Grado ò Cardinalidad:


 Uno a muchos: una instancia de la entidad A se relaciona con una ò màs instancias de la entidad B.

 Muchos a muchos: una instancia de la entidad A se relaciona con una ò màs instancias de la entidad B y una
instancia de la entidad B se relaciona con uno ò màs instancias de le entidad B.

 Uno a uno: una instancia de la entidad A se relaciona con uno y sòlo unainstancia de la entidad B.
Relaciòn Recursiva
Una instancia de una entidad se asocia con instancia de si misma, es opcional en los dos extremos,es decir,
no hay el carácter de obligatorio. Ej:

Atributo:
Los atributos son empleados para identificar, describir, calificar ò expresar el estado de una entidad.
Todo entidad posee un atributo ò combinación de atributos que se denomina "clave primaria" y que emplea
para diferenciar cada instancia de los demàs.
Adicionalmente los atributos pueden ser obligatoriou opcionales.
 A los atributos que forman parte de la clave primaria se los identifica anteponiendoles el signo de numero (#).
 A los atributos obligatoriose les antepone el asterisco (*).
 A los atributos opcionales se les antepone un circulo (o).

Ejemplo:

En un diagrama entidad-relaciòn tambièn puede agrupar las entidades en supertipo y en subtipo.


 Los supertipo agrupa a dos ò màs entidades subtipo.
 Los subtipo heredan los atributos de las entidades supertipo.

 Cada subtipo puede tener relaciones propias independientes del supertipo.


 Los subtipos se representan como cajas dibujadas dentro de la caja del supertipo.
EJERCICIOS:
COMPAÑÍA DE BOTES SAN JUAN
San Juan es un agente que renta embarcaciones a los clientes por una determinada tarifa. San Juan no posee
barcos, en lugar de eso los arrienda a nombre a los propietarios que deseen obtener ingresos cuando no usan
sus botes. Por tal servicio San Juan cobra una cuota y se especializa en barcos que puedan usarse
para viajes de varios días o semanas.
La embarcación más pequeña tiene 28 pies de largo y la más grande es de 44. Cada barco esta por completo
equipado cuando se renta; gran parte del equipo proporciona el propietario, San Juan agrega otra parte. El
equipo que proporciona el propietario incluye lo que es parte del bote como: radio, brújula, indicadores de
profundidad. Otros importantes instrumentos como estufas y refrigeradores.
Otros que proporciona el propietario no están instalados como parte del bote tales implementos incluyen
velas, cuerdas, anclas bolsas de caucho, salvavidas, y en la cabina platos, cubiertos, utensilios de cocina, etc.
San Juan aporta el equipo de consumo que podría considerarse como provisiones, libros, jabón, toallas de
cocina y artículos similares.
Una importante responsabilidad de San Juan es registrar el equipo que este en el bote, en particular lo que no
están fijos en la embarcación.
San Juan prefiere conservar registros precisos de sus clientes y los viajes para tener estadísticas de cuales
clientes han ido y en que viaje; algunos itinerarios son más peligrosos que otros por tal motivo a San Juan le
gustaría saber que clientes tienen determinado experiencias.
En algunos viajes los clientes solicitan servicios de una tripulación y San Juan contrata por hora a tales
personas.
Las embarcaciones necesitan mantenimiento, San Juan incluye servicios precisos de todos esos procesos
y costos de mantenimiento incluyendo actividades normales como limpieza, cambia de aceite o
representaciones no programadas.
En algunos casos son necesarias las invitaciones durante un viaje, en tal caso los clientes se comunican por
radio con el despachador de San Juan quien determina la mejor opción para hacer la reparación. Por tanto
más estas decisiones los despachadores necesitan información sobre sus opciones de reparación y
antecedentes sobre costos y calidad de la reparación.
ENTIDADES:
 CLIENTE
 PROPIETARIO
 BOTE
 EQUIPO
 VIAJE
 MANTENIMIENTO
 REPARACIÓN
 TRIPULACIÓN
 TIP_EQUIPO
Video club
En una tienda de video se necesita mantener información de alrededor de 3000 casetas cada uno de los
casetes tiene asignado un número por cada `película se necesita conocer un titulo y categoría por ejemplo:
comedia, suspenso, drama, acción, ciencia ficción, etc. Se mantienen algunas copias de muchas películas. Se
le da a cada película una identificación y se mantiene seguimiento de lo que contiene cada casete.
Un casete puede venir en varios formatos y una película es grabada en un solo casete; frecuentemente las
películas son pedidas de acuerdo a un actor especifico Tom Cruise y Demi More son los más populares es por
esto que se debe mantener información de los actores que pertenecen a cada película.
No en todas las películas actúan artistas famosos, a los clientes de la tienda le gusta conocer datos como el
nombre real del actor, y su fecha de nacimiento.
En la tienda se mantienen información solo d los actores que aparecen en las películas y que se tiene a
disposición. Solo se alquila videos a aquellos que pertenecen al club de videos. Para pertenecer al club se
debe tener un buen crédito. Por cada miembro del club se mantiene una ficha con su
nombre, teléfono y dirección, cada miembro del club tiene asignado un número de membresía. Se desea
mantener información de todos los casetes que un cliente alquila, cuando un cliente alquila un casete se
debería conocer e nombre de la película, la fecha en la que se alquila y la fecha de devolución.
ENTIDAD
 CLIENTE
 PELÍCULAS
 TIPO_PEL
 ACTORES
 CASETE
 ALQUILER
ACTOS VANDÁLICOS
Una cadena de hoteles a decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren
guardar en una base de datos los clientes que han deteriorado o robado muebles y cuales son estos muebles.
En la base de datos tendremos información de cada hotel (código, dirección, teléfono), así como un conjunto
de habitaciones identificadas con un número de identificación único para cada hotel y un número de
inmobiliario estándar con un código, descripción precio, por ejemplo: "Silla de cuero, diseño clásico, $43 ".
Después de hacer un inventario todo el mobiliario de los hoteles esta identificado, es decir, sabemos que y
cuanto elemento de mobiliario hay en cada habitación de cada hotel.
Los muebles pueden cambiar de habitación pero no necesitamos guardar la habitación antigua. Para cada
habitación guardaremos también si es soleada, si tiene lavado y si tiene nevera. Cada cliente tiene
información personal (cedula de identidad, nombre, etc.) y además un historial de sus actos vandálicos. Para
cada cliente guardaremos que muebles y cuantos han deteriorado.
También queremos saber la estancia que ha hecho cada cliente en el hotel, guardaremos en un atributo la
fecha de llegada y de salida, así como la de la habitación en la que se ha alojado.
Un cliente puede alojarse en una misma habitación del hotel en diferentes estancias.
Queremos saber los actos vandálicos (que y cuantos muebles) que ha hecho cada cliente en conjunto
independientemente de la habitación que se halla producido.
Queremos saber los actos vandálicos de cada cliente en cada habitación.
ENTIDADES
 CLIENTE
 HOTEL
 HABITACIÓN
 MOBILIARIO
 ESTANCIA
 TIPO_CLIENTE
 ACTO_VANDALICO
 TIPO_HABITACION
 TIPO_MUEBLE
Ejercicios Propuestos
El Instituto Se pretende dotar a un centro escolar de medios informáticos
con el fin de automatizar su gestión.
Descripción
En el centro se utilizan cuadernillos de notas para cada alumno, donde se ponen
las notas correspondientes a cada evaluación de las asignaturas a las que asiste el
alumno. Para ello es preciso tener una lista de alumnos que siguen una asignatura y
una lista de alumnos que no tienen nota de una asignatura determinada. También se
quiere la lista de notas dada por un profesor.
Además, cada clase tiene un profesor que hace las funciones de tutor, un profesor
puede ser tutor de varias clases e impartir varias asignaturas en una clase, pero una
asignatura solo puede ser impartida por un profesor en una clase. En cada clase, hay
también dos representantes o delegados.
Resultados a considerar
El sistema debe dar respuesta a las siguientes preguntas:
1. El profesor J. Pérez imparte Ingles en 4o C (Lista de destinos del profesor por
asignatura y clase).
2. P. Sánchez es alumno de la clase 3o A (Lista de alumnos por clase).
3. P. Rodríguez ha obtenido una nota de 6 en Ingles el 12/3/97 (Libretas de notas).
4. La profesora C. Castillo es tutora de 5o B (Lista de tutores).
5. J. Largo es delegado de 3o A (Lista de delegados).
6. El profesor J. Pérez es profesor del Instituto desde Septiembre de 1992.
La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda la información acerca de las
corridas de todos que se celebran en España y de todos los datos relacionados con ellas.
Se desea tener información acerca de cada corrida, identificada conjuntamente por un número de orden, la
feria en la que se celebra y el año de celebración (por ejemplo: orden = 2, feria = San Isidro, Año = 1999).
En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 3) de los que desea guardar su
DNI, nombre, apodo y fecha en que tomó la alternativa (fecha en la que se convirtió en matador de toros).
Además se desea saber quien fue el torero que le dio la alternativa (padrino) en su día (un torero puede dar la
alternativa a varios toreros o a ninguno).
En cada corrida un torero obtiene una serie de premios (cuántas orejas, cuántos rabos y si salió por la puerta
grande o no) de los que se desea mantener información.
Cada torero puede tener un apoderado del que es protegido. A su vez, un apoderado lo puede ser de varios
toreros. De él se desea saber su DNI, nombre, dirección y teléfono.
Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone único,
localidad, dirección y aforo.
En una misma plaza se pueden celebrar varias corridas de toros.
En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el código de
la ganadería a la que pertenece, el año en que nació y un número de orden. Además se desea mantener
información acerca de su nombre y color así como el orden en que fue toreado.
Cada toro pertenece a una ganadería determinada. De cada ganadería se pretende saber su código, localidad
y antigüedad (fecha de creación).
Ejemplos de Enunciados

1.
2. Cada orden de comprar da lugar a una factura.

3. Un empleado pueden o no puede ser un vendedor pero un vendedor puede ser un empleado.

4. Un cliente solamente puede enviar una orden de compra al mismo tiempo cualquier persona que no tenga
una orden pendiente no es un cliente.

5. Un cliente es un cliente sin importar el número de orden de compra que tenga pendiente hasta la fecha.
Cada orden de compra pertenece a un cliente.

6. Un vendedor puede tener una o más clientes.


7. Cada producto que tenemos en stock esta compuesto de uno ó más partes, cada parte es usada en un
solo producto.

MODELO RELACIONAL
Modelo
Programador Campo
Relacional

Relación Archivo Tabla

Tupla Registro Fila

Atributo Campo Columna


El conjunto de una base de datos es el conjunto de tabla relacional.
La tabla.- Es un conjunto de restricciones.
NORMALIZACIÓN.- El proceso que revisa que la tabla este bien estructurado se llama normalización.
La normalización esta basada en el concepto de formas normales cada forma normal tiene un conjunto de
reglas que deben ser verificada (1NF, 2NF, 3NF).
Estas formas normales son anidados, es decir que para que una relación este en 3FN debe haber pasado por
2FN y esta por la 1FN.
Conceptos usados en la normalización
 Dependencia Funcional.- es la relación que existe entre dos atributos. Ejemplo:

Dado un valor de X existe un valor de Y entonces Y es funcionalmente dependiente de Y.


EMPLEADO
Cod_empleado Nombre
001 Juan Perez
002 Ana Quiroz
XàY
 Claves o llaves.- Es el atributo que le da la diferencia a cada tabla este atributo hace que no tengamos tuplas
o filas repetidas.

Cod_cliente Nombre_cliente
001 Juan Perez
002 Ana Quiroz
003 Ana Quiroz
004 Juan Perez
005 José Lopez

 Dependencia transitoria.- Es la dependencia que esta encadenada.

X Y Z = Dado un valor de "X" existe un valor de "Y" y dado un valor de "Y" existe un valor de "Z" entonces se
dice que "z" es transitivamente dependiente de "X".

Primera Forma Normal (1FN)


1. Las celdas o campos deben tener valores singulares.
2. Las entradas de cualquier columna o atributo deben ser de la misma clase.
3. Cada columna debe tener un nombre único.
4. Dos filas o tuplas no pueden ser iguales.

ID Deporte Valor
100 Ski 200
150 Natación 50
175 Squas 50
200 Natación 50
Al realizar operaciones sobre la tabla se pueden presentar problemas, estos problemas son llamadas
anomalías, estas anomalías pueden ser de inserción, actualización, eliminación, etc.
Segunda Forma Normal (2FN)
Todo atributo no clave depende de un atributo clave "Eliminar dependencias parciales a la clave Primaria de
una Tabla"
Tercera Forma Normal (3FN)
Una relación esta en 3FN si y solo si esta en 2FN y tiene dependencias transitivas, es decir, dependencia
encadenada.
EJERCICIO APLICANDO NORMALIZACION

EMPRESA XYZ

Cliente: _________________________ Nº Factura: __________

Fecha: __________________________ Nº Orden: __________

Cantidad
Código Precio Precio Precio
Detalle Tamaño Valor
Producto Venta Dscto. Especial
O E R

xxx xxxxxx xx x xxx.xx xxx.xx xxx.xx xxx.xx

xxx xxxxxx xx x xxx.xx xxx.xx xxx.xx xxx.xx

xxx xxxxxx xx x xxx.xx xxx.xx xxx.xx xxx.xx

Total Factura $ xxx.xx


 1FN
Número_factura
Fecha_factura
Total_factura
Numero_orden
Fecha_orden
* Cta_bco_cliente
Nombre_cliente
* Direccion_cliente
* Direccion_entrega
Codigo_producto
Descripcion_producto
* Tamaño_producto
Cantidad_ordenada
Cantidad_entregada
Cantidad_restante
Precio_venta
Precio_dscto
Precio_especial
Valor_linea

 2FN

Número_factura
*
Fecha_factura
Total_factura

Numero_orden
*
Fecha_orden

Cta_bco_cliente
*
Nombre_cliente
Direccion_cliente
Direccion_entrega
Codigo_producto
Descripcion_producto
Tamaño_producto
Cantidad_ordenada
*
Cantidad_entregada
Cantidad_restante
Precio_venta
Precio_dscto
Precio_especial
Valor_linea

 3 FN

Número_factura
*
Fecha_factura
Total_factura

Numero_orden
*
Fecha_orden

Cta_bco_cliente
*
Nombre_cliente
Direccion_cliente
Direccion_entrega

Codigo_producto
Descripcion_producto
*
Tamaño_producto
Precio_venta
Precio_dscto
Precio_especial
Codigo_factura
Codigo_producto
*
Cantidad_ordenada
*
Cantidad_entregada
Cantidad_restante
Valor_linea

Ejercicio 1. Actos vandálicos


Una cadena de hoteles ha decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren
guardar en una base de datos los clientes que han deteriorado o robado muebles y cuáles son estos muebles.
En la base de datos tendremos información de cada hotel (código, dirección y teléfono), así como un conjunto
de habitaciones identificadas por un número de habitación único para cada hotel y un conjunto de elementos
de mobiliario estándard con un código, descripción y precio, por ejemplo: "silla de cuero diseño clásico, 98’75
€".
Después de hacer un inventario, todo el mobiliario de los hoteles está identificado, es decir, sabemos qué y
cuantos elementos de mobiliario hay en cada habitación de cada hotel. Los muebles pueden cambiar de
habitación, pero no necesitamos guardar la habitación antigua.
Para cada habitación, guardaremos también si es soleada, si tiene lavabo y si tiene nevera. Cada cliente tiene
información personal (DNI, nombre, etc), y además un historial de sus actos vandálicos: para cada cliente
guardaremos qué muebles y cuántos ha deteriorado.También queremos saber las estancias que ha hecho
cada cliente en los hoteles, guardando en un único atributo la fecha de llegada y la de salida, así como la
habitación en que se ha alojado. Un cliente puede alojarse en una misma habitación de hotel en diferentes
estancias.
Ejercicio 1.1: Queremos saber los actos vandálicos (qué y cuantos muebles) que ha hecho cada cliente en
conjunto, independientemente de la habitación y hotel que se hayan producido.
Ejercicio 1.2: Queremos saber los actos vandálicos de cada cliente en cada habitación del hotel.
Ejercicio 2. Almacenes
Unos almacenes quieren hacer un estudio sobre los hábitos de compra de sus clientes. Disponen de un
conjunto de artículos identificados por su código de barras, cada uno con una descripción y el nombre de su
fabricante. Para cada artículo, quieren probar diversas colocaciones para estudiar como varía su venta.
Para cada colocación tendremos un precio y un lema (del tipo "Más dulces que la miel"), no necesariamente
diferentes. Como un artículo y un lugar determinan una colocación, no puede existir una colocación sin ningún
artículo.
Los clientes de nuestro almacén se identifican por su nombre, número de visa, y además queremos guardar
su dirección y teléfono. De las compras que realizan, sólo queremos saber qué articulo, en qué colocación y el
número de unidades que ha comprado. Diversas compras del mismo artículo en la misma colocación se
acumulan en la misma tupla sumando el número de unidades.
Ejercicio 3. Biblioteca
En una biblioteca hay que guardar la información de todas las publicaciones que se tienen. Cada publicación
tiene un título único. Las publicaciones pueden ser periódicas o no. De las periódicas hay que saber su
periodicidad. Las publicaciones periódicas constan de revistas, cada una definida por un volumen, número y
año. Cada revista contiene artículos, especificados por autores, título y páginas de la revista. De cada revista
(volumen y número) se puede tener más de un ejemplar, caracterizado por un número de ejemplar. Se puede
tener más de un ejemplar, aunque no de todos los volúmenes o números.
Las publicaciones se pueden clasificar en diferentes temas, que pueden estar agrupados en una relación
jerárquica de tema-subtema.
Los socios de la biblioteca pueden coger en préstamo todas las publicaciones periódicas que deseen por un
periodo de quince días. Los préstamos siempre hacen referencia a los ejemplares concretos de las
publicaciones. Si al solicitar un préstamo de una publicación, ésta tiene todos los ejemplares ocupados, el
socio se puede poner en una lista de espera para la publicación periódica, para ser avisado en el momento
que se devuelva alguno de los ejemplares.
Ejercicio 4. Electricista
La empresa de suministros eléctricos "El Chispa" te encarga hacer un diseño de BD de control de stocks y
facturación con los siguientes requerimientos:
"El Chispa" vende artículos. De cada artículo se quiere guardar el código del artículo, nombre, color, medidas,
fabricante y precio de venta. Por ejemplo:
E12, enchufe txuco, blanco, 9x 9 cm, Simon, 2’10 €.
Un artículo no puede ser suministrado por más de un fabricante y no queremos guardar los precios de venta
antiguos, sólo el actual.
De cada fabricante queremos guardar infomación del código del fabricante, nombre, dirección, població,
teléfono y forma de pago (al contado, cheque o transferencia).
De cada venta "El Chispa" hace un Doc de entrega/venta, donde constan el código de entrega/venta, fecha,
datos del cliente, número y código de los artículos vendidos, precio por unidad y precio total por artículo
(número de unidades x precio/unidad).
A finales de mes o cuando toque, se agrupan los albaranes hechos a un cliente en una factura donde
queremos que conste: código de factura, fecha, datos del cliente, la información de cada albarán (número y
nombre de los artículos, precio por unidad y precio total por artículo), total de la factura, forma de pago
y vencimiento en caso que el pago no sea al contado. Todo albarán sólo se puede facturar una sola vez.
De un cliente se quiere guardar el NIF, nombre, dirección, población y teléfono. Una factura pertenece
únicamente a un cliente.
Tenemos un único almacen donde guardamos todos los artículos. Queremos guardar el número de artículos
que tenemos en el almacen en un momento determinado.
Los fabricantes envian artículos al almacen. Queremos guardar los envíos de entrada al almacen. Todo envío
consta únicamente de un artículo. De cada envío queremos saber la fecha, código del artículo y número de
unidades enviadas. Un fabricante puede enviar el mismo día unidades de un mismo artículo. En este caso se
suma el número de unidades enviadas en la misma fecha.
Ejercicio 5. Conflictos bélicos
Una organización internacional quiere hacer un seguimiento de los conflictos bélicos que se producen en el
mundo. Por esto quiere crear una BD que responda a los siguientes requerimientos:
Un conflicto es cualquier lucha armada que afecte a uno o a diversos paises, donde se producen muertos i/o
heridos. Todo conflicto se identificará por un nombre o causa que provoca el conflicto. Este nombre puede
cambiar con el paso del tiempo, por lo que cada conflicto se identificará con un código numérico único. Para
cada conflicto se quiere guardar los paises queafecta así como el número de muertos y heridos par cada país
y el total.
Los conflictos pueden ser de diferentes tipos, según la causa que los haya originado, clasificándose, como
mucho, en cuatro grupos: territoriales, religiosos, económicos y raciales. En cada uno se guardarán diferentes
datos. En los territoriales tendremos las regiones afectadas, en los religiosos las religiones en conflicto, en los
económicos las materias primas disputadas y en los raciales las razas enfrentadas.
En los conflictos intervienen diferentes grupos armados (como mínimo dos) y
diferentes organizaciones intermediarias, pudiendo no haber ninguna. Los mismos grupos armados y
organizaciones intermediarias pueden intervenir en diferentes conflictos. Tanto los grupos como las
organizaciones podrán entrar y salir del conflicto. En este caso se recogerán las fechas de incorporación y de
salida. Podría ser que en un momento determinado un grupo u organización no interviniera en ningún
conflicto.
Para cada grupo armado se guarda un código que se le asigna y un nombre. Cada grupo armado dispone de
una o más divisiones y es liderado por un único líder político. Las divisiones de que dispone un grupo se
numeran consecutivamente y se registra el número de barcos, tanques, aviones y hombres de que dispone
así como les bajas que ha tenido. Para los grupos armados se obtiene el número de bajas como la suma de
las bajas producidas en todas las divisiones.
Los traficantes de armas suministran diferentes tipos de armamento a los grupos armados. De cada tipo de
arma se recoge un nombre y un indicador de su capacidad destructiva. De cada traficante se tiene un nombre
y los diferentes tipos y cantidades de armas que puede suministrar. Se guarda el número total de armas de
cada tipo que cada traficante suministra a un grupo armado.
Los líderes políticos se identifican por su nombre y por código del grupo armado que lideran.
Además se guarda una descripción en texto de los apoyos que ha recibido.
Cada división la pueden dirigir conjuntamente un máximo de tres jefes militares, a pesar de que cada jefe
militar no dirige más que una división. A cada jefe militar se le identifica por un código y rango que tiene. Dado
que un jefe militar no actúa por iniciativa propia, sino por iniciativa de un único líder político de los que lideran
el grupo armado donde pertenece el jefe, queremos saber quién es este líder político a quien obedece.
De las organizaciones intermediarias se recojerá su código, nombre, tipo (gubernamental, no gubernamental,
internacional), la organización de quien depende (una como máximo), el número de personas que mantiene
desplegadas en cada conflicto y el tipo de ayuda que da en cada conflicto que puede ser únicamente uno dels
siguientes tipos: médica, diplomática o presencial.
Con diferentes finalidades, los líderes políticos dialogan con las organizaciones. Se desea recoger
explícitamente esta información. Así, para cada líder se guardarán aquellas organizaciones con las que
dialoga y viceversa.
Ejercicio 6. Parques naturales
El ministerio de Medio Ambiente decide crear un sistema de información sobre parques naturales gestionados
por cada Comunidad Autónoma. Después de un análisis exhaustivo del contexto se ha llegado a las
siguientes conclusiones:
Una Comunidad Autónoma (CA) puede tener varios parques naturales. En toda la comunidad autónoma existe
un único organismo responsable de los parques. Un parque puede estar compartido por más de una
comunidad.
Un parque natural se identifica por un nombre y la fecha en que fué declarado parque natural, y está
compuesto por varias áreas identificadas por un nombre (único dentro del parque pero puede ser genérico
entre parques naturales) y una extensión en kilómetros cuadrados. Por motivos de eficiencia se quiere
favorecer las consultas que hagan referencia al número de parques existentes en cada CA y la superficie total
declarada como parque natural en cada CA.
En cada área residen especies que pueden ser de tres tipos: vegetales, animales i minerales.
Cada especie tiene una denominación científica, una denominación vulgar y un número de individuos en cada
área. De las especies vegetales se quiere saber si tienen floración y en qué periodo (mes) se produce. De los
animales se quiere saber su tipo de alimentación (herbívora, carnívora u omnívora) y su periodo de celo. De
los minerales se quiere saber si se trata de cristales o rocas. Interesa, además, registrar qué especies sirven
de alimento a otras especies, teniendo en cuenta que ninguna especie mineral se considera alimento de
ninguna otra especie y que una especie vegetal no se alimenta de ninguna otra especie.
Cada parque tiene un personal en dedicación exclusiva. De este personal se guarda el DNI, número de la SS,
nombre y apellidos, dirección, teléfonos (fijo y movil) y sueldo. Se distinguen cuatro tipos de personal:
• Personal de gestión: registra los datos de los visitantes del parque y se situan a la entrada del parque. Las
entradas se identifican por un número y orientación (N, S, E, O).
• Personal de vigilancia: vigila una área determinada del parque que recorre un vehículo de un tipo
determinado y con una matrícula.
• Personal de conservación: mantiene y conserva un área determinada del parque. Cada uno realiza una tarea
determinada (limpiar, dar de comer, jardinería, etc.) en un lugar concreto del área (caminos, zona recreativa,
jardines, etc.).
• Personal investigador: tiene una titulación que hay que guardar y puede realizar sólo o en
grupo proyectos de investigación sobre una determinada especie.
Un proyecto de investigación tiene un título, presupuesto, un único investigador principal, un periodo de
realización y un conjunto de investigadores que participan.
Un visitante (DNI, nombre, apellidos, dirección y profesión) puede alojarse en els alojamientos que tiene el
parque. Los alojamientos tienen una capacidad limitada y una determinada categoría.
Los alojamientos organizan excursiones al parque en vehículo o a pié unos determinados días de la semana y
a horas determinadas. Para ir a estas excursiones hay que ser visitante del parque.
Ejercicio 7. ONG
La coordinadora nacional de ONGs quiere mantener una base de datos de las asociaciones de este tipo que
existen en nuestro país. Por ello necesita guardar información sobre cada asociación, los socios que las
forman, los proyectos que realizan y los trabajadores que particpan. De las asociaciones se quiere almacenar
su CIF, nombre, dirección, provincia, el tipo de ONG (ecologista, de integración, de desarrollo, etc.) así como
si está declarada de utilidad pública por el Ministerio de Interior.
Cada asociación está formada por socios de quienes se quiere conocer su DNI, nombre y apellidos, dirección,
provincia, fecha de alta de la asociación, cuota mensual con la que colaboran y la aportación anual que
realizan. La aportación anual será el total de las cuotas mensuales más otras aportaciones voluntarias.
Cada trabajador de una ONG se identifica por su DNI, nombre y apellidos, dirección, teléfonos y fecha de
ingreso. Todo trabajador trabaja para una única ONG. Estos trabajadores pueden ser de dos tipos:
profesionales y voluntarios. Los profesionales cobran un sueldo y ocupan un cierto cargo en la asociación. Se
quiere guardar el cargo que ocupan, la cantidad que pagan a la SS i el porcentaje de IRPF que se les
descuenta. Los voluntarios trabajan en la organización desinteresadamente. Queremos saber de ellos su
edad, profesión y horas que dedican a la asociación.
Las asociaciones realizan proyectos a los cuales están asignados sus trabajadores. Un trabajador puede
trabajar en diferentes proyectos de un mismo país. De cada proyecto se quiere almacenar un número de
identificación en la ONG, país y región donde se realiza, el objectivo que pretende y el nombre de personas
que afecta.
Ejercicio 8. Pinacoteca
El Ministerio de Educación y Ciencia quiere tener información sobre todos los cuadros que se encuentran en
las pinacotecas.
De cada pinacoteca se quiere saber el nombre único, ciudad donde se encuentra, dirección y extensión en
metros cadrados.
Cada pinacoteca tiene un conjunto de cuadros de los cuales se quiere guardar el código (único para todas las
pinacotecas), nombre, medidas, fecha en que se pintó y técnica utilizada par pintarlo.
Cada cuadro es pintado por un único pintor, del que queremos saber el nombre y apellidos, ciudad y país
donde nació, fecha de nacimiento y fecha de la muerte. Un pintor puede tener un único maestro, pero un
maestro puede serlo de varios pintores.
Los pintores pueden pertenecer o no a una escuela de la cual se quiere saber el nombre así como el país y
fecha en que apareció.
Los pintores pueden tener también uno o varios mecenas que los protejen. De los mecenas queremos saber
el nombre y apellidos, país y fecha de nacimiento, fecha de la muerte y la fecha de inicio y final del soporte
que dió al pintor. Un mecenas puede serlo de varios pintores y un pintor puede tener varios mecenas en
periodos diferentes. Se quiere recoger la relación que existe entre un pintor y su mecenas.
Ejercicio 9. Proyectos de investigación
En la UAB se quiere llevar un un control sobre els proyectos de investigación que se realizan.
Se quiere diseñar una BD que contenga toda la información sobre los proyectos, departamentos, grupos de
investigación y profesores. Se consideran los siguientes requisitos: Un departamento se identifica por un
nombre, código, centro (Facultad o Escuela) donde está situado, dirección, profesor de la universidad que
ejerce como director de departamento y un teléfono de contacto (secretaría de departamento).
Dentro de un departamento se crean Unidades donde están adscritos los profesores. Todo profesor ha de
pertenecer a una unidad. Cada unidad tiene un nombre único dentro de la universidad, pertenece a un único
departamento i está asociada a un área de conocimiento (CCIA, ATC, etc.). Cada unidad tiene un jefe de
unidad que ha de ser profesor de universidad.
Un profesor del departamento está identificado por un DNI, nombre y apellidos, años de experiencia en
investigación, unidad a la que pertenece y proyectos en que trabaja. Existen tres tipos de profesorado:
Funcionario (Catedráticos de Universidad y Titulares de Universidad), Ayudantes de Universidad y Asociados.
Del personal funcionario queremos saber el código de funcionario, el año de su toma de posesión y perfil de la
asignatura a la que opositó. De los Ayudantes de Universidad queremos saber la fecha de incorporación. Del
Asociado queremos saber la fecha de incorporación y la empresa en que trabaja.
Cada proyecto de investigación tiene un nombre, código único, presupuesto, fechas de inicio y final del
proyecto y un único profesor que ejerce de investigador principal del proyecto. Un proyecto puede estar
financiado por uno o varios programas nacionales.
Un programa nacional viene identificado per un nombre único y la cantidad total de dinero que el programa
dispone para financiar proyectos. Dentro de cada programa cada proyecto tiene un número asociado y una
cantidad de dinero con que el programa financia el proyecto.
Un profesor puede participar en varios proyectos y puede ser investigador principal de varios proyectos. En
cada proyecto un profesor se incorpora en una determinada fecha y lo abandona en otra con una determinada
dedicación (horas por semana). Un profesor puede incorporarse más de una vez a un proyecto en fechas
separadas.
Ejercicio 10. Reserva de salas
La ETSE quiere controlar el sistema de reservas de sus salas que pone a disposición del personal de la
Escuela durante un curso académico con las siguientes restricciones:
De cada sala (sala de grados, sala de actos, seminarios, aulas) queremos saber el código (Q2/xxxx,Q0/xxxx,
etc.), el tipo de sala (aula, seminario, sala de actos, sala de grados, etc.), capacidad y equipamiento
audiovisual que contiene de forma permamente.
Del equipamiento audiovisual que tiene la Escuela queremos guardar un código único, nombre (proyector,
cañón, etc.), si és permanente o móvil y la sala donde se encuentra, caso de que sea fijo. Tenemos cuatro
tipos de equipamiento: cañón de proyección, proyector de transparencias, proyector de diapositivas y
ordenador. Del cañón de proyección queremos saber la marca, modelo, luminosidad y resolución máxima en
la que trabaja. Del proyector de transparencias queremos conocer su luminosidad y si acepta transparencias
en color o no. Del proyector de diapositivas interesa guardar la marca, modelo, si admite cargador clásico o
moderno y luminosidad. Del ordenador queremos saber el procesador, RAM y resolución máxima.
Un profesor puede reservar una sala en una fecha concreta (dia, mes y año) a intervalos de hora (de 12:00 a
13:00, de 17:00 a 18:00). Cuando reserva la sala, el profesor también reserva todo el equipamiento fijo que
contiene la sala.
Un profesor también puede reservar equipamiento audiovisual móvil con un número variable (2 cañones, 3
proyectores, etc.) en una fecha concreta (día, mes y año) a intervalos de una hora. Dada una fecha y una
hora, queremos saber las salas disponibles y el equipamiento audiovisual disponible. A finales de curso
queremos saber el grado de ocupación de las salas.

Leer más: http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#ixzz4NURgXfjK

Leer más: http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#ixzz4NURHG2wK


Marlon ruiz

Generalidades de una base de datos

Tema 1: Generalidades de Bases de Datos


¿Qué es una base de datos?
De forma sencilla podemos indicar que una base de datos no es más que un conjunto
de información relacionada que se encuentra agrupada o estructurada.
Tipos de base de datos.

Las bases de datos se pueden dividir en cuatro tipos básicos:


Bases de datos de fichero plano (o ficheros por bloques).
Bases de datos relacionales.
Bases de datos orientadas a objetos.
Bases de datos híbridas.
¿Qué es una base de datos de fichero?
Las bases de datos de fichero plano consisten en ficheros de texto divididos en filas y columnas. Estas bases
de datos son las más primitivas y quizás ni tan siquiera merezcan considerarse como tales. Pueden ser
útiles para aplicaciones muy simples, pero no para aplicaciones medianas o complejas, debido a sus grandes
limitaciones.
¿Qué es una base de datos relacional?
Las bases de datos relacionales son las más populares actualmente. Su nombre proviene de su gran
ventaja sobre las bases de datos de fichero plano: la posibilidad de relacionar varias tablas de datos entre sí,
compartiendo información y evitando la duplicidad y los problemas que ello conlleva (espacio
de almacenamiento y redundancia). Existen numerosas bases de datos relacionales para distintas
plataformas (Access, Paradox, Oracle, Sybase) y son ampliamente utilizadas. Sin embargo, tienen un punto
débil: la mayoría de ellas no admite la incorporación de objetos multimedia tales como sonidos, imágenes o
animaciones.
¿Qué es una base de datos orientada a objeto?
Las bases de datos orientadas a objetos incorporan el paradigma de la Orientación a Objetos (OO) a las
bases de datos. La base de datos está constituida por objetos, que pueden ser de muy diversos tipos, y
sobre los cuales se encuentran definidas unas operaciones. Las bases de datos orientadas a objetos
pueden manejar información binaria (como objetos multimedia) de una forma eficiente. Su limitación suele
residir en su especialización, ya que suelen estar diseñadas para un tipo particular de objetos (por ejemplo,
una base de datos para un programa de CAD).
¿Qué es una base de datos híbrida?
Las bases de datos híbridas combinan características de las bases de datos relacionales y las bases de datos
orientadas a objetos. Manejan datos textuales y datos binarios, a los cuales se extienden las posibilidades de
consulta. Es una tecnología reciente y aún existen pocas en el mercado.
Elementos de almacenamiento de una base datos.
CAMPO: Es la unidad básica de una base de datos.
REGISTRO: Es el conjunto de información referida a una misma persona u objeto.
Subtema 2: Aplicaciones de base de datos en la Web (Nancy Chávez)
¿Cuántos artículos se pueden mantener en una tienda virtual?

No existe límite. El comerciante, decide inicialmente bajo que categoría desea que se le configuren los
parámetros de administración de su comercio electrónico por Internet pudiendo elegir entre un comercio
pequeño, mediano o un gran comercio. La principal diferencia radica en el concepto bajo el cual se deberán
clasificar los productos. En una tienda pequeña, aunque con tantos productos como desee, tendrá un índice
de clasificación cómodo y rápido mientras que en una gran tienda deberá clasificar sus artículos en un mayor
número de sub niveles. A medida que el comercio electrónico crece por Internet, existe la posibilidad de migar
la tienda virtual a una categoría superior de clasificación de artículos.
¿Es posible importar directamente artículos de una Base de Datos actual hacia una tienda
virtual?. Explique.
Sí, se puede importar de la actual base de datos de artículos sin necesidad de introducir los productos en uno
en uno. Los comercios electrónicos permiten importar la Base de Datos en colaboración coordinada con
el administrador de la Red.
¿Cuáles son las aplicaciones más importantes de una base de datos en la WEB?
· Comercio electrónico.
· Servicios al cliente (por ejemplo seguimiento de paquetes postales)
· Servicios financieros.
· Búsqueda de información.
· Acceso remoto a bases de datos.
· Bases de datos compartidas (intranets)
· Creación de documentos HTML personalizados (sobre la marcha)
· Distribución multimedia.
· Seguimiento de visitantes.
¿En las bases de datos debe restringirse el acceso a la información?
Sí, dentro de las Bases de Datos pueden existir informaciones restringidas según autorizaciones. Los
Usuarios de estas bases de datos a través de Internet se conectan a la red y abren el Navegador en la URL
determinada; introducen su nombre de Usuario y clave; acceden a un menú o índice principal donde pueden
navegar por las distintas partes; Pueden hacer consultas, adiciones, actualizaciones o borrados, según el
grado de autorización. Estos Datos son actualizados en tiempo real y están al segundo a disposición de los
otros Usuarios concurrentes y posteriores.
La identificación del usuario es una de las formas de guardar la seguridad. Las identidades y permisos de
usuarios están definidas en los archivos de control de acceso. Pero la seguridad e integridad total de los
datos puede conservarse permitiendo el acceso a distintos campos de una base de datos, solamente a
usuarios autorizados para ello. En este sentido los datos pueden ser presentados a través del Web de una
forma segura y con mayor impacto en todos los usuarios de la red mundial.
Mencione ventajas de utilizar Base de Datos en la Web.
La Web es un medio para localizar enviar / recibir información de diversos tipos, aún con las bases de datos.
En el ámbito competitivo es esencial ver las ventajas que ésta vía electrónica proporciona para presentar la
información reduciendo costo y almacenamiento de la información y aumentando la rapidez de difusión de la
misma.
Actualmente la Web permite acceder a bases de datos desde cualquier parte del mundo. Estas ofrecen a
través de la red un manejo dinámico y una gran flexibilidad de los datos, como ventajas que no podrían
obtenerse a través de otro medio informativo.
Otra ventaja de utilizar la Web es que no hay restricciones en el Sistema Operativo que se debe usar,
permitiendo la conexión entre sí de las páginas Web desplegadas en un Browser del Web que funciona en
una plataforma, con servidores de bases de datos alojados en otra plataforma. Además no hay necesidad de
cambiar el formato o la estructura de la información dentro de las BD’s.
¿Qué es ASP y para qué sirve?
Con la tecnología Active Service Pages (ASP) se puede crear un sitio activo que cambie cada semana, cada
día o cada hora si usted lo desea. Si se tiene una bases de datos de los productos y sus precios han
cambiado solamente hay que introducir la nueva bases de datos en el servidor, y todas sus páginas estarán
actualizadas.
Una base de datos permite crear una parte del sitio Web restringido con clave de acceso. Esto puede ser
útil si se quiere crear fichas de información para los clientes para los cuales no se tenga libre acceso, creando
así su propia Extranet.
Subtema 3: Interfaces Web (Williams Solano)
¿Qué es una Interfaz Web?

Es aquella que contiene las especificaciones de la base de datos necesarias para traducir las solicitudes
enviadas desde el cliente, a un formato que sea reconocido por dicha base, además contiene toda la
información, estructura, variables y llamadas a funciones, necesarias para comunicarse con la Base de Datos.
¿Qué directrices se deben seguir para el diseño de Interfaces Web?
· Planteamiento General
· Organización de la Información
· Facilidad de navegación: Iconos y mapas sensibles
· Agilidad en las tareas
· Comodidad en la lectura
· Consistencia
· Accesibilidad
· Evaluación del diseño.
¿Cuál es la estrategia más famosa para la creación de aplicaciones de interacción con el Web?
Descargar aplicaciones o componentes funcionales que se ejecutarán dentro del browser. Con ellas se
realizará un procesamiento complejo de lado del cliente, lo cual requiere un gran esfuerzo para crear las
piezas de la aplicación. Estas estrategias poseen dos características principales: garantizan la seguridad tanto
en los sistemas de distribución como en la comunicación que se establece en tales aplicaciones.
¿Sobre que áreas gira el diseño de una aplicación Web?
El diseño de una aplicación Web gira alrededor de tres áreas fundamentales:
 El diseño de la interfaz de usuario debe encontrar un justo equilibrio entre los tipos de exploradores
admitidos, la estética de la aplicación y su facilidad de uso. Al diseñar una interfaz para usar en Internet, es
necesario tener en cuenta la cantidad de tiempo que una página tardará en descargarse a través de la
conexión más lenta que piense usar.
 Un diseño eficaz de la base de datos es crucial para garantizar un tiempo de respuesta rápido por parte
del cliente. Para diseñar una base de datos adecuada, es necesario distribuir apropiadamente los datos entre
la base de datos y el sistema de archivos, normalizar de forma razonable las tablas que no requieran
combinaciones excesivas para responder a las consultas, crear índices suficientes para optimizar las
consultas más frecuentes sin que se utilice una cantidad de espacio de disco excesiva y
usar procedimientos almacenados para llevar a cabo operaciones de base de datos frecuentes o complejas.
Para obtener una introducción a las cuestiones relacionadas con el diseño de bases de datos, consulte el
apartado acerca de consideraciones relativas al diseño de bases de datos en el Kit de herramientas para el
programador de Microsoft SQL Server.
 Elaborar un plan de acceso a la base de datos en el que se especifique qué páginas HTML requieren
contenido de base de datos puede ayudar al diseñador a determinar qué páginas deben generarse de forma
totalmente dinámica mediante secuencias de comandos de servidor y qué páginas pueden crearse pseudo
dinámicamente (mediante herramientas como el Ayudante de Web de SQL Server) para generar páginas
estáticas de acuerdo con una programación predeterminada.

¿Qué es una Interfaz de programación de aplicaciones API?


Es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones de interfaz. API está
diseñado especialmente para los programadores, ya que garantiza que todos los programas que utilizan API,
tendrán interfaces similares. Asimismo, esto le facilita al usuario aprender la lógica de nuevos programas.
Subtema 4: Tecnologías para la integración de bases datos web (José Guerrero)
¿Cuál es la tecnología para la integración de base de datos web que se ejecuta en tiempo real en un
servidor web en respuesta de un programa cliente?.
CGI (Common Gateway Interface)
¿Qué significa las siglas SQL?
Structured Query Language (Lenguaje de Consulta Estructurado)
Nombre los lenguajes de programación con los cuales un programa CGI puede ser escrito:
C/C++, Pascal, Perl, TCL, Fortran, Visual Basic, AppleScript, JavaScript y Delphi.
¿Qué es JDBC?
Es un API de Java, la cual permite conectar los programas escritos en Java con la base de datos.
¿Tecnología que permite conectividad abierta de base de datos?
ODBC
¿Qué es JavaScript?
Es un lenguaje de scripts compacto basado en objetos y orientado a eventos, el cual permite la realización de
aplicaciones de propósito general a través de la WWW y aunque no esta diseñado para el desarrollo de
grandes aplicaciones es suficiente para la implementación de aplicaciones WWW completas o interfaces
WWW hacia a otras más complejas. El JavaScript depende únicamente del servidor web.
Establezca las diferencias entre Java y JavaScript.
JavaScript:
· Interpretado (no compilado) en cliente.
· Basado en objetos. Usan objetos, pero no clases ni herencia.
· Código integrado en el código HTML.
· Enlazado Dinámico.
Java:
· Compilado en servidor antes de la ejecución del cliente.
· Programación orientado a objetos. Los applets constan de clases objeto con herencia.
· Applets diferenciados del código HTML.
· Enlazados estáticos.
¿Qué es el modelo de tres capas del API JDBC?
En este modelo, las instrucciones son enviadas a una capa intermedia que se encarga de enviar las
sentencias SQL a la Base de Datos. El manejador de Base de Datos procesa las sentencias y retorna los
resultados a la capa intermedia que se encarga de enviarlos al usuario.
¿Qué es ODBC?
Es un tipo de arquitectura con la cual los datos existentes son independientes de la plataforma o del formato.
Subtema 5: Lenguajes para el manejo de base de datos en la web (Marlon García)
¿Qué es el XML?
Es el estándar de Extensible Markup Language. XML no es más que un conjunto de reglas para definir
etiquetas semánticas que nos organizan un documento en diferentes partes. XML es un metalenguaje que
define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados.
¿Qué es el Perl?
PERL significa Practical Extraction and Report Language, algo así como lenguaje práctico de extracción y
de informes. PERL es un lenguaje interpretado, aunque en realidad, el intérprete de PERL, como todos los
intérpretes modernos, compila los programas antes de ejecutarlos. Por eso se habla de scripts, y no de
programas, concepto referido principalmente a programas compilados al lenguaje máquina nativo del
ordenador y sistema operativo en el que se ejecuta.
¿Qué es el HTML?
El HTML (HipertText Markup Language) o Lenguaje de enlaces hipertexto es un sistema que se encarga de
definir tipos de documentos estructurados y lenguajes de marcas para representar esos mismos documentos.
El término HTML se suele referir a ambas cosas, tanto al tipo de documento como al lenguaje de marcas.
¿Cómo se procesa un programa Perl?
Perl procesa el programa en varias fases:
1. Examinar la línea para buscar swiches.
2. Ejecución previa del programa.
3. Compilación.
4. Ejecución carnuda (ejecuta el código intermedio, hasta encontrar exit o hasta que se acabe el archivo).
5. Ejecución final.
¿Qué es un lenguaje de marcas?

Las marcas son códigos que indican a un programa cómo debe tratar su contenido y así, si se desea que un
texto aparezca con un formato determinado, dicho texto debe ir delimitado por la correspondiente marca que
indique como debe ser mostrado en pantalla o impreso. Y lo mismo ocurre con todas las demás
características de cualquier texto. Ejemplos pueden tenerlos en mente los usuarios de WordPerfect.
Nombre algunas aplicaciones del XLM.
Office, Oracle, Explorer
Subtema 6: Seguridad de Componentes que manejan Base de Datos (Frandy Alfonso)
¿Qué ofrece un corta fuego como medio de seguridad para la Base de datos?
· Aislamiento. La misión de un cortafuegos es aislar su red privada de Internet, restringiendo el acceso
hacia/desde su red sólo a ciertos servicios, a la vez que analiza todo el tráfico que pasa a través de él.
· Cuello de botella. El cortafuegos se constituye en un cuello de botella, que mantiene a los atacantes y
peligros alejados de la red a proteger; prohíbe en los dos sentidos servicios susceptibles a ataques; y
proporciona protección ante algunos tipos de ataques basados en el enrutamiento de paquetes.
· Auditoria y registro de uso. El cortafuegos constituye un buen lugar donde recopilar información sobre el
uso de la red. En su calidad de punto único de acceso, el cortafuegos puede registrar toda la actividad entre la
red exterior y la interior.
· Seguridad de contenidos. Existen otras amenazas como los virus y el contenido activo malicioso, frente
a las cuales los mejores cortafuegos ofrecen una protección limitada. La inspección antivirus del material
transmitido a través de servicios como el correo electrónico, la Web o FTP es una característica incorporada
por un número cada vez mayor de cortafuegos.
Tipos de seguridad de bases de Datos.
Los tipos de seguridad que son necesarios en un desarrollo informático, estos son:
· Seguridad lógica: este nivel de seguridad implica mantener la integridad y consistencia de los datos en
la base de datos cuando se realicen las operaciones de altas, bajas y modificaciones en la base de datos del
sistema.
· Seguridad física: este nivel de seguridad implica mantener la integridad física de los archivos donde se
almacena la base de datos y el log de transacciones, en el disco del servidor. Será implementado con
procedimientos de resguardo, back-up, y restauración. Dichos procedimientos serán realizados
periódicamente por el administrador de la aplicación.
· Seguridad de acceso: este nivel de seguridad implica restringir el acceso a los datos por parte de
usuarios no autorizados. Será implementado tanto en la base de datos como en la aplicación.
La administración de la seguridad se realiza con un módulo especialmente diseñado para esa tarea.
¿Cuáles son las técnicas de copia de seguridad que utilizan las Bases de Datos en la Web?
En general, hay tres técnicas de copia de seguridad y son:
Copia de seguridad sin conexión (en frío):
La base de datos se cierra limpiamente y se pone fuera de conexión. El software de copia de seguridad
independiente copia entonces los archivos en los dispositivos de copia de seguridad. Cuando la copia finaliza,
la base de datos se puede poner en conexión. Los datos dejan de estar disponibles desde el momento en que
la base de datos comienza a cerrarse hasta que se pone de nuevo en conexión.
Copia de seguridad en conexión (en caliente):
El sistema de administración de la base de datos se está ejecutando y la base de datos está en conexión. Sin
embargo, no se está teniendo acceso a la base de datos propiamente dicha y, por lo tanto, no está disponible
para que la usen las aplicaciones durante la copia de seguridad.
Copia de seguridad en conexión activa:
La base de datos está en conexión y se usa activamente. La copia de seguridad se ejecuta durante el
procesamiento normal de transacciones. No se requiere ninguna pausa para la copia de seguridad.
¿Cuáles son las medidas que se deben tomar para evitar el acceso no autorizado a la base de datos?
Para proteger el acceso a las tablas, puede elegir de entre las siguientes opciones:
· Cambiar el perfil de usuario que emplea para acceder a un recurso por otro perfil de usuario que ya tenga
autorización sobre las tablas.
· Añadir autorización para acceder a las tablas al perfil de usuario utilizado.
· Utilizar una combinación formada por los dos métodos anteriores.
¿Qué es una "puerta trasera" en base de datos?
Una puerta trasera es una forma no documentada de ganar acceso a un sistema informático, lo que
normalmente implica usar una contraseña secreta. El fallo permite a un posible atacante cambiar la
información de la base de datos y usar programas de todo tipo, lo que podría causar resultados desastrosos
para el sistema.
¿A qué hace referencia seguridad de componentes en base de datos?

Se refiere a la protección de datos contra el acceso no autorizado. Estas base de datos, programas y datos se
pueden asegurar entregando números de identificación y contraseñas a los usuarios autorizados

Leer más: http://www.monografias.com/trabajos24/bases-de-datos/bases-de-datos.shtml#ixzz4NUSPLVW4

Jose Valles

Bases de Datos

1. Introducción
Un archivo es un elemento de información conformado por un conjunto de registros. Estos registros a su vez
están compuestos por una serie de caracteres o bytes. Los archivos, alojados en dispositivos de
almacenamiento conocidos como memoria secundaria, pueden almacenarse de dos formas diferentes:
archivos convencionales o bases de datos.
Los archivos convencionales, pueden organizarse como archivos secuenciales o archivos directos. Sin
embargo, el almacenamiento de información a través de archivos convencionales presenta una serie de
limitaciones que restringen de manera importante la versatilidad de los programas de aplicación que se
desarrollan.

2. Archivos convencionales
El uso de sistemas de información por parte de las organizaciones requiere el almacenamiento de grandes
cantidades de información, ya sea para el uso mismo del sistema, para generar resultados o para compartir
dicha información con otros sistemas.
Las formas en las cuales pueden organizarse son archivos secuenciales o archivos directos. En los archivos
secuenciales los registros están almacenados en una secuencia que depende de algún criterio definido. Por
ejemplo, pueden almacenarse los registros de los empleados de la empresa de manera secuencial de
acuerdo al departamento al que pertenecen o de acuerdo a su antigüedad.
Si se desea consultar o modificar información, también es necesario buscar uno por uno en los registros hasta
encontrarla.
Los archivos directos permiten accesar directamente un registro de información sin tener que buscar uno a
uno por todos los registros del archivo, utilizando una llave de acceso dentro del archivo.

3. Definición de Base de Datos


Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son
recolectados y explotados por los sistemas de información de una empresa o negocio en particular.
Las bases de datos proporcionan la infraestructura requerida para los sistemas de apoyo a la toma de
decisiones y para los sistemas de información estratégicos, ya que estos sistemas explotan la información
contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para
lograr ventajas competitivas. Por este motivo es importante conocer la forma en que están estructuradas las
bases de datos y su manejo.

4. Componentes principales
Datos. Los datos son la Base de Datos propiamente dicha.
Hardware. El hardware se refiere a los dispositivos de almacenamiento en donde reside la base de datos, así
como a los dispositivos periféricos (unidad de control, canales de comunicación, etc.) necesarios para su uso.
Software. Está constituido por un conjunto de programas que se conoce como Sistema Manejador de Base de
Datos (DMBS: Data Base Management System). Este sistema maneja todas las solicitudes formuladas por los
usuarios a la base de datos.
Usuarios. Existen tres clases de usuarios relacionados con una Base de Datos:
 1. El programador de aplicaciones, quien crea programas de aplicación que utilizan la base de datos.
 2. El usuario final, quien accesa la Base de Datos por medio de un lenguaje de consulta o de programas de
aplicación.
 3. El administrador de la Base de Datos (DBA: Data Base Administrator), quien se encarga del control general
del Sistema de Base de Datos.

5. Ventajas en el uso de Bases de Datos.


Globalización de la información. Permite a los diferentes usuarios considerar la información como un recurso
corporativo que carece de dueños específicos.
Eliminación de información redundante. Duplicada Eliminación de información inconsistente. Si el sistema esta
desarrollado a través de archivos convencionales, dicha cancelación deberá operarse tanto en el archivo de
facturas del Sistema de Control de Cobranza como en el archivo de facturas del Sistema de Comisiones.
Permite compartir información. Varios sistemas o usuarios pueden utilizar una misma entidad.
Permite mantener la integridad en la información. Solo se almacena la información correcta.
Independencia de datos. La independencia de datos implica un divorcio entre programas y datos; es decir, se
pueden hacer cambios a la información que contiene la base de datos o tener acceso a la base de datos de
diferente manera, sin hace cambios en las aplicaciones o en los programas.

6. El sistema organizador de Base de Datos (DBMS)


El DBMS es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las
bases de datos. Se compone de un lenguaje de definición de datos (DDL: Data Definition Language), de un
lenguaje de manipulación de datos (DML: Data Manipulation Language) y de un lenguaje de consulta (SQL:
Structured Query Language).
El lenguaje de definición de datos (DDL) es utilizado para describir todas las estructuras de información y los
programas que se usan para construir, actualizar e introducir la información que contiene una base de datos.
El lenguaje de manipulación de datos (DML) es utilizado para escribir programas que crean, actualizan y
extraen información de las bases de datos.
El lenguaje de consulta (SQL) es empleado por el usuario para extraer información de la base de datos. El
lenguaje de consulta permite al usuario hacer requisiciones de datos sin tener que escribir un programa,
usando instrucciones como el SELECT, el PROJECT y el JOIN.
La secuencia conceptual de operaciones que ocurren para acceder cierta información que contiene una base
de datos es la siguiente:
1 El usuario solicita cierta información contenida en la base de datos.
El DBMS intercepta este requerimiento y lo interpreta.
El DBMS realiza las operaciones necesarias para acceder y/o actualizar la información solicitada.

7. El administrador de la Base de Datos (DBA)


El DBA es la persona encargada de definir y controlar las bases de datos corporativas, además proporciona
asesoría a los usuarios y ejecutivos que la requieran.

8. Tipos de modelos de Datos


Existen fundamentalmente tres alternativas disponibles para diseñar las bases de datos: el modelo jerárquico,
el modelo de red y el modelo relacional.
a)._El modelo jerárquico La forma de esquematizar la información se realiza a través de representaciones
jerárquicas o relaciones de padre/hijo, de manera similar a la estructura de un árbol. Así, el modelo jerárquico
puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a
muchos.
En el primer tipo se dice que existe una relación de uno a uno si el padre de la estructura de información tiene
un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo se dice que la relación es de
uno a muchos si el padre tiene más de un hijo, aunque cada hijo tenga un solo padre.
Inconveniente del modelo jerárquico Relación maestro-alumno, donde un maestro tiene varios alumnos, pero
un alumno también tiene varios maestros, uno para cada clase. En este caso, si la información estuviera
representada en forma jerárquica donde el padre es el maestro y el alumno es el hijo, la información del
alumno tendrá que duplicarse para cada uno de los maestros.
Otra dificultad que presenta el modelo jerárquico de representación de datos es respecto a las bajas. En este
caso, si se desea dar de baja a un padre, esto necesariamente implicará dar de baja a todos y cada uno de
los hijos que dependen de este padre.
b)._El modelo de red El modelo de red evita esta redundancia en la información, a través de la incorporación
de un tipo de registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron
los alumnos de cada profesor.
La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes registros
conectores.
c)._El modelo relacional Se está empleando con más frecuencia en la práctica, debido el rápido entendimiento
por parte de los usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las
ventajas que ofrece sobre los dos modelos anteriores.
En este modelo toda la información se representa a través de arreglos bidimensionales o tablas. Estas
operaciones básicas son:
 Seleccionar renglones de alguna tabla (SELECT)
 Seleccionar columnas de alguna tabla (PROJECT)
 Unir o juntar información de varias tablas (JOIN)
Es importante mencionar que la mayoría de los paquetes que manejan bases de datos disponibles en
el mercado poseen las instrucciones SELECT, PROJECT Y JOIN con diferentes nombres y modalidades.

9. Bases de Datos distribuidas


Son las Bases de Datos que no están almacenadas totalmente en un solo lugar físico, (esta segmentada) y se
comunican por medio de enlaces de comunicaciones a través de una red de computadoras distribuidas
geográficamente.

10. Tendencias futuras


La explotación efectiva de la información dará ventaja competitiva a las organizaciones.
Las bases de datos orientadas a objetos empleadas para diseño y manufactura asistida
por computadora CAD/CAM serán utilizados a un mismo nivel que las Bases se Datos relacionales de la
actualidad.
Los lenguajes de consulta (SQL) permitirán el uso del lenguaje natural para solicitar información de la Base de
Datos, haciendo más rápido y fácil su manejo.

11. Algunas Bases de Datos


SQL, ORACLE, DBASE, IV, FOXPRO, FOXBASE, PARADOS, ACCES, APPROACH.

Leer más: http://www.monografias.com/trabajos12/basdatt/basdatt2.shtml#ixzz4NUT1quJT

Leer más: http://www.monografias.com/trabajos12/basdatt/basdatt.shtml#ixzz4NUSto0xl

Raul Uranga Cruz

Bases de datos

Una base de datos o banco de datos es un conjunto de datos que pertenecen al mismo contexto
almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse
una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su
consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica,
la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al
problema de almacenar datos.
En informática existen los sistemas gestores de bases de datos (SGBD), que permiten almacenar y
posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de los sistemas gestores
de bases de datos se estudian en informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son
ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran
protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran
protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).
¿Qué es una DB?
Data Base = Base de datos en inglés
¿Qué es una BBDD o BD?
Base de datos
¿Para qué sirve una DB?
Almacenar datos
¿Cómo se aprende a programar en mySQL?
No se aprende, mySQL es una base de datos, no un lenguaje
¿SQL es una base de datos?
SQL Server sí, pero SQL es un lenguaje
¿Cuántos tipos hay?
Muchos, pero los habituales en Web son Access, mySQL y SQL Server 2000
¿Necesito algún lenguaje especial para conectarme?
Sí, SQL es el lenguaje para interactuar con las bases de datos
¿Qué es un Query?
Una consulta a la base de datos
¿Qué es ABM?
Alta, Baja y Modificación de cualquier cosa. Usualmente de una base de datos que contiene datos.
¿Qué es CMS?
Control Managment System: Un panel de control que administra un Web site, y a menudo una base de datos.
Ahora, aclaradas estas dudas básicas, vamos al grano. Separaré en varios items la explicación a fin de un
mejor orden.
1.

2. Funcionalidad de un DB
Una base de datos (sea cual sea) es un soporte digital que tiene como fin el almacenamiento masivo de
información en formato texto plano. No es capaz de almacenar imágenes como se cree, sino que almacena
las rutas (path) de dichas fotos; ni almacena otro tipo de datos; sino que almacena sus rutas de acceso de ser
necesario.
Las bases de datos, son utilizadas en sistemas que requieren una interacción fluida con la aplicación; estas se
encargan muchas veces de administrar, editar, y dar de alta. Usualmente la base de datos, esta ligada a
la programación directa del site, causando que una edición en ella cause una modificación directa en lo que ve
el usuario.
Ejemplos de aplicación de una base de datos (entiéndase que están ligadas a un lenguaje dinámico
como PHP o ASP):
E – comerce, Agendas, Libros de visitas, foros, portales, etc.
1. Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su
clasificación:
1.
1. Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos
históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto
de datos a través del tiempo, realizar proyecciones y tomar decisiones.
2. Bases de datos estáticas
3. Bases de datos dinámicas

Éstas son bases de datos donde la información almacenada se modifica con el tiempo,
permitiendo operaciones como actualización y adición de datos, además de las operaciones
fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en
un sistema de información de una tienda de abarrotes, una farmacia, un videoclub, etc.
2. Según la variabilidad de los datos almacenados

2. Tipos de bases de datos


 Según el contenido

1. Solo contienen un su rogante (representante) de la fuente primaria, que permite localizarla.


Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de
publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o
extracto de la publicación original, pero nunca el texto completo, porque sino estaríamos en presencia de
una base de datos a texto completo (o de fuentes primarias—ver más abajo). Como su nombre lo indica,
el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio,
entre otras.
2. Bases de datos bibliográficas

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una
colección de revistas científicas.
3. Bases de datos de texto completo

Un ejemplo son las guías telefónicas en formato electrónico.


4. Directorios
5. Bases de datos o "bibliotecas" de información Biológica

Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o
médicas. Se pueden considerar en varios subtipos:
 Aquellas que almacenan secuencias de nucleótidos o proteínas.
 Las bases de datos de rutas metabólicas
 Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de
biomoléculas
 Bases de datos clínicas
 Bases de datos bibliográficas (biológicas)

Modelos de bases de datos


Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de
acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en
donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos
contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación
de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptosmatemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
 Bases de datos jerárquicas

Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura
jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde
un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los
nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un
gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran
rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la
redundancia de datos.
 Base de datos de red

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación


del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el
modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de
redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos
de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios
finales.
 Base de datos relacional

Artículo principal: Modelo relacional


Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM
en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de
datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en
forma lógicacomo conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos
relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más
fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por
registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros
modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y
de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o
almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query
Language o Lenguaje Estructurado de Consultas, un estándar implementado por los
principales motores o sistemas de gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce
como normalización de una base de datos.
Durante los años '80 (1980-1989) la aparición de base produjo una revolución en los lenguajes
de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba
SQL como lenguaje base para su gestión.
 Bases de datos orientadas a objetos

Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar
en la base de datos los objetos completos (estado y comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes
del paradigma de objetos:
 Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos
incorrectos o conflictos.
 Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de
clases.
 Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte
de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz
(o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o
parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse
sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a
dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han
implementado. Esto podría denominarse independencia entre programas y operaciones.
Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos
orientados a objetos y mantendría compatibilidad con SQL92.
 Bases de datos documentales

Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es
un sistema de índices optimizado para este tipo de bases de datos.
 Base de datos deductivos

Un sistema de base de datos deductivos, es un sistema de base de datos pero con la diferencia de que
permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son
almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos
lógica, a raíz de que se basan en lógica matemática.
 Gestión de bases de datos distribuida

La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la
existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada
localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera.

Estructura normal de una DB


Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido
para acceder la información de manera coherente.
Cada base de datos tiene una o más tablas, las cuales cumplen la función de contener los campos. Un
ejemplo de tabla sería "contactos". Para entender mejor esto, sería como un libro en el excel. Mientras que los
campos serían las columnas del excel donde se ordena cada datos insertado al libro. Ejemplo "ID, nombres,
apellidos, teléfono". Y luego finalmente tenemos las filas (row), que son la información propiamente dicha.
Por consiguiente una base de datos posee el siguiente orden jerárquico:
 Tablas
 Campos
 Registros

Tipos usuales de bases de datos en la Web


En la Web, se suelen usar 3 tipos de bases de datos:
Access: Es una base de datos desarrollada por Microsoft comúnmente utilizada bajo el lenguaje ASP (Active
Server Pages). Esta base de datos, debe ser creada bajo el programa access, el cual crea archivo .mdb con la
estructura ya explicada. El programa usa un entorno gráfico normal, y es muy parecido a usar excel.
MySQL: Es una base de datos con licencia GPL basada en un servidor, puede ser sólo creada por código.
Usualmente se utiliza el programa phpMyAdmin como soporte para administrar la base de datos en el nivel de
programación (a un usuario normal le resultaría complicado utilizarla desde línea de comandos).
SQL Server: Es una base de datos más potente que access desarrollada por Microsoft también, que se
supone es recomendable arriba del millón datos.
PostgreSQL / Oracle: Son realmente mucho más poderosas que todas las antes mencionadas, aunque
también se duplican los problemas. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas
en intranets y sistemas de gran calibre.
 Lenguaje SQL

Este es el lenguaje que se utiliza para conectarse a una base de datos. Son sentencias, que realizan un query
(consulta) a la DB a fin de que esta les responda con una cantidad de datos limitada según lo buscado.
Básicamente, existen muchísimas funciones de SQL, pero detallaré las más usuales, con las cuales se
pueden lograr una interacción buena con la DB.
Insertar Datos a una Tabla especifica:
INSERT INTO `Nombre Tabla` (` Nombre Campo `, ` Nombre Campo `, `Nombre Campo`) VALUES ('Valor', '
Valor', ' Valor ');
Editar Datos de una fila especifica
UPDATE ` Nombre Tabla ` SET ` Nombre Campo ` = 'Valor', ` Nombre Campo ` = ' Valor', ` Nombre Campo `
= ' Valor' WHERE `ID` = 'Numero Fila';
Nota: Siempre se incluye el campo id, a fin de identificar con un valor numérico una fila.
Borrar una Fila
DELETE FROM ` Nombre Tabla ` WHERE `id`='Numero Fila';
Seleccionar datos de una Fila
SELECT Nombre Campo, Nombre Campo FROM Nombre Tabla where id = Numero Fila;
Buscar datos dentro de una tabla
SELECT Nombre Campo FROM Nombre Tabla where Nombre Campo LIKE '%".Concepto de Búsqueda."%;
Contar Registros totales en un campo
SELECT COUNT (Nombre Campo) FROM Nombre Tabla;

Andrés Aizaga
Pedro Tomala, Ronald Ortiz
Ronny Murillo
Ismael Camejo
Gregorio Chiriguaya

Leer más: http://www.monografias.com/trabajos55/base-de-datos/base-de-datos2.shtml#ixzz4NUU4JXIa

Leer más: http://www.monografias.com/trabajos55/base-de-datos/base-de-datos.shtml#ixzz4NUToVODK

DEFINICIÓN Y CONCEPTO DE BASE DE DATOS Una base de datos es un sistema informático a modo
de almacén. En este almacén se guardan grandes volúmenes de información. Por ejemplo,
imaginemos que somos una compañía telefónica y deseamos tener almacenados los datos
personales y los números de teléfono de todos nuestros clientes, que posiblemente sean millones
de personas. Esta información es de gran volumen de tamaño: estamos hablando de veinte o
treinta datos multiplicados por miles o millones de personas. La antigua gestión de datos se
basaba en archivos informáticos, pero para las necesidades de hoy en día hacen falta sistemas más
perfeccionados que son precisamente lo que se denomina sistema de base de datos. Llegamos a la
conclusión de que necesitaríamos una base de datos para automatizar el acceso a la información y
poder acceder a ella de manera rápida y fácil además de poder realizar cambios de una manera
más eficiente. Toda base de datos debe tener una serie de características tales como seguridad
(sólo personas autorizadas podrán acceder a la información), integridad (la información se
mantendrá sin pérdidas de datos), e independencia (esta característica es fundamental ya que una
buena base de datos debería ser independiente del sistema operativo o programas que
interactúen con ella). Hay más características que debe reunir una base de datos como ser
consistente (es decir, que la información se guarde sin duplicidades y de manera correcta). Y
finalmente, las bases de datos actuales permiten el manejo correcto de transacciones. Esto
significa que se ha de permitir efectuar varias operaciones sobre la base de datos pero tratadas a
modo de una sola. Es decir, si en el conjunto de las operaciones de una transacción se produce un
error, entonces se deshacen todas las operaciones realizadas anteriormente y se cancela la
transacción. Piensa en una transferencia bancaria que comprende varias operaciones como sacar
dinero de una cuenta, anotarlo en el extracto de esta cuenta, añadirlo a otra cuenta y anotarlo en
el extracto de esta otra cuenta. Supón ahora que después de sacar el dinero de la cuenta de origen
se produce un error: la transacción (proceso completo) no se ha completado, y en este caso la
base de datos revierte lo que se haya hecho y deja la situación tal y como estaba antes de
comenzar la transacción. Otro factor importante en las bases de datos es el tiempo de respuesta,
que evidentemente debe ser lo más rápido posible en devolver o anotar las informaciones. Piensa
que una base de datos puede tener que estar enviando y anotando información correspondiente a
decenas de personas conectadas a internet. Si la velocidad de respuesta no es buena, la página se
quedaría “bloqueada”. Qué es una base de datos y cuáles son los principales tipos de bases de
datos . © aprenderaprogramar.com, 2006-2029 HISTORIA E INICIOS Los inicios de las base de
datos modernas se deben sobre todo al desarrollo realizado por el inglés Edgar Frank Codd, que
propuso el primer modelo teórico relacional, es decir, definió cómo se debían relacionar los datos
pertenecientes a una base de datos. Por otro lado IBM desarrolló la primera definición de lenguaje
para base de datos (que definía cómo añadir y extraer información de una base de datos) llamado
SEQUEL. Más tarde SEQUEL acabaría convirtiéndose en el lenguaje más utilizado hoy en día con
bases de datos, el SQL. SQL se ha convertido en un lenguaje estándar para todas las bases de
datos. Hoy día es empleado por prácticamente todas las bases de datos existentes. Como en todo
lenguaje ha habido mejoras y por tanto nuevas versiones a lo largo del tiempo, pero aunque cada
sistema de base de datos tenga sus propias particularidades, todos comparten muchas
características comunes. DOS GRANDES ÁREAS Dentro de SQL hay dos grandes áreas llamadas DDL
y DML. DDL (en inglés Data Definition Language) es la parte del lenguaje que permite la definición
de datos, por tanto son funciones que definen cómo van a ser los datos. Por ejemplo nosotros
podemos definir que el dato de “edad” de una persona va a ser un número entero mientras que el
dato “nombre” va a ser una cadena de texto. Los datos en una base de datos se almacenan en
tablas formadas por filas y columnas. Las columnas nos indican el nombre de los datos y las las
filas contendrán los valores de los datos propiamente dichos almacenados. Así un ejemplo de tabla
muy simple podría ser una tabla de usuarios, donde vamos a almacenar la información de su
nombre y teléfono. Tendremos por tanto dos columnas y tantas filas como usuarios existan en
nuestra base de datos Tabla Usuarios NOMBRE TELÉFONO José 9434455444 Manuel 6578545458
Miguel 4987873487 Por otra parte está el área de DML (en inglés Data Manipulation Language) o
Lenguaje de Manipulación de Datos, que como su nombre indica nos permite manipular la
información y que básicamente se compone de estas instrucciones o funciones: - Select: función
que permite solicitar que se nos devuelva un dato o serie de datos. - Insert: función para insertar
nuevas filas de información en una tabla. - Update: función para modificar una o varias filas ya
existentes previamente. - Delete: función que borra una fila o un conjunto de filas de una tabla.
Qué es una © aprender TIPOS DE Hay diver objetivos financiera datos rela las denom Las bases
tipos de definido p SISTEMAS Con el us gestionan manera m Normalm Aunque t cada base En la
cate a base de datos raprogramar.co BASE DE DA rsos tipos de mantener e as de un ban acionales,
au minadas “bas de datos re datos o info por un nomb S GESTORES so y el incre n toda la fu más
clara, dir ente cada co ambién los e de datos sie egoría de sist NOMBRE D MySQL s y cuáles son lo
om, 2006-2029 ATOS base de dat el historial m co. Pero en g unque tambi ses de datos elacionales
s ormación. A bre y un teléf DE BASES D emento del ncionalidad recta y sencil ompañía de hay
genérico empre que s temas de bas E DE BASE DE PostgreSQL DB2-Express C L (edición gra os
principales t tos dependie médico de lo general los s én se usan o orientadas a e basan en l sí en
nuestr fono es decir DE DATOS tipo de ba de la base lla. base de dato os y muy bu se pueda. ses de
datos E DATOS C atuita) tipos de bases endo de los o os pacientes sistemas de b otros tipos d a
objetos”. la idea funda ro ejemplo a r la relación se de datos de datos p os trae su pr enos nosotr
libres o grat de datos . objetivos de s de un hosp bases de dat de bases de d amental del anterior
pod de nombre y s se desarro propiamente ropio SGBD ( ros recomen tuitos podem su uso. Por
pital o el re tos más popu datos, entre uso de rela demos ver q y teléfono no ollaron sistem dicha
inten Sistema Ges damos que mos citar com LOGOTIPO ejemplo, so gistro de op ulares son la los
que cab ciones para que un usua os da un usu mas informá ntando que stor de Base se utilice el
mo más impo O n distintos peraciones s bases de e destacar definir los ario queda ario. áticos que
sea de la de Datos). propio de ortantes: Qué es una base de datos y cuáles son los principales tipos
de bases de datos . © aprenderaprogramar.com, 2006-2029 Otras bases de datos requieren pagar
para poder utilizarlas. Entre ellas tenemos: NOMBRE DE BASE DE DATOS LOGOTIPO MySQL
(ediciones de pago) dBase IBM Informix Microsoft SQL SERVER Oracle Sybase De todas estas bases
de datos la que ha conseguido mayor uso ha sido y sigue siendo Oracle, ya que desde 1979 ha sido
líder indiscutible como base de datos para empresas de mediano y gran tamaño. Ahora bien,
Oracle es una base de datos con buenas herramientas, potentísima, efectiva y como buen sistema
de base de datos trae muchos programas variados que permiten hacer de todo en el terreno de las
bases de datos: consultas, informes, análisis de datos, etc. Además Oracle cumple íntegramente
con el estándar SQL y suele ser el referente a la hora de aprender a programar bases de datos.
Pero hay muchas ocasiones en las que no se utiliza un sistema Oracle por varios motivos: por un
lado, es un sistema bastante “pesado” lo que significa que requiere disponer de servidores
(grandes ordenadores) casi en dedicación exclusiva para este sistema de base de datos. Por otro
lado, Oracle es una base de datos por cuyo uso hay que pagar y muchos usuarios y pequeñas
empresas prefieren usar bases de datos de uso gratuito o de menor coste. Como alternativa a
Oracle de coste más reducido y también muy efectiva, muchas empresas utilizan SQLServer,
suministrada por Microsoft. SQLServer es una solución de coste y rendimiento medio. Suelen
usarlo empresas que tienen un volumen de información elevado, pero sin llegar a ser excesivo,
sobre todo si utilizan un servidor dedicado de Microsoft. SQL Server ha estado creciendo aunque
quizás no con la proyección que se esperaba. Sin embargo, le ha ido comiendo terreno a las demás
compañías en el sector medio de las bases de datos. Qué es una base de datos y cuáles son los
principales tipos de bases de datos . © aprenderaprogramar.com, 2006-2029 En el desarrollo web
donde los sistemas de hosting o alojamiento de páginas web suelen ser compartidos para ahorrar
costes, el sistema de bases de datos más utilizado es quizás Mysql por su carácter de software
libre de distribución gratuita. Sobre todo esto también se debe a que la mayoría de sitios web con
hosting compartido son pequeñas o medianas webs que no mueven grandísimos volúmenes de
datos, ya que suelen ser pequeñas o como mucho medianas empresas. CONSEJOS PARA
APRENDER PROGRAMACIÓN CON BASES DE DATOS A la hora de aprender a programar con bases
de datos, una buena opción es aprender con Oracle y su lenguaje SQL. Oracle facilita versiones de
prueba (académicas o de estudio) gratuitas que pueden servir para aprender. Aunque tengamos
que instalarlo en nuestro ordenador y nos consuma recursos, podemos trabajar a pequeña escala
y aprender todas las funcionalidades sin grandes desventajas. Por el contrario, tendremos una
gran ventaja, y es que una vez hayamos aprendido con Oracle la adaptación a cualquier otra base
de datos es relativamente sencilla. Otra alternativa interesante para aprender es utilizar MySql, ya
que es un sistema gratuito que nos vamos a encontrar en la mayor parte de los servidores
compartidos de páginas web. En este caso podremos trabajar usando un servidor (incluso un
servidor gratuito) sin necesidad de instalar software en nuestro computador. Finalmente, indicar
que antes de aprender programación con bases de datos, es conveniente conocer los
fundamentos de programación (algoritmia) así como uno o varios lenguajes de programación.
Trabajar con bases de datos debe ser un paso “avanzado” dentro del proceso de aprendizaje de la
programación, nunca el primer paso.

BASES de datos

Bases de datos
Los sistemas gestores de bases de datos son la herramienta más adecuada
para almacenar los datos en un sistema de información debido a sus
características de seguridad, recuperación ante fallos, gestión centralizada,
estandarización del lenguaje de consulta y funcionalidad avanzada. En este
capítulo analizaremos algunas ideas acerca de estos importantes componentes
de los SIG en la actualidad y veremos las principales alternativas existentes, al
tiempo que estudiaremos los fundamentos de bases de datos necesarios para
comprender la forma en que los datos espaciales se almacenan en las bases
de datos actuales. Asimismo, y para entender la situación presente y conocer
las ventajas e inconvenientes de los distintos métodos de almacenar la
información en los SIG, veremos la evolución de estos respecto a la
arquitectura de almacenamiento de información.

Introducción
Las bases de datos son un elemento fundamental en el entorno informático hoy
en día y tienen aplicación en la práctica totalidad de campos. Concebidas con
un propósito general, son de utilidad para toda disciplina o área de aplicación
en la que exista una necesidad de gestionar datos, tanto más cuanto más
voluminosos sean estos. En nuestro ámbito particular de los SIG, los datos son
cada día más voluminosos, debido no solo a una mayor cantidad de
información, sino también a una mayor precisión en esta, la cual implica un
mayor volumen de datos. Además, presentan otra serie de características (uso
múltiple, necesidad de acceso eficiente para análisis, necesidad de indexación,
etc.), haciendo todas ellas que sea recomendable el uso de bases de datos y
tecnologías específicas para su manejo.
Pese a que, como veremos en este mismo capítulo, el uso de las bases de
datos en el ámbito SIG no ha sido siempre el actual, hoy en día representan
una parte clave para la gestión de los datos geográficos, en especial dentro del
marco de proyectos de cierta envergadura. Aunque la realidad es que todavía
se efectúa mucho trabajo SIG sin emplear bases de datos (y las aplicaciones
SIG así lo permiten, no siendo estrictamente necesario disponer de una base
de datos para almacenar la información), la naturaleza propia de los proyectos
SIG y la progresiva implantación de los SIG a niveles más allá del uso personal
traen ambas consigo un uso cada vez mayor de las bases de datos, y por tanto
una mayor necesidad de conocer el funcionamiento de estas.

Fundamentos de bases de datos


Aunque las particularidades de los datos espaciales con los que trabajamos en
un SIG han hecho necesarias modificaciones y adaptaciones sobre el esquema
de trabajo de las bases de datos genéricas, en esencia los fundamentos de
estas siguen constituyendo el elemento primordial sobre el que la arquitectura
de gestión de datos espaciales se apoya, y es necesario conocerlos con cierto
detalle. En esta sección, veremos de forma introductoria esos fundamentos de
bases de datos genéricas, aplicables a cualquier otro ámbito además del de los
SIG, para posteriormente poder tratar el caso particular de los datos
espaciales. Para el lector interesado en profundizar en el tema, una referencia
libre y en español con información extensa y detallada sobre bases de datos
genéricas es [basesDatosUOC].

¿Qué es una base de datos?


Entendemos como Base de Datos un conjunto de datos estructurado y
almacenado de forma sistemática con objeto de facilitar su posterior utilización.
Una base de datos puede, por tanto, constituirse con cualquier tipo de datos,
incluyendo los de tipo puramente espacial (geometrías, etc.) tales como los
que se utilizan en un SIG, así como, por supuesto, datos numéricos y
alfanuméricos como los que constituyen la componente temática de la
información geoespacial. Los elementos clave de la base de datos son esa
estructuración y sistematicidad, pues ambas son las responsables de las
características que hacen de la base de datos un enfoque superior a la hora de
gestionar datos.
Podemos ver más claramente las implicaciones de utilizar una base de datos si
recurrimos al ejemplo que vimos en el primer capítulo de este libro, relativo a la
gestión forestal de un territorio. Para ello, consideremos que el número de
usuarios del SIG y de los datos asociados no se limita únicamente al gestor
forestal que ha de tomar decisiones o establecer planes de actuación, sino a
muchos otros profesionales que puedan ejercer su trabajo en ese mismo área
o puedan emplear total o parcialmente esos mismos datos.
Imaginemos, por ejemplo, el caso de un ingeniero encargado de planear la
instalación de un tendido eléctrico a través de nuestra zona forestal de
ejemplo. Sin duda, deberá emplear datos tales como Modelos Digitales de
Elevaciones, capas de zonas protegidas o capas de arbolado para establecer
el trazado óptimo y estimar costes de la línea, entre otras tareas. Si en una
situación ideal este ingeniero estaría en comunicación con el gestor forestal y
ambos compartirían sus conocimientos dentro de un equipo multidisciplinar,
también en lo referente a los datos debería existir una comunicación igual que
implique, ente otras cosas, un uso compartido y convenientemente coordinado
de ellos. En otras palabras, los datos también tienen ese carácter
multidisciplinar y deben dejar de verse como algo propio de un uso particular,
para concebirse como un conjunto global del que se benefician muy diversos
usuarios.
Establecer un uso compartido de los datos en una situación como la anterior no
parece difícil, ya que simplemente se trata de dos profesionales que realizan
tareas relacionadas y que, de un modo u otro, van a tener un contacto directo.
El gestor forestal puede sencillamente dar una copia de sus datos al ingeniero
y este podrá trabajar después con ellos de forma independiente. Aunque los
datos con que trabajen son inicialmente los mismos, en realidad esta práctica
da lugar son dos copias aisladas que constituyen dos universos distintos.
La situación real, sin embargo, es habitualmente mucho más compleja, y
utilizar un esquema de colaboración como el anterior puede ser imposible,
carecer por completo de sentido, o tener un buen número de consecuencias
negativas. A medida que aumenta el número de usuarios, resulta menos
recomendable que cada uno trabaje con sus propios datos y se los hagan
llegar entre ellos a medida que los necesitan (una realidad que,
desgraciadamente, se presenta con más frecuencia de lo recomendable). No
debe olvidarse que un conjunto más amplio de usuarios que trabajan de esta
forma y son ellos mismos quienes gestionan sus propios datos, implica
directamente un número también más elevado de aplicaciones informáticas y
de formatos de archivo, complicando enormemente el trabajo coordinado en
cuanto el equipo tiene un tamaño medio.
Es probable además que existan usuarios dentro de una misma organización
(por ejemplo, un organismo público) que aunque requieran para su trabajo
datos similares, no tengan contacto alguno entre sí. Aunque los usuarios sean
independientes, sus datos no lo han de ser necesariamente, y en una situación
ideal deberían acudir a un repositorio único de datos del que cada cual tomaría
lo necesario, en lugar de basar su trabajo en un conjunto de datos fragmentado
y difícil de gestionar.
Pensemos en un dato que pueda ser de interés a varios usuarios, como por
ejemplo una capa de vías de comunicación. A nuestro gestor forestal le será de
interés para, por ejemplo, saber qué medios de acceso existen en caso de
tener que hacer frente a un incendio. Lo más relevante de esas vías será su
trazado, es decir su geometría, y tal vez el tipo de vía de que se trata, para
poder conocer la velocidad a la que se pueden desplazar los medios de
extinción. Otros usuarios, por su parte, pueden necesitar parámetros distintos
como el volumen de tráfico medio de cada vía. Si todos ellos tienen una capa
de vías con los parámetros asociados que necesitan para su trabajo, nos
encontramos con una innecesaria redundancia de la componente espacial (las
geometrías), y una dispersión de la componente temática, que resultaría más
conveniente mantenerla agrupada.
Pensemos ahora que el gestor forestal detecta un error en el trazado de una de
las vías y lo corrige. Esa corrección no estará disponible para los restantes
usuarios, que pueden a su vez efectuar modificaciones similares que no
redundarán en una mayor calidad de los datos con los que trabaja el gestor
forestal, ya que, pese a utilizar datos similares, trabaja con su propio conjunto
de datos. Incluso si en algún momento todos estos usuarios deciden poner en
común sus datos y unirlos, esta operación puede ser muy compleja o incluso,
como sucede frecuentemente, imposible de realizar. Por su parte, otros
usuarios pueden añadir una nueva variable temática, como por ejemplo un
índice de siniestralidad de la vía, el cual, si bien tal vez no resulte de utilidad
inmediata para muchos usuarios, en un futuro sí pudiera serlo. Una vez más,
estos nuevos datos no quedan a disposición del resto de usuarios, y en caso
de serlo, no lo hacen en conjunto con datos similares, sino como un dato
aislado de los restantes.
En definitiva, es complejo gestionar de forma adecuada los datos en el
momento en que estos alcanzan un ámbito más allá de lo personal, y las
prácticas más habituales basadas en una gestión «manual» de un conjunto de
ficheros no son una opción adecuada. La solución para lograr esa necesaria
gestión centralizada de los datos son las bases de datos y también, como
veremos más adelante, los sistemas gestores de bases de datos, que
representan la interfaz entre las bases de datos y los distintos usuarios.
¿Por qué interesa usar una base de datos?
En base al ejemplo anterior, podemos analizar algo más sistemáticamente las
ventajas de una base de datos frente a una gestión no organizada de los datos.
Las ventajas de utilizar un almacenamiento estructurado se aprecian en
diversos puntos, ya que afectan no solo a los datos sino también al propio uso
que se hace de estos. Algunas ventajas que afectan directamente a los datos
son las siguientes:
 Mayor independencia. Los datos son independientes de las aplicaciones que los usan,
así como de los usuarios.

 Mayor disponibilidad. Se facilita el acceso a los datos desde contextos, aplicaciones y


medios distintos, haciéndolos útiles para un mayor número de usuarios.

 Mayor seguridad (protección de los datos). Por ejemplo, resulta más fácil replicar
una base de datos para mantener una copia de seguridad que hacerlo con un conjunto de
ficheros almacenados de forma no estructurada. Además, al estar centralizado el acceso
a los datos, existe una verdadera sincronización de todo el trabajo que se haya podido
hacer sobre estos (modificaciones), con lo que esa copia de seguridad servirá a todos los
usuarios.

 Menor redundancia. Un mismo dato no se encuentra almacenado en múltiples ficheros


o con múltiples esquemas distintos, sino en una única instancia en la base de datos. Esto
redunda en menor volumen de datos y mayor rapidez de acceso.

 Mayor eficiencia en la captura, codificación y entrada de datos.

Esto tiene una consecuencia directa sobre los resultados que se obtienen de la
explotación de la base de datos, presentándose al respecto ventajas como, por
ejemplo:
 Mayor coherencia. La mayor calidad de los datos que se deriva de su mejor gestión
deriva en mayor calidad de los resultados.

 Mayor eficiencia. Facilitando el acceso a los datos y haciendo más sencilla su


explotación, la obtención de resultados es más eficiente.

 Mayor valor informativo. Resulta más sencillo extraer la información que los datos
contienen, ya que uno de los cometidos de la base de datos es aumentar el valor de estos
como fuente de información.
Por último, los usuarios de la base de datos también obtienen ventajas al
trabajar con estas, entre los que cabe citar:
 Mayor facilidad y sencillez de acceso. El usuario de la base de datos se debe
preocupar únicamente de usar los datos, disponiendo para ello de las herramientas
adecuadas y de una estructura solida sobre la que apoyarse.

 Facilidad para reutilización de datos. Esto es, facilidad para compartir.

De forma resumida, puede decirse que la principal bondad de una base de


datos es la centralización que supone de todos los datos con los que se trabaja
en un contexto determinado, con las consecuencias que ello tiene para una
mejor gestión, acceso o estructuración de estos.

Modelos de bases de datos


En función de la estructura utilizada para construir una base de datos, existen
diversos modelos de bases de datos. El modelo de la base de datos define un
paradigma de almacenamiento, estableciendo cómo se estructuran los datos y
las relaciones entre estos. Las distintas operaciones sobre la base de datos
(eliminación o sustitución de datos, lectura de datos, etc.) vienen
condicionadas por esta estructura, y existen notables diferencias entre los
principales modelos, cada uno de ellos con sus ventajas e inconvenientes
particulares. Algunos de los más habituales son los siguientes:
 Bases de datos jerárquicas. Los datos se recogen mediante una estructura basada en
nodos interconectados. Cada nodo puede tener un único padre y cero, uno o varios
hijos. De este modo, se crea una estructura en forma de árbol invertido en el que todos
sus nodos dependen en última instancia de uno denominado raíz. Aunque potente, el
modelo jerárquico presenta algunas deficiencias, principalmente la escasa
independencia de sus registros (el acceso a un registro —un nodo— implica que se ha
de pasar por sus padres, restando flexibilidad a la navegación por la base de datos). Otra
grave deficiencia de este modelo es la mala gestión de la redundancia de datos, ya que
si un registro guarda relación con dos o más, debe almacenarse varias veces, ya que no
se permite que el nodo correspondiente tenga varios padres. Esto tiene consecuencias no
solo en el mayor volumen de datos que se almacena, sino también en la integridad y
coherencia de los datos. Si se modifica una de las «copias» de ese registro en la base de
datos, deben modificarse también las restantes, ya que, aunque no conectadas en la
estructura de la base de datos, realmente representan una única realidad y debieran ser
idénticas entre sí.

 Bases de datos en red. Con objeto de solucionar los problemas de redundancia de las
bases de datos jerárquicas, surge el modelo en red. Este modelo permite la aparición de
ciclos en la estructura de la base de datos (es decir, no ha de existir un único padre para
cada nodo), lo cual permite una mayor eficacia en lo que a la redundancia de datos se
refiere. Presenta, no obstante, otros problemas, siendo el más importante de ellos su
gran complejidad, lo que hace difícil la administración de la base de datos.

 Bases de datos relacionales. Constituyen el modelo de bases de datos más utilizado en


la actualidad. Solucionan los problemas asociados a las bases de datos jerárquicas y en
red, utilizando para ello un esquema basado en tablas, que resulta a la vez sencillo de
comprender y fácil de utilizar para el análisis y la consulta de los datos. Las tablas
contienen un número dado de registros (equivalentes a las filas en la tabla), así
comocampos (columnas), lo que da lugar a una correcta estructuración y un acceso
eficiente.

 Bases de datos orientadas a objetos. Se trata de uno de los modelos más actuales,
derivado directamente de los paradigmas de la programación orientada a objetos. El
modelo extiende las capacidades de las bases de datos relacionales, de tal modo que
estas pueden contener objetos, permitiendo así una integración más fácil con la propia
arquitectura de los programas empleados para el manejo de la base de datos, en caso de
que estos hayan sido desarrollados mediante programación orientada a objetos. Su
popularidad crece de forma notable en ciertas áreas en las cuales resultan más
ventajosas que el modelo relacional, siendo los SIG una de ellas.

La figura 11 muestra una comparación esquemática de los anteriores modelos


de bases de datos.
Comparación entre algunos modelos de base de datos más frecuentes (adaptado de
[USDT2001]).

(1)(1)

Bases de datos relacionales


Aunque, como ya hemos visto, existen diversos tipos de bases de datos, las
más utilizadas con diferencia en la actualidad son las relacionales, que han
demostrado su idoneidad en la mayor parte de situaciones. Estas son también
las que encontraremos en el ámbito SIG, y resulta por ello necesario añadir
algunas nociones adicionales sobre ellas para la correcta comprensión no solo
de este capítulo, sino también de otros posteriores que desarrollan temas
relacionados.
El modelo relacional fue desarrollado en 1969 por Ted Codd y publicado un
año después en un artículo ya clásico [Codd1969ACM], y consiste básicamente
en un conjunto de relaciones tabulares. Estas relaciones son tan importantes
como los propios datos (las tablas, en este caso), y constituyen una idea
central en el modelo relacional, de ahí su denominación. La característica
principales que ha convertido a este modelo de base de datos en el más
popular en la actualidad es su gran simplicidad, la cual indirectamente le dota
de una gran potencia. Paralelamente, el modelo relacional se sustenta en unos
fundamentos matemáticos sólidos y sus ideas pueden expresarse mediante
conceptos de la teoría de conjuntos, lo que posibilita un análisis formal del
mismo.
Además de las denominaciones habituales de tabla, fila y columna, existe una
terminología específica empleada al referirse a las bases de datos relacionales.
Así, en el modelo relacional los datos se organizan en tablas bidimensionales,
cada una de ellas con información relativa a un determinada entidad. La tabla
en sí se conoce como relación, ya que recoge la relación existente entre sus
elementos, y constituye así el eje central del modelo relacional. Dentro de la
tabla, los datos están organizados a su vez en filas y columnas. Las columnas
representan los distintos atributos asociados a la entidad, mientras que las filas
conforman los distintosregistros. Una fila se forma con un conjunto
de nn atributos, constituyendo una tupla.
El esquema de la relación está formado por los nombres de los atributos y
un dominio asociado a estos, que delimita el rango de valores posibles para
cada atributo. El dominio especifica el tipo de dato a contener en cada
columna. Por ejemplo, si se recoge un nombre el atributo será de tipo
alfanumérico, mientras que si el atributo es un conteo deberá ser de tipo
entero. Además de los tipos habituales (fechas, cadenas de texto, valores
reales$. Puede emplearse también la denominación menos formal de número
decimal o bien valor de coma flotante, esta última más común en el ámbito
informático y referida a la forma de almacenamiento de este tipo de valores.},
valores enteros, etc.) pueden emplearse en ciertas bases de datos valores más
complejos. Esto es de especial interés en el caso de los SIG, ya que permite
utilizar geometrías como un tipo de datos más, con la utilidad que esto tiene a
la hora de almacenar datos espaciales. El esquema de la relación se recoge en
la primera fila de la tabla, conocida comocabecera. El número de filas de la
tabla sin contar la cabecera (es decir, el número de tuplas) se conoce
como cardinalidad.
Las relaciones son, por tanto, un conjunto de tuplas asociadas a un esquema.
En una relación, tanto el orden de las filas como el de las columnas son
irrelevantes (exceptuando la cabecera, que no es un tupla como tal, sino que
define el esquema como hemos visto), pero es importante que cada atributo
sea del tipo correspondiente a la columna a la que pertenece. Es decir, que
sea coherente con el esquema.
El cuadro 22 muestra un resumen de algunas de las equivalencias entre la
terminología habitual y la específica del modelo relacional. En la
figura 33 puede verse un esquema de los elementos fundamentales del modelo
relacional.
Terminología habitual Modelo relacional
Tabla Relación
Fila Tupla
Columna Atributo
Número de filas Cardinalidad
Valores posibles Dominio
Terminología del modelo relacional (Adaptado de [Date1986BBDD]).

(2)(2)
Elementos del modelo relacional.

(3)(3)
Una forma abreviada de definir las relaciones que forman parte de una base de
datos es mediante su nombre y su esquema expresado como una lista de los
atributos que lo constituyen. Por ejemplo, podemos definir una relación
denominada PERSONAS como
PERSONAS(DNI, Nombre, Altura, Edad, Ciudad)
Una base de datos contiene normalmente más de una tabla, ya que suelen ser
muchos los tipos de datos a almacenar y resulta conveniente dividirlos en
distintas tablas. Además de las relaciones que la tabla en sí implica, es
necesario definir relaciones entre las distintas tablas, y para ello se emplean
los denominados atributos clave. Un atributo clave es aquel que tiene valor
único para cada tupla, pudiendo servir para representar a esta plenamente. Por
ejemplo, en una tabla con nombres de personas e información adicional sobre
ellas según el esquema anterior, los nombres no pueden ser la clave primaria,
ya que puede haber dos personas con un mismo nombre. El número de su
Documento Nacional de Identidad, sin embargo, sí que puede servir como
atributo clave. Además de su unicidad, una clave debe ser invariable,
identificando la misma tupla a lo largo del tiempo. Un esquema de relación
puede contener varios atributos clave, que se conocen como claves
candidatas. Normalmente, de estas se elige una como representante principal
de las tuplas, y se conoce como clave primaria
Por convención, las claves se escriben subrayadas al definir el esquema de la
tabla, de tal modo que el de la tabla PERSONAS quedaría de la siguiente
forma:
PERSONAS(DNI, Nombre, Altura, Edad, Ciudad)
Si no existe ningún atributo que cumpla los requisitos para ser utilizado como
clave, este puede incorporarse al esquema de la relación, añadiendo por
ejemplo un nuevo atributo con un código arbitrario. Un ejemplo de esto lo
podemos encontrar en el cuadro 44, donde se incorpora un atributo que hace
la función de clave a una tabla con información sobre personas pero que no
contiene el DNI de estas entre esa información y, por tanto, carece de un
atributo adecuado para servir de clave.
En la definición de clave cabe también la presencia de claves compuestas, es
decir, formadas por varios atributos cuya combinación es única para cada
tupla. No obstante, la utilización de claves simples es preferible generalmente,
ya que simplifica gran parte de las operaciones en las que la presencia de una
clave es necesaria.
Cuando trabajamos con datos espaciales, es habitual emplear la componente
espacial como clave, ya que esta suele ser única. En el caso de almacenar
información sobre ciudades, con los nombres sucede de forma similar a lo visto
para el caso de personas, ya que existen ciudades con el mismo nombre en
distintos lugares. La localización de estas, sin embargo, es única, ya que no
puede haber dos ciudades simultáneamente en el mismo lugar.
Tabla a
DNI Nombre Altura Edad Ciudad
50234561 Juan Gómez 1,85 35 Madrid
13254673 Edurne Montero 1,60 30 Toledo
46576290 Luis Urrutia 1,75 46 Madrid
38941882 Juan Gómez 1, 71 55 Valencia

Tabla b
ID Nombre Altura Edad Ciudad
001 Juan Gómez 1,85 35 Madrid
002 Edurne Montero 1,60 30 Toledo
ID Nombre Altura Edad Ciudad
003 Luis Urrutia 1,75 46 Madrid
004 Juan Gómez 1, 71 55 Valencia
Adición de un campo para crear una clave. La tabla a) contiene un atributo único (DNI). La tabla b)
no contiene un atributo único entre sus datos, pero se añade el campo ID con un código arbitrario
que puede ser empleado como clave. El nombre en este caso no sirve como atributo único, ya que
hay dos personas en la tabla con el mismo nombre.

(4)(4)
El empleo de estas claves permite relacionar tablas entre sí, siempre que estas
compartan algún atributo común. Por ejemplo, pensemos en una base de datos
que contenga la tabla anterior y junto a esta la tabla mostrada en el cuadro 55.
Es decir, la base de datos contiene información sobre personas y sobre
ciudades.
Nombre Habitantes Superficie(km^2)
Madrid 6386932 607
Valencia 1564145 134
Toledo 80810 232

Tabla CIUDADES

(5)(5)
Es sencillo ver que puede vincularse una tabla a la otra a través del atributo
que contiene el nombre de la ciudad. Nótese que este atributo no tiene el
mismo nombre en ambas tablas, y que, mientras que en una de ellas
representa la clave primaria, en la otra no puede serlo pues existen nombres
de ciudades repetidos. Pese a ello, este atributo nos permite establecer una
relación entre las tablas, que podríamos denominar «nacido en». A cada tupla
de la primera tabla, que representa a una persona dada, podemos vincularla
con una de la segunda tabla, que representa una ciudad en particular, ya que
toda persona ha nacido en una ciudad y gracias al atributo CIUDAD podemos
saber exactamente cuál es dicha ciudad.
Las interrelaciones entre tablas pueden ser de distintos tipos en función del
número de elementos distintos que se vinculan de cada tabla. En nuestra
relación «vive en», una persona puede vivir en una única ciudad, mientras que
una ciudad puede tener muchas personas viviendo en ella. Es decir, cada tupla
de la tabla PERSONAS se relaciona con una única de la tablaCIUDADES, y
cada tupla de esta última se relaciona con una o varias de la primera. Este tipo
de relación se conoce como de uno a muchos.
Existen otros dos tipos de relaciones además de esta: las denominadas de uno
a uno y las demuchos a muchos. Un ejemplo de relación de uno a uno podrían
ser «casado con», que estableceríamos entre la tabla PERSONAS y ella
misma (las dos tablas implicadas no han de ser necesariamente distintas).
Cada persona puede estar casada únicamente con otra, por lo que la relación
es de uno con uno, relacionándose una tupla con tan solo otra distinta, y no
con varias.
Es importante reseñar que en algunas relaciones como «nacido en» todos los
elementos de una o de las dos tablas se encuentran vinculados de algún modo
a través de la relación, mientras que en otros no es así necesariamente. Así,
todas las personas han nacido en alguna ciudad, y estarán relacionadas con la
correspondiente tupla en la tabla CIUDADES, pero no todas las personas
están necesariamente casadas.
Un ejemplo de relación muchos a muchos la podemos plantear si contamos en
nuestra base de datos con, por ejemplo, una tabla con empresas, entre cuya
información se incluya una lista de las ciudades en las que cada empresa tiene
sede. Una empresa puede tener sedes en distintas ciudades, y una ciudad
puede acoger a varias empresas, con lo que tanto ciudades como empresas
pueden estar vinculadas a más de una tupla en la otra tabla.

Sistemas gestores de bases de datos


Junto con las bases de datos, el elemento fundamental para el
aprovechamiento de estas son los Sistemas Gestores de Bases de
Datos (SGDB o DBMS, del inglés DataBase Management System). Estos
sistemas representan un elemento intermedio entre los propios datos y los
programas que van a hacer uso de ellos, facilitando las operaciones a realizar
sobre aquellos. En nuestro caso, son el componente que permite unir el SIG
con la base de datos en la que se almacenan los datos espaciales con los que
este va a trabajar.
Un SGBD es una pieza de software compleja, ya que las situaciones a las que
debe responder son diversas y en muchas ocasiones con requerimientos
elevados, por ejemplo en lo que a eficiencia y volumen de datos respecta.
Piénsese que una base de datos actual puede tener millones de registros y ser
utilizada simultáneamente por miles de usuarios, que a su vez pueden utilizar
diversos programas, no todos ellos del mismo tipo. Por ejemplo, una base de
datos que contenga números de teléfono, nombres de usuarios, direcciones y
coordenadas asociadas a cada línea telefónica, puede ser empleada desde un
SIG para crear un mapa que muestre la densidad de usuarios o también desde
una aplicación que genere un listín telefónico, o bien desde una aplicación en
una página Web que permita localizar el número de teléfono de una persona
concreta. Cada una de estas aplicaciones realiza un trabajo distinto, pero todas
ellas utilizan la misma base de datos. El SGBD debe proporcionar a todos ellos
la metodología adecuada para extraer del conjunto de datos completo cuanto
sea necesario en cada caso.
Además, el SGBD es la herramienta utilizada no solo por quienes aprovechan
los datos, sino también por aquellos que se han de encargar de la propia
gestión y mantenimiento de la base de datos. Administrar una base de datos
puede suponer una tarea altamente compleja, por lo que el SGBD debe
proveer los útiles necesarios para llevar a cabo ese mantenimiento.
Para ser de verdadera utilidad y responder a todas las necesidades que
pueden plantearse en relación con la base de datos, un SGBD debe perseguir
los siguientes objetivos:
 Acceso transparente a los datos. La base de datos ha de poder accederse de forma
transparente, sin que sea necesario para el usuario del SGBD preocuparse por aspectos
internos relativos a la estructura de esta u otras características. Esto significa que, por
ejemplo, si queremos recuperar un registro de la base de datos, debemos poder hacerlo
sin necesidad de saber si dicha base de datos está almacenada en un único archivo o
varios, o si el registro que pretendemos recuperar está almacenado a su vez de uno u
otro modo. Así, el SGBD debe crear una abstracción de los datos que haga el trabajo
con estos más sencillo, ocultando aspectos que no sean relevantes para dicho trabajo.
Procedimientos como las consultas que veremos en el capítulo Consultas se realizan a
través del SGBD, que es quien se encarga de interpretar dichas consultas, aplicarlas
sobre la base de datos y devolver el resultado correspondiente. El SIG no accede a los
datos, sino que se comunica con el SGBD y deja en manos de este el proceso de
consulta en sí.
 Protección de los datos. Si la base de datos almacena información sensible, el SGBD
debe controlar el acceso a esta, restringiendo el acceso cuando corresponda (por
ejemplo, estableciendo distintos permisos de acceso para distintos tipos de usuarios) e
implementando los mecanismos de protección necesarios.

 Eficiencia. Acceder a los datos no es suficiente en la mayoría de los casos, sino que se
requiere un acceso eficiente. El SGBD debe ser capaz de gestionar de forma fluida
grandes volúmenes de datos o de operaciones (por ejemplo, muchos usuarios
accediendo simultáneamente), de modo que dé una respuesta rápida a las peticiones de
los usuarios de la base de datos.

 Gestión de transacciones. Las operaciones sobre la base de datos tales como la adición
o borrado de un registro se realizan mediante transacciones. Una transacción es un
conjunto de operaciones realizadas por un usuario sobre la base de datos como una
única unidad de trabajo, de forma indivisible. El SGBD ha de encargarse de gestionarlas
de manera eficiente y segura para que todos los usuarios de la base de datos puedan
hacer su trabajo de forma transparente. Aspectos como el acceso concurrente a la base
de datos (varias transacciones simultaneas) resultan especialmente importantes, y en su
buena gestión se pone gran esfuerzo en el diseño de los SGBD. Se
denomina transaccional al SGBD capaz de garantizar la integridad de los datos, no
permitiendo que las transacciones puedan quedar en un estado intermedio. Esto implica
la capacidad de poder volver a un estado anterior en caso de que por cualquier causa
(error en el sistema, fallo eléctrico, etc) no haya podido completarse la transacción.

La figura 66 esquematiza el papel que el SGBD juega en el manejo y empleo


de los datos. Tanto los distintos usuarios (en el caso de nuestro supuesto de
gestión forestal pueden ser desde el gestor forestal al cartógrafo encargado de
actualizar los limites de las unidades inventariables) como el administrador de
la base de datos acceden a esta a través del SGBD. No existe acceso directo a
la base de datos.
Representación esquemática del papel de un Sistema Gestor de Base de Datos.

(6)(6)
El SGBD tendrá unas u otras características en función del modelo de base de
datos subyacente, ya que debe adaptarse a las características de este para
ofrecer las funcionalidades correspondientes en el nivel de usuario.

Diseño y creación de una base de datos


Una vez se toma la decisión de emplear una base de datos, el siguiente paso
es el diseño y creación de esta. El diseño implica la definición de la estructura
que va a tener la base de datos, que se deberá realizar teniendo en cuenta
principalmente el tipo de datos que van a almacenarse y el modelo de base de
datos elegido. El diseño debe adecuarse al uso previsto de la base de datos,
de tal modo que acomode los datos de la mejor forma posible para cumplir los
objetivos enunciados anteriormente en este mismo capítulo. Para ello debe
conocerse la naturaleza de los datos que van a almacenarse (no
necesariamente datos de los que se dispone en el momento de la creación,
sino los que se espera pasen a formar parte de la base de datos a lo largo de
su ciclo de vida), así como la de los algoritmos y procesos que van a
emplearse sobre ellos.
Posteriormente al diseño, debe procederse a la implementación de la base de
datos, esto es, a la creación propiamente dicha, incorporando los datos según
los esquemas escogidos en la fase de diseño. Por último, y una vez creada la
base de datos, debe procurarse un mantenimiento para que esté
continuamente en condiciones de ser utilizada.
Más concretamente, pueden distinguirse las siguientes fases en el proceso
global de desarrollo de una base de datos:
 Diseño lógico. Independiente del SGBD empleado, es un diseño conceptual que
pretende modelizar el contenido de la base de datos.

 Diseño físico. Es la adaptación del diseño conceptual a las particularidades del SGBD
escogido.

 Implementación. Introducción de los datos en la base de datos.

 Mantenimiento. Monitorización de la actividad sobre la base de datos.

La primera fase en el diseño de una base de datos implica un análisis de los


datos que se van a recoger. Como resultado de ese análisis debe surgir un
modelo conceptual que exprese la estructura de la información, siendo dicha
estructura susceptible de ser empleada como esquema base para la base de
datos en cuestión. El modelo conceptual ha de definir básicamente los tipos de
datos a tratar y las relaciones existentes entre ellos, elementos que serán
luego expresados en términos del modelo de base de datos elegido (relacional,
orientado a objetos, etc.) una vez se pase a la fase de diseño físico.
El modelo conceptual debe estructurar la información de forma que el usuario
de la base de datos comprenda de forma sencilla el contenido y forma de esta.
Por tanto, debe desarrollarse teniendo presentes las necesidades de los
usuarios y el hecho de que estos no necesariamente han de ser especialistas
en bases de datos, sino especialistas en los propios datos en sí. Por otra parte,
el modelo debe intentar capturar del mejor modo posible la realidad que se
pretende modelizar, por lo que el conjunto de tipos de datos y relaciones debe
elaborarse de modo similar a dicha realidad para recoger toda la complejidad
del sistema. Y, por supuesto, el modelo debe poder ser implementado
posteriormente y utilizado en conjunto con el SGBD escogido, ya que de otro
modo no presenta utilidad práctica.
Existen diversas metodologías para desarrollar un modelo conceptual. Una de
las más extendidas por su sencillez y potencia es la del modelo entidad--
relación (abreviadamente, modelo E--R).
Denominamos entidad a un objeto o concepto del mundo real acerca del cual
se recoge información, y que puede diferenciarse de otros objetos, incluso si
son de su misma clase (un ordenador, por ejemplo, es un objeto, y puede
diferenciarse de otros ordenadores, incluso si son de idénticas características,
ya que no son todos el mismo objeto y ese en particular tendrá alguna
propiedad distinta, como puede ser el número de serie). La entidad puede
tener sentido físico o bien ser una idea abstracta, como un tipo de deporte, una
clase de música o una palabra.
Una entidad se describe mediante una serie de características o atributos, que
son las que definen su naturaleza y sus propiedades. Una colección de
entidades es un conjunto de entidades distintas (que representan a objetos
distintos), las cuales comparten unos atributos comunes. Por ejemplo, un
conjunto de ordenadores de los cuales se conocen los
atributosmodelo, marca y procesador.
Por su parte, una relación expresa la dependencia existente entre entidades y
permite la asociación de estas. No resulta difícil ver que estos conceptos —
entidad, atributos y relación— guardan un notable paralelismo con las ideas del
modelo relacional que ya conocemos. Así, y aunque no resulte por completo
inmediato, es sencillo traducir un modelo entidad-relación (conceptual) a un
modelo relacional, que constituye ya un modelo aplicado a un tipo particular de
base de datos. Por ello, el modelo E--R es una herramienta potente para el
diseño lógico de la base de datos, especialmente si esta utiliza el modelo
relacional.
Para desarrollar el diseño conceptual de una base de datos siguiendo el
modelo E--R, estos son lo pasos principales:
 Partimos de una descripción textual del problema o sistema que queremos recoger. Esta
descripción contiene los requisitos necesarios y ha de formular la pregunta a la que
queremos que la base de datos dé respuesta. Para nuestro ejemplo con datos sobre
personas y ciudades, el problema podríamos formularlo como «¿qué personas han
nacido en cada ciudad?».

 Se toman los verbos y los sustantivos de la descripción textual. Los sustantivos son
posibles entidades o atributos, mientras que los verbos son posibles relaciones. En
nuestro caso, «persona» y «ciudad» serán entidades y «nacido en» una relación.

 Se analizan las frases y determina la cardinalidad de las relaciones y otros detalles.

El modelo así creado se expresa mediante un diagrama en el que las


entidades se representan como cajas rectangulares, las relaciones mediante
rombos y los atributos en círculos o elipses, todos ellos con sus
correspondientes nombres en el interior. Cuando un atributo es un
identificador, se representa con su nombre subrayado, del mismo modo que en
la definición de esquemas que ya vimos anteriormente (Figura 77). Si el
número de atributos es elevado o el diagrama es complejo por existir gran
cantidad de tablas e interrelaciones, pueden omitirse los atributos para una
mayor legibilidad, describiéndose en un documento adicional.

Simbología
empleada en el modelo entidad--relación.

(7)(7)
Como ejemplo de lo anterior, la información sobre personas y ciudades que
venimos manejando, así como la relación «nacido en» existente entre ambas,
se expresarían según el modelo entidad-relación con un diagrama tal como el
mostrado en la figura 88.
Ejemplo de diagrama E-R.

(8)(8)
El modelo E--R presenta algunas limitaciones semánticas, y no es suficiente
para expresar con detalle la estructura de algunos tipos de información. Por
esta razón, surge el conocido comomodelo E--R extendido, que amplía el
modelo E-R añadiendo nuevos elementos. Con su mayor potencia, el modelo
E--R extendido acerca el diseño conceptual a los conceptos de la
programación orientada a objetos, incorporando por ejemplo mecanismos de
herencia. No obstante, el enfoque orientado a objetos recoge no solo la
estructura del sistema de información, sino también su comportamiento
dinámico. Para saber más sobre el modelo E--R extendido, puede consultarse
[modeloERExtendido].
Nomb Altu Ed Ciuda Poblac Superfi
DNI
re ra ad d ión cie
Juan
50234 Madri 63869
Góme 1,85 35 607
561 d 32
z
Edurn
13254 e Toled
1,60 30 80810 232
673 Mont o
ero
Luis
46576 Madri 63869
Urruti 1,75 46 607
290 d 32
a
Nomb Altu Ed Ciuda Poblac Superfi
DNI
re ra ad d ión cie
Juan
38941 1, Valen 15641
Gome 55 134
882 71 cia 45
z

La información de las tablas PERSONAS y CIUDADES puede recogerse en una única


tabla como la mostrada.

(9)(9)
Tras el diseño lógico, el diseño físico de la base de datos ha de llevar el
modelo conceptual a la práctica y crear un repositorio de datos que pueda ser
usado por el SGBD. Debe, asimismo, mantener todas aquellas propiedades del
modelo conceptual, de modo que el contenido de la base de datos siga
expresando de forma fiel la realidad y su estructura continúe siendo fácil de
comprender para los usuarios. Si, siguiendo el enfoque más habitual, optamos
por crear una base de datos según el modelo relacional, esto implica la
creación de las correspondientes relaciones y los esquemas asociados a cada
una de ellas.
La tablas que definamos en la base de datos pueden tener consecuencias
directas sobre el uso de esta, afectando a aspectos como el rendimiento de las
operaciones que posteriormente se lleven a cabo o al volumen de datos total
necesario. Por ejemplo, nuestra base de datos con dos
tablas, PERSONAS y CIUDADES, puede implementarse utilizando
únicamente una tabla como la mostrada en el cuadro 99. Esta tabla contiene la
misma información que las dos tablas anteriores, y en principio permite realizar
operaciones similares. Si quisiéramos saber la población de la ciudad donde ha
nacido una persona en concreto, podríamos hacerlo de igual modo con
independencia de cuál de las estructuras mostradas tenga la base de datos. En
un caso deberemos acudir a dos tablas y una interrelación entre ellas, mientras
que en el otro solo es necesario emplear una tabla, la única que por otra parte
contiene nuestra base de datos.
Aunque la funcionalidad sea la misma, el uso de una única tabla tiene efectos
poco deseados que se advierten rápidamente, como por ejemplo la
redundancia de datos. La población y superficie de Madrid aparecen repetidos
en dos ocasiones, y aparecerían más veces si hubiera en la
tabla PERSONAS más tuplas correspondientes a individuos nacidos en esta
ciudad. De igual modo sucedería con otras ciudades. En el esquema basado
en dos tablas, sin embargo, estos datos aparecen en una única ocasión y no
dependen del número de personas de cada ciudad cuyos datos aparecen en la
base de datos. En una base de datos de pequeñas dimensiones como la que
utilizamos de ejemplo, esta circunstancia puede parecer poco relevante, pero si
trabajamos con millones de registros en la tabla PERSONAS la diferencia es
realmente importante.
El concepto de normalización de una base de datos tiene relación con lo
anterior. Aunque no se entrará en detalles por exceder el alcance de este texto,
puede encontrarse más información en [wikiNormalizacion].
Otro aspecto a tener en cuenta en el diseño físico de la tabla es elegir nombres
adecuados para los atributos y las tablas. Los nombres deben ser inequívocos
y dar una idea clara de la información que contienen, y un usuario debe poder
identificar sin dificultades qué tablas y atributos son aquellos a los que debe
acudir para efectuar una consulta y dónde se encuentra la información que
busca. El atributo CIUDAD en la tabla PERSONAS, por ejemplo, cumple sin
problemas su papel a la hora de establecer la relación entre esta tabla y la que
recoge los datos de las distintas ciudades, pero si buscamos exclusivamente
información sobre las personas, no es completamente preciso, ya que no
aclara si se trata de la ciudad en la que una persona ha nacido o en la que
habita. Siempre que pueda existir alguna duda razonable a la hora de
interpretar el contenido de una tabla, debe intentarse solventar esta mediante
el uso de nombres claros y concisos. Establecer una sistemática a la hora de
nombrar atributos y respetarla a lo largo de todo el conjunto de tablas de una
base de datos hará más fácil para los usuarios la comprensión de esta. Por
ejemplo, es habitual emplear el prefijo num cuando un atributo representa un
conteo (y por tanto, su tipo de dato será de tipo entero). Siguiendo esta
convención, si quisiéramos añadir un campo a la tabla PERSONAS con el
número de hermanos de cada individuo, sería más conveniente y más
informativo denominar al atributo correspondiente numHermanos, en lugar
de, por ejemplo, Hermanos. Más que seguir unas u otras normas para
nombrar atributos y tablas, lo importante es ser consistente y tratar siempre de
utilizar nombres que informen y no den lugar a confusiones.
Una vez que se establece un diseño y se implementa en la base de datos, lo
normal es que este sea relativamente estable y no varíe a lo largo del tiempo.
Las relaciones, por su parte, sí se modifican frecuentemente, ya sea añadiendo
tuplas a medida que se incorporan nuevos datos o modificando las ya
existentes. No obstante, los SGBD ofrecen también funcionalidades para
modificar la estructura de la base de datos, incorporando nuevas tablas o
cambiando el esquema de alguna de ellas. Estas funcionalidades no suelen ser
accesibles para los usuarios con carácter general, sino pensadas para el
mantenimiento de la base de datos por parte de su administrador.

Bases de datos espaciales


Todo cuanto hemos visto en los puntos anteriores constituye el conjunto de
ideas fundamentales sobre las que se asienta la creación y uso de bases de
datos de cualquier índole. No obstante, no hemos mencionado a lo largo de los
ejemplos presentados ningún dato de carácter espacial, a pesar de que
sabemos bien que la información geográfica contiene tanto una componente
temática como una espacial. Más aún, algunos de los atributos en los sencillos
casos mostrados, como puede ser el atributo CIUDAD, son fácilmente
asociables a elementos geográficos (por ejemplo, un punto que señale el
centro de la ciudad o un polígono que recoja su contorno).
Aunque las ideas anteriores no pierden su validez al incorporar datos
espaciales, la inclusión de estos no es en absoluto obvia, y presenta una
complejidad adicional que requiere de nuevos planteamientos para poder
seguir trabajando con la base de datos de una forma similar a como sucede
cuando se trabaja con los tipos de datos habituales. Mantener las
características propias del SGBD en el contexto de los datos espaciales no es
sencillo, y tampoco lo es integrar esa base de datos dentro de un SIG y permitir
que este aproveche la potencia de dicha base de datos de la mejor manera
posible.
Las bases de datos espaciales representan una de las áreas dentro del manejo
de datos donde se ha desarrollado últimamente una mayor evolución,
especialmente debido a la gran importancia que los SIG, usuarios primordiales
de este tipo de bases de datos, han cobrado recientemente. Esta evolución ha
ido paralela a la forma en que los SIG han trabajado con esas bases de datos y
cómo se han integrado en ellos las operaciones y funcionalidades que ofrecen.
En lugar de adentrarnos en la complejidad de las bases de datos espaciales
(aunque en el capítulo Consultas veremos bastante más en lo que a las
operaciones y posibilidades de estas respecta), veremos las distintas etapas
que podemos encontrar a lo largo de la historia de los SIG en lo referente a su
integración con bases de datos, para de este modo comprender los diversas
soluciones que han ido apareciendo.

Evolución del uso de bases de datos en los


SIG
Como acabamos de decir, los conceptos que hemos visto en las anteriores
secciones representan una gran parte de la realidad actual en cuanto al
manejo de datos (espaciales o no) dentro de un SIG. No obstante, el problema
del acceso a los datos se ha solucionado de diversas formas a lo largo de la
historia de los SIG, y encontramos en las aplicaciones SIG distintos enfoques a
lo largo del tiempo. Para concluir este capítulo veremos con algo más de
detalle la evolución que ha seguido esta importante faceta de los SIG.

Primera generación. Ficheros


Los primeros programas, entre los cuales se han de incluir los primeros SIG, se
caracterizaban en lo que al almacenamiento de datos respecta por una
ausencia completa de cualquier tipo de almacenamiento estructurado. En estas
aplicaciones, los datos no se veían como un elemento más dentro de un
sistema, sino como una parte del propio software o, al menos, como algo
asociado únicamente a un producto particular. Así, encontramos en esta época
como práctica habitual el uso de ficheros con formatos cerrados, pensados
para ser leídos y escritos casi de forma exclusiva por la aplicación particular
que ha de consumirlos, limitando así el uso compartido y el alcance de los
datos a otros ámbitos distintos.
Integrar en el SIG otros datos distintos a aquellos para los que la aplicación se
había diseñado no era sencillo, ya que existía una vinculación muy directa
entre software y datos. Asimismo, las funcionalidades del software eran
también específicas para esos datos, y todas ellas se implementaban
directamente en la aplicación. Al no existir un SGBD que se encargara de
gestionar las operaciones, era el propio SIG quien debía ser responsable de
las funcionalidades de acceso o edición. Otras funcionalidades típicas de un
SGBD, sin embargo, no aparecían en estos primeros SIG, ya que no eran
necesarias. Por ejemplo, velar por la integridad de los datos en operaciones
concurrentes de varios usuarios no era necesario si la aplicación en sí no
estaba diseñada para permitir este acceso múltiple.
Las únicas ventajas que pueden encontrarse en este enfoque son las
relacionadas con el rendimiento, que podía en ciertos casos ser mayor que el
esperable en caso de utilizar un SGBD para canalizar el trabajo con los datos.
Esto es así debido a que la propia especificidad de la aplicación permitía una
optimización «a medida», aunque todo ello a cambio de sacrificar la flexibilidad
de la aplicación, su escalabilidad, o la posibilidad de que los datos empleados
pudieran ser utilizados de forma sencilla para alimentar otras aplicaciones.

Segunda generación. Bases de datos


relacionales
Una vez que las bases de datos comienzan a tomar su papel en el panorama
del software, no tardan en encontrar su camino dentro de las aplicaciones SIG.
Las bases de datos relacionales, que como ya sabemos son las más
empleadas, comienzan a ser utilizadas también para gestionar los datos
espaciales con los que se trabaja en un SIG. A partir de esta segunda
generación, se empiezan a adaptar las características del modelo relacional y
de las bases de datos que lo implementan a las particularidades de los datos
espaciales. Las dificultades que aparecen debido a la inherente complejidad de
la componente espacial hacen que surjan diversas alternativas para su manejo.
Las más reseñables de entre ellas son el uso de una arquitectura dual en la
que únicamente la componente temática se gestiona mediante una base de
datos y el uso de una arquitectura en capas en el que se da un pleno
almacenamiento de la información espacial en la base de datos.

Arquitectura dual

El primer intento de incorporar las bases de datos lo encontramos en el uso de


una arquitectura dual en la cual el SGBD se hace cargo únicamente de la
componente temática de los datos. Puesto que la dificultad estriba en el
manejo de la componente espacial, esta no se incorpora por el momento a la
base de datos, que trabajará únicamente con los datos temáticos. Esto permite
el uso de sistemas gestores de bases de datos estándar, sin adaptación
alguna, ya que estos se encuentran perfectamente preparados para el manejo
de esos datos no espaciales, y no requieren elementos adicionales para
trabajar sobre ellos.
La componente espacial, por su parte, es gestionada por el propio SIG, en el
que se implementan las funcionalidades necesarias. Al igual que sucedía
anteriormente con los SIG de primera generación, no todas las funcionalidades
de un SGBD han de aparecer necesariamente, ya que el sistema encargado de
permitir el trabajo con los datos no es como tal un SGBD. La única diferencia
reside en que en este caso esta circunstancia afecta tan solo a la componente
espacial de los datos, mientras que la componente temática queda en manos
de un verdadero SGBD.
Existen, por tanto, dos subsistemas encargados de la gestión de los datos,
cada uno de los cuales se encarga de un tipo de información (Figura 1010).
Esta arquitectura en la que datos espaciales y datos no espaciales se
encuentran separados tiene ciertas ventajas, puesto que permite reutilizar
información ya existente de uno u otro tipo. Por ejemplo, ficheros procedentes
de aplicaciones CAD pueden incorporarse en el SIG aunque carezcan de una
componente temática, aprovechando, no obstante la información espacial.
Pese a carecer de muchas de las funcionalidades de un SIG, las aplicaciones
CAD se han utilizado tradicionalmente en arquitectura y para la elaboración de
cartografía, como ya vimos en el capítulo Historia. El resultado de este uso es
en su mayoría de tipo gráfico, pero un SIG que presente una arquitectura dual
puede trabajar con él y gestionarlo gracias al subsistema encargado de la
información espacial, suponiendo ya una mejora respecto al enfoque de los
SIG de primera generación.

Arquitectura dual con subsistemas distintos para el manejo de datos espaciales y no espaciales.

(10)(10)
La división entre datos espaciales y no espaciales conlleva, no obstante, una
serie de inconvenientes. Por un lado, resulta difícil integrar operaciones en las
que se empleen ambas componentes de los datos, que requerirán sendas
llamadas a ambos subsistemas y la posterior combinación de la respuesta de
estos. Toda esta labor debe implementarse en el SIG, siendo este un proceso
costoso que complica el desarrollo. Si todo el manejo de datos recayera sobre
la base de datos, estas operaciones se realizarían de forma transparente, ya
que bastaría ejecutar la operación en el SGBD y este se encargaría de realizar
las tareas pertinentes y devolver después al SIG la respuesta. Se evitaría
asimismo la redundancia en el propio software, ya que al emplear dos
subsistemas han de duplicarse una buena parte de funcionalidades, una de
ellas en el SGBD externo y otra en el propio SIG.
Aunque una parte importante del SIG descansa ya sobre un SGBD, otra sigue
presentando muchas de las deficiencias que caracterizaban a la primera
generación, y constituyendo por tanto un punto débil en lo que a gestión de
datos se refiere. Mientras que la componente temática disfruta de las ventajas
de usar un SGBD, la componente espacial no goza aún de las ventajas que
una base de datos provee, y existe una cierta descompensación que limita las
posibilidades y hace más complejo el desarrollo del sistema.

Arquitectura en capas

La otra forma de aprovechar una base de datos relacional para su uso dentro
de un SIG consiste en incorporar toda la información dentro de la base de
datos, incluyendo la de corte espacial, buscando la manera más adecuada de
llevar esto a cabo pese a las limitaciones que la propia base de datos presenta
en este caso. Asumiendo que una base de datos relacional en su concepto
tradicional no esta diseñada para contener objetos complejos tales como
geometrías o imágenes, y que, especialmente, el SGBD correspondiente no
presenta las mismas funcionalidades y la misma potencia en el manejo de este
tipo de datos que en el de tipos de dato estándar (valores numéricos, cadenas
de texto, fechas, etc.), es posible, sin embargo, plantear soluciones que
permitan llevar toda la información de un SIG a una base de datos y poder
gestionarla por completo a través de un SGBD, con las ventajas que ello
conlleva, y que ya conocemos.
Dos son las alternativas existentes: un almacenamiento transparente y un
almacenamientoopaco. Ambos se distinguen en la forma de almacenar la
información y también las operaciones sobre los datos, que vienen
condicionadas por la estrategia empleada para el almacenamiento de estos.
En el almacenamiento transparente se emplean los propios tipos de datos del
SGBD, y las operaciones se implementan en el lenguaje de consulta de este.
Es decir, se intenta implementar toda la funcionalidad deseada empleando los
elementos básicos del SGBD de la misma forma que haríamos si los datos a
almacenar no fueran de tipo espacial. La componente espacial de los datos se
almacena empleando tuplas, variando según la implementación la manera en
que esto se lleva a cabo. Una geometría como tal no se ajusta a ningún tipo
básico de datos, pero en realidad esa geometría no es sino un conjunto de
coordenadas que definen una serie de puntos, y dichas coordenadas sí que
son un tipo básico susceptible de almacenarse en un SGBD común.
En el almacenamiento opaco se emplean objetos binarios para almacenar la
información y las operaciones se implementan externamente en la herramienta
SIG. Al no utilizar los tipos de datos del SGBD, tampoco pueden emplearse las
operaciones de consulta de este, y es necesario implementar los algoritmos
correspondientes en el SIG.
La ventaja más directa de utilizar una arquitectura en capas, ya sea mediante
un almacenamiento transparente o uno opaco, es la facilidad para reutilizar un
SGBD existente. Con poco esfuerzo pueden incorporarse los datos espaciales
a un SGBD estándar, existiendo en la actualidad numerosas alternativas
sobradamente probadas y con una amplia gama de funcionalidades. Esta es la
opción más empleada hoy en día en los SIG, principalmente por esa sencillez,
que permite una conexión sin muchas dificultades de una aplicación SIG con la
mayoría de los SGBD de uso habitual fuera del ámbito SIG.
Existen, no obstante, inconvenientes y aspectos mejorables, achacables a la
nula especialización de los SGBD para el manejo de información espacial. En
el caso del almacenamiento opaco, no poder emplear el lenguaje de consulta
del SGBD constituye un grave inconveniente. Por su parte, en el
almacenamiento transparente sí que puede emplearse, pero no todas las
operaciones necesarias para el trabajo con datos espaciales pueden
implementarse con un lenguaje de consulta no adaptado a las particularidades
de los datos espacial, por lo que la funcionalidad es limitada.
Asimismo, la eficacia es limitada, ya que en un caso los algoritmos son
externos al SGBD y en el otro las consultas suelen ser complejas y operan
sobre un elevado número de tuplas, necesario para recoger la información
espacial.
Tercera generación. Bases de datos
extensibles
En la actualidad, las bases de datos presentan arquitecturas extensibles que
permiten ser adaptadas a la naturaleza de los datos con los que trabajan, de tal
forma que enfocan sus funcionalidades hacia la tipología particular que se
manejen. Los tipos de datos clásicos que ya se han citado conviven con
nuevos tipos de datos que pueden ser definidos, y con operaciones específicas
para estos.
Un caso particular de estas bases de datos extensibles son las bases de datos
orientadas a objetos, que ya fueron comentadas al presentar los distintos
modelos de bases de datos. A pesar de que este tipo de bases de datos no
ocupan una porción significativa en el mercado global de las bases de datos y
son las de tipo relacional las más extendidas, existen algunos sectores en los
que han logrado una mayor penetración, entre ellos el del SIG. Por sus
características, las bases de datos orientadas a objetos resultan ventajosas
para el manejo de datos complejos que no puedan recogerse con facilidad
utilizando los tipos de datos clásicos de una base de datos relacional. En este
grupo pueden incluirse las primitivas geométricas que utilizamos en un SIG
para recoger la componente espacial de un dato espacial, las cuales resulta
más adecuado considerar como objetos de un tipo dado (punto, línea o
polígono), aprovechando así las ventajas que un enfoque orientado a objetos
proporciona.
La principal ventaja de una base de datos orientada a objetos es su mayor
eficiencia en el acceso a datos, lo que se traduce en consultas más rápidas en
comparación con una base de datos relacional (veremos más sobre consultas
en bases de datos espaciales en el capítuloConsultas). Por el contrario, carece
de la base matemática de esta, por lo que el soporte para esas consultas es
menos robusto. Para saber más sobre bases de datos orientadas a objetos,
puede consultarse [Marques2002BBDD].
Los SGBD actuales presentan en su gran mayoría extensiones dedicadas al
manejo de datos espaciales, los cuales contienen todo lo necesario para el
manejo óptimo de estos, la realización de ciertas operaciones fundamentales y
la optimización de las consultas y operaciones. Esta optimización es posible ya
que el tipo de datos espacial está plenamente integrado en la base de datos y
es considerado de la misma manera que cualquiera de los tipos de datos
estándar como puede ser una cadena de texto o un valor numérico. La
eficiencia que se obtiene de este modo es muy elevada.

Resumen
En este capítulo hemos visto los conceptos básicos sobre bases de datos. Una
base de datos constituye un sistema que permite un manejo adecuado de los
datos, garantizando la seguridad e integridad de estos y permitiendo el acceso
a distintos usuarios de forma transparente. La base de datos está formada por
los datos en sí, organizados de forma estructurada, mientras que las
operaciones las provee el sistema gestor de base de datos (SGBD).
Existen diversos modelos para el almacenamiento de datos, siendo el modelo
relacional el más habitual en la actualidad. En el modelo relacional la
información se organiza en tablas relacionadas entre sí. Cada fila de una base
de datos conforma una tupla, que contiene la información correspondiente a
una entidad dada.
El diseño de la base de datos es de gran importancia, y conlleva el diseño de
un modelo conceptual, el diseño de un modelo físico, la implementación y el
mantenimiento. Herramientas como los diagramas E--R son de ayuda en las
fases de diseño, cuyo principal objetivo es crear una estructura de la base de
datos que facilite la interpretación de la información contenida y permita sacar
el máximo rendimiento de esta.
En lo que a los SIG respecta, las bases de datos se han ido incorporando
paulatinamente a la gestión de los datos espaciales. Partiendo de una situación
inicial en la que no se empleaban sistemas gestores de bases de datos, estos
han ido integrándose en los SIG de diversas formas. En la actualidad, se
emplean bases de datos relacionales, que son adaptadas para poder
almacenar datos espaciales y poder realizar operaciones sobre ellos. Los
SGBD extensibles representan la ultima tendencia, y en ellos puede integrarse
plenamente la información geográfica de forma óptima.
http://volaya.github.io/libro-sig/chapters/Bases_datos.html

BASES DE DATOS
Uno de los objetivos fundamentales de un sistema de información es
contar no sólo con recursos de información, sino también
con los mecanismos necesarios para poder encontrar y
recuperar estos recursos. De esta forma, las bases de
datos se han convertido en un elemento indispensable no
sólo para el funcionamiento de los grandes motores de
búsqueda y la recuperación de información a lo largo y
ancho de la Web, sino también para la creación de sedes
web, Intranets y otros sistemas de información en los que
se precisa manejar grandes o pequeños volúmenes de
información. La creación de una base de datos a la que
puedan acudir los usuarios para hacer consultas y
acceder a la información que les interese es, pues, una
herramienta imprescindible de cualquier sistema
informativo sea en red o fuera de ella.

Una base de datos es una colección de datos


organizados y estructurados según un determinado
modelo de información que refleja no sólo los datos en sí
mismos, sino también las relaciones que existen entre
ellos. Una base de datos se diseña con un propósito
especifico y debe ser organizada con una lógica
coherente. Los datos podrán ser compartidos por distintos usuarios y
aplicaciones, pero deben conservar su integridad y seguridad al margen
de las interacciones de ambos. La definición y descripción de los datos
han de ser únicas para minimizar la redundancia y maximizar la
independencia en su utilización.

En una base de datos, las entidades y atributos del mundo real, se


convierten en registros y campos. Estas entidades pueden ser tanto
objetos materiales como libros o fotografías, pero también personas e,
incluso, conceptos e ideas abstractas. Las entidades poseen atributos y
mantienen relaciones entre ellas.

Los modelos clásicos de tratamiento de los datos son:


 jerárquico: puede representar dos tipos de relaciones entre los datos: relaciones de uno a
uno y relaciones de uno a muchos. Este modelo tiene forma de árbol invertido en el que
una rama puede tener varios hijos, pero cada hijo sólo puede tener un padre.
 en red: Este modelo permite la representación de muchos a muchos, de tal forma que
cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a
él. El modelo de red evita redundancia en la información, a través de la incorporación de un
tipo de registro denominado el conector. En el modelo en red se representa el mundo real
mediante registros lógicos que representan a una entidad y que se relacionan entre sí por
medio de flechas
 relacional:. Desde los años 80 es el modelo más utilizado, ya que permite una mayor
eficacia, flexibilidad y confianza en el tratamiento de los datos. La mayor parte de las bases
de datos y sistemas de información actuales se basan en el modelo relacional ya que
ofrece numerosas ventajas sobre los 2 modelos anteriores, como es el rápido aprendizaje
por parte de usuarios que no tienen conocimientos profundos sobre sistemas de bases de
dados. En el modelo relacional se representa el mundo real mediante tablas relacionadas
entre sí por columnas comunes. Las bases de datos que pertenecen a esta categoría se
basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla
bidimensional compuesta por líneas y columnas. Cada línea, que en terminología
relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la
base de datos. las características de cada entidad están definidas por las columnas de las
relaciones, que se llaman atributos. Entidades con características comunes, es decir
descritas por el mismo conjunto de atributos, formarán parte de la misma relación.

Ejemplo de base de datos relacional elaborada con Microsoft Access

Hoy también destaca la utilización de bases de datos distribuidas ya que


cada vez es más corriente el uso de arquitecturas de cliente-servidor y
trabajo en grupo. Los principales problemas que se generan por el uso
de la tecnología de bases de datos distribuidas se refieren a la duplicidad
de datos y a su integridad al momento de realizar actualizaciones a los
mismos. Además, el control de la información puede constituir una
desventaja, debido a que se encuentra diseminada en diferentes
localizaciones geográficas.
Recientemente han hecho su aparición los modelos de bases de datos
orientadas a objetos. En estos, el esquema de la base de datos está
representada por un conjunto de clases que definen las características y
el comportamiento de los objetos que conformarán la base de datos. La
diferencia principal respecto a los modelos anteriores es la no positividad
de los datos. Esto es, con una base de datos tradicional, las operaciones
que se tienen que efectuar en los datos se les piden a las aplicaciones
que los usan. Con una base de datos orientada a objetos sucede lo
contrario, los objetos memorizados en la base de datos contienen tanto
los datos como las operaciones posibles con tales datos. En cierto
sentido, se podrá pensar en los objetos como en datos a los que se les
ha dotado de "cierta inteligencia" que les permite saber cómo
comportarse, sin tener que apoyarse en aplicaciones externas.

La arquitectura de un sistema de base de datos se basa en 3 niveles


distintos:
 nivel físico: es el nivel más bajo de abstracción y el nivel real de los datos almacenados.
Este nivel define cómo se almacenan los datos en el soporte físico, ya sea en registros o
de cualquier otra forma, así como los métodos de acceso. Este nivel lleva asociada una
representación de los datos, que es lo que denominamos Esquema Físico.
 nivel conceptual: es el correspondiente a una visión de la base de datos desde el punto
de visto del mundo real. Es decir se trata con la entidad u objeto representado, sin importar
como está representado o almacenado éste. Es la representación de los datos realizada
por la organización, que recoge los datos parciales de los requerimientos de los diferentes
usuarios y aplicaciones parciales. Incluye la definición de los datos y las relaciones entre
ellos. Este nivel lleva asociado un Esquema Conceptual.
 nivel de visión: son partes del esquema conceptual. El nivel conceptual presenta toda la
base de datos, mientras que los usuarios, por lo general, sólo tienen acceso a pequeñas
parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería
el caso del empleado de una organización que tiene acceso a la visión de su nómina, pero
no a la de sus compañeros. El esquema asociado a éste nivel es el Esquema de Visión.

Otros autores utilizan la denominación de nivel interno, nivel conceptual y


nivel externo, para referirse a estos mismos niveles:
Niveles de la arquitectura de un sistema de base de datos

Este modelo de arquitectura permite establecer el principio de


independencia de los datos, ya se trate de una independencia lógica o
física. La independencia lógica significa que los cambios en el esquema
lógico no deben afectar a los esquemas externos que no utilicen los
datos modificados; la independencia física significa que el esquema
lógico no se va a ver afectado por los cambios realizados en el esquema
interno, correspondientes a modos de acceso, etc.

A la hora de diseñar una base de datos hay que distinguir por un lado el
modelo de datos (instrumento) y por otro lado el esquema de datos (el
resultado de aplicar ese modelo).

Un modelo de datos es un conjunto de conceptos, reglas y convenciones


que nos permiten describir los datos del universo del discurso. Un
esquema es la estructura de datos obtenida tras aplicar dicho modelo.

El modelo de datos es una cuestión fundamental a la hora de diseñar


bases de datos. Jesús Tramullas en Los sistemas de bases de
datos recoge estos 3 modelos fundamentales:
 Modelos lógicos basados en objetos: los dos más extendidos son el modelo
entidad-relación y el orientado a objetos. El modelo entidad-relación (E-R) se basa
en una percepción del mundo compuesta por objetos, llamados entidades, y
relaciones entre ellos. Las entidades se diferencian unas de otras a través de
atributos. El orientado a objetos también se basa en objetos, los cuales contienen
valores y métodos, entendidos como órdenes que actúan sobre los valores, en
niveles de anidamiento. Los objetos se agrupan en clases, relacionándose
mediante el envío de mensajes. Algunos autores definen estos modelos como
"modelos semánticos".
 Modelos lógicos basados en registros: el más extendido es el relacional,
mientras que los otros dos existentes, jerárquico y de red, se encuentran en
retroceso. Estos modelos se usan para especificar la estructura lógica global de la
base de datos, estructurada en registros de formato fijo de varios tipos. El modelo
relacional representa los datos y sus relaciones mediante tablas bidimensionales,
que contienen datos tomados de los dominios correspondientes. El modelo de red
está formado por colecciones de registros, relacionados mediante punteros o ligas
en grafos arbitrarios. el modelo jerárquico es similar al de red, pero los registros se
organizan como colecciones de árboles. Algunos autores definen estos modelos
como "modelos de datos clásicos".
 Modelos físicos de datos: muy poco usados, son el modelo unificador y el de
memoria de elementos. Algunos autores definen estos modelos como "modelos de
datos primitivos".

Los objetivos del modelo de datos son , por un lado formalizar y definir
las estructuras permitidas para representar los datos, y por otro, diseñar
la base de datos.
En el diseño de una base de datos, hay que tener en cuenta distintas
consideraciones, entre las que destacan:
 la velocidad de acceso
 el tamaño de la información
 el tipo de información
 la facilidad de acceso a la información
 la facilidad para extraer la información requerida
 el comportamiento del sistema de gestión de bases de datos con cada tipo de información.

Para plasmar los tres niveles en el enfoque o modelo de datos


seleccionado, es necesario un programa o aplicación que actúe como
interfaz entre el usuario, los modelos y el sistema físico. Esta es la
función que desempeñan los Sistemas de Gestión de Bases de Datos.
Un Sistema de Gestión de Bases de Datos, también llamado DBMS
(Data Base Management System) no es más que un paquete
de software, que se ejecuta en un ordenador anfitrión (host) que es quien
centraliza los accesos a los datos y actúa de interfaz entre los datos
físicos y los usuarios. Este sistema es capaz de llevar a cabo funciones
como la creación y gestión de la base de datos misma, el control de
accesos y la manipulación de datos de acuerdo a las necesidades de
cada usuario.

Así pues, las bases de datos pueden ser creadas, mantenidas y


gestionadas por una serie de aplicaciones denominadas Sistemas de
Gestión de Bases de Datos (SGBD). De esta forma, cualquier usuario
puede crear una base de datos siguiendo unos parámetros normalizados
que permiten que pueda ser consultada por otros usuarios. Un sistema
de gestión de base de datos está formado por personas, máquinas,
programas y datos. Estos sistemas de gestión abarcan el conjunto de
rutinas de software interrelacionadas cada una de las cuales es
responsable de una determinada tarea.

Jesús Tramullas recoge los componentes con los que debe contar un
sistema de gestión de bases de datos ideal:
 Un lenguaje de definición de esquema conceptual.
 Un sistema de diccionario de datos.
 Un lenguaje de especificación de paquetes de entrada/salida.
 Un lenguaje de definición de esquemas de base de datos.
 Una estructura simétrica de almacenamiento de datos.
 Un módulo de transformación lógica a física.
 Un subsistema de privacidad de propósito general.
 Un subsistema de integridad de propósito general
 Un subsistema de reserva y recuperación de propósito general.
 Un generador de programas de aplicación.
 Un generador de programas de informes.
 Un lenguaje de consulta de propósito general.

Los SGBD tienen dos funciones principales que son:


 La definición de las estructuras para almacenar los datos.
 La manipulación de los datos.

Además, los SGBD deben incorporar como herramienta fundamental dos


tipos de lenguajes: uno para la definición de los datos, y otro para la
manipulación de los mismos. El primero se denomina DLL (Data
Definition Language) y es el que provee de los medios necesarios para
definir los datos con precisión, especificando las distintas estructuras. El
segundo se conoce como DML (Data Manipulation/Management
Language) y es el facilita a los usuarios el acceso y manipulación de los
datos.

Antes de la existencia de las bases de datos, los ordenadores trabajaban


en lo que se conoce como "Sistemas de procesamiento de Archivos" en
los que se guardaban los datos para ser procesados por programas
escritos especialmente para cada clase de archivo; esto conducía a un
sistema monolítico y de difícil mantenimiento con una serie de
inconvenientes como la dificultad de acceso a ciertos datos de
información, el aislamiento de datos, la falta de integridad, los problemas
de atomicidad en las operaciones, los problemas de acceso concurrente,
la falta de seguridad, etc. Para resolver estos problemas se desarrollaron
los Sistemas de Gestión de Bases de Datos cuyas características hacen
al sistema mucho más eficiente que los sistemas de procesamiento de
archivos. Algunas de estas mejoras se basan en la existencia de una
sola copia de los datos para que todos los programas trabajen con ella, lo
que se denominado obtención de redundancia mínima, para de esta
manera poder eliminar la inconsistencia de los datos; o la capacidad de
interactuar en un ambiente cliente/servidor donde los clientes o usuarios
(ya sea en una intranet o desde Internet) puedan trabajar con un un
conjunto único de datos alojados en un servidor y donde varios clientes
podrían estar trabajando al mismo tiempo. Estas son sólo algunas de las
características con que cuenta el modelo de base de datos relacional y
existen diversos motores de base de datos que permiten trabajar ya sea
con bases de datos existentes o creando nuevas con todas las
capacidades de trabajo en red. Numerosas empresas se han volcado al
desarrollo de sistemas de gestión de bases de datos
como Oracle, Informix, PostgreSQL, Sybase, Microsoft, etc. y existen
tanto soluciones comerciales de pago, como soluciones de acceso libre.
Los principales sistemas gestores de bases de datos se relacionan aquí.

En el diseño de una base de datos, el tamaño de la misma es una


cuestión fundamental, puesto que éste afecta tanto a la eficiencia en el
almacenamiento, como a la agilidad en la búsqueda y recuperación.
Como los datos pueden estar en cualquier morfología (texto, imagen,
audio, etc.), en algunos casos se deberán utilizar técnicas de compresión
de datos con el fin de disminuir el espacio y tamaño de la base, pero
estas técnicas de compresión deberán ir acompañadas de las
correspondientes técnicas de indización que hagan posible la
recuperación de dichos datos.

Tradicionalmente se ha hecho una distinción clara entre 2 tipos de bases


de datos:
 Bases de datos referenciales: aquellas bases de datos que ofrecen registros
que a su vez son representaciones de documentos primarios, y entre las que cabe
distinguir:
o bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico.
o directorios: aquellas cuyo contenido está referido a la descripción de otros
recursos de información, como por ejemplo un directorio de bases de
datos.
 Bases de datos fuente: son las que ofrecen el documento completo, no una
representación del mismo, y entre las que cabe distinguir:
o numéricas: contienen información de tipo numérico.
o textuales: contienen el texto completo de un documento.
o mixtas: combinan ambos tipos de información.

Sin embargo, el desarrollo de las aplicaciones multimedia ha dado un


vuelco al concepto tradicional de base de datos, que sólo integraba
elementos de información textual y numérica. Con el multimedia, han
hecho su aparición otro tipo de objetos: gráficos, sonoros y audiovisuales
que comparten el mismo entorno que los datos textuales y numéricos. La
aparición delCD-ROM y otros soportes ópticos como el DVD con gran
capacidad de almacenamiento de datos y alta velocidad de lectura, han
hecho posible el desarrollo de las bases de datosmultimedia. A la vez, se
han ido estandarizando poco a poco los formatos de archivo gráficos,
de audio y de vídeo, y se han perfeccionado los métodos de compresión
de este tipo de datos, ya que ocupan grandes cantidades de memoria.

Además, el desarrollo del hipertexto, al permitir la conectividad entre las


referencias y los documentos fuente a través de los enlaces, ha roto
también las fronteras entre documentos primarios y documentos
secundarios, aunando en un mismo espacio datos referenciales y acceso
directo al documento fuente.

Hasta épocas recientes, las bases de datos eran productos comerciales


desarrollados y mantenidos por ciertas empresas que las
comercializaban bien en formato CD-ROM o bien las distribuían para su
consulta, previo pago, en línea vía telnet. La mayoría eran bases de
datos bibliográficas o de legislación. Las organizaciones también
contaban con sus propias bases de datos construidas sobre los sistemas
de gestión más conocidos para crear y mantener bases de datos
como FileMaker, Knosys, Access, etc. Hoy todos estos programas se han
visto obligados a ser compatibles con la Web y a ofrecer la posibilidad
de acceder, buscar y recuperar los datos en línea vía protocolo http. De
esta forma, se han desarrollado y comercializado una serie de
herramientas y aplicaciones, comúnmente denominadas pasarelas web,
que permiten consultar las viejas -o nuevas- bases de datos creadas con
estos sistemas de gestión mediante el navegador web, pero también, la
existencia de estas herramientas ha favorecido el hecho de que cualquier
persona pueda hoy publicar su propia base de datos en su página web,
para que pueda ser consultada por cualquier usuario de la red. Estas
pasarelas no son más que herramientas de software que permiten la
comunicación entre el servidor web y la base de datos.

Así pues, la World Wide Web se ha convertido en sí misma, en


una interfaz de acceso a datos que puede ser utilizada por
cualquier usuario. Los nodos de un hipertexto no se limitan a
incluir texto, imagen o sonido, sino también scripts y otros elementos
como APIs (Application Programming interface) o controladores para
conectividad de bases de datos e intercambio de información tales como
OLE (Open Database Connectivity), CGI (Common Gateway Interface),
JDBC (Java Data Base Connectivity), SQL LINKS etc. Todos estos
objetos son los que hacen posible la existencia de elementos y
documentos dinámicos y los que aportan un verdadero dinamismo al
hipertexto. Se trata de componentes que deben ser diseñados en la
interfaz de programación para acceso a datos del hipertexto y que
comprende tanto el diseño e interfaz de Objetos de Acceso a Datos,
como la interfaz de programación de aplicaciones.

De esta forma, se pueden construir bases de datos utilizando


aplicaciones y sistemas de gestión de bases de datos como Microsoft
Access, Oracle, Sybase, MySQL, MSQL o SQL Server, etc. y, por medio
de una serie de herramientas de acceso (CGI, DAO, ODBC, etc.) y desde
entornos de desarrollo distintos, hacer que estos datos sean accesibles
vía Web para cualquier usuario que quiera hacer una consulta en línea.

El acceso a los datos se puede realizar mediante distintas tecnologías Web, entre las que
destacan:

 CGI: (Common Gateway Interface o Interfaz de pasarela


común) http://hoohoo.ncsa.uiuc.edu/cgi/ es la especificación de un protocolo que permite al servidor
Web (HTTP) comunicarse con programas o scripts externos. Los programas CGI trabajan en el
servidor Web y pueden implementarse utilizando diferentes lenguajes de programación (COBOL, C,
Perl, etc.). Para que el usuario recupere un documento dinámico HTML a través de CGI,
generalmente se sigue la siguiente secuencia básica:
1. El usuario cumplimenta los campos de un formulario HTML y pulsa el botón de envío.
Antes de proceder al mismo, el navegador determina el método HTTP para el envío,
identifica los campos del formulario, construye el conjunto de datos como pares: nombre
del control / valor asociado y codifica el conjunto de datos.
2. El navegador realiza una solicitud HTTP al servidor Web, enviando el conjunto de datos
del formulario para que sea procesado por el programa especificado en el atributo del
formulario action.
3. El servidor recibe la solicitud y a partir de ella determina que se le está pidiendo la
activación de un programa CGI. Se lanza un nuevo proceso CGI que recibe la información
necesaria para su ejecución.
4. El programa CGI se ejecuta procesando la información y devolviendo el resultado al
servidor Web.
5. El servidor recibe el resultado de proceso CGI y prepara una respuesta HTTP válida
(anexando alguna cabecera) que se le envía al cliente.
6. El navegador muestra el resultado recibido que contendrá información dependiente de lo
que el usuario introdujo en el formulario HTML.
 ASP: Microsoft ha desarrollado sus propias aplicaciones y servidores. Las primeras soluciones se
basaban en el servidor Web ISS (Internet Information Server), el lenguaje de script ASP (Active
Server Pages) y la tecnología de objetos distribuidos COM (Componente Object Model). ASP
proporciona acceso a datos apoyándose en los objetos ADO (ActiveX Data Objects) y ODBC. El uso
de la interfaz ODBC le permite a ASP trabajar sobre cualquier sistema gestor de bases de datos que
proporcione un controlador o driver (MySQL, SQL Server, Oracle, Informix, etc.). Los objetos
ADO, basados en la tecnología COM (Component Object Model), ofrecen métodos que encapsulan
el acceso a datos para su utilización en páginas ASP (Connection, RecordSet, Command, etc.). Se
puede utilizar ASP sobre un IIS (Internet Information Server) ejecutándose en Windows NT Server
4.0. Se necesita dar de alta un DSN (Data Source Name) que asocia el SGBD (MySQL), el nombre
de la fuente de datos y un driver ODBC para MySQL. http://www.asp.net/
 .NET es la última aplicación desarrollada por Microsoft e incluye ASP+, C#, mientras deja de lado
las anteriores inversiones de Microsoft en Java (y programas relacionados como Microsoft Visual
J++). Todas estas soluciones se basan en estándares propietarios, aunque en la plataforma .NET se
incluye soporte a SOAP.
 JSP: El acceso a base de datos desde JSP (Java Server Pages), al igual que desde Servlets, se apoya
en la tecnología JDBC de Java. Para ello se precisa un controlador o driver que proporcione el
acceso a la base de datos subyacente (MySQL). JSP es un lenguaje muy potente de código abierto
que permite crear de manera fácil aplicaciones Web. J2EE (Java 2 Enterprise Edition) es una
tecnología de las más utilizadas. A veces se utiliza el término: servidores de aplicaciones Java para
referirse a aquellos servidores de aplicaciones que implementan de forma adecuada las soluciones
propuestas por J2EE. J2EE es una especificación que propone un estándar para servidores de
aplicaciones. Define diferentes tecnologías e indica cómo deben trabajar juntas. Todos los servidores
de aplicaciones J2EE deben pasar un test de compatibilidad, que garantiza la correcta
implementación de las tecnologías Java. Muchos grandes fabricantes como IBM, Sun Microsystems,
Hewlett-Packard, Oracle, Sybase, etc. utilizan J2EE. Sin embargo, Java consume una gran cantidad
de recursos y la máquina virtual Java es lenta. http://java.sun.com/products/jsp/
 PHP: PHP o Hypertext Preprocessor ofrece interfaces propias de acceso a multitud de fuentes de
datos: BBDDs (MySQL, mSQL, Oracle 8, etc.), servidores de directorio (LDAP), texto en XML,
etc. Todas ellas están documentadas en la página Web de PHP: http://www.php.net/.

Diseñar hoy una web se ha convertido en una labor compleja puesto que se exigen
conocimientos de arquitectura de la información en sus distintas facetas y una de ellas, es
administrar y gestionar bases de datos. La Web es aquí entendida como interfaz
de software que permite una serie de funcionalidades como que el usuario pueda interrogar
y consultar de forma directa a la base de datos y obtener las referencias o el acceso directo a
los recursos o documentos buscados.

Fuente: Ernest Abadal. Esquema de funcionamiento.


Bases de datos documentales en el web: análisis del software para su publicación.
http://www.hipertext.net/web/pag255.htm

Los SGBD suelen incluir herramientas de administración que permiten ajustar el


rendimiento en función de las necesidades particulares. Muchas empresas cuentan son sus
propios administradores de bases de datos, pero también hay muchas otras que no, y lo más
probable es que el diseñador web tenga que administrar también las bases de datos. Sin
embargo, la complejidad del diseño ha dado lugar al nacimiento de nuevas profesiones que
se encargan de llevar a cabo procesos tales como el análisis o minería de datos (data
mining) o la distribución de los mismos (data warehouse).

Como se ha afirmado anteriormente, existen sistemas de gestión de bases de datos tanto de


uso libre, como soluciones comerciales de pago. Una de las tendencias más claras en la
Web actual es integrar el acceso a datos en los servidores de aplicaciones y esto ha
conducido a que casi todos los fabricantes de sistemas de gestión de bases de datos
comerciales ofrezcan sus propios servidores de aplicaciones que se integran a bajo nivel
con los productos de bases de datos de la misma empresa. Como ejemplos, tenemos Sybase
Enterprise Server y Oracle Application Server.

Un servidor de aplicaciones no es más que un cambio de nombre para algunos servidores


Web de nueva generación que permiten construir aplicaciones. Suelen asociarse con
servidores de alto rendimiento pensados para dar servicio a sitios Web con grandes
necesidades para gestionar movimientos de datos, afluencia de visitas, atención de
transacciones hacia bases de datos, etc. Generalmente los fabricantes del sector tienen a
disposición del público un servidor Web básico y otro con multitud de extensiones
integradas al que llaman servidor de aplicaciones.

Fuente: LÓPEZ FRANCO, José Manuel. Arquitectura de funcionamiento de un servidor de aplicaciones.


http://trevinca.ei.uvigo.es/~txapi/espanol/proyecto/superior/memoria/node21.html#serv:aplicaciones

Un servidor de aplicaciones clásico se apoya en un modelo cliente/servidor de tres capas:


 Presentación: una interfaz, generalmente gráfica que reside en los clientes. El ejemplo típico es un
navegador.
 Lógica de negocio: donde reside el servidor de aplicaciones y el conjunto de programas a los que da
soporte.
 Almacenamiento: generalmente una base de datos.

Los servicios añadidos a los servidores de aplicaciones suelen ser: generación de código
HTML ó XML, trabajo con bases de datos y gestión de transacciones, funcionamiento
multiproceso para atender a distintas peticiones, establecimiento de distintas sesiones para
acceso de usuarios, mecanismos de seguridad y autentificación, monitorización para evitar
fallos, etc.

No es fácil saber cuántos servidores hay en Internet, pero existen empresas consultoras
independientes que se dedican a medir su evolución como http://www.netcraft.com Los
servidores más utilizados son: Apache, Microsoft IIS, iPlanet de Netscape, Zeus, thttpd,
Rapidsite, etc. Un listado muy completo de servidores de aplicaciones puede encontrarse
en:http://www.serverwatch.com/appservers.html

De cualquier forma, hay que tener en cuenta que, aparte de cómo se almacenan los datos en
la base de datos, una cuestión importante es la interfaz de presentación de esos datos. Las
interfaces o presentaciones de una aplicación hacia el usuario han ido evolucionando a
través del tiempo y, actualmente se utilizan muchos lenguajes visuales denominados de
cuarta generación como son: Visual Fox Pro, Visual Basic, Delphi, etc. También los
ambientes Web, se han vuelto una opción viable para las aplicaciones distribuidas en
Internet y esto se ha logrado mediante el uso de ciertas herramientas como
son: HTML, DHTML y JavaScripts.

Con tecnologías como el scripting y DHTML, los desarrolladores de aplicaciones pueden


crear acciones con interfaces de Web funcionales, basadas para la entrada de datos o salida
de resultados de búsqueda sin usar controles comunes o applets. La tendencia es que las
empresas intenten mejorar la interfaz hacia el usuario para que éste tenga la oportunidad de
explotar la mayor cantidad de información, en una única pantalla o ventana del sistema.

Las interfaces de programación denotan el proceso de acceso y manipulación de los datos a


una base de datos, partiendo de la aplicación. El siguiente esquema muestra 4 niveles o
interfaces:
Interfaces de Programación para el acceso a datos.

La primera interfaz corresponde a la de Aplicación, la cual abarca y/o corresponde a cada


uno de los programas clientes.

La Interfaz de Objetos de Acceso a Datos, se encuentra como punto medio entre las
aplicaciones y las API's que llegan a ser necesarias para el acceso a las bases de datos.
Entre las tecnologías que pertenecen a la Interfaz de Objetos de Acceso de Datos
encontramos: DAO (Data Access Objects), ADO (ActiveX Data Objects), RDO (Remote
Data Object), RDS (Remote Data Service) y MIDAS (Middle-tier Distributed Application
Service). Su función es encapsular los componentes que se encuentran en la interfaz que
corresponde a la de API's, con la finalidad de reducir el desarrollo de la aplicación y los
costos de mantenimiento y deben situarse en todos los equipos que ejecuten la aplicación,
ya que se encuentran casi de manera conjunta con la aplicación.

Por su parte, la Interfaz de Programación de Aplicaciones (Application Programming


Interface, API), se encarga de mantener el diálogo con la base de datos, para poder llevar a
cabo el acceso y manipulación de los datos. Algunos de los componentes que forman parte
de esta interfaz son los siguientes: OLE DB, ODBC (Open Database Connectivity), JDBC
(Java Data Base Connectivity), ISAPI (Internet Server Application Programming Interface)
y CGI (Common Gateway Interface).

La función que tienen las API's, es la de ser una interfaz entre las aplicaciones y las bases
de datos, llevando ésta tarea unas veces a través de los clientes y otros a través del servidor
de base de datos. Esto quiere decir, que puede darse el caso de que el cliente conste de las
tres primeras interfaces o niveles, o que se encuentren las dos últimas en el servidor. La
interfaz correspondiente a la base de datos, es donde se encontrará el servidor y toda la
información depositada en él.

Para poder accesar y manipular la información de una base de datos, es necesario llevar a
cabo la instalación de ciertos API's o controladores, que son indispensables para efectuar la
conectividad de los datos externos, y vincularlos a la aplicación para su correcta y adecuada
utilización.

Las API's que se describen a continuación, son un claro ejemplo del proceso
correspondiente a la conectividad de datos.

 ODBC (Open Data Base Connectivity): Esta tecnología proporciona una interfaz común para
tener acceso a bases de datos SQL heterogéneas. ODBC está basado en SQL (Structured Query
Language) como un estándar para tener acceso a datos. ODBC permite la conexión fácil desde varios
lenguajes de programación y se utiliza mucho en el entorno Windows. Sobre ODBD Microsoft ha
construido sus extensiones OLE DB y ADO. Los OCBD se pueden clasificar en 3 categorías:
o Los ODBC's que permitan la realización de consultas y actualizaciones.
o Los ODBC's que mediante ellos se pueda llegar a la creación de tablas en la base de datos.
o Los ODBC's propios de los DBMS, los cuales se pueden llegar a manipular ciertas
herramientas de administración.
 CGI (Common Gateway Interface): es una de las soluciones que se está utilizando más para la
creación de interfaces Web/DBMS. Entre las ventajas de la programación CGI, destaca la sencillez,
ya que es muy fácil de entender, además de ser un lenguaje de programación independiente, ya que
los escritos CGI pueden elaborarse en varios lenguajes. También es un estándar para usarse en todos
los servidores Web, y funcionar bajo una arquitectura independiente, ya que ha sido creado para
trabajar con cualquier arquitectura de servidor Web. Como la aplicación CGI se encuentra
funcionando de forma independiente, no pone en peligro al servidor, en cuanto al cumplimiento de
todas las tareas que éste se encuentre realizando, o al acceso del estado interno del mismo. Pero el
CGI presenta cierta desventaja en su eficiencia, debido al que el servidor Web tiene que cargar el
programa CGI y conectar y desconectar con la base de datos cada vez que se recibe una requisición.
Además, no existe un registro del estado del servidor, sino que todo hay que hacerlo manualmente.
 ISAPI (Internet Server Application Programming Interface): Es la interfaz propuesta por
Microsoft como una alternativa más rápida que el CGI, y está incluida en el Servidor Microsoft
Internet Information (IIS). Así como los escritos CGI, los programas escritos usando ISAPI habilitan
un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o
intercambia información como otro software localizado en el servidor. Los programas escritos
usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dinamic Link
Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se
vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI,
debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados. Uno de los
programas ISAPI más usados es el HTTPODBC.DLL que se usa para enviar y/o devolver
información hacia y desde las bases de datos, a través de ODBC. Además, ISAPI permite realizar un
procesamiento previo de la solicitud y uno posterior de la respuesta, con lo cual manipula la
solicitud/respuesta HTTP. Los filtros ISAPI pueden utilizarse para aplicaciones tales como
autenticación, acceso o apertura de sesión.
 NSPAI. es la API propuesta por Netscape para extender la funcionalidad de sus servidores.
 DBI (PERL): Perl es uno de los lenguajes más utilizados para programación en la Web y
proporciona su propia interfaz de acceso a datos, llamada DBI (DataBase Interface). Es
especialmente utilizado bajo plataformas Linux/Unix, solucionando las complejidades de ODBC en
estos sistemas. DBI actúa como una abstracción para un conjunto de módulos DBD (DataBase
Driver). Cada módulo DBD actúa como manejador de un sistema gestor de base de datos distinto.
Existen módulos para prácticamente cualquier SGBD (Oracle, Informix, MySQL, etc.) y puentes
hacia otras tecnologías como ADO, JDBC ...
 JDBC (Java Data Base Connectivity): se trata del estándar para la conectividad entre el lenguaje
Java y un amplio rango de sistemas gestores de bases de datos. Los JDBC pueden desenvolverse
tanto en un nivel cliente, esto es, trabajando del lado de la aplicación, o en el servidor directamente
relacionado con la base de datos. Cuando se encuentre a nivel cliente, trabajará con la tecnología
ODBC para acceso a los datos. Hay diversos tipos de controladores JDBC:
o El puente JDBC-OBDC: fue uno de los primeros controladores disponibles, implementa un
enlace para utilizar un controlador ODBC desde Java. Con el tiempo han surgido
controladores JDBC específicos para cada base de datos que mejoran el rendimiento del
puente JDBC-ODBC.
o Controladores Java parcialmente nativos: usan tanto código Java como binario específico de
cada plataforma.
o Controladores JDBC-Net de Java puro: son controladores escritos completamente en Java
que entienden un protocolo de red estándar (HTTP, etc.) y permiten comunicarse con un
servidor de acceso a bases de datos, que es el que finalmente provee el acceso al SGBD
específico (posiblemente con ODBC).
o Controladores de protocolo nativo en Java puro: escritos en Java puro, utilizan el protocolo
específico de la marca del SGBD.
 SQL LINKS: se trata de controladores que se encargan de realizar la comunicación remota entre la
aplicación y los servidores remotos de bases de datos, permitiendo una comunicación casi directa y
muy rápida. Los ha desarrollado la empresa Inprise y permiten conexiones con otros servidores de
bases de datos como Interase, Oracle, Sybase, Informix, Microsoft SQL Server, etc.

Las 2 tecnologías más importantes de conectividad a la la base de datos son ADO y JDBC.
ADO:

Existen varios niveles o interfaces para lograr la comunicación o acceso a la base de datos a
través de la aplicación. El siguiente esquema muestra 2 de los principales niveles, dentro de
los cuales se encuentra ADO.

Fuente: Taller de Base de Datos.


http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.html

Por lo general, las interfaces de objetos de datos son más fáciles de usar que las APIS,
aunque las APIs ofrecen más funcionalidades. ADO (ActiveX Data Objects) es la interfaz
de objetos de datos para OLE DB, y RDO (Remote Data Objects) es la interfaz para el
objeto ODBC.

ADO encapsula el API OLE DB en un modelo objeto simple que reduce el desarrollo,
mantenimiento y costo de la aplicación. Es muy fácil de usar, utiliza lenguajes de
programación como Visual Basic, Java, C++, VBScript y JScript, puede accesar datos
desde cualquier recurso OLE DB y además, es extensible. Es la interfaz utilizada por
Microsoft.

El modelo ADO, basado en el modelo de objetos, define una jerarquía de objetos


programables que pueden ser usados por desarrolladores de páginas Web para acceder a la
información almacenada en una base de datos. Una jerarquía es un grupo de objetos
relacionados que trabajan juntos para un mismo propósito. Por ejemplo, en la siguiente
figura, cada caja representa un objeto, y cada línea representa una asociación directa entre
ellos.
ADO está compuesto de siete objetos, algunos de alto nivel
como Connection, Command y Recordset, que pueden ser creados y eliminados por el usuario y
otros con distintas funcionalidades como designar propiedades de conexión, definir
sentencias y ejecutarlas, optimización de consultas, etc. Estos elementos se representan en
la siguiente figura:

Fuente: Taller de Base de Datos.


http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.html

Cada uno de los objetos anteriores contiene una colección de objetos Property. El
objeto Property permite a ADO mostrar dinámicamente las capacidades de un objeto
específico.

ADO permite diseñar sitios web que pueden acceder repetidamente a la misma base de
datos usando una misma búsqueda u otra similar. Se pueden compartir conexiones y esto
significa una menor carga de trabajo para el servidor de la base de datos, un tiempo de
respuesta más rápida y más accesos a página con éxito.

Existe un componente llamado RDS (Remote Data Service) que ofrece el ambiente de
Acceso Universal a Datos, ya sea desde Internet o la World Wide Web, creando un marco
de trabajo que permite una interacción fácil y eficiente con los datos fuente OLE DB tanto
en Intranets corporativas o en Internet. RDS ofrece la ventaja de obtener por el lado del
cliente resultados de datos, actualización y soporte para controles ADO y ofrece el modelo
de programación OLE DB/ADO para manipular datos de las aplicaciones del cliente.

JDBC

JDBC o Java Data Base Connectivity, creado por la empresa Sun, es la API estándar de
acceso a bases de datos con Java. Sun optó por crear una nueva API en lugar de utilizar
ODBC, porque esta última presentaba algunos problemas desde ciertas aplicaciones Java.
ODBC es una interfaz escrita en lenguaje C, que al no ser un lenguaje portable, hacía que
las aplicaciones Java también perdiesen la portabilidad. Además, ODBC ha de instalarse
manualmente en cada máquina, mientras que los controladores (drivers) JDBC que están
escritos en Java son automáticamente instalables y portables. El nivel de abstracción al que
trabaja JDBC es más alto que el de ODBC y, de esta forma, se pueden crear librerías de
más alto nivel,

Para trabajar con JDBC es necesario tener controladores que permitan acceder a las
distintas bases de datos. Sin embargo, ODBC sigue siendo hoy en día la API más popular
para acceso a Bases de Datos, por lo que: Sun se ha visto obligada a diseñar un puente que
permite utilizar la API de JDBC en combinación con controladores ODBC.

Fuente: Taller de Base de Datos.


http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.html

Las tecnologías que se emplea para la conectividad entre los datos y la aplicación, se ha
convertido en un factor muy importante a la hora de desarrollar un proyecto web que cuente
con funcionalidad de acceso a datos. A continuación se muestra un cuadro comparativo de
las dos tecnologías más importantes en este sentido: ActiveX Data Objects (ADO) y Java
Data Base Connectivity (JDBC).

ADO JDBC
 Tecnología elaborada por Microsoft
 Tecnología hecha por Sun Microsistems.
 Tiene la principal función de realizar la solicitud
 Tiene la función de ser un gestor para la
de los datos a la base de datos.
aplicación con respecto a la base de datos.
 Esta solicitud la realizará mediante la
 Por primera vez el JDBC fue empleado,
tecnología OLE DB, la cual estará en contacto
tomando como intermediario entre él y la base
de manera directa con la base de datos.
de datos al ODBC.
 La tecnología OLE DB sólo se empleará
 Como modelo cliente/servidor, el JDBC se
cuando el DBMS pertenece de igual manera a
encontrará trabajando en el equipo cliente,
Microsoft, como es SQL Server.
conectándose directamente con la base de
 ADO encapsulará a ciertos objetos de OLE DB, datos.
para que de ésta manera se realice la conexión
 Como modelo de tres capas, el JDBC se
con la base de datos.
encontrará en una capa intermedia, donde todos
 Para realizar la gestión de acceso a bases de
los usuarios pasarán por él para poder accesar a
datos heterogéneas por parte de ADO, éste
la base de datos.
hará uso de ciertos objetos de la tecnología
 Existen módulos JDBC que son propios de los
RDO (Remote Data Objects).
fabricantes de DBMS, que son utilizados para el
 RDO dependerá de los ODBC’s para poder rápido acceso a la información de las bases de
efectuar la conexión a la base de datos y con
datos de los mismos.
esto el acceso a la información.
 JDBC no se encontrará ligado a trabajar con
 ADO podrá encontrarse trabajando en una
alguna tecnología en específica, ya que se
página web en conjunto con código HTML; esto
elaboró con la finalidad de ser portable.
será posible mediante un mecanismo de
 En aplicaciones Web, JDBC se encontrará
introducción de instrucciones como es el
laborando en conjunto con código HTML,
VBscript.
mediante el mecanismo del Java script.
 Los objetos que conforman al ADO, no son
 JDBC se elaboró con la finalidad de poder ser
compatibles con otros lenguajes, solo por
compatible y portable para poder ser empleado
aquellos que pertenecen a la empresa Microsoft
en aplicaciones y para la conexión con bases de
como son: Visual C++, Visual Basic, Visual
datos.
Java, etc.

Fuente: Taller de Base de Datos.


http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.html

Por último, hay que destacar también una tecnología llamada Web DB utilizada por
algunos servidores de bases de datos, con la cual, un usuario puede solicitar la información
que requiera y visualizarla a modo de respuesta en una página Web, que será creada y
elaborada por el propio servidor de base de datos.

El proceso que comprende desde la solicitud a la visualización de la información, puede ser


representado de la siguiente manera:

En este esquema anterior destacan:


 Navegador (browser): es la aplicación mediante la cual, se tiene acceso libre a los servicios de
Internet, y el medio que permite al usuario introducir la solicitud para visualizar la información,
empleando el URL para especificar detalladamente el proceso que se desea ejecutar.
 Interfaz de Web: proporciona una interfaz para que un programa que se ejecute en el servidor
genere como salida el código HTML, en lugar de leer simplemente un archivo estático de texto. Con
ésta interfaz se podrán crear las páginas Web de forma dinámica y/o utilizar la implementación de
formularios HTML. Esta interfaz permite tecnologías como los CGI’s o aquellas otras que son
propias del servidor de base de datos.
 Agente PL/SQL: es el eslabón final del proceso entre un navegador cliente y el servidor de base de
datos. El agente ejecutará una llamada a un procedimiento almacenado en el servidor. Este
procedimiento creará una página HTML dinámica como salida, y el agente devolverá dicha salida al
cliente a través del navegador empleando de igual manera la Interfaz de Web.
 Base de Datos (BD). En ella se mantendrá almacenada la información; se encargará de proporcionar
los datos que le hayan solicitado previamente, al momento de la ejecución de un procedimiento por
parte del Agente PL/SQL.

Esta herramienta es una muy buena opción para pequeñas o medianas empresas, en las
cuales llegaría a resultar muy costoso la implementación de otro tipo de tecnologías más
caras y avanzadas.

María Jesús Lamarca Lapuente. Hipertexto: El nuevo concepto de documento en la cultura de la


imagen.
http://www.hipertexto.info/documentos/b_datos.htm

Anda mungkin juga menyukai