Contenido:
- Que es SQL.
- Normalización.
- Formas Normales.
- Tipos de Instrucciones SQL (DDL, DCL, DML).
- Fuentes.
- Que es SQL.
- Normalización.
- Formas Normales.
- Tipos de Instrucciones SQL (DDL, DCL, DML).
- Fuentes.
¿Que es SQL?
SQL es el Lenguaje Estructurado de Consultas o en ingles:
Structured Query Language.
Structured Query Language.
SQL apoya la creación de las bases de datos relacionales y mantenimiento de las mismas y además a la gestión de los datos estas contengan.
El modelo relacional se basa en los principios matemáticos de la teoría de conjuntos y lógica de predicados y apoya la recuperación de datos sencilla.
Una relación:
Es un conjunto de columnas y filas reunidas en una estructura en forma de tabla que representa una entidad única formada por los datos relacionados.
Es un conjunto de columnas y filas reunidas en una estructura en forma de tabla que representa una entidad única formada por los datos relacionados.
Cada relación comprende uno o más atributos (columnas).
Una entidad:
Es una persona, lugar, cosa, evento o concepto sobre el cual los datos son recolectados.
Es una persona, lugar, cosa, evento o concepto sobre el cual los datos son recolectados.
Un atributo:
Es un hecho simple que describe o caracteriza una entidad de alguna manera.
Un dominio:
Define el tipo de datos que son almacenados en un atributo particular.
Un tipo de datos:
Es un tipo específico de restricción (un control usado para hacer cumplir la integridad de los datos) asociados con una columna.
Restringe el formato de los datos, como el permitir únicamente dígitos numéricos.
Restringe el formato de los datos, como el permitir únicamente dígitos numéricos.
Una tupla (filas):
Es un conjunto de datos cuyos valores hacen una instancia de cada atributo definido por esa relación. Cada tupla representa registro de datos relacionados.
Es un conjunto de datos cuyos valores hacen una instancia de cada atributo definido por esa relación. Cada tupla representa registro de datos relacionados.
NORMALIZACIÓN
Es un conjunto de normas (formas normales), que proporcionan una directriz de cómo los datos son organizados para evitar inconsistencias y pérdida.
Un identificador único o clave principal o llave primaria (PK), es un atributo o conjunto de atributos que identifican cada fila de datos en una relación.
Es habitual seleccionar un identificador único como primer paso en la normalización.
Formas Normales
Primera forma normal:
- Cada atributo de una tupla contiene sólo un valor.
- Cada tupla en una relación contiene el mismo número de atributos
- Cada tupla es diferente, lo que significa que la combinación de los valores de todos los atributos de una tupla dada no puede ser como ninguna otra tupla en la misma relación.
Ejemplo:
Observaciones:
En la Figura 1, la tercera tupla y la cuarta tupla violan la primera forma normal.
¿Porque?
En la tercera tupla, el atributo DOCUMENTO contiene dos valores.
En la cuarta tupla, el atributo PAIS contiene dos valores también.
Importante:
Se debe vigilar la repetición de valores en forma de repetición de columnas.
Por ejemplo, tener 2 campos como NOMBRE1, NOMBRE2 NO es una solución adecuada porque es muy probable que una persona tenga un tercer nombrey por lo tanto necesite un tercer campo nombre (NOMBRE3), y tal vez otra persona tenga 5 nombres y así sucesivamente. Además, repetir columnas hace que las consultas sean más difíciles, ya que debe recordar buscar en todas las columnas.
Tampoco se deben repetir tuplas con la misma información.
Segunda forma normal :
Para comprender la segunda forma normal primero debemos entender que es Dependencia funcional.
Dependencia funcional
Es una restricción que se aplica a dos o más columnas de una tabla.
Ejemplo:
Observaciones:
En la Figura 1, la tercera tupla y la cuarta tupla violan la primera forma normal.
¿Porque?
En la tercera tupla, el atributo DOCUMENTO contiene dos valores.
En la cuarta tupla, el atributo PAIS contiene dos valores también.
Importante:
Se debe vigilar la repetición de valores en forma de repetición de columnas.
Por ejemplo, tener 2 campos como NOMBRE1, NOMBRE2 NO es una solución adecuada porque es muy probable que una persona tenga un tercer nombrey por lo tanto necesite un tercer campo nombre (NOMBRE3), y tal vez otra persona tenga 5 nombres y así sucesivamente. Además, repetir columnas hace que las consultas sean más difíciles, ya que debe recordar buscar en todas las columnas.
Tampoco se deben repetir tuplas con la misma información.
Segunda forma normal :
Para comprender la segunda forma normal primero debemos entender que es Dependencia funcional.
Dependencia funcional
Es una restricción que se aplica a dos o más columnas de una tabla.
X determina Y (simbólicamente: X→Y) si existe al menos un valor de Y para cada valor de X.
Para que lo entiendas mas fácil... observa la tabla de la figura 2:
Analicemos la tabla...
el CODIGO_ESTUDIANTE determina el NOMBRE, por lo tanto tenemos una llave candidata (el atributo CODIGO_ESTUDIANTE).
ahora que tenemos una candidata debemos analizar los siguientes atributos...
el atributo CODIGO_ESTUDIANTE NO determina al atributo NOTA ya que es necesario saber a cual MATERIA le corresponde dicha NOTA...
por lo tanto, CODIGO_ESTUDIANTE Y MATERIA (unidas) determinan al atributo NOTA ahora contamos con otra llave candidata (observar la figura 3). por lo tanto la tabla de la figura 2 no cumple con la segunda forma normal.

