Está en la página 1de 113

1.

INTRODUCCIN A LAS BASE DE DATOS


OBJETIVO: Identificars los componentes que intervienen en el diseo de base de datos,
mediante la conceptuacin y caracterizacin de sus elementos bsicos, usuarios que intervienen,
requerimientos de construccin y el lgebra relacional; con la finalidad de sustentar los principios
del modelado de bases de datos.
ORGANIZADOR DE CONTENIDOS

1.1 COMPONENTES BASICOS DE LA BASE DE DATOS


Desde tiempos remotos, los datos (hechos, cifras, magnitudes, etc.) han sido registrados por el
hombre en algn tipo de soporte (piedra, madera, papel, etc.) a fin de que quedara constancia de
un fenmeno o idea, pero los datos deben de ser interpretados (incorporndoles significado) para
que se conviertan eninformacin til.
Las cualidades que debe poseer la informacin y que hacen de ella un recurso fundamental de las
organizaciones y de los individuos son:

Precisin: porcentaje de informacin correcta sobre la informacin total del sistema. Si


queremos que los resultados de la computadora sean precisos, debemos tambin
suministrarle datos precisos.

Oportunidad: tiempo transcurrido desde el momento en que se produjo el hecho que


origin el dato, hasta el momento en el que la informacin se pone a disposicin del
usuario.

Significado: debe poseer el mximo contenido semntico posible (significado inherente de


los datos), ya que sin l no constituira verdadera informacin. Un volumen de informacin
justo es condicin indispensable para que sta sea significativa.

Integridad: toda la informacin contenida en el sistema debe ser coherente en s misma;


esta cualidad coincide en parte con el concepto de precisin.

Seguridad: la informacin ha de estar protegida frente a su deterioro (por causas fsicas o


lgicas) como frente a accesos no autorizados. Actualmente el concepto de seguridad
comprende confidencialidad, disponibilidad e integridad.

Todo sistema de informacin formal (SI), se disea a fin de satisfacer las necesidades de
informacin de una organizacin y est inmerso en ella. El SI ha de tomar los datos del entorno
(medio ambiente) y sus resultados han de ser la informacin que dicha organizacin necesita para
su gestin y toma de decisiones.
Las entradas del sistema son los elementos que se consumen o transforman en el proceso. Se
corresponden con la materia primaen los procesos de fabricacin; en el caso de los sistemas de
informacin, sern los datos. Los SI se diferencian de otros sistemas porque en ellos las entradas
no se consumen, slo se transforman sin destruirse, ya que quedan almacenadas en la base de
datos del propio sistema.
Las salidas son los elementos que se crean en el proceso. Constituyen el producto terminado de
los procesos de fabricacin; en este caso la salida es la informacin.
El procesador es el lugar donde se efecta el tratamiento y comprende todos los elementos que
participan en l sin transformarse ni crearse; es decir, a excepcin de las entradas y salidas.
En los SI existe un control externo, que son los rganos directivos de la organizacin que
establecen el marco en que se desenvuelve; pero al mismo tiempo tendr que disponer en su
interior de mecanismos autorreguladores ms o menos desarrollados que interpreten y detallen las
rdenes de los rganos directivos.

El SI puede ser comparado con un motor que impulsa la informacin, hacindola circular por el
organismo, distribuyndola y acortndola a las reas donde es necesaria. Para realizar esta
funcin es preciso que el sistema recoja previamente los datos all donde son generados y los
procese para convertirlos en informacin til.
Entre el SI y el organismo donde est inserto existe una mutua y estrecha interrelacin, en realidad
el SI no es otra cosa que un subsistema de los varios que integran la organizacin.

Aun cuando los SI podran no estar informatizados, siendo tratados manualmente, se apoyan en
tcnicas informticas; y los tratamientos y recuperacin de la informacin se realiza por medio de
sistemas de gestin de bases de datos (SGBD).
1.1.1 CONCEPTO DE BASE DE DATOS
Una Base de Datos (BD) es un conjunto de datos relacionados entre s. Por datos entendemos
hechos conocidos que pueden registrarse y que tienen un significado implcito. Una BD tiene las
siguientes propiedades:

Representa algn aspecto del mundo real, en ocasiones llamado mini mundo o
universo de discurso. Las modificaciones del mini mundo se reflejan en la BD.

Es un conjunto de datos lgicamente coherente, con cierto significado inherente. Una


coleccin aleatoria de datos no puede considerarse propiamente una BD.

Toda BD se disea, construye y prueba con datos para un propsito especfico.

Est dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que


interesan a dichos usuarios.

Definicin de Base de Datos: Coleccin o depsito de datos integrados, almacenados en


soporte secundario (no voltil) y con redundancia controlada. Los datos, que han de ser
compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos. Y
su definicin (estructura de la BD) nica y almacenada junto con los datos, se ha de apoyar en un
modelo de datos, el cul ha de permitir captar las interrelaciones y restricciones existentes en el
mundo real. Los procedimientos de actualizacin y recuperacin, comunes y bien determinados,
facilitarn la seguridad del conjunto de datos.
1.1.2 CONCEPTO DE SISTEMA GESTOR DE BASE DE DATOS
Se puede definir el SGBD como un conjunto coordinado de programas, procedimientos,
lenguajes, etc., que suministra a los distintos tipos de usuarios los medios necesarios para
describir y manipular los datos almacenados en la base, garantizando su seguridad.
El SGBD junto con la BD y los usuarios constituyen el Sistema de Base de Datos. Ventajas de los
sistemas de BD frente a los archivos clsicos:

Independencia de los datos respecto a los tratamientos y viceversa. La mutua


independencia de datos y tratamientos lleva a que un cambio de estos ltimos no imponga
un nuevo diseo de la BD. Por otra parte, la inclusin de nueva informacin, desaparicin
de otra, cambios en la estructura fsica, etc., no deben obligar a alterar los programas.

Coherencia de resultados. Debido a que la informacin de la BD se recoge y almacena una


sola vez, en los tratamientos se utilizan los mismos datos, por lo que los resultados de
todos ellos son coherentes y perfectamente comparables.

Mejor disponibilidad de los datos para el conjunto de los usuarios. Cuando se aplica la
metodologa de BD, cada usuario ya no es propietario de sus datos, puesto que stos se
comparten entre el conjunto de aplicaciones, existiendo una mejor disponibilidad de los
datos para todos los que necesiten de ellos, siempre que estn autorizados para su
acceso.

Mejor y ms normalizada documentacin de la informacin, la cul est integrada con los


datos. La documentacin de los datos, realizada por el analista o programador, es en
general insuficiente, y a veces incluso inexistente, adems no existe la estandarizacin.
Este problema se atena con las BD, ya que en la misma base se incluyen no slo los
datos, sino tambin la semntica de los mismos.

Mayor eficiencia en la recoleccin, validacin e introduccin de los datos en el sistema. Al


disminuir las redundancias (repeticiones), los datos se recogen y validan una sola vez,
aumentando as el rendimiento de todo el proceso previo al almacenamiento.

Reduccin del espacio de almacenamiento. La disminucin de redundancias y la aplicacin


de tcnicas de compactacin, provoca en los sistemas de BD una menor ocupacin de
almacenamiento secundario.

1.1.3 INCONVENIENTES DE LOS SISTEMAS DE BD

Instalacin costosa. La implantacin de un sistema de BD puede llevar un costo elevado


tanto en equipo fsico (nuevas instalaciones o ampliaciones), como en el lgico (sistemas
operativos, programas, compiladores, etc.), adems del costo de adquisicin y
mantenimiento del SGBD.

Personal especializado. Necesidad de contar con personal especializado para su


manipulacin.

Implantacin larga y difcil. Las dificultades que van apareciendo durante su desarrollo
llevan a que se rebasen los plazos inicialmente previstos.

Falta de rentabilidad a corto plazo. El costo en personal y equipos, as como el tiempo que
tarda en estar en operacin, hacen que no resulte rentable a corto plazo, sino a medio, o
incluso, a largo plazo.

Escasa estandarizacin. La falta de estandarizacin al crear BD que facilite a los usuarios


el manejo de estos sistemas, empieza ya a corregirse al ir apareciendo estndares, sobre
todo para BD relacionales y BD orientadas al objeto.

Equivalencia entre la terminologa empleada para referirnos a tablas, archivos y el modelo


relacional:
TABLA

ARCHIVO

RELACIN

FILA

REGISTRO

TUPLA

COLUMNA

CAMPO

ATRIBUTO

No.
DE No.
COLUMNAS
CAMPOS

DE GRADO

No. DE FILAS

No.
DE CARDINALIDA
REGISTROS
D

Las operaciones tpicas que realiza un SGBD pueden resumirse en las que afectan la integridad de
los datos (o a todos los registros de un determinado tipo) y las que tienen lugar sobre registros
concretos.
Funciones esenciales.

Definicin o descripcin: Permite al diseador especificar los elementos de datos que la


integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad
semntica, as como las caractersticas de tipo fsico y las vistas lgicas de los usuarios.

Esta funcin es realizada por el lenguaje de descripcin o definicin de datos (LDD) propio de cada
SGBD: suministra los medios para definir las tres estructuras de datos: externa(estructura lgica
del usuario), lgica global (esquema conceptual) e interna (estructura fsica), especificando las
caractersticas de los datos a cada uno de estos niveles.
Para el nivel interno, se ha de indicar el espacio (volmenes, cilindros y pistas) reservado para la
base, la longitud de los campos, su modo de representacin (decimal, alfanumrico, binario, etc.).
Adems se deben definir los caminos de acceso, como punteros, ndices, etc.
Para las estructuras externa y lgica global, debe proporcionar los instrumentos para la definicin
de los objetos (entidades, tablas, tuplas, etc.), as como su identificacin, atributos de los mismos,
interrelaciones entre ellos, autorizaciones de acceso, etc.

Manipulacin: Despus de describir la BD, hay que introducir los datos en las estructuras
creadas. Los usuarios tendrn necesidad de:

Consulta

Totalidad de los datos: se recuperan todos los datos de la BD o todos los de un


determinado tipo.

Consulta selectiva: localizacin de registros que cumplan con determinada condicin


(criterio de seleccin).

Actualizacin

Insercin: cuando aparezcan nuevos elementos.

Borrado: cuando haya que quitar ciertos elementos.

Modificacin: cambios en algunos registros.

La funcin de manipulacin se llevar a cabo por medio del lenguaje de manipulacin de datos
(LMD).

Control: Rene todas las interfaces que necesitan los diferentes usuarios para
comunicarse con la base y proporciona un conjunto de procedimientos que facilitan la tarea
del administrador.

En la mayora de los SGBD existen funciones de servicio, como cambiar la capacidad de los
archivos, obtener estadsticas de utilizacin, cargar archivos y principalmente las relacionadas con
la seguridad fsica (copias de seguridad, de arranque en caso de cada del sistema, etc.) y de
proteccin frente a accesos no autorizados.
DESCRIPCIN
Permite describir

Los elementos de datos con:

Su estructura

Sus interrelaciones

Sus validaciones

A tres niveles:

Externo

Lgico Global

Interno

Mediante un LDD
MANIPULACIN
Permite sobre los datos de la base:

Buscar

Aadir

Suprimir

Modificar

Mediante un LMD
Lo cul supone:

Definir

un

criterio

de

seleccin

(responsabilidad del usuario).

Definir la estructura externa a recuperar


(responsabilidad del usuario).

Acceder
a
la
estructura
(responsabilidad del sistema).

fsica

CONTROL

Rene las interfaces de los usuarios

Suministra
procedimientos
administrador

para

el

1.2 TIPOS DE USUARIOS

Usuarios informticos: tienen a su cargo tareas de creacin y mantenimiento de la BD,


as como la realizacin de procedimientos y programas que necesiten los usuarios finales.
Se clasifican en:

Diseadores: tienen la responsabilidad de identificar los datos que han de estar contenidos
en la BD, as como determinar las estructuras ms apropiadas para satisfacer las
necesidades de los usuarios. Segn la fase donde intervienen, se clasifican en:

Diseadores lgicos: mantienen constantes entrevistas con los usuarios finales a fin de
que la BD represente lo ms fielmente posible el mundo real que trata de recoger, ya que
deben decidir qu tipos de datos van a estar contenidos en la BD. Persiguen un objetivo de
eficacia de la BD.

Diseadores fsicos: transforman las estructuras lgicas en fsicas, las cuales deben de
proporcionar la mayor eficiencia, minimizando el tiempo de respuesta y el consumo de
recursos.

Administradores: su misin es la vigilancia y gestin de los datos para que no se destruyan


ni contaminen, perdiendo su confidencialidad, disponibilidad e integridad. El administrador
es el responsable de establecer el sistema de autorizaciones de acceso y deber coordinar
y controlar su uso. Deber ocuparse del buen funcionamiento de todo el sistema, sin que
se produzcan paradas, de modo que se proporcionen los tiempos adecuados de respuesta.

Analistas y programadores: tienen a su cargo el anlisis y la programacin de las tareas


que no pueden ser llevadas a cabo por los usuarios finales, para lo cual desarrollan
procedimientos y programas que ponen a disposicin de los usuarios finales con el
propsito de facilitarles su trabajo.

Usuarios finales: son aquellos que tienen que acceder a los datos porque los necesitan
para llevar a cabo su actividad, se les puede clasificar en:

Habituales: suelen hacer consultas y/o actualizaciones en la BD como parte cotidiana de


su trabajo. Utilizan por lo regular mens preparados por analistas y/o programadores para
facilitarles su interrelacin con la computadora. Dentro de este grupo se distingue a
loscapturistas cuya labor consiste en actualizar la BD.

Espordicos: usuarios que no hacen un uso cotidiano de la computadora, pero es posible


que requieran informacin diferente en cada ocasin. Suelen ser gerentes de nivel medio o
alto.

Simples o paramtricos: realizan transacciones programadas, su trabajo es de consultas y


actualizaciones constantes de la BD, por ejemplo, encargados de reservaciones de lneas
areas, hoteles y compaas de alquiler de automviles; los cajeros bancarios, etc.

Autnomos: emplean BD personalizadas gracias a los paquetes comerciales que cuentan


con interfaces de fcil uso, basadas en mens o en grficos. En estos se encuentran los
usuarios de paquetes fiscales que almacenan diversos datos financieros personales para
fines fiscales, entre otros.

1.3 REQUERIMIENTOS DE CONSTRUCCIN

ANSI/X3/SPARC es un grupo de estudio del Standard Planning and Requirements


Committee (SPARC) perteneciente al ANSI (American National Standards Institute), y
dentro de ste se encuentra el comit X3 que se encarga de las estandarizaciones de
computadoras e informtica. Este comit define que la arquitectura a tres niveles tiene
como objetivo formar una separacin entre las aplicaciones del usuario (nivel externo) y la
BD fsica (nivel interno), incluyendo para ello el nivel conceptual.

El nivel externo o de vistas incluye varios esquemas externoso vistas de usuario.


Cada esquema externo describe la parte de la base de datos que interesa a un grupo de
usuarios determinado y le oculta el resto de la base de datos.

1.3.1 MODELO DE DATOS


Se puede definir como un conjunto de conceptos, reglas y
convenciones que nos permiten describir y manipular (consultar y
actualizar) los datos de un cierto mundo real que deseamos almacenar
en la base de datos.
Es un conjunto de conceptos que permiten describir a distintos niveles de abstraccin, la estructura
de la BD, a la cual denominamos esquema. Segn el nivel de abstraccin, el modelo que permite
su descripcin ser externo, global ointerno, cada uno de los cuales ofrecen distintos elementos
de descripcin. Los modelos externos nos permiten representar los datos que necesita cada
usuario, en particular con las estructuras propias del lenguaje de programacin que va a emplear.
Los modelos globales ayudan a describir los datos para el conjunto de usuarios, esto es, la
informacin a nivel de empresa; y por ltimo, los modelos internos (tambin llamados fsicos) estn
orientados a la mquina, siendo sus elementos de descripcin punteros, ndices, etc.
Los modelos de datos son un eficaz instrumento en el diseo de base de datos.
Modelo externo: punto de vista de cada usuario en particular. Eficiencia
humana.
Modelo global: punto de vista del conjunto de usuarios (empresa).

Eficiencia informativa.
-Conceptual: enfocados a describir el mundo real con independencia de
la computadora.
- Convencionales o Lgicos:
BD.Implementados en SGBD.

tambin

llamados modelos

de

+ Jerrquico.
+ CODASYL (Red).
+ Relacional.
Modelo interno: punto de vista de la computadora. Eficiencia de los
recursos informticos.

EL SGBD no interpreta los conceptos del esquema conceptual, por lo cual es necesario pasar a
una descripcin en trminos propios del SGBD, para almacenar los datos necesarios en la
estructura fsica previamente definida, donde tendremos cadenas de bits, totalmente carentes de
significado si no disponemos de los medios que nos permitan recorrer el camino inverso, pasando
de nuevo al mundo real con ayuda del lenguaje de manipulacin, por medio del cul
actualizaremos o recuperaremos los datos almacenados en la base, reincorporndoles su
contenido semntico y obteniendo la informacin que necesita el usuario.
Las herramientas CASE proporcionan una importante ayuda en el diseo de BD, al disponer de
modelos de datos semnticos (en general basados en el modelo E/R) que facilitan el diseo
conceptual y realizan la transformacin al modelo relacional propio de los productos comerciales
ms extendidos.
A continuacin se presenta el proceso para disear bases de datos:

Obtener el esquema conceptual.

Aplicando reglas del modelo de datos propio del SGBD que se va a utilizar, se obtiene
el esquema lgico(tambin llamado esquema de base de datos).

Definir el esquema interno, donde el objetivo es conseguir la mxima eficiencia de frente


a la computadora y al problema especfico.

Implementacin de la base de datos fsica en los soportes secundarios.

La estructura fsica se ha de rellenar con los valores (ocurrencias o instancias) que se


obtienen por observacin de los sucesos del mundo real.

Se puede considerar que los usuarios, en la arquitectura a tres niveles, estn aislados de los datos
almacenados fsicamente en la mquina por las pantallas X1 y X2 (como se observa en la figura
siguiente), que representan dos funciones de correspondencia. La primera, que representa la
independencia lgica, realiza la transformacin de la estructura conceptual (EC) a los esquemas
externos (EE) y la segunda, que representa la independencia fsica, realiza la transformacin del
esquema interno (EI) al conceptual

El concepto de independencia de datos es complejo y difcil de delimitar y tampoco es fcil


diferenciarlo de flexibilidad, versatilidad y otros conceptos estrechamente relacionados con l.
Implica la separacin entre el almacenamiento y la organizacin lgica de los datos tal como stos
se contemplan por los distintos programas de aplicacin que hacen uso de la base de datos, con lo
que se consigue:

Unos mismos datos se presentarn de distintas formas segn las necesidades de los
usuarios.

El almacenamiento de los datos, su estructura lgica y los programas de aplicacin sern


independientes unos de otros, de modo que un cambio en uno de ellos no obliga a
modificar los dems.

La independencia de los datos es la capacidad de un SGBD para permitir que las referencias a los
datos almacenados, especialmente en los programas y en sus descripciones de datos, estn
aisladas de los cambios y de los diferentes usos en el entorno de datos, como pueden ser; la forma

como se almacenan dichos datos, el modo de compartirlos con otros programas y cmo se
reorganizan para mejorar el rendimiento del sistema de base de datos.
La independencia de descripcin permite separar la definicin de los datos a nivel fsico y a nivel
lgico, mientras que laindependencia de manipulacin se refiere a los programas de aplicacin con
respecto a los caminos de acceso y al soporte fsico donde se almacenan los datos.
Entre las interfaces de usuario que ofrecen los SGBD estn:

Basadas en mens. Presentan al usuario listas de opciones, llamadas mens, que guan al
usuario para formular solicitudes. Los mens hacen innecesario memorizar las rdenes y la
sintaxis especfica de un lenguaje de consulta.

Grficas. Suelen presentar al usuario esquemas en forma de diagrama para que se


especifique la consulta manipulando el diagrama. En muchos casos las interfaces grficas
se combinan con las de mens. Casi todas estas interfaces se valen de un dispositivo
apuntador como el ratn (mouse).

Basadas en formas. Presentan una forma a cada usuario, ste llena todos los espacios de
la forma para insertar datos nuevos, o bien llenar slo ciertos espacios. Las formas suelen
disearse y programarse para los usuarios simples como interfaces de transacciones
programadas. Muchos SGBD cuentan con los lenguajes de especificacin de formas, con
los que los programadores pueden especificar dichas formas.

Lenguaje natural. Aceptan solicitudes escritas en ingls o en algn otro idioma e intentan
entenderlas. La interfaz consulta las palabras de su esquema y tambin un conjunto de
palabras estndar, para interpretar la solicitud. Si la interpretacin tiene xito, la interfaz
genera una consulta de alto nivel que corresponde a la solicitud en lenguaje natural y la
enva la SGBD para su procesamiento; en caso contrario, se inicia un dilogo con el
usuario para esclarecer la solicitud.

Usuarios paramtricos. Estos usuarios, a los que pertenecen los cajeros de un banco, a
menudo tienen un conjunto pequeo de operaciones que deben realizar repetidamente.
Los analistas de sistemas y los programadores disean e implementan una interfaz
especial donde se incluye un conjunto reducido de rdenes abreviadas, con el fin de
reducir al mnimo el nmero de digitaciones requeridas para cada solicitud, como por
ejemplo: programar teclas de funciones.

