Sie sind auf Seite 1von 28

Unidad 1 Ventajas De La Utilizacin De Base De Datos

Introduccin De Base De Datos


Una Base De Datos (Cuya Abreviatura Es BD) Es Una Entidad En La Cual Se Pueden
Almacenar Datos De Manera Estructurada, Con La Menor Redundancia Posible. Diferentes
Programas Y Diferentes Usuarios Deben Poder Utilizar Estos Datos. Por Lo Tanto, El
Concepto De Base De Datos Generalmente Est Relacionado Con El De Red Ya Que Se
Debe Poder Compartir Esta Informacin. De All El Trmino Base. "Sistema De Informacin"
Es El Trmino General Utilizado Para La Estructura Global Que Incluye Todos Los
Mecanismos Para Compartir Datos Que Se Han Instalado.

Por Qu Utilizar Una Base De Datos?


Una Base De Datos Proporciona A Los Usuarios El Acceso A Datos, Que Pueden Visualizar,
Ingresar O Actualizar, En Concordancia Con Los Derechos De Acceso Que Se Les Hayan
Otorgado. Se Convierte Ms til A Medida Que La Cantidad De Datos Almacenados Crece.
Una Base De Datos Puede Ser Local, Es Decir Que Puede Utilizarla Slo Un Usuario En Un
Equipo, O Puede Ser Distribuida, Es Decir Que La Informacin Se Almacena En Equipos
Remotos Y Se Puede Acceder A Ella A Travs De Una Red.
La Principal Ventaja De Utilizar Bases De Datos Es Que Mltiples Usuarios Pueden Acceder
A Ellas Al Mismo Tiempo.

Sistemas Tradicionales De Almacenamiento De Datos


Actualmente Los Sistemas De Almacenamiento De Datos Son Los Discos Duros, Tanto
Internos Como Externos, Pendrive, CD, DVD Y BLURAY.
Pero Existen Otro Tipo De Almacenamiento Que Esta Ganando Usuarios Y Es El
Almacenamiento Online, Tambin Llamado Almacenamiento En La Nube.
Los Mas Utilizados Son Dropbox, Sugarsync, Wuala, Box, Skydrive........Cada Usuario Elige
El Que Mas Se Adapta A Sus Necesidades. Estos Servicios Ofrecen Una Capacidad Gratuita
(Normalmente De 2 A 3 Gb) Y Si Necesitamos Mas Debemos Pagar Cuotas Mensuales.

Base De Datos

Es Un Sistema Que Almacena Datos Que Estn Relacionados.


Es Un Repositorio En Donde Guardamos Informacin Integrada Que Podemos Almacenar Y
Recuperar.
Un Conjunto De Informacin Almacenada En Memoria Auxiliar Que Permite Acceso Directo
Y Un Conjunto De Programas Que Manipulan Esos Datos
Componentes De Una Base De Datos:
Hardware: Constituido Por Dispositivo De Almacenamiento Como Discos, Tambores, Cintas,
Etc.
Software: Que Es El DBMS O Sistema Administrador De Base De Datos.
Datos: Los Cuales Estn Almacenados De Acuerdo A La Estructura Externa Y Van A Ser
Procesados Para Convertirse En Informacin.
El Trmino De Bases De Datos Fue Escuchado Por Primera Vez En 1963, En Un Simposio
Celebrado En California, USA. Una Base De Datos Se Puede Definir Como Un Conjunto De
Informacin Relacionada Que Se Encuentra Agrupada Estructurada.
Desde El Punto De Vista Informtico, La Base De Datos Es Un Sistema Formado Por Un
Conjunto De Datos Almacenados En Discos Que Permiten El Acceso Directo A Ellos Y Un
Conjunto De Programas Que Manipulen Ese Conjunto De Datos.
Cada Base De Datos Se Compone De Una O Ms Tablas Que Guarda Un Conjunto De
Datos. Cada Tabla Tiene Una O Ms Columnas Y Filas. Las Columnas Guardan Una Parte De
La Informacin Sobre Cada Elemento Que Queramos Guardar En La Tabla, Cada Fila De La
Tabla Conforma Un Registro.

Caractersticas De Una Base De Datos


Permite Que Slo Se Puedan Ver, Los Registros De La Base De Datos, Cuando El Usuario
Haya Introducido Un Determinado Nmero De Registros En Ella.
Permite Configurar Los Derechos De Edicin. Puede Agregar Entradas Profesores Y
Alumnos, Si Lo Permite En La Base De Datos. Esto No Restringe La Visualizacin De Sus
Entradas Para Todos.
Se Puede Limitar El Nmero Mximo De Entradas De Cada Participante.
Podemos Permitir Aadir Comentarios A Las Entradas De La Base De Datos.

Podemos Habilitar La Revisin Del Profesor Antes De Que Las Entradas Sean Pblicas.

Ventajas Del Uso De Base De Datos


.-Independencia De Los Datos Y Los Programas Y Procesos. Permite Modificar Los Datos,
Excepto El Cdigo De Aplicaciones.
.-Menor Redundancia, Es Decir, No Es Necesario La Repeticin De Datos. Solamente Se
Indica La Manera En La Que Se Relacionan stos.
.-Obtener Ms Informacin De La Misma Cantidad De Data. La Base De Datos Facilita Al
Usuario Obtener Ms Informacin Debido A La Facilidad Que Provee Esta Estructura Para
Proveer Datos A Los Usuarios.
.-Integridad De Los Datos, Lo Que Genera Mayor Dificultad De Perder La Informacin O De
Realizar Incoherencias Con Los Datos.
.-Mayor Seguridad En Los Datos. Al Permitir Restringir El Acceso A Los Usuarios, Cada Tipo
De stos Tendr La Posibilidad De Acceder A Ciertos Elementos.
.-Coherencia De Los Resultados. Al Recolectar Y Almacenarse La Informacin Una Sola Vez,
En Los Procedimientos Se Utilizan Los Mismos Datos, Razn Por La Que Los Resultados Son
Coherentes.
.-Datos Ms Documentados. Gracias A Los Metadatos Que Permiten Detallar La
Informacin De La Base De Datos.
.-Acceso Simultaneo A Los Datos, Facilitando Controlar El Acceso De Usuarios De Manera
Concurrente.
.-Balance De Requerimientos Conflictivos. Para Que La Base De Datos Trabaje
Apropiadamente, Necesita De Una Persona O Grupo Que Se Encargue De Su
Funcionamiento. El Ttulo Para Esa Posicin Es Administrador De Base De Datos Y Provee
La Ventaja De Que Disea El Sistema Tomando En Mente La Necesidad De Cada
Departamento De La Empresa. Por Lo Tanto Se Beneficia Mayormente La Empresa Aunque
Algunos Departamentos Podran Tener Leves Desventajas. Tradicionalmente Se Diseaba Y
Programa Segn La Necesidad De Cada Departamento Por Separado.
.-Reduccin Del Espacio De Almacenamiento, Debido A Una Mejor Estructuracin De Los
Datos.
.-Acceso A Los Datos Ms Eficiente. La Organizacin De Los Datos Produce Un Resultado
Ms ptimo En Rendimiento. Igualmente, En El Caso De Empresas, Usuarios De Distintas
Oficinas Pueden Compartir Datos Si Estn Autorizados.
.-Reduccin Del Espacio De Almacenamiento, Gracias A Una Mejor Estructuracin De Los
Datos.
.-Se Refuerza La Estandarizacin. Debido A Que Es Ms Fcil Estandarizar Procesos,
Formas, Nombres De Datos, Formas, Etc.
.-Flexibilidad Y Rapidez Al Obtener Datos. El Usuario Puede Obtener Informacin De La
Base De Datos Con Escribir Breves Oraciones. Esto Evita El Antiguo Proceso De Llenar Una
Peticin Al Centro De Cmputos Para Poder Obtener Un Informe.
.-Aumenta La Productividad De Los Programadores, Debido A Que Los Programadores No
Se Tienen Que Preocupar Por La Organizacin De Los Datos Ni De Su Validacin, Se
Pueden Concentrar En Resolver Otros Problemas Inmediatos, Mejorando De Ese Modo Su
Productividad.

Desventajas Del Uso De Base De Datos


.-Ausencia De Estndares Reales, Lo Cual Significa Una Excesiva Dependencia A Los
Sistemas Comerciales Del Mercado. Sin Embargo, Actualmente Un Gran Sector De La
Tecnologa Esta Aceptado Como Estndar De Hecho.
.-Requiere Personal Calificado, Debido A La Dificultad Del Manejo De Este Tipo De
Sistemas. Esto Requiere Que Los Programadores Y Los Analistas Deben Tomar Cursos Que
Los Adiestren Para Poder Comprender Las Capacidades Y Limitaciones De Las Bases De
Datos.
.-Instalacin Costosa, Ya Que El Control Y Administracin De Bases De Datos Requiere De
Un Software Y Hardware De Elevado Coste. Adems De La Adquisicin Y Mantenimiento
Del Sistema Gestor De Datos (SGBD).
.-Falta De Rentabilidad A Corto Plazo, Debido Al Coste De Equipos Y De Personal, Al Igual
Del Tiempo Que Tarda En Estar Operativa.
.-Tamao. El Sistema De Manejo De Base De Datos (DBMS) Requiere De Mucho Espacio En
Disco Duro Y Tambin Requiere De Mucha Memoria Principal (RAM) Para Poder Correr
Adecuadamente.
.-Requerimientos Adicionales De Equipo. El Adquirir Un Producto De Base De Datos,
Requiere A Su Vez Adquirir Equipo Adicional Para Poder Correr Ese Producto Como Por
Ejemplo, Servidores, Memoria, Discos Duros, Entre Otros. Si Se Pretende Correr La Base De
Datos Con El Mnimo De Requerimientos, Esta Posiblemente Se Degrada.

Arquitectura De Un Sistema De Base De Datos