Para solucionar esto y cumplir con la segunda forma normal, debemos crear dos tablas.
La primera tabla con el atributo CODIGO_ESTUDIANTE (como única llave candidata, llamada llave primaria y se representa con el signo numeral #) y con el atributo NOMBRE.
La segunda tabla con el atributo CODIGO_ESTUDIANTE y el atributo MATERIA (ambas como llaves candidatas, llamada llave primaria compuesta) y el atributo NOTA.
De esta manera hemos cumplido con las reglas de la segunda forma normal (observar la figura 4).

La segunda forma normal expone que una relación debe estar en la primera forma normal y
que todos los atributos en la relación dependen del identificador único (llave primaria) completo.
Tercera Forma Normal:
una tabla esta en tercera forma normal si cumple con la segunda forma normal y cada columna que no forma parte de la llave depende solo de llaves candidatas, no de otras columnas que no forman parte de la llave.
analicemos el siguiente ejemplo:

En la tabla de la figura 5 se encuentran los atributos: CODIGO_ESTUDIANTE, NOMBRE, ID_CIUDAD_NACIMIENTO, CIUDAD; esta tabla debería contar con información básica del estudiante.
la llave candidata sería CODIGO_ESTUDIANTE pero dicha tabla no cumple con la tercera forma normal debido a que el atributo CIUDAD depende funcionalmente del atributo ID_CIUDAD_NACIMIENTO.
Para cumplir con la tercera forma normal lo ideal es crear dos tablas:
La primera tabla que cuente con los atributos: CODIGO_ESTUDIANTE, NOMBRE e ID_CIUDAD_NACIMIENTO.
La segunda tabla que cuente con los atributos: ID_CIUDAD y CIUDAD
con esta solución por medio del atributo ID_CIUDAD_NACIMIENTO podemos consultar en la segunda tabla el nombre de la ciudad (ver figura 6).

Los tipos de instrucciones SQL se separa en tres tipos de instrucciones:
- DDL (Data Definition Language) - Lenguaje de definición de datos:
Se utiliza para crear, modificar o borrar objetos en una base de datos tales como tablas, vistas, dominios, esquemas, activadores, y para almacenar procedimientos.
Las palabras clave más frecuentemente para ejecutar instrucciones DDL son:
CREATE: Por ejemplo: create table crear una tabla.
ALTER: Por ejemplo: alter table modificar las características de una tabla.
DROP: Por ejemplo: drop table para borrar la definición de la tabla de la base de datos.
- DCL (Data Control Language) - Lenguaje de control de datos :
Permiten controlar qué o quién tiene acceso a objetos específicos en la base de datos.
Un usuario en una base de datos puede ser una persona o un programa.
- DML (Data Manipulation Language) - Lenguaje de manipulación de datos
Se utilizan para recuperar (consultar), agregar, modificar o eliminar datos almacenados en los objetos (tablas) de una base de datos.
Las palabras clave de las instrucciones DML son:
SELECT: para recuperar datos de una tabla.
INSERT: para agregar datos a una tabla.
UPDATE: para actualizar datos a una tabla.
DELETE: para eliminar una tupla (fila) de una tabla.
Andy Oppel Robert Sheldon. (2009). Fundamentos de SQL Tercera edición. México, D.F.: The McGraw-Hill.
Michael V. Mannino. (2007). Administración de bases de datos tercera edicion. México: The McGraw-Hill.
No hay comentarios:
Publicar un comentario