En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos




descargar 0.75 Mb.
títuloEn años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos
página19/36
fecha de publicación02.02.2016
tamaño0.75 Mb.
tipoDocumentos
b.se-todo.com > Economía > Documentos
1   ...   15   16   17   18   19   20   21   22   ...   36

4.6.1 Normalización



La consulta de entrada puede ser arbitrariamente compleja dependiendo de las facilidades provistas por el lenguaje. El objetivo de la normalización es transformar una consulta a una forma normalizada para facilitar su procesamiento posterior. La normalización consiste de dos partes:
El análisis léxico y sintáctico. En esta parte se verifica la validez de la expresión que da origen a la consulta. Se verifica que las relaciones y atributos invocados en la consulta estén acordes con la definición en la base de datos. Por ejemplo, se verifica el tipo de los operandos cuando se hace la calificación.
Construcción de la forma normal. Existen dos tipos de formas normales. La forma normal conjuntiva es una conjunción de disyunciones como sigue:
(p11p12  . . .  p1n)  (p21p22  . . .  p2n)  . . .  (pm1pm2  . . .  pmn)
donde pij es un predicado simple. Una consulta está en forma normal disyuntiva cuando se tiene una disyunción de conjunciones:
(p11p12  . . .  p1n)  (p21p22  . . .  p2n)  . . .  (pm1pm2  . . .  pmn)
En cualquier forma normal, la expresión está libre de cuantificadores, existencial o universal, por lo que solo se consideran predicados simples. Existe un procedimiento para obtener la forma normal, conjuntiva o disyuntiva, de cualquier expresión en el cálculo de proposiciones. Para la aplicación que estamos considerando, la forma normal conjuntiva es más práctica puesto que incluye más operadores AND () que operadores OR (). Típicamente, los operadores OR se transforman en uniones de conjuntos y los operadores AND se transforman en operadores de junta o selección.
Ejemplo 4.3. Considere la siguiente consulta en la base de datos de ingeniería que hemos utilizado a lo largo de estas notas.
"Encuentre los nombres de los empleados que han trabajado en el proyecto J1 12 o 24 meses"
La consulta expresada en SQL es:
SELECT ENAME

FROM E, G

WHERE E.ENO = G.ENO AND G.JNO = "J1" AND DUR = 12 OR DUR = 24
La consulta en forma normal conjuntiva es:
E.ENO = G.ENO  G.JNO = "J1"  (DUR = 12  DUR = 24)
La consulta en forma normal disyuntiva es:

(E.ENO = G.ENO  G.JNO = "J1"  DUR = 12) 

(E.ENO = G.ENO  G.JNO = "J1"  DUR = 24)
En esta última forma, si se tratan las conjunciones en forma independiente se puede incurrir en trabajo redundante si no se eliminan las expresiones comunes.



4.6.2 Análisis



El análisis de consultas permite rechazar consultas normalizadas para los cuales no se requiere mayor procesamiento. Una consulta se puede rechazar si alguno de sus atributos o nombres de relación no están definidas en el esquema global. También se puede rechazar si las operaciones que se aplican a los atributos no son del tipo adecuado.
Se puede hacer también un análisis semántico. La consulta se puede rechazar si las componentes no contribuyen de ninguna forma a la generación del resultado. Dentro del cálculo relacional no es posible determinar la correctitud semántica de una consulta general. Sin embargo, es posible hacerlo para una clase importante de consultas relacionales, aquellas que no contienen disyunciones y negaciones. El análisis anterior se basa en la representación de la consulta como una gráfica, llamada la gráfica de la consulta o la gráfica de conectividad. En una gráfica de consulta, un nodo indica la relación resultante, y cualquier otro nodo representa la relación operante. Un arco entre dos nodos que no son resultados representa una junta, mientras que un arco cuyo nodo destino es una relación resultante representa una proyección. Más aún, un nodo no resultado puede ser etiquetado por un predicado de selección o auto-junta. Una subgráfica importante de la gráfica de conectividad es la gráfica de juntas, en la cual únicamente se consideran las juntas. La gráfica de juntas es particularmente importante durante la fase de optimización.
Ejemplo 4.4. Considere la siguiente consulta:
"Encuentre los nombres y responsabilidades de los programadores que han estado trabajando en el proyecto de CAD/CAM por más de tres años y el nombre de su administrador"
La consulta expresada en SQL es:
SELECT ENAME, RESP

FROM E, G, J

WHERE E.ENO = G.ENO AND G.JNO = J.JNO AND JNAME = "CAD/CAM"

AND DUR  36 AND TITLE = "Programador"
La gráfica de la consulta anterior se presenta en la Figura 4.5a. En la Figura 4.5b se presenta la gráfica de juntas para la gráfica de la Figura 4.5a.




Figura 4.5. a) Gráfica de una consulta. b) Gráfica de juntas.
La gráfica de la consulta es útil para determinar la correctitud semántica de una consulta conjuntiva con múltiples variables sin negaciones. Tal consulta es semánticamente incorrecta si su gráfica no es conectada. En este caso, una o más subgráficas están desconectadas de la gráfica que contiene la relación RESULTADO.
Ejemplo 4.5. Considere la siguiente consulta:
SELECT ENAME, RESP

FROM E, G, J

WHERE E.ENO = G.ENO AND JNAME = "CAD/CAM"

AND DUR  36 AND TITLE = "Programador"
La gráfica de la consulta anterior se presenta en la Figura 4.6, la cual se ve claramente que es no conectada.

Figura 4.6. Gráfica de una consulta semánticamente incorrecta.

1   ...   15   16   17   18   19   20   21   22   ...   36

similar:

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases de datos de secuencias de adn y proteínas

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconUna red de comunicaciones es la combinación de hardware, software...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconResumen a lo largo de los años, la agricultura se ha mantenido como...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconResumen El presente trabajo de investigación bibliográfica trata...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconCientífico británico que sentó las bases de la moderna teoría evolutiva,...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconRecibimos de las distintas sucursales de la empresa los datos correspondientes a las ventas en

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconEntre las herramientas utilizadas en la minería de datos (Data Mining)...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconMinería de Datos aplicados a las ventas con Tarjeta de Crédito realizados...

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases moleculares de las acciones de la insulina

En años recientes, la disponibilidad de las bases de datos y de las redes de computadoras ha promovido el desarrollo de un nuevo campo denominado bases de datos iconBases moleculares de las acciones de la insulina




Todos los derechos reservados. Copyright © 2019
contactos
b.se-todo.com