1

BASES DE DATOS
CONCLP1OS BASlCOS CONCLP1OS BASlCOS CONCLP1OS BASlCOS CONCLP1OS BASlCOS

Cesar Rosales Maquera

Puno 1995




Bases de Datos Cesar Rosales Maquera
2
Capítulo 1

Conceptos básicos de bases de datos
1.1 Definición de base de datos
Una base de datos es una coleccion de archivos relacionados con la Iinalidad de permitir
el maneio de la inIormacion de alguna compañia. Cada uno de dichos archivos pueden
ser vistos como una coleccion de registros y cada registro esta compuesto de una
coleccion de campos.Cada uno de los campos de cada registro permite llevar
inIormacion de alguna caracteristica o atributo de alguna entidad del mundo real.
v.g.
Si hablamos de una UNIVERSIDAD. las entidades de interes podrian ser:
ALUMNOS. PROFESORES. SALONES. etc. Respecto a la entidad ALUMNO.
los atributos a caracteristicas importantes podrian ser:
NOMBRE.DIRECCION.TELEFONO.CARRERA. MATRICULA. etc.
Si hablamos de una INDUSTRIA. las entidades de interes podrian ser:
DEPARTAMENTOS.EMPLEADOS.PRODUCTOS. etc. Respecto a la entidad
DEPARTAMENTO. los atributos a caracteristicas importantes podrian ser:
NOMBRE DEL DEPARTAMENTO. NOMBRE DEL DIRECTOR DEL
DEPARTAMENTO. FUNCION DEL DEPARTAMENTO. etc.
Un archivo de una base de datos tambien puede ser pensado como una tabla en la que
tenemos renglones y columnas. cada renglon correspondiendo a un registro del archivo
y cada columna correspondiendo a un campo.
1.2 Sistemas manejadores de bases de datos
Los sistemas maneiadores de bases de datos han sido usados ampliamente para:
ORGANIZAR Y MANIPULAR GRANDES VOLUMENES DE DATOS DE LAS
EMPRESAS.
Estos Sistemas Maneiadores de Bases de Datos solo podian ser corridos en instalaciones
computacionales grandes (MAINFRAMES). AIortunadamente esta situacion empezo a
cambiar debido al baio costo de las mini/microcomputadoras y a la aparicion de
Sistemas Maneiadores de Bases de Datos para las microcomputadoras.
Un sistema maneiador de base de datos no es mas que UN SISTEMA
COMPUTARIZADO PARA LLEVAR REGISTROS.
Algunas de las Iacilidades que proporciona el sistema a los usuarios son:
Agregar Nuevos Archivos a la Base de Datos.
Bases de Datos Cesar Rosales Maquera
3
Agregar Nuevos Registros a los Archivos existentes.
Recuperacion de Datos.
Actualizacion de Datos.
Borrar registros.
Borrar Archivos.
Proporcionar los mecanismos para el control del acceso concurrente a los datos.
Una base de datos es una coleccion de inIormacion util organizada en una manera
especiIica. Por eiemplo para llevar el control de los teleIonos de personas podria ser util
una base de datos que constara de los datos de la tabla 1.2.

Nombre Teléfono
Vargas Ruben 18-20-67
Diaz Raul 13-67-90
Ruiz Pedro 12-89-90
Martinez Raul 12-54-46
Tabla 1.1: Tabla para llevar una agenda teleIonica
1.2.1 Búsqueda secuencial
El problema de la tabla 1.2 es que. dado que los datos no estan ordenados. buscar un
teleIono en particular puede ser lento. Asumiendo que tenemos N renglones en la tabla.
localizar un elemento en particular tendria los siguientes casos:
Meior Caso: Solo se busca en 1 renglon.
Peor Caso: Se busca en los N renglones.
Caso Promedio: Se busca en |( N¹1)/ 2| renglones.
Los casos Meior y Peor son Iaciles de derivar para calcular el caso promedio se ha
hecho uso de la Iormula: CasoPromedio ÷ |(TodosCasos)/( NumeroCasos)|.
Y tenemos que: TodosCasos ÷
i ÷ 1
N
i. Para obtener simbolicamente el valor de esta
sumatoria sumemos dos veces de la siguiente manera:




