You are on page 1of 24

BASE DE DATOS

UNIDAD 1

Introduccin a los sistemas de administracin de base de


datos
Usuarios:
Hay cuatro tipos de usuarios de un sistema de base de datos:
Usuarios Normales: Son usuarios no sofisticados que interactan con la base de
datos mediante un programa de aplicacin. Estos usuarios pueden rellenar
formulario para de esa forma cargar datos en la BD o leer informes generados de la
base de datos.
Programadores de aplicaciones: crean programas de aplicacin. Utilizan
herramientas de desarrollo rpido para desarrollar aplicaciones que faciliten la
presentacin de formularios y el muestreo de datos en pantalla. Su labor gira en
torno a las consultas y a la actualizacin.
Usuarios Sofisticados: Interactan con el sistema sin la necesidad de un programa
de aplicacin. Ellos generan sus propias consultas mediante un lenguaje de
consultas de BD.
Usuarios Especializados: Son usuarios sofisticados que escriben aplicaciones de
bases de datos especializadas, no adaptadas al procesamiento de daos tradicional.
Adems de estos usuarios, se encuentra el administrador de bases de datos:
Administrador de bases de datos: es la persona encargada de llevar el control
centralizado del sistema de base de datos, y cumple las siguientes funciones:
o Creacin del esquema original de la base de datos.
o Definicin de la estructura y el mtodo de acceso.
o Modificacin del esquema y de la organizacin fsica.
o Concesin de la autorizacin para el acceso a los datos.
o Llevar el mantenimiento rutinario de la base de datos.
Copia de seguridad peridica de la base de datos.
Asegurarse de que haya suficiente espacio en disco.
Supervisin de los trabajos realizados sobre la base de datos y del
rendimientos

Sistema de Gestin de Base de datos:


Base de Datos: es un conjunto de datos interrelacionados.
Sistema de informacin basado en el manejo de archivos (Caractersticas):
La informacin se almacena en archivos del sistema operativo
son escritas en funcin a las necesidades actuales, si estas en un futuro estas
necesidades se actualizan, ser necesario realizar otros programas de aplicacin al
sistema.
Los registros permanentes son almacenados en varios archivos y se escriben
distintos programas de aplicacin para acceder a ellos.
La informacin puede estar duplicada en varios archivos.
1

BASE DE DATOS

UNIDAD 1

Todos los usuarios tienen acceso al archivo.


La supervisin es difcil de proporcionar.

Sistema de gestin de base de datos: es una coleccin de datos interrelacionados junto a


una coleccin de programas para acceder a esos datos. Posee las siguientes
caractersticas:
Naturaleza auto-descriptiva de un sistema de base de datos: el sistema de base
de datos no solo contiene la propia base de datos, sino que tambin contiene la
definicin de la estructura de la base de datos y sus restricciones.
Aislamiento entre programas, datos y abstraccin de datos: las estructuras de
archivos de datos se almacenan en el catalogo de la DBMS, independientemente
de los programas de aplicacin.
Soporte de varias vistas de los datos: Normalmente una base de datos tiene varios
tipos de usuarios, de los cuales cada uno tiene una perspectiva diferente de la base
de datos.
Comparticin de datos y procesamiento de transacciones multiusuario: Permitir
que varios usuarios accedan a la base de datos al mismo tiempo.
Sistemas de informacin basados en el
manejo de archivos.
La definicin de datos forma parte de los
programas de aplicacin.
La estructura de archivos de datos esta
incrustada en las aplicaciones.
Solo un usuario puede acceder a la vez.
No distingue tipos de usuarios.

Sistemas de gestin de base de datos

Contiene la base de datos en si misma, la


definicin de la estructura de esta y sus
restricciones.
La estructura de archivos de datos se
almacena en el catalogo de la DBMS,
independientemente de los programas de
aplicacin.
Permiten el acceso de varios usuarios al
mismo tiempo.
Distingue tipos de usuarios.

Gestor de almacenamiento: Es un modulo de programa que proporciona la interfaz entre


