viernes, 30 de septiembre de 2011

Bases de datos deductivas

Un sistema de base de datos deductivas es el sistema de base de datos que puede definir reglas con las cuales deducir o inferir información a partir de hechos almacenados en la base de datos.
•Base de datos lógicas: Cuando los fundamentos teoricos que usa son de lógico matematica.
•Base de datos expertos o de conocimientos: Incluyen capacidades de razonamiento e inferencia.
Los conocimientos se extraen de expertos en la aplicación, ya qeu principalmente se refieren al dominio de aplicación más que a conocimietnos sobre los datos.

NOTACIÓN PROTOLOG/DAtALOG:
La notación Prolog/datalog se basa en proveer predicados con nombres únicos.
Estos predicados deben tener un significado implícito y un número establecido de argumentos.
Si todos los argumentos son valores fijos, el predicado dice que un hecho es verdadero.
Pero si el predicado tiene variables como argumentos, es considerado una consulta o parte de una regla o restricción.
Todos los valores constantes en un predicado son numéricos o cadenas de caracteres que comienzan con letras minúsculas.
Y los nombres de variables siempre comienzan con una letra mayúscula.

NOTACIÓN DE DATALOG:
Los programas se construyen a partir de objetos básicos llamados fórmulas atómicas.
En Datalog las fórmulas atómicas para definir la sintaxis de los lenguajes son literales de la forma p(a1,a2,...,a3). "p" es el nombre del predicado y "n" es el
número de argumentos del predicado.
Datalog incluye varios predicados integrados que también sirven para construir fórmulas atómicas.
•Predicados de comparación binarios: less, less_or_equal y greater_or_equal. Estos se aplican sobre
dominios ordenados.
•Predicados de comparación: equal, not_equal: Para dominios ordenados o no ordenados.
Una literal es una fórmula atómica, se llama literal positiva.
La literal negativa es una fórmula precedida por not.
Los programas en Datalog son considerados como un subconjunto de las fórmulas del cáluco relacional de dominios.
Pero en Datalog, estas fórmulas primero se convierten en forma clausal antes de expresarse en Datalog.



Notación de Prolog para hecho, reglas y consultas:
El árbol basado en los hechos dados:


FORMA CLAUSAL Y LAS CLÁUSULAS DE HORN:
Una fórmula del cálculo relacional e suna condición que tiene predicados, a los cuales se le llaman átomos.
Una fórmula puede tener cuantificadores: universal y existencial.
Para convertir una fórmula a otra en la forma casual se debe cumplir estas características:
•Todas las variables estpan cuantificadas universalmente. Por ello no es necesario incluir los cuantificadores universales, los cuantificadores
se eliminan y todas las variables de la fórmula quedan cuantificadas implicitamente por el cuantificador universal
•La fórmula se compone de varias claúsulas y cada una de ellas de varias literales conectadas por coentores lógicos OR.
Por ello se dice que toda clapusula es una disyunción de literales.
•Las claúsulas se conectan mendiante conectores lógicos AND. A ello se debe que la forma clausual es una conjunción de claúsulas.

Forma de la claúsula:
not(P1) OR not(P2) OR...OR not(Pn) OR Q1 OR Q2 OR Q3 OR....OR Qm
En esa claúsula hay n literales negativas y m literales positivas.
Si la transformamos en una fórmula lógica seria:
P1 AND P2 AND...AND Pn = Q1 OR Q2 OR...OR Qm
Ambas fórmulas son equivalentes, ya que sus valores de verdad son iguales.

En Datalog, las reglas se expresan como una forma restringida de claúsulas llamadas claúsulas de Horn.
En estas, una claúsula puede contener a lo mucho una literal positiva.
Sus formas son:
•not(P1) OR not(P2) OR...OR not(Pn) OR Q
•not(P1) OR not(P2) OR...OR not(Pn)
Y se tranforma en:
P1 AND P2 AND...AND Pn = Q
En este caso, si P1, P2, y ... Pn son verdaderos, Q también será verdadero, en otras palabras se puede inferir.
Una consula en Datalog tienes dos componentes:
•Programa en Datalgo: Conjutno finito de reglas.
•Literal P(X1,X2,X3...,Xn): Cada X es una variable o constante.
Un sistema de Prolog/Datalog cuenta con una máquina de inferencia interna que sirve para procesar y calcular los resultados de las consultas.