de donde N(N¹1) ÷ 2
i ÷ 1
N
i Concluyendo entonces que:
i ÷ 1
N
i ÷ |(N(N¹1))/ 2|. El
valor de NumeroCasos es N por lo que concluimos que: CasoPromedio ÷ |(|(N(N¹1))/
2|)/( N)| ÷ |((N¹1))/ 2|. Este tipo de busqueda se le conoce como busqueda secuencial y
es la unica alternativa de busqueda cuando los datos no estan ordenados y no se cuenta
con estructuras auxiliares.
1 2 3 ... N-1 N
N N-1 N-2 ... 2 1

(N¹1) (N¹1) (N¹1) ... (N¹1) (N¹1)
Bases de Datos Cesar Rosales Maquera
4
1.2.2 Búsqueda binaria
Si los datos anteriores son ordenados (lo cual podria hacerse con un algoritmo similar al
QuickSort que tiene un orden de NlogN) esto se ilustra en la tabla . Podemos utilizar una
busqueda binaria. La ventaia de la busqueda binaria es que en cada operacion el tamaño
del problema se reduce a la mitad.

Nombre Teléfono
Diaz Raul 13-67-90
Martinez Raul 12-54-46
Ruiz Pedro 12-89-90
Vargas Ruben 18-20-67
Tabla 1.2: Tabla para llevar una agenda teleIonica
Originalmente el tamaño del problema de busqueda de un elemento en particular es N.
con el primer intento el tamaño del problema se reduce a:
N
/
2
con el segundo intento se
reduce a: |(
N
/
2
)/ 2| ÷ |(N)/( 2
2
)|. y con el iesimo intento se reduce a: |(N)/( 2
i
)|. de esta
manera en el peor de los casos se tendrian que realizar tantos intentos como el valor de i
en la expresion |(N)/( 2
i
)| . despeiando de esta Iormula tenemos que: i ÷ log
2
(N) .
Como conclusion tenemos entonces:
Meior Caso ÷ 1
Peor Caso ÷ log
2
(N) .
Caso Promedio ÷ |(1¹ log
2
(N))/ 2|
1.2.3 Búsqueda indizada
El inconveniente de utilizar una busqueda binaria es que al hacer altas. baias y cambios
sobre una tabla ordenada. tenemos que organizar los datos para que se mantengan
ordenados. y esto podria tomar mucho tiempo. Ante este problema una alternativa es la
utilizacion de un indice (similar al de la parte Iinal de un libro) que contendria el
nombre de la persona y un apuntador a donde esta el elemento dentro de la tabla. Como
puede notarse. los datos en la tabla podran estar Iisicamente desordenados. pero a traves
del indice se ven logicamente ordenados. El indice (normalmente) es un archivo aparte
del archivo que contiene los datos. la manera mas popular de construir y mantener un
indice es a traves del algoritmo de arboles balanceados B-Tree. Los casos para este tipo
de busqueda son:
Meior Caso ÷ 1
Peor Caso ÷ log
m
(N) .
Caso Promedio ÷ |(1¹ log
m
(N))/ 2|
Donde m indica el numero de vias que tiene el arbol. La gran ventaia de un indice es
que el algorimo de mantenimiento es mucho mas eIiciente que el algoritmo para
Bases de Datos Cesar Rosales Maquera
5
mantener un archivo ordenado. y por otro lado es mucho mas rapido dado que m es
mayor que 2.
1.3 Tipos de datos en una base de datos
Los datos pueden ser divididos en dos grandes categorias:
ALFANUMERICA
NUMERICA
Los datos alIanumericos consisten de caracteres alIabeticos (A a la Z. o a a la z).
caracteres numericos (0 al 9) y de algunos simbolos especiales como # $ ° . v.g. el
numero de serie de un televisor: RTA-XA100
Los datos numericos estan compuestos por los digitos del 0 al 9. punto decimal y signo.
v.g. el sueldo de un empleado: 1000000.00
Adicionalmente a estos tipos existen otros tipos que son utilizados como:
LOGICO
FECHA
MEMO
GENERAL (Puede contener obietos audio. video. imagenes....)
1.4 Enfoques para bases de datos
Existen 3 enIoques principales para el maneio de BASES DE DATOS:
ENFOQUE RELACIONAL
ENFOQUE JERARQUICO
ENFOQUE DE REDES
1.4.1 Enfoque Relacional
El enIoque relacional ''ve'' a los datos como un coniunto de TABLAS(ARCHIVOS)
constando de un coniunto de RENGLONES(REGISTROS) y cada RENGLON
constando de un coniunto de COLUMNAS(CAMPOS). La RELACION entre las
TABLAS(ARCHIVOS) se establece solo por nombres de atributos comunes.
EJEMPLO
Tenemos una empresa en la que se necesita tener la inIormacion de las PARTES que
utiliza. los PROVEEDORES de la empresa y el detalle de QUE PARTES
SUMINISTRA UN PROVEEDOR y LOS PROVEEDORES DE UNA PARTE
(Relacion N a M). Se sabe que un proveedor puede suministrar 0 o Mas partes y que
una parte puede ser suministrada por 0 o mas proveedores. Nuestra base de datos podria
ser vista como lo ilustra la Iigura 1.1.
Bases de Datos Cesar Rosales Maquera
6

