Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
1.1. Definiciones y Conceptos de Base de Datos.
Una base de datos es una coleccin organizada de informacin. sta contiene una coleccin de
registros que puede buscar, ordenar y analizar rpidamente.
Aislamiento de datos. Debido a que los datos estn dispersos en varios archivos, y los
archivos pueden estar en diferentes formatos, es difcil escribir nuevos programas
de aplicacin para recuperar los datos apropiados.
Estas dificultades, entre otras, han motivado el desarrollo de los sistemas de bases de datos para
resolver estos problemas.
1.3. Personas que se relacionan con una base de datos y tipos de usuarios de una Base de Datos,
DBA y funciones de una DBA.
Administrador de base de datos (DBA): Define los esquemas de la base de datos; estructuras y
esquemas de los 3 niveles. Ms que una persona suele ser un grupo de personas.
*Programador de aplicaciones: Utilizando un lenguaje de alto nivel y llamadas en DML crean
programas para usar la base de datos.
*Usuarios casuales: Son usuarios que tienen conocimientos de los DL, hacen uso de los DML de
modo interactivo (es decir a travs del procesador de consultas).
*Usuarios ingenuos: Emplean el SBD sin conocimientos de informtica, es decir usan los
programas de aplicacin.
*Administrador de Base de Datos: Denominado por sus siglas como: DBA, Database
Administrador. Es la persona encargada y que tiene el control total sobre el sistema de base de
datos, sus funciones principales son:
1.4. Niveles de Abstraccin, mtodo general para realizar la abstraccin del mundo real.
Uno de los objetivos principales de una base de datos es proporcionar a los usuarios una visin
abstracta de los datos. Es decir, el sistema oculta ciertos detalles relativos a la forma en que se
almacenan y mantienen los datos. Esto se logra definiendo tres niveles de abstraccin en los que
puede considerarse la base de datos: fsico, conceptual y de visin.
*En el nivel fsico se describe cmo se almacenan los datos en cuanto a detalles de estructuras de
datos complejas del nivel ms bajo.
*En el nivel conceptual, que es el siguiente nivel ms alto de abstraccin, se describe cules son
los datos reales que estn almacenados en la base de datos y qu relaciones existen entre los
datos.
*El nivel de visin es ms alto, en el cual se describe solo una parte de la base de datos y se
presentan vistas diferentes de la misma base de datos a los usuarios.
1.5. Instancias y Esquemas.
*Instancia.
Es el estado que presenta una base de datos en un tiempo dado. Vemoslo como una fotografa
que tomamos de la base de datos en un tiempo t, despus de que transcurre el tiempo t la base
de datos ya no es la misma.
*Esquema.
Es la descripcin lgica de la base de datos, proporciona los nombres de las entidades y sus
atributos especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben
los valores que irn formando cada uno de los atributos. El esquema no cambia los que varan son
los datos y con esto tenemos una nueva instancia.
1.6. Independencias lgica y fsica de datos.
*Independencia lgica: se puede cambiar la estructura de datos almacenados, sin afectarlos.
Adems de cambiarse los programas aplicativos que acceden a las bases de datos sin que esto
altere a la base de datos.
*Independencia fsica: las aplicaciones permanecen inalteradas sin importar los cambios
efectuados en el almacenamiento o en los mtodos de acceso.
los
alumnos
de
cada
profesor.
La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes
registros conectores.
2. Manipulacin de Datos: Debe atender las solicitudes del usuario tales como eliminacin,
modificacin, extraccin etc., es decir, debe incluir un componente procesador de lenguajes de
manipulacin de datos (DML). En general las solicitudes en DML pueden ser planificadas y no
planificadas.
3. SEGURIDAD E INTEGRIDAD DE LOS DATOS: El DBMS debe supervisar las solicitudes de los
usuarios y rechazar los intentos de violar las necesidades de seguridad e integridad de los datos
definidos para el DBA.
4. RECUPERACIN Y CONCURRENCIA DE LOS DATOS: El DBMS debe cuidar el cumplimiento de
ciertos controles de recuperacin y concurrencia. El Administrador de transacciones acta en caso
de que el DBMS no funciones.
5. DICCIONARIO DE DATOS: El DBMS debiera incluir una funcin de diccionarios de datos (Meta
_datos), se puede decir que es una base de Datos del sistema y no del usuario cuyo contenido
pueden considerarse como Datos acerca de los Datos que en el fondo son definiciones de objetos
de datos y otros objetos del sistema.
6. DESEMPEO: El DBMS debiera ejecutar todas las funciones anteriores en la forma ms
eficiente.
7. ADMINISTRADOR DE COMUNICACIONES DE DATOS: Las solicitudes de un usuario final son
dirigidas a la Base de datos donde son transmitidas en forma de mensajes de comunicacin o a la
inversa las respuestas al usuario son tomados como mensajes del mismo tipo, todas las
transmisiones se efectan bajo el control de otros grupos de programas llamados administrador
de comunicacin de datos el cual no forma parte del DBMS, sino que es un programa autnomo
pero debe trabajar en forma conjunta con el DBMS para poder satisfacer los requerimientos de los
usuarios.
2.3. Partes que conforman un DBMS
Data definition language (DDL):
Define elementos de los datos en la base de datos
Data manipulation language (DML):
Manipula datos para aplicaciones
Data dictionary:
Definiciones de todas las variables en la base
2.4. Lenguajes de un DBMS (DDL, DML)
En la estructura bsica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que
permiten trabajar sobre la base de datos. Estos lenguajes estndar son:
*DDL (Data Definition language): Lenguaje de Definicin de Datos. Por medio de este el DBMS
identifica las descripciones de los elementos de los esquemas y almacena la descripcin del
esquema en el catlogo del DBMS.
Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos
Almacenada).
Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los comits ANSI e
ISO, que debera terminar en la definicin de lo que en este momento se conoce como SQL3. Las
caractersticas principales de esta nueva encarnacin de SQL deberan ser su transformacin en un
lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la
introduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo, el tratamiento
de datos multimediales.
Comandos
Existen dos tipos de comandos SQL:
o
o
DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de
datos.
Comandos DLL
Comando Descripcin
CREATE
DROP
ALTER
Comandos DML
Comando Descripcin
SELECT
INSERT
UPDATE
DELETE
los
valores
de
los
campos
Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar o manipular.
Clusula
Descripcin
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Operadores Lgicos
Operador Uso
AND
OR
NOT
Operadores de Comparacin
Operador
Uso
<
Menor que
>
Mayor que
<>
Distinto de
<=
>=
Igual que
BETWEEN
LIKE
In
Funciones de Agregado
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para
devolver un nico valor que se aplica a un grupo de registros.
Funcinn Descripcin
AVG
COUNT
SUM
MAX
MIN
Clusula FROM
Clusula WHERE
Clusula GROUP BY
Clusula HAVING
Clusula SELECT
Clusula ORDER BY
Cuando se utiliza una base de datos para gestionar informacin, se est plasmando una parte del
mundo real en una serie de tablas, registros y campos ubicados en un ordenador; crendose un
modelo parcial de la realidad. Antes de crear fsicamente estas tablas en el ordenador se debe
realizar un modelo de datos.
Se suele cometer el error de ir creando nuevas tablas a medida que se van necesitando, haciendo
as el modelo de datos y la construccin fsica de las tablas simultneamente. El resultado de esto
acaba siendo un sistema de informacin parcheado, con datos dispersos que terminan por no
cumplir adecuadamente los requisitos necesarios.
Entidades y Relaciones
El modelo de datos ms extendido es el denominado ENTIDAD/RELACIN (E/R) En el modelo E/R
se parte de una situacin real a partir de la cual se definen entidades y relaciones entre dichas
entidades:
Entidad.- Objeto del mundo real sobre el que queremos almacenar informacin (Ej: una
persona). Las entidades estn compuestas de atributos que son los datos que definen el
objeto (para la entidad persona seran DNI, nombre, apellidos, direccin,...). De entre los
atributos habr uno o un conjunto de ellos que no se repite; a este atributo o conjunto de
atributos se le llama clave de la entidad, (para la entidad persona una clave seria DNI). En
toda entidad siempre hay al menos una clave que en el peor de los casos estar formada por
todos los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir una,
lo haremos atendiendo a estas normas:
Que sea nica.
Que se tenga pleno conocimiento de ella.- Por qu en las empresas se asigna a cada
cliente un nmero de cliente?.
Que sea mnima, ya que ser muy utilizada por el gestor de base de datos.
Relacin.- Asociacin entre entidades, sin existencia propia en el mundo real que estamos
modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las
relaciones pueden ser de tres tipos:
Relaciones 1-1.- Las entidades que intervienen en la relacin se asocian una a una (Ej:
la entidad HOMBRE, la entidad MUJER y entre ellos la relacin MATRIMONIO).
Relaciones 1-n.- Una ocurrencia de una entidad est asociada con muchas (n) de otra
(Ej: la entidad EMPRESA, la entidad TRABAJADOR y entre ellos la relacin TRABAJAREN).
Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades de la relacin,
puede estar asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la
entidad EMPRESA y entre ellos la relacin MATRCULA).
La utilizacin de estos elementos dar como resultado lo que se denomina el esquema entidadrelacin de la base de datos. Los ejemplos que se incluyen en el apartado anterior, grficamente
quedaran como sigue:
Un atributo que ayuda a identificar a una entidad son los atributos de la llave
primaria.
Descriptor
*Dominio: Un dominio describe un conjunto de posibles valores para cierto atributo. Como un
dominio restringe los valores del atributo, puede ser considerado como una restriccin.
Matemticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo
deben de ser elementos del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc.
.
*Aridad: El nmero de columnas es llamado aridad o grado.
3.1.4. Cardinalidad de mapeo
Es aquella mediante la cual puede especificarse la cantidad de entidades que podrn asociarse
mediante una relacin.
La CARDINALIDAD del mapeo se aplica generalmente sobre dos conjuntos de entidades.
Las cardinalidades existente para dos conjuntos de entidades A y B y conjunto de relaciones R
pueden ser:
1. UNA A UNA: Una entidad de A puede asociarse nicamente con una entidad de B.
2. UNA A MUCHAS: Una entidad de a puede asociarse con cualquier cantidad de entidades de
B.
3. MUCHAS A UNA: Cualquier cantidad de entidades de A puede asociarse con una entidad
de B.
4. MUCHAS A MUCHAS: Cualquier cantidad de entidades de a puede asociarse con cualquier
cantidad de entidades en B.
Ejemplo:
UNA A UNA
UNA A MUCHAS
MUCHAS A UNA
Alumnos
Tesis
Carreras
Alumnos
Alumnos Carreras
MUCHAS A
MUCHAS
Alumnos
Materias
Entendemos como una llave al medio que nos permite identificar en forma unvoca (nica e
inequvoca) a una entidad dentro de un conjunto de entidades.
Existen diversas categoras que permiten clasificar los tipos de llaves a utilizara:
a) SUPER -LLAVE .- Es un conjunto de atributos mediante los cuales es posible reconocer a una
entidad. Este tipo de llaves contiene comnmente atributos ajenos; es decir; atributos que no son
indispensables para llevar a cabo el reconocimiento del registro.
b) LLAVE CANDIDATO.- Son aquellas super llaves que no contienen atributos ajenos; es decir,
aquellos conjuntos de atributos que no tienen un subconjunto menor que pueda considerarse
como super llave.
c) LLAVE PRIMARIA.- Es aquella llave que el diseador de la base de datos selecciona entra las
llaves candidatos encontradas.
3.1.7. Diagrama E-R y su simbologa
Son esquemas que nos permitan representar conjunto de entidades y sus relaciones mediante la
siguiente simbologa.
*Restriccion de asignacin:
Una restriccin es una condicin que obliga el cumplimiento de ciertas condiciones en la base de
datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por
el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir
el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las restricciones
restringen los datos que pueden ser almacenados en las tablas. Usualmente se definen usando
expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la
restriccin o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el
rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos
relacionales.
Unidad IV. Normalizacin
Normalizar es ordenar las relaciones que existen entre objetos, elementos de un grupo, datos de
una base de datos en funcin de unas determinadas caractersticas que cada uno de ellos tiene en
comn.
La normalizacin de bases de datos relacional consiste en definir las reglas que determinan las
dependencias entre los datos de una base de datos relacional (BDR). Si definimos esta relacin o
dependencia entre los elementos de una determinada base de datos de la manera ms sencilla
posible, conseguiremos que la cantidad de espacio necesario para guardar los datos sea el menor
posible y la facilidad para actualizar la relacin sea la mayor posible. Es decir, optimizaremos su
funcionamiento.
Dependencias Funcionales
Una dependencia funcional, denotada por X -> Y, entre dos conjuntos de atributos X y Y que son
subconjuntos de R (R ={A1, A2,...,A3}) especifica una restriccin sobre las posibles tuplas que
podran formar un ejemplar de relacin r de R. La restriccin dice que, para cualesquier dos tuplas
t1 y t2 de r tales que t1[X] = t2[X], debemos tener tambin t1[Y] = t2[Y]. Esto significa que los
valores componentes de Y de una tupla de r dependen de los valores del componente X, o estn
determinados por ellos; o bien, que los valores del componente X de una tupla determinan de
manera nica (o funcionalmente) los valores del componente Y. Tambin decimos que hay una
dependencia funcional de X a Y o que Y depende funcionalmente de X.
Sean a y b atributos de una misma tabla o relacin T. Se dice que b es funcionalmente dependiente
de a y se denota T.a -> T.b o bien simplemente a -> b si todo posible valor de a tiene asociado un
nico valor de b, o lo que es lo mismo, en todas las tuplas de T en las que el atributo a toma el
mismo valor v1, el atributo b toma tambin un mismo valor v2. Claramente a -> b no implica b ->
a. Pueden repetirse los valores del atributo b para distintos valores de a. Un mismo
atributo puede determinar funcionalmente a varios atributos lo cual se denota a -> (b1, b2, ...).
Puede darse una dependencia funcional mutua: a -> b y b -> a o lo que es lo mismo a <-> b. Nse
que el concepto de dependencia funcional no depende de la extensin concreta (contenido) que
en un momento determinado tenga la tabla sino de cualquier posible extensin que pudiera tener.
Los atributos a y b pueden ser simples o compuestos (formados por la agregacin de varios
atributos). Los atributos funcionalmente dependientes pueden o no formar parte de la clave
primaria de la tabla, de una clave altenativa o de una clave ajena de otra tabla.
El atributo b es funcionalmente dependiente de forma completa de a si a -> b y b no depende
funcionalmente de ningn subconjunto de atributos de a. Si a es un atributo simple y a -> b
entonces la dependencia funcional es con seguridad completa.
Las dependencias funcionales verifican una serie de propiedades denominadas axiomas de
Armstrong:
Proyectividad. Si x -> y+z entonces x -> y. Ejemplo: si a partir del dni es posible deducir el nombre
y la direccin de una persona, entonces con el dni es posible determinar el nombre.
Aditividad. Si x -> y y z -> w entonces x+z -> y+w. Ejemplo: si con el dni se determina el nombre y
con la direccin el telfono de una persona, entonces con el dni y la direccin podr determinarse
el nombre y el telfono.
Reglas de normalizacin
El punto de partida del proceso de normalizacin es un conjunto de tablas con sus atributos, el
denominado esquema relacional. Se pretende mejorar dicho esquema de datos. Se dice que una
tabla est en una determinada forma normal si satisface un cierto nmero de restricciones
impuestas por la correspondiente regla de normalizacin. La aplicacin de una de estas reglas a un
esquema relacional produce un nuevo esquema relacional en el que no se ha introducido ningn
nuevo atributo.
Un esquema relacional se compone de una serie de ternas T(A,D) donde T es el nombre de una
tabla, A el conjunto de los atributos de esa tabla y D el conjunto de dependencias funcionales que
existen entre esos atributos.
1.No prdida de informacin. Sea T(A,D) que se divide en T1(A1,D1) y T2(A2,D2). A partir de los
atributos comunes en ambos esquemas es posible determinar los atributos de T1 no presentes en
T2 (es decir, el conjunto A1 - A2) o bien los atributos de T2 no presentes en T1 (el conjunto
diferencia A2 - A1). Desde cualquier esquema se consigue recuperar los datos del otro mediante
un mecanismo de clave ajena que permite reconstituir el esquema original de partida. Expresado
mediante dependencias funcionales, la interseccin de los conjuntos de atributos A1 y A2
debe determinar funcionalmente la diferencia de los conjuntos de atributos A1 - A2 o bien A2 - A1.
Un esquema relacional que satisface todas las restricciones impuestas por la tercera forma normal
se considera de buena calidad aunque es mejor que satisfaga una interesante propiedad. La
verificacin de una forma normal implica el cumplimiento de todas las formas normales anteriores.
La primera forma normal es de cumplimiento obligatorio para que exista siquiera un esquema
relacional propiamente formado
FN2.Si FN1 y cada atributo de la tabla que no forma parte de la clave depende funcionalmente de
forma completa de la clave primaria. Es decir, depende de toda la clave y no de ningn subconjunto
de ella. Se pretende garantizar una correcta eleccin de claves y eliminar redundancias. Si la clave
est formada por un nico atributo entonces ese esquema estar seguro en segunda forma
normal.
FN3. Si FN2 y cada atributo no primo de la tabla no depende funcionalmente de forma transitiva
de la clave primaria.FNBC (Forma Normal de Boyce-Codd). Se basa en el concepto de determinante
funcional: uno o varios atributos de una tabla de los cuales dependen funcionalmente de forma
completa algn otro atributo de la misma tabla. Una relacin est en FNBC si FN1 y cada
determinante funcional es una clave candidata de la tabla. As se garantiza que se han elegido bien
las claves al no existir dependencias funcionales entre atributos que no son clave. Cada vez que
se verifica una dependencia funcional a -> b entonces a es clave primaria o alterna con seguridad.
Todas las dependencias funcionales cumplen que en su parte izquierda solo aparecen atributos
que son parte de una clave candidata. Esta forma normal es ms restrictiva que la tercera y tiene
la interesante propiedad de que su cumplimiento implica la satisfaccin de FN3 o sea que FNBC ->
FN3.