Los sistemas de bases de datos contienen rdenes privilegiadas que slo el personal del
DBA (Administrador de Base de Datos) puede utilizar. Entre ellas estn las rdenes para
crear cuentas, establecer los parmetros del sistema, otorgar autorizaciones a las cuentas,
modificar los esquemas y reorganizar la estructura de almacenamiento de una base de
datos.

La independencia fsica / lgica ha permitido algunos cambios como son:

Cambios en aspectos lgicos:

En los campos. Cambios en el nombre, tamao, tipo, modo de clculo, contraseas, etc.
Adems, a nivel externo, pueden producirse cambios en la presentacin de los datos.

En los registros. Cambios en los nombres, introduccin de nuevos campos, borrado de los
mismos, alteracin del orden en que aparecen los campos de un registro, divisin de un
tipo de registro en dos (normalizacin), unin de dos tipos de registro en uno, contraseas
etc.

Cambios en aspectos fsicos:

Tamao de bloques, longitud de los registros almacenados, pasar los registros de longitud
fija a longitud variable, mtodos de direccionamiento, tratamiento de desbordamientos,
inserciones y eliminaciones, ubicacin de los conjuntos de datos en diferentes volmenes,
introducir o borrar ndices, cambiar o introducir tcnicas de compactacin, cambiar o
introducir tcnicas criptogrficas, determinar la longitud de las pistas, nmero de
pistas/cilindro, sistema operativo, direccin de dispositivos, etc.

Facilidades de usuario

Generadores de Aplicacin La
figura
(izquierda)
muestra
(L4G)
el ncleo del SGBD, que est en
mayor o menor medida soportado por
Diccionario de Recursos de Generadores el sistema operativo; sobre este ncleo
se
sita
el diccionario(llamado
la Informacin
tambincatlogo
o metabase).
El
de Informes
conjunto
de
herramientas
y
facilidades
Exportador
Ncleo del SGDB
que aparecen en la figura facilitan el
acceso a los datos, sea directamente
Importador
Sistema
(facilidades de usuario), o mediante las
Operativo
aplicaciones desarrolladas por los
informticos con la ayuda
de
generadores
de
aplicaciones,
precompiladotes, etc.
Precompila-dos

DATOS

de lenguaje
Ayudas al

Utilidades

Diseo

Del SGBD

(CASE)

Lenguaje de
SGBD
(Catlogo)
Aplicaciones Desarrolladas

Otros componentes (como las utilidades y el exportador / importador) facilitan las tareas del
administrador o ayudan a realizar el diseo de la base de datos (herramientas CASE) (Computer
Aided Software Engineering Ingeniera de Sistemas Asistida por Computadora).

1.4 ALGEBRA RELACIONAL


El modelo relacional lleva asociado a su parte esttica (estructura y restricciones) una dinmica
que permite la transformacin entre estados de la BD. Esta transformacin de un estado de origen
a un estado objetivo se realiza aplicando un conjunto de operadores, mediante los cuales se llevan
a cabo las siguientes operaciones:

Insercin de tuplas

Borrado de tuplas

Modificacin de tuplas

Consulta

Una relacin se define como un conjunto de tuplas, donde todos los elementos de un conjunto
son distintos, por tanto, todas la tuplas de una relacin deben ser distintas, esto significa que no
puede haber dos tuplas que tengan la misma combinacin de valores para todos sus atributos.
Matemticamente, los elementos de un conjunto no estn ordenados; por tanto las tuplas de una
relacin no tienen un orden especfico, pero sta intenta representar los hechos a un nivel lgico o
abstracto donde podemos especificar muchos ordenamientos lgicos en una relacin. Cuando una
relacin se implementa en forma de archivo, se puede especificar un ordenamiento fsico para los
registros del archivo, de manera similar, cuando presentamos una relacin en forma de tabla, las
filas se muestran en cierto orden.
Para manipular relaciones completas, el lgebra relacional proporciona una serie de operadores
que podemos clasificar en:

Operadores primitivos

Unarios: tienen como operando una nica relacin.

Restriccin (s). Tambin llamada seleccin, sirve para seleccionar un subconjunto de las
tuplas de una relacin que satisfacen una condicin de seleccin. Si visualizamos una
relacin como una tabla, esta operacin selecciona algunas filas de la tabla y desecha
otras.

Notacin: s <condicin de seleccin>(<nombre de la relacin>)


Ejemplo: considerando la relacin
EMPLEADO

NOMBRE

NDEP

SALARIO SEXO

Jos

3000

Federico

4000

Alicia

2500

Jazmn

4300

Ramn

3800

Josefa

2500

Alejandro

2500

Jaime

5500

La operacin:s (NDEP = 4 Y SALARIO > 2500) O (NDEP = 5 Y SALARIO > 3000) (EMPLEADO)
Dara la siguiente relacin:
NOMBRE

NDEP

SALARIO SEXO

Federico

4000

Jazmn

4300

Ramn

3800

Proyeccin (p). Selecciona ciertas columnas de la tabla y desecha las dems, eliminando
la tuplas duplicadas que hubieran podido resultar.

Notacin: p<lista de atributos> <nombre de la relacin>


Ejemplo: considerando la relacin
EMPLEADO
NOMBRE

NDEP

SALARIO SEXO

Jos

3000

Federico

4000

Alicia

2500

Jazmn

4300

Ramn

3800

Josefa

2500

Alejandro

2500

Jaime

5500

La operacin:p SALARIO, SEXO, NOMBRE (EMPLEADO)


Dara la siguiente relacin
SALARIO SEXO

NOMBRE

3000

Jos

4000

Federico

2500

Alicia

4300

Jazmn

3800

Ramn

2500

Josefa

2500

Alejandro

5500

Jaime

Se pueden efectuar operaciones combinadas, por ejemplo, proyectar una relacin despus de
efectuar alguna seleccin.
Considerando la relacin EMPLEADO, el resultado de aplicar la operacin:
p NOMBRE SALARIO (s NDEP = 6 (EMPLEADO)
Dara como resultado:

NOMBRE

SALARIO

Jos

3000

Federico

4000

Ramn

3800

Josefa

2500

Si queremos cambiar los nombres de los atributos de una relacin que resulte de aplicar una
operacin del lgebra relacional, bastar con que incluyamos una lista con los nuevos nombres de
atributos entre parntesis. Ejemplo:
TEMP s NDEP=5 (EMPLEADO)
NUEVO (NOMPILA, SEX, SUELDO) p NOMBRE, SEXO, SALARIO (TEMP)
NUEVO

NOMPILA SEX

SUELD
O

Jos

3000

Federico

4000

Ramn

3800

Josefa

2500

Binarios: se aplican a dos relaciones que debern tener el mismo tipo de tuplas; esta
condicin se denominacompatibilidad de unin.

Tomando como base las relaciones ESTUDIANTE y PROFESOR se mostrarn los resultados
obtenidos al realizar las siguientes operaciones:
ESTUDIANTEPROFESOR
NOMPILA

APAT

NOMBRE

APELLIDO

Susana

Ynez

Jos

Silva

Ramn

Snchez

Ricardo

Bueno

Josu

Landa

Susana

Ynez

Brbara

Jaimes

Francisco

Jimnez

Amanda

Flores

Ramn

Snchez

Jaime

Vlez

Ernesto

Gmez

Unin (). La unin de dos relaciones r1 y r2 con esquemas compatibles R1 y R2, es otra relacin
definida sobre el mismo esquema de relacin y cuya extensin estar constituida por el conjunto de
tuplas que pertenezcan a r1 y r2 (se eliminarn las tuplas duplicadas puesto que se trata de un
conjunto).
Ejemplo:
ESTUDIANTE PROFESOR
NOMPILA

APAT

Susana

Ynez

Ramn

Snchez

Josu

Landa

Brbara

Jaimes

Amanda

Flores

Jaime

Vlez

Ernesto

Gmez

Jos

Silva

Ricardo

Bueno

Francisco

Jimnez

Diferencia (). La diferencia de dos relaciones r1 y r2 con esquemas compatibles R1 y R2, es otra
relacin definida sobre el mismo esquema de relacin y cuya extensin estar constituida por el
conjunto de tuplas que pertenezcan a r1 pero no a r2. Ejemplo:
ESTUDIANTE PROFESOR

NOMPILA

APAT

Josu

Landa

Brbara

Jaimes

Amanda

Flores

Jaime

Vlez

Ernesto

Gmez

Producto Cartesiano Generalizado (X). El producto cartesiano generalizado de dos


relaciones de cardinalidades m1 y m2 es una relacin definida sobre la unin de los
atributos de ambas relaciones y cuya extensin estar constituida por las m1 x m2 tuplas
formadas con catenndo (uniendo) cada tupla de la primera relacin con cada una de las
tuplas de la segunda. No se exige que las dos relaciones sean compatibles en sus
esquemas. Ejemplo:

SOCIOLIBRO
NOMBRE

DOMICILI
O

TTULO

AUTOR

EDITORIAL

Zapata

Oso 76

Windows
95

Kurtz H.

Macrobit

Gonzlez

Dalia 1024

Visual Basic Badell G.

Mndez

Pino 36-2

CECSA

La operacin SOCIO X LIBRO dara:


NOMBRE

DOMICILI TTULO
O

AUTOR

EDITORIAL

Zapata

Oso 76

Windows
95

Kurtz H.

Macrobit

Zapata

Oso 76

Visual
Basic

Badell G.

CECSA

Gonzlez

Dalia 1024 Windows


95

Kurtz H.

Macrobit

Gonzlez

Dalia 1024 Visual


Basic

Badell G.

CECSA

Mndez

Pino 36-2

Windows
95

Kurtz H.

Macrobit

Mndez

Pino 36-2

Visual
Basic

Badell G.

CECSA

Operadores Derivados

Combinacin (). Tambin llamada reunin; la combinacin de dos relaciones


respecto a una cierta condicin de combinacin, es otra relacin constituida por todos los
pares de tuplas concatenadas, tales que, en cada par, las correspondientes tuplas
satisfacen la condicin especificada. Entre las funciones que deben aplicarse a colecciones
de valores numricos estn SUMA, PROMEDIO, MXIMO y MNIMO. La funcin CUENTA
sirve para contar tuplas. Puesto que uno de cada par de atributos con valores idnticos es
superfluo, se ha creado una nueva operacin llamada reunin natural (*), para deshacerse
del segundo atributo en una condicin de equirreunin (=).
Notacin: R1<condicin de reunin> R2

Ejemplo: Dadas las relaciones AUTOR y LIBRO realizar la combinacin que se indica:
AUTORLIBRO
NOMBRE NACIONALIDA
D

LIBRO

AUTOR

EDITORIAL

Laguna

Norteamericano

HTML

Laguna

Trillas

Kurtz

Ingls

Fox Pro

Badell

Mc Graw Hill

Badell

Italiano

Internet

Laguna

Trillas

AUTOR*LIBRO
(AUTOR nombre = LIBRO autor)
NOMBRE

NACIONALIDA LIBRO
D

EDITORIAL

Laguna

Norteamericano HTML

Trillas

Laguna

Ingls

Internet Trillas

Badell

Italiano

Fox Pro Mc Graw Hill

Interseccin (). El resultado de esta operacin, es una relacin que incluye a las tuplas
que estn tanto en r1 como en r2. Ejemplo:

ESTUDIANTE PROFESOR

NOMPILA

APAT

Susana

Ynez

Ramn

Snchez

Divisin ( ): La divisin de una relacin R1 (dividendo) por otra R2 (divisor) es una


relacin R (cociente) tal que, al realizarse su combinacin con el divisor, todas las tuplas
resultantes se encuentran en el dividendo. Es un operador muy til para simplificar
consultas, evitando tener que hacer la consulta especificando el conjunto de operaciones
anteriores. Ejemplo: Obtener los autores que han publicado en las editoriales CECSA y
Trillas.

AUTOR EDITORIALEDITORIAL
NOMBRE NACIONALIDAD EDITORIAL

EDITORIAL

Laguna

Norteamericano Trillas

Trillas

Kurtz

Ingls

CECSA

CECSA

Badell

Italiano

Mc
Hill

Ruiz

Mexicano

Trillas

Mendoza Espaola

Rama

Gmez

Mexicano

Porra

Laguna

Norteamericano CECSA

Graw

AUTOR EDITORIAL EDITORIAL


NOMBRE

NACIONALIDAD

Laguna

Norteamericano

Operadores Adicionales de Consulta

Agrupacin (Group by). Para aplicar funciones de agregacin (frecuencia, suma, media,
etc.), podemos agrupar tuplas en subconjuntos que posean valores comunes de ciertos
atributos.

AUTOR_ARTIC
NOMBRE

NACIONALIDA
NUMART
D

Laguna

Norteamericana 27

Gmez

Mexicana

10

Cruz

Mexicana

14

Mendoza

Espaola

Martnez

Mexicana

Smith

Norteamericana 29

AUTOR_ARTIC AGRUPACIN_POR nacionalidad, MEDIA (n artculos)


NACIONALIDA MEDIA (N ART.)
D
Norteamericana 28

TEMAS

Mexicana

11

Espaola

Cierre Transitivo. Es una operacin unaria definida sobre dos atributos compatibles, es
decir, que comparten el mismo dominio (parte del mundo real donde existen objetos y
asociaciones entre ellos) de una misma relacin, que se obtiene por sucesivas operaciones
de combinacin, proyeccin y unin, consistente en aadir a la relacin de origen todas las
tuplas que se deducen, sucesivamente, por transitividad hasta la saturacin; es decir, si
existen tuplas (a, b) y (b, c) se aade (a, c). Ejemplo:

TEMAPRINC TEMASECU
Bases
Datos

de Fundamentos

Bases
Datos

de Diseo

Diseo

Diseo conceptual

Diseo

Diseo lgico

Diseo lgico Diseo relacional


Cierre transitivo de TEMAS
TEMAPRINC TEMASECU
Bases
Datos

de Fundamentos

Bases
Datos

de Diseo

Diseo

Diseo conceptual

Diseo

Diseo lgico

Diseo lgico Diseo relacional


Bases
Datos

de Diseo conceptual

Bases
Datos

de Diseo lgico

Diseo
Bases
Datos

Diseo relacional
de Diseo relacional

2. MODELOS Y HRRAMIENTAS DE BASE DE DATOS


Crears una base de datos relacional elemental, identificando los distintos tipos de bases de
datos y aplicando los elementos bsicos de un SGBD; lo que permitir adquirir las bases para la
construccin de prototipos.

2.1 MODELO DE DATOS


La abstraccin es la accin de separar por medio de una operacin intelectual las cualidades y/o
caractersticas que tiene un objeto de forma aislada. La abstraccin busca las propiedades
comunes de un conjunto de objetos, reduciendo as la complejidad y ayudando a la compresin del
mundo real.
Los modelos de datos proporcionan mecanismos de abstraccin que permiten la representacin de
aquella parte del mundo real cuyos datos nos interesa registrar, lo que habitualmente se
denomina universo de discurso o mini mundo. Dicha representacin se concibe en dos niveles: el
de las estructurasque hacen posible la representacin de la informacin y el de lainformacin en
s misma, estos dos niveles dan lugar, en el mbito de las BD, a la distincin
entre esquema y base de datos, esto podra definirse de la siguiente manera: la descripcin

especfica de un mini mundo determinado, en trminos de un modelo de datos, recibe el nombre


de esquema,mientras que la coleccin de datos que en s misma representan la informacin del
mini mundo da lugar a la base de datos.
Como ya se mencion en la unidad anterior, el esquema ANSI contempla tres niveles de
abstraccin: Global, Externo eInterno. El nivel global contiene una representacin del conjunto de
los datos de una organizacin; en el nivel externo, los datos se describen para atender las
necesidades de uno o varios procesos o de un grupo de usuarios en particular; el nivel interno
describe las caractersticas de los datos tal como han de encontrarse almacenados fsicamente
(punteros, ndices, etc.).
Los modelos globales se clasifican a su vez en conceptuales yconvencionales, donde los
primeros facilitan la descripcin global del conjunto de informacin de la empresa a un nivel ms
prximo al usuario, es decir, a conceptos del mundo real (entidades, atributos, interrelaciones, etc.):
mientras que en el segundo modelo se encuentran instrumentados los SGBD y estn orientados a
describir los datos a nivel lgico, por lo que sus conceptos son tablas o relaciones en el modelo
relacional, redes en el codasy, jerarquas en el jerrquico, etc.
Modelo, Esquema y Ejemplar.
Modelo es el instrumento de descripcin y el esquema es el resultado del modelo, o sea, la
representacin grfica y simblica de una cosa atendiendo slo a sus lneas o caracteres ms
significativos.
Es necesario distinguir entre esquema, como descripcin de la estructura de la base de datos,
y ejemplar del esquema, como los datos que se encuentran almacenados en el esquema.
El esquema es relativamente invariante en el tiempo mientras no cambie el mundo real (o nuestra
interpretacin del mismo), sin embargo los datos son distintos en el transcurso del tiempo.

Esquema Global

Ejemplar

CURSO

CARCTER (5)

00101

CDIGO

CARCTER (50)

BASES DE DATOS I

NOMBRE

NUMRICO (3)

030

NUM_HORAS

CARCTER (200)

ESTE CURSO
COMO...

CARCTER (3)

001

DESCRIPCIN

Clave CDIGO

PROFESOR

TIENE

CDIGO

CARCTER (30)

NOMBRE

CARCTER (10)

EDUARDO
GARCA

PREZ

12312330
DNI

CARCTER (50)
PINO 43

DIRECCIN

NUMRICO (7)
5823.50

SALARIO

Clave CDIGO

IMPARTE

CARCTER (3)

00101

PROFESOR

CARCTER (5)

001

CURSO

FECHA

06/02/2001

FECHA_INICIO

FECHA

15/07/2001

FECHA_FINAL

2.1.1 CONCEPTO DE MODELO DE DATOS


Un modelo de datos define reglas segn las cules han de ser estructurados los datos acerca del
mundo real. La representacin de determinada realidad mediante un modelo (instrumentado que
nos facilita el proceso de representacin) da lugar a un esquema, el cul describe las categoras
existentes en dicha realidad. Sin embargo, la realidad no contempla slo aspectos estticos, como
son aquellos que se representan en el esquema, sino tambin propiedades dinmicas, ya que los
ejemplares de las categoras varan en el transcurso del tiempo por las operaciones que se aplican
a los datos o valores almacenados en las estructuras, y estas propiedades dinmicas han de ser
tambin especificadas en operaciones de consulta y actualizacin de la base de datos.
El componente esttico de un determinado modelo de datos expresado en una sintaxis en
el Lenguaje de Definicin de Datos (LDD), y el componente dinmico el Lenguaje de la
Manipulacin de Datos (LMD); ambos constituyen el Lenguaje de Datos (LD).
Esttica.
Est compuesta por:

Elementos permitidos: no son los mismos para todos los modelos de datos, pero en
general son:

Objetos (entidades, relaciones, registros, etc.).

Asociaciones entre objetos (interrelacionales, set, etc.).

Propiedades o caractersticas de los objetos (atributos, campos, etc.).

Dominios que son conjuntos nominados de valores con homogneos sobre los que se
definen las propiedades.

B)Elementos no permitidos o restricciones: no todos los valores, cambio de valor o estructuras


estn permitidos en el mundo real, estas limitaciones que unas veces vienen impuestas por el
mismo modelo de datos y otras nos las impone el universo de discurso que estamos modelando se
denominan restricciones (Ejemplo: un nio de cuatro aos no puede estar casado o una persona
no puede pasar directamente de soltero a viudo, etc.) y se dividen en:

Restricciones inherentes: son aquellas que vienen impuestas por la misma naturaleza
del modelo de datos, el cual no admite ciertas estructuras. El diseador no define estas
restricciones, siendo el SGBD, el que impide, en el momento de la definicin del esquema,
que introduzcan estructuras no admitidas por el correspondiente modelo.

Restricciones de integridad o semnticas: son aquellas que permiten captar la


semntica del universo de discurso que se quiere modelar y verificar la correccin de los
datos almacenados en la base. El diseador ha de definir y a veces programar estas
restricciones, a fin de rechazar ciertas asociaciones o de limitar los valores que pueden
tomar los datos o de impedir ciertos cambios en los mismos

Dinmica.
El conjunto de valores que toman las distintas categoras de un esquema en un momento
determinado ti recibe el nombre de ejemplar del esquema o estado de la BD en el tiempo ti (BDi):
en otro momento tk el ejemplar del esquema ser BDK. Si entre ti y tk se ha producido un cambio
en algn valor de la BD (alta, baja o modificacin) BDi BDk.
Una operacin tiene dos componentes:

Localizacin: consiste en localizar un ejemplar de un objeto indicando un camino (sistema


navegacional), o un conjunto de ejemplares especificando una condicin (sistema de
especificacin).

Accin: se realiza sobre el(los) ejemplar(es) previamente localizado(s) mediante una


operacin de localizacin, y puede consistir en una recuperacin o en una actualizacin
(insercin, borrado o modificacin).

Restricciones de integridad.
En el mundo real existen ciertas reglas que deben cumplir los elementos en l existentes. Cuando
se disea una BD se pretende que refleje lo ms fielmente posible el universo de discurso que
estamos tratando de recoger en nuestro sistema de informacin, por lo que adems del esquema
de la BD, junto con los objetos las asociaciones y las propiedades de los mismos, debemos
describir tambin estas reglas, llamadas restricciones semnticas o de integridad, las cuales
pueden ser definidas como condiciones que limitan el conjunto de ejemplares vlidos de un
esquema.