Bases de datos distribuidas y arquitectura cliente servidor

FIABILIDAD Y DISPONIBILIDAD:
•Fiabilidad: Es la probabilidad de que un sistema este en funcionamiento en un determinado momento
•Disponibilidad: Es la probabilidad de que el sistema este disponible continuamente en un intervalo de tiempo.
Estos dos aspectos se logran con una mayor efectividad cuando los datos y el software del SGBD (sistema de gestor de base de datos)
está distribuido en varios sitios, en otras palabras cuando no es centralizado. Ya que en el centralizado si falla el principal todos los demas quedan
inaccesibles para los usuarios.

TÉCNICAS DE FRAGMENTACIÓN DE DATOS:
Es necesario decidir sobre los sitios en los que se almacenaran las partes de la base de datos.
•Fragmentación horizontal: Un fragmento horizontal de una relación es un subcojunto de las tuplas. Estas tuplas se definen por alguna condicion sobre uno o más atributos.
Este tipo de fragmentación divide una relacion horizontalmente agrupandolas filas, creando asi subconjutnos con un cierto significado lógico.
•Fragmentación vertical: Un fragmento vertical de una relación agrupa los atributos, solo mantiene algunos. Es importante incluir el atributo de clave primaria para poder
reconstruior la relación completa. Este tipo de fragmentación divide una relacion verticalmente agrupandola en columanas.
•Fragmentación mixta: En este tipo de fragmentación se unen ambas fragmentaciones explciadas anteriormente.
El conjunto de fragmentos que incluyen todos los atributos y tuplas de la base de datos se llama esquema de fragmentación.

REPLICACIÓN Y REPARTO DE DATOS:
•Totalmente replicada: Es la replicación en el caso más extremo, se replica toda la base da datos en todos los sitios del sistema distribuido.
Esto mejora la disponibilidad y el rendimiento de la obtención de datos en consultas globales. Sin embargo, la velocidad de la actualización disminuye ya que para mantener
la consistencia deve actualizar todas las copias.
•Ninguna replicación: Esto significa que cada fragmento se almacenara solo en un sitio. Para ello todos los segmentos deben ser independientes (disjuntos).
•Replicación parcial: En este caso, algunso fragmetnos de la base de datos pueden estar replciados y otros no.
El esquema de replicación es la descripción de la replicación de los fragmentos.
La distribución de las datos o reparto de datos es el proceso en el cual se asigna a un determinado sitio un fragmento o una copia del mismo.


TIPOS DE BASE DE DATOS DISTRIBUIDAS:
•Homogéneo: Si todos los servidores y clientes utilizan un software identico.
•Heterogéneo: Si todos los servidores y clientes no utilizan un software identico
•Sin autonomía local: Si el aceeso al SGBD es a través de un cliente.
•Con cierto grado de autonoma local: Si se permite transacciones locales acceso directo a un servidor.

•SGBD federado o multibases de datos: Cada servidor es un SGBD centralizado independiente y autónomo con propios usuarios locales y transacciones locales.
En conclusión, es un sistea hibrido entre los sietmas distribuidos y centralizados. Centralizado para los usuarios autonomos lcoales y distribuido para los usuarios globales.

•Con alto grado de transparencia de distribución o de integración de esquemas: Si el usuario percibe un solo esquema integrado son información alguna de la fragmentación y replciación.
•Sin transparencia de distribución ni integración de esquemas: Si el usuario puede ver información alguna de la fragmentación y replciación

Es importante almacenar en el catálogo de distribución todas las correspondencias entre los objetos del esquema integraod y de los objetos que estan distribuidos en los diferentes sitios de la base de datos.

jueves, 22 de septiembre de 2011

Bases de datos orientadas a Objetos

Estructuras de objetos:
Los valores o estados de los objetos complejos se pueden cosntruir partiendo de otros objetos, para ellos se usa algunos constructores de tipos. Un objeto tiene un Identificador de Objeto Único (OID)(i), el cual es unico y es generado por el sistema para cada objeto; tiene un constructor (c) que le indica como se construye el valor del objeto; y, por ultimo, el valor o estado del objeto (v). Una forma de representar los objetos es a través de una tripleta que incluyen (i,c,v) explcicados anteriormente.