Hay Tres Caractersticas Importantes Inherentes A Los Sistemas De Bases De Datos: La
Separacin Entre Los Programas De Aplicacin Y Los Datos, El Manejo De Mltiples Vistas
Por Parte De Los Usuarios Y El Uso De Un Catlogo Para Almacenar El Esquema De La Base
De Datos. En 1975, El Comit ANSI-SPARC (American National Standard Institute Standards Planning And Requirements Committee) Propuso Una Arquitectura De Tres
Niveles Para Los Sistemas De Bases De Datos, Que Resulta Muy til A La Hora De
Conseguir Estas Tres Caractersticas.
La Definicin De Un Sistema De Informacin Es La Descripcin Detallada De La
Arquitectura Del Sistema. Las Arquitecturas De Bases De Datos Han Evolucionado Mucho
Desde Sus Comienzos, Aunque La Considerada Estndar Hoy En Da Es La Descrita Por El

Comit ANSI/X3/SPARC (Standard Planning And Requirements Committee Of The American


National Standards Institute On Computers And Information Processing), Que Data De
Finales De Los Aos Setenta. Este Comit Propuso Una Arquitectura General Para Dbmss
Basada En Tres Niveles O Esquemas: El Nivel Fsico, O De Mquina, El Nivel Externo, O De
Usuario, Y El Nivel Conceptual. As Mismo Describi Las Interacciones Entre Estos Tres
Niveles Y Todos Los Elementos Que Conforman Cada Uno De Ellos.
Arquitectura ANSI
La Arquitectura De Sistemas De Bases De Datos De Tres Esquemas Fue Aprobado Por La
ANSI-SPARC (American National Standard Institute - Standards Planning And Requirements
Committee) En 1975 Como Ayuda Para Conseguir La Separacin Entre Los Programas De
Aplicacin Y Los Datos, El Manejo De Mltiples Vistas Por Parte De Los Usuarios Y El Uso De
Un Catlogo Para Almacenar El Esquema De La Base De Datos.
Nivel Interno: Tiene Un Esquema Interno Que Describe La Estructura Fsica De
Almacenamiento De Base De Datos. Emplea Un Modelo Fsico De Datos Y Los nicos Datos
Que Existen Estn Realmente En Este Nivel.
Nivel Conceptual: Tiene Esquema Conceptual. Describe La Estructura De Toda La Base De
Datos Para Una Comunidad De Usuarios. Oculta Los Detalles Fsicos De Almacenamiento Y
Trabaja Con Elementos Lgicos Como Entidades, Atributos Y Relaciones.
Nivel Externo O De Vistas: Tiene Varios Esquemas Externos O Vistas De Usuario. Cada
Esquema Describe La Visin Que Tiene De La Base De Datos A Un Grupo De Usuarios,
Ocultando El Resto.
El Objetivo De La Arquitectura De Tres Niveles Es El De Separar Los Programas De
Aplicacin De La Base De Datos Fsica.
La Mayora De Los SGBD No Distinguen Del Todo Los Tres Niveles. Algunos Incluyen
Detalles Del Nivel Fsico En El Esquema Conceptual. En Casi Todos Los SGBD Que Se
Manejan Vistas De Usuario, Los Esquemas Externos Se Especifican Con El Mismo Modelo
De Datos Que Describe La Informacin A Nivel Conceptual, Aunque En Algunos Se Pueden
Utilizar Diferentes Modelos De Datos En Los Niveles Conceptual Y Externo.
Hay Que Destacar Que Los Tres Esquemas No Son Ms Que Descripciones De Los Mismos
Datos Pero Con Distintos Niveles De Abstraccin. Los nicos Datos Que Existen Realmente
Estn A Nivel Fsico, Almacenados En Un Dispositivo Como Puede Ser Un Disco. En Un
SGBD Basado En La Arquitectura De Tres Niveles, Cada Grupo De Usuarios Hace
Referencia Exclusivamente A Su Propio Esquema Externo. Por Lo Tanto, El SGBD Debe
Transformar Cualquier Peticin Expresada En Trminos De Un Esquema Externo A Una
Peticin Expresada En Trminos Del Esquema Conceptual, Y Luego, A Una Peticin En El
Esquema Interno, Que Se Procesar Sobre La Base De Datos Almacenada. Si La Peticin Es
De Una Obtencin (Consulta) De Datos, Ser Preciso Modificar El Formato De La
Informacin Extrada De La Base De Datos Almacenada, Para Que Coincida Con La Vista
Externa Del Usuario. El Proceso De Transformar Peticiones Y Resultados De Un Nivel A Otro
Se Denomina Correspondencia O Transformacin. Estas Correspondencias Pueden Requerir
Bastante Tiempo, Por Lo Que Algunos SGBD No Cuentan Con Vistas Externas.
La Arquitectura De Tres Niveles Es til Para Explicar El Concepto De Independencia De
Datos Que Podemos Definir Como La Capacidad Para Modificar El Esquema En Un Nivel Del
Sistema Sin Tener Que Modificar El Esquema Del Nivel Inmediato Superior.
Se Pueden Definir Dos Tipos De Independencia De Datos:
La Independencia Lgica Es La Capacidad De Modificar El Esquema Conceptual Sin Tener
Que Alterar Los Esquemas Externos Ni Los Programas De Aplicacin. Se Puede Modificar El
Esquema Conceptual Para Ampliar La Base De Datos O Para Reducirla. Si, Por Ejemplo, Se
Reduce La Base De Datos Eliminando Una Entidad, Los Esquemas Externos Que No Se
Refieran A Ella No Debern Verse Afectados.

La Independencia Fsica Es La Capacidad De Modificar El Esquema Interno Sin Tener Que


Alterar El Esquema Conceptual (O Los Externos). Por Ejemplo, Puede Ser Necesario
Reorganizar Ciertos Ficheros Fsicos Con El Fin De Mejorar El Rendimiento De Las
Operaciones De Consulta O De Actualizacin De Datos. Dado Que La Independencia Fsica
Se Refiere Slo A La Separacin Entre Las Aplicaciones Y Las Estructuras Fsicas De
Almacenamiento, Es Ms Fcil De Conseguir Que La Independencia Lgica.
En Los SGBD Que Tienen La Arquitectura De Varios Niveles Es Necesario Ampliar El
Catlogo O Diccionario, De Modo Que Incluya Informacin Sobre Cmo Establecer La
Correspondencia Entre Las Peticiones De Los Usuarios Y Los Datos, Entre Los Diversos
Niveles. El SGBD Utiliza Una Serie De Procedimientos Adicionales Para Realizar Estas
Correspondencias Haciendo Referencia A La Informacin De Correspondencia Que Se
Encuentra En El Catlogo. La Independencia De Datos Se Consigue Porque Al Modificarse
El Esquema En Algn Nivel, El Esquema Del Nivel Inmediato Superior Permanece Sin
Cambios, Slo Se Modifica La Correspondencia Entre Los Dos Niveles. No Es Preciso
Modificar Los Programas De Aplicacin Que Hacen Referencia Al Esquema Del Nivel
Superior.
Por Lo Tanto, La Arquitectura De Tres Niveles Puede Facilitar La Obtencin De La Verdadera
Independencia De Datos, Tanto Fsica Como Lgica. Sin Embargo, Los Dos Niveles De
Correspondencia Implican Un Gasto Extra Durante La Ejecucin De Una Consulta O De Un
Programa, Lo Cual Reduce La Eficiencia Del SGBD. Es Por Esto Que Muy Pocos SGBD Han
Implementado Esta Arquitectura Completa.

Modelos De Base De Datos


Modelo De Datos Jerrquico
Este Modelo Utiliza rboles Para La Representacin Lgica De Los Datos. Este rbol Esta
Compuesto De Unos Elementos Llamados Nodos. El Nivel Ms Alto Del rbol Se Denomina
Raz. Cada Nodo Representa Un Registro Con Sus Correspondientes Campos.
La Representacin Grfica De Este Modelo Se Realiza Mediante La Creacin De Un rbol
Invertido, Los Diferentes Niveles Quedan Unidos Mediante Relaciones.

En Este Modelo Solo Se Pueden Representar Relaciones 1:M, Por Lo Que Presenta Varios
Inconvenientes:
.-No Se Admiten Relaciones N:M
.-Un Segmento Hijo No Puede Tener Ms De Un Padre.
.-No Se Permiten Ms De Una Relacin Entre Dos Segmentos.
.-Para Acceder A Cualquier Segmento Es Necesario Comenzar Por El Segmento Raz

.-El rbol Se Debe De Recorrer En El Orden Designado.


Modelo De Datos En Red
En Este Modelo Las Entidades Se Representan Como Nodos Y Sus Relaciones Son Las
Lneas Que Los Unen. En Esta Estructura Cualquier Componente Puede Relacionarse Con
Cualquier Otro.
.-A Diferencia Del Modelo Jerrquico, En Este Modelo, Un Hijo Puede Tener Varios Padres.
.-Los Conceptos Bsicos En El Modelo En Red Son:
.-El Tipo De Registro, Que Representa Un Nodo.
.-Elemento, Que Es Un Campo De Datos.
.-Agregado De Datos, Que Define Un Conjunto De Datos Con Nombre.
Este Modelo De Datos Permite Representar Relaciones N:
Modelo De Datos Relacional
Este Modelo Es El Ms Utilizado Actualmente Ya Que Utiliza Tablas Bidimensionales Para La
Representacin Lgica De Los Datos Y Sus Relaciones.
Algunas De Sus Principales Caracteristicas Son:
.-Puede Ser Entendido Y Usado Por Cualquier Usuario.
.-Permite Ampliar El Esquema Conceptual Sin Modificar Las Aplicaciones De Gestin.
.-Los Usuarios No Necesitan Saber Donde Se Encuentran Los Datos Fsicamente.
El Elemento Principal De Este Modelo Es La Relacin Que Se Representa Mediante Una
Tabla.