Figura 1.1: Modelo Relacional de la Base de Datos de Partes-Proveedores y Pedidos
1.4.2 Enfoque 1erárquico
Permite ''ver'' una base de datos como compuesta de un CONJUNTO DE
RELACIONES PADRE-HIJO. v.g. la base de datos anterior se veria como en la Iigura
1.2.
En donde se modela claramente las partes que suministra un proveedor. pero no seria
posible representar partes que no sean suministradas (NO PUEDE HABER HIJOS SIN
PADRE).
Bases de Datos Cesar Rosales Maquera
7

Figura 1.2: Modelo Jerarquico de Bases de Datos de Partes. Proveedores y Pedidos
Ademas no es Iacil saber quien suministra una determinada parte. por lo que se podria
modelar la misma base de datos de la siguiente como se ilustra en la Iigura 1.3
Bases de Datos Cesar Rosales Maquera
8

Figura 1.3: Otra Iorma del Modelo Jerarquico de Bases de Datos de Partes. Proveedores
y Pedidos.
Pero. en este caso. no es posible tener la inIormacion de proveedores que no suministran
algo. y no es Iacil identiIicar las partes que suministra un proveedor.
Bases de Datos Cesar Rosales Maquera
9
En ambos casos el enIoque ierarquico tiene la desventaia de una gran redundancia de
datos.
1.4.3 Enfoque de Redes
Modela la inIormacion como coniuntos. donde hay dos tipos de coniuntos:
PROPIETARIOS(Equivale a un padre en el enIoque ierarquico) y MIEMBROS
(Equivale a un hiio dentro del enIoque ierarquico).
En el enIoque de REDES la redundancia se reduce al maximo. no se pierde inIormacion
debido a que una parte no se suministre o a que un proveedor no suministre alguna
parte.
Es el enIoque mas eIiciente para representar relaciones N a M . mas sin embargo. tiene
la desventaia de ser MUY COMPLEJO. El modelo de bases de datos de este enIoque se
puede ver en la Iigura 1.4
Bases de Datos Cesar Rosales Maquera
10

