Professional Documents
Culture Documents
UNIDAD 1
BASE DE DATOS
UNIDAD 1
BASE DE DATOS
UNIDAD 1
BASE DE DATOS
UNIDAD 1
Cuando las aplicaciones de base de datos sean sencillas y no sea predecible que
cambien.
Cuando se tengan requisitos estrictos y en tiempo real, en el que el sobrecoste de
una SGBD suponga un problema.
Cuando no exista el acceso multiusuario a los datos.
BASE DE DATOS
UNIDAD 1
Independencia de datos:
Es la capacidad de modificar la definicin de un esquema en un nivel, sin que afecte a la
definicin del esquema en el siguiente nivel ms alto. Hay dos niveles de independencia
de datos:
Independencia Fsica: Indica que se puede modificar el esquema fsico de datos,
sin que afecte al esquema lgico de datos. permite modificar la forma de
almacenamiento fsico sin que sea necesario reescribir la base de datos o las
aplicaciones que la utilizan.
Independencia Lgica: Es la capacidad de modificar el esquema lgico de la base
de datos, sin tener que modificar las vistas ni las aplicaciones que la utilizan.
BASE DE DATOS
UNIDAD 1
Modelos de datos:
Es una coleccin de herramientas conceptuales para describir los datos, sus relaciones, la
semntica de los datos y las ligaduras de consistencia. En pocas palabras, son
herramientas que sirven para definir el esquema de una base de datos.
Modelos lgicos basados en objetos: son modelos que se usan para describir
datos a nivel lgicos y de vista.
o Modelo entidad relacin: est basada en la percepcin del mundo real,
que consta de un conjunto de objetos (entidades o cosas) y vnculos entre
ellos.
Describe objetos mediante atributos y define conjuntos de entidades y
conjuntos de vnculos.
o Modelo orientado a objetos: define clases de objetos usando atributos y
mtodos.
Atributos: datos
Mtodos: actividades que lleva a cabo el objeto.
Cada objeto tiene una entidad propia y es reconocible con respecto a los
dems modelos de implementacin.
Modelos lgicos basados en registros: se usan para describir datos a nivel lgico y
de vista, especifican estructuras lgicas completas para la base de datos,
proporcionando descripciones de alto nivel. Se definen en base a registros con
nmero fijo de campos.
o Modelo Relacional: almacena los datos como un conjunto de relaciones
entre ellos. En este modelo los datos se almacenan en tablas, donde cada
fila de la tabla es una relacin de datos que representa a un objeto o a una
relacin entre objetos. Se dice que una tabla es una RELACIN. Las filas de
las tablas corresponden a un registro y las columnas a un atributo.
o Modelo de red: Los datos se representan en colecciones de registros y las
relaciones entre registros se establecen mediante enlaces (punteros). El
conjunto de registros de base de datos lo constituye como un grafo que se
organiza como una coleccin de grafos.
o Modelo Jerrquico: es similar al modelo de redes en cuanto a la
representacin de datos, registros y enlaces. Pero resulta que los registros
se presentan como condicin de arboles en lugar de grafos.
6
BASE DE DATOS
UNIDAD 1
Modelos Fsicos:
Se usan para describir datos al nivel ms bajo de la arquitectura de base de datos. A
diferencia de los modelos lgicos, los modelos fsicos son muy pocos. Simplemente
describen como se van a almacenar, como se accede a ellos y que representan esos datos.
BASE DE DATOS
UNIDAD 2
Archivos e ndices
Archivos:
Registros:
Es una estructura de datos (consta de una coleccin de valores o elementos de datos
seleccionados) donde cada valor, est formado por uno o ms bytes y corresponde a un
campo del registro. El formato de registro est compuesto por el nombre de campo +
tipos de datos. Pueden ser de longitud fija o variable. Se asignan a bloques en el disco.
Clster:
Pista perteneciente a un sector definido. Es la mnima unidad direccionadle del disco.
Tambin denominado bloque de disco.
Factor de bloqueo: indica la cantidad de registro que caben en un bloque de disco.
o Archivos extendidos: cuando se completa el bloque de disco y sobra una
parte del archivo; y dicha parte es almacenada en otro bloque de disco.
o Archivos no extendidos: La porcin de sobra no se almacena.
Cabeceras de ficheros:
Son descriptores que contienen informacin relativa al archivo, til para programas o para
el gestor de almacenamiento. Contienen informacin sobre las direcciones de los bloques
que ocupa el archivo en el disco, el formato de registros, longitudes de campos, orden de
los campos, si el archivo es extendido o no, etc.
Organizaciones primarias:
Determina la forma en que los registros se colocan fsicamente en la unidad de
almacenamiento y por lo tanto como se va a acceder a ellos. Existen 3 organizaciones
primarias bsicas:
Archivos de montculos (Registros no ordenados): es el tipo ms simple de
archivos, los registros se colocan a medida que se los va creando.
o Insercin: es muy eficiente; se lee el ltimo bloque, se agrega registros
nuevos al bloque y se sobrescribe todo el bloque, si es necesario se
actualiza la informacin referente al ltimo bloque ocupado por el archivo,
en la cabecera.
o Bsqueda: el nico tipo de bsqueda que es posible aplicar, es la bsqueda
secuencial o lineal.
o Borrado: tericamente se debe buscar el registro y eliminarlo de su bloque;
en la prctica, esto se hace mediante un borrado lgico (poner una marca
de borrado en el registro). Requiere reorganizaciones peridicas para
liberar el espacio de los registros marcados como borrados.
BASE DE DATOS
UNIDAD 2
BASE DE DATOS
UNIDAD 2
Caractersticas Generales:
ndices primarios:
Para poder crear un ndice primario es necesario que el archivo de datos este ordenado
por el campo clave de identificacin de registros.
Cada ndice apunta a la cabera del bloque donde est almacenado el registro.
Pueden ser densos o dispersos.
Denso: tiene una entrada en el ndice por cada valor de clave de bsqueda del
fichero de datos (Correspondencia = 1 registro de archivo a 1 registro del ndice.).
Disperso: Tiene una entrada en el ndice por cada bloque ocupado por el archivo
de datos. Se toma el primer valor de clave de bsqueda de cada bloque
(denominado ancla de bloque); con la direccin del bloque, asumiendo que los
datos estn en un intervalo entre la clave de bsqueda del bloque y la clave de
bsqueda del bloque siguiente.
Los ndices primarios suelen ser dispersos; no densos. Las operaciones de insercin
y borrado en el registro del archivo de datos pasan a ser sumamente costosas.
ndices de agrupacin:
Se crean sobre archivos ordenados por un campo que tiene valores repetidos,
comnmente llamado campo de agrupacin. El ndice se crea sobre este campo (de
agregacin); generalmente es disperso; existe un registro en el ndice por cada valor
distinto del campo de agrupacin. Puede tener punteros a bloques repetidos; si en el
mismo bloque hay distintas claves de agrupacin, tambin puede suceder que algunos
bloques no estn representados en el ndice; esto se da cuando algunas claves ocupan
varios bloques.
Para cada clave distinta; se seala el bloque donde comienza a repetirse la clave.
10
BASE DE DATOS
UNIDAD 2
ndices Secundarios:
Consta de un campo correspondiente a cualquier campo del archivo de datos que no sean
de ordenacin (campo de indexacin) y un puntero al bloque de disco que contiene el
registro de datos correspondiente a la clave del campo de indexacin.
Siempre son densos porque se crean sobre un campo no ordenado.
Pueden ser varios ndices sobre el mismo archivo.
ndices multinivel:
Consiste en considerar al archivo ndice como un archivo ordenado, para indexar (ndice
secundario=archivo indexado desordenado).Luego se crea un ndice primario al nivel del
ndice (ndice no denso)(usa ancla de bloque); pasa a ser el segundo nivel del ndice; estos
pasos se repiten hasta tener un ndice que ocupe un solo bloque.
Se pueden crear niveles hasta que el ltimo nivel quepa en un bloque.
Para encontrar un registro en particular en el archivo de datos, usando un ndice
multinivel, se necesita un acceso por cada nivel del ndice y un acceso en el archivo de
datos. Es igual a un rbol b*.
11
BASE DE DATOS
UNIDAD 3
ENTIDAD:
Atributos o Propiedades:
Equivalentes al campo de una estructura en C. Es la caracterstica de la entidad a
representar. Puede haber atributos entre vnculos. Pueden ser:
Simples.
Compuestos (por atributos simples o otros atributos compuestos)
Mono valuados (nico valor en el atributo)
Multivaluados (pueden contar con ms de un valor en un atributo).
Almacenados (Cargados por el usuario)
Derivados (derivan su valor de otro atributo).
Pueden existir valores nulos (indican que el dato no existe o se desconoce).
Tipos de entidad:
Estn constituidas por un conjunto de entidades que tienen los mismos atributos.
VINCULOS
BASE DE DATOS
UNIDAD 3
Ligaduras de diseo:
Por definicin:
o Definidas por condicin: si el propio escenario clasifica una entidad en
varios tipos de entidades.
o Definidas por el usuario: si el diseado de la Base de Datos decide por
alguna conveniencia hacer una clasificacin.
Por Correspondencia:
o Disjuntos: cuando los tipos solamente pueden pertenecer a un subtipo (no
pueden pertenecer a ms de un subtipo).
o Solapados: Si a la vez pueden estar en ms de un subtipo.
Por completitud:
o Total: Si todas las entidades del nivel superior estn clasificadas en algn
subtipo.
o Parcial: Si algunas entidades estn clasificadas en algn subtipo (existen
algunas que no encajan en ningn subtipo).
Herencia:
Solamente se heredan atributos. Los conjuntos de entidades del nivel ms bajo heredan
todos los atributos de los conjuntos de entidades de niveles ms altos. Tambin se hereda
la participacin de uno respecto del otro conjunto.
13
BASE DE DATOS
UNIDAD 3
Agregacin:
En algunos casos se cumple que por producto de un vnculo se produce otro vnculo.
(Similar a una condicin). El modelo entidad relacin no plantea la posibilidad de hacer
relaciones entre vnculos. Los vnculos siempre son entre dos o ms entidades. Sin
embargo en ocasiones a causa de un vnculo entre dos entidades surge en algunos casos,
que como resultado del vnculo, este se debe vincular a otra entidad.
La agregacin es una abstraccin a travs de la cual, las relaciones entre entidades se
tratan como una entidad de nivel superior que puede vincularse con otras entidades.
14
BASE DE DATOS
UNIDAD 4
Modelo Relacional:
Relacin:
Es un subconjunto del producto cartesiano entre los elementos de dos o ms conjuntos
que responden a un enunciado.
En el modelo relacional, se representa a la base de datos como un conjunto de
RELACIONES que se almacenan en tablas.
Terminologa formal:
Relacin: Tabla
Fila de tabla: Tupla y representa a un elemento de la relacin.
Cabecera de la columna: Atributos.
Valores de atributos: Dominio
Dominio: es un conjunto de valores atmicos que son validos para un atributo. Dos o ms
atributos pueden compartir el mismo dominio. Est definido por un tipo de datos, un
rango de valores, un formato.
Tabla: medio de almacenamiento de la relacin.
BASE DE DATOS
UNIDAD 4
No se almacenan tuplas repetidas; esto asegura que existe al menos una clave para
cada relacin.
Restricciones de integridad:
BASE DE DATOS
UNIDAD 4
BASE DE DATOS
UNIDAD 4
Normalizacin:
Es la transformacin de almacenes de datos complejos (En el modelo relacional con
tablas) en estructuras de datos ms pequeas y simples. Se descomponen las tablas en
tablas ms simples, de acuerdo a ciertas normas; el objetivo de la normalizacin es la
eliminacin de la redundancia de informacin.
18
BASE DE DATOS
UNIDAD 4
crear tabla
Primary key
CREATE TABLE tab1(
Atributo1 tipodedatos primary key,
Atributo2 tipodedatos
Atributo3 tipodedatos
Primary key(atributo2,atributo3));
Unique (indica que el dominio del atributo debe ser atomico)
CRATE TABLE tab1(
Atributo1 tipodedatos UNIQUE);
BASE DE DATOS
UNIDAD 4
CRATE TABLE tab1(
Atributo1 tipodedatos NOT NULL);
contraints
Son restricciones que se definen sobre el esquema de una tabla.
Borrar tabla
Insertar tuplas
INSERT INTO tab1 (nombre de los atributos a cargar) VALUES (valores de los
atributos a cargar, deben coincidir con la ubicacin de los nombres de los atributos
a cargar);
20
BASE DE DATOS
UNIDAD 4
CONSULTAS
Estructura basica de una consulta
SELECT (Atributos a mostrar; * para mostrar todos los atributos)
FROM Tabla/s a consultar
WHERE condicin(opcional)
GROUP BY atributo (opcional)(solo se debe mostrar el atributo por el cual se agrupo o una
funcin agregada)
HAVING condicion (opcional del group by)(condicin a ejecutarse despus del agrupado)
ORDER BY atributo (ordenar a partir del atributo)(DESC para ordenar de forma
descendente);
JUNTAS
Natural join: junta las tuplas de dos tablas distintas que estn inter relacionadas.
Requiere que existan dos atributos con el mismo nombre. Las tuplas que no tienen
una relacin con otra tupla se eliminan de la consulta.
SELECT *
FROM ta
NATURAL JOIN tb;
Inner join: junta las tuplas de dos tablas que estn inter relacionadas, pero a
diferencia del natural join, en este tipo de juntas no es necesario que existan dos
atributos con nombres iguales. Las tuplas que no estn relacionadas con una tupla
de la otra tabla se eliminan de la consulta.
SELECT *
FROM ta
INNER JOIN tb ON ta.at1 = tb. At1;
JUNTAS EXTERNAS (extern join):
o Left join: todos los atributos de la izquierda y los atributos de la derecha,
los atributos de las Tuplas de la derecha que no participan de la junta
quedan con valor null.
SELECT *
FROM ta
LEFT JOIN tb ON ta.a1=tb.a1;
o Right Join: todos los atributos de la derecha y los atributos de la izquierda,
los atributos de las tuplas de la izquierda que no participen de la consulta
quedan en null.
SELECT *
FROM ta
RIGHT JOIN tb ON ta.a1=tb.a1;
21
BASE DE DATOS
UNIDAD 4
WHERE at IS NULL
WHERE at IS NOT NULL
WHERE at IN (conjuntodevalores);
WHERE at IN (subconsulta)(para subconsultas que puedan llegar a traer ms de un
resultado.)
IN
LIKE
WHERE at LIKE pepe%; (%= cantidad variable de letras; ___ = cantidad fija de
letras (1 guion por letra) despus de la palabra).
BETWEEN
EXIST
FUNCIONES AGREGADAS
Sum(atributo)
Avg(atributo)(promedio)
Max(atributo)(mximo valor del artibuto)
Min(atributo)(minimo valor del atributo)
Count(atributo)(cuenta los atributos)
22
BASE DE DATOS
UNIDAD 4
UNION
Une todos los valores de dos columnas, una debajo de la otra.
SELECT *
FROM ta
UNION
SELECT *
FROM tb;
INTERSECT
Todos los resultados de una consulta que estn incluidos en otra consulta.
SELECT *
FROM Ta
INTERSECT
SELECT *
FROM tb;
EXCEPT
Todos los resultados de una consulta que no estn en los resultados de otra subconsulta.
SELECT *
FROM ta
EXCEPT
SELECT *
FROM tb;
UNION ALL
Une todos los resultados de dos consultas, aunque estn repetidos.
SELECT *
FROM ta
UNION ALL
SELECT *
FROM tb;
23
BASE DE DATOS
UNIDAD 4
USUARIOS
CREAR usuario
VISTAS
Una vista es una consulta a la cual un usuario puede acceder; solo tendr permitido
acceder a lo que determina la vista.
CREAR VISTA
24