Estructura Cliente/Servidor
La Estructura De Cliente/Servidor Es Un Modelo Para El Desarrollo De Sistemas De
Informacin, En El Que Las Transacciones Se Dividen En Procesos Independientes Que
Cooperan Entre S Para Intercambiar Informacin, Servicios O Recursos.
Se Denomina Cliente Al Proceso Que Inicia El Dilogo O Solicita Los Recursos Y Servidor, Al
Proceso Que Responde A Las Solicitudes. Es El Modelo De Interaccin Ms Comn Entre
Aplicaciones En Una Red.
Por Otro Lado Los Clientes Suelen Ser Estaciones De Trabajo Que Solicitan Varios Servicios
Al Servidor.Ambas Partes Deben Estar Conectadas Entre S Mediante Una Red.
Beneficios.
1.- Mejor Aprovechamiento De La Potencia De Cmputo (Reparte El Trabajo).
2. -Reduce El Trfico En La Red. (Viajan Requerimientos).
3.- Opera Bajo Sistemas Abiertos.
4.- Permite El Uso De Interfaces Grficas Variadas Y Verstiles.
Este Tipo De Arquitectura Es La Ms Utilizada En La Actualidad, Debido A Que Es La Ms
Avanzada Y La Que Mejor Ha Evolucionado En Estos ltimos Aos.
Podemos Decir Que Esta Arquitectura Necesita Tres Tipos De Software Para Su Correcto
Funcionamiento:
Software De Gestin De Datos: Este Software Se Encarga De La Manipulacin Y Gestin De
Los Datos Almacenados Y Requeridos Por Las Diferentes Aplicaciones. Normalmente Este
Software Se Aloja En El Servidor.

Software De Desarrollo: Este Tipo De Software Se Aloja En Los Clientes Y Solo En Aquellos
Que Se Dedique Al Desarrollo De Aplicaciones.
Software De Interaccin Con Los Usuarios: Tambin Reside En Los Clientes Y Es La
Aplicacin Grfica De Usuario Para La Manipulacin De Datos, Siempre Claro A Nivel
Usuario (Consultas Principalmente).
Los Clientes Interactan Con El Usuario, Usualmente En Forma Grfica. Frecuentemente Se
Comunican Con Procesos Auxiliares Que Se Encargan De Establecer Conexin Con El
Servidor, Enviar El Pedido, Recibir La Respuesta, Manejar Las Fallas Y Realizar Actividades
De Sincronizacin Y De Seguridad.
Caractersticas:
El Cliente Oculta Al Servidor Y La Red.
Detecta E Intercepta Peticiones De Otras Aplicaciones Y Puede Redireccionarlas.
Dedicado A La Cesin Del Usuario ( IniciaTermina ).
El Mtodo Ms Comn Por El Que Se Solicitan Los Servicios Es A Travs De RPC (Remote
Procedure Calls).
Funciones Comunes Del Cliente:
Mantener Y Procesar Todo El Dialogo Con El Usuario.
Manejo De Pantallas.
Mens E Interpretacin De Comandos.
Entrada De Datos Y Validacin.
Procesamiento De Ayudas.
Recuperacin De Errores.
Generacin De Consultas E Informes Sobre Las Bases De Datos.
El Servidor:
Conjunto De Hardware Y Software Que Responde A Los Requerimientos De Un Cliente. Los
Servidores Proporcionan Un Servicio Al Cliente Y Devuelven Los Resultados.
Normalmente El Servidor Es Una Mquina Bastante Potente Que Acta De Depsito De
Datos Y Funciona Como Un Sistema Gestor De Base De Datos (SGBD).
Tipos Comunes De Servidor:
Servidor De Archivos (FTP, Novell).
Servidor De Bases De Datos (SQL, CBASE, ORACLE, INFORMIX).
Servidor De Comunicaciones
Servidor De Impresin.
Servidor De Terminal.
Servidor De Aplicaciones (Windows NT, Novell).
Funciones Comunes Del Servidor:
Acceso, Almacenamiento Y Organizacin De Datos.
Actualizacin De Datos Almacenados.
Administracin De Recursos Compartidos.
Ejecucin De Toda La Lgica Para Procesar Una Transaccin.


Procesamiento Comn De Elementos Del Servidor (Datos, Capacidad De CPU,
Almacenamiento En Disco, Capacidad De Impresin, Manejo De Memoria Y Comunicacin).

Gestin De Perifricos Compartidos.

Control De Accesos Concurrentes A Bases De Datos Compartidas.


Enlaces De Comunicaciones Con Otras Redes De rea Local O Extensa

Unidad 2 Base De Datos Relacionales


Antecedentes E Historia
El Trmino Bases De Datos Fue Escuchado Por Primera Vez En Un Simposio Celebrado En
California En 1963.
En Una Primera Aproximacin, Se Puede Decir Que Una Base De Datos Es Un Conjunto De
Informacin Relacionada Que Se Encuentra Agrupada O Estructurada.
Desde El Punto De Vista Informtico, Una Base De Datos Es Un Sistema Formado Por Un
Conjunto De Datos Almacenados En Discos Que Permiten El Acceso Directo A Ellos Y Un
Conjunto De Programas Que Manipulen Ese Conjunto De Datos.
Por Su Parte, Un Sistema De Gestin De Bases De Datos Es Un Tipo De Software Muy
Especifico Dedicado A Servir De Interfaz Entre La Base De Datos, El Usuario Y Las
Aplicaciones Que La Utilizan; O Lo Que Es Lo Mismo, Una Agrupacin De Programas Que
Sirven Para Definir, Construir Y Manipular Una Base De Datos, Permitiendo As Almacenar
Y Posteriormente Acceder A Los Datos De Forma Rpida Y Estructurada.
Actualmente, Las Bases De Datos Estn Teniendo Un Impacto Decisivo Sobre El Creciente
Uso De Las Computadoras.
Pero Para Poder Entender Ms Profundamente Una Base De Datos Cabe Entender Su
Historia.
Origenes
Los Orgenes De Las Bases De Datos Se Remontan A La Antigedad Donde Ya Existan
Bibliotecas Y Toda Clase De Registros. Adems Tambin Se Utilizaban Para Recoger
Informacin Sobre Las Cosechas Y Censos. Sin Embargo, Su Bsqueda Era Lenta Y Poco
Eficaz Y No Se Contaba Con La Ayuda De Mquinas Que Pudiesen Reemplazar El Trabajo
Manual.
Posteriormente, El Uso De Las Bases De Datos Se Desarroll A Partir De Las Necesidades
De Almacenar Grandes Cantidades De Informacin O Datos. Sobre Todo, Desde La
Aparicin De Las Primeras Computadoras, El Concepto De Bases De Datos Ha Estado
Siempre Ligado A La Informtica.
En 1884 Herman Hollerith Cre La Mquina Automtica De Tarjetas Perforadas, Siendo
Nombrado As El Primer Ingeniero Estadstico De La Historia. En Esta poca, Los Censos Se
Realizaban De Forma Manual.

Fundamentos Bsicos
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. En La Actualidad, Y
Debido Al Desarrollo Tecnolgico De Campos Como La Informtica Y La Electrnica, La
Mayora De Las Bases De Datos Estn En Formato Digital (Electrnico), Que Ofrece Un
Amplio Rango De Soluciones Al Problema De Almacenar Datos.
Existen Programas Denominados Sistemas Gestores De Bases De Datos, Abreviado SGBD,
Que Permiten Almacenar Y Posteriormente Acceder A Los Datos De Forma Rpida Y
Estructurada. Las Propiedades De Estos SGBD, 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.
Objetivo De Las Base De Datos
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.
Redundancia Mnima: Se Trata De Usar La Base De Datos Como Repositorio Comn De
Datos Para Distintas Aplicaciones.
Acceso Concurrente Por Parte De Mltiples Usuarios: Control De Concurrencia Mediante
Tcnicas De Bloqueo O Cerrado De Datos Accedidos.
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.
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).

Funciones De Las Bases De Datos


Codd, El Creador Del Modelo Relacional, Ha Establecido Una Lista Con Los Ocho Servicios
Que Debe Ofrecer Todo SGBD.

Un SGBD Debe Proporcionar A Los Usuarios La Capacidad De Almacenar Datos En La Base


De Datos, Acceder A Ellos Y Actualizarlos. Esta Es La Funcin Fundamental De Un SGBD Y
Por Supuesto, El SGBD Debe Ocultar Al Usuario La Estructura Fsica Interna (La
Organizacin De Los Ficheros Y Las Estructuras De Almacenamiento).
Un SGBD Debe Proporcionar Un Catlogo En El Que Se Almacenen Las Descripciones De
Los Datos Y Que Sea Accesible Por Los Usuarios. Este Catlogo Es Lo Que Se Denomina
Diccionario De Datos Y Contiene Informacin Que Describe Los Datos De La Base De Datos
(Metadatos). Normalmente, Un Diccionario De Datos Almacena:
Nombre, Tipo Y Tamao De Los Datos.
Nombre De Las Relaciones Entre Los Datos.
Restricciones De Integridad Sobre Los Datos.
Nombre De Los Usuarios Autorizados A Acceder A La Base De Datos.
Esquemas Externos, Conceptual E Interno, Y Correspondencia Entre Los Esquemas.
Estadsticas De Utilizacin, Tales Como La Frecuencia De Las Transacciones Y El Nmero
De Accesos Realizados A Los Objetos De La Base De Datos.