Con el trmino semntica nos referimos al significado de los datos, con el de integridad a lo
correcto de ellos y a suconsistencia respecto al mundo real del cual proceden. Cuando en el
esquema de una BD se encuentra descrita la semntica del mundo real, ser posible comprobar si
los valores de los datos se atienen o no a una semntica previamente definida, comprobndose la
integridad de los mismos.
La semntica de los datos es decir, todo lo que conocemos acerca de los datos, se encontraba en
un principio en la mente del usuario, el cual comprobaba manualmente si los datos cumplan o no
con las reglas a ellos asociadas; despus fue migrando desde la mente del usuario hacia los
programas y por ltimo ha pasado de stos a la BD.
Componentes de una restriccin.

La operacin de actualizacin (insercin, borrado o modificacin) cuya ejecucin ha de


dar lugar a la comprobacin del cumplimiento de la restriccin.

La condicin que debe cumplirse, la cul es en general una proposicin lgica, definida
sobre uno o varios elementos del esquema, que puede tomar uno de los valores de verdad
(falso o verdadero).

La accin que debe llevarse a cabo dependiendo del resultado de evaluar la condicin.

Las restricciones de integridad se pueden considerar, en cierto modo como reglas ECA (Evento,
Condicin, Accin), en las cules, al ocurrir un evento, se comprueba una condicin y dependiendo
de su resultado se pone en marcha una accin (rechazar la operacin, informar al usuario, etc.).
Las restricciones han de ser definidas en la fase de diseo y el cumplimiento de la condicin tiene
que ser verificado en la ejecucin, cuando se est procesando la operacin de actualizacin que
provoca cambios en la BD.

Fase de definicin: en ella, el diseador ha de escribir la restriccin especificando sus


componentes. El sistema debe comprobar que la definicin de la restriccin es correcta
(respecto al modelo) y que el conjunto de restricciones es consistente en s mismo. Una
vez comprobada la validez de una restriccin, sta debe ser compilada, junto con los otros
elementos, por el SGBD e incluida en el esquema.

Fase de ejecucin: en el momento de ejecucin de una sentencia de actualizacin sobre la


que se ha definido una restriccin en la que estn implicados elementos que van a ser
actualizados, es preciso que el sistema compruebe la condicin a fin de que si se estuviese
haciendo un intento de violacin, poner en marcha la accin especificada en el momento
indicado.

2.2.1 Red
Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones
entre stas, mediante los arcos que unen dichos nodos.
En el esquema se describen los aspectos estticos, es decir, la parte estructural de los datos (tipos
de entidades, tipos de interrelaciones, etc.), representadas en forma de grafo, y las restricciones;
mientras que una ocurrencia del esquema (base de datos) son los valores que toman los
elementos en un momento determinado, los cules irn variando a lo largo del tiempo por el efecto
de aplicar los operadores de manipulacin de datos a una ocurrencia del mismo.

En cuanto a la dinmica, este modelo se caracteriza por ser navegacional, es decir, la recuperacin
y la actualizacin de la base de datos se lleva a cabo registro a registro. Otra caracterstica es que
su implementacin se lleva a cabo por medio de punteros.
Elementos bsicos.

Campo o elemento de datos (data item): es la unidad de datos ms pequea a la que se


puede hacer referencia. Un campo ha de tener un nombre, y una ocurrencia del mismo
contiene un valor que puede ser de distinto tipo (booleano, numrico, etc.).

Agregado de datos (data aggregate): puede ser un vector con un nmero fijo de elementos
(ejemplo: la fecha, que est compuesta de da, mes y ao), o bien un grupo repetitivo
(ejemplo: conjunto de salarios por diferentes conceptos).

Registro (record): es la unidad bsica de acceso y manipulacin de la base de datos.

Conjunto (SET o COSET): es una coleccin de dos o ms tipos de registros que establece
una vinculacin entre ellos, constituye el elemento clave y distintivo de este modelo.

rea (rea o realm): es la subdivisin del espacio de almacenamiento direccionable de la


BD que contiene ocurrencias de registros (pginas de disco, cilindros, etc.). En un rea
puede haber ocurrencias de ms de un tipo de registro y las ocurrencias de un mismo tipo
de registro pueden estar contenidas en distintas reas, aunque una ocurrencia
determinada tiene que estar siempre asignada a un rea y slo a una.

Clave de base de datos (data base key): identificador interno nico para cada ocurrencia
de registro que proporciona su direccin en la BD.

En rigor, como elemento del modelo de datos lgico slo podramos considerar los cuatro primeros,
ya que tanto el rea como la clave de base de datos son elementos de tipo fsico.
2.2.2 JERRQUICO
En el modelo jerrquico, el esquema es una estructura en forma de rbol compuesta de nodos, que
representan las entidades; enlazados por arcos, que representan las asociaciones o interrelaciones
entre dichas entidades. Sus caractersticas son:

El rbol se organiza en un conjunto de niveles.

El nodo raz (el ms alto de la jerarqua), se corresponde con el nivel 0 (cero).

Los arcos representan las asociaciones jerrquicas entre dos entidades y no tienen
nombre, ya que no es necesario porque entre dos conjuntos de datos slo puede haber
una interrelacin.

Un nodo padre puede tener varios descendientes, pero un hijo slo tiene un padre.

Todo nodo a excepcin de la raz, ha de tener obligatoriamente un padre.

Se llaman hojas a los nodos que no tienen descendientes.

Se llama altura al nmero de niveles de la estructura jerrquica.

Se denomina momento al nmero de nodos.

Slo estn permitidas las interrelaciones 1: 1 1: N.

En este modelo, el rbol se recorre en pre orden; es decir, raz, subrbol izquierdo y subrbol
derecho.

Un esquema jerrquico consiste en una descripcin de un determinado universo de discurso


mediante un rbol en el que los nodos representan los tipos de registro (entidades), y los arcos los
tipos de interrelaciones jerrquicas existentes entre los mismos. Una ocurrencia o instancia de
dicho esquema ser tambin un rbol, pero en l los nodos representan las ocurrencias de los
registros y los arcos las interrelaciones jerrquicas entre dichas ocurrencias.

El modelo jerrquico presenta inconvenientes, que provienen principalmente de su rigidez, la cul


deriva de la falta de capacidad de las organizaciones jerrquicas para representar sin redundancias
ciertas estructuras muy difundidas en la realidad. Algunas de las estructuras que no admite se
indican en la siguiente figura:

Otra limitacin importante del modelo jerrquico es que no est preparado para representar
interrelaciones N: M, como la existente entre profesores y alumnos. Adems del grave problema
que presentan estas redundancias no controladas por el sistema (con el aumento de
almacenamiento y las posibles inconsistencias), existe otro importante inconveniente en este tipo
de solucin como es la no conservacin de las simetras naturales existentes en el mundo real.
Las actualizaciones en las BD jerrquicas pueden tambin originar problemas debido a las
restricciones inherentes al modelo:

Toda alta, a no ser que corresponda a un nodo raz, debe tener un padre, por lo que sera
imposible insertar un alumno que no tuviera asignado a un profesor.

La baja del registro implica que desaparezca todo el subrbol, con lo que pueden
desaparecer datos importantes que quisiramos conservar en la BD.

Manipulacin de Datos.
La manipulacin de datos jerrquicos, al igual que ocurre en todo modelo, necesita, al menos en un
plano de abstraccin, localizar (seleccionar) primero los datos sobre lo que va a trabajar para
realizar a continuacin la accin de recuperacin o actualizacin sobre dichos datos.

Localizacin o seleccin. La funcin de seleccin jerrquica es de tipo nevagacional, es


decir, trabaja registro a registro. Las formas bsicas de bsqueda son:

Seleccionar un determinado registro que cumpla con una cierta condicin. En DL/I se
realiza mediante GET UNIQUE que activar y recuperar a la vez, el primer registro que
cumpla la condicin especificada en el predicado que acompaa a la sentencia.

Seleccionar el siguiente registro, que se encuentra perfectamente definido al existir un


nico camino jerrquico (preorden). Se utiliza GET NEXT que selecciona y recupera el
siguiente registro en el preorden.

Seleccionar el siguiente registro dentro de un padre. Se hace con la sentencia GET NEXT
PARENT, parecida a la anterior, pero la seleccin termina cuando no haya ms
descendientes de ese padre.

Seleccionar el registro padre de otro dado (que ha sido activado previamente) se conoce
como normalizacin jerrquica ascendente, mientras que la seleccin de descendientes se
llama normalizacin jerrquica descendente.

La funcin de accin. Una vez seleccionado el registro, se tendr que realizar sobre l una
accin, sea de recuperacin o de actualizacin.

Recuperacin. Consiste en llevar el registro marcado como activo, en la seleccin


realizada previamente, al rea de entrada / salida. En DL/I se utiliza, una nica sentencia
(GET) para la seleccin y la recuperacin.

Actualizacin. Se requiere distinguir entre:

Insertar un conjunto de datos (INSERT).

Borrar un conjunto de datos (DELETE).

Reemplazar uno o varios campos de un registro (REPLACE).