los datos de bajo nivel y los programas de aplicacin y consultas emitidos por el sistema.
Est compuesto por:
Gestin de autorizacin e integridad: que controla que se cumplan las
restricciones de integridad y la autorizacin para que los usuarios accedan a los
datos.
Gestor de Transacciones: asegura que la base de datos permanezca en un estado
consistente.
Gestor de archivos: Gestiona la reserva del espacio de almacenamiento y las
estructuras de datos utilizadas.
Gestor de memoria intermedia: Trae los datos desde la memoria intermedia y
decide cual almacenar en el cach.

BASE DE DATOS

UNIDAD 1

Procesador de Consultas: Analiza que todo lo buscado es correcto y lo exhibe si es as.


Est compuesta por los siguientes componentes:
Interprete del Lenguaje de Definicin de Datos: Interpreta las instrucciones LDD y
registra definiciones en el diccionario de datos.
Compilador del Lenguaje de Manipulacin de Datos: Que traduce las
instrucciones LMD al lenguaje de consultas.
Motor de Evaluacin de Consultas: que ejecuta las instrucciones de bajo nivel
generadas por el compilador LMD.

Ventajas de utilizar un SGBD:

Control de la redundancia de datos.


Restriccin de accesos no autorizados.
Almacenamiento persistente para los objetos del programa.
Proporcionan la capacidad de ejecutar eficazmente actualizaciones y consultas.
Ofrece la posibilidad de recuperarse ante fallas y/o errores, mediante las copias de
seguridad.
Suministra varias interfaces de usuarios.
Representacin de relaciones complejas entre los datos.
Implementa restricciones de integridad
Algunas bases de datos proveen la posibilidad de definir reglas de deduccin, para
inferir informacin nueva a partir de los datos guardados en las bases de datos.
Potencial para implementar estndares.
Tiempo de desarrollo de aplicacin reducido
Flexibilidad
Disponibilidad de informacin actualizada.
Economas de escala.(reduce el derroche de utilizacin de los empleados.)

BASE DE DATOS

UNIDAD 1

Cuando no usar un SGBD:

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

Arquitectura De La Base De Datos (visin de datos)


La arquitectura provee una versin abstracta de datos, es decir esconde detalles del
almacenamiento de datos (almacenamiento fsico). Posee tres niveles:
Nivel Fsico: Describe como se almacenan los datos. Se describen las estructuras
de datos complejas de bajo nivel.
Nivel Lgico: Describe los datos que se almacenan, las relaciones entre ellas,
describe estructuras y significados de los datos que se estn almacenando.
Nivel externo ( de vistas): describe aquello que cada tipo de usuario necesita ver
de la BD.

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.

Esquema de la base de datos:


Diseo completo de la base de datos. Est compuesto por un conjunto de estructuras de
datos, vnculos entre estas, tipos de datos y los significados de los datos. Los sistemas de
gestin de base de datos utilizan varios esquemas distintos, divididos a travs de los
niveles de arquitectura de la Base de datos, As a nivel fsico existe un esquema fsico o
interno, a nivel lgico existe un esquema lgico o conceptual y a nivel vista un esquema
externo.
5

BASE DE DATOS

UNIDAD 1

Estado de la Base de Datos (o ejemplar):


Est constituido por la coleccin de informacin almacenada en un momento dado, es la
parte ms dinmica de una base de datos, la que cambia constantemente. (Se agregan,
modifican o eliminan datos.).

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.

Grupos de modelos 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

Diferencia entre modelo relacional y los modelos Red/Jerrquico

En el modelo relacional los vnculos entre registros no se representan a travs de


punteros, sino que a travs de copias de valores almacenados.

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

Archivos ordenados: se ordenan de acuerdo a un campo de ordenacin; si adems


