You are on page 1of 14

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL

SENA REGIONAL CAUCA


TECNICO EN PROGRAMACION
BASES DE DATOS

Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una
base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su
consulta. Actualmente, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la
mayora de las bases de datos estn en formato digital, siendo este un componente electrnico, y por ende se
ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado DBMS, que permiten
almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos
DBMS, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica.
Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas; Tambin son
ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental.
Base de datos relacional
Una Base de Datos Relacional, es una base de datos que cumple con el modelo relacional (modelo de
datos basado en la lgica de predicados), el cual es el modelo ms utilizado en la actualidad para
implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos
(que estn guardados en tablas), y a travs de dichas conexiones relacionar los datos de ambas tablas, de
ah proviene su nombre: "Modelo Relacional".
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos
por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de clculo.
Una tabla es utilizada para organizar y presentar informacin. Las tablas se componen de filas y columnas de
celdas que se pueden rellenar con textos y grficos Las tablas se componen de dos estructuras:

Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los
mismos tipos que los dems registros. Ejemplo: en una tabla de nombres y direcciones, cada fila
contendr un nombre y una direccin.

Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de
otros campos. En el ejemplo anterior, un campo contendr un tipo de datos nico, como una direccin, o
un nmero de telfono, un nombre, etc.

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

A los campos se les puede asignar, adems, propiedades especiales que afectan a los registros insertados. El
campo puede ser definido como ndice o autoincrementable, lo cual permite que los datos de ese campo
cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre nico en la cada Base de Datos, hacindola accesible mediante su
nombre o su seudnimo (Alias) (dependiendo del tipo de base de datos elegida).
Restricciones
Una restriccin es una limitacin 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 limitan los
datos que pueden ser almacenados en las tablas. Las restricciones no son parte formal del modelo relacional,
pero son incluidas porque juegan el rol de organizar mejor los datos.
Dominios
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 "cualquier valor de este atributo debe ser elemento del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.
Cada tabla puede tener uno o ms campos cuyos valores identifican de forma nica cada registro de dicha
tabla, es decir, no pueden existir dos o ms registros diferentes cuyos valores en dichos campos sean
idnticos.
Clave primaria
Una clave primaria es aquella columna (o conjunto de columnas) que identifica nicamente a una fila. La
clave primaria es un identificador que va a ser siempre nico para cada fila. Se acostumbra a poner la clave
primaria como la primera columna de la tabla pero es ms una conveniencia que una obligacin. Muchas

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

veces la clave primaria es numrica auto-incrementada, es decir, generada mediante una secuencia numrica
incrementada automticamente cada vez que se inserta una fila.
Es una clave nica elegida entre todas las candidatas que define unvocamente a todos los dems atributos
de la tabla, para especificar los datos que sern relacionados con las dems tablas. La forma de hacer esto es
por medio de claves forneas.
Clave fornea
Una clave fornea es una referencia a una clave en otra tabla, determina la relacin existente en dos tablas.
Las claves forneas no necesitan ser claves nicas en la tabla donde estn y s a donde estn referenciadas.
Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de empleados. Se permite
que haya varios empleados en un mismo departamento, pero habr uno y slo un departamento por cada
clave distinta de departamento en la tabla de departamentos.
Clave ndice
Las claves ndice surgen con la necesidad de tener un acceso ms rpido a los datos. Los ndices pueden ser
creados con cualquier combinacin de campos de una tabla. Las consultas que filtran registros por medio de
estos campos, pueden encontrar los registros de forma no secuencial usando la clave ndice.
Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada una de ellas es ptima
para cierta distribucin de datos y tamao de la relacin.
Los ndices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin
embargo, las claves ndices son desarrolladas por el mismo grupo de programadores que las otras partes de
la base de datos.
Procedimientos almacenados
Un procedimiento almacenado es cdigo ejecutable que se asocia y se almacena con la base de datos. Los
procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un
registro dentro de una tabla, recopilar informacin estadstica, o encapsular clculos complejos.

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Estructura
La base de datos se organiza en dos marcadas secciones; el esquema y los datos. El esquema es la
definicin de la estructura de la base de datos y principalmente almacena los siguientes datos:

El nombre de cada tabla

El nombre de cada columna

El tipo de dato de cada columna

