Parcial II Flashcards
¿Para qué se utiliza la normalización? ¿Qué fin persigue?
La normalización en bases de datos se utiliza para diseñar una estructura de datos eficiente que elimine redundancias y minimice las anomalías de actualización. Esto se logra mediante la organización de los datos en esquemas que permiten almacenar información de manera
consistente y sin duplicaciones. La normalización facilita la modificación de los datos sin ambigüedades y mejora la eficiencia en la recuperación de información.
El objetivo final de la normalización es diseñar una base de datos que permita manejar y mantener los datos de manera eficiente y coherente, evitando problemas como la redundancia de datos, las anomalías de inserción, modificación y borrado, y mejorando la independencia de los datos.
¿Cuál es la segunda forma normal, enúnciela y de un ejemplo.
La Segunda Forma Normal (2FN) establece que una relación está en 2FN si y solo si está en Primera Forma Normal (1FN) y todos los atributos no clave son completamente dependientes de la clave primaria. Esto significa que no puede haber dependencias parciales de la clave, es decir, cada atributo no clave debe depender de toda la clave primaria y no solo de una parte de ella.
Enuncie la primera forma normal. De un ejemplo
La primera forma normal se encarga de eliminar grupos repetitivos de las tuplas. Para esto, se particiona la tabla ensalada, o tabla cero, de manera que cada columna contenga valores atómicos y no haya grupos repetitivos.
¿En qué consiste la tercera forma normal. De un ejemplo.
La Tercera Forma Normal (3FN) consiste en que una relación está en 3FN si y solo si está en Segunda Forma Normal (2FN) y no hay dependencias transitivas entre los atributos no clave. Es decir, cada atributo no clave debe depender únicamente de la clave primaria y no de otros atributos no clave.
¿Qué relación tiene la normalización con la redundancia?
La normalización en bases de datos está directamente relacionada con la reducción de la redundancia. Su objetivo principal es diseñar un conjunto de esquemas que permitan
almacenar información sin redundancias, facilitando modificaciones sin ambigüedades y
mejorando la eficiencia en la recuperación de datos. A través de la normalización, se eliminan las anomalías de actualización (inserción, modificación y borrado) que son causadas por la redundancia de datos.
¿Qué diferencia hay entre las tres formas normales y la forma normal Boyce / Codd.
Las tres formas normales (1FN, 2FN y 3FN) y la Forma Normal de Boyce-Codd (FNBC) son etapas sucesivas en el proceso de normalización que se utilizan para eliminar redundancias y
asegurar la integridad de los datos en las bases de datos relacionales. La Primera Forma Normal (1FN) se encarga de eliminar grupos repetitivos y asegurar que cada columna contiene valores atómicos. La Segunda Forma Normal (2FN) va un paso más allá al eliminar dependencias parciales, asegurando que todos los atributos no clave son completamente dependientes de la clave primaria completa. La Tercera Forma Normal (3FN) elimina dependencias transitivas entre atributos no clave, garantizando que cada atributo no clave depende directamente de la clave primaria.
La Forma Normal de Boyce-Codd (FNBC) es una extensión más estricta de la 3FN. FNBC establece que para cualquier dependencia funcional 𝑋 → 𝑌, 𝑋 debe ser una clave candidata, lo
que asegura que no haya dependencias funcionales innecesarias que puedan causar
redundancias. En otras palabras, FNBC garantiza que todas las dependencias funcionales son adecuadamente normalizadas, previniendo ciertas anomalías que 3FN no puede resolver. Mientras que 3FN elimina dependencias transitivas, FNBC asegura que todos los determinantes en la relación son claves candidatas, proporcionando un diseño de base de datos aún más robusto y libre de redundancias.
¿Qué es SQL y que sub-lenguajes lo compone? Describa brevemente cada uno de ellos
SQL (Structured Query Language) es un lenguaje estándar para gestionar y manipular bases de datos relacionales. Se compone de varios sub-lenguajes, cada uno especializado en diferentes aspectos del manejo de datos.
- Lenguaje de Definición de Datos (DDL). El DDL se utiliza para definir y modificar la estructura de las bases de datos, incluyendo tablas, vistas e índices. Las sentencias DDL
incluyen: CREATE, ALTER, DROP, Restricciones (Constraints) - Lenguaje de Manipulación de Datos (DML). El DML se usa para manipular los datos dentro de las estructuras definidas por el DDL. Las sentencias DML incluyen: INSERT, UPDATE, DELETE, SELECT (Incluye cláusulas como WHERE, ORDER BY, GROUP BY, y funciones de agregación como COUNT y SUM.)
- Lenguaje de Control de Datos (DCL). El DCL se emplea para controlar el acceso a los datos dentro de la base de datos. Las sentencias DCL incluyen: GRANT, REVOKE
Lenguaje de Control de Transacciones (TCL). El TCL gestiona las transacciones dentro de la base de datos, asegurando que las operaciones se completen correctamente y de manera coherente. Las sentencias TCL incluyen: COMMIT, ROLLBACK, SAVEPOINT
¿Cómo es la sintaxis para la creación de una tabla?
La sintaxis básica para crear cualquier tabla es la siguiente:
CREATE TABLE nombre_tabla (
nombre_columna1 tipo_dato restricciones,
nombre_columna2 tipo_dato restricciones,
…
nombre_columnaN tipo_dato restricciones
);
¿Qué comando se utiliza para eliminar una tabla? Cite un ejemplo
El comando que se utiliza para eliminar una tabla es el de “DROP TABLE nombre_tabla”.
Un ejemplo podría ser: DROP TABLE empleados;
Si necesito modificar algún objecto de la estructura de la base de datos ¿Qué comando utilizo?
El comando que se utiliza para modificar la estructura de la base de datos es “ALTER”.
Sintaxis General para Modificar Tablas:
ALTER TABLE nombre_tabla
[ ADD nombre_columna tipo_dato restricciones ]
[ DROP nombre_columna ]
[ ALTER nombre_columna tipo_dato restricciones ]
[ ADD CONSTRAINT tipo_restriccion (nombre_columna) ]
[ DROP CONSTRAINT nombre_restriccion ];
Ejemplos:
* Agregar una columna: ALTER TABLE empleados ADD direccion VARCHAR(255);
* Eliminar una columna: ALTER TABLE empleados DROP COLUMN fecha_contratacion;
* Modificar una columna: ALTER TABLE empleados ALTER COLUMN salario DECIMAL(12, 2);
Identifique y describa los principales comandos que permiten la manipulación de datos en una Base de datos.
Los principales comandos que permiten la manipulación de datos en una base de datos se encuentran en el sub-lenguaje DML (Data Manipulation Language).
INSERT: Se utiliza para añadir nuevos registros a una tabla existente.
Ejemplo: INSERT INTO nombre_tabla (columna1, columna2) VALUES (valor1, valor2);
UPDATE: Se utiliza para modificar registros existentes en una tabla.
Ejemplo: UPDATE nombre_tabla SET columna1 = valor1, columna2 = valor2, … WHERE
condición;
DELETE: Se utiliza para eliminar registros de una tabla.
Ejemplo: DELETE FROM nombre_tabla WHERE condición;
SELECT: Se utiliza para consultar datos de una o más tablas. Puede incluir varias clausuras opcionales para especificar condiciones, ordenar columnas, agrupar datos.
Ejemplo: SELECT columnas FROM nombre_tabla [WHERE condición] [ORDER BY
columnas] [GROUP BY columnas] [HAVING condición];
¿Con SQL puedo hacer cálculos de cuenta, suma o promedio? Cite un ejemplo.
Sí, con SQL se pueden realizar cálculos de cuenta, suma, promedio, entre otros, utilizando funciones de agregación.
Suponiendo que se tiene una tabla de “empleados” con las siguientes columnas: id, nombre, puesto, salario. Se quiere obtener el número total de empleados, la suma total de los salarios, el salario promedio, el salario máximo y el salario mínimo.
La consulta SQL sería:
SELECT
COUNT(*) AS total_empleados,
SUM(salario) AS suma_salarios,
AVG(salario) AS salario_promedio,
MAX(salario) AS salario_maximo,
MIN(salario) AS salario_minimo
FROM empleados;
Nombre los cuatro comandos más importantes para manipular los datos en una base de datos
Los cuatro comandos mas importantes para manipular los datos en una base de datos son:
- INSERT: Se utiliza para agregar nuevos registros a la tabla.
- UPDATE: Se utiliza para actualizar registros de la tabla.
- DELETE: Se utiliza para eliminar registros de la tabla
- SELECT: Se utiliza para seleccionar datos de la tabla.
¿Cuáles son las cláusulas que se utilizan para seleccionar o manipular los datos en una consulta SQL?
Las cláusulas que se utilizan para seleccionar o manipular los datos en una consulta SQL son:
- WHERE: Se utiliza para filtrar registros que cumplen una condición específica.
Ejemplo: SELECT * FROM empleados WHERE puesto = ‘Desarrollador’;
ORDER BY: Se utiliza para ordenar los resultados de la consulta según una o más columnas.
Ejemplo: SELECT * FROM empleados ORDER BY salario DESC;
GROUP BY: Se utiliza para agrupar los resultados de la consulta según una o más columnas.
Ejemplo: SELECT puesto, COUNT(*) FROM empleados GROUP BY puesto;
HAVING: Se utiliza para filtrar los grupos de resultados creados por la cláusula GROUP BY según una condición específica.
Ejemplo: SELECT puesto, AVG(salario) FROM empleados GROUP BY puesto HAVING AVG(salario) > 50000;
FROM: Especifica la tabla de la cual se seleccionarán o manipularán los datos.
Ejemplo: SELECT nombre, puesto FROM empleados;
JOIN: Se utiliza para combinar filas de dos o más tablas, basadas en una columna relacionada entre ellas.
Ejemplo: SELECT empleados.nombre, departamentos.nombre FROM empleados JOIN departamentos ON empleados.departamento_id = departamentos.id;
Nombre las funciones de agregación que se utilizan para realizar cálculos con los datos
COUNT: Cuenta el número de filas que cumplen con un criterio.
Ejemplo: SELECT COUNT(*) AS total_empleados FROM empleados;
SUM: Calcula la suma de un conjunto de valores.
Ejemplo: SELECT SUM(salario) AS suma_salarios FROM empleados;
AVG: Calcula el promedio de un conjunto de valores.
Ejemplo: SELECT SUM(salario) AS suma_salarios FROM empleados;
MAX: Encuentra el valor máximo de un conjunto de valores.
Ejemplo: SELECT MAX(salario) AS salario_maximo FROM empleados;
MIN: Encuentra el valor mínimo de un conjunto de valores.
Ejemplo: SELECT MIN(salario) AS salario_minimo FROM empleados;