Conocimientos Bsicos
En Una Base De Datos Relacional, Los Datos Se Organizan En Tablas.
Una Tabla Tiene Cero O Ms Filas, Cada Fila Contiene La Informacin De Un Determinado
'Sujeto' De La Tabla, Por Ejemplo En Una Tabla De Alumnos, En Una Fila Tenemos Los Datos
De Un Alumno. Las Filas En Un Principio Estn Desordenadas.
Cada Columna Representa Un 'Campo' De La Tabla, Sirve Para Almacenar Una
Determinada Informacin, Por Ejemplo En Una Tabla De Alumnos Tendremos Una Columna
Para Almacenar El Nombre De Los Alumnos.
Todos Los Valores De Una Columna Determinada Tienen El Mismo Tipo De Dato, Y stos
Estn Extrados De Un Conjunto De Valores Legales Llamado Dominio De La Columna. A
Parte De Los Valores Del Dominio, Una Columna Puede Contener El Valor Nulo (NULL) Que
Indica Que No Contiene Ningn Valor.
En Una Tabla No Pueden Haber Dos Columnas Con El Mismo Nombre Pero Ese Nombre S
Se Puede Utilizar En Otra Tabla.
Normalmente Todas Las Tablas Deben Tener Una Clave Principal Definida. Una Clave
Principal Es Una Columna (O Combinacin De Columnas) Que Permite Identificar De Forma
Inequvoca Cada Fila De La Tabla, Por Lo Que No Pueden Haber En Una Tabla Dos Filas Con
El Mismo Valor En La Columna Definida Como Clave Principal.
Una Clave Fornea Es Una Columna (O Combinacin De Columnas) Que Contiene Un Valor
Que Hace Referencia A Una Fila De Otra Tabla (En Algunos Casos Puede Ser La Misma
Tabla).
Por Ejemplo, Tenemos Dos Tablas, La De Alumnos Y La De Cursos, En La Tabla De Alumnos
Pondramos Una Columna Curso: Para Saber En Qu Curso Est Matriculado El Alumno, La
Columna Curso En La Tabla De Alumnos Es Clave Fornea, Mientras Que La Columna
Codigo De La Tabla De Cursos Ser Clave Primaria.
Una Tabla Tiene Una nica Clave Primaria. Una Tabla Puede Contener Cero O Ms Claves
Forneas.
Cuando Se Define Una Columna Como Clave Principal, Ninguna Fila De La Tabla Puede
Contener Un Valor Nulo En Esa Columna Ni Tampoco Se Pueden Repetir Valores En La
Columna.

Cuando Se Define Una Columna Como Clave Fornea, Las Filas De La Tabla Pueden
Contener En Esa Columna O Bien El Valor Nulo, O Bien Un Valor Que Existe En La Otra
Tabla. Eso Es Lo Que Se Denomina Integridad Referencial Que Consiste En Que Los Datos
Que Referencian Otros (Clave Fornea) Deben Ser Correctos.
Las Bases De Datos De Access2000 Tienen La Extensin .MDB Para Que El Ordenador Las
Reconozca Como Tal.

Administrador De Base De Datos


Un Administrador De Bases De Datos (O DBA) Tiene La Responsabilidad De Mantener Y
Operar Las Bases De Datos Que Conforman El Sistema De Informacin De Una Compaa.
Habilidades
Debido A La Importancia De Los Datos Que Estn A Su Cargo, El Administrador De Bases
De Datos Debe Ser Experto En TI (Tecnologa De La Informacin), Teniendo Particular
Conocimiento De DBMS (Sistemas De Administracin De Bases De Datos) Y El Lenguaje De
Consulta SQL. Tambin Debe Tener Conocimiento De Varios Tipos De Lenguaje De
Programacin Para Poder Automatizar Ciertas Tareas.
Una De Sus Tareas Es La De Asegurar La Integridad Del Sistema De Informacin De La
Compaa. Adems, Es Necesario Que Posea Un Buen Entendimiento De DBMS Para
Optimizar Las Consultas, Ajustar La Configuracin De DBMS O Para Sincronizar En Forma
Precisa Las Herramientas De Control Del Acceso A Las Bases De Datos.
Es Posible Que El Administrador De Bases De Datos Tenga Que Brindar Asistencia Tcnica
A Usuarios De Las Aplicaciones Cliente O Equipos De Desarrollo Para Solucionar
Problemas, Dar Consejos O Ayudar A Resolver Consultas Complicadas.
Al Trabajar Con El Jefe De Seguridad , El Administrador De Bases De Datos Debe Crear
Copias De Seguridad, Planes Y Procedimientos De Restauracin Para Preservar Los Datos
De Los Cuales Es Responsable.
Adems De Estas Habilidades Tcnicas, El Administrador De Bases De Datos Debe Poseer
Un Buen Entendimiento De Las Aplicaciones De La Compaa Y Estar Dispuesto A Atender
Las Necesidades De Los Usuarios Cuando Desarrolla O Edita Una Base De Datos. En El
Mejor De Los Casos, Debe Tener Experiencia En Diseo De Sistemas De Informacin Y
Modelos UML (Lenguaje Unificado De Modelos).
Salario
El Salario De Un Administrador De Bases De Datos Puede Variar Entre 32.000 Y 55.000
Euros Anuales, En Funcin De La Importancia Y La Complejidad Del Sistema De
Informacin Y De Las Responsabilidades Que Deber Asumir.

Dependencias Funcionales
Una Relacin Se Compone De Atributos Y Dependencias. Los Atributos Son Fciles De
Identificar, Ya Que Forman Parte De La Estructura De La Relacin, Y Adems, Los Elegimos
Nosotros Mismos Como Diseadores De La Base De Datos.
Pero No Es Tan Sencillo Localizar Las Dependencias, Ya Que Requieren Un Anlisis De Los
Atributos, O Con Ms Precisin, De Las Interrelaciones Entre Atributos, Y Frecuentemente
La Intuicin No Es Suficiente A La Hora De Encontrar Y Clasificar Todas Las Dependencias.
La Teora Nos Puede Ayudar Un Poco En Ese Sentido, Clasificando Las Dependencias En
Distintos Tipos, Indicando Qu Caractersticas Tiene Cada Tipo.
Para Empezar, Debemos Tener Claro Que Las Dependencias Se Pueden Dar Entre Atributos
O Entre Subconjuntos De Atributos.
Estas Dependencias Son Consecuencia De La Estructura De La Base De Datos Y De Los
Objetos Del Mundo Real Que Describen, Y No De Los Valores Actualmente Almancenados

En Cada Relacin. Por Ejemplo, Si Tenemos Una Relacin De Vehculos En La Que


Almacenamos, Entre Otros Atributos, La Cilindrada Y El Color, Y En Un Determinado
Momento Todos Los Vehculos Con 2000 C.C. Son De Color Rojo, No Podremos Afirmar Que
Existen Una Dependencia Entre El Color Y La Cilindrada. Debemos Suponer Que Esto Es
Slo Algo Casual.
Para Buscar Dependencias, Pues, No Se Deben Analizar Los Datos, Sino Los Entes A Los
Que Se Refieren Esos Datos.

Definicin: Sean X E Y Subconjuntos De Atributos De Una Relacin. Diremos Que Y


Tiene Una Dependencia Funcional De X, O Que X Determina A Y, Si Cada Valor De
X Tiene Asociado Siempre Un nico Valor De Y.
El Hecho De Que X Determine A Y No Quiere Decir Que Conociendo X Se Pueda Conocer Y,
Sino Que En La Relacin Indicada, Cada Vez Que El Atributo X Tome Un Determinado Valor,
El Atributo Y En La Misma Tupla Siempre Tendr El Mismo Valor.
Por Ejemplo, Si Tenemos Una Relacin Con Clientes De Un Hotel, Y Dos De Sus Atributos
Son El Nmero De Cliente Y Su Nombre, Podemos Afirmar Que El Nombre Tiene Una
Dependencia Funcional Del Nmero De Cliente. Es Decir, Cada Vez Que En Una Tupla
Aparezca Determinado Valor De Nmero De Cliente, Es Seguro Que El Nombre De Cliente
Ser Siempre El Mismo.
La Dependencia Funcional Se Representa Como X -> Y.
El Smbolo -> Se Lee Como "Implica" O "Determina", Y La Dependencia Anterior Se Lee
Como X Implica Y O X Determina Y.
Podemos Aadir Otro Smbolo A Nuestra lgebra De Dependencias: El Smbolo | Significa
Negacin. As X -> |Y Se Lee Como X No Determina Y.

Dependencia Funcional Completa


Definicin: En Una Dependencia Funcional X -> Y, Cuando X Es Un Conjunto De Atributos,
Decimos Que La Dependencia Funcional Es Completa , Si Slo Depende De X, Y No De
Ningn Subconjunto De X.
La Dependencia Funcional Se Representa Como X => Y.

Dependecia Funcional Elemental


Definicin: Si Tenemos Una Dependencia Completa X => Y, Diremos Que Es Una
Dependencia Funcional Elemental Si Y Es Un Atributo, Y No Un Conjunto De Ellos.
Estas Son Las Dependencias Que Buscaremos En Nuestras Relaciones. Las Dependencias
Funcionales Elementales Son Un Caso Particular De Las Dependencias Completas.

Dependecia Funcional Trivial


Definicin: Una Dependencia Funcional A -> B Es Trivial Cuando B Es Parte De A. Esto
Sucede Cuando A Es Un Conjunto De Atributos, Y B Es A Su Vez Un Subconjunto De A.
Esta Regla Significa Que En Una Relacin Slo Se Debe Almacenar Informacin Sobre Un
Tipo De Entidad, Y Se Traduce En Que Los Atributos Que No Aporten Informacin Directa
Sobre La Clave Principal Deben Almacenarse En Una Relacin Separada.
Lo Primero Que Necesitamos Para Aplicar Esta Forma Normal Es Identificar Las Claves
Candidatas.
Adems, Podemos Elegir Una Clave Principal, Que Abreviaremos Como PK, Las Iniciales De
Primary Key. Pero Esto Es Optativo, El Modelo Relacional No Obliga A Elegir Una Clave
Principal Para Cada Relacin, Sino Tan Slo A La Existencia De Al Menos Una Clave
Candidata.

La Inexistencia De Claves Candidatas Implica Que La Relacin No Cumple Todas Las