es la clave del archivo, se dice que es la clave de ordenacin. Tpicamente son
archivos secuenciales.
o Insercin: para insertar ordenadamente es necesario generar un espacio
entre los registros donde debe ir el nuevo registro, se requiere una
bsqueda previa, lo que significa leer y sobrescribir muchos bloques. En la
prctica hay 2 opciones; una es ir dejando espacios libres en cada bloque
para los nuevos registros (genera mucho desperdicio). La otra opcin es
usar un archivo adicional llamado fichero de desbordamiento o
transacciones, en el cual los nuevos registros se almacenan y
peridicamente se reestructura el conjunto (complica la bsqueda).
o Bsqueda: se puede aplicar bsqueda binaria, siempre y cuando la clave de
bsqueda corresponda al campo de ordenacin del archivo.
o Borrado: se realiza por medio del borrado lgico, al igual que el caso
anterior.
Archivos Dispersos (organizacin directa):
o Utilizan Hashing: consiste en utilizar un dato del registro a almacenar,
como generador de una direccin de memoria (por medio de la funcin
hash).
o Esta funcin genera la direccin fsica donde el registro se debe almacenar
o buscar.se dice que la bsqueda es directa, porque al aplicar la funcin
hash se obtiene la ubicacin fsica en el disco.
o Si al almacenar un nuevo registro, la ubicacin fsica obtenida, est
ocupada por otro registro, se dice que tenemos una colisin. Las colisiones
requieren un tratamiento especifico (tpicamente se lo denomina
tratamiento de colisiones). Normalmente consiste en un archivo secuencial
en una ubicacin especfica. En la prctica no es directamente aplicable,
porque requerira de una unidad de almacenamiento para ese archivo
nicamente.
o Direccionamiento externo: el espacio de direccionamiento para el archivo
se divide en cubetas; cada una con capacidad para varios registros. Se
crea una tabla de direcciones de cubetas (ndice), cuyas entradas poseen
nmero y direccin fsica de las cubetas. La funcin hash establece una
correspondencia entre la clave y una cubeta a travs del nmero de cubeta.
Las colisiones estn dadas cuando se llenan las cubetas. Para el tratamiento
de colisiones se crea una cubeta de colisiones.
o La principal desventaja del mtodo es la imposibilidad de conocer el
espacio necesario al momento de crear el archivo, por lo que se puede
generar mucho desperdicio si el archivo es pequeo o requiere peridicas
reestructuraciones si el archivo resulta muy grande.
o La principal ventaja es que se usa la misma funcin para la bsqueda y
almacenamiento.
o El direccionamiento externo permite el recorrido del archivo (recorriendo
sus cubetas); el conceptos de archivos dispersos no lo permite.
9

BASE DE DATOS

UNIDAD 2

ndices (archivos indexados):


Es una estructura de datos auxiliar de acceso; es decir ayuda en eficiencia a las bsquedas.
El ndice por s solo no es un archivo de datos. Tpicamente se indexan los archivos
secuenciales.

Caractersticas Generales:

Son archivos ordenados por un campo cuyos valores se obtienen de un archivo


secuencial.
Los registros del archivo ndice constan de al menos un campo de datos ordenado;
que se obtiene del archivo de datos (clave de ordenacin) ms un puntero a
bloques de discos donde se encuentra el registro del archivo que contiene la clave.
Los ndices poseen registros de longitud fija.
Pueden ser densos (un registro ndice por cada registro en el archivo) o no densos
(o dispersos).
Pueden ser de un nivel o de mltiples niveles.

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.

Caso especial de ndice secundario:


Cuando se cuenta con un archivo no ordenado por su campo clave de identificacin. Crear
un ndice sobre este campo implica un ndice denso equivalente a un ndice primario
denso; en ese caso se dice que es una clave secundaria.

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

Modelo Entidad Relacin


Modelo entidad vinculo:
No tiene su modelo de implementacin. Es un modelo basado en objetos.
Entidad=objeto= cosa. El modelo entidad relacin define la entidad mediante sus
atributos.

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.

Clave: compuestas por un conjunto no vacio de atributos cuyos valores son


obligatorios y no repetibles, que identifican a una entidad de otra.
Existencia de entidades fuertes y dbiles: una entidad dbil es siempre
dependiente de una fuerte.
o Entidad fuerte: posible de identificar un conjunto de atributos claves.
o Entidad Dbil: no es posible identificar una clave por s sola, pero si
utilizando una clave de otra entidad de la cual depende.

VINCULOS

Relacin: asociacin entre diferentes entidades. Vnculos = relacin.


Tipos de vnculos: un conjunto de relaciones constituyen un tipo de vnculo
cuando esas relaciones vinculan entidades del mismo tipo; es decir constituyen
conjuntos de relaciones del mismo tipo. Pueden tener atributos.
Grado del tipo de vnculo: cantidad de tipos de entidades que intervienen en el
vnculo.
Rol: indica la funcin que desempea una entidad respecto de la otra en el vnculo.
Es til para darle nombre al tipo de vnculo.
Restricciones de vnculos:
12

BASE DE DATOS