La tabla a la que pertenece cada columna

El proceso de normalizacin de bases de datos consiste en aplicar una serie de reglas a las relaciones
obtenidas tras el paso del modelo entidad-relacin al modelo relacional.
Las bases de datos relacionales se normalizan para:

Evitar la redundancia de los datos.

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

Terminologa relacional equivalente

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Figura 1.0: Trabajo (Cdigo, Nombre, Posicin, Salario), donde Cdigo es la Clave Primaria.
4 Modelo Relacional: Normalizacin
Llegamos al ltimo proceso netamente terico del modelado de bases de datos: la normalizacin. La
normalizacin no es en realidad una parte del diseo, sino ms bien una herramienta de verificacin. Si
hemos diseado bien los mdelos conceptual y lgico de nuestra bases de datos, veremos que la
normalizacin generalmente no requerir cambios en nuestro diseo.
Normalizacin
Antes de poder aplicar el proceso de normalizacin, debemos asegurarnos de que estamos trabajando con
una base de datos relacional, es decir, que cumple con la definicin de base de datos relacional.
El proceso de normalizacin consiste verificar el cumplimiento de ciertas reglas que aseguran la eliminacin
de redundancias e inconsistencas. Esto se hace mediante la aplicacin de ciertos procedimientos y en
ocasiones se traduce en la separacin de los datos en diferentes relaciones. Las relaciones resultantes deben
cumplir ciertas caractersticas:

Se debe conservar la informacin:


o

Conservacin de los atributos..

Se deben conservar las dependencias.

Este proceso se lleva a cabo aplicando una serie de reglas llamadas "formas normales".

Relacin = tabla o archivo

Registro = registro, fila , rengln

Atributo = columna o campo

Clave = llave o cdigo de identificacin

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Clave Candidata = superclave mnima

Clave Primaria = clave candidata elegida

Clave Ajena (o fornea) = clave externa o clave fornea

Clave Alternativa = clave secundaria

Dependencia Multivaluada = dependencia multivalor

RDBMS = Del ingls Relational Data Base Manager System que significa, Sistema Gestor de Bases
de Datos Relacionales.

1FN = Significa, Primera Forma Normal o 1NF del ingls First Normal Form.

Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valores que el mismo puede
tomar.

Dependencia
Dependencia funcional

B es funcionalmente dependiente de A.
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera:
FechaDeNacimiento
Formas Normales

Edad

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos est en la
forma normal N es decir que todas sus tablas estn en la forma normal N.

Diagrama de inclusin de todas las formas normales.


En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayora de
las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.1

Primera Forma Normal (1FN)


La primera forma normal (1FN o forma mnima) es una forma normal usada en normalizacin de bases de
datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto
mnimo de criterios, sus datos son atmicos. Estos criterios se refieren bsicamente a asegurarse que la tabla
es una representacin fiel de una relacin1 y est libre de "grupos repetitivos".2
Las tablas 1FN como representaciones de relaciones
Una tabla est en Primera Forma Normal si:

Todos los atributos son atmicos. Un atributo es atmico si los elementos del dominio son
indivisibles, mnimos ejemplo un solo telfono si el usuario tiene ms de un telfono se debe derivar a
una tabla telfonos usuario.

La tabla contiene una clave primaria nica que identifica la tabla.

La clave primaria no contiene atributos nulos.

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Los Campos no clave deben identificarse por la clave (Dependencia Funcional)

Una tabla no puede tener mltiples valores en cada columna.

Esta forma normal elimina los valores repetidos dentro de una Base de Datos.
Ejemplos de tablas que no cumplen la primera forma normal.

Una tabla que carece de una clave primaria. Esta tabla podra acomodar filas duplicadas, en
violacin de la condicin 3.

Una tabla con por lo menos un atributo que pueda ser nulo. Un atributo que pueda ser nulo estara
en violacin de la condicin 4, que requiere a cada campo contener exactamente un valor de su
dominio de columna. Sin embargo, debe observarse que este aspecto de la condicin 4 es
controvertido. Muchos autores consideran que una tabla est en 1FN si ninguna clave candidata
puede contener valores nulos, pero se aceptan stos para atributos (campos) que no sean clave.