Cuando un nuevo registro se inserta en una base de datos jerrquica, excepto para la raz, se
conecta automticamente a un nodo padre previamente localizado mediante alguna sentencia de
seleccin. El nuevo registro se inserta como hijo del registro padre seleccionado.
Cuando un registro se borra en una base de datos jerrquica, excepto si se trata de una hoja, se
borran todos los registros descendientes de l.
La implementacin del modelo jerrquico se lleva a cabo con base a punteros (estructura fsica.
2.2.3 MODELO E/R (EL QUE SE APLICRA EN ESTA ASIGNATURA)
Como su nombre lo indica, el Modelo E/R se basa en entidades (cualquier objeto de inters para el
universo descrito) que se interrelacionan o asocian entre s. Tiene como todo modelo de datos dos
tipos de propiedades.

Estticas: describen la estructura del Universo de Discurso y apenas varan en el tiempo.


Utilizamos el Lenguaje de Definicin de Datos (LDD) para describirlas.

Dinmicas: permiten el paso de un estado a otro, ejecutando operaciones sobre los datos
almacenados en la estructura; se corresponden con la naturaleza evolutiva del mundo real.
Para expresar las operaciones se utiliza el Lenguaje de Manipulacin de Datos (LMD).

Se
pueden
distinguir
como
conceptos
bsicos
de
este
modelo:
las entidades e interrelaciones (con sus atributos), adems de los dominios que en este modelo
se denominan conjuntos de valores (value set).
Entidad
Es una persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa. Es
aquel objeto acerca del cul queremos almacenar informacin en la base de datos.
Llamaremos tipo de entidad a la estructura genrica yocurrencia de entidad a cada una de las
realizaciones concretas de ese tipo de entidad. As, el tipo de entidad AUTOR se refiere a la
estructura que nos describe las caractersticas de los autores, mientras que una ocurrencia de
AUTOR ser cada uno de los autores en concreto. La representacin grfica de un tipo de entidad
es un rectngulo etiquetado con el nombre (en mayscula) del tipo de entidad.
LIBRO

AUTOR

Existen dos clases de entidades:

Regulares. Tienen existencia propia, es decir, existen por s mismas.

Dbiles. La existencia de cada ocurrencia de un tipo de entidad dbil depende de la


existencia de la ocurrencia del tipo de entidad regular del cual aquella depende, es decir, si
se elimina una ocurrencia del tipo de entidad regular, desaparecen tambin con ella todas
las ocurrencias de la entidad dbil dependientes de la misma. Se representa grficamente
con dos rectngulos concntricos con su nombre (en maysculas) en el interior.

Interrelacin
Se puede definir como la asociacin o correspondencia entre entidades. Llamamos Tipo de
interrelacin a la estructura genrica del conjunto de interrelaciones existentes entre dos o ms
tipos de entidad, mientras que la ocurrencia de una interrelacin ser la vinculacin que existe
entre las ocurrencias concretas de cada uno de los tipos de entidad que intervienen en la relacin.
Ejemplo: el tipo de entidad AUTOR se interrelaciona con el tipo de entidad DOCUMENTO mediante
el tipo de interrelacin Escribe: una ocurrencia de esta interrelacin es que J. J. Gmez ha escrito
el documento Bases de Datos .
Se representa el tipo de interrelacin mediante un rombo etiquetado con el nombre de la
interrelacin, unido mediante arcos a los tipos de entidad que asocia. Ejemplo:

Un tipo de interrelacin se caracteriza por:

Nombre: por el que identificamos de forma nica el tipo de interrelacin (etiqueta del
rombo) y mediante el cul lo referenciamos.

Grado: Nmero de tipos de entidad que participan en un tipo de interrelacin. Puede ser
de grado 2 (binarias) cuando asocian dos tipos de entidad (entre ellas tenemos las
reflexivas que asocian ocurrencias de un mismo tipo de entidad); de grado 3 (ternarias), o
en general de grado n.

Tipo de correspondencia: Nmero mximo de ocurrencias de un tipo de entidad que


pueden intervenir por cada ocurrencia del otro tipo de entidad asociado en la interrelacin.
El tipo de correspondencia es 1: 1 cuando en la interrelacin slo puede aparecer, como
mximo, una ocurrencia del tipo de entidad por cada ocurrencia del otro; ser 1: N si para
uno de los tipos de entidad puede haber un nmero indefinido (mayor que uno) de
ocurrencias, y ser N: M si esto ocurre para ambos tipos de entidad. Para representarlo
grficamente, se puede poner una etiqueta que lo indique al lado del rombo que representa
el tipo de interrelacin o una flecha hacia el tipo de entidad que participa con ms de una
ocurrencia en la interrelacin.

Entre dos tipos de entidad puede existir ms de un tipo de interrelaciones. En la figura siguiente
aparecen los tipos de interrelacin Escribe y Pblica entre los dos tipos de entidad LIBRO y
PERSONA.

Atributo
Es cada una de las propiedades o caractersticas que tiene un tipo de entidad o de interrelacin.
Un tipo de entidad AUTOR tiene como atributos el Nombre, Nacionalidad, Fecha_nac, etc.; y los
atributos del tipo de entidad DOCUMENTO son entre otros,Ttulo, Pginas, etc.
El conjunto de posibles valores que puede tomar un atributo recibe el nombre de dominio. El
dominio tiene un nombre y una existencia propia con independencia de cualquier entidad o atributo.
Por ejemplo, se puede definir un dominio deNacionalidades, cuyos valores sern italiana, francesa,
norteamericana, etc. El atributo Nacionalidad de la entidad AUTOR estar definido sobre el dominio

y tomar de l sus valores; la existencia del atributo Nacionalidad va unida a la existencia del tipo
de entidad AUTOR, mientras que el dominioNacionalidades existe por s mismo.
El dominio se representa con un crculo u valo en cuyo interior aparece su nombre, mientras que
el nombre del atributo se escribe sobre el arco que une el dominio con el tipo de entidad o de
interrelacin a la que pertenece dicho atributo.
Para simplificar la representacin grfica (siempre que coincida el nombre del dominio con el del
atributo) ser suficiente con el nombre del atributo en el interior del crculo u valo, eliminando el
nombre del arco.

Entre todos los atributos de un tipo de entidad debemos elegir uno o varios que identifiquen sin
equivocacin a cada una de las ocurrencias de ese tipo de entidad (atributo identificador principal
AIP -). Puede que exista ms de un atributo que cumple esta condicin (atributo identificador
candidato AIC -), de los cules se elige uno como principal y los otros son alternativos (atributo
identificador alternativo AIA -).

Como en el caso de los tipos de entidad, los tipos de interrelacin pueden tambin tener atributos.
Ejemplo:
Semntica de las Restricciones.
El concepto semntico de las interrelaciones se ha completado con conceptos tales como
cardinalidades mnima y mxima, las dependencias en existencia y en identificacin, y diversos
mecanismos de abstraccin como la generalizacin y la agregacin.
Cardinalidades de un tipo de entidad.
Definimos las cardinalidades mxima y mnima de los tipos de entidad participantes en un tipo de
interrelacin como el nmero mximo y mnimo de ocurrencias de un tipo de entidad que pueden
estar interrelacionadas con una ocurrencia del otro, u otros tipos de entidad que participan en el
tipo de interrelacin. Su representacin grfica es una etiqueta del tipo (0,1), (1,1), (0,n) (1,n),
segn corresponda, que se pone en el arco que une el correspondiente tipo de entidad con el
rombo que representa la interrelacin.

En la siguiente figura, la etiqueta (1,n) en DOCUMENTO significa que una ocurrencia de AUTOR
puede estar vinculada con 1, 2,... n ocurrencias de DOCUMENTO en el tipo de
interrelacinEscribe; y la etiqueta (0,n) en AUTOR significa que una ocurrencia de DOCUMENTO
puede estar vinculada con 0, 1, 2,... n ocurrencias de AUTOR, es decir, un autor escribe como
mnimo (1) documento y como mximo muchos documentos (n), y un documento puede ser escrito
por ningn autor (0) si es annimo o por muchos (n).
Dependencia en existencia y en identificacin.
Los tipos de interrelacin se clasifican, segn el tipo de entidades que vinculan, en regulares si
asocian tipos de entidades regulares y dbiles si asocian un tipo de entidad dbil con un tipo de
entidad regular. Un tipo de interrelacin dbil exige siempre que las cardinalidades del tipo de
entidad regular sean (1, 1). Dentro de los tipos de interrelacin dbil se puede distinguir:

Dependencia en existencia: es cuando en un tipo de interrelacin est vinculado un tipo de


entidad regular con uno dbil, de forma que las ocurrencias del tipo de entidad dependiente
no pueden existir sin la ocurrencia de la entidad regular de la que depende. Si desaparece
una ocurrencia de un tipo de entidad regular, todas las ocurrencias de la entidad dbil que
dependen en existencia de la misma desaparecen con ella.

En la siguiente figura se observa que el tipo de interrelacinSe_compone que asocia el tipo de


entidad regular INSTITUCIN con el tipo de entidad dbil DEPARTAMENTO es una dependencia
en existencia, ya que los datos acerca de los departamentos de una institucin slo tendrn sentido
si sta permanece en la BD. Se indica agregando la etiqueta E al rombo que representa la
interrelacin dbil con dependencia en existencia.

Dependencia de identificacin: es cuando, adems de la dependencia en existencia, las


ocurrencias del tipo de entidad dbil no se pueden identificar slo mediante sus propios
atributos, sino que se tiene que aadir la clave de la ocurrencia de la entidad regular de la
cul dependen

En la siguiente figura se observa que el tipo de interrelacinTiene, que asocia el tipo de entidad
regular LIBRO con el tipo de entidad dbil EJEMPLAR, es dependiente en identificacin, ya que un
ejemplar determinado, adems de depender en existencia de un cierto libro, est identificado con la
clave del libro (Cod_Libro) del cul depende el ejemplar, ms un cdigo propio (Num_ejemplar). Se
indica grficamente agregando la 74 etiqueta ID al rombo que representa la interrelacin.

Generalizacin y Herencia
La generalizacin es el tipo de interrelacin que existe entre un tipo de entidad y los tipos de
entidad ms especficos que dependen de l. En la siguiente figura, el tipo de entidad

DOCUMENTO es la superclase de esta jerarqua, y constituye lageneralizacinde las subclases de


entidades LIBRO y ARTCULO y a la vez estos ltimos son una especializacin de la superclase
DOCUMENTO.
Para la representacin de este tipo de interrelacin, se utiliza un tringulo invertido, con la base
paralela al rectngulo que representa la superclase, conectado a ste y a las subclases. Las
cardinalidades son siempre (1, 1) en la superclase y (0, 1) en las subclases.

Una de las caractersticas ms importantes de las jerarquas es la herencia, por la cul, los
atributos de la superclase son heredados por sus subclases. En la figura anterior vemos que tanto
un libro como un artculo son documentos, por lo que los tipos de entidad ARTCULO y LIBRO
poseern (heredarn) todos los atributos del tipo de entidad DOCUMENTO.
En la generalizacin, los atributos comunes a las subclases (incluidos los identificadores) se
asignan a la superclase, mientras que los atributos especficos se asocian a la subclase
correspondiente. Del mismo modo, las interrelaciones que afecten a todas las subclases se
asocian a la superclase, dejndose para las subclases las interrelaciones especficas en las que la
correspondiente subclase, pero slo ella, participa.
Control de Redundancia.
Decimos que un elemento de un esquema es redundante cuando puede ser eliminado sin prdida
de semntica. Existen dos formas principales de redundancia, segn el elemento del modelo E / R
al que est asociada: redundancia en los atributos (atributos derivados o calculados) y redundancia
en las interrelaciones (interrelaciones derivadas).

Atributos derivados: se obtiene a partir de otros ya existentes, por lo que, aunque son redundantes,
no dan lugar a inconsistencias, siempre que en el esquema se indique su condicin de derivados y
la frmula mediante la cul han de ser calculados. En la siguiente figura se observa el atributo
Nmero de Ediciones, que puede ser calculado a partir de los ejemplares de edicin mediante la
interrelacin tiene. Para indicarlo grficamente se utiliza la etiqueta DI en el atributo calificado
como derivado, almacenando la regla de derivacin en el diccionario de datos.
Un atributo derivado puede ser calculado en dos momentos distintos:

Actualizaciones que pueden provocar cambios en su valor. El atributo derivado se calcula y


almacena.

Cuando se recupera. No est almacenado y se calcula cuando se realiza una consulta (se
dice que es virtual).

Interrelaciones redundantes: Es condicin necesaria, aunque no suficiente, que forme parte de un


ciclo. El siguiente ejemplo muestra un ciclo entre PROFESOR, CURSO y DEPARTAMENTO, por lo
que es posible que aparezca alguna interrelacin redundante. Supongamos que un profesor slo
puede impartir cursos de maestra que estn adscritos al departamento al que pertenece; si se
conocen los cursos de maestra que imparte un profesor y el departamento al que est adscrito
cada curso, se deduce a qu departamento pertenece dicho profesor, de forma anloga, dado un
departamento, si sabemos qu cursos de maestra tiene adscritos y los profesores que imparten
dichos cursos, conoceremos qu profesores pertenecen a dicho departamento, por lo que la
interrelacin pertenece entre las entidades PROFESOR y DEPARTAMENTO es redundante, su
eliminacin no produce prdida de informacin.

2.2.4 RELACIONAL
La relacin es el elemento bsico del modelo relacional y se puede representar como una tabla
aunque tiene una serie de elementos caractersticos que la distinguen de la tabla, ya que no se
admiten filas duplicadas, las filas y las columnas no estn ordenadas y es plana, es decir, que en el
cruce de una fila y de una columna slo puede haber un valor (no se admiten atributos
multivaluados).
En ella podemos distinguir su nombre, un conjunto de columnas denominadas atributos, que
representan propiedades de la tabla y que tambin estn caracterizadas por su nombre, y un
conjunto de filas llamadas tuplas, que contienen los valores que toma cada uno de los atributos
para cada elemento de la relacin. En la siguiente figura se presenta la relacin AUTOR, en donde
aparece la estructura del modelo relacional.
En ella podemos observar el nombre de la relacin (AUTOR); losatributos (Nombre, Nacionalidad
e Institucin); los dominios (de donde los atributos toman sus valores); varios atributos pueden
tomar valores del mismo dominio; las tuplas (cada una de las cules contiene los valores que toma
el nombre, la nacionalidad y la institucin para un determinado autor); el grado (nmero de
atributos); y la cardinalidad (nmero de tuplas).

Esta representacin de la relacin como tabla ha sido origen de que se utilice habitualmente el
nombre de tabla para denominar las relaciones y, como consecuencia de ello, se llame filas a las

tuplas y columnas a los atributos. La tabla siguiente compara la terminologa relacional con la
utilizada en tablas y archivos.
Relacin

Tabla

Archivo

Tupla

Fila

Registro

Atributo

Columna

Campo

Grado

No.
de
columnas

No. de campos

Cardinalidad

No. de filas

No.
registros

de

Dominio y atributo
Un dominio D es un conjunto finito de valores homogneos y atmicos caracterizado por un
nombre; decimos valoreshomogneos porque son todos del mismo tipo, y atmicosporque son
indivisibles en lo que al modelo se refiere, es decir, si se descompusieran, perderan la semntica
asociada a ellos. Por ejemplo, si el valor Espaola dentro del dominio Nacionalidades,se
descompone en las letras E, S, P, etc., se perdera la semntica ya que las letras
consideradas aisladamente no tienen el significado que tiene Espaola como un valor de la
nacionalidad. Todo dominio ha de tener un nombre, por el cul nos podemos referir a l, y un tipo
de datos
Un atributo A es el papel que juega un determinado dominio D en una relacin; se dice que D es el
dominio de A y se denota como dom (A). As, el atributo Nacionalidad de la relacin AUTOR,
definido sobre el dominio de Nacionalidades, nos indica que dicho dominio tiene el papel de
nacionalidad del autor en la referida relacin. Una relacin no puede tener dos atributos con el
mismo nombre.
El universo de discurso de una BD relacional representada por U, est compuesto por un conjunto
finito y no vaco de atributos estructurados en relaciones; cada atributo toma sus valores de un
nico dominio (dominio subyacente) y varios atributos pueden tener el mismo dominio subyacente.
Un dominio compuesto se puede definir como la combinacin de dominios simples a las que se
pueden aplicar ciertas restricciones de integridad. Por ejemplo, se puede necesitar manejar,
adems de los tres dominios Da, Mes y Ao, un dominio compuesto por ellos denominado Fecha,
al que podemos aplicarle adecuadas restricciones de integridad para evitar valores no vlidos para
la fecha; algo parecido ocurre con el nombre y los apellidos que, segn las aplicaciones, puede
convenir tratarlos en conjunto o por separado.
Claves

La clave candidata de una relacin es un conjunto de atributos que identifican sin equivocacin a
cada tupla de la relacin. Una relacin puede tener ms de una clave candidata, entre las cules
se debe distinguir:

Clave primaria: es aquella clave candidata que el usuario escoger para identificar las
tuplas de la relacin. Cuando slo existe una clave candidata, sta ser la clave primaria.

Claves alternativas: son aquellas claves candidatas que no han sido escogidas como clave
primaria.

Clave ajena: se denomina clave ajena de una relacin R2 a un conjunto no vaco de


atributos cuyos valores han de coincidir con los valores de la clave candidata de una
relacin R1. La clave ajena y la correspondiente clave candidata han de estar definidas
sobre el mismo dominio.

Clases de relacin
Existen diversas clasificaciones de las relaciones partiendo de las nominadas y sin nombre:

Nominadas.
o

Persistentes: Son aquellas relaciones cuya definicin (esquema de relacin)


permanece en la BD, borrndose solamente mediante una accin explcita del
usuario. Se dividen en:

Relaciones base: (se corresponden con el nivel conceptual de la


arquitectura ANSI). Existen por s mismas, no en funcin de otras
relaciones, y se crean especificando explcitamente su esquema de
relacin (nombre y conjunto de pares: atributo / dominio). Sus extensiones
(ocurrencias de relacin), al igual que su definicin, tambin se encuentran
almacenadas.

Vistas: (se corresponden con el nivel externo de la arquitectura ANSI). Son


relaciones derivadas que se definen dando un nombre a una expresin de
consulta.
Se
podra
decir
que
son
relaciones
virtuales
(como ventanassobre otras relaciones), en el sentido de que no tienen
datos almacenados, sino que lo nico que se almacena es su definicin en
trminos de otras relaciones con nombre, las cules pueden ser relaciones
base, otras vistas o instantneas.

Instantneas: (se corresponden con el nivel interno de la arquitectura


ANSI). Son relaciones derivadas al igual que las vistas, es decir, se
definen en trminos de otras relaciones nominadas, pero tienen datos
propios almacenados, los cules son el resultado de ejecutar la consulta
especificada o de guardar una relacin en la base. A veces se
llaman vistas materializadas. Las instantneas no se actualizan cuando
cambian los datos de las relaciones sobre las que estn definidas, pero se
refrescan (es decir, se renuevan sus datos), cada cierto tiempo, de
acuerdo con lo indicado por el usuario en el momento de su creacin. Son,
por tanto, slo de lectura, no pudiendo ser actualizadas por el usuario, sino
nicamente refrescadas por el sistema.

Temporales: A diferencia de las relaciones persistentes, una relacin


temporal desaparece de la BD en un cierto momento sin necesidad de una
accin de borrado especfica del usuario; por ejemplo, al terminar una
sesin o una transaccin.

Sin nombre: Son los resultados de las consultas que no se materializan sino que se
entregan al usuario que ha realizado la consulta, y pueden ser tanto resultados intermedios
como finales; en consecuencia, las relaciones no nominadas son siempre temporales.

2.2.5 RESTRICCIONES
Inherentes
Los modelos de datos tienen restricciones que impone el mismo modelo, el cul no admite ciertas
estructuras; son las restricciones inherentes, que no son definidas por los usuarios sino obligadas
por el propio modelo, lo que quita flexibilidad a la hora de representar el mundo real. Sus
caractersticas son:

No hay dos tuplas iguales (de donde se deduce la obligatoriedad de la clave primaria).

El orden de las tuplas no es significativo.

El orden de los atributos no es significativo.

Cada atributo slo puede tomar un nico valor del dominio sobre el que est definido, no
admitindose por tanto los grupos repetitivos. Se dice que una tabla que cumple esta
condicin est normalizada (primera forma normal).

Ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor
nulo, esto se conoce como regla de integridad de entidad.

Semnticas
Son facilidades que el modelo ofrece a los usuarios a fin de que stos puedan reflejar en el
esquema, lo ms fielmente posible, la semntica del mundo real. Las principales restricciones
semnticas son:

Clave primaria (Primary Key). Permite declarar un atributo o un conjunto de atributos como
clave primaria de una relacin, por lo que sus valores no se podrn repetir ni se admitirn
los nulos (o valores ausentes). La obligatoriedad de la clave primaria es una restriccin
inherente del modelo relacional; sin embargo, la declaracin de un atributo como clave
primaria de una relacin es una restriccin semntica que responde a la necesidad del
usuario de imponer que los valores del conjunto de atributos que constituyen la clave
primaria no se repitan en la relacin ni tampoco tomen valores nulos.

Unicidad (Unique). Mediante la cual se indica que los valores de un conjunto de atributos
(uno o ms) no pueden repetirse en una relacin. Esta restriccin permite la definicin de
claves alternativas.

Obligatoriedad (Not Null). Se indica que para el conjunto de atributos (uno o ms) no se
admiten valores nulos.

Integridad referencial (Foreign Key). Si una relacin R2 (relacin que referencia) tiene un
descriptor que es una clave candidata de la relacin R1 (relacin referenciada), todo valor
de dicho descriptor debe concordar con un valor de la clave candidata referenciada de R1
o bien ser nulo. El descriptor es, por tanto, una clave ajena de la relacin R2. Las
relaciones R1 y R2 no son necesariamente distintas.

El siguiente ejemplo muestra una forma de representar las claves ajenas. El atributo Editorial de la
relacin LIBRO es clave ajena que referencia a EDITORIAL, de modo que sus valores deben
concordar con la clave primaria de la relacin EDITORIAL o bien ser nulos (los libros deben
pertenecer a una editorial existente o, si se desconoce la editorial, tendrn valor nulo para ese
atributo).

Editorial (Nombre_e Direccin Ciudad Pas)


LIBRO(Cdigo, Ttulo, Idioma...Editorial)clave ajena
En la figura siguiente, la relacin ESCRIBE posee dos claves ajenas: Nombre que referencia a la
relacin AUTOR y Cod_libroreferencia a la relacin LIBRO; en este caso ninguna de las dos claves
ajenas puede tomar valores nulos, ya que forman parte de la clave primaria de la relacin
ESCRIBE.

AUTOR (Nombre, Nacionalidad, Institucin.....)


LIBRO (Cdigo, Ttulo, Idioma, Editorial.....)
ESCRIBE (Nombre, Cod_Libro)
clave ajena clave ajena
Hay que observar que todo atributo de una clave primaria compuesta de una relacin R2, si no est
definido sobre un dominio compuesto, debe ser clave ajena de R2 referenciando a una relacin R1
cuya clave primaria es simple.
TRANSFORMACIN DEL ESQUEMA CONCEPTUAL AL RELACIONAL
El paso de un esquema en el modelo E/R al relacional est basado en los tres principios
siguientes:

Todo tipo de entidad se convierte en una relacin.

Todo tipo de interrelacin N: M se transforma en una relacin.

Todo tipo de interrelacin 1: N se traduce en el fenmeno de propagacin de clave o bien


se crea una nueva relacin.

En el siguiente ejemplo puede observarse que las tres entidades EDITORIAL, LIBRO y AUTOR se
transforman en otras tantas relaciones. La interrelacin N: M Escribe da lugar a una nueva relacin
ESCRIBE cuya clave primaria es la concatenacin (unin) de los atributos identificadores de las
entidades que participan en ella (Nombre_a de AUTOR y Cdigo de LIBRO), siendo adems stos
claves ajenas de ESCRIBE que referencian a las relaciones AUTOR y LIBRO, respectivamente.

La interrelacin 1:N Edita se transforma mediante el mecanismo de propagacin de clave, por el


que se incluye en la relacin LIBRO la clave de la relacin EDITORIAL ( Editorial); atributo que ser
clave ajena de la relacin LIBRO referenciando a EDITORIAL.
Transformacin por propagacin de clave (interrelacin 1: N)

Sea la interrelacin Edita de la figura siguiente, donde suponemos que todo libro de nuestra BD,

est siempre editado por una nica editorial, es decir, las cardinalidades de EDITORIAL en la
interrelacin Edita seran las que se muestran; a la derecha de la misma figura se puede ver el
esquema relacional resultante de la transformacin.
Las posibles opciones de borrado que se podran aplicar en este caso seran:

Restringido (NO ACTION): impide el borrado (o actualizacin) de una ocurrencia de


EDITORIAL en tanto existan en la BD libros editados por dicha editorial (es la opcin por
defecto que toma el sistema)

Cascada (CASCADE): Se utiliza esta opcin, si se desea que, al borrar una ocurrencia de
EDITORIAL, se borren en la relacin LIBRO todos los libros editados por ella.

Valor por defecto (SET DEFAULT): pondra el valor definido por defecto, para el
atributo Editorial en la tabla LIBRO en todas aquellas ocurrencias asociadas a una editorial
borrada en la relacin EDITORIAL.

No podra utilizarse la opcin de puesta a valor nulo, dado que la cardinalidad mnima de uno en
editorial, significa que todo libro ha de ser editado por una editorial, por lo que el atributo Editorialen
LIBRO no admite el valor nulo.
Cuando la interrelacin es una dependencia en existencia, la transformacin se realiza como
muestra la siguiente figura:

Como en este caso las ocurrencias de la entidad dbil (FAMILIAR) tienen que ser eliminadas
cuando se borra la ocurrencia de la entidad regular (EMPLEADO) de la cul dependen, la opcin
de borrado ser cascada.
Si la dependencia fuese en identificacin, la nica diferencia con el caso anterior es que la clave
primaria de EJEMPLAR sera la concatenacin del atributo identificador principal de la entidad
regular LIBRO (Cdigo) con el Nmero_e de la entidad dbil EJEMPLAR, ya que Nmero_e, por s
solo no identifica a los ejemplares. Ejemplo:

Transformacin creando una nueva relacin (Interrelacin N: M).


Sea la relacin Escribe de la siguiente figura, donde suponemos las cardinalidades que aparecen
en la misma, es decir, existen libros annimos (un libro puede no ser escrito por ningn autor) y, en
cambio, todo autor tiene que haber escrito al menos un libro. El esquema relacional resultante de la
transformacin, con las claves ajenas y sus opciones, aparece a la derecha de la figura.

Grafo relacional.
Una forma sencilla de representar el esquema relacional es el denominado grafo relacional. Es un
grafo compuesto de nodos multiparticionados, donde cada nodo representa un esquema de
relacin, es decir, una tabla de la BD. Para cada esquema de relacin ha de aparecer, como
mnimo, su nombre y sus atributos, indicando su clave primaria (subrayamos los atributos que la
componen con trazo continuo), sus claves alternativas (se subrayan con trazo discontinuo) y las
claves ajenas (de la cules parten arcos que sealan la tabla referenciada por la correspondiente

clave ajena), tal como aparece ilustrado en la siguiente figura donde se muestra un ejemplo de un
grafo relacional para el esquema de una biblioteca.

2.3INTRODUCCIN AL VISUAL D BASE 5.5

Aspectos generales de una sesin de trabajo.


DBase es un sistema de Administracin de BD, diseado para ser utilizado bajo Microsoft
Windows 95-2000. Una BD maneja una gran cantidad de datos relacionados con un tema
determinado, que podrn ser extrados, ordenados y manipulados de acuerdo con las necesidades
de diversos usuarios.
Inicio de Sesin.
Para ingresar a DBase hay que seguir la siguiente secuencia: Botn inicio Programas Visual
DBase Visual DBase.

La ventana que se mostrar una vez que hayamos ingresado se muestra en la siguiente figura:

Sus elementos son los siguientes:

Barra de Ttulo. Aparece el ttulo de la aplicacin y si hay un documento en el rea de


trabajo, el nombre de dicho documento. Tambin figura a la izquierda el botn del men de
control y a la derecha los botones minimizar, maximizar y cerrar.

Barra de Men de comandos. Aparecen en forma descolgable los comandos que


podemos utilizar en DBase. La conformacin de los mens depende de la situacin de
trabajo as como tambin los comandos disponibles habilitados.

Barra de botones (Speed bar). Aparecen una serie de botones que representan algunos
comandos utilizados muy frecuentemente. Los botones que aparecen, dependen de lo que
estemos haciendo en el momento. Si ubicamos el puntero del mouse sobre un botn,
aparecer la explicacin de la funcin del mismo.

Barra de estado (status). Aparecen los mensajes que DBase emite al operador.

Selector. Es un administrador de los archivos usados en DBase, su funcin es organizar


los mismos por categoras y permitir un rpido acceso a ellos.

Ventana de comandos. Est dividida en dos partes. En la superior ingresamos los


comandos que deseamos ejecutar. En la parte inferior aparecen los resultados de los
comandos llevados a cabo.

Tipos de categoras. Cuando se selecciona el tipo de archivo en la ventana de la


izquierda, se despliegan archivos predefinidos como ejemplos. Untilled sirve para realizar
un archivo diferente (nuevo) correspondiente a la categora seleccionada.

Herramientas de trabajo.
Navigator. Es un asistente de trabajo que facilita la manipulacin de los diferentes tipos de
archivos generados en Visual DBase conformndose de los siguientes elementos:

Directorio actual.

Lista de los tipos de archivos.

Extensiones de los archivos desplegados.

Lista de archivos pertenecientes al tipo seleccionado.

Barra de herramientas.

Barra de mens.

Command: Es una herramienta de trabajo donde el usuario puede introducir de manera


directa las rdenes de Visual DBase en la ventana de entrada y observar el resultado de su
ejecucin en la ventana de salida.
Editor de programas: Es la herramienta que se emplea para escribir programas. El editor ayuda a
introducir lneas de programa en la memoria y a cambiar aquellas lneas que sea preciso.
Los atributos en las tuplas.
Un atributo es la pieza ms pequea de informacin de la que se compone una base de datos.
Esta parte indivisible contiene un nico dato como es Direccin, Nombre, Telfono, etc. Al conjunto
de los diferentes atributos se le llama tupla y contiene toda la informacin referente a algo. Para
Visual DBase, los valores que maneja son los siguientes:

Medida mxima de una relacin: 2 billones de bytes.

Nmero mximo de tuplas: 1 billn.

Nmero mximo de atributos por tabla: 1024.

Medida mxima de caracteres en un campo memo: 254 bytes.

Medida mxima de una tupla: 32,767.

Nmero mximo de relaciones en un reporte o query: 225.

Nombre de los atributos: No debe ser mayor a 10 caracteres y no puede contener espacios en
blanco.

Tipos de campos:
Character:la informacin que se puede capturar es alfanumrica, es decir, acepta letras y
nmeros.
Numeric: acepta slo nmeros como son precios o cantidades que sern utilizados para realizar
operaciones matemticas.
Float: igual que los numricos, pero ms apropiados para el manejo de cantidades con decimales.
Logical: slo acepta un carcter y se emplea cuando se requiere determinar si el contenido de un
atributo es verdadero (Y) o falso (N).
Date: para expresar fechas y su formato de captura es da/mes/ao.
Memo: para cualquier comentario o recordatorio referente a la tupla correspondiente.
Byte: enteros en el rango de 0 a 255 (1 byte).
OLE: tcnica de Windows que facilita el uso de informacin generada por un programa desde otro
programa, con base en lo que se denomina enlace de insercin de objetos.
Herramientas para gestin de datos.

Selector: sirve principalmente para abrir archivos que componen una BD. Las opciones
que nos muestra son:

Todo: el selector de archivos muestra todos los archivos contenidos en el subdirectorio


indicado en el recuadroDirectorio actual. Para cambiar el directorio actual pulsamos el
botn Subdirectorios, lo que har salir una ventana permitindonos seleccionar en ella otro
subdirectorio pulsando sobre l mismo.

Tablas: contienen los datos que manejaremos, organizados en tuplas y atributos.

Consultas:es una forma de buscar, encontrar y exhibir determinada informacin,


extrayndola del cmulo de datos que almacena la base, los datos que responden a la
consulta podrn venir de una o varias tablas.

Fichas: se utiliza para ingresar y modificar los datos directamente en pantalla a travs de
ella, la ficha la habremos de haber diseado previamente segn nuestra necesidad y a la
que se le puede incluir tambin grficos (fotos) y sonidos. Al disear una ficha se especifica
la manera en que se presentarn los datos de una o varias relaciones al momento de
abrirla.

Informes: conjunto de directivas para imprimir la informacin organizada, segn el criterio


de seleccin en que se basa el informe. La variedad de formas en que puede presentarse
la informacin es muy amplia, pudiendo incluso pedir totales y subtotales, correspondencia
personalizada, etc.

Etiquetas: esta opcin permite la impresin en etiquetas autoadhesivas que vienen en


papel de forma continua y tienen diferentes tamaos, se pegan en los sobres cuando se le

enva correspondencia a los clientes, o para las tarjetas de checar entrada y salida del
personal, o para etiquetar algunos productos o muebles para toma de inventario, etc.

Programa: conjunto de comandos (rdenes) que forman instrucciones y estn ordenadas


en forma lgica, de modo que el conjunto de stas, sirve para realizar una determinada
tarea. Los programas se guardan en archivos y podemos ejecutarlos cuantas veces se
requiera.

Imgenes: muestra las imgenes que podemos utilizar dentro de DBase.

Sonidos: tiene los archivos de sonido que podemos utilizar en relaciones o programas.

Catlogo: cada uno es un contenedor para una BD. Dentro del mismo colocamos los
archivos de las tablas, consultas, fichas, informes, etc., que componen una BD y aunque
estos se encuentren en diferentes ubicaciones en el disco, el catlogo guarda la
informacin necesaria para saber cules son los que pertenecen a determinada BD.

Personalizados: permite especificar el llamado de un archivo mediante el uso de los


caracteres comodines (*.*).

Se le da el nombre de objeto a algo que es posible seleccionar y manipular como una unidad
identificable; ejemplo una relacin, una consulta, un informe, un grfico, etc.

Propiedades del escritorio: el aspecto del escritorio lo podemos controlar a travs de un


cuadro de dilogo con el nombre Propiedades del escritorio que presenta una serie de
folders como son Pas, Tabla, Entrada de datos, Archivos, Aplicacin y Programacin. Por
ejemplo: en la pestaa Pas, podemos definir los formatos Numrico, Monetario y la forma
en que se expresar la Fecha.

Tutoriales: es como un profesor incluido, que nos va mostrando y explicando los


fundamentos
del
manejo
del
programa.
Normalmente
pulsaremos
el
botn Siguientedespus de leer las explicaciones, pero muchas veces deberemos efectuar
los procedimientos tal cual como lo haremos luego en el propio programa seleccionando
objetos, eligiendo comandos y realizando distintas tareas.

Manejo de relaciones
DBase guarda en una relacin toda la informacin que le suministramos, por lo que sta constituye
la herramienta esencial de la BD, que a su vez est compuesta por las relaciones, las fichas,
informes, consultas y una cantidad de archivos asociados involucrados indirectamente.
Vamos a crear mediante diversos ejercicios un sistema de BD para un negocio pequeo que
maneje clientes, proveedores, mercanca, etc. Es importante que como ejercicio, agregue a cada
relacin propuesta, aquellos atributos que considere necesarios, modificando as la estructura
propuesta. Para comenzar siga los siguientes pasos:

Crear el catlogo de clientes (CLIENTES.DBF).

Men Archivo, comando nuevo, opcin tabla. Tambin puede hacerse lo anterior con click en botn
derecho sobre Untitled (Sin ttulo) opcin Nueva tabla, previa seleccin de Tablas enSelector o
tambin dando doble click sobre Untitled

Aparece una ventana con las opciones Expert (Experto) o Designer (Diseador);
escojemos Designer

Crear la relacin tipo DBase(Paradox brinda la posibilidad de crear una relacin


compatible con dicho programa).

Definir la estructura de la relacin y los tipos de datos por los que estar formada, mismos
que se muestran en la figura siguiente.
CLIENTES

Camp Nombre
o

Tipo

Ancho Decimale ndice


s

CL/

Numeric 4

Ningun
o

APPAT

Characte 12
r

Ningun
o

NOMBRE

Characte 12
r

Ningun
o

DIRECCI Characte 20
N
r

Ningun
o

DELEG

Characte 15
r

Ningun
o

ESTADO

Characte 15
r

Ningun
o

CP

Characte 5
r

Ningun
o

Para la captura de la estructura, en Nombre del atributo (Name) escribimos IDCLI y


pulsamos tecla Tab o Enter, con lo que podemos definir el Tipo de dato (Type); mediante la
fecha que apunta hacia abajo y que aparece en esa columna, podemos escoger cualquier
tipo de dato permitido.

En el caso de valores numricos al definir el Ancho (Width) considere el siguiente ejemplo:


si el nmero fuera hasta 99999.99 debemos ingresar un ancho de 8, esto es 5 cifras + 1
del punto decimal + 2 decimales = 8 caracteres.

En el cuadro ndice (Index) podemos declarar un orden ascendente o descendente para


que la relacin se ordene por ese atributo. Al pulsar Enter no se selecciona ningn orden.
Si se declaran varios campos en orden, se ordenar en primer lugar por el superior de la
estructura, luego se tomar en cuenta al siguiente activado y as sucesivamente.

En caso de error, nos colocamos mediante el mouse en el error, demos click y mediante las
teclas Delete o Backspace borramos para luego rescribir.

Una vez creada la estructura, el men Archivo (File), opcin Salvar como(Save As),
proporcionamos el nombre a la estructura, que en este caso ser CLIENTES.DBF.

Con lo anterior, el nombre de la estructura aparece en el recuadro de Nombre(Name)


ubicado en la parte superior izquierda de la misma ventana.

Una vez creada la estructura, vamos a ingresar los datos de los clientes, para ello
debemos abrir la estructura pulsando en

Si deseamos volver al modo diseo

pulsamos

En modo de ingreso de datos, abrimos el menPropiedades (Properties),


comando Ventana de registros de tabla (Table Records Windows Properties...) y activando
la pestaa Ventana (Windows) podremos definir el ttulo de la ventana en el
recuadro Ttulo. Para probar esta opcin coloca el apellido paterno de cada integrante y
botn OK. Con las opciones de Cuadrcula (Horizontal y Vertical Grid) podemos activar o
apagar las lneas de cuadrcula horizontales y verticales.

Con la opcin Bloquear (Lock) bloqueamos n atributos de modo que al desplazarnos hacia
la derecha, los de la izquierda permanecen visibles.

Con la opcin Ancho (Width) uniformamos el ancho en caracteres de todos los campos.

Si elegimos un atributo en la opcin Forzar (Freeze) la edicin se limitar a este nico


campo quedando los dems bloqueados.

Incorporacin de la informacin.

Los datos pertenecientes a cada atributo se muestran en la siguiente figura:

IDCL APPAT
I

NOMBR DIRECCI DELEG


E
N

101 Torres

Mario

ESTADO CP

Gnova 38 Cuauhtmo D.F.


c

02100

102 Prez

Luis

Dalia 15

Contreras

D.F.

24200

103 Gmez

Ernesto Pino 33

Contreras

D.F.

03100

104 Garca

Claudia Berln 99

Jurez

D.F.

14500

Para agregar tuplas abrimos el men Tabla opcin Aadir registros (Add Records) o la
combinacin de tecla Ctr+A. Despus de introducir cada uno de los datos podemos pulsar
Enter o Tab. Observe la barra de estado (parte inferior de la ventana) donde aparece el
nmero de tupla que estamos ingresando y el total existente hasta el momento.

Tambin podemos dar click sobre el icono

La informacin se graba cada vez que el cursor cambia de una tupla a otra, pero al final es
conveniente ir al menArchivo (File), opcin Salvar registro (Save Record) oSalvar
Registro y Cerrar (Save Record and Close) si queremos terminar y regresar a Navigator

Realizar una segunda relacin con el nombre de PEDIDOS.DBF, de acuerdo la siguiente


estructura:
PEDIDOS

Campo Nombre

Tipo

Ancho Decimale ndice


s

PEDIDO

Numeric 5

Ningun
o

IDCLI

Numeric 4

Ningun
o

FECHA

Date

Ningun
o

IDART

Numeric 3

Ningun
o

CANTIDAD Numeric 7

Ningun
o

PREUNI

Ningun
o

Flota

Agregue a la relacin PEDIDOS.DBF las siguientes tuplas:

PEDIDO IDCLI

FECHA IDART CANTIDA PREUN


D
I

102

22/02/01 5

10

40.00

104

15/01/01 43

28.00

101

20/02/01 22

10

37.00

102

25/02/01 18

54.00

102

28/03/01 11

14.00

104

18/03/01 5

15

40.00

Movimiento por las tuplas.

Para desplazarnos podemos usar los botones.

Prxima tupla Anterior tupla


Primera ltima

Si la cantidad de tuplas fuera superior al tamao de la ventana podemos utilizar los botones:

Pgina anterior Pgina siguiente


Tambin pueden utilizarse los comandos Registro anterior, Registro siguiente, Pgina anterior,
Pgina siguiente, Primer registro y ltimo registro del men Tabla o bien las combinaciones de
teclas correspondientes: Flecha arriba, Flecha abajo, Page Up, Page Down y Ctrl+Page Up,
Ctrl+Page Down.
Cuando queremos ubicarnos en alguna tupla en particular, si la lista es larga puede ser imprctico
utilizar los botones de avance. En este caso podemos abrir el men Tabla, opcin Ir a nmero de
registro e ingresamos el valor de la tupla a la que deseamos acceder.
Si sabemos que en la relacin existe un valor, pero no podemos recordar cul es el nmero de
tupla en el que se encuentra procedemos a los siguientes pasos:

Men Tabla comando Buscar registros o mediante el uso del icono.

Si deseamos, por ejemplo, buscar el pedido No. 4 escribimos 4 en el recuadro Buscar y


luego le indicamos que lo busque en el atributo Pedido.

Por ltimo debemos indicar si la bsqueda comienza en la tupla en que nos encontramos
ubicados o desde el principio de la tabla.

Como buscamos en un campo numrico, la coincidencia debe ser exacta. Al buscar en un


atributo Character se habilitan las siguientes opciones:

Longitud exacta: el contenido del atributo debe coincidir con el texto buscado

Dentro del campo: el texto buscado puede formar parte de un atributo.

Semejanza fontica: se localizan aquellas tuplas cuya pronunciacin sea similar.

Coincidencia maysculas: el texto debe coincidir exactamente en cuanto a maysculas y


minsculas entre el texto a buscar y el contenido de los atributos.

Visualizacin de la relacin.

Disponemos de tres modos de visualizacin para ingresar o modificar las tuplas de una relacin:

Formato Browse (usado hasta el momento)


Formato Ficha (Form Layout)
Formato columnas (Columna Layout)
Lo mismo podemos lograrlo desde el men Ver (View) y optar por el comando Formato en
columnas o en el mismo men, la opcinFormato Ficha (tecla F2)
Para concluir el ejercicio anterior agregue las siguientes tuplas a la relacin CLIENTES:

IDCLI

APPAT

NOMBR DIRECCI DELEG


E
N

ESTADO CP

105

Lpez

Mnica

Arte 159

Tlalpan

D.F.

50100

106

Ruiz

Rosa

Tlacopac
18

San
ngel

D.F.

18000

107

Sandoval Rosa
Mara

Loreto 26

Tizapn D.F.

21400

108

Martnez Edith

Colima 33

Roma

D.F.

04200

109

Garca

Jorge

Museo 598 Tlalpan

D.F.

50100

110

Salas

Arturo

Tuxpan 679 Roma

D.F.

04200

Determinar los campos que se visualizan: Al abrir menPropiedades comando Ventana de


registros de tabla podemos acceder a un cuadro de dilogo con tres pestaas. En la
pestaaCampos (Fields) podemos determinar qu atributos de la relacin aparecern en la

ventana de visualizacin. Inicialmente estn todos seleccionados, pulsando << quitamos todos y
luego seleccionamos cada uno y pulsando > los incluimos. Podemos agregar todos con >> o quitar
al seleccionado con < Cerrar CLIENTES.DBF.
Agregar un atributo calculado: Abrir PEDIDOS.DBF (puede dar doble click al nombre en Tipos de
categoras) volvemos a abrir el men Propiedades comando Ventana de registros de tabla. En la
pestaa Campos botn Aadir campo calculado(Add Calculated Field...) se ingresa la expresin
del mismo. Ejemplo: calcular las fechas a60 das:

Escribimos el nombre del atributo Vencimiento.

Ingresamos al editor de expresiones mediante el botnHerramientas.

Seleccionamos con doble click el atributo Fecha.

Nos ubicamos a continuacin del mismo en el recuadroExpresin y pulsamos click.

Escribimos + 60.

Elegimos botn Evaluar(Evaluate) para saber si no hay errores y a continuacin


aceptamos.

Al aceptar obtendremos un nuevo atributo (virtual) en el listado de la relacin.

Determinar formato de atributos: volviendo a la pestaaCampos seleccionamos un atributo


y pulsamos Propiedades (Properties). En el recuadro Encabezado (Heading) podemos
colocar el texto que aparecer sobre la columna de datos; en caso de dejarlo vaco
aparece el nombre del atributo.

En el recuadro Plantilla (Template) ingresamos los cdigos correspondientes para dar


formato a los datos contenidos en el atributo. Estos formatos pueden ser: Character,
Numeric o Date. En todos los casos pulsamos la pestaa correspondiente y seleccionando
el cdigo pulsamosPegar. La explicacin de cada cdigo aparece en el
recuadro Descripcin.

Modificar aspecto y ubicacin de un atributo: podemos modificar el ancho de los atributos


en la ventana de listado si ubicamos el apuntador entre los encabezados de dos atributos y
manteniendo presionado el botn izquierdo, desplazamos el mouse. Si ubicamos el
apuntador sobre el encabezado propiamente dicho, el apuntador adopta la forma de una
mano y si pulsamos como se indic, podremos reubicar en atributo horizontalmente.

Modificar propiedades de las tuplas: abrimos menPropiedades opcin Ventana de


registros de tabla. Con la pestaa Registros(Records) determinamos en el
recuadroOpciones de edicin (Editing Options) las acciones que estn permitidas efectuar
con los datos: aadir, modificar o borrar tuplas.

Restringir los registros visualizados: Si completamos los recuadros Clave inferior (Low Key)
y Clave superior (High Key) aparecern las tuplas cuyo valor de atributo ndice se
encuentre entre estos dos valores o sea igual. La opcinExcluir (Exclude) excluye dichos
valores de la visualizacin.

Clave de ordenamiento.

Abrir men tabla opcin Utilidades de la tabla (Table Utilities) subopcin Mantenimiento de
ndices (Manage Indexes), esto har que aparezca un cuadro de dilogo que indicar que
la visualizacin se est efectuando en orden natural, o sea, que los registros se muestran
tal y como fueron ingresados.

Pulsando el botn Crear(New) aparece un mensaje de uso exclusivo. El mismo indica que
no se pueden modificar los ndices de una relacin si a esta la estn utilizando varios
usuarios a la vez. Dar click en botn S.

Escribir el nombre con el que identificaremos a este ndice en el recuadro Index Name.
Ejemplo: apellido.

Doble click sobre el atributo Apellido y aceptamos (OK).

Verificamos en el recuadro que el orden sea Ascendente y aceptamos.

Observar el cuadro de dilogo Mantenimiento de ndices.Para modificar un ndice


pulsamos el botn Modificar, y si queremos eliminarlo pulsamos el botn Borrar.

Dar click en botn Control del Orden (Set Controlling Order) para cambiar llave al nuevo
ndice.

Aceptamos esta pantalla y observamos que la relacin quede ordenada por el


atributo Apellido, observar que los nmeros de tupla estn desordenados.

Imprimir la relacin.

La impresin de los datos se efecta mediante los informes, pues con ellos se controlan todos los
parmetros de impresin y pueden estar hechos con base a una relacin o una consulta que
relacione a varias y seleccione qu tuplas imprimir. Para imprimir slo una relacin:

Men Archivo opcin imprimir (o botn imprimir).

Con la opcin Printer Set up..., aparece un cuadro de dilogo que nos indica en qu
impresora se va a imprimir, la cantidad de copias que se van a hacer, etc. Con los
recuadros Para y Mientras podemos especificar condiciones de seleccin de tuplas para
imprimir slo una parte de la relacin.

Verificar que la impresora est encendida (en laboratorio no es necesario) y pulsar sobre el
botn Aceptar.

Operaciones con grupos de tuplas.


Generar tuplas de prueba: DBase incorpora una opcin para generar tuplas al azar. Esto conviene
para llenar una relacin con datos irrelevantes al slo efecto de probar algn comando o para
probar programas que hemos creado. Los pasos son:

Men Tabla opcin Utilidades de tabla subopcin Generar registros(Generate Records...).

Al aparecer el cuadro de dilogo correspondiente le indicamos la cantidad de tuplas a


crear. Pruebe dando el valor 8.

Marcar tuplas para borrar: la manera de borrar tuplas consta de dos pasos: el primero es marcar
las tuplas, y el segundo eseliminar definitivamente las tuplas marcadas. Como existe la
posibilidad de ocultar las tuplas marcadas, antes de dar el segundo paso podemos utilizar las
relaciones como si dichas tuplas no existieran, dando la oportunidad de recuperarlos en caso
necesario

Abrir la relacin CLIENTES.DBF

Ubicarse en la tupla de Lpez.

Men Tabla, opcin Borrar registro (Delete Current Record).

Tambin podemos ubicarnos en la tupla del cliente y pulsar Ctrl+U

Las tuplas que hayamos marcado como borradas desaparecen de la visualizacin y


cualquier operacin que hagamos no la tomar en cuenta.

Crear grupos: si deseamos borrar una gran cantidad de tuplas no lo hacemos marcando una por
una, sino que creamos un grupo para aplicarle el comando borrar.

Men Tabla, opcin Utilidades de tabla.

Elegimos Borrar registros (Delete Records).

Aparece un cuadro de dilogo con las siguientes opciones:

Todo: seleccionar a todos las tuplas de la relacin sin excepcin.

Resto: se seleccionarn todas las tuplas, a partir de aquella en la que estamos ubicados,
hasta el final de la relacin.

Siguiente: se seleccionarn las n tuplas siguientes segn el valor que coloquemos en el


recuadro adjunto. Si no ponemos nada, por omisin slo se seleccionar la tupla siguiente
a la que estamos ubicados.

Registro: se seleccionar la tupla cuyo nmero sea el indicado en el recuadro de la


derecha. Si deseamos seleccionar un subgrupo, podemos emplear los cuadros:

Para(For): sirve para seleccionar tuplas que cumplan con una condicin mediante el
ingreso de una expresin en el recuadro correspondiente.

Mientras (While): al igual que en el recuadro Para,podemos introducir una expresin, pero
aqu, slo se seleccionan las tuplas consecutivas a partir de la actual que cumplan la
condicin, detenindose en la primera que no la cumpla. Si despus de la que no cumple
con la expresin, hubiere tuplas que la cumplan, estas ltimas no se seleccionarn.

Utilizar generador de expresiones: al ingresar al generador de expresiones podemos optar por


pedir la asistencia de DBase o sin ella para expertos. En el modo de Asistencia no podemos
escribir directamente dentro del cuadro de la expresin, pero aparecern los operadores
destacados con colores, de modo que los podamos reconocer con facilidad y podremos utilizar el
botn Agrupar para encerrar entre parntesis el texto seleccionado.

Usar la relacin CLIENTES.DBF.

Men Tabla, opcin Utilidades


recuadro Para.

Activar modo de Asistencia(Safety Net).

Introducir una expresin que seleccione aquellas tuplas cuyo apellido comience con la
letra G o posterior.

Debemos emplear
ventana Categora.

En la ventana Tipo buscamos y escogemos Datos de cadena(String Data).

De la ventana Pegar (Paste) escogemos la funcin de cadena LEFT, dando doble click y
pudiendo conocer los parmetros requeridos y leer su explicacin en la parte inferior.
Pulsamos doble click sobre exp C/campo memopara seleccionarlo.

De la ventana Categora escogemos CAMPO(Field) y como slo hay una relacin activa,
sta aparece seleccionada en la ventana central (CLIENTES).

En la ventana Pegar pulsamos doble click sobre el campo APPAT reemplazndose ste en
la expresin.

Observe que se ha activado el botn Deshacer(Undo), el cul puede ayudarnos a corregir


errores.

Seleccionamos el parmetro longitud/expN con doble click.

Seleccionamos Constante(Constant) de la ventanaCategora; Numrico en Tipo y 0


en Pegar pulsando doble click sobre este ltimo.

Pulsamos Asistencia para modificar la expresin manualmente.

Reemplazamos el 0 colocado anteriormente, por un 1.

Pulsamos la tecla END para ubicarnos al final.

Seleccionamos Operador de
la
ventana Categora;Relacional en Tipo y mayor o igual en Pegar pulsando doble click.

Seleccionamos Constante de
la
dobles en Pegar pulsando doble click.

una

de

funcin,

Tabla, Borrar

por

lo

Registros,

que

botn herramienta del

seleccionamosFuncin de

la

ventana Categora;Carcter en Tipo y comillas

Entre las comillas colocamos la G. Debe quedar: LEFT(CLIENTES->APPAT.1)>=G

Antes de aceptar podemos pulsar Evaluar para verificar si la sintaxis de la expresin es


correcta (Resultado .T.). Cerramos esta ventana con OK.

Seleccionamos Resto(Rest) y aceptamos, para borrar los registros correspondientes.

Visualizar registros marcados: podemos visualizar todos las tuplas existentes en la relacin.

Men Propiedades, opcin Escritorio (Desktop Properties),pestaa Tabla, seccin Other,


opcin Deleted

Quitar marcas: Abrir men Tabla opcin Utilidades de tabla subopcin Eliminar marcas de borrado
(Recall Records). El mtodo para crear el grupo de tuplas a desmarcar es idntica a la utilizada
para marcar. Podemos desmarcar manualmente las tuplas una a una pulsando en el recuadro de la
columna Del que aparece en el listado de la relacin. De la misma forma podemos marcar una
tupla para ser borrada.
Eliminar registros marcados: Haga la siguiente secuencia de pasos:

Coloque marcas de borrado a las tuplas que fueron agregadas al azar (menos a una).

Men Tabla opcin Utilidades de tabla.

Subopcin Eliminar registros marcados(Pack Records).

Acepte ser el nico usuario con acceso a la relacin (modo exclusivo).

Las tuplas eliminadas mediante el comando Eliminar registros marcados no se pueden recuperar
de ninguna manera.
Si queremos vaciar el contenido de una tupla sin eliminarla, utilizamos la opcin Vaciar registro del
men Tabla (ESC antes de salir de la tupla, provoca su recuperacin).

Ubicarse en la tupla generada al azar que queda.

Men Tabla opcin Vaciar registro(Blank Current Record).

Pulsar flecha hacia arriba.

Eliminar la tupla.

Si deseamos vaciar la relacin, utilizamos men Tabla,


subopcin eliminar todos los registros (Zap Records).

opcinUtilidades

de

tabla,

Contar los registros: para saber la cantidad de tuplas que contiene nuestra relacin o las que
forman un grupo podemos utilizar men Tabla, opcin Utilidades de tabla, subopcin Contar
registros.
Calcular registros:

Abrir PEDIDOS.DBF

Men tabla opcin Utilidades de tabla.

Pulsando sobre la subopcin Calcular(Calculate Records...), aparece un cuadro de dilogo


que nos permite elegir el tipo de operacin y sobre qu atributo se va a aplicar.

De esta manera podemos obtener el total de artculos pedidos si aplicamos el clculo Suma al
atributo Cantidad; o la fecha del pedido ms viejo seleccionando Mnimo y el atributo Fecha.
Manteniendo presionada la tecla Ctrl al seleccionar los atributos, podremos aplicar la misma
operacin al mismo tiempo, a varios de ellos. Calcule simultneamente el promedio (Average) de
los atributos Cantidad y Preuni
Exportar tuplas.

Men File, opcin Export para que aparezca un cuadro de dilogo.

Ingresar el nombre del archivo que recibir las tuplas en el recuadro Nombre del
archivo o pulsamos herramientapara seleccionarlo, si ya existe. Si el archivo existe, se
perder su contenido ya que las tuplas no se agregan, sino que se sobre escriben.

En el recuadro Tipo de archivo, seleccionar el formato en que sern exportados los datos.

En el recuadro Campos disponibles aparecen los atributos que componen la relacin


activa, mientras que en el recuadro Campos seleccionados figurarn los atributos cuyos
datos sern exportados.

Como inicialmente estn todos seleccionados, podemos pulsar << para quitarlos.

Seleccionando un atributo podemos agregarlo con el botn >.

Al pulsar >> se incorporarn todos los campos.

En el recuadro mbito ingresamos las condiciones para efectuar la seleccin del grupo de
tuplas que se van a exportar.

Agregar tuplas de otra base: podemos agregar tuplas provenientes de un archivo externo a la
relacin activa.

Men File, opcin Import,

Al aparecer el cuadro de dilogo elegiremos el archivo que contiene las tuplas al incorporar
pulsando el botn herramienta y luego indicamos su tipo en el recuadro Tipo. Adicionalmente
podemos incorporar una condicin para seleccionar las tuplas a tener en cuenta para incorporar.
Si activamos la opcin Encabezados(Heading), los nombres de las columnas de la hoja de clculo
se utilizarn como los nombres de atributo de la relacin generada.
Sustituir datos en las tuplas: la opcin Sustituir registros, buscar el dato especificado en
determinado atributo de la tabla y reemplazar en otro atributo de la misma tupla el dato existente
por otro previamente especificado.

Men Tabla, opcin Reemplazar Registro(Replace Records).

El cuadro de dilogo presente entre otras, las siguientes opciones:


Buscar(Find What): para buscar la prxima ocurrencia dentro del atributo que se le indique.
Sustituir(Replace With): una vez localizada la tupla que contiene el dato buscado, se reemplaza el
dato
existente
en
el
atributo
indicado,
por
el
nuevo
valor.
Seguimos
pulsando Buscar ySustituir hasta terminar.
Sustituir todo(Replace All): efecta un reemplazo global.
Cerrar: terminar reemplazos.
Ayuda: en caso de necesitar ms explicacin.
Avanzadas: podremos incorporar condiciones de seleccin para restringir las tuplas sobre las
cules se aplicar la bsqueda.

3. CICLO DE VIDA, NORMALIZACIN, SQL


OBJETIVO: construirs modelos relacionales, mediante la aplicacin de las formas de
normalizacin, el ciclo de vida del Sistema de Aplicacin de Base de Datos y el lenguaje de
manipulacin de datos (SQL); lo que le permitir integrarlo en cualquier SGBD.
ORGANIZADOR DE CONTENIDOS

3.1 NORMALIZACIN
Siempre es conveniente aplicar al esquema obtenido un conjunto de reglas conocidas como teora
de la normalizacin, que nos permiten asegurar que un esquema relacional cumple con ciertas
propiedades. Entre los problemas que puede presentar un esquema relacional cuando el diseo es
inadecuado se pueden sealar:

Incapacidad para almacenar ciertos hechos.

Redundancias y por tanto, posibilidad de inconsistencias.

Ambigedades.

Prdida de informacin (aparicin de tuplas espurias).

Aparicin en la BD, como consecuencia de las redundancias, de estados que no son


vlidos en el mundo real; es lo que se llama anomalas de insercin,
borrado ymodificacin.

Ejemplo: en la figura siguiente, se muestra la relacin ESCRIBE que almacena datos sobre los
libros (Cod libro, Ttulo, Editorial, Ao) y sobre los autores que los han escrito (Autor, Nacionalidad).
ESCRIBE

AUTOR NACIONALIDA COD


D
LIBRO

TTULO

EDITORIA AO
L

Batini C Norteamericana 23433

Base
Datos

Batini C Norteamericana 54654

Lenguaje
SQL

Adisson-W 1986

Batini C Norteamericana 53235

ME / R

Adisson-W 1988

Cer N

Norteamericana 97875

Basic

Adisson-W 1990

Senn J

Francesa

34245

Visual
DBase

Diana

1986

Senn J

Francesa

55366

Comparacin Trillas
BD

1984

Laguna
R

Francesa

86754

Comparacin Trillas
BD

1984

de Adisson-W. 1990

Wright S Norteamericana 32176

POO

Computec 1989

Kurtz T

POO

Computec 1989

Alemana

23456

Los principales problemas de esta relacin se derivan de la gran cantidad de redundancia que
presenta, por ejemplo, la nacionalidad del autor se repite por cada libro que ha escrito; y algo
parecido sucede cuando un libro tiene ms de un autor, con la editorial y el ao de publicacin.
Esta redundancia produce a su vez:

Anomalas de insercin, ya que dar de alta un libro obliga a insertar en la BD tantas tuplas
como autores tenga el libro.

Anomalas de modificacin, ya que cambiar la editorial de un libro obliga a modificar todas


las tuplas que corresponden a ese libro.

Anomalas de borrado, ya que el borrado de un libro obliga a borrar varias tuplas, tantas
como autores tenga ese libro y, viceversa, el borrado de un autor nos lleva a borrar tantas
tuplas como libros ha escrito ese autor.

Vemos, por tanto, que la actualizacin (altas, baja o modificacin) de un solo libro o de un solo
autor nos puede obligar a actualizar ms de una tupla, dejndose la integridad de la BD en manos
del usuario. Esta relacin atenta contra un principio bsico en todo diseo: Hechos distintos se
deben almacenar en objetos distintos, en este caso, en relaciones distintas.
Nocin intuitiva de las formas normales.
La teora de la normalizacin se centra en lo que se conoce como las formas normales. Se dice
que un esquema de relacin est en una determinada forma normal si satisface un conjunto
especfico de restricciones definidas sobre los atributos de una relacin, las cules son conocidas
con el nombre de dependencias.
Dentro de este enfoque intuitivo podemos decir que un esquema de relacin se encuentra en
primera forma normal (1FN) si no existen grupos repetitivos en la relacin, esto es, ningn atributo
puede tomar ms de un valor del dominio subyacente. Se encuentra en 2FN si, adems de estar
en 1FN, todos los atributos que no forman parte de ninguna clave candidata suministran
informacin acerca de la clave completa, no de una parte de la clave.
Considere el esquema de relacin PRESTAMO:
PRESTAMO (Nm_socio, DNI socio, Cd_libro, fecha prstamo, Editorial, Pas)
Donde las claves candidatas son:
(Nm_socio, Cd_libro)
(DNI socio, Cd_libro)
Se puede observar que ciertos atributos que no forman parte de ninguna clave candidata, como
Editorial, nos dan informacin acerca del libro pero no tienen nada que ver con el socio, por lo que
no constituyen una informacin acerca de la clave completa sino nicamente de una parte de la
clave, por lo tanto, la relacin PRESTAMO no se encuentra en 2FN.
La solucin a esta relacin es descomponerla en dos:
PRESTAMO 1 (Nm_socio, DNI_socio, Cd_libro; Fecha_prstamo)
LIBROS (Cd_libro, Editorial, Pas)
En el primer esquema existen dos claves (Nm_socio, Cd_libro y DNI_socio, Cd_libro), y el
nico atributo (Fecha_prstamo) que no forma parte de iniguna clave suministra informacin
acerca de la totalidad de ambas claves candidatas; por otra parte, en LIBROS la clave
es Cd_libro, y los dos atributos que no son clave tambin suministran informacin acerca de la
clave completa, por lo tanto, ambas relaciones se encuentran en 2FN.
Una relacin est en 3FN si, adems de estar en 1FN y 2FN, se cumple que los atributos que no
forman parte de ninguna clave candidata facilitan informacin slo acerca de la(s) clave(s) y no
acerca de otros atributos.

Por ejemplo, en PRESTAMO1 el atributo Fecha_prstamo slo facilita informacin acerca de las
claves, ya que no existe ningn otro atributo no clave, por lo que dicha relacin est en 3FN. Sin
embargo, en la relacin LIBROS el atributo Pas facilita informacin acerca de la Editorial, no
encontrndose por tanto esta relacin en 3FN. Para resolver los problemas de esta relacin,
conviene descomponerla en:
LIBROS1 (Cod_libro, Editorial)
EDITORIALES (Editorial, Pas)
Dependencias funcionales
Las dependencias nos muestran algunas importantes interrelaciones existentes entre los atributos
del mundo real, cuya semntica tratamos de incorporar a nuestra BD; son, por tanto, invariantes en
tiempo, siempre que no cambie el mundo real del cul proceden.
Sea el esquema de relacin R definido sobre el conjunto de atributos A y sean X e Y subconjuntos
de A llamados descriptores. Se dice que Y depende funcionalmente de X, o lo que es igual, que
X determina o implica a Y si, y slo si, cada valor de X tiene asociado en todo momento un nico
valor de Y. Esta dependencia funcional se representa de la siguiente forma.
XY
Llamamos determinante o implicante al descriptor que se encuentra a la izquierda del smbolo de
implicacin, e implicadoal descriptor que se encuentra a la derecha.
Por ejemplo, en la relacin: LIBRO (Cd_libro, Ttulo, Idioma,....) podemos decir que el cdigo de
un libro determina el ttulo del mismo:
Cd_libro Ttulo
El cdigo del libro (Cd_libro) es el implicante (o determinante) en la anterior dependencia
y Ttulo es el implicado.
Una herramienta muy til a la hora de explicitar las dependencias funcionales es el grafo o
diagrama de dependencias funcionales, mediante el cual se representa un conjunto de atributos y
las dependencias funcionales existentes entre ellos. En el grafo aparecen los nombres de los
atributos unidos por flechas, las cuales indican las dependencias funcionales y parten del
implicante hacia el implicado. Cuando el implicante de una dependencia no es un nico atributo, es
decir, se trata de un implicante compuesto, los atributos que lo componen se encierran en un
recuadro y la flecha parte de ste, no de cada atributo.
La siguiente figura presenta un ejemplo de cmo se visualizan las dependencias:

Podemos observar que Cd_libro determina funcionalmente elTtulo del libro y la Editorial, como
indica la flecha correspondiente; de forma anloga, Nm_socio determina elNombre,

Domicilio y Telfono del socio (nos interesa un solo telfono); mientras que ambos atributos en
conjunto Cd_libro yNm_socio (lo que se indica haciendo que la flecha parta del recuadro que los
incluye) determinan Fecha_prstamo yFecha_dev.
Dependencia funcional plena o completa
Se dice que Y tiene dependencia funcional completa o plena de X si depende funcionalmente de X
pro no depende de ningn subconjunto del mismo, esto es:

XY
X1Y
X2Y
Lo que se representa por: X Y
Supongamos por ejemplo la relacin:
PRESTA (Cod_libro, Ttulo, Editorial, Num_socio, Nombre, Domicilio, Telfono.
Fecha_prstamo, Fecha_dev)
Cuyas dependencias funcionales aparecen en el esquema anterior: la dependencia funcional
Cod_libro,NFecha_prstamo
Indica que, dado un determinado cdigo de libro y un nmero de socio, existe una nica fecha de
prstamo (se ha supuesto que un mismo libro no se presta al mismo socio en diferentes
ocasiones). Ni cdigo de libro, ni el nmero de socio, implican, por s solos, la fecha de prstamo,
ya que tanto un libro se puede prestar en varias fechas, como un socio puede recibir libros
prestados en varias fechas. Por lo tanto la referencia funcional anterior es completa, y se
representa:
Cd_libro, Nm_socioFecha_prstamo
Lo anterior se puede interpretar como que Fecha_prstamoconstituye una informacin sobre el
conjunto de libro y socio, pero esta informacin no atae a un libro o a un socio por separado.
Dependencia funcional transitiva
Sea la relacin: R(X, Y, Z) en la que existen las siguientes dependencias funcionales:

XY
YZ
YX

Se dice entonces que Z tiene una dependencia transitivarespecto de X a travs de Y, lo que se


representa por:
XZ
Si consideramos la relacin LIBROS (Cd_libro, Editorial, Pas), en donde tenemos, para cada
libro, su cdigo, la editorial que lo publica y el pas al que pertenece la editorial, se tendrn las
siguientes dependencias:

Cd_libro Editorial
Editorial Pas
Cd_libroPas
Adems:Editorial Cod libro que una editorial puede publicar varios libros. La
dependencia funcional entre Cd_libro yPas es una dependencia transitiva a travs de Editorial,
representndose:
Cd_libroPas
Lo anterior se puede interpretar como que Pas es una informacin sobre el libro,
pero indirectamente, ya que constituye una informacin sobre la editorial y sta, a su vez, sobre el
libro.
DEFINICIN FORMAL DE LAS TRES PRIMERAS FORMAS NORMALES
Primera forma normal (1FN). Para que una tabla pueda ser considerada una relacin no debe
admitir grupos repetitivos, esto es, debe estar en primera forma normal. Se dice que una relacin
est en 1FN si cada atributo toma un nico valor del dominio subyacente.
Ejemplo:
LIBRO (Cdigo, Ttulo, Autor)

CDIGO TTULO

AUTOR

CDIGO TTULO

AUTOR

0215498 Modelo de Murray


9
Datos
Graham

02154989 Modelo de Murray


datos

8765435 Turbo
3
Pascal

02154989 Modelo de Graham


Datos

Aguilar

6546546 Visual
5
DBase

No est
repetitivos)