Figura 1.4: Modelo de Redes de Bases de Datos de Partes. Proveedores y Pedidos
De los tres enIoques el mas usado y el que tiene bases mas Iormales es el enIoque
relacional. motivo por el cual casi el 100° de los maneiadores son construidos con este
enIoque.
1.5 Introducción a los Sublenguajes de Datos (DSL)
Muchos sistemas maneiadores de base de datos tienen un SUBLENGUAJE DE DATOS
(Data Sub Language) que esta constituido en dos partes:
1.5.1 Lenguaje de Definición de Datos
Bases de Datos Cesar Rosales Maquera
11
(Data DeIinition Language DDL)
1.5.2 Lenguaje de Manipulación de Datos
(Data Manipulation Language DML)
El lenguaie de deIinicion de datos esta constituido por las instrucciones que permiten
crear/mantener:
Las estructuras de almacenamiento de los archivos de datos. La estructura de las
estrategias de acceso(Heap. Indice. Hash. etc.)
El lenguaie de manipulacion esta compuesto por las instrucciones que permiten realizar
ALTAS. BAJAS. CAMBIOS y OBTENCION DE INFORMACION de los archivos de
datos.
1.5.3 SQL
Dentro de los sublenguaies de datos mas diIundidos y de amplio uso tenemos el SQL
(Structured Query Language).
1.5.4 DDL del SQL
Como eiemplo del DDL del SQL veremos como se crea una tabla. Supongamos que
deseamos crear una base de datos simple(Compuesta por una sola tabla). para llevar el
control de caliIicaciones de los examenes de alumnos de una materia. suponiendo que
los atributos importantes son:
MATRICULA
NOMBRE
PARCIAL 1
PARCIAL 2
PARCIAL 3
FINAL
La Iorma de crear esta tabla seria:
CREATE TABLE CALIF(MATRICULA INTEGER NOT NULL.
NOMBRE CHAR(35).
PARCIAL1 SMALLINT.
PARCIAL2 SMALLINT.
Bases de Datos Cesar Rosales Maquera
12
PARCIAL3 SMALLINT.
FINAL SMALLINT);
Para soportar el concepto de llave (No duplicados) es necesario crear un indice unico
sobre los atributos llave (que Iueron especiIicados con NOT NULL):
CREATE UNIQUE INDEX CALIX ON CALIF (MATRICULA);
Supongamos que ya se cargaron datos. un eiemplo de contenido es dado en la tabla 1.3.

MATRICULA NOMBRE PARCIAL1 PARCIAL2 PARCIAL3 FINAL
331243 JUAN MARTINEZ 8 8 6 7
335467 PEDRO LOPEZ 10 10 6 9
337890 MARIA ALONSO 9 9 6 10
558967 FRIDA GUTIERREZ 7 8 7 10
578990 DIANA CAMACHO 6 7 8 9
654321 LUIS PEREZ 8 5 9 9
723445
FRANCIS
RIQUELME
8 6 10 8
Tabla 1.3: Tabla para control de caliIicaciones
1.5.5 DML del SQL
Veremos ahora eiemplos del DML:
Inserción
INSERT INTO CALIF VALUES (331232. 'LUIS PEREZ MARTINEZ'.
1.1.1.1);
Borrado
DELETE FROM CALIF WHERE MATRICULA÷331289;
Actualización
UPDATE CALIF SET PARCIAL1÷PARCIAL1¹1;
Consulta
SELECT AVG(PARCIAL1) FROM CALIF;
SELECT MATRICULA. NOMBRE
Bases de Datos Cesar Rosales Maquera
13
FROM CALIF
WHERE PARCIAL1÷PARCIAL2
1.6 Componentes de un Sistema de Base de Datos
Involucra los siguientes componentes:
¹Datos ¹Hardware ¹SoItware ¹Usuarios
1.6.1 Datos
Los datos dentro de una base de datos estan integrados y son compartidos:
INTEGRADOS Puesto que la base de datos es la uniIicacion de varios archivos
con redundancia parcial o totalmente eliminada.
COMPARTIDOS Esto implica que los datos pueden ser accesados
concurrentemente por diIerentes usuarios.
1.6.2 Hardware
Consiste basicamente de unidades de almacenamiento secundario.
principalmente discos duros. discos compactos. cintas magneticas etc.
1.6.3 Software
Entre la base de datos Iisica y los usuarios existe una capa de SoItware
denominada SISTEMA MANEJADOR DE BASE DE DATOS(SMBD o
DBMS).
Todos los requerimientos de acceso a la base de datos son maneiados por el
SMBD.
1.6.4 Usuarios
Hay 3 tipos de Usuarios:
¹ Programador de Aplicaciones Se encarga de escribir programas para el maneio
de la Base de Datos Usando un lenguaie de alto nivel. ¹ Usuario Final Es el que
utiliza un lenguaie de comandos (Query Language) y/o Programas de aplicacion.
¹ Administrador de la base de datos (DBA)
Es el responsable de deIinir politicas de acceso a la Base de Datos.
1.7 Ventajas de Utilizar una Base de Datos
Compactes No se necesitan voluminosos archivos de papel.
Bases de Datos Cesar Rosales Maquera
14
Velocidad. La velocidad de operacion es mayor a la que se tiene con un sistema
manual.
Menos Tedio
Actualizacion. La inIormacion se puede mantener mas Iacilmente actualizada.
Ventaias de Tener el Control Centralizado de una Base de Datos
Se puede reducir la redundancia. Se evita la inconsistencia. Los datos pueden ser
compartidos. Se pueden reIorzar los estandares. Se tiene el control del acceso. La
integridad puede ser mantenida. Se pueden balancear requerimientos conIlictivos.
1.7.1 Inconsistencia
Cuando dos instancias del mismo elemento no tienen valores iguales.
v.g. Si hay dos registros para el alumno con matricula 331540 (en diIerentes archivos).
los atributos iguales deben tener los mismos valores.
1.7.2 Falta de Integridad
Se da la Ialta de integridad cuando una instancia de un elemento tiene valores raros:
v.g. Que el numero de horas trabaiadas a la semana por un empleado sea de 400.
1.7.3 Independencia de Datos
Se dice que un sistema tiene INDEPENDENCIA DE DATOS:
Si los programas de aplicacion no tienen que ser modiIicados al cambiar: la estructura
de almacenamiento y/o la estrategia de acceso.
Dicho de otro modo es:
LA INMUNIDAD DE LAS APLICACIONES A LOS CAMBIOS EN LA
ESTRUCTURA DE ALMACENAMIENTO Y/O LA ESTRATEGIA DE ACCESO.
1.8 Conceptos Adicionales
1.8.1 Campo Almacenado
Es la unidad de datos mas pequeña que se encuentra almacenada.
1.8.2 Registro Almacenado
Es una coleccion de campos almacenados que estan relacionados.
1.8.3 Archivo Almacenado
Es el coniunto de todas las ocurrencias de un registro almacenado.
Bases de Datos Cesar Rosales Maquera
15
1.8.4 Representación de Datos Numéricos
Se pueden almacenar como:
¹Un String de Caracteres. ¹Un Decimal Empacado. ¹En Binario.
1.8.5 Representación de Datos Caracter
Se Pueden almacenar en ASCII. EBCDIC. etc.
1.8.6 Manejo de Objetos
Se pueden maneiar como campos obieto que pueden ser GraIicas. Sonido. Hoias de
Calculo. Textos. etc.
1.8.7 Codificación de Datos
Resulta util en ocasiones almacenar los datos en Iorma codiIicada. v.g. En lugar de
almacenar los nombres de los colores podriamos codiIicarlos para ahorrar espacio y
Iacilidad de uso de acuerdo a la tabla 1.4.