Grupos repetidos
La cuarta condicin que expresa "lo que la mayora de la gente piensa como la caracterstica que define la
1FN",7 concierne a grupos repetidos. El siguiente ejemplo ilustra cmo un diseo de base de datos puede
incorporar la repeticin de grupos, en violacin de la 1FN.
Ejemplo 1: Dominios y valores
Suponga que un diseador principiante desea guardar los nombres y los nmeros telefnicos de los clientes.
Procede a definir una tabla de cliente como la que sigue:

Cliente

ID Cliente

Nombre

Apellido

Telfono

123

Rachel

Ingram

555-861-2025

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

456

James

Wright

555-403-1659

789

Cesar

Dure

555-808-9633

En este punto, el diseador se da cuenta de un requisito para guardar mltiples nmeros telefnicos para
algunos clientes. Razona que la manera ms simple de hacer esto es permitir que el campo "Telfono"
contenga ms de un valor en cualquier registro dado:

Cliente

ID Cliente

Nombre

Apellido

Telfono

123

Rachel

Ingram

555-861-2025

456

James

Wright

789

Cesar

Dure

555-403-1659
555-776-4100

555-808-9633

Asumiendo, sin embargo, que la columna "Telfono" est definida en algn tipo de dominio de nmero
telefnico (por ejemplo, el dominio de cadenas de 12 caracteres de longitud), la representacin de arriba no
est en 1FN. La 1FN prohbe a un campo contener ms de un valor de su dominio de columna.
Ejemplo 2: Grupos repetidos a travs de columnas
El diseador puede evitar esta restriccin definiendo mltiples columnas del nmero telefnico:

Cliente

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

ID Cliente

Nombre

Apellido

Telfono 1

123

Rachel

Ingram

555-861-2025

456

James

Wright

555-403-1659

789

Cesar

Dure

555-808-9633

Telfono 2

555-776-4100

Sin embargo, esta representacin hace uso de columnas que permiten valores nulos, y por lo tanto no se
conforman con la definicin de la 1NF. Incluso si se contempla la posibilidad de columnas con valores nulos, el
diseo no est en armona con el espritu de 1NF. Telfono 1, Telfono 2, y Telfono 3, comparten
exactamente el mismo dominio y exactamente el mismo significado; el dividir del nmero de telfono en tres
encabezados es artificial y causa problemas lgicos. Estos problemas incluyen:

Dificultad en hacer consultas a la tabla. Es difcil contestar preguntas tales como "Qu clientes
tienen el telfono X?" y "Qu pares de clientes comparten un nmero de telfono?".

La imposibilidad de hacer cumplir la unicidad los enlaces Cliente-a-Telfono. Al cliente 789 se le


puede dar equivocadamente un valor para el Telfono 2 que es exactamente igual que el valor de su
Telfono 1.

La restriccin de los nmeros de telfono por cliente a tres. Si viene un cliente con cuatro nmeros
de telfono, estamos obligados a guardar solamente tres y dejar el cuarto sin guardar. Esto significa
que el diseo de la base de datos est imponiendo restricciones al proceso del negocio, en vez de
(como idealmente debe ser el caso) al revs.

Ejemplo 3: Repeticin de grupos dentro de columnas


El diseador puede, alternativamente, conservar una sola columna de nmero de telfono, pero alterando su
dominio, haciendo una cadena de suficiente longitud para acomodar mltiples nmeros telefnicos:

Cliente

Telfono 3

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

ID Cliente

Nombre

Apellido

Telfono

123

Rachel

Ingram

555-861-2025

456

James

Wright

555-403-1659, 555-776-4100

789

Cesar

Dure

555-808-9633

ste es defendiblemente el peor diseo de todos, y otra vez no mantiene el espritu de la 1NF. El encabezado
"Telfono" llega a ser semnticamente difuso, ya que ahora puede representar, o un nmero de telfono, o
una lista de nmeros de telfono, o de hecho cualquier cosa. Una consulta como "Qu pares de clientes
comparten un nmero telefnico?" es virtualmente imposible de formular, dada la necesidad de proveerse de
listas de nmeros telefnicos as como nmeros telefnicos individuales. Con este diseo, son tambin
imposibles de definir significativas restricciones en nmeros telefnicos.
Un diseo conforme con 1FN
Un diseo que est inequvocamente en 1FN hace uso de dos tablas: una tabla de cliente y una tabla de
telfono del cliente.