Normas Para Ser Parte De Una Base De Datos Relacional, Ya Que La No Existencia De
Claves Implica La Repeticin De Tuplas.
En General, Si No Existe Un Candidato Claro Para La Clave Principal, Crearemos Una
Columna Especfica Con Ese Propsito.
Veamos Cmo Aplicar Esta Regla Usando Un Ejemplo. En Este Caso Trataremos De Guardar
Datos Relacionados Con La Administracin De Un Hotel.
Planteemos, Por Ejemplo, Este Esquema De Relacin:
Ocupacin (No Cliente, Nombre Cliente, No Habitacin,
Precio Noche, Tipo Habitacin, Fecha Entrada)
Lo Primero Que Tenemos Que Hacer Es Buscar Las Posibles Claves Candidatas. En Este
Caso Slo Existe Una Posibilidad:
(No Habitacin, Fecha Entrada)
Recordemos Que Cualquier Clave Candidata Debe Identificar De Forma Unvoca Una Clave
Completa. En Este Caso, La Clave Completa Es La Ocupacin De Una Habitacin, Que Se
Define Por Dos Parmetros: La Habitacin Y La Fecha De La Ocupacin.
Es Decir, Dos Ocupaciones Son Diferentes Si Cambian Cualquiera De Estos Parmetros. La
Misma Persona Puede Ocupar Varias Habitaciones Al Mismo Tiempo O La Misma
Habitacin Durante Varios Das O En Diferentes Periodos De Tiempo. Lo Que No Es Posible
Es Que Varias Personas Ocupen La Misma Habitacin Al Mismo Tiempo (Salvo Que Se Trate
De Un Acompaante, Pero En Ese Caso, Slo Una De Las Personas Es La Titular De La
Ocupacin).
El Siguiente Paso Consiste En Buscar Columnas Que No Aporten Informacin Directa Sobre
La Clave Completa: La Ocupacin. En Este Caso El Precio Por Noche De La Habitacin Y El
Tipo De Habitacin (Es Decir, Si Es Doble O Sencilla), No Aportan Informacin Sobre La
Clave Principal. En Realidad, Estos Datos No Son Atributos De La Ocupacin De La
Habitacin, Sino De La Propia Habitacin.
El Nmero De Cliente Y Su Nombre Aportan Datos Sobre La Ocupacin, Aunque No Formen
Parte De La Clave Completa.
Expresado En Forma De Dependencias Se Ve Muy Claro:
(No_Habitacin, Fecha_Entrada) -> No_Cliente
(No_Habitacin, Fecha_Entrada) -> Nombre_Cliente
No_Habitacin -> Precio_Noche
No_Habitacin -> Tipo_Habitacin
El ltimo Paso Consiste En Extraer Los Atributos Que No Forman Parte De La Clave A Otra
Relacin. En Nuestro Ejemplo Tendremos Dos Relaciones: Una Para Las Ocupaciones Y Otra
Para Las Habitaciones:
Ocupacin(No_Cliente, Nombre_Cliente, No_Habitacin, Fecha_Entrada(PK))
Habitacin(No_Habitacin, Precio_Noche, Tipo_Habitacin)
La Segunda Tabla Tiene Una nica Clave Candidata, Que Es El Nmero De Habitacin. El
Resto De Los Atributos No Forman Parte De La Clave Completa (La Habitacin), Pero
Aportan Informacin Slo Y Exclusivamente Sobre Ella.
Estas Dos Relaciones Estn Interrelacionadas Por La Clave De Habitacin. Para Facilitar El
Establecimiento De Esta Interrelacin Elegiremos La Clave Candidata De La Habitacin En

Clave Principal. El Mismo Atributo En La Relacin De Ocupaciones Es, Por Lo Tanto, Una
Clave Fornea:
Ocupacin(No_Cliente, Nombre_Cliente, No_Habitacin, Fecha_Entrada(PK))
Habitacin(No_Habitacin(PK), Precio_Noche, Tipo_Habitacin)
Como Norma General Debemos Volver A Aplicar La Primera Y Segunda Forma Normal A
Estas Nuevas Tablas. La Primera Slo En El Caso De Que Hallamos Aadido Nuevas
Columnas, La Segunda Siempre.
La Interrelacin Que Hemos Establecido Es Del Tipo Uno A Muchos, Podemos Elegir Una
Clave De Habitacin Muchas Veces, Tantas Como Veces Se Ocupe Esa Habitacin.

Axiomas De Armstrong
1. Reflexiva X->Y
Direccin->Estrato
Nombre->Apellido
Direccin->Telfono
Sexo->Nombre

2.Aumentatividad X+Y->Z
Nombre+Registro_Medico->Especialidad
Identificacion+Registro_Medico->Nombre
Registro_Medico+Especialidad->Salario
Nombre+Identificacion->Edad

3. Proyectividad X->Y+Z
Registro_Medico->Nombre+Especialidad
Estrato->Direccion+Identificacion
Sexo->Nombre+Identificacion
Salario-> Registro_Medico+Especialidad

4.Aditividad X+Y->W+Z
Registro_Medico+Identificacion->Nombre+Especialidad
Nombre+Identificacion->Sexo+ Registro_Medico
Direccion+Telefono->Nombre+Identificacion
Identificacion+ Registro_Medico->Sexo+Edad

5. Transitividad X->Y Y->Z X->Z


Nombre->Telefono Telefono->Direccion Nombre->Direccion
Nombre->Sexo Sexo->Identificacion Nombre->Identificacion
Direccion->Telefono Telefono->Estrato Direccion->Estrato

Registro_Medico->Nombre Nombre->Especialidad Registro_Medico->Especialidad

Eliminacin De Dependencias Redundantes


.-Los Estudiantes De La Especialidad De Aplicaciones Informticas, Requieren Desarrollar
Aplicaciones De Bases De Datos En Lenguajes De Cuarta Generacin
.-Desarrollo De Aplicaciones Informticas Realizando La Programacin, Pruebas Y
Documentacin De Las Mismas De Conformidad Con Los Requisitos Funcionales,
Especificaciones Aprobadas Y Normativa Vigente. Colaboracin En El Diseo Bajo La
Supervisin General De Responsables De Categora Superior
.-Elaborar, Adaptar Y Probar Programas En Lenguajes De Programacin Estructurados Y De
Cuarta Generacin
Si Se Eliminan Estas Dependencias Les Causara Muchos Problemas A Los Estudiantes Por
Que Los Perjudicara En Los Estudios Y Les Evitara Tratar De Superarse Y As Quedarse
Estancados En Lo Que Se Refiere A Estudios.

Obtencin De Claves
En Esta Seccin Se Definirn Las Claves Principales Y Forneas De Tablas De Destino Para
Utilizarlas Posteriormente En Una Unin. Previamente Debe Haberse Definido Las Tablas
De Mediciones Y La Tabla De Hechos.
En Cada Tabla De Destino, Se Seleccionar Una Columna Que Se Podr Utilizar Para
Identificar De Modo Exclusivo Las filas De La Tabla. Esta Ser Su Clave Principal.

Cualidades De Las Columnas Que Deben Seleccionarse Como Clave Principal:


Siempre Debe Tener Un Valor: La Columna De Una Clave Principal No Puede Contener
Valores Nulos.
Debe Tener Valores Exclusivos: Cada Valor De La Columna Debe Ser Distinto Para Cada
fila De La Tabla.
Los Valores Deben Ser Estables: Un Valor Nunca Debe Cambiar Por Otro Valor.
La Definicin De Una Clave Principal Para Una Tabla Es Altamente Recomendable Porque
La Identificacin Exclusiva De Cada fila Agiliza El Acceso A Las Mismas.

Las Claves Forneas Se Utilizan Para Definir Las Relaciones Entre Tablas.
En Un Esquema En Estrel La, Una Clave Fornea Define La Relacin Entre La Tabla De
Hechos Y Las Tablas De Mediciones Asociadas A La Misma. La Clave Principal De La Tabla
De Mediciones Tiene Una Clave Fornea Correspondiente En La Tabla De Hechos.
La Clave Fornea Requiere Que Todos Los Valores De Una Columna Determinada De La
Tabla De Hechos Existan En La Tabla De Mediciones.
A Continuacin Se Definirn La Claves Principales Y Forneas.

Definicin De Una Clave Principal


Procedimientos Para Obtener Una Clave Principal:
Seleccionar La Carpeta Destino De Deposito Del Centro De Control Del Depsito De
Datos Y Escoger Tabla Individuos . Se Obtiene La Ventana Propiedades.
Presionar La Pestaa Claves Primaria De Depsito.
En Columnas Disponibles, Seleccionar Los Campos: (CODUSU, NRO_HOGAR,
COMPONENTE, H15, ANO4, TRIMESTRE, REGION, MAS_500, AGLOMERADO, PONDERA)
Como Clave Principal.
Oprimir > Para Trasladar Los Campos A Columnas De Claves Principales.

Dejar El Campo Nombre De Restriccin Vaco, De Modo Que DB2 Universal Database
Genere Un Nombre De Restriccin.
Una Clave Principal Puede Considerarse Como Una Restriccin, Porque Todos Los Valores
De La Columna Seleccionada Deben Ser Exclusivos (Ver fig. 5.50).

Definicin De Clave Fornea