en

Kurtz
Smith

87654353 Turbo
Pascal

Aguilar

1FN (hay

grupos 65465465 Visual


DBase

Kurtz

65465465 Visual
DBase

Smith

LIBRO (Cdigo, Ttulo, Autor)

Esten1FN

Segunda forma normal (2FN). Una relacin est en 2FN si:

Est en 1FN

Cada atributo no principal tiene dependencia funcional completa respecto de cada una de
las claves.

Tercera forma normal (3FN). Se dice que una relacin est en 3FN si:

Est en 2FN.

No existe ningn atributo no principal que dependa transitivamente de alguna de las claves
de la relacin.

Descomposicin de relaciones.
La transformacin de una relacin que se encuentra en una determinada forma normal, en otra
relacin cuya forma normal es superior, se realiza por medio del operador de proyeccin del
lgebra relacional. Por ejemplo, si quisiramos llevar la relacin PRESTA (Cd_libro, Nm_socio,
Editorial) a una forma normal ms avanzada, sera preciso descomponerla mediante proyecciones,
obteniendo las siguientes relaciones:
PRESTA1 (Cd_libro, Nm_socio)
PRESTA2 (Cd_libro, Editorial)
Ambas relaciones estn en 3FN y han desaparecido las redundancias y las inconsistencias.
Adems la combinacin natural de PRESTA1 * PRESTA2 (por el atributo comnCd_libro) nos
devuelve la relacin original.
En el proceso de descomposicin de relaciones, es preciso cumplir determinadas reglas:

Descomposicin sin prdida de informacin. Se dice que una descomposicin se ha


realizado sin prdida de informacin cuando la combinacin natural de las proyecciones
resultantes no devuelve la relacin original.

Ejemplo: en la relacin LIBRO (Cd_libro, Editorial, Pas)


LIBRO

COD_LIBR EDITORIAL PAS


O

654654

Mc.
Hill

Graw Espaa

665465

Mac.
Hill

Graw Espaa

876545

Diana

Espaa

987456

Anaya

Espaa

965842

Trillas

Argentin
a

Cd_libro Editorial

Tienen lugar las siguientes dependencias funcionales


Editorial Pas

Supongamos que descomponemos esta relacin en:


LIBRO 1 (Cd_libro, Pas)
EDITORIAL 1 (Editorial, Pas)
Y cuyas extensiones aparecen a continuacin:

LIBRO 1

COD_LIBR PAS
O

654654

Espaa

665465

Espaa

876545

Espaa

987456

Espaa

965842

Argentina

EDITORIAL 1

EDITORIAL PAS

Mc.
Hill

Graw Espaa

Mc.
Hill

Graw Espaa

Diana

Espaa

Anaya

Espaa

Trillas

Argentina

La combinacin de estas dos relaciones da lugar a la aparicin de tuplas espurias (marcadas en


negritas) que no se encontraban originalmente. Se dice que la descomposicin de la relacin
LIBRO ha dado lugar a perdida de informacin.
LIBRO 1 * EDITORIAL 1

COD_LIBR EDITORIAL PAS


O

654654

Mc. Graw Hill Espaa

654654

Diana

Espaa

654654

Anaya

Espaa

665465

Mc. Graw Hill Espaa

665465

Diana

Espaa

665465

Anaya

Espaa

876545

Mc. Graw Hill Espaa

876545

Diana

Espaa

876545

Anaya

Espaa

987456

Mc. Graw Hill Espaa

987456

Diana

Espaa

987456

Anaya

Espaa

965842

Trillas

Argentina

Si en lugar de lo anterior hubiramos obtenido:


LIBRO 2 (Cd_libro, Pas)
EDITORIAL 2 (Cd_libro, Editorial)
La combinacin natural LIBRO 2 * EDITORIAL 2 (considerando como clave Cd_libro) dara
nuevamente la relacin original sin las tuplas espurias.
2.Descomposicin sin prdida de dependencia funcional. Considerando la misma relacin LIBRO
del ejemplo anterior que descompusimos en LIBRO 2 y EDITORIAL 2, donde no ha habido prdida
de informacin, se ha perdido una dependencia funcional, ya que en la relacin Cd_libro Pas la
dependencia funcional es:
Y en la EDITORIAL 2, la nica dependencia Cd_libro Editorial
Por lo tanto, la dependencia Editorial Passe ha perdido, y con ella tambin ha desaparecido en
nuestro esquema parte de la semntica del mundo real, que nos dice que dada una editorial, sta
se encuentra en un nico pas.

Descomposicin en proyecciones independientes.

La descomposicin de una relacin R en un conjunto de relaciones {Ri} se dice que se ha realizado


en proyecciones independiente si no ha habido prdida de informacin ni de dependencias
funcionales. Si la relacin LIBRO la descomponemos en:
LIBRO 3 (Cd_libro, Editorial)
EDITORIAL 3 (Editorial, Pas)
Estas dos proyecciones seran independientes, ya que el atributo comn, es clave de una de las
relaciones (la segunda), por lo que hay prdida de informacin; adems tampoco hay prdida de
dependencias funcionales.

3.2 CICLO DE VIDA DEL SISTEMA DE APLICACIN DE BASE DE DATOS


Un sistema de informacin incluye todos los recursos dentro de la organizacin que participan en la
recoleccin, administracin, uso y diseminacin de la informacin. Con frecuencia se llama macro
ciclo de vida al ciclo de vida del sistema de informacin y micro ciclo de vida al ciclo de vida del
sistema de BD.
3.2.1 FASES DEL CICLO DE VIDA DE UN SISTEMA DE INFORMACIN

Anlisis de Factibilidad. Se ocupa de analizar las posibles reas de aplicacin, realizar


estudios preliminares de costo beneficio y establecer prioridades entre las aplicaciones.

Recoleccin y anlisis de requerimientos. Se obtienen requerimientos detallados


interactuando con los posibles usuarios para identificar sus problemas y necesidades
especficas.

Diseo. Tiene dos aspectos: el diseo del sistema de BD y el diseo de los sistemas de
aplicacin (programas) que usan y procesan la BD.

Implementacin. El sistema de informacin se implementa, la BD se carga y las


transacciones de la BD se implementan y prueban.

Validacin y prueba de aceptacin. Se valida la aceptabilidad del sistema en cuanto a la


satisfaccin de los requerimientos de los usuarios y a los criterios de rendimiento.

Operacin. Puede ir precedida por la conversin de un sistema anterior as como por la


capacitacin de los usuarios. La fase operativa comienza cuando todas las funciones del
sistema estn disponibles y han sido validadas. La supervisin del rendimiento del sistema
y el mantenimiento del sistema son actividades importantes durante la fase de operacin.

3.2.2 FASES DEL CICLO DE VIDA DE APLICACIN DE BD

Definicin del sistema. Se definen el alcance (frontera) del sistema BD, sus usuarios y sus
aplicaciones.

Diseo. Al final de esta fase estar listo un diseo lgico y fsico completo del sistema de
BD en el SGBD elegido.

Implementacin. Comprende el proceso de escribir las definiciones conceptual, externa e


interna de la BD, crear archivos vacos e implementar las aplicaciones de software.

Carga o conversin de los datos.La BD se alimenta ya sea cargando los datos


directamente o convirtiendo archivos ya existentes al formato del sistema de BD

Conversin de aplicaciones. Cualquier aplicacin de software utilizado en el sistema


anterior se convierte al nuevo sistema.

Prueba y validacin. Se introducen datos de prueba temporalmente y se valida el nuevo


sistema.

Operacin. El sistema de BD y sus aplicaciones se ponen en operacin.

Supervisin y mantenimiento. Durante la fase de operacin, el sistema se vigila y mantiene


constantemente. Puede haber crecimiento tanto en el contenido de datos como en las
aplicaciones de software. Es posible que de vez en cuando se requieran modificaciones y
reorganizaciones importantes por causas que pueden atribuirse al medio ambiente que
rodea al sistema.

Las actividades 2, 3 y 4 juntas forman parte de las fases de diseo e implementacin del ciclo de
vida del sistema de informacin. Los pasos 4 y 5 no son aplicables cuando tanto la BD como las
aplicaciones son nuevas. En general, suele haber retroalimentacin entre los diversos pasos
porque a menudo surgen nuevos requerimientos en todas las etapas.

Las metas de un diseo de BD son: satisfacer los requerimientos de contenido de informacin de


los usuarios y aplicaciones especificados; proveer una estructuracin de la informacin natural y
fcil de entender, y apoyar los requerimientos de procesamiento cualquier otro objetivo de
rendimiento como el tiempo de respuesta, el tiempo de procesamiento y el espacio de
almacenamiento.
El problema del diseo de BD puede expresarse como: disear la estructura lgica y fsica de una
o ms BD para atender las necesidades de informacin de los usuarios en una organizacin para
un conjunto definido de aplicaciones.
Las seis fases principales del proceso de diseo de BD son:

Recoleccin y anlisis de requerimientos. Para especificar los requerimientos, primero


debemos identificar las dems partes del sistema de informacin que van a interactuar con
el sistema de BD. Incluye las siguientes actividades:

Identificacin de las principales reas de aplicacin y grupos de usuarios que utilizarn la


BD. Se eligen a los individuos clave dentro de cada grupo.

Estudio del entorno de operacin actual y de los planes de aprovechamiento de la


informacin. Esto incluye el anlisis de los tipos de transacciones y de sus frecuencias. as
como el flujo de informacin dentro de sistema. Se especifican los datos de entrada y
salida de las transacciones.

Recoleccin de respuestas escritas a grupos de preguntas hechas a posibles usuarios de


la BD. Las preguntas se refieren a las prioridades de los usuarios y a la importancia que
dan a las diversas aplicaciones. Posiblemente se entrevisten a individuos clave que
ayudarn a estimar el valor de la informacin y a establecer las prioridades.

Las tcnicas que se emplean para lo anterior son:


Cuestionarios: son escritos y pueden ser:

Abiertos. Permiten que el individuo se exprese libremente.

Cerrados. Se dan varias opciones de respuesta para poner X en la que se considere


correcta.

Mixtos. Incluyen las dos anteriores.

Entrevistas. Son siempre verbales y se clasifican en:

Estructuradas. Se preparan las preguntas antes de la entrevista.

No estructuradas. Las preguntas se van realizando de acuerdo a las respuestas del


entrevistado.

Observacin directa. Ver en el sitio de inters, el proceso que se lleva a cabo. Puede ser:

Activa. Se interviene en el proceso que resulta de nuestro inters para comprenderlo mejor.

Pasiva. Slo se observa cmo se realiza y se van tomando notas de ello.

Las especificaciones de requerimientos obtenidas, se convierten a una forma ms estructurada


mediante tcnicas como son la de Nassi Schneiderman, Orr Warnier, etc.

Diseo conceptual de la BD. Implica dos actividades paralelas:

Diseo del sistema conceptual. Se utiliza un modelo de datos de alto nivel denominado
tambin semntico o conceptual que tenga las siguientes caractersticas:

Expresividad. Debe ser lo bastante expresivo para distinguir los diferentes tipos de datos,
vnculos y restricciones.

Sencillez. Debe ser lo bastante simple para que la generalidad de los usuarios no
especialistas comprendan y usen sus conceptos.

Minimalidad. Debe tener un nmero pequeo de conceptos bsicos cuyo significado sea
distinto y no se traslape.

Representacin diagramtica. Debe contar con una representacin diagramtica para


mostrar un esquema conceptual que sea fcil de interpretar.

Formalidad. Debe representar una especificacin formal, sin ambigedad de los datos. Los
conceptos del modelo deben definirse con exactitud y sin que haya posibilidad de
confusin.

Diseo de transacciones. Una parte importante del diseo de BD es especificar las


caractersticas funcionales de las transacciones como es su importancia relativa y la
frecuencia con que se dan. Esto garantiza que el esquema de la BD incluir toda la
informacin requerida por dichas transacciones.

Las transacciones pueden agruparse en tres categoras:

Transacciones de obtencin. Sirven para obtener datos y exhibirlos en una pantalla o


producir un informe.

Transacciones de actualizacin. Sirven para introducir datos nuevos o modificar datos que
ya existen en la BD.

Transacciones mixtas. Obtienen y actualizan datos. Ejemplo: mostrar la reservacin de un


cliente respecto a un vuelo y luego actualizar la BD cancelando la reservacin.

Eleccin de un SGBD. Se deben considerar los siguientes costos:

Costo de adquisicin del software. Se incluyen las opciones de lenguajes diferentes,


interfaces como formas y pantallas, opciones de recuperacin y respaldo, mtodos de
acceso especiales y documentacin. Debe seleccionarse la versin correcta del SGBD
para el sistema operativo que se tiene.

Costo de mantenimiento. Es el costo por concepto del servicio de mantenimiento del


proveedor y de la actualizacin regular de la versin del SGBD.

Costo de adquisicin de hardware. En caso de requerir ms equipo, como memoria


adicional, terminales, unidades de disco, etc.

Costo de creacin y conversin de la BD. Costo de crear el sistema de BD desde cero o


bien convertir un sistema existente al nuevo software del SGBD, en este ltimo caso se
acostumbra operar el sistema existente en paralelo con el nuevo sistema hasta que todas
las aplicaciones recin adquiridas estn perfectamente implementadas y probadas.

Costo del personal. En casi todas las compaas que adoptan un SGBD se deben crear
nuevos puestos tanto para el administrador de bases de datos como para su personal.

Costo de capacitacin. Casi siempre es preciso capacitar al personal para el uso y


programacin del SGBD.

Costo de operacin.

Con base en un anlisis de costo beneficio, una organizacin tiene que decidir cundo cambiar a
un SGBD. Este paso depende de los siguientes factores:

Complejidad en la interrelacin de los datos.

Compartir ms datos entre las aplicaciones.

Cambios constantes en los datos (crecimiento dinmico).

Mayor frecuencia de solicitudes de datos al momento.

Gran volumen de datos y necesidad de controlarlos.

Transformacin al modelo de datos (diseo lgico). Consiste en crear un esquema


conceptual y esquemas externos en el modelo de datos del SGBD elegido. La
transformacin puede establecerse en dos etapas:

Transformacin independiente del sistema. Se analiza la transformacin de un esquema


ER a un esquema relacional, orientado a objetos, jerrquico o de red, de manera
independiente al SGBD.

Adaptacin de los esquemas a un SGBD especfico.

Muchas herramientas CASE de diseo automatizado pueden generar DDL para sistemas
comerciales a partir de un diseo de esquema conceptual.

Diseo fsico de la BD. Es el proceso de elegir estructuras de almacenamiento y caminos


de acceso especficos para que los archivos de la BD tengan un buen rendimiento con las
diversas aplicaciones de la BD. Los criterios para guiar la eleccin de las opciones de
diseo fsico son:

Tiempo de respuesta. Tiempo que transcurre entre la introduccin de una transaccin de


BD para ser ejecutada y la obtencin de una respuesta.

Aprovechamiento del espacio. Cantidad de espacio de almacenamiento que ocupan los


archivos de la BD y sus estructuras de acceso.

Productividad de las transacciones. Nmero promedio de transacciones que el sistema de


BD puede procesar por minuto. La productividad de transacciones debe medirse en las
condiciones pico (de ms trabajo) del sistema.

Implementacin del sistema de BD. Se examinan las especificaciones conceptuales de las


transacciones, se escribe y se prueba el cdigo del programa correspondiente con rdenes
de DML incorporadas. Una vez que las transacciones estn listas y los datos se hayan
almacenado en la BD, la fase de diseo e implementacin habr terminado y se iniciar la
fase de operacin del sistema.

Las seis fases que se acaban de mencionar no tienen que realizarse en una secuencia estricta. En
muchos casos nos vemos obligados a modificar el diseo de una fase anterior durante una fase
subsecuente. Estos ciclos de retroalimentacin entre las fases y dentro de las fases, son comunes
durante el diseo de las BD.

3.3 LENGUAJE DE MANIPULACIN DE DATOS (SOL)


Aunque el lenguaje SQL se basa en el modelo relacional, incorpora algunos elementos adicionales
que facilitan la gestin de datos. En este sentido se introduce el concepto de catlogo, entendido
como un conjunto de esquemas, que proporcionan un mecanismo adicional para clasificar nombres
de elementos (catlogo, esquema, elemento), facilitando as la gestin del espacio de nombres.
Un entorno SQL puede contener cero o varios catlogos y, a su vez, un catlogo uno o varios
esquemas. En cada catlogo existe un DEFINITION_SCHEMA que contiene las tablas base sobre
las que se define un conjunto de vistas denominado INFORMATION _ SCHEMA.
Sentencias de Definicin.
La Forma Normal de Backus (BNF) es la que se utilizar para especificar las clusulas del lenguaje
donde:
< >representa los smbolos no terminales del lenguaje.
::=es el operador de definicin.
[]indica elementos opcionales.
{}agrupa elementos en una frmula.
ndica una alternativa
...indica repeticin.
Esquemas.
La creacin de esquemas se lleva a cabo mediante la sentencia:
< definicin de esquemas >::=

CREATE_SCHEMA <clusula del nombre del esquema>


[<especificacin del conjunto de caracteres del esquema>]
[<elemento de esquema>...]
<clusula del nombre del esquema>::=
<nombre del esquema>
I AUTHORIZATION <id .autorizacin del esquema>
I<nombre del esquema> AUTHORIZATION <id .autorizacin del esquema>
Ejemplo: CREATE SHEMA biblioteca AUTHORIZATION mxyptl.
Dominios.
<definicin de dominio>::=
CREATE DOMAIN <nombre del dominio> [AS] <tipo de datos>
[ DEFAULT <opcin por defecto> ]
[ <restriccin de dominio> ]
se define:
<restriccin de dominio>::=
[<definicin de nombre de restriccin>]
<definicin de restriccin de verificacin>
[<atributos de restriccin>]
Se puede dar un nombre a la restriccin de dominio de la siguiente forma:
<definicin de nombre de restriccin>::=
CONSTRAINT <nombre de restriccin>
El nico elemento obligatorio de la restriccin de dominio es la:
<definicin de restriccin de verificacin>::=
CHECK <parent.izq.> <condicin> <parent.derech.>
As, por ejemplo, se podra definir el siguiente dominio, en el que se quiere especificar que los tipos
de documentos vlidos en una biblioteca son artculos o libros.

CREATE DOMAIN Tipos_Doc CHAR(1)


CONSTRAINT Artculos_o_Libros
CHECK (VALUE IN (A, L);
Tablas.
Una diferencia fundamental entre una tabla en SQL y una relacin del modelo relacional, es que
mientras sta se define como un conjunto de tuplas, una tabla es en realidad un multiconjunto de
filas, por lo que admite filas repetidas.
En SQL92 se pueden definir tablas persistentes que como su nombre lo indica, se almacenan en la
memoria secundaria y permanecen all cuando termina la sesin en la que fueron creadas; o tablas
temporales que slo se materializan y tienen existencia en tanto dura la sesin tal como se indica
en la definicin siguiente.
<definicin de tabla>::=
CREATE [TEMPORARY] TABLE <nombre de tabla>
<parntesis izq.> <elemento de tabla>
[{<coma> <elemento de tabla>}...]<parntesis derecho>
Una columna debe definirse sobre un dominio o bien directamente con un tipo de datos, pudiendo
presentar adems valores por defecto y restricciones de columna:
<definicin de columna>::=
<nombre de columna> {<tipo de datos> I <nombre de dominio>}
[<clusula de valor por defecto>]
[<definicin de restriccin de columna>...]
Las definiciones de restriccin, tanto de columnas como de tablas, presentan, al igual que en el
caso de los dominios, la posibilidad de nominar dichas restricciones y de indicar si son inmediatas
o diferidas mediante los atributos de la restriccin:
<definicin de restriccin de columna>::=
[<definicin de nombre de restriccin>]
<restriccin de columna>
[<atributos de restriccin>]
<definicin de restriccin de tablas>::=
[<definicin de nombre de restriccin>]

<restriccin de tabla>
[<atributos de restriccin>]
las restricciones de columna pueden indicar que es obligatorio escribir un valor escribiendo NOT
NULL, si una columna es clave primaria de la tabla, mediante PRIMARY KEY, si es clave
alternativa, esto es, que sus valores no pueden repetirse en toda la tabla, especificando UNIQUE.
Ejemplo:
CREATE TABLE Editorial
(Cdigo_E Cdigos,
Nombre_E Nombres NOT NULL,
Direccin Dirs NOT NULL,
Ciudad Lugares NOT NULL,
PRIMARY KEY (Cdigo_E),
UNIQUE (Nombre_E));
Restricciones y reglas de integridad.
SQL92 soporta la regla de integridad de entidad, ya que se asume la definicin NOT NULL para las
columnas que forman parte de la clave primaria. En cuanto a la integridad referencial, permite
definir claves ajenas, especificando, ya sea a nivel de columna o de tabla, la siguiente restriccin:
<definicin de restriccin referencial>::=
FOREING KEY <parent.izq.> <columnas que ref.> <parent.derecho>
REFERENCES <columnas y tablas referenciadas>
[MATCH <tipo de correspondencia>]
[<accin referencial disparada>]
donde:
<columnas y tablas referenciadas>::=
<nombre de tabla> [parent.izq.> <lista de columnas de referencia>
<parent.derecho>]
Es importante destacar que si se especifica slo el nombre de la tabla referenciada, las columnas
referenciadas sern aquellas que componen la clave primaria de dicha tabla.

La clusula MATCH permite precisar si se admiten valores nulos en la clave ajena cuando ya
existen otros valores nulos en dicha clave.
Por lo que respecta a la accin a tomar en caso de borrado o modificacin de los valores de las
columnas referenciadas, SQL92 admite cuatro posibilidades:

Operacin restringida. NO ACCION.

Operacin con transmisin en cascada. CASCADE.

Operacin con puesta a nulos. SET NULL.

Operacin con puesta a valor por defecto. SET DEFAULT.

<accin referencial disparada>::=


<regla de modificacin> [<regla de borrado>]
I<regla de borrado>[<regla de modificacin>]
<regla de modificacin>::= ON UPDATE <accin referencial>
<regla de borrado>::= ON DELETE <accin referencial>
<accin referencial>::=
CASCADE
I SET NULL
I SET DEFAULT
I NO ACTION
En el siguiente ejemplo, Documento se ha definido, adems de la clave primaria compuesta (Tipo,
Acodado), una clave alternativa (ISBN), dos restricciones de integridad (la de columna sobre ao, y
la de tabla, que afecta a los atributos Tipo, ISBN y Nombre_E) y una clave ajena que referencia a la
tabla Editorial.
CREATE TABLE Documento
(Tipo Tipos_Doc,
Cod_Doc CHAR(4),
Ttulo CHAR (25) NOT NULL,
Idioma Idiomas.
Nombre_E Nombres,

Ao INTEGER (4) CHECK (Ao > 1950),


Isbn INTEGER (10),
PRIMARY KEY (Tipo, Cod_Doc),
UNIQUE (Isbn),
CHECK ((Tipo = A AND
Isbn IS NULL AND
Nombre_E IS NULL)
OR
(Tipo = L AND
Isbn IS NOT NULL AND
Nombre_E IS NOT NULL)),
FOREING KEY (Nombre_E REFERENCES TO Editorial
ON UPDATE CASCADE
ON DELETE NO ACTION)):
Otra posibilidad para definir restricciones que afecten a varias tablas lo constituyen las aserciones:
<definicin de asercin>::=
CREATE ASSERTION <nombre de restriccin>
<verificacin de asercin> [<atributos de restriccin>]
<verificacin de asercin>::=
CHECK <parent.izq.> <condicin> <parent. Derecho>
Ejemplo: si suponemos que no puede haber editoriales cuya sede se encuentre en Madrid que
editen libros en francs o en alemn, deberamos construir la siguiente asercin:
CREATE ASSERTION Idiomas_No_Usados_Por_Editoriales_En_Madrid
CHECK (NOT EXISTS
(SELECT * FROM
Documento NATURAL JOIN Editorial

WHERE Idioma IN (F, A)


AND Ciudad = Madrid));
Actualizacin de esquemas.
Se lleva a cabo mediante la sentencia ALTER que permite la modificacin de dominios o de tablas
y las sentencias DROP que sirven para borrar esquemas, tablas, dominios o vistas. Ejemplos:
DROP SHEMA biblioteca;
Elimina todo el esquema (y sus elementos).
DROP DOMAIN Tipos: Doc;
Elimina el dominio.
ALTER DOMAIN Tipos_Doc
DROP CONSTRAIN Artculos_o_Libros
Permite eliminar una restriccin del dominio.
DROP TABLE Editorial;
Eliminara la tabla del esquema.
ALTER TABLE Editorial
ADD COLUMN Director VARCHAR (30);
Agrega una columna a la tabla Editorial que permite especificar quin es su director.
ALTER TABLE Editorial
ALTER COLUMN Ciudad SET DEFAULT Madrid;
Fija un valor por defecto para la columna Ciudad.
ALTER TABLE Editorial
DROP COLUMN Dir;
Borra la columna Dir.
Vistas.
Consta de una expresin de consulta sobre otras vistas y/o tablas.
<definicin de vista>::=

CREATE VIEW <nombre de tabla> [<parent.izq.> <lista de columna>


<parent.der.>]
AS <expresin de consulta>
[WITH CHECK OPTION]
Ejemplo: podramos definir sobre la tabla Documento una vista que slo contuviese los libros de la
siguiente manera:
CREATE VIEW Libro
AS SELECT *
FROM Documento
WHERE Tipo = L
La clusula WITH CHECK OPTION permite controlar que slo se admiten operaciones de insercin
y modificacin que no atenten contra la expresin de consulta que define la vista, por ejemplo, si en
el caso anterior hubiramos utilizado esta clusula, no se permitira cambiar el valor del atributo
tipo.
Sentencias de manipulacin.
Existen tres maneras de manipular bases de datos SQL:

Invocando directamente las sentencias SQL.

Insertando sentencias SQL como huspedes de un lenguaje anfitrin.

Agrupando sentencias SQL en mdulos (procedimientos), que son llamados desde


lenguajes anfitriones.

Principales sentencias de manipulacin:


Recuperacin de datos: SELECT
<especificacin de consulta::=
SELECT [<cuantificador de conjunto>]<lista de seleccin><expresin de tabla>
El cuantificador de conjunto determina si en el resultado de la consulta se mantienen filas repetidas
(ALL) o si se eliminan duplicados (DISTINCT). En cuanto a lista de seleccin:
<lista de seleccin>.=
<asterisco>
I sublista de seleccin [{<coma> <sublista de seleccin>}...]

Las clusulas fundamentales de SELECT son:


<expresin de tabla>::=
<clusula from>especifica de dnde se obtienen los datos
[<clusula where>]
[<clusula group by>]
[<clusula having>]
Ejemplo: suponga que existen dos tablas Editorial y Librera que poseen los mismos atributos,
podramos consultar por aquellas editoriales que no son libreras mediante:
SELECT *
FROM Editorial
EXCEPT
SELECT *
FROM Librera;

Combinacin de tablas:JOIN

<tabla combinada>::=
<combinacin cruzada>
I <combinacin calificada>
I <parntesis izquierdo><tabla combinada><parntesis derecho>
donde:
<combinacin cruzada>::=
<referencia a tabla> CROSS JOIN <referencia a tabla>
Ejemplo: realizar la combinacin natural de las tablas Documento y Editorial.
SELECT *
FROM Documento NATURAL JOIN Editorial
ON Documento .Nombre = Editorial .Nombre_E;

Cuando se emplea NATURAL JOIN sin la clusula ON, se combinan las tablas igualando todas las
columnas que tienen el mismo nombre en las tablas; si slo se quiere utilizar algunas de ellas se
emplea la clusula USING.

Clusula WHERE

<clusula WHERE>::= WHERE <condicin de bsqueda>


Sirve para filtrar el resultado de la consulta, ya que no aparecern las filas que no cumplan la
condicin de bsqueda.

Predicados

De comparacin. Utiliza los smbolos: igual (=), distinto (<>), menor que (<), mayor que (>),
menor o igual a (<=) y mayor o igual a (>=). Ejemplo:

SELECT Ttulo, Idioma, Ao


FROM Documento
WHERE Ao >= 1998;

Between. Permite obtener los valores que se encuentran dentro de un intervalo. Ejemplo:

SELECT Ttulo, Idioma, Ao


FROM Documento
WHERE Ao BETWEEN 1986 AND 1998;

In. Permite comparar un valor con una lista de valores. Ejemplo:

SELECT *
FROM Documento
WHERE Nombre IN (Trillas, Diana);

Like. Permite el uso de comodines al consultar la BD. Utiliza el carcter % para indicar
cero o ms caracteres en el patrn de bsqueda y el carcter _ para un carcter.
Ejemplo: Consultar en BD Documentos los ttulos que contengan la secuencia de
caracteres BD.

SELECT *
FROM Documento
WHERE Ttulo LIKE %BD%:

Null. Sirve para determinar si una columna tiene caracteres nulos. Ejemplo: consultar los
documentos que no tengan Ao.

SELECT *
FROM Documento
WHERE Ao IS NULL

Exists. Devuelve cierto si la cardinalidad de la consulta que tiene asociada es mayor que
cero y falso en caso contrario.

UNIQUE. Determina si existen filas duplicadas.

Overlaps. Se emplea para contrastar si dos intervalos de tiempo se solapan.

Cuantificado: SOME, ANY y ALL

Match. Suponga que la clave primaria de una tabla llamada Libro est compuesta por las
columnas Ttulo y Ao. En otra tabla llamada Escribe tenemos una clave ajena compuesta
por las mismas columnas que referencian a la tabla Libro. Match permite especificar si
admitimos o no que una de las columnas que forman la clave ajena, ao por ejemplo,
tomen valores nulos.

Clusula GROUP BY.

Permite participar una tabla en grupos de acuerdo a los valores de ciertas columnas.
<clusula group by>::=
GROUP BY <lista de referencia de columnas de agrupacin>
Ejemplo: se desea saber cuntas editoriales existen en cada ciudad.
SELECT Ciudad, COUNT (*)
FROM Editorial
GROUP BY Ciudad;

Clusula HAVING.

Va asociada a la anterior y juega un papel parecido a la clusula WHERE, pero aplicado a tablas
agrupadas.
<clusula having>
HAVING <condicin de bsqueda>
Ejemplo: consultar las ciudades en que se encuentren ubicadas por lo menos dos editoriales.
SELECT Ciudad

FORM Editorial
GROUP BY Ciudad
HAVING COUNT (*) >=2;
Insercin de Datos: INSERT
Ejemplo: Insertar un nuevo documento en la tabla Documento.
INSERT INTO Documento
VALUES (L, 030, Herramientas CASE, Trillas, 1999, 84-9876-098-7-);
Borrado de Datos DELETE
Ejemplo: borrar los libros publicados por Mc. Graw Hill;
DELETE FROM Documento
WHERE Nombre = Mc. Graw Hill

4.SISTEMAS GENERADORES DE BASES DE DATOS


APRENDIZAJE
SISTEMAS GENERADORES DE BASE DE DATOS
OBJETIVO: construirs prototipos de Bases de Datos relacionales, mediante la elaboracin de
un proyecto que involucre la realizacin de consultas, modificaciones, ordenamientos y vistas, as
como la creacin de reportes y pantallas generales en un SGBD; con la finalidad de integrar los
aprendizajes de la asignatura.
ORGANIZADOR DE CONTENIDOS

4.1 SISTEMAS GESTORES DE BASE DE DATOS


Hemos creado modelos de base de datos a un nivel lgico, mediante el modelo de base de datos
relacional, sin embargo, el diseo de la base de datos no se ha completado todava, falta crear el
diseo fsico de la Base de Datos en un SGBD de tipo relacional forzosamente, dado que nuestro
modelo lleva ese enfoque.
Nuestro SGBD es una versin en ingls, por lo cual todos los tipos de datos, declaraciones,
consultas y otras operaciones, se tendrn que escribir en ingls.
Consideramos que es importante que conozcas la forma de entrar y los elementos que forman
nuestra SGBD (visual DBase 5.5), por lo cual te presentamos la pantalla principal de ste:

Para fines didcticos se han utilizado imgenes de Visual DBase 5.5 de la compaa Borland para
poder ejemplificar al estudiante los ejercicios presentados.
Primeramente tendremos que revisar qu estructuras de datos tiene definidas nuestro SGBD
seleccionado para poder ajustar el modelo lgico de la base de datos al modelo fsico, por lo cual
revisaremos a continuacin los datos que maneja nuestro SGBD.

TIPO DE DATO TYPE

DESCRIPCIN

Carcter

Character

Un conjunto de letras o caracteres

Numrico

Numeric

Valores numricos reales o enteros

Memorando

Memo

Espacio para capturar textos

Lgicos

Logical

Acepta el valor cierto/falso (True/false)

Fecha

Date

Son fechas con el formato dd/mm/aa

Punto flotante

Float

Para nmeros muy cortos o muy largos


de tipo exponencial

OLE

OLE

Objetos que se pueden vincular o


incrustar

Binarios

Binary

Permite manipular imgenes

Donde la columna Type muestra los tipos de datos que utilizaremos en nuestra base de datos
fsica.
Consideremos la siguiente tabla de alumnos:

NOMBRE

MATRCUL DIRECCI TELFON


A
N
O

Estableceremos un tipo de datos y tamao para cada campo de la tabla alumno, segn juzguemos
conveniente, de tal forma que tendramos la siguiente estructura de datos:
Tabla: Alumnos.

NOMBRE
CAMPO

DEL TIPO DE DATO TAMAO DECIMALES (S ES


NUMRICO)

NOMBRE

CARCTER

25

MATRCULA

NUMRICO

DIRECCIN

CARCTER

35

TELFONO

CARCTER

12

En nuestro sistema Gestor de Bases de Datos, tendramos la siguiente pantalla:


Dentro de la ventana Navegador de archivos seleccione la categora de archivo table (tabla) y
dentro de la lista de archivos del directorio actual selecciona la tabla (united) con un doble click,
aparecer una ventana con dos botones, selecciona el que dice Designer y aparecer la siguiente
pantalla para que definas la estructura.
Diseo de la estructura de la tabla alumnos

Al terminar el diseo fsico o creacin de la base de datos(estructura de la base de datos),


procederemos a capturar las tuplas o registros de la tabla quedando la informacin capturada como
se muestra en la siguiente tabla.

NOMBRE

MATRCULA

DIRECCIN

TELFONO

Juan Luis Prez

8945678

Av. De los Remedios No. (5) 674-89-00


18

Pedro Gmez C.

8987654

San Juan de los Lagos No. (5) 844-78-66


8

ALUMNOS

Rebeca Cruz Montes 8976541

Satlite No. 123

(5) 625-19-89

Jos Lpez Canseco 8973635

Av. Corregidora No. 12

(5) 876-09-12

Margarita Godnez I. 8973526

Av. Tlhuac No. 89

(5) 738-28-19

Luis Ramrez Ramos 8927262

Av. De los Nios Hroes No tiene


No. 1

Cuando es la primera vez que creamos una estructura de base de datos de forma fsica nuestro
SGBD nos pregunta si queremos capturar los registros en ese momento, si se generan o los
capturamos despus, nosotros capturaremos en ese momento los registros, seleccionando la
opcin Add (adherir).

Si por alguna razn no aceptaste capturarlos en este momento, tendremos que poner en uso la
tabla Alumnos de la siguiente forma:
Dentro de la ventana Navegador de archivos seleccione la categora de archivo table (Tabla) y
dentro de la lista de archivos del directorio actual selecciona la tabla Alumnos.dbf con un doble
click.
Nota.- La extensin DBF significa Data Base File (Archivo de base de datos).

Aparecer la siguiente ventana, con una presentacin de Modo de Columna. Es aqu donde
vaciaremos nuestra informacin, de tal forma que se ver as:

Donde la barra de estado indica que nos encontramos usando la tabla alumnos.dbf en modo
exclusivo, es decir, uso personal y nico y en el registro 1 de 1.
Alumnos.dbf Excl Rec 1/1Ins
En el momento que se termine la captura bastar con oprimir el botn x para almacenar los
registros en la tabla alumnos y cerrar la base de datos.
Una vez capturada la informacin se podr realizar consultassimples a la base de datos.
En bases de datos, una ordenacin significa que los registros se encuentren colocados en un
orden ascendente o descendente los valores alfabticos o numricos, dependiendo del tipo de dato
del campo.
Generalmente una tabla se ordena para facilitar las bsquedas de informacin en la base de datos,
si la tabla base se encuentra desordenada, podremos ordenarla mediante la seleccin de un
campo que nosotros consideremos significativo para dicha bsqueda.
Podemos ordenar de dos formas, la primera se refiere a usar una ordenacin fsica la cual se
refiere a crear una copia de la tabla original, pero con los registros ordenados con relacin al
campo seleccionado o de ordenacin, esto implica una duplicacin de informacin y de espacio en
el dispositivo de almacenamiento.
La serie de rdenes para realizar la ordenacin fsica ser:
USES <Base de datos original o base>
SORT ON <Campo de ordenacin> TO <Base de datos copia ordenada>
(Con esto ya se cre otra base de datos ordenada, pero no se encuentra activa)
Ejemplo.
Para ordenar la tabla Alumno debemos de seleccionarla y crear una nueva tabla con los registros
ordenados. La ordenacin que se solicita en este ejemplo es por matrcula del alumno.
Tabla original o base

ALUMNOS

NOMBRE

MATRCULA

DIRECCIN

Juan Luis Prez

8945678

Av. De los Remedios No. 18 (5) 674-89-00

Pedro Gmez C.

8987654

San Juan de los Lagos No. (5) 844-78-66


8

Rebeca
Montes

Satlite No. 123

(5) 625-19-89

Av. Corregidora No. 12

(5) 876-09-12

Margarita Godnez 8973526


I.

Av. Tlhuac No. 89

(5) 738-28-19

Luis
Ramos

Av. De los Nios Hroes No. No tiene


1

Jos
Canseco

Cruz 8976541

TELFONO

Lpez 8973635

Ramrez 8927262

La serie de rdenes para crear la ordenacin fsica ser:


USES ALUMNOS
SORT ON <MATRCULA> TO <ALUMATRI>
Si ponemos en uso la base de datos ALUMATRI con la ordenUSE ALUMATRI y pedimos visualizar
la informacin con algn modo de despliegue, la tabla que veremos ser la siguiente:

ALUMNOS

NOMBRE

Luis
Ramos

MATRCULA

Ramrez 8927262

Juan Luis Prez

8945678

DIRECCIN

TELFONO

Av. De los Nios Hroes No. No tiene


1

Av. De los Remedios No. 18 (5) 674-89-00

Margarita Godnez 8973526


I.

Av. Tlhuac No. 89

(5) 738-28-19

Jos
Canseco

Av. Corregidora No. 12

(5) 876-09-12

Satlite No. 123

(5) 625-19-89

Rebeca
Montes

Lpez 8973635

Cruz 8976541

Pedro Gmez C.

8987654

San Juan de los Lagos No. (5) 844-78-66


8

Si observas la tabla podrs ver que se encuentra ordenada ascendentemente por la matrcula,
lamentablemente esta forma de ordenacin no es muy prctica cuando tratamos grandes
cantidades de informacin, dado que el tiempo que requiere el SGBD para realizarla es demasiado,
adems de que podramos saturar nuestro dispositivo de almacenamiento.
La segunda forma de ordenacin y la ms recomendable en todos los aspectos, es la ordenacin
por medio de ndices o lgica, actualmente los SGBD ya traen integrado en el diseo de la
estructura de la base de datos la especificacin de ordenacin por ndices, de tal forma que la
nueva informacin que se registre en nuestra base de datos ocupar su lugar en la tabla de forma
ordenada con base en nuestro ndice.

Esta forma de ordenacin ocupa menos espacio de almacenamiento porque se trabaja sobre la
misma base de datos original, haciendo referencia a un archivo ndice (ms pequeo que una
copia de la misma base de datos) para desplegar la informacin de forma ordenada.
A continuacin te presentamos como interactan el archivo ndice con la base de datos, al ordenar
de forma lgica y ascendentemente, la tabla Alumnos, con el campo de ordenacin matrcula.
Considerando nicamente los campos nombre y matrcula, incluiremos un nmero de registro para
referenciar.

ARCHIVO NDICEALUMNOS

Orden

No. Reg.

No. NOMBRE
Reg.

MATRCUL
A

Juan
Prez

Pedro
Gmez C.

Rebeca Cruz 8976541


Montes

Jos Lpez 8973635


Canseco

Margarita
Godnez I.

8973526

Luis
Ramrez
Ramos

8927262

Luis 8945678

8987654

Si se solicitara el despliegue de informacin de los tres primeros registros ordenados, se hara


referencia al archivo ndice y de ah se vera que son el registro 6.1 y 5.
Este archivo ndice se encuentra integrado en la base de datos original, cuando se definen en la
estructura de base de datos en un SGBD relacional.
Algunas veces requerimos datos que se pueden calcular a partir de los datos almacenados en la
base de datos, por lo cual para evitar la redundancia de la informacin, se considera que no se
requiere almacenarlos. Sin embargo, estos datos aunque sean temporales para realizar consultas,
deben almacenarse en lo que se conoce como variables, para poder manipularse.
Entenderemos por variable a un espacio asignado en memoria para manipular un dato de
cualquier tipo.

En los Sistemas Gestores de Base de Datos a las variables se les conoce como campos
calculados, es decir, es el campo virtual que opera con los campos de una tabla y permite
consultar su resultado.
Las consultas que se realizan con campos calculados ocupan las siguientes expresiones de
clculo:

Operadores
aritmticos

Funcin

Suma

Resta

Multiplicaci
n

Divisin

Operadores de Funcin
comparacin

<

Menor que

>

Mayor que

<>

Diferente

Igual

<=

Menor
igual

>=

Mayor

igual

Operadores
lgicos

Funcin

Y (and)

El resultado es cierto cuando se


presentan dos preposiciones y stas
son verdaderas, en caso de que una
preposicin sea falsa, el resultado
ser falso.

O (Or)

El resultado es cierto cuando una de


las dos preposiciones presentadas es
verdadera, en caso de que las dos
preposiciones
sean
falsas,
el
resultado ser falso.

No (Not)

Niega la proposicin presentada.

Ejemplo.
Supongamos que tenemos la siguiente tabla sobre nuestros clientes, los cuales compran n
productos a un costo m.
CLIENTES

Nombre

Telfono

Costo
Cantidad de
unitario/
productos
producto

Juan Luis Guerra 612-98-00 3


Prez

$50.00

Pedro
Alcantar

$47.00

Torres 786-00-98 7

Maritza
Escalante

Galindo 844-98-09 6

$129.00

Luis Manuel Pelayo 612-23-72 12


Montes

$18.50

Antonio
Heredia

$20.00

Torres 768-09-87 1

David
Hernndez 876-09-09 5
Martnez

$1,203.00

Jos Luis Mndez 844-40-22 20


Lpez

$420.00

Si quisiramos saber lo que gast el cliente en todos los productos, necesitaramos utilizar un
campo calculado, llamado totales el cual se calculara al multiplicar el campo. Cantidad de
productos por el campo costo unitario/producto.
De tal forma que tendramos lo siguiente:
Totales = Cantidad de productos * Costo unitario/producto.

Totales

$150.00

$329.00

$774.00

$222.00

$20.00

$6,015.00

$8,400.00

Cuando ocupamos funciones en una base de datos, lo hacemos generalmente para resumir
informacin contenida en una tabla, las funciones a final de cuentas sirven para realizar consultas
especficas sobre algn campo de la base de datos.
Las funciones interconstruidas ms comunes son las siguientes:

Funcin

Descripcin

Suma

Calcula la suma de todos los valores de


un campo numrico.

Promedio

Calcula la media aritmtica sobre todos


los valores de un campo numrico.

Mnimo

Devuelve el valor ms pequeo de un


campo numrico.

Mximo

Devuelve el valor ms grande de un


campo numrico.

Cuenta

Devuelve el nmero de registros que


contiene una tabla.

Para

Condiciona las funciones anteriores


bajo un criterio especfico.

Si consideramos la tabla del ejemplo anterior clientes, podemos realizar las siguientes consultas
utilizando funciones:

Consulta 1

Consulta 2

Suma Cantidad de productos

Promedio Costo unitario/producto

Resultado: 54.

Resultado: $ 269.643

Consulta 3

Consulta 4

Mnimo Cantidad de productos

Mximo de Cantidad de productos

Resultado: 1

Resultado: 20

Consulta 5

Consulta 6

Cuanta Clientes

Cuanta Clientes
productos >=7

para

Cantidad

Resultado: 7
Resultado: 3

Consulta 7

Suma Costo unitario/producto para Cantidad de Productos <6


Resultado: $ 1,273.00
A continuacin estudiaremos el tema de REPORTES O INFORMES, a partir de definir la estructura
general de ste, la forma de crearlo y modificarlo en un SGBD, as como la generacin del reporte.
Hasta el momento slo hemos visualizado la informacin en pantalla, segn las vistas que presenta
el SGBD, sin embargo, un reporte permite presentar la informacin de una base de datos de forma
organizada y esttica en una hoja impresa, esta informacin es extrada o calculada a partir de los
datos almacenados en la tabla.
Visto un reporte desde el Sistema Gestor de Base de Datos, se considera como un archivo que
contiene la definicin de la estructura del reporte, la cual utiliza etiquetas o encabezados,
informacin de los campos de la base de datos y algunos campos calculados o variables.
Un reporte presenta la siguiente estructura:

En la cabecera de pgina se encuentran los siguientes datos.

Encabezado del reporte: Contiene informacin que slo ir al principio del reporte.

Encabezado de pgina: Contiene informacin que aparecer en todas las pginas del
reporte. Pueden ser las etiquetas de los campos.

Encabezado de grupo: Cuando el informe est divido en grupos, aparecern los datos del
grupo.

La seccin de detalles contiene la informacin general del reporte, es aqu donde se despliegan los
registros de una base de datos al poner el campo dentro de esta seccin para que se desplieguen
sus registros partir de los criterios establecidos para el reporte.
Dentro del pie de pgina se encuentran los siguientes datos:

Pie de grupo: Contiene la informacin que va al final del grupo, puede ser un valor
calculado.

Pie de pgina: Contiene la informacin que se requiere que aparezca en todas las pginas,
como lo es el nmero de pgina.

Pie de reporte: Contiene la informacin que va al final de todo el reporte, como pueden ser
las sumas totales del reporte, el nombre del responsable del reporte.

De tal forma que la estructura de un reporte puede tener la siguiente apariencia:

El reporte generado, es decir, con el despliegue de informacin solicitado se podra ver


parcialmente de la siguiente forma:

La forma de crear, modificar y generar un reporte queda a disposicin del SGBD.


A nivel de SQL, las instrucciones que podramos usar seran las siguientes:
Para crear un reporte: CREATE REPORT <Nombre del reporte>
Para modificar un reporte: MODIFY REPORT <Nombre del reporte>
Para generar un reporte: REPORT FORM <Nombre del reporte>
Es importante recalcar que para generar un reporte debemos considerar la orientacin del papel de
la impresora que se va a utilizar para imprimirlo.

Una PANTALLA o FORMULARIO es una herramienta visible en todos los SGBD para introducir o
editar informacin de una o varias tablas de una base de datos relacional, en una secuencia
personalizada por el usuario.
Los formularios los disea el usuario para interactuar con la base de datos contenida en el SGBD
de una forma ms amigable, adems de que al usuario comn le presenta nicamente la
informacin que requiere y no en su totalidad, generando vistas de la informacin.
En una pantalla el usuario puede incluir imgenes (al igual que en los reportes), encabezados de la
pantalla, etiquetas de los campos a utilizar y los campos.
Existen ciertos objetos o herramientas para navegar entre los registros, que pueden facilitar las
ediciones o consultas de los usuarios, stas varan segn el tipo de SGBD.
No olvides que para crear una pantalla se debe seleccionar la base de datos a visualizar.
A continuacin te presentamos el diseo de una pantalla:

Cuando ya se tiene diseada la pantalla, la podemos poner en uso para editar, capturar o consultar
informacin, de tal forma que el diseo anterior se ver en uso de la siguiente forma:

La forma de crear, modificar y poner en uso una pantalla queda a disposicin del SGBD. Al nivel de
SQL, las instrucciones que podramos usar seran las siguientes:
Para crear una pantalla: CREATE SCREEN <Nombre de la pantalla>
Para modificar una pantalla: MODIFY SCREEN<Nombre de la pantalla>
Para generar una pantalla: SELECT SCREEN<Nombre de la pantalla>
Cuando nuestra BASE DE DATOS ES DE TIPO RELACIONAL, es decir, contiene ms de dos
tablas la base de datos, stas deben de tener un campo en comn, tal y como lo vimos en la
unidad II.
La idea de usar base de datos relacionales es para evitar la redundancia y la inconsistencia de la
informacin, cuyo diseo la revisamos a detalle tambin en la unidad II. En este momento te
explicaremos como conectar dos tablas a nivel fsico en un SGBD.
Ubiquemos un ejercicio de la unidad II, cuando hablbamos de los datos del empleado, recordars
que dividimos la tabla principal en varias para evitar los errores de redundancia e inconsistencia,
quedando las siguientes tablas.
Empleado

La forma de realizar dichas conexiones en un nivel fsico y en un SGBD ser el siguiente.


imagen
En un SGBD se vera las conexiones de la siguiente forma:

Podemos generar reportes o pantallas usando bases de datos relacionales, slo hay que hacer
referencia a la tabla de la que se est leyendo el campo y eso es todo.

También podría gustarte