Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FORMAS NORMALES
La normalizacin es un proceso que pretende conseguir tablas con una estructura ptima
y eficaz. El proceso de normalizacin est basado en lograr la independencia de los datos
respecto a las aplicaciones que los usan.
Antes de empezar el proceso, se han de conocer las tablas que intervendrn y las
relaciones que las unen. Si no se conocen a partir del anlisis previo, se buscan todos los
nombres (sustantivos) que han sido empleados en la definicin del problema. Algunos de
esos nombres sern las entidades, otros dependern de ellas y sern los atributos. Otros
no formarn parte ni de las entidades ni de los atributos, son parte del lenguaje necesario
para describir el problema a solucionar mediante la creacin de una base de datos.
Ejemplo prctico.
<<...a cada cliente, al pasar por Caja... se marcan por la caja registradora
los artculos que ha comprado. Con los datos de los artculos se hace una
factura por el importe total de las mercancas adquiridas que se imprime y
se entrega al cliente. Los datos de la factura se almacenan para su
posterior tratamiento informtico que comprende...>>.
Las tablas son sustantivos, por lo que tenemos los siguientes: cliente, Caja, caja
registradora, artculos, datos de los artculos, factura, importe total, mercancas
adquiridas, datos de la factura. De estos nombres, algunos son atributos de otros: datos
de los artculos y artculos, datos de la factura, importe total y factura. De cada cliente no
se piden datos, por lo que aunque sea una tabla, si no se necesitan sus datos, no se
crear esa entidad. Caja con mayscula se refiere a un objeto con el que se realizan
procesos, por lo que no se necesita almacenar informacin de ellos. De cada una de las
cajas registradoras, tal vez se necesite para las facturas, el nmero de caja, por lo que se
considera una entidad ms. Mercancas adquiridas y artculos que ha comprado son
sinnimos, por lo que solo se tratar de artculos.
Las tablas encontradas tras el anlisis son: artculos, factura y caja registradora. Caja
registradora se puede considerar un atributo de factura, por lo que tenemos dos tablas.
Las relaciones se pueden encontrar conociendo todos los verbos que aparecen en la
definicin del problema. Se eliminan aquellos verbos que son necesarios para el lenguaje
y se buscan aquellos que implican dos o ms entidades (sustantivos) que ya se han
encontrado.
En el ejemplo han aparecido los verbos: pasar, se marcan, ha comprado, se hace una
factura, imprime, entrega, almacena. De estos verbos, los que asocian entidades son:
marcar, comprar. Los verbos pasar, hacer factura, imprimir, entregar, almacenar, se
refieren a procesos que se van a realizar, no a asociaciones entre entidades.
Se han obtenido las siguientes entidades con sus relaciones: clientes, comprar artculos y
marcar artculos en factura. Como no se necesitan los datos de los clientes, queda la
relacin marcada (en la caja registradora) que une las tablas artculos, y factura. La
operacin marcar en la caja registradora significa que los artculos se incluyen en una
factura que se entregar al cliente para su liquidacin, consiguindose obtener el modelo
entidad-relacin siguiente:
Ape
Nom
Garca
Sanchez Luisa
Dir
Francisco C/Marn 16
CPost
Pobl
Prov
33698 Oviedo
Asturias
Esta tabla no est en 1FN, ya que el cliente con Id 2 tiene dos direcciones. Para poder
tener esta tabla en 1FN se hace el siguiente cambio:
NIF
Ape
Nom
Dir
Francisco C/Marn 16
CPost
Pobl
Prov
Garca
Sanchez Luisa
C/Teneras 34
Sanchez Luisa
C/Ramorta 65
54585 Bueu
Pontevedra
Dir
CPost
Pobl
Prov
C/ Marn n16
33698
Oviedo
Asturias
C/ Teneras n34
85458
Cigales
Valladolid
C/ Ramorta n65
54585
Bueu
Pontevedra
NIF
Ape
Nom
Garca
Francisco
Sanchez
Luisa
Una tabla est en Tercera Forma Normal o 3FN si est en 2FN y no existen atributos que
no pertenezcan a la clave primaria que puedan ser conocidos mediante otro atributo que
no forma parte de la clave primaria, es decir, no hay dependencias funcionales transitivas.
Siguiendo con el ejemplo anterior, cuando hay dependencias funcionales transitivas, se
crea una nueva tabla con los atributos que tienen dependencia funcional transitiva,
eliminndose el atributo dependiente de la tabla original.
Si nos fijamos en esta tabla:
NIF
Dir
CPost
Pobl
Prov
C/ Marn n16
33698
Oviedo
Asturias
C/ Teneras n34
85458
Cigales
Valladolid
C/ Ramorta n65
54585
Bueu
Pontevedra
La direccin, la poblacin y la provincia dependen del cdigo postal, que no forma parte
de la clave primaria. Descomponiendo sin perdida una vez ms, obtenemos estas dos
tablas:
NIF
Dir
C/ Marn n16
C/ Teneras n34
C/ Ramorta n65
CPost
Dir
Pobl
Prov
33698
C/ Marn n16
Oviedo
Asturias
85458
C/ Teneras n34
Cigales
Valladolid
54585
C/ Ramorta n65
Bueu
Pontevedra
Dir
Pobl
30009
Murcia
48596
Madrid
En este caso hay dependencia entre el cdigo postal y la poblacin, ya que, conocido el
cdigo postal se puede conocer la poblacin, y conocida la direccin y la poblacin, se
conoce el cdigo postal. Para transformar la tabla en una tabla en FNBC se crea una tabla
de cdigos postales y poblaciones, eliminando de la tabla original la poblacin,
obtenindose dos tablas, una con los atributos direccin y cdigo postal y otra con el
cdigo postal y la poblacin:
CPost
Dir
30009
48596
CPost
Pobl
30009
Murcia
48596
Madrid
Tipo Vehculo
Tipo Carga
Juan
Furgoneta
Perecederos
Marcos
Furgoneta
Perecederos
Juan
Furgoneta
Muebles
Marcos
Furgoneta
Muebles
Juan
Camin
Mudanza
Marcos
Camin
Mudanza
Tipo Vehculo
Tipo Carga
Furgoneta
Perecederos
Furgoneta
Perecederos
Furgoneta
Muebles
Furgoneta
Muebles
Camin
Mudanza
Camin
Mudanza
Conductor
Tipo Vehculo
Juan
Furgoneta
Marcos
Furgoneta
Juan
Furgoneta
Marcos
Furgoneta
Juan
Camin
Marcos
Camin
*Unin:
Formar, a partir de dos tablas, una nueva con todos los campos de una
de ellas y los registros de ambas, excepto los repetidos. Ambas tablas
han de tener el mismo grado y las mismas columnas.
Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de Proyeccin-Unin si
est en 4FN y las nicas dependencias que existen son las dependencias de unin de
una tabla con sus proyecciones relacionndose entre las distintas proyecciones mediante
la clave primaria o cualquier clave alternativa. La 5FN se emplea cuando en una misma
tabla tenemos mucha informacin redundante, con pocos atributos o cuando una tabla
posee una gran cantidad de atributos y se hace por ello inmanejable.
Para conseguir que una tabla 4FN con gran cantidad de atributos est en 5FN, se parte la
tabla original en tantas tablas como se desee, teniendo cada una de ellas en comn con
las dems los campos que forman la clave primaria en la tabla original.
Ejemplo para el caso de una tabla que posee una gran cantidad de atributos:
Datos
Familiares
Id
1 D1
D2
D3
Datos
Profesionales
D4
D5
D6
Datos
Personales
D7
D8
D9
Datos
Clnicos
D10 D11 D12
En este caso tenemos una empresa donde se guardan los datos personales, familiares,
profesionales y clnicos de cada empleado en una nica tabla llamada Empleados. Si esta
tabla est ya en 4FN, se puede partir en las tablas empleados-personal, empleadosfamilia, empleados-profesional, empleados-clnicos; de este modo, la velocidad de acceso
y la gestin de datos por cada departamento de la empresa se simplifica, al no tenerse
que crear ningn tipo de restriccin sobre determinados atributos que no han de ser vistos
por el personal que no los necesite.
El resultado sera:
Id
1
Datos Familiares
D1
Id
1
D2
D3
Datos Profesionales
D4
D5
D6
Id
1
Datos Personales
D7
D8
Id
1
D9
Datos Clnicos
D10
D11
D12
Ejemplo para el caso de una tabla que posee mucha informacin redundante, con pocos
atributos:
Biblioteca
Ttulo
Fecha
Socio
T1
FT
S1
T2
FU
S2
T3
FV
S1
T4
FG
S4
T1
FH
S3
T2
FT
S4
T3
FV
S3
Si se tiene una tabla de prstamo de libros de una biblioteca, con los atributos ttulo, fecha
de prstamo y nmero de socios que ha tomado prestado el libro, existen multitud de
registros que se crean diariamente en esa tabla, pero para cada libro o para cada socio
habr pocos registros, con lo que una consulta para esa tabla como: Cules son los
libros ledos por un determinado socio?, puede tener una velocidad de respuesta elevada.
Si esta tabla se parte en las tablas ttulo-fecha, ttulo-socio y socio-fecha, cualquier
consulta similar a la anterior tendr un tiempo de respuesta tolerable, y cuando sea
necesario, se podrn realizar consultas que impliquen los datos de las tres tablas.
El resultado sera pues:
Ttulo-Fecha
Ttulo
Fecha
T1
FT
T2
FU
T3
FV
T4
FG
T1
FH
T2
FT
T3
FV
Ttulo-Socio
Ttulo
Socio
T1
S1
T2
S2
T3
S1
T4
S4
T1
S3
T2
S4
T3
S3
Fecha-Socio
Fecha
Socio
FT
S1
FU
S2
FV
S1
FG
S4
FH
S3
FT
S4
FV
S3
Insercin de tuplas
Borrado de tuplas
Modificacin de tuplas
Consulta
La dinmica del modelo relacional acta sobre conjuntos de tuplas y se expresa mediante
lenguajes de manipulacin relacionales que asocian una sintaxis concreta a las
operaciones. Los lenguajes relaciones, por tanto, operan tambin sobre conjuntos de
tuplas, es decir, no son lenguajes de navegacin sino de especificacin, y se dividen en
dos tipos:
Operadores derivados:
Se pueden expresar en funcin de los operadores primitivos.
Combinacin o Join ()
Interseccin ()
Divisin (:)
INTERSECCIN
Notacin: r s
Definida como:
r s ={ t | t r and t s }
Asume:
r, s tienen la misma aridad
Atributos de r y s son compatibles
Note: r s = r - (r - s)
DIVISIN
Adecuada para consultas que incluyen la expresin para
todos.
Si r y s son relaciones de los esquemas R y S respectivamente
donde:
S = (B1, , Bn)
El resultado de r s es una relacin sobre el esquema
R S = (A1, , Am)
r s = { t | t R-S(r) u s ( tu r ) }
CALCULO RACIONAL
Caractersticas
Lenguaje de Consulta para bases de datos relacionales
Se utiliza para manipulacin de datos a partir de las relaciones
Basado en el Clculo de Predicados de Primer Orden (refleja las
relaciones que existen entre los elementos de un dominio)
Variantes: de tuplas y de dominio
SGBD
Un Sistema Gestor de base de datos (SGBD) es un conjunto de programasque permiten
crear y mantener una Base de datos, asegurando su integridad,confidencialidad y
seguridad. Por tanto debe permitir: Definir una base de datos: especificar tipos,
estructuras y restricciones dedatos.Construir la base de datos: guardar los datos en
algn medio controlado porel mismo SGBD.Manipular la base de datos: realizar
consultas, actualizarla, generarinformes.Algunas de las caractersticas deseables en un
Sistema Gestor de base dedatos SGBD son:Control de la redundancia: La redundancia
de datos tiene varios efectosnegativos (duplicar el trabajo al actualizar, desperdicia
espacio en disco,puede provocar inconsistencia de datos) aunque a veces es deseable
porcuestiones de rendimiento y seguridad.Restriccin de los accesos no autorizados:
cada usuario ha de tener unospermisos de acceso y autorizacin.Cumplimiento de las
restricciones de integridad: el SGBD ha de ofrecerrecursos para definir y garantizar el
cumplimiento de las restricciones deintegridad.
DIFERENCIAS ENTRE LOS SGBDs
ORACLE:
Es un sistema de base de datos relacional, se considera como uno de los sistemas de
base de datos ms completos. Es una potente herramienta cliente/servidor para la gestin
de Bases de Datos. Es el conjunto de datos que proporciona la capacidad de almacenar y
acudir a estos de forma recurrente con un modelo definido como relacional.
VENTAJAS DE ORACLE:
Oracle es la base de datos con ms orientacin haca internet.
Oracle soporta todas las funciones que se esperan de un servidor serio: un lenguaje de
diseo de bases de datos muy completo (PL/SQL) que permite implementar diseos
activos, con triggers y procedimientos almacenados, con una integridad referencial
declarativa bastante potente.
Permite el uso de particiones para la mejora de la eficiencia, de replicacin e incluso
ciertas versiones admiten la administracin de bases de datos distribuidas.
El software del servidor puede ejecutarse en multitud de sistemas operativos.
DESVENTAJAS DE ORACLE:
El mayor inconveniente de Oracle es quizs su precio. Incluso las licencias de Personal
Oracle son excesivamente caras.
Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que
basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes.
Un Oracle mal configurado puede ser desesperantemente lento.
Tambin es elevado el coste de la formacin, y slo ltimamente han comenzado a
aparecer buenos libros sobre asuntos tcnicos distintos de la simple instalacin y
administracin.
POSTGRESQL:
Es un sistema de base de datos relacional orientada a objetos que esta publicado bajo
una licencia BSD. Es un proyecto de cdigo libre debido a estas caractersticas sus
mejoras han sido un poco mas rpidas en comparacin con otros sistemas de BD.
Soporta distintos tipos de datos: adems del soporte para los tipos base, tambin soporta
datos de tipo fecha, monetarios, elementos grficos, datos sobre redes, cadenas de bits,
etc.
VENTAJAS DE POSTGRESQL:
Su BD est relacionado a Open Source (de cdigo abierto), gratuito y que al tener
licencia de tipo BSD, nos permite manejar libremente el cdigo fuente.
Soporta replicacin de bases de datos asncrona, realizando primero las transacciones
en un servidor maestro para que se puedan actualizar en los servidores esclavos
dando alta disponibilidad al sistema.
Posee un buen sistema de seguridad mediante la gestin de usuarios, grupos de
usuarios, permisos y contraseas. Tambin gran capacidad de almacenamiento.
Tiene algunas herramientas o aplicaciones para gestionar o administrar el servidor y sus
BD con interfaces grficas e intuitivas o en modo de lnea de comandos.
DESVENTAJAS DE POSTGRESQL:
Consume ms recursos que MySQL, por lo que se necesitan mayores caractersticas de
hardware para ejecutarlo.
Es un magnfico gestor de bases de datos, capaz de competir con muchos gestores
comerciales, aunque el primer encuentro con este gestor es un poco duro, ya que la
sintaxis de algunos de sus comandos o sentencias no es nada intuitiva, sin embargo
existe una amplia documentacin en su sitio web (http://www.postgresql.org) o en la
ayuda de PostgreSQL (aplicacin psql y documentacin de PostgreSQL).
MYSQL:
Es software libre, de un SGBD relacional, licenciado bajo la GPL de la GNU. Es un
sistema de administracin de bases de datos (Database Management System, DBMS)
para bases de datos relacionales. Su diseo multihilo le permite soportar una gran carga
de forma muy eficiente. Fue escrito en C y C++ y destaca por su gran adaptacin a
diferentes entornos de desarrollo, permitiendo su interactuacin con los lenguajes de
programacin ms utilizados como PHP, Perl y Java y su integracin en distintos sistemas
operativos.
VENTAJAS DE MYSQL:
MySQL es Open Source: Significa que es posible para cualquiera usar y modificar el
software.
El servidor de bases de datos relacionales MySQL es muy rpido, fiable y fcil de usar.
Buen rendimiento, buena velocidad a la hora de conectar con el servidor y de respuesta
a consultas.
MySQL posee un buen control de acceso de usuarios y seguridad en los datos.
Integracin perfecta con el lenguaje PHP.
ACCESS
Es una aplicacin que viene con el paquete Office de Microsoft. Para obtener Access
necesitas instalar una versin de Office que lo contenga. Es un sistema de gestin de
base de datos que utiliza por defecto el motor de base de datos Microsoft Jet. Con esto
quiero decir que Access en realidad es una interfaz preparada para gestionar cualquier
base de datos. Este programa permite manipular los datos en forma de tablas (formadas
por filas y columnas), crear relaciones entre tablas, consultas, formularios para introducir
datos e informes para presentar la informacin.
VENTAJAS DE ACCESS
Es la base de datos ms amigable y verstil del mercado.
Incluye expertos para realizar indagaciones, ellos pueden ayudar a encontrar entradas
duplicadas y realizar relaciones cruzadas de los datos.
Para aprender el programa basta tener la ayuda en lnea, ya que es completa e
informativa.
Altamente es potente y eficiente.
Obtener mejores resultados con la interfaz de usuario de Office Fluent.
Empezar rpidamente usando soluciones prediseadas.
Crea varios informes con vistas diferentes de la misma informacin.
Crear tablas rpidamente sin preocuparse de la complejidad de las bases de datos.
Creo los nuevos tipos de campos para escenarios an ms avanzados.
DESVENTAJAS DE ACCESS
La principal limitante es que solo te acepta 1 GB por tabla, 256 campos por tabla, y 35
ndices por tabla, fuera de ah, no ha mejorado en el aspecto de seguridad y consistencia.
Base de datos de un muy reducido potencial, slo para soluciones caseras.
Uno de los grandes inconvenientes que tiene la base de datos de Access es que no es
multiplataforma, pues slo est disponible para sistemas operativos de Microsoft, Su uso
es inadecuado para grandes proyectos de software que requieren tiempos de respuesta
crticos.
ALUMNO:
ANGEL DE JESS PREZ RODRIGUEZ
MATERIA:
DESARROLLO DE BASE DE DATOS
CATEDRATICO:
LORENZO BASTARD
CICLO:
6to CUATRIMESTRE
INGENIERIA EN SISTEMAS COMPUTACIONALES
INDICE
UNIDAD I
MODELO RELACIONAL
1.3.2
UNIDAD II SGBD
2.1
2.2
2.3
2.4
2.5
2.6
MYSQL
QUEL
SQL SERVER
ORACLE
ACCESS
POSTGRES