Es Necesario Definir Claves Forneas Para Las Relaciones Entre La Tabla Individuos Y Las
Dems Tablas De Destino (Asalariados, Independientes, Individuo, Nivel _ Educativo,
Ocupacin
_
Principal,
Pob_Con_Plan_Jefes_Y_Jefas,
Pob_Desocupada,
Pob_Desocupada_Con_Empleo_Anterior, Pob_Ocupado).
Para Definir Las Claves Forneas :
Visualizar La Tabla Asalariados En La Lista De Tablas De La Base De Datos PDESTINO.
Luego Pulsar Con El Botn Derecho Del Ratn En La Tabla Y Presionar Modificar.
Apertura Del Cuaderno Modificar Tabla:
Pulsar Pestaa Claves Forneas.
Pulsar Aadir. Se Abrir La Ventana Aadir Clave Fornea.
Esquema De Tabla: Escribir El ID De Usuario.
Nombre De Tabla: Especificar Individuos, Que Es La Tabla Padre. Elcampo Clave Principal
Muestra La Clave Principal Para Individuos.
Columna Disponible: Se Deber Seleccionar (CODUSU, NRO_HOGAR, COMPONENTE,
H15, ANO4, TRIMESTRE, REGION, MAS_500, AGLOMERADO, PONDERA) Como Las
Columnas Que Se Desean Definir Como Clave Fornea.
Pulsar > Para Trasladar (CODUSU, NRO_HOGAR, COMPONENTE, H15, ANO4, TRIMESTRE,
REGION, MAS_500, AGLOMERADO, PONDERA) A La Lista Clave Fornea.
Aceptar Los Valores Por Omisin Para Los Campos En La Supresin Y En La Actualizacin.
Dejar El Campo Nombre De Restriccin Vaco, De Modo Que DB2 Universal Database
Genere Un Nombre De Restriccin.

Unidad 3 Optimizacin Del Diseo De Base De Datos Relacionales


Introduccin
Como Cualquier Modelo De Base De Datos La Idea Es La Manipulacin De Datos Y Hoy Por
Hoy Es El Modelo Ms Utilizado Para Sistemas Transaccionales (Aclaro Que No Todo
Sistema Debe Utilizar Una BD Relacional, Se Debe De Analizar Si Otros Modeles Aplican
Mejor, Tales Como Bases De Datos XML, Bases De Datos Orientadas A Objetos,
Multidimensionales Muy Populares Para Inteligencia De Negocios, Entre Otros). Las
Operaciones Bsicas Sobre Datos En Este Modelo Se Realizan Mediante Operaciones De
Algebra Relacional (Muy Orientadas A Teora De Conjuntos), Por Lo Que Es Comn
Observar Una Consulta A Una Base De Datos Expresada De Manera Algebraica Para
Determinar Si Existe Alguna Manera De Hacerla Ms Eficiente.
El Lenguaje Que Utilizan Los Motores De Bases De Datos Para El Manejo De Datos Es SQL
(Structure Query Language) , Que Es Un Lenguaje Declarativo Y Existen Un Estndar
Definido Por ANSI (La ltima Versin Es SQL:2008), Sin Embargo La Mayora De Motores
De Bases De Datos Que Implementan SQL Estn Un Paso Atrs Del Estndar Por Lo Que
Tienen Sus Propios Sabores Con Pequeas Variaciones. Actualmente Se Trabaja En Mejoras
Sobre Una Variacin Denominada Fuzzy Structucture Query Language (FSQL) Que
Pretende Aplicar Lgica Difusa Sobre Bases De Datos Relaciones Difusas.
Entrando Un Poco En Detalle Sobre La Optimizacin De Motores De Bases De Datos
Relaciones, Factores Importantes A Considerar:

Administracin De Datos (Almacenamiento Fsico)


Cardinalidad
ndices
Programacin De Consultas
Administracin De Datos
Consiste En La Manera En Cmo Estn Almacenados Fsicamente Los Datos, Dependiendo
De Factores Como Disponibilidad De Datos, Recursos Disponibles, Entre Otros, Vamos A
Encontrar Modelos De Almacenamiento En Donde Los Datos Se Encuentran Duplicados En
Ms De Una Unidad De Almacenamiento O Bien La Informacin Estar Distribuidos En
Varios.
Es Muy Importante Indicar Que El Mayor Cuello De Botella En Un Modelo De Bases De
Datos Relaciones Y Al Que Lamentablemente No Se Tiene Mucho Control Es El
Almacenamiento Fsico. Y La Razn Es Muy Simple, Aun En Nuestros Das Los Medios De
Almacenamiento Son Lentos Pues Los Mecanismos Son Muy Lentos.
A Pesar Que Ya Existen Dispositivos Con Una Baja Latencia Y En General Bastante Rpidos
(Como Los SSD) Su Uso Todava No Es Masivo Y La Mayora De Sistemas Transaccionales
Que Utilizan Bases De Datos Relaciones Utilizan Discos Duros Normales (Personalmente
Considero Que El Cambio Se Va A Dar A Un Corto Plazo).
Algunos Datos Importantes A Considerar Es Que Generalmente Los Gestores De Bases De
Datos Dividen Fsicamente La Informacin En Paginas Que Son Bloques De 8kb (En
Motores De Bases De Datos Robustos Como Oracle Es Configurable) Y Las Divisiones De
Paginas Son Denominados Page Breaks , La Recomendacin En Este Punto Es Disminuir
La Cantidad De Pginas Necesarios Para Mostrar Datos Y Que Se Aproveche Toda Una
Unidad, Es Decir Disminuir Los Page Breacks (Recordar Que Esto Conlleva A Una Menor
Lectura De Disco).
Cardinalidad
La Cardinalidad Se Da Entre Campos De Tablas Y Existen Dos Posibles Escenarios:

Alta Cardinalidad

Potenciales Campos Sobre Los Cuales Se Pueden Usar ndices.

Extremo : Valores nicos

Baja Cardinalidad

Los ndices No Son Muy Efectivos.

Extremo: Valores Iguales

Lo Importante Radica En Poder Determinar Fcilmente Cuales Campos En Una Tabla Son
De Alta Cardinalidad Y Se Podran Crear ndices Para Mejoras Los Tiempos De Respuesta
Ante Consultas.
Indices
Existen Dos Tipos De ndices, Los Clustered Index Y Los Non Clustered Index
Clustered Indexes

Almacena Fsicamente Los Datos En El Orden Del ndice Dentro De La Pgina.

Generalmente Es La Llave Primaria (Pero No Necesariamente)

Solo Puede Haber Uno En Cada Tabla.

Algunas Caractersticas Que Deberan Tener Los Campos Sobre Las Cuales Se Van A Crear
Clustered Indexes Son:

Pequeo, Preferiblemente Integer (O Al Menos Datos Numricos).

nico.

Usado En Bsquedas Por Rangos.

Usado En Clusulas GROUP BY Y ORDER BY.

Valores Poco O No Modificables

Problemas Que Puede Presentar El Diseo De Una Base De Datos


Relacional
Sabemos Ya Que La Gran Mayora De Los Sgbds Comerciales Son Relacionales, Es Decir,
Basados En La Organizacin De La Informacin Por Medio De Tablas. Si Contamos Con Un
Gestor De Este Tipo, Disear Una BD Consistir, Por Lo Tanto, En Disear Las Tablas (Y Su
Estructura) Que Nos Permitirn Representar Y Almacenar La Informacin Que Necesitemos
Mantener En La BD. Desgraciadamente, El Proceso De Diseo De Esas Tablas No Es Tan
Sencillo Como Pudiera Parecer En Un Principio. Un Mal Diseo Puede Conducir A Graves
Problemas De Redundancia De Informacin, Que En ltimo Extremo Puede Dar Lugar A Su
Vez A Problemas De Inconsistencia Ms Graves An. Este Documento Esta Destinado A
Presentar Algunos De Esos Problemas A Partir De Un Ejemplo Ilustrativo.
Ejemplo
El Ejemplo Que Utilizaremos Es El De Una Base De Datos En La Que Pretendemos
Almacenar Informacin Sobre Un Instituto. Ms En Concreto, Deseamos Almacenar
Informacin Sobre Los Profesores Del Instituto Y Las Asignaturas Que Se Imparten.
Hablando De Datos Ms Concretos, Debemos Registrar El DNI De Los Profesores, Su
Nombre Y Apellidos, Y Su Telfono; Y De Cada Asignatura, Almacenaremos Su Cdigo,
Nombre Completo, Y Su Tipo (Optativa U Obligatoria). Asumiremos Tambin Que Un
Profesor Puede Tener Asignada Docencia En Cuantas Asignaturas Sea Necesario; Que Una
Asignatura Puede Ser Impartida Por Ms De Un Profesor En Un Momento Dado; Y Que, Si
Un Profesor Imparte Una Asignatura, Dar Clase A Todos Los Alumnos Matriculados En Esa
Asignatura. Pretendemos Mantener Los Datos De Todos Los Profesores En Plantilla, Tengan
Docencia Asignada O No En El Momento Actual. El Primer Diseo Un Primer Diseo De La
BD Que Podra Satisfacer Las Necesidades De Informacin Del Ejemplo Es El Que Se
Muestra En La Figura Siguiente.
En Este Primer Diseo Se Opta Por Una nica Tabla Que Permite Mantener Toda La
Informacin. Esa Tabla Cuenta Con Columnas Suficientes Para Representar El Cdigo,
Nombre Y Tipo De Cada Asignatura, Y El DNI, Nombre Y Apellidos De Cada Uno De Los
Profesores De Esa Asignatura. En Esta Otra Figura, La Tabla Contiene Una Fila Con Los
Datos De Una Asignatura (BDDOC) Impartida Por Un Determinado Profesor (Mon Lpez).
Los Problemas Surgen Cuando Comenzamos A Rellenar La Tabla Con Nuevos Datos.
Existen Tres Operaciones Bsicas De Actualizacin Del Contenido De Una Tabla: Insercin
De Informacin Borrado De Informacin Modificacin De Informacin Veremos Que, En El
Contexto De Un Mal Diseo De La Base De Datos, Cada Una De Estas Tres Operaciones
Tiene Intrnsecamente Asociado Una Serie De Problemas O Anomalas Especficas:
Anomalas De Insercin Anomalas De Borrado Anomalas De Modificacin

Anomalas Codd

Normalizacin
A Veces Me Da La Impresin De Que La Modelizacin De Datos Es El Gran Olvidado A La
Hora De Disear Una Aplicacin.
Y Ms Actualmente, Con La Omnipresencia De ORMs Como Hibernate O ADO .NET Entity
Framework Y Todo El Hype Que Rodea Al Movimiento Nosql.

