Вы находитесь на странице: 1из 23

Unidad I.

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.

1.2. Sistemas de Base de Datos vs. Sistemas de procesamiento de archivos.


Una manera de mantener informacin en un computador es hacerlo mediante un sistema de
procesamiento de archivos tpico o tradicional, que permitir tener a los archivos estructurados y
organizados, y poder realizar operaciones con ellos. Este sistema de archivos se mantiene
mediante un sistema operativo convencional. Antes de la llegada de los sistemas de gestin de
bases de datos (SGBD), las organizaciones normalmente han almacenado la informacin usando
estos sistemas, pero mantener la informacin en estos sistemas de archivos tiene una serie de
inconvenientes importantes:

Redundancia e inconsistencia de datos. Existen datos que pueden repetirse en diferentes


lugares o archivos, esto provoca que, teniendo esa duplicidad de datos, el almacenamiento
y el costo (en recursos del sistema) de acceso sean ms altos. Inconsistencia de datos se
presentar porque las copias de los mismos datos en diferentes archivos pueden no
coincidir, pues si en un archivo se hicieron cambios de los datos, en los otros archivos donde
estaban los mismos datos no son modificados estomticamente.

Dificultad en el acceso a los datos. Cuando se requiere de ciertos datos diferentes de


archivos diferentes, la obtencin, consulta y modificacin de los datos no puede hacerse
directamente de forma prctica y eficiente. Tendran que desarrollarse sistemas de
recuperacin de datos para realizar esa operacin especfica, o desarrollar un sistema de
recuperacin de datos para uso general y ajustarlo de acuerdo a las necesidades.

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.

Problemas de integridad. Los valores de los datos almacenados en la BD deben satisfacer


ciertas restricciones de consistencias. Los desarrolladores hacen cumplir estas restricciones
en el sistema aadiendo cdigo apropiado en las diversas aplicaciones. Sin embargo, cuando
se aaden nuevas restricciones es difcil cambiar los programas para hacer que se cumplan.
Esto se complica cuando las restricciones implican diferentes elementos de datos de
diferentes archivos.

Problemas de atomicidad. En muchas aplicaciones es crucial asegurar que, cuando ocurra


un fallo y sea detectado, se restauren los datos a un estado de consistencia que exista antes
del fallo. Es difcil asegurar esta propiedad en un sistema de archivos tradicional.

Anomalas en el acceso concurrente. en estos sistemas un entorno en el que permita a


mltiples usuarios actualizar los datos de un mismo archivo simultneamente
puede dar lugar a datos inconsistentes o un estado incorrecto.

Problemas de seguridad. No todos los usuarios de un sistema de bases de datos deberan


poder acceder a todos los datos. En estos sistemas es difcil garantizar tales restricciones de
seguridad.

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:

*Definicin de esquema: Es el esquema original de la base de datos se crea escribiendo un


conjunto de definiciones que son traducidas por el compilador de DDL a un conjunto de tablas que
son almacenadas permanentemente en el diccionario de datos.
*Definicin de la estructura de almacenamiento del mtodo de acceso: Estructuras de
almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son
traducidas por e compilador del lenguaje de almacenamiento y definicin de datos.
*Concesin de autorizacin para el acceso a los datos: Permite al administrador de la base de
datos regular las partes de las bases de datos que van a ser accedidas por varios usuarios.
*Especificacin de limitantes de integridad: Es una serie de restricciones que se encuentran
almacenados en una estructura especial del sistema que es consultada por el gestor de base de
datos cada vez que se realice una actualizacin al sistema.

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.

1.7. Modelos de Base de Datos.


Existen fundamentalmente tres alternativas disponibles para disear las bases de datos:
el modelo jerrquico, el modelo de red y el modelo relacional.

a)._El modelo jerrquico


La forma de esquematizar la informacin se realiza a travs de representaciones jerrquicas o
relaciones de padre/hijo, de manera similar a la estructura de un rbol. As, el modelo jerrquico
puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de
uno a muchos.
En el primer tipo se dice que existe una relacin de uno a uno si el padre de la estructura de
informacin tiene un solo hijo y viceversa, si el hijo tiene solamente un padre. En el segundo tipo
se dice que la relacin es de uno a muchos si el padre tiene ms de un hijo, aunque cada hijo tenga
un solo padre.

Inconveniente del modelo jerrquico:


Relacin maestro-alumno, donde un maestro tiene varios alumnos, pero un alumno tambin tiene
varios maestros, uno para cada clase. En este caso, si la informacin estuviera representada en
forma jerrquica donde el padre es el maestro y el alumno es el hijo, la informacin del alumno
tendr que duplicarse para cada uno de los maestros.
Otra dificultad que presenta el modelo jerrquico de representacin de datos es respecto a las
bajas. En este caso, si se desea dar de baja a un padre, esto necesariamente implicar dar de baja
a todos y cada uno de los hijos que dependen de este padre.

b)._El modelo de red


El modelo de red evita esta redundancia en la informacin, a travs de la incorporacin de un tipo
de registro denominado el conector, que en este caso pueden ser las calificaciones que obtuvieron

los
alumnos
de
cada
profesor.
La dificultad surge al manejar las conexiones o ligas entre los registros y sus correspondientes
registros conectores.

c)._El modelo relacional


Se est empleando con ms frecuencia en la prctica, debido el rpido entendimiento por parte
de los usuarios que no tienen conocimientos profundos sobre Sistemas de Bases de Datos y a las
ventajas
que
ofrece
sobre
los
dos
modelos
anteriores.
En este modelo toda la informacin se representa a travs de arreglos bidimensionales o tablas.
Estas operaciones bsicas son:

Seleccionar renglones de alguna tabla (SELECT)


Seleccionar columnas de alguna tabla (PROJECT)
Unir o juntar informacin de varias tablas (JOIN)

Unidad II. DBMS

2.1. Definicin y objetivos de un DBMS


El software que controla la organizacin, almacenamiento, recuperacin, seguridad e integridad
de los datos en una base de datos. Acepta solicitudes de la aplicacin e indica al sistema operativo
para transferir los datos apropiados. Los principales proveedores de DBMS son Oracle, IBM,
Microsoft y Sybase.
Los principales objetivos de un DBMS son los siguientes:
1. Independencia lgica y fsica de los datos: se refiere a la capacidad de modificar una
definicin de esquema en un nivel de la arquitectura sin que esta modificacin afecte al nivel
inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por
qu ser igual a su registro correspondiente en el esquema conceptual.6
2. Redundancia mnima: se trata de usar la base de datos como repositorio comn de datos
para distintas aplicaciones.
3. Acceso concurrente por parte de mltiples usuarios: control de concurrencia mediante
tcnicas de bloqueo o cerrado de datos accedidos.
4. Distribucin espacial de los datos: la independencia lgica y fsica facilita la posibilidad de
sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitacin,
otro edificio e incluso otro pas. El usuario no tiene por qu preocuparse de la localizacin
espacial de los datos a los que accede.
5. Integridad de los datos: se refiere a las medidas de seguridad que impiden que se
introduzcan datos errneos. Esto puede suceder tanto por motivos fsicos (defectos de
hardware, actualizacin incompleta debido a causas externas), como de operacin
(introduccin de datos incoherentes).
6. Consultas complejas optimizadas: la optimizacin de consultas permite la rpida ejecucin
de las mismas.
7. Seguridad de acceso y auditora: se refiere al derecho de acceso a los datos contenidos en
la base de datos por parte de personas y organismos. El sistema de auditora mantiene el
control de acceso a la base de datos, con el objeto de saber qu o quin realiz una
determinada modificacin y en qu momento.
8. Respaldo y recuperacin: se refiere a la capacidad de un sistema de base de datos de
recuperar su estado en un momento previo a la prdida de datos.
9. Acceso a travs de lenguajes de programacin estndar: se refiere a la posibilidad ya
mencionada de acceder a los datos de una base de datos mediante lenguajes de
programacin ajenos al sistema de base de datos propiamente dicho.
2.2. Funciones de un DBMS
1. Definicin de Datos: Debe ser capaz de aceptar definiciones de datos (esquema externo,
conceptual Interno y todas las correspondencias asociadas. en versin Fuente) y convertirla en una
versin de objeto apropiada. Debe incluir componentes de procesadores de lenguajes para cada
uno de los diversos lenguajes de definicin de datos, adems debe tener las definiciones en DBL
(Lenguaje Definicin de datos) para poder interpretar y resolver las solicitudes.

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

*SDL (Store Definition language): Lenguaje de definicin de almacenamiento. Es utilizado por el


DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
*VDL (View Definition language): Lenguaje de Definicin de Vistas. Es utilizado por el DBMS para
especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinacin de los anteriores.
*DML (Data Manipulation language): Lenguaje de Manipulacin de Datos. Permite la manipulacin
de las operaciones de Insercin, Eliminacin y Modificacin.
Tipos de DML's:
*De alto Nivel o No por procedimientos: SQL.
*De bajo Nivel o por procedimientos.
2.5. Introduccin al lenguaje de consulta SQL (historia, comandos bsicos)
La historia de SQL (que se pronuncia deletreando en ingls las letras que lo componen, es decir
"ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definicin, por parte de
Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigacin de IBM,
de un lenguaje para la especificacin de las caractersticas de las bases de datos que adoptaban el
modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se
implement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con
ese prototipo condujeron, entre 1976 y 1977, a una revisin del lenguaje (SEQUEL/2), que a partir
de ese momento cambi de nombre por motivos legales, convirtindose en SQL. El prototipo
(System R), basado en este lenguaje, se adopt y utiliz internamente en IBM y lo adoptaron
algunos de sus clientes elegidos. Gracias al xito de este sistema, que no estaba todava
comercializado, tambin otras compaas empezaron a desarrollar sus productos relacionales
basados en SQL. A partir de 1981, IBM comenz a entregar sus productos relacionales y en 1983
empez a vender DB2. En el curso de los aos ochenta, numerosas compaas (por ejemplo Oracle
y Sybase, slo por citar algunos) comercializaron productos basados en SQL, que se convierte en
el estndar industrial de hecho por lo que respecta a las bases de datos relacionales.
En 1986, el ANSI adopt SQL (substancialmente adopt el dialecto SQL de IBM) como estndar
para los lenguajes relacionales y en 1987 se transform en estndar ISO. Esta versin del estndar
va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido diversas revisiones que han
conducido primero a la versin SQL/89 y, posteriormente, a la actual SQL/92.
El hecho de tener un estndar definido por un lenguaje para bases de datos relacionales abre
potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en l.
Desde el punto de vista prctico, por desgracia las cosas fueron de otro modo. Efectivamente, en
general cada productor adopta e implementa en la propia base de datos slo el corazn del
lenguaje SQL (el as llamado Entry level o al mximo el Intermediate level), extendindolo de
manera individual segn la propia visin que cada cual tenga del mundo de las bases de datos.

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

Utilizado para crear nuevas tablas, campos e ndices

DROP

Empleado para eliminar tablas e ndices

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la


definicin de los campos.

Comandos DML
Comando Descripcin
SELECT

Utilizado para consultar registros de la base de datos que satisfagan


un criterio determinado

INSERT

Utilizado para cargar lotes de datos en la base de datos en una nica


operacin.

UPDATE

Utilizado para modificar


registros especificados

DELETE

Utilizado para eliminar registros de una tabla de una base de datos

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

Utilizada para especificar la tabla de la cual se van a seleccionar


los registros

WHERE

Utilizada para especificar las condiciones que deben reunir los


registros que se van a seleccionar

GROUP BY

Utilizada para separar los registros seleccionados en grupos


especficos

HAVING

Utilizada para expresar la condicin que debe satisfacer cada


grupo

ORDER BY

Utilizada para ordenar los registros seleccionados de acuerdo


con un orden especfico

Operadores Lgicos
Operador Uso
AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad


slo si ambas son ciertas.

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad


si alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

Operadores de Comparacin
Operador

Uso

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor o igual que

>=

Mayor o igual que

Igual que

BETWEEN

Utilizado para especificar un intervalo de valores.

LIKE

Utilizado en la comparacin de un modelo

In

Utilizado para especificar registros de una base de datos

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

Utilizada para calcular el promedio de los valores de un


campo determinado

COUNT

Utilizada para devolver el nmero de registros de la seleccin

SUM

Utilizada para devolver la suma de todos los valores de un campo


determinado

MAX

Utilizada para devolver el valor ms alto de un campo especificado

MIN

Utilizada para devolver el valor ms bajo de un campo especificado

Orden de ejecucin de los comandos


Dada una sentencia SQL de seleccin que incluye todas las posibles clusulas, el orden de ejecucin
de las mismas es el siguiente:
1.
2.
3.
4.
5.
6.

Clusula FROM
Clusula WHERE
Clusula GROUP BY
Clusula HAVING
Clusula SELECT
Clusula ORDER BY

Unidad III Modelado Relacional


Unidad III. Modelado Relacional
3.1. Modulacin de una Base de Datos
Los modelos de datos aportan la base conceptual para disear aplicaciones que hacen un uso
intensivo de datos, as como la base formal para las herramientas y tcnicas empleadas en el
desarrollo y uso de sistemas de informacin. Con respecto al diseo de bases de datos, el modelado
de datos puede ser descrito as (Brodie 1984:20): "dados los requerimientos de informacin y
proceso de una aplicacin de uso intensivo de datos (por ejemplo, un sistema de informacin),
construir una representacin de la aplicacin que capture las propiedades estticas y dinmicas
requeridas para dar soporte a los procesos deseados (por ejemplo, transacciones y consultas).
Adems de capturar las necesidades dadas en el momento de la etapa de diseo, la representacin
debe ser capaz de dar cabida a eventuales futuros requerimientos".

3.1.1. Modelo Entidad-Relacin

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

Representacin grfica de Entidades y Relaciones


Para asimilar fcilmente un diseo de datos cuando se emplea el modelo E/R se utilizan los
siguientes elementos grficos:

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:

3.1.2. Definicin de dato, entidad y conjunto de entidades, atributos y sus dominios


*Dato: El dato es una representacin simblica (numrica, alfabtica, algortmica, entre otros.),
un atributo o caracterstica de una entidad. Los datos describen hechos empricos, sucesos y
entidades.
*Conjunto de Entidades: es un contenedor lgico para las instancias de un tipo de entidad y las
instancias de cualquier tipo que se deriven de ese tipo de entidad.
*Atributos: Los atributos representan las propiedades pertinentes o caractersticas de una
entidad. En el modelo fsico, se representan atributos como columnas de una tabla. Hay dos tipos
de atributos, la tabla debajo de describe estos tipos:
Atributo
Descripcin
identificadores

Un atributo que ayuda a identificar a una entidad son los atributos de la llave
primaria.

Descriptor

Un atributo no-llave. Siguiendo las reglas de normalizacin, si un atributo no es


parte de la llave primaria, entonces su nico propsito es describir las
caractersticas de la entidad.

*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.

3.1.3. Definicin de relacin y conjunto de relaciones, relaciones binarias, ternarias (aridad)


*Relacin: una relacin o vnculo entre dos o ms entidades describe alguna interaccin entre las
mismas. Por ejemplo, una relacin entre una entidad "Empleado" y una entidad "Sector" podra
ser "trabaja_en", porque el empleado trabaja en un sector determinado.
*Conjunto de relaciones: es un grupo de relaciones del mismo tipo.
*Relaciones Binarias: Las relaciones binarias se utilizan en muchos ramas de las matemticas para
modelar conceptos como "es mayor que", "es igual a", y "se divide" adentro aritmtica, "a
"adentro geometra, "est adyacente" a adentro teora de grfico, y muchos ms. El concepto todoimportante de funcin se define comoclase especial de relacin binaria. Las relaciones binarias son
tambin muy usadas adentro informtica, especialmente dentro de modelo emparentado
para bases de datos. Una relacin binaria es el caso especial n = 2 de n- ary relacin, es decir,
un sistema de n- tuples donde jth componente de cada uno n- el tuple se toma de jth dominio Xj
de la relacin. n- la relacin ary entre elementos de un solo sistema reputa.

*Ternarias(aridad):Una relacin ternaria relaciona tres tipos y es principalmente terica

.
*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

3.1.5. Dependencia por existencia


Nos permiten definir que un conjunto de entidades esta condicionado a la existencia de otro un
ejemplo de este condicionamiento se da entre una entidad alumno y la entidad calificacin.
A esta limitante se le denomina dependencia por existencia. Si una entidad Y requiere de una
entidad X para existir se dice que Y es dependiente por existencia de X; esto implica que si
eliminamos a la entidad X; deber eliminarse la entidad Y.
Para el caso anterior, se nombrara a X como la entidad dominante, y a Y como entidad subordinada.
3.1.6. Llaves de acceso y tipos

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.

* Conjunto de entidades o relacin con sus atributos


* Conjunto entidades con relaciones
* Cada elemento debe etiquetarse con su nombre.

3.2. Reglas de integridad y restricciones de asignacin


*Reglas de Integridad: La integridad en una base de datos se refiere a la correccin y exactitud de
la informacin contenida.
Hay tres reglas de integridad muy importantes que son restricciones que se deben cumplir en
todas las bases de datos relacionales y en todos sus estados o instancias (las reglas se deben
cumplir todo el tiempo). Estas reglas son la de integridad de entidades, restricciones de dominio y
la de integridad referencial.

Reglas de Integridad - Dominio


Un Dominio de valores posibles puede estar asociado a cada atributo. Los lmites de Dominio son
la forma ms elemental de restricciones de Integridad. Son fciles de probar en el sistema siempre
que se introduce un nuevo dato en el sistema.
Una definicin bien adecuada de restricciones de dominio no slo nos permite probar valores
insertados en la base de datos. Tambin nos permite probar consultas para asegurarnos de que las
comparaciones que se hacen tienen sentido.
Reglas de Integridad - Relacin
Las reglas de Integridad de relacin son restricciones que se deben cumplir en todas las bases de
datos relacionales y en todos sus estados o instancias, es decir, se deben cumplir todo el tiempo.
Existen bsicamente dos reglas de Integridad asociadas con el modelo relacional: la Integridad de
Entidad y la Integridad Referencial. Estas dos reglas son generales y tienen relacin con las llaves
primarias y forneas.
Integridad de Entidad
Las restricciones de entidades aseguran la integridad de las entidades que son modeladas por el
sistema. En el nivel ms simple, la existencia de una clave principal es una restriccin de entidad
que impone la regla "cada entidad debe estar identificada de forma nica".
En esta no est permitido que algn componente de la clave primaria acepte valores nulos.
Las razones de esta regla son:

Las tuplas en las relaciones base representan entidades en la realidad.


Las entidades en la realidad son identificables por definicin.
Sus contrapartes en la base de datos tambin deben ser identificables.
Los valores de la clave primaria sirven como identificadores en la base de datos.
Los valores de clave primaria no pueden ser nulos.

*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

Normalizacin en Base de Datos Relacionales


Consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidadrelacin al modelo relacional.
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualizacin de los datos en las tablas.
Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una tabla sea
considerada como una relacin tiene que cumplir con algunas restricciones:

Cada tabla debe tener su nombre nico.


No puede haber dos filas iguales. No se permiten los duplicados.
Todos los datos en una columna deben ser del mismo tipo.

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:

Reflexividad. A partir de cualquier atributo o conjunto de atributos siempre puede deducirse l


mismo. Dependencia trivial: x -> x.

Aumentatividad. Si x -> y entonces x+z -> y. As se puede aumentar trivialmente el antecedente de


una dependencia. Ejemplo: si con el dni se determina el nombre de una persona, entonces con el
dni ms la direccin tambin se determina el nombre.

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.

Transitividad o enlace de dependencias funcionales. Si x -> y e y -> z entonces x -> z. Ejemplo: si


con el dni puede determinarse el cdigo de la provincia de residencia de una persona y con ste
cdigo puede determinarse el nombre de la provincia, entonces con el dni puede determinarse el
nombre de la provincia. ste es el mecanismo bsico de funcionamiento del enlace entre tablas a
partir de claves ajenas.

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.

Si una tabla no satisface una determinada regla de normalizacin, se procede a descomponerla en


otras dos nuevas que s las satisfagan. Esto usualmente requiere decidir qu atributos de la tabla
original van a residir en una u otra de las nuevas tablas. La descomposicin tiene que conservar
dos propiedades fundamentales:

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.

2.No prdida de dependencias funcionales.


La normalizacin consiste pues en descomponer los esquemas relacionales (tablas) en otros
equivalentes (puede obtenerse el original a partir de los otros) de manera que se verifiquen unas
determinadas reglas de normalizacin. Evidentemente las reglas de normalizacin imponen una
serie de restricciones en lo relativo a la existencia de determinados esquemas
relacionales. Segn se avance en el cumplimiento de reglas y restricciones se alcanzar una mayor
forma normal. Existen cinco formas normales hacia las cuales puede conducir el proceso de
normalizacin de forma incremental ms una forma normal independiente de las otras.

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

FN1. Se pretende garantizar la no existencia de grupos repetitivos. Un grupo repetitivo es un


conjunto de atributos de igual semntica en el problema y dominio, que toman valores distintos
para la misma clave. Cualquier esquema que tenga claves correctas est seguro en FN1.

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.

Forma norma de boyce-cood(FNCB)


Es una de las formas normales ms deseables que se pueden obtener. Es un esquema de relacin
R esta en FNBC respecto a un conjunto de dependencias funcionales F si , para todas las
dependencias funcionales de F+ de la forma , donde R y B R, se cumple al menos una
de las siguientes condiciones:
es una dependencia funcional trivial es una superclave del esquema R
Un diseo de base de datos esta en FNBC si cada miembro del conjunto de esquemas de relacin
que constituye el diseo esta en FNBC.

Вам также может понравиться