Cliente

ID Cliente

Nombre

Apellido

123

Rachel

Ingram

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Telfono del cliente


456
ID Cliente
678

James

Wright

Telfono
Andres

123

555-861-2025

456

555-403-1659

123

777-408-7869

Chaves

En este diseo no ocurren grupos repetidos de nmeros telefnicos. En lugar de eso, cada enlace Cliente-aTelfono aparece en su propio registro. Es valioso notar que este diseo cumple los requerimientos
adicionales para la segunda (2NF) y la tercera forma normal (3FN).
Date sugiere que "la nocin de atomicidad no tiene ningn significado absoluto":12 un valor puede ser
considerado atmico para algunos propsitos, pero puede ser considerado un ensamblaje de elementos ms
bsicos para otros propsitos. Si esta posicin es aceptada, la 1NF no puede ser definida con referencia a la
atomicidad. Las columnas de cualquier tipo de datos concebible (desde tipos de cadenas (estn compuestas
de varias palabras) y tipos numricos hasta tipos de arreglos y tipos de tabla) son entonces aceptables en un
tabla 1NF - aunque quizs no siempre deseable.
Normalizacin ms all de la 1NF
Cualquier tabla que est en la segunda forma normal (2NF) o ms arriba, tambin est, por definicin, en 1NF
(cada forma normal tiene criterios ms rigurosos que su precursor). Por una parte, una tabla que est en 1NF
puede o no puede estar en 2NF; si est en 2NF, puede o no puede estar en 3NF, y as sucesivamente.
Las formas normales ms arriba que la 1NF son pensadas para ocuparse de las situaciones en las que una
tabla sufre de problemas de diseo que pueden comprometer la integridad de los datos dentro de ella. Por
ejemplo, la tabla siguiente est en 1NF, pero no est en 2NF y por lo tanto es vulnerable a inconsistencias
lgicas:

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

Direccin de correo del subscriptor

ID del subscriptor Direccin de correo

Primer nombre del Apellido


subscriptor

subscript

108

steve@aardvarkmail.net

Steve

Wallace

252

carol@mongoosemail.org

Carol

Robertson

252

crobertson@aardvarkmail.net

Carol

Robertson

360

hclark@antelopemail.com

Harriet

Clark

La clave de la tabla es {ID del subscriptor, Direccin de correo}.


Si Carol Robertson cambia su apellido por el de matrimonio, el cambio debe ser aplicado a dos filas. Si el
cambio es aplicado solamente a una fila, resulta en una contradiccin: la pregunta "cul es nombre del cliente
252?" tiene dos respuestas que estn en conflicto. La 2NF aborda este problema.
Segunda Forma Normal (2FN)
Dependencia Funcional. Una relacin est en 2FN si est en 1FN y si los atributos que no forman parte de
ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias
parciales. (Todos los atributos que no son clave principal deben depender nicamente de la clave principal).
En otras palabras podramos decir que la segunda forma normal est basada en el concepto de dependencia
completamente funcional.
Por ejemplo {DNI, ID_PROYECTO}

HORAS_TRABAJO (con el DNI de un empleado y el ID de un

proyecto sabemos cuntas horas de trabajo por semana trabaja un empleado en dicho proyecto) es

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL


SENA REGIONAL CAUCA
TECNICO EN PROGRAMACION
BASES DE DATOS

completamente funcional dado que ni DNI

HORAS_TRABAJO ni ID_PROYECTO

mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO}


dependiente dado que DNI

HORAS_TRABAJO

NOMBRE_EMPLEADO es parcialmente

NOMBRE_EMPLEADO mantiene la dependencia.

Tercera Forma Normal (3FN)


La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los
atributos que no son clave.
Un ejemplo de este concepto sera que, una dependencia funcional X->Y en un esquema de relacin R es una
dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R,
donde se mantiene X->Z y Z->Y.
Formalmente, un esquema de relacin
funcional

est en 3 Forma Normal ,2 si para toda dependencia

, se cumple al menos una de las siguientes condiciones:

1.

es superllave o clave.

2.

es atributo primo de

; esto es, si es miembro de alguna clave en

Adems el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal.

You might also like