Nos Esforzamos Estableciendo Una Arquitectura Base Capaz De Atender Los Requisitos No
Funcionales Del Sistema. Nos Preocupamos Por Implementar De La Mejor Forma Posible La
Lgica Que Define Los Procesos De Negocio. Dedicamos Mucho Tiempo A Disear
Interfaces De Usuario Amigables, Intuitivas Y Fluidas. Por Qu Pasar De Puntillas Por El
Modelo De Datos?
Un Mal Diseo Del Modelo De Datos Compromete La Estabilidad De La Aplicacin, Genera
Problemas De Rendimiento, Dificulta La Escalabilidad, Limita La Flexibilidad Y Aumenta El
Riesgo De, Por Una Parte, Perder Datos Y, Por Otra, Tener Redundancia De Los Mismos.
Vamos, Yo Creo Que Vale La Pena Intentar Hacerlo Bien, No?
A Veces, Para Poder Seguir Avanzando, Hay Que Hacer Una Pausa Y Echar La Vista Atrs,
Revisar Los Fundamentos, Un Back To The Basics. As Que Voy A Dedicar Una Serie De
Posts A Las Tcnicas De Normalizacin De Bases De Datos Relacionales.
Introduccin A La Normalizacin
La Normalizacin Se Podra Definir De Una Manera Sencilla Como El Proceso De Organizar
Y Estructurar Los Datos De Forma Que Se Minimice La Redundancia. Este Proceso Se Basa
En Un Conjunto De Pautas, Las Reglas De Normalizacin, Que Disminuyen El Riesgo De
Tener Un Diseo De Base De Datos Defectuoso. En Cierta Medida, Se Podra Establecer Un
Paralelismo Entre La Normalizacin Y Otros Principios De Diseo Como La Programacin
Defensiva O El Fail Early.
Estas Reglas Se Aplican Al Modelo Relacional De La Base De Datos, Obtenido (Si Eres
Disciplinado) A Partir Del Modelo Entidad-Relacin. La Verdad Es Que Son Bastante
Sencillas De Entender Y Aplicar, Aunque A Veces Parece Que La Percepcin Que Se Tiene
Respecto A Ellas Es Que Son Complejas Y Algo Enrevesadas.
Objetivos De La Normalizacin
Aunque Ya He Adelantado La Importancia De Las Formas Normales Y Los Beneficios Que
Aporta, Vamos A Enumerar Los Principales Objetivos Que Persigue El Proceso De
Normalizacin:
Evitar La Redundancia De Datos.
Proteger Y Dar Un Mejor Soporte A La Integridad De Los Datos.
Eliminar Las Anomalas En Los Datos, Tanto En Las Actualizaciones Como En Las
Inserciones Y Los Borrados.
Reducir En La Medida De Lo Posible El Rediseo De La Base De Datos Cuando sta Se
Ampla.
Hacer Ms Entendible El Modelo De Datos A Quienes Vayan A Utilizarlo, Puesto Que Se
Modeliza Mejor La Realidad, El Dominio Del Problema.
Huir De Las Ataduras Con Lenguajes Especficos Para La Consulta De Datos (Algo Que
Preocupaba Bastante A Codd, Al Que Parece Ser No Le Gustaba Demasiado El SQL).
Seguro Que Te Has Dado Cuenta: Mejorar El Rendimiento De La Base De Datos No Est En
La Lista De Objetivos. Recuerda, La Normalizacin Se Centra Exclusivamente En
Almacenar La Informacin De Manera Correcta, En Evitar Problemas.

Estructura De Los Datos


En Un Lenguaje De Programacin, Un Tipo De Dato Esta Definido Por El Conjunto De
Valores Que Representa Y Por El Conjunto De Operaciones Que Se Pueden Realizar Con
Dicho Tipo De Dato. Por Ejemplo, El Tipo De Dato Entero En Java Puede Representar

Nmeros En El Rango De -2^31 A 2^31-1 Y Cuenta Con Operaciones Como Suma, Resta,
Multiplicacin, Divisin, Etc.
Por Otro Lado, Podemos Decir Que En La Solucin De Un Problema A Ser Procesado Por Un
Computador Podemos Encontrar Dos Grandes Tipos De Datos: Datos Simples Y Datos
Estructurados. Los Datos Simples Son Aquellos Que, Al Ser Representados Por El
Computador, Ocupan Solo Una Casilla De Memoria. Debido A Esto, Una Variable De Un
Tipo De Dato Simple Hace Referencia A Un nico Valor A La Vez. Ejemplo De Estos Tipos
De Datos Son Los Enteros, Reales, Caracteres Y Booleanos.
As Mismo, Los Datos Estructurados Se Caracterizan Porque Su Definicin Est Compuesta
De Otros Tipos De Datos Simples, As Como De Otros Datos Estructurados. En Este Caso,
Un Nombre (Identificador De La Variable Estructurada) Hace Referencia No Solo A Una
Casilla De Memoria, Sino A Un Grupo De Casillas.
En Programacin, El Trmino Estructura De Datos Se Utiliza Para Referirse A Una Forma De
Organizar Un Conjunto De Datos Que Se Relacionan Entre Si, Sean Estos Simples O
Estructurados, Con El Objetivo De Facilitar Su Manipulacin Y De Operarlo Como Un Todo.
Por Otro Lado, Tenemos El Trmino Tipo De Dato Abstracto, O TDA, Que Es Muy
Comunmente Utilizado Como Equivalente Al Trmino Estructura De Datos Para Referirse
Justamente A Un Tipo De Dato Estructurado Que Representa Un Concepto A Travs De La
Definicin
De
Sus
Caractersticas(Datos
Que
Lo
Conforman)
Y
De
Sus
Operaciones(Algoritmos Que Manipulan Los Datos Que Lo Conforman)
Operaciones
Sobre Una Estructura De Datos Se Puede Efectuar Diferentes Tipos De Operaciones, Entre
Las Ms Importantes Estn:
Insercin. Es Aquella Mediante La Cual Se Incluye Un Nuevo Elemento En La Estructura.
Modificacin. Permite Variar Parcial O Totalmente El Contenido De La Informacin De Los
Elementos De La Estructura.
Eliminacin. Como Su Nombre Lo Indica, Es La Que Permite Suprimir Elementos De La
Estructura.
Navegar Por La Estructura: Esta Es Una Operacin Bsica Que Garantiza Que Se Puede
Recuperar Informacin Almacenada.
Bsqueda. Permite Determinar Si Un Elemento Se Encuentra O No En La Estructura.
Consulta De La Informacin. Permite Obtener Informacin De Uno O Ms Elementos De La
Estructura.
Copia Parcial O Total: Mediante Esta Operacin Se Puede Obtener Total O Parcialmente Una
Estructura Con Caractersticas Similares A La Original.
Prueba. Permite Determinar Si Uno O Varios Elementos Cumplen Determinadas
Condiciones.
Verificar Si Es Vaca . Permite Determinar Si Existen O No Elementos Sobre La Estructura.
Estructuras De Datos Estticas
Tienen Un Nmero Fijo De Elementos Que Queda Determinado Desde La Declaracin De
La Estructura En El Comienzo Del Programa. Ejemplo Los Arreglos. Las Estructuras De
Datos Estticas, Presentan Dos Inconvenientes:
La Reorganizacin De Sus Elementos, Si sta Implica Mucho Movimiento Puede Ser Muy
Costosa. Ejemplo: Insertar Un Dato En Un Arreglo Ordenado.
Son Estructuras De Datos Estticas, Es Decir, El Tamao Ocupado En Memoria Es Fijo, El
Arreglo Podra Llenarse Y Si Se Crea Un Arreglo De Tamao Grande Se Estara
Desperdiciando Memoria.

Estructuras De Datos Dinmicas


Las Estructuras De Datos Dinmicas Nos Permiten Lograr Un Importante Objetivo De La
Programacin Orientada A Objetos: La Reutilizacin De Objetos. Al Contrario De Un
Arreglo, Que Contiene Espacio Para Almacenar Un Nmero Fijo De Elementos, Una
Estructura Dinmica De Datos Se Ampla Y Contrae Durante La Ejecucin Del Programa.
A Su Vez, Este Tipo De Estructuras Se Pueden Dividir En Dos Grandes Grupos Segn La
Forma En La Cual Se Ordenan Sus Elementos.
Lineales
No Lineales
Estructuras De Datos Lineales
En Este Tipo De Estructuras Los Elementos Se Encuentran Ubicados Secuencialmente. Al
Ser Dinmica, Su Composicin Vara A Lo Largo De La Ejecucin Del Programa Que Lo
Utiliza A Travs De Operaciones De Insercin Y Eliminacin. Dependiendo Del Tipo De
Acceso A La Secuencia, Haremos La Siguiente Distincin:

Listas: Podemos Acceder (Insertar Y Eliminar) Por Cualquier Lado.


Pilas: Slo Tienen Un nico Punto De Acceso Fijo A Travs Del Cual Se Aaden,
Eliminan O Se Consultan Elementos.

Se

Colas: Tienen Dos Puntos De Acceso, Uno Para Aadir Y El Otro Para Consultar O Eliminar
Elementos.
Estructuras De Datos No Lineales
Dentro De Las Estructuras De Datos No Lineales Tenemos Los rboles Y Grafos. Este Tipo
De Estructuras Los Datos No Se Encuentran Ubicados Secuencialmente. Permiten Resolver
Problemas Computacionales Complejos.

Primera Forma Normal (1fn)


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.
Evitar Problemas De Actualizacin De Los Datos En Las Tablas.
Proteger La Integridad De Los Datos.
La Primera Forma Normal, Requiere Que Los Datos Sean Atmicos. En Otras Palabras, La
1FN Prohbe A Un Campo Contener Ms De Un Valor De Su Dominio De Columna. Tambin
Exige Que Todas Las Tablas Deben Tener Una Clave Primaria. Adicionalmente, Indica Que
Una Tabla No Debe Tener Atributos Que Acepten Valores Nulos.
Cuando No Existe Normalizacin, Se Presentan Anomalas En La Base De Datos. Que
Ocasionan Problemas Al Momento De Insertar, Modificar O Eliminar Datos.
Ejemplo
Mltiples Valores

La Forma Correcta Sera:

Segunda Forma Normal (2fn)


La Regla De La Segunda Forma Normal (2FN) Establece Que Todas Las Dependencias
Parciales Se Deben Eliminar Y Separar Dentro De Sus Propias Tablas. Una Dependencia
Parcial Es Un Trmino Que Describe A Aquellos Datos Que No Dependen De La Clave De La
Tabla Para Identificarlos.
Una De Las Mayores Desventajas De La Normalizacin Es El Tiempo Que Lleva Hacerlo. La
Mayora De La Gente Est Demasiado Ocupada, Y Emplear Tiempo Para Asegurarse De
Que Sus Datos Estn Normalizados Cuando Todo Funciona Ms O Menos Bien, Parece Ser
Un Desperdicio De Tiempo. Pero No Es As. Usted Tendr Que Emplear Ms Tiempo
Arreglando Una Base De Datos No Normalizada Que El Que Empleara En Una
Normalizada.

Al Haber Alcanzado La Segunda Forma Normal, Usted Puede Disfrutar De Algunas De Las
Ventajas De Las Bases De Datos Relacionales, Por Ejemplo:
Puede Aadir Nuevas Columnas A Una Tabla Sin Afectar A Las Dems Tablas.
Lo Mismo Aplica Para Las Otras Tablas.
Alcanzar Este Nivel De Normalizacin Permite Que Los Datos Se Acomoden De Una Manera
Natural Dentro De Los Lmites Esperados.
Ejemplo

Como Ya Habamos Utilizado Este Ejemplo En La Entrada Anterior, Ahora Podemos Utilizar
La 2FN Para Poder Administrar Mejor Los Datos.

Esto Denota La Diferencia Que Existe Entre La 1FN Que Inclua Los Datos Del Lector,En La
Tabla Libro Sin Que Exista Dependencia De Cdigo Entre Ellos.

Tercera Forma Normal (3fn)

La Tercera Forma Normal (3FN), Consiste En Que Ningn Atributo Dato. Que Depende De
La PK, Dependa De Otro Atributo Dato. Es Decir, No Debe Tener DEPENDENCIA
TRANSITIVA. Hacemos La Siguiente Analoga.
Para Que Los Datos Estn En 3FN, Deben Estar En 2FN Y NO DEBEN Tener Dependencia
Transitiva DT.
X ---> Y --->Z
Ejemplo

En Este Cuadro, Tendramos Como Clave Primaria Al C_Evento Y Los Dems Atributos
Dependen De La PK. Sin Embargo, Vemos Que La Direccin Del Local T_Direccin Depende
Del Nombre Del Local Donde Se Realiza El Evento. Para Resolver Este Problema Y Tener Un
Mejor Almacenamiento De Datos, La 3FN Hace Que Creemos Una 2da Tabla Haciendo PK
Al Nombre Del Local Teniendo Como Atributo Dato A La Direccin.

Forma Normal Boyce Codd


Edgar Frank Codd A Finales Defini Las Bases Del Modelo Relacional A Finales De Los 60.
Trabajaba Para IBM Empresa Que Tard Un Poco En Implementar Sus Bases. Pocos Aos
Despus El Modelo Se Empez A Implementar Cada Vez Ms, Hasta Ser El Modelo De
Bases De Datos Ms Popular. En Las Bases De Codd Se Definan Los Objetivos De Este
Modelo:
Independencia Fsica. La Forma De Almacenar Los Datos, No Debe Influir En Su
Manipulacin Lgica
Independencia Lgica. Las Aplicaciones Que Utilizan La Base De Datos No Deben Ser
Modificadas Por Que Se Modifiquen Elementos De La Base De Datos.
Flexibilidad. La Base De Datos Ofrece Fcilmente Distintas Vistas En Funcin De Los
Usuarios Y Aplicaciones.
Uniformidad. Las Estructuras Lgicas Siempre Tienen Una nica Forma Conceptual (Las
Tablas)
Sencillez.
La Forma Normal Boyce-Codd (Denominada Por Sus Siglas En Ingles Como BCNF Or FNBC)
Es Una Forma Normal Utilizada En La Normalizacin De Bases De Datos. Es Una
Adaptacin Vagamente Ms Segura De Lo Establecido En La Tercera Forma Normal (3FN).

Es Una Etapa En Que Se Deben Agrupar Los Datos Por Afinidad, Formando Tablas Las
Cuales Se Relacionan Entre Si Mediante Campos Comunes; Una Tabla Se Considera En
Esta Forma Si Y Slo S Cada Determinante O Atributo Es Una Llave Candidata.
La Forma Normal De Boyce-Codd Requiere Que No Existan Dependencias Funcionales No
Triviales De Los Atributos Que No Sean Un Conjunto De La Clave Candidata. En Base De
Datos Un Atributo Determinante Es Un Atributo Del Que Depende Funcionalmente De
Manera Completa Algn Otro Atributo. Todo Determinante Es Una Clave Candidata.
Como Una Tabla Est En Forma Normal De Boyce-Codd Si Solo Existen Dependencias
Funcionales Elementales Que Dependan De La Clave Primaria O De Cualquier Clave
Alternativa. Si La Clave Primaria Est Formada Por Un Solo Atributo Y Est En 3FN, sta A
Su Vez Est En FNBC. Cmo En Una Tabla En 3FN, Todos Los Atributos Dependen De Una
Clave, De La Clave Completa Y De Ninguna Otra Cosa Excepto De La Clave (Excluyendo
Dependencias Triviales, Como A \To A). Se Dice Que Una Tabla Est En FNBC Si Y Solo Si
Est En 3FN Y Cada Dependencia Funcional No Trivial Tiene Una Clave Candidata Como
Determinante. En Trminos Menos Formales, Una Tabla Est En FNBC Si Est 3FN Y Los
nicos Determinantes Son Claves Candidata
La 2FN Y La 3FN Eliminan Las Dependencias Parciales Y Las Dependencias Transitivas De
La Clave Primaria. Pero Este Tipo De Dependencias Todava Pueden Existir Sobre Otras
Claves Candidatas, Si stas Existen. La BCFN Es Ms Fuerte Que La 3FN, Por Lo Tanto, Toda
Relacin En BCFN Est En 3FN.
La Violacin De La BCFN Es Poco Frecuente Ya Que Se Da Bajo Ciertas Condiciones Que
Raramente Se Presentan. Se Debe Comprobar Si Una Relacin Viola La BCFN Si Tiene Dos
O Ms Claves Candidatas Compuestas Que Tienen Al Menos Un Atributo En Comn.
Un Ejemplo Tpico Para Mostrar Una Tabla Que, Estando En 3FN, Mantiene Dependencias
Funcionales, Puede Ser Una Tabla Que Posee Los Atributos Direccin, Cdigo Postal Y
Ciudad, Deduciendo Que A Ciudades Diferentes Le Corresponden Cdigos Postales
Distintos.

Tabla En Tercera Forma Normal


Cpost
Dir
Ciud
3000
C/ Las Flores N17
Merida
4858
Av. Bolvar Este N72
Maracay

Algoritmos De Descomposicin
Dentro Del Diseo De Bases De Datos Relacionales, Puntualmente En La Aplicacin De La
Primera Forma Normal, Podemos Encontrar Anomalas En El Diseo, Tales Como La
Redundancia De Datos, Por Lo Que Se Debe Replantar El Diseo Haciendo Algunas
Modificaciones Que Eliminen Dichas Redundancias.
Partiendo De Este Echo, Debemos Modificar Nuestro Esquema De Relacin En El Que
Tenemos Redundancias Descomponindolo En Sub-Esquemas Con Menor Cantidad De
Atributos; Esta Descomposicin Debe Ser Cuidadosa, Debido A Que Una Mala
Descomposicin Nos Lleva A Otra Modalidad De Mal Diseo.

Tras Descomponer El Esquema Principal En Sub-Esquemas Debemos Tener En Cuenta Que


Entre Estos Debe Haber Solo Un Atributo En Comn Mediante El Cual Relacionaremos
Nuestros Esquemas, Sin Embargo Debemos Ser Cuidadosos Con Este Atributo Ya Que A Su
Vez Este Debe Ser La nica Forma En Que Se Puedan Generar Las Relaciones Entre SubEsquemas, Es Decir, Que Cumpla Con La Dependencia Funcional.
De Ser As Decimos Que Tenemos Una Descomposicin De Reunin Sin Prdida Caso
Contrario Si No Se Cumple Decimos Que Tenemos Una Descomposicin De Reunin Con
Prdida Lo Que Significa Un Mal Diseo De Base De Datos.
Para Ejemplificar Lo Anterior, Partamos Del Siguiente Esquema De Una Compaa De
Telefona:
Nombr
e
Tienda

Ciuda
d
Tiend
a

Ca
pit
al

Nom
bre
Clien
te

Num_Co
ntrato

Mensua
lidad

Galer
as

Pachu
ca

250
000

Varg
as

Tel-01

1000

Gran
Patio

Pachu
ca

150
000

Esca
milla

Tel-13

560

Satlit
e

DF

300
000

Muo
z

Tel-31

320

Centro
Histri
co

DF

350
000

Pre
z

Tel-22

560

Tulanc
ingo
Centro

Tulanc
ingo

100
000

Jure
z

Tel-14

1500

Galer
as

Pachu
ca

250
000

Esca
milla

Tel-99

540

Satlit
e

DF

300
000

Muo
z

Tel-29

2000

Centro
Histri
co

DF

350
000

Corte
s

Tel-95

1700

Satlit
e

DF

300
000

Guti
rrez

Tel-43

360

Tulanc
ingo
Centro

Tulanc
ingo

100
000

Cer
n

Tel-70

850

Das könnte Ihnen auch gefallen