Constructores de tipos:
Son las operaciones de estructuración para definir la estructura y las operaciones básicas de un objetos,Existen varios tipos de constructores de tipos, los más básicos son los de átomos, tuplas y conjuntos.También existe un dominio que contiene todos los valores atómicos básicos que están disponibles en el sistema.
El valor de un objeto (v) se interpreta a través del constructor (c). Si c es del tipo átomo, el valor (v) es un valor atómico del dominio. Si c es del tipo conjunto, el valor es un conjunto de identificadores de objetos. Si c es del tipo tupla, el valor es una tupla de forma "a:i". Donde "a" es una atributo e "i" es en OID del objeto.
Otros tipos de tipos de constructores son las listas, arreglos y bolsaz. Para distinguirlos de los tipos básicos se los llama tipos de colección o tipos masivos. Si el constructor (c) es una lista, el valor v es una lista ordenada de identificadores de objetos (IOD). Si c es un arreglo, se valor es una arreglo o matriz de identificadores de objetos. Una lista es parecida a un conjunto, pero en una lista los objetos están ordenados lo cual nos permite referirnos al primero, segundo, tercero o al enésimo. Una bolsa también se parece a un conjunto, pero esta si permite valores repetidos.
Un tipo de colección puede tener como valor una colección de objetos sin alguna estructura, como son las bolsas o conjuntos, o al contrario tener una estructura, somo con las listas y arreglos.

Encapsulamiento de operaciones:
El encapsulamiento es para definir el comportamiento de un tipo de objeto. Para ello la estructura interna del objeto que da oculta y solo se puede acceder a ella mediante operaciones definidas. Algunas de estas operaciones pueden ser para crear o destruir objetos, otras pueden ser actualizar el valor o estado del objeto, asi como también para obtener partes del valor del objeto o aplicar cálculos con estos. Cada operación tienen un nombre y argumentos, conocidos también como parámetros. La implementacion de cada operación tambien oculta. La parte de interfaz de cada operacion se llama signatura y la implementacion, metodo.
A veces es conveniente no encapsular todos los objetos, para ello se puede dividir la estrucutra de un objeto en atributos visibles y ocultos.
Hay diferentes tipos de objetos, los objetos transitorios son objetos que no están destinados a almacenarse permanente en la base da datos, estos desaparecem ima vez que terminen.
Los objetos persistentes se almacenan en la base de datos y se quedan una vez que hayan terminado. Cuando un objeto es persistente, el objeto tiene un nombre persistente unico mediante el cual los programas pueden acceder hacia el objeto.

Jerarquías de tipos y herencia:
Un requisito importante en las bases de datos orientadas a objetos es la jerarquía de tipos. Esta es la posibilidad de definir nuevos tipos basándose en otros tipos predefinidos. Para poder definir un tipo, se le asigna un nombre de tipo y sus respectivas funciones, estas incluyen atributos y métodos. Hay casos en el que las funciones de algun tipo están incluidas en las de otro. Es estos casos es conveniente que sea un subtipo, esto quiere decir que hereda las variables del otro tipo, el cual se denomina supertipo. En otras palabras, el subtipo tiene todas las funciones del supertipo y algunas funciones propias adicionales. Los vínculos que se generan al crear estos tipos se llaman vínculos supertipo/subtipo.

Jerarquía de clases:
Una clase es una colección de objetos que tienen el mismo tipo. Generalmente, se define por un nombre y por la colección de objetos que incluyen. En las clases también es conveniente definir subclases y superclases. Algunos sistemas orientados a objetos tienen una clase predefinida.
La clasificación de las clases es mediante la especialización de objetos, se analizan los objetos y se buscan las semejanzas entre sus atributos. De este modo se logra la jerarquía de clases.
Anteriormente vimos que hay dos tipos de objetos: persistentes y transitorios. Si en una clase tienen objetos transitorios, esta sera una clase transitorio. Al contrario, si la clase contiene objetos persistentes, esta es una clase pesistente.