UNIDAD 3

o Cardinalidad: indica cuantas entidades de un tipo de entidad se vinculan


con cuantos tipos de entidades de otro tipo. Pueden ser 1:1 ; 1:N ; N:1 ; N:N
o De Participacin:
Total: todas las entidades tienen que participar en un vnculo.
Parcial: No todas las entidades participan del vnculo.
o Dependencia de existencia: a causa de tener una entidad de un cierto tipo;
es necesario tener una entidad de otro tipo. Siempre genera participacin
total.

Diagrama Entidad Relacin:


Diagrama til para desarrollar el esquema de una base de datos.

Diagrama E-R Extendido:


Se permite aplicar subtipos a los tipos de entidades.
Especializacin: Se tiene un conjunto y dentro de este se designan subconjuntos.
Es el proceso de designacin de subgrupos, dentro de un conjunto de entidades.se
da cuando un subconjunto de las entidades se diferencian de las dems entidades
por la existencia de al menos un atributo distinto. (se parte de lo general a lo
particular).(top down).
Generalizacin: se plantean primero los subtipos y despus los tipos. Es el proceso
inverso a la especializacin.(button up)

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.

Esquema de una relacin: R


Notacin: nombre_de_la_relacion(lista de atributos)
El esquema de una relacin se compone del nombre de la relacin R y una lista de
atributos (a1, a2, a3). Cada atributo es el nombre del papel o rol desempeado por algn
dominio D en el esquema de la relacin R. Se dice que D es el dominio del atributo
ai y se denota como DOM(ai).
El esquema de la relacin sirve para describir una relacin R donde R es el nombre de
la relacin.
Se llama grado de la relacin a la cantidad de atributos en su esquema.

Estado de una relacin: r(R)