Color Número
Negro 0
CaIe 1
Roio 2
Narania 3
Amarillo 4
Verde 5
Azul 6
Violeta 7
Gris 8
Blanco 9
Tabla 1.4: Tabla de CodiIicacion de Colores
1.8.8 Materialización de Datos
Existen campos virtuales. debido a que no tienen equivalencia con un campo
almacenado. y para poder ser accesados deben ser calculados. v.g. Un campo virtual
llamado PROMEDIO que depende de otros datos. de Iorma que para ser accesado debe
ser calculado primero.
1.9 Una Arquitectura para un SMBD
Bases de Datos Cesar Rosales Maquera
16
La arquitectura consta de 3 niveles que son ilustrados en la Iigura 1.5. los niveles son:
Nivel Interno. Es el mas cercano al almacenamiento Iisico. Se reIiere a la Iorma
de almacenamiento de los datos.
Nivel Externo. Es el mas cercano al usuario. se reIiere a la Iorma en que el
usuario Iinal ''ve'' los datos.
Nivel Conceptual. Es un nivel de indireccion entre los otros dos. se reIiere a la
Iorma en que los diseñadores de sistemas ven los datos. Trata de expresar como
son los datos realmente.

Figura 1.5: Arquitectura de un SMBD de tres niveles
1.9.1 VISTAS
Solo existe una vista interna.
Solo existe una vista conceptual.
Existen tantas vistas externas segun se necesiten.
Entre una vista externa y la vista conceptual existe un mapeo EXTERNO /
CONCEPTUAL.
Entre la vista conceptual y la vista interna existe un mapeo CONCEPTUAL /
INTERNO.
El nivel interno se reIiere a la Iorma en la que son almacenados / accesados
Iisicamente los datos.

Sign up to vote on this title
UsefulNot useful