SGBDOO (Sistema Gestor de Base de Datos Orientada a Objetos):
•O2 technology:
El esquema del O2 define los tipos y las clases de objetos del sistema. Un tipo de objetos se define haciendo uso de los tipos atómicos y los constructores que el O2 tiene. Los tipos atómicos son boolenado, enteros, reales, cadena y de bit. Por otro lado, los constructores de tipos son las tuplas, listas y conjuntos. En O2, en la definición de los tipos no se incluye los métodos, se incluye en la definición de clase. Esta consta principalmente de dos partes. Una es el tipo de objetos que pueden incluirse en la clase y la otra parte son los métodos que se pueden aplicar a dichos objetos.
En O2 se diferencia los valores y objetos. Un valor es un tipo y se representa por sí solo. En cambio, un objeto pertenece a una clase y su comportamiento esat regido por los métodos de la clase a la uqe pertenece. Además un objeto tiene una identidad unica, en cambio un valor no lo tiene.
El o2 tiene un lenguaje O2C, el cual sirve para definir clases, métodos y tipos, y para crear objetos y valores. Para declarar una subclase se usa el enunciado "inherit". El o2 permite cambiar el nombre de los atributos o métodos heredados.
Para redefinir un método se cmabia el nombre y se incluye una nueva deficnición del método con el nombre qe se le desea poner. O2 permite la opción de herencia múltiple en la cual una clase hereda el tipo y los métodos de varias clases. Existen dos maneras de crear aplicaciones de O2. Una de ellas es usar lenguajes de consulta y programación propios del O2. Estos son O2, O2SQQL y O2C. Y la otra alternatica es usar O2 como un sistema en el cual se almacenen objetos para otro lenguaje, por ejemplo C++.




•ObjectStore:
Ese sistema se usa con el lenguae C++, por ello ObjectStore puede usar las declaraciones de clase de C++. Los apuntadores a los objetos tienen la misma sintaxis en objetos persistentes y transitorios. Para heredar una clase, en la definición de la clase hijo, despues del nombre de la clase, se escribe dos puntos (:) seguidos de las palabras "public" o"private" y el nombre de la clase padre. ObjectStore contiene un recurso de vínculos que permiten especificar atributos inversos que representan un vínculo binario. para ello se escribe 2inverse_member" a un atributo, al cual le sigue la lista de sus atributos inversos en la otra clase. Una función muy util es la función constructora de una clase, esta puede tener el mismo nombre que la clase, nos permite crear nuevos objetos de esa clase. ObjectStore a parte de usar lenguaje C++, cuenta con una herramietno de interfaz gráfica para facilitar la creación de aplicaciones. También se puede aplciar algunas funciones extras: insert sirve para insertar un elemento en una colección, remove para quitar un elemento de la colección y create para crear una nueva colección.


Diseño de bases de datos OO por transformación EER-OO:
•Primero: Para cada clase ERR, se crea una clase OO. El tipo de la clase OO debe incluir todos los atributos de la clase EER. Si los valores del atributo multivaluado deben esatr ordenados se usa el contructor de lista, si están permitidos los duplciados, el cosntructor de bolsa y si los atributos son compuestos, con el constrcutor de tuplas.
•Segundo: Se debe añadir atributos de referencia para cada vínculo binario. Los atributos pueden estar ne una dirección como también en ambas. Serán monovaluados para los vícnulos 1:1 o N:1 y con valor de conjunto o con valor de lista con 1:N o M:N.
•Tercero: Se debe incluir métodos apropiados para cada clase, los cuales no esta disponibles en el esquema EER. Por ellos se debe agregar al diseño de la base de datos.
•Cuarto: Una sbuclase heredará el tipo y los métodos de sus superclases.
•Quinto: Las entidades débiles que no están incluidos en otros vínculos se pueden transformar como si atributos multivaluados compuestos del tipo de entidades propietario.
•Sexto: Los objetos que tienen mas de 2 vínculos se transforman a un tipo de objetos aparte con las respectivas referencias alos objetos participantes.

Conceptos avanzados de modelo de datos


Diferencias entre el modelo ER y el modelo ER extendido (EER):
El modelo ER extendido (EER) incluye los conceptos del modelo ER, la diferencia esta en que el EER incluye también los conceptos de subclase, superclase, especialización,
generalización y herencia de atributos.

Subclases y superclases:
Algunos tipos de entidades tienen subagrupaciones a parte de sus entidades que tambien son importantes, estas son
las subclases. Y el tipo de entidad a la que pertenece es la superclase.
Por ello cualquier entidad que sea parte de la subclase será también parte de la superclase.


Especializacion:
Es un proceso en el cual se define un conjunto de subclases a partir de un tipo de entidad. Este tipo de entidad de llama superclase de la especializacion.
Se puede tener varias especializaciones del mismo tipo de entidad, estas se basan en diferentes características.