Es un conjunto de n tuplas, donde cada elemento T es un conjunto de valores. Cada Tupla
es una lista ordenada de n valores.(a su vez es lo nico ordenado en el modelo relacional.

Caractersticas de las relaciones (r):

No es importante el orden en que se almacenan las tuplas


Si es importante el orden de los valores dentro de la Tupla, porque debe respetar
el orden de los atributos definidos en el esquema.
Los valores en las tuplas son atmicos. Es decir no hay atributos Multivaluados ni
compuestos. Esto se define como primera forma normal. Pueden ser nulos.
15

BASE DE DATOS

UNIDAD 4

No se almacenan tuplas repetidas; esto asegura que existe al menos una clave para
cada relacin.

Restricciones de las claves:

Superclaves: existe al menos una superclave (la Tupla completa) no siempre es


aplicable porque esos atributos pueden admitir valores nulos. Pueden ser varias:
cualquier combinacin de atributos que cumpla con los criterios de unicidad y
existencia es capaz de constituir una superclave. Cualquier superclave combinada
con un atributo que cumple con el criterio de existencia, genera una nueva
superclave.
Claves Candidatas: aquellas Superclaves que no tienen atributos redundantes.
Llamamos atributo redundante de una superclave, cuando se tienen atributos que
por s solas pueden cubrir a la superclave. Responde al criterio de minimalidad.
Clave Primaria: de entre las candidatas, se elije las que ms le convenga al
diseador de la BD.
Claves alternativas: Todas las claves no elegidas como primarias.

Esquema de una base de datos relacional:


La base de datos puede contener muchas relaciones (tablas) y a su vez estas pueden estar
relacionadas entre ellas.
El esquema es un conjunto de esquemas de relaciones, ms un conjunto de relaciones de
integridad.

Estado de la base de datos relacionales:


El estado de la base de datos de S (del esquema s) es un conjunto de relaciones donde
BD={ r1(R1); r2(R2);..;rn(Rn)} donde ri(Ri) es el estado de la relacin Ri talque ri(Ri)
satisfacen las restricciones de integridad, especificaciones en el esquema de Ri.

Restricciones de integridad:

Integridad de entidades: ningn valor de clave primaria debe ser nulo.


Integridad referencial: Sirve para mantener la consistencia entre tuplas de dos
RELACIONES distintas. Una Tupla en una relacin que haga referencia a otra Tupla
de otra relacin, deber referirse siempre a una Tupla existente en la segunda
relacin.
o Clave externa (FORANEA): un conjunto de atributos (FK = foreign key) en el
esquema de relacin R1 es una clave externa si cumple con dos requisitos.
los atributos de FK tienen los mismos dominios de la clave primaria
de otro esquema de relacin R2.
Un valor de FK en T1 del estado actual r1(R1) ocurre como valor de
PK en alguna Tupla T2 del estado actual de r2(R2) o bien es nulo.
NULL en el FK indica que la Tupla no se relaciona con alguna otra
Tupla de otra tabla.
16

BASE DE DATOS

UNIDAD 4

Transformacin del DER al MR:


1) Por cada tipo de entidad fuerte en el DER se debe crear una tabla que contenga
todos los atributos simples del DER. La clave primaria de esta relacin estar
formada por la clave primaria de la entidad en el DER.
2) Por cada tipo de entidad dbil del DER vinculada a un tipo de entidad propietaria
E1; Se debe crear una tabla en la que se incluyan todos los atributos simples de la
entidad dbil ms la clave primaria de la entidad propietaria(foreign key). La clave
primaria de esta estar conformada por la foreign key ms el atributo
discriminante de la entidad dbil.
3) Por cada tipo de vinculo binario 1 a 1 se debe crear una tabla por cada tipo de
entidad vinculada, se debe elegir una de ellas y colocar la clave primaria de la otra
tabla, mas el atributo del vinculo (si es que posee).
4) Por cada tipo de vnculo binario 1 a n, se debe crear una tabla por cada entidad
relacionada, y en la entidad que posee Cardinalidad n, se agregan la foreign key de
la entidad con Cardinalidad 1 ms el atributo del vnculo.
5) Por cada tipo de vnculo binario n a n, se debe crear una tabla para cada entidad
relacionada y una entidad para el vnculo en el que irn las claves primarias de las
dos entidades (como clave primaria) ms el atributo T del vnculo.
6) Por cada tipo de vnculo n-ario se crean las tablas correspondientes a las entidades
relacionadas, y una tabla que representa al vnculo, en la que se incluyen las claves
primarias de cada una de las entidades ms el atributo T del vnculo.
La clave primaria de la tabla vinculo depender de la Cardinalidad del vinculo, si la
Cardinalidad es siempre 1, es suficiente con utilizar una de las PK como PK de la
tabla vinculo. Si una de las entidades posee Cardinalidad n se deber escoger esa
como PK mas el PK original. Si hay dos o ms entidades con Cardinalidad n, se
recomienda que todas las FK sean PK; en ocasiones es necesario extender la PK con
algn atributo del vinculo.
7) Por cada atributo Multivaluado se debe crear una nueva tabla en la que se incluye
el atributo Multivaluado ms una FK correspondiente a la PK de la entidad de la
que procede. Si el atributo Multivaluado pertenece a un vnculo, se debe crear una
nueva tabla incluyendo como FK a los PK del vnculo.
8) Generalizacin y Especializacin.
a. Se debe crear una tabla para la superentidad y una tabla por cada una de
las subentidades; en cada subentidad se agrega como FKPK la PK de la
superentidad. (sirve para todos los casos)
b. Se crea una tabla para cada subentidad; en la que se incluyen los atributos
simple de la subentidad mas los atributos de la superentidad (tomando
como PK a la PK de la superentidad).(No recomendable para ligadura de
diseo solapadas).(ERROR: puede haber inconsistencia por redundancia,
cuando la ligadura de diseo es solapada. Para una misma entidad se
tienen valores de atributos repetidos en ms de una tabla.)
c. Se crea una sola tabla en la que se incluyen los atributos de la
superentidad, los atributos de cada subentidad y un atributo discriminador
17

BASE DE DATOS

UNIDAD 4

de cada subentidad que indica a que subentidad pertenece. Genera


muchos valores nulos. (solo valido para ligadura de diseos disjuntas).
d. Se crea una sola tabla en la que se incluyen todos los atributos de la
superentidad, los atributos de cada subentidad y atributos discriminadores
de subentidad (uno por cada subentidad) que indican a cual subentidad
pertenecen.(valido para ligadura de diseo de conjuntos disjuntos o
solapados).
9) AGREGACION: primero se debe aplicar la regla de pasos de conversin a la
superentidad. Luego si el vinculo es 1 a 1 , 1 a n; se utiliza la primary key como FK.
Si la entidad es n a n; se crea una tabla para el vnculo, en la que se agregan todos
los atributos del vnculo de la superentidad y la clave de la entidad externa (todas
estas como PK Y FK del vnculo externo).

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.

Resumen Parcial 2 de base de datos


FORMAS NORMALES
primera forma normal
La primera forma normal crea una nueva tabla con el grupo de atributos que se repiten
por casa tupla as como tambin los atributos compuesto. Se dice que un esquema de una
relacin R esta en primera forma normal si todos los dominios de sus atributos son
atmicos. Es decir, si sus atributos pueden contener un solo valor.

segunda forma normal


Se dice que un esquema de una relacin R esta en segunda forma normal si y solo si esta
en primera forma normal, y teniendo una clave compuesta por varios atributos, todos los
atributos no clave dependan totalmente de ellas y no parcialmente. Es decir, que
dependan de los dos o ms atributos clave y no solo de algunos de los atributos clave.

Tercera forma normal


Se dice que un esquema de una relacin R esta en tercera forma normal, si esta en
segunda forma normal, y todos los atributos no clave dependen nicamente de la clave y
no de otro atributo no clave.

18

BASE DE DATOS

UNIDAD 4

forma normal de boyce- codd


Un esquema de una relacin R est en la forma normal de boyce codd si y solo si esta en
tercera forma normal y los nicos determinantes son las claves candidatas. Es decir se
debe armar una tabla para cada una de las claves candidatas e incluir aquellas que no son
candidatas en cada una de ellas.

SQL (Lenguaje de consultas estructurado)


DDL: lenguaje de definicion de datos

crear base de datos

CREATE DATABASE nombredelabd;


CREATE SCHEMA nombredelabd;(en postgres)

crear tabla

CREATE TABLE nombredelatabla(


Atributo1 tipodedato,
Atributo2 tipodedato);

Restricciones de la creacion de tablas

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);

CHECK(expresin lgica) (limita el dominio del atributo)


CREATE TABLE tab1(
Atrbiuto1 tipodedato,
CHECK(atributo1>0));
FOREIGN KEY (define clave fornea)
CREATE TABLE tab1(
Atributo1 tipodedato,
FOREIGN KEY atributo1 REFERENCES tab2(at2pk));
NOT NULL (indica que el atributo no puede estar vaco, o al menos con un null
como valor
19

BASE DE DATOS

UNIDAD 4
CRATE TABLE tab1(
Atributo1 tipodedatos NOT NULL);

contraints
Son restricciones que se definen sobre el esquema de una tabla.

actualizacion del esquema de una tabla

Agregar columna a la tabla


ALTER TABLE tab1 ADD nomcolumna tipodedatos;
Eliminar columna de la tabla
ALTER TABLE tab1 DROP nomcolumna;
Agregar Foreign key
ALTER TABLE tab1 ADD FOREIGN KEY atributo REFERENCES tab2(at2pk);

Borrar tabla

DROP TABLE tab1;

BORRAR BASE DE DATOS

DROP DATABASE nombredelabasededatos;

DML: Lenguaje de modificacion de datos

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);

Actualizar valor de tuplas (por columna)

UPDATE tab1 SET nomcolumna=valor (opcionalmente se puede utilizar un


WHERE(condicin));

Borrar valores de una tabla

DELETE FROM tab1 (opcionalmente se puede utilizar un WHERE(condicin));

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

o Total join: todos los atributos de la izquierda y todos los atributos de la


derecha, los atributos de las tuplas que no participen de la consulta quedan
en null
SELECT *
FROM ta
TOTAL JOIN tb ON ta.a=tb.a;

OPERADORES DEL WHERE


IS

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

WHERE at BETWEEN val1 and val2;

EXIST

WHERE EXIST (subconsulta) (si existe en la subconsulta, devuelve un valor logico);

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

eliminar valores repetidos de la consulta


SELECT DISTINCT at
FROM TA;

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

CREATE USER nombreusuario PASSWORD contrasea;

OTORGAR PERMISOS SOBRE TABLAS

GRANT insert, select, update, delete|all ON tabla TO usuario;

otorgar permisos sobre base de datos

GRANT crate, connect ON DATABASE basededatos TO 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

CREATE VIEW nombrevista


AS (consulta select);

24

You might also like