Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentado por:
Pedro Fernando Marquez Diaz
Profesor:
Jorge Ospina Beltrán
Bogotá
2020
Cláusula Group by
La cláusula GROUP BY es un comando SQL que se usa para agrupar filas que tienen
los mismos valores.
GROUP BY Sintaxis
Ahora que sabemos cuál es la cláusula GROUP By, veamos la sintaxis para un grupo
básico por consulta.
La cláusula having se usa a menudo con la GROUP BY cláusula para filtrar grupos
según una condición específica. Si GROUP BY se omite la cláusula HAVING, la
cláusula se comporta como la WHERE cláusula.
SELECT
select_list
FROM
table_name
WHERE
search_condition
GROUP BY
group_by_expression
HAVING
group_condition;
En esta sintaxis, especifica una condición en la cláusula HAVING. Si una fila, que es
generada por el grupo por cláusula, hace que la group_condition evaluación sea
verdadera, la consulta la incluirá en el conjunto de resultados.
Observe que la cláusula HAVING aplica una condición de filtro a cada grupo de filas,
mientras que la cláusula WHERE aplica la condición de filtro a cada fila individual.
FORMA NORMAL
las formas normales (NF) proporcionan los criterios para determinar el grado de
vulnerabilidad de una tabla a inconsistencias y anomalías lógicas. Cuanto más alta sea
la forma normal aplicable a una tabla, menos vulnerable será a inconsistencias y
anomalías. Cada tabla tiene una "forma normal más alta" (HNF): por definición, una
tabla siempre satisface los requisitos de su HNF y de todas las formas normales más
bajas que su HNF; también por definición, una tabla no puede satisfacer los requisitos
de ninguna forma normal más arriba que su HNF.
Las formas normales son aplicables a tablas individuales; decir que una base de datos
entera está en la forma normal n es decir que todas sus tablas están en la forma
normal n.
Los recién llegados al diseño de bases de datos a veces suponen que la normalización
procede de una manera iterativa, es decir un diseño 1NF primero se normaliza a 2NF,
entonces a 3NF, etcétera. Ésta no es una descripción exacta de cómo la normalización
trabaja típicamente. Una tabla sensiblemente diseñada es probable que esté en 3NF en
la primera tentativa; además, si está en 3NF, también es extremadamente probable que
tenga una forma HNF de 5NF. Conseguir formas normales "más altas" (sobre 3NF)
usualmente no requiere un gasto adicional de esfuerzo por parte del diseñador, porque
las tablas 3NF usualmente no necesitan ninguna modificación para satisfacer los
requisitos de estas formas normales más altas.
Edgar F. Codd originalmente definió las tres primeras formas normales (1NF, 2NF, y
3NF). Estas formas normales se han resumido como requiriendo que todos los
atributos no-clave sean dependientes en "la clave, la clave completa, y nada excepto la
clave". Las cuarta y quinta formas normales (4NF y 5NF) se ocupan específicamente
de la representación de las relaciones muchos a muchos y uno muchos entre los
atributos. La sexta forma normal (6NF), en pocas palabras, se basa en el principio de
que, si se tiene más de dos claves candidatas en una tabla, se tendrán que crear otras
tablas con estas.
Por ejemplo, si tenemos "ítem" con un id código de producto y con los atributos
descripción y precio que son claves candidatas se tendría que crear otras tablas
separando la tabla ítem: ItemDesc {código_producto*, Descripción} ItemPrecio
{código_producto*, Precio}.
La sexta forma normal no es muy utilizada porque genera más tablas cuando tenemos
pequeñas bases de datos.
Primera forma normal (1FN)
Una relación R (A1....AN) está en 1FN, Sí y solo sí todo atributo A1 es simple y mono
valuado. Para saber si está en 2FN tenemos que ver tu dependencia funcional.
Atributo primo: sea R (A1…AN) y Dependencia Funcional (F, R), sea (A) un atributo
(A1....AN) diremos que (A) es primo. Si existe una clave candidata (K) de (R) según (F)
tal que (A) pertenece (K).
Una relación con un conjunto de dependencia funcional (F, R). esta en 2FN si y solo si
para todo atributo (A) y clave (K), tal es que (A) es un atributo de la relación y (A) no es
primo y (k) es una clave de la relación según (F), se cumple que es una dependencia
funcional total (K) y implica (A).
Sea una relación (A1....An) con sus diferencias funcionales (F,R) diremos que (R) está
en 3FN según (F). Esta 3FN (R, F).
si y solo si, para todo (F), tal que (F) es una dependencia funcional, (f) pertenece a (F).
se cumple que super clave el antecedente de (F) o para todo (A) que pertenece al
consecuente de (F).
Sea una relación (A1….AN) con sus diferencias funcionales (F, R) diremos que (R) esta
en BCNF(R,F).
Una tabla está en 4FN si y solo si está en Tercera forma normal o en FNBC
(Cualquiera de ambas) y no posee dependencias multivaluadas no triviales. La
definición de la 4FN confía en la noción de una dependencia multivaluada. Una tabla
con una dependencia multivaluada es una donde la existencia de dos o más relaciones
independientes muchos a muchos causa redundancia; y es esta redundancia la que es
suprimida por la cuarta forma normal.[ CITATION Cua20 \l 2058 ]