Retícula de especialización:
Es una reticula de especialización cuando una subclase puede ser subclase de varias superclases.

Generalización:
Es un proceso en el cual se define superclases, para ello se trata de eliminar las diferencias existentes entre varios tipos de entidades, se busca rasgos comunes y se generaliza para obtener
una sola superclase. Las superclases de esta superclase se llaman subclases especiales.

Herencia:
Una subclase hereda los atributos de la superclase, pero no solo de la superclase directa (la que la precede), si no también de todas las superclases que le preceden.
Si una subclase tiene varias superclases se llama subclase compartida. Esto genera una herencia múltiple, esta subclase hereda directamente los atributos de las superclases.
Vale aclarar que a pesar que una subclase sea compartida, las superclases tienen a su vez una misma superclase.

Categorías y la categorización:
En el caso que una subclase tenga mas de una superclase se la llama categoria.
Esta categoría es la representacion de una clase que es la unión de todas las entidades que se necesita representar.
Una categoria tiene dos o más superclases que representan diferentes tipos de entidades, una antidad que sea miembro de una categoria debe estar por lo menos en algunas de las superclases, pero no necesariamente en todas.

viernes, 16 de septiembre de 2011

Modelo de datos jerárquico

Este modelo se creó con el fin de poder representar las organizaciones jerárquicas que existen en el mundo real. La estructura en la que se basa este modelo es de datos de árbol. Cada tipo de registros es un nodo del árbol y los vínculos padre-hijo son las aristas o arcos.

Para explicar mejor la estrucutra de este modelo tenemos:
•Vínculos padre-hijo:
Este vínculo es un vínculo 1:N entre dos registros, que como ya sabemos es la reprentación de una entidad. El registro que esta al lado 1 se llama tipo de registro padre y los que están al lado N son los registros hijos. Para poder hacer referencia a estos vínculos se pone el nombre de ambos registros entre paréntesis, el primero es padre y segundo el hijo.
•Propiedades de los esquemas jerárquicos (árbol):
-La raiz del esquema jerárquico no debe ser hijo en ningun vínculo padre-hijo.
-Los regsitros hijo deben pertenecer a un solo vínculo padre-hijo.
-Los registros padres si pueden ser padres en cero o más vículos padre-hijo.
-Un registro qeu no sea padre en ningun vínculo padre-hijo se llama hoja.
-Los registros hijos bene esatr ordenados de izquierda a derecha.
Una forma de represntar una ocurrencia jerárquica es lineal, para ello empleamos un recorrido en preorden del árbol.

Este modelo presenta ciertas restricciones:
•Los registros hijos no pueden existir si no existen los registros padres o raiz.
•Se puede eliminar un registro hijo sin afectar a los demas registros, pero si eliminamos un registro padre eliminamos también a todos sus hijos.
•Si un registro hijo tiene dos padres del mismo tipo de registro debe duplicarse para poder estar en ambos registros.
•Si un registro hijo tiene dos padres de diferentes tipos de registro solo puede tener un padre real.

Es posible diseñar una base de datos jerárquica a partir de un esquema de entidad de relacion (ER).
Cada entidad viene a ser un nodo.
Los vínculos 1:N se pueden representar en una jerarquía específica. El problema es en las relaciones N:M.
Una solución es representar este vínculo M:N como 1:N. Reemplazamos los registros del lado N se duplicarán para mantener la relación con varios padres.
Otra solución es crear más de una jerarquía y tener vínculos padre-hijo virtuales.

Ejemplo:

Esquema de entidad de relacion (ER)


Base de datos jerárquico (1era forma)


Base de datos jerárquico (2da forma)

El lenguaje de manipulación de datos para este modelo es el HDML. Las órdenes del lenguaje deben estar incorporados en un leguaje de programación general, este viene a ser
el lenguaje anfitrión.
Es necesario conocer algunos términos:
•Área de trabajo del usuario: Es el espacio en el que se almacenan las variables del programa, las cuales almacenan los registros.
•El registro actual de la base de datos: Es el ultimo registro al que se accedió.
•Cada esquema jerárquico tiene su propio registro actual de jerarquía.
•El sistema sigue la pista del actual tipo de registro para cada tipo de registros.
•Hay tres tipos de indicadores de actualidad: Actual de base de datos, actual de jerarquía para cada esquema jerárquico y actual de tipo de regsitros para cada tipo de registros.



miércoles, 14 de septiembre de 2011

Base de Datos de Red

La Base de Datos de Red es un tipo de modelo de base de Datos.
Este modelo representa las entidades de la
base de datos basándose en la estructura de los nodos de un grafo y la relación existente
de cada entidad mediante los arcos que unen dichos nodos, estos pueden ser bidireccionales.

Este modelo es muy flexible, no tiene restricciones, ya que el número de arcos puede ser tantos como se necesite.
Esto permite modelar datos y relaciones complejas.
Sin embargo, como no presenta restricciones en las relaciones entre entidades
tiene un caracter totalmente general. Es por ello que su implementación resulta complicada.

Este modelo permite manejar diferentes relaciones:

Entre ellas está la de muchos a muchos:
"En un concurso de bandas pueden estar inscritas muchas bandas y cada banda puede estar en muchos concursos a la vez."



De uno a muchos:
"Un cantante puede tener varias canciones, pero una canción solo puede ser de un cantante."


Reflexiva de uno a muchos:
"Una persona puede supervisar a muchas personas, pero una persona puede ser supervisada por una sola persona."



Reflexiva de muchos a muchos:
"Una persona puede supervisar a muchas personas y una persona puede tener varios supervisores."



Es posible diseñar una base de datos de red a partir de un esquema de entidad de relacion (ER).
Los pasos son:
Primero, se trabaja con las entidades normales, por cada entidad se crea un tipo de registro con todos sus atributos simples o compuestos como campos simples o compuestos.
Sus atributos multivaluados se incluyen tambien , pero como campos vectoriales.
Segundo, se trabaja con las entidadesd débiles. Estas son entidades que dependen de otra para poder existir.
Para cada entidad débil se crea un tipo de regsitro que lo represente. Además debemos relacionarla con la entidad de la que depende, para ello la entidad fuerte de la qeu depende la débil viene ser propietario y la débil, miembro.
Tercero, se trabaja con los vínculo uno-uno (1:1) y uno-muchos no recursivos. En el caso de la relación de uno a uno se elige cualquiera de los dos registros como propietario y al otro como miembro.
En el caso de la relación de uno a muchos (1:N) se escoge como propietario al registro que representa a la entidad que está al lado 1 de la relación y como miembro al registro que representa a la entidad que esta al lado N de la relación.
Cuarto, se trabaja con las relaicones de muchos a muchos (N:M). Para ello se crea un nuevo tipo de registro, el cual sera miembro de los dos registros que representan a las entidades de la relación.
Quinto, se trabaja con los vínculos recursivos con vínculos de 1:1 o 1:N. Para ambos casos se crea un nuevo registro. El cual se unirá al registro que representa la entidad a través de tipo de conjuntos (flechas).
Sexto, se trabaja con los vículos que relacionan a más de dos entidades.
Para ello se crea un nuevo tipo de registro, el cual será el registro miembro de los registros que representan a las entidades. Y estos vendrían a ser los registros propietarios.

Ejemplo:

Esquema de entidad de relacion



Base de datos de red



La programación de una base de datos de red se realiza con el fin de poder realizar distintas tareas, tales como buscar, leer, insertar, eliminar y modificar los registros. Para ello se usa el legunaje de mainupulación de datos (DML).
Este consiste principalmente en órdenes de registro por registro incorporadas en un lenguaje de programación de aplicación general, se llama leguaje anfitrión.
Para entender mejor la programación, primero es necesario entender algunos términos.
Uno de ellos son los registros actuales, estos son registros específicos identificados de la base da datos.
Otro término importante son los indicadores de actualidad, estos indicadores ayudan
a llevar el control de varios registros y ocurrencias.
Hay tres tipos de indicadores de actualidad:
•Actual de tipo de registros: Este indicador sigue la pista al último registro al que se tuvo acceso.
•Actual de tipo de conjuntos: Este indicador sigue la pista a la última ocurrencia a la que se tuvo acceso.
•Actual de unidad de ejecución: Es un programa de acceso a la base de datos que se está ejecutando. Por cada unidad se sigue la pista al ultimo registro al que se accedió.
Otro tipo de indicadores son los de estado, estos sirven, principalmente, para indicar el éxito o fracaso después de ejecutar una orden de DML. Esto es importante ya que gracias a esto el sistema puede emprender acciones apropiadas, ya sea para continuar o solucionar los errores.
Y por último el área de trabajo del usuario, esta viene a ser el conjunto de variables locales que contienen los diferentes tipos de registros para que el programa anfitrion pueda manipularlos.

miércoles, 7 de septiembre de 2011

Ejemplo de pasos de la normalización desde la 1FN hasta la 4FN.

El ejemplo es sobre la base de datos de disqueras musicales.
Se desea guardar los datos de las disqueras, asi como los grupos, intergantes (músicos), el puesto que ocupan en el grupo, discos, canciones grabadas, etc




Hallamos el PK:

(C_Disquera, C_Grupo, C_Musico, C_Cancion)


DMV:

DISCO_X_GRUPO(C_Grupo,C_Disco)

CANCION_X_GRUPO(C_Grupo,C_Cancion)

CANCION_X_DISCO(C_Disco,C_Cancion)


DFC:

DISQUERA(C_Disquera,N_Disquera,Num_TelefonoDisquera,T_DireccionDisquera,T_CorreoElectronicoDisquera)

GRUPO(C_Grupo,N_Grupo,Q_Integrantes,Q_DiscosGrabados,Num_TelefonoGrupo,T_GeneroMusical,T_CorreoElectronicoGrupo)

MUSICO(C_Musico,N_Musico,D_Nacimiento,Num_TelefonoMusico,T_CorreoElectronicoMusico)

CANCION(C_Cancion,N_Cancion,Q_DuracionCancion)

DISCO(C_Disco,N_Disco,Q_EjemplaresVendidos,Q_Canciones,D_Lanzamiento,$_Disco)

DISQUERA_GRUPO(C_Disquera,C_Grupo,C_Disco)

GRUPO_MUSICO(C_Grupo,C_Musico,N_Puesto)


domingo, 4 de septiembre de 2011

La cuarta forma normal (4FN)

Para lograr la cuarta forma normal (4FN) es necesario que este en 1FN, 2FN y 3FN.
Las 4FN se da cuando existen relaciones de uno a muchos (dependencia multivalor)
Hay dos maneras de proceder, una de ellas es cuando la cantidad de atributos es indefinida, se establece la clave primaria con ambos datos. Y la otra se da cuando la cantidad de atributos es determinada, en este caso, se establece la clave primaria y los atributos se enumeran.

EJEMPLO 1:

1era forma:
MUSICO_X_GRUPO(C_Grupo,N_Musico2,N_Musico3)

2da forma:
MUSICO_GRUPO((C_Grupo, N_Musico)


EJEMPLO 2:

1era forma:
GRUPO_X_DISQUERA(C_Disquera, Grupo1, Grupo2, Grupo3)

2da forma:
DISQUERA_GRUPO(C_Disquera, Grupo)


EJEMPLO 3:

1era forma:
LOCAL_X_RESTARURANTE(C_Restaurante, Local1, Local2, Local3)

2da forma:
RESTAURANTE_LOCAL(C_Restaurante, Local)


EJEMPLO 4:

1era forma:
LIBRO_X_AUTOR(C_Autor, N_Libro1, N_Libro2, N_Libro3)

2da forma:
AUTOR_LIBRO(C_Autor, N_Libro)

viernes, 2 de septiembre de 2011

Tercera forma normal (3FN)

Para lograr la tercera forma normal (3FN) es necesario primero lograr la primera forma normal (1FN) y la segunda forma normal (2FN). Posteriormente, es necesario que no exista dependencia entre los atributos no claves, en otras palabras que no exista dependencia transitiva entre ninguno de los atributos claves y las claves principales. En caso que esto no se cumpla, debemos separar en tablas diferentes.

EJEMPLO 1:

EJEMPLO 2:

EJEMPLO 3:


EJEMPLO 4:

Segunda forma normal (2FN)

Para lograr la segunda forma normal (2FN) es necesario primero lograr la primera forma normal (1FN). Una vez que lo logres, todos los atributos no claves deben depender de toda la clave primaria, en otras palabras deben estar en dependencia funcional completa (DFC) . Si no se cumple, se debe separar en diferentes tablas para que cumplan este requisito.

EJEMPLO 1:


EJEMPLO 2:



EJEMPLO 3:


EJEMPLO 4: