Normalización de Bases de Datos

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿Cuál es el propósito principal de la normalización en una base de datos?

  • Simplificar la creación de copias de seguridad.
  • Reducir la redundancia y eliminar inconsistencias en los datos. (correct)
  • Incrementar la velocidad de las consultas.
  • Aumentar el espacio de almacenamiento disponible.

¿Por qué es importante evitar la redundancia de datos durante la normalización?

  • Porque facilita la creación de informes complejos.
  • Porque reduce el costo del hardware.
  • Porque puede llevar a inconsistencias y dificulta las actualizaciones. (correct)
  • Porque mejora la compatibilidad con otros sistemas.

¿Qué define una clave primaria en una tabla de base de datos?

  • Un atributo que identifica de manera única cada fila. (correct)
  • Un atributo que se usa para establecer relaciones con otras tablas.
  • Un atributo que puede contener valores duplicados.
  • Un atributo que contiene información descriptiva sobre la tabla.

En el contexto de bases de datos, ¿qué significa que un atributo tenga dependencia funcional de otro?

<p>Que su valor está determinado por el valor de otro atributo. (B)</p> Signup and view all the answers

¿Cuál es la característica principal de la Primera Forma Normal (1FN)?

<p>Asegurar que todos los valores de las columnas sean atómicos y que cada fila tenga una clave primaria. (C)</p> Signup and view all the answers

Se tiene una tabla Productos con los campos ID_Producto (clave primaria), Nombre_Producto y Precio. Si un usuario puede modificar el Nombre_Producto, ¿qué componente del diccionario de datos se estaría actualizando?

<p>Descripción. (C)</p> Signup and view all the answers

Una tabla en una base de datos contiene información sobre Clientes, incluyendo ID_Cliente (clave primaria), Nombre, Dirección y Ciudad. Si la tabla cumple con la 2FN, ¿qué dependencia debe evitarse?

<p>Que el <code>Nombre</code> dependa solamente de una parte del <code>ID_Cliente</code>. (A)</p> Signup and view all the answers

¿Cuál es el principal objetivo de la Tercera Forma Normal (3FN)?

<p>Eliminar dependencias transitivas. (B)</p> Signup and view all the answers

¿Qué es un diccionario de datos en el contexto de bases de datos?

<p>Un documento que describe la estructura y los metadatos de la base de datos. (A)</p> Signup and view all the answers

En un diccionario de datos, ¿qué tipo de información se incluye sobre las columnas de una tabla?

<p>El nombre, tipo de dato, tamaño y restricciones. (B)</p> Signup and view all the answers

Si se tiene una tabla Clientes con ID_Cliente (INT), Nombre (VARCHAR(50)), y Email (VARCHAR(100)), ¿qué paso del proceso de creación de un diccionario de datos se estaría realizando al definir Email como VARCHAR(100)?

<p>Especificar el tamaño de cada campo. (D)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor el álgebra relacional?

<p>Un lenguaje formal utilizado para manipular y consultar datos en bases de datos relacionales. (A)</p> Signup and view all the answers

En el álgebra relacional, ¿qué representa una 'relación'?

<p>Una tabla con filas y columnas. (B)</p> Signup and view all the answers

En álgebra relacional, ¿cuál es el propósito de la operación de 'selección' (σ)?

<p>Filtrar filas de una tabla que cumplen una condición específica. (D)</p> Signup and view all the answers

En álgebra relacional, ¿qué operación se utiliza para elegir solo ciertas columnas de una tabla?

<p>Proyección (π). (C)</p> Signup and view all the answers

Se tienen dos tablas, A y B, con estructuras idénticas. ¿Qué operación del álgebra relacional combinará todos los registros de ambas tablas, eliminando los duplicados?

<p>Unión (∪). (C)</p> Signup and view all the answers

Si tienes dos tablas, Clientes y Pedidos, ¿qué tipo de JOIN en SQL se utilizaría para obtener todos los clientes y, si tienen pedidos, los detalles de esos pedidos?

<p>LEFT JOIN (D)</p> Signup and view all the answers

¿Cuál de los siguientes lenguajes se utiliza para gestionar y manipular bases de datos relacionales?

<p>SQL (D)</p> Signup and view all the answers

¿Cuál es el propósito del comando SELECT en SQL?

<p>Recuperar datos de una o más tablas. (B)</p> Signup and view all the answers

¿Qué tipo de comando SQL se utiliza para modificar la estructura de una tabla existente, como agregar una nueva columna?

<p>ALTER (D)</p> Signup and view all the answers

¿Qué comando SQL se emplea para eliminar registros de una tabla?

<p>DELETE (A)</p> Signup and view all the answers

¿Cuál es la función principal de la cláusula WHERE en una consulta SQL?

<p>Filtrar los registros. (B)</p> Signup and view all the answers

¿Qué tipo de lenguaje es XML?

<p>Un lenguaje de marcado para estructurar datos. (B)</p> Signup and view all the answers

¿Cuál es una diferencia clave entre XML y HTML?

<p>XML se utiliza para almacenar y transportar datos, mientras que HTML se usa para mostrar información. (A)</p> Signup and view all the answers

Un documento XML debe comenzar con la declaración de versión. ¿Cuál es la sintaxis correcta?

<?xml version="1.0" encoding="UTF-8"?> (D) Signup and view all the answers

¿Cuál de las siguientes NO es una regla de sintaxis XML?

<p>Debe haber varios elementos raíz. (D)</p> Signup and view all the answers

¿Cuál es el propósito de un XML Schema (XSD)?

<p>Definir la estructura de un documento XML. (A)</p> Signup and view all the answers

¿Cuál de las siguientes aplicaciones es un caso de uso común de XML?

<p>Intercambio de datos entre sistemas. (B)</p> Signup and view all the answers

Flashcards

¿Qué es la normalización de bases de datos?

Proceso que organiza datos en una base de datos para reducir redundancia, eliminar inconsistencias y mejorar eficiencia.

¿Qué es una clave primaria?

Identificador único para cada fila en una tabla.

¿Qué es una dependencia funcional?

Un atributo depende funcionalmente de otro cuando su valor está determinado por este.

¿Qué es una dependencia parcial?

Ocurre cuando un atributo depende solo de parte de una clave compuesta.

Signup and view all the flashcards

¿Qué es una dependencia transitiva?

Se da cuando un atributo no clave depende de otro atributo no clave.

Signup and view all the flashcards

¿Qué son las formas normales?

Reglas para normalizar una base de datos.

Signup and view all the flashcards

¿Qué es la Primera Forma Normal (1FN)?

Todos los valores de las columnas son atómicos y cada fila tiene un identificador único.

Signup and view all the flashcards

¿Qué es la Segunda Forma Normal (2FN)?

Cumple con 1FN y todos los atributos dependen completamente de la clave primaria.

Signup and view all the flashcards

¿Qué es la Tercera Forma Normal (3FN)?

Cumple con 2FN y no hay dependencias transitivas.

Signup and view all the flashcards

¿Qué es un diccionario de datos?

Documento o tabla que describe los elementos de una base de datos.

Signup and view all the flashcards

¿Qué es el álgebra relacional?

Lenguaje formal para manipular y consultar datos en bases de datos relacionales.

Signup and view all the flashcards

¿Qué es una relación (tabla)?

Estructura que representa una entidad en forma de tabla.

Signup and view all the flashcards

¿Qué es un atributo (columna)?

Cada columna de una tabla representa un atributo de la entidad.

Signup and view all the flashcards

¿Qué es una tupla (fila)?

Cada fila representa una instancia de la entidad.

Signup and view all the flashcards

¿Qué es un dominio?

Conjunto de valores válidos que puede tomar un atributo.

Signup and view all the flashcards

¿Qué es un esquema de relación?

Define la estructura de una relación, incluyendo sus atributos y dominios.

Signup and view all the flashcards

¿Qué es la Selección (σ)?

Filtra las tuplas que cumplen una condición específica.

Signup and view all the flashcards

¿Qué es la Proyección (π)?

Selecciona columnas específicas de una tabla.

Signup and view all the flashcards

¿Qué es la Unión (U)?

Combina los registros de dos tablas, eliminando duplicados.

Signup and view all the flashcards

¿Qué es la Intersección (∩)?

Devuelve solo los registros que existen en ambas tablas.

Signup and view all the flashcards

¿Qué es la Diferencia (-)?

Devuelve los registros que están en una tabla pero no en la otra.

Signup and view all the flashcards

¿Qué es SQL?

Lenguaje de consulta estructurado para gestionar bases de datos relacionales.

Signup and view all the flashcards

¿Qué hace el comando CREATE en SQL?

Crea estructuras de bases de datos.

Signup and view all the flashcards

¿Qué hace el comando ALTER en SQL?

Modifica estructuras existentes.

Signup and view all the flashcards

¿Qué hace el comando DROP en SQL?

Elimina objetos de la base de datos.

Signup and view all the flashcards

¿Qué hace el comando SELECT en SQL?

Recupera datos.

Signup and view all the flashcards

¿Qué hace el comando WHERE en SQL?

Filtra registros.

Signup and view all the flashcards

¿Qué hace el comando ORDER BY en SQL?

Ordena resultados.

Signup and view all the flashcards

¿Qué hace el comando INNER JOIN en SQL?

Une registros comunes en dos tablas.

Signup and view all the flashcards

¿Qué es XML?

Lenguaje para estructurar datos.

Signup and view all the flashcards

Study Notes

Normalización en Bases de Datos

  • Normalizar organiza los datos en una base de datos para reducir redundancia, eliminar inconsistencias, y mejorar integridad y eficiencia.
  • Asegura que los datos estén estructurados correctamente, evitando repetición innecesaria.
  • Es crucial porque evita redundancia, previene inconsistencias al modificar datos, facilita el mantenimiento simplificando la estructura, optimiza el almacenamiento eliminando duplicados, y mejora el rendimiento.

Clave Primaria

  • Es un identificador único para cada fila en una tabla.
  • En una tabla de clientes, el ID_Cliente identifica de forma única a cada cliente.

Dependencia Funcional

  • Un atributo depende funcionalmente de otro cuando su valor está determinado por éste.
  • En una tabla de pedidos, el atributo Nombre Cliente depende funcionalmente de ID_Cliente.

Dependencia Parcial

  • Ocurre cuando un atributo depende solo de parte de una clave compuesta.
  • En una tabla con clave compuesta ID_Pedido y ID_Cliente, el Nombre Cliente depende solo de ID_Cliente.

Dependencia Transitiva

  • Se da cuando un atributo no clave depende de otro atributo no clave.
  • Si Ciudad determina Código Postal en una tabla, existe.

Formas Normales

  • Las formas normales son las reglas o pasos que se siguen para normalizar una base de datos; existen varias formas, pero las tres primeras son más comunes.

Primera Forma Normal (1FN)

  • Una tabla está en 1FN si todos los valores de las columnas son atómicos y cada fila tiene un identificador único (clave primaria).
  • Ejemplo de tabla no normalizada:
    • Id_Cliente 1, Nombre Juan Pérez, Teléfonos 809-123-4567, 849-452-7894
    • Id_Cliente 2, Nombre María López, Teléfonos 829-458-7531
  • Problema: Los números de teléfono están almacenados en un solo campo como una lista.
  • Solución (1FN): Separar cada número de teléfono en filas individuales.
    • Id_Cliente 1, Nombre Juan Pérez, Teléfono 809-123-4567
    • Id_Cliente 1, Nombre Juan Pérez, Teléfono 849-452-7894
    • Id_Cliente 2, Nombre María López, Teléfono 829-458-7531

Segunda Forma Normal (2FN)

  • Una tabla está en 2FN si cumple con 1FN y todos los atributos dependen completamente de la clave primaria (elimina dependencias parciales).
  • Ejemplo de tabla en 1FN pero no en 2FN:
    • Id_Pedido 1, Producto Lápiz, Precio 10.00, ID_Cliente 101, Nombre_Cliente Juan Pérez
    • Id_Pedido 2, Producto Cuaderno, Precio 20.00, ID_Cliente 102, Nombre_Cliente María López
  • Problema: El nombre del cliente depende solo de ID_Cliente, no de ID_Pedido.
  • Solución (2FN): Dividir la tabla en dos, eliminando la dependencia parcial.
  • Tabla Clientes:
    • ID_Cliente 101, Nombre Juan Pérez
    • ID_Cliente 102, Nombre María López
  • Tabla Pedidos:
    • Id_Pedido 1, Producto Lápiz, Precio 10.00, ID_Cliente 101
    • Id_Pedido 2, Producto Cuaderno, Precio 20.00, ID_Cliente 102

Tercera Forma Normal (3FN)

  • Una tabla está en 3FN si cumple con 2FN y no hay dependencias transitivas.
  • Ejemplo de tabla en 2FN pero no en 3FN:
    • ID_Cliente 101, Nombre_Cliente Juan Pérez, Ciudad Santo Domingo, Código_Postal 10101
    • ID_Cliente 102, Nombre_Cliente María López, Ciudad Santiago, Código_Postal 51000
  • Problema: El Código_Postal depende de Ciudad, no de ID_Cliente.
  • Solución (3FN): Dividir en dos tablas:
  • Tabla Clientes:
    • ID_Cliente 101, Nombre_Cliente Juan Pérez, Ciudad Santo Domingo
    • ID_Cliente 102, Nombre_Cliente María López, Ciudad Santiago
  • Tabla Ciudades:
    • Ciudad Santo Domingo, Código_Postal 10101
    • Ciudad Santiago, Código_Postal 51000

Diccionario de Datos

  • Describe todos los elementos de una base de datos, incluyendo nombres de las tablas, nombres y tipos de datos de los campos, tamaños y restricciones, relaciones entre tablas, y reglas de validación.
  • Es un repositorio centralizado que almacena información sobre los datos de una base de datos.
  • Contiene metadatos, es decir, datos sobre los datos.
  • Facilita la documentación, ayuda a entender la estructura, permite a desarrolladores conocer los detalles, evita errores, y permite trabajar en equipo.

Componentes de un Diccionario de Datos

  • Nombre de la tabla y de la columna
  • Tipo de dato que almacena la columna
  • Longitud máxima de los datos que puede almacenar la columna
  • Restricciones que se aplican a los datos
  • Descripción del propósito de la tabla o columna

Ejemplo de Diccionario de Datos para una tabla de EMPLEADOS

  • Id_empleado (INT, 4, Primary Key) - Identificador único del empleado
  • Nombre (Varchar, 50) - Nombre completo del empleado
  • Cargo (Varchar, 30) - Puesto de trabajo del empleado
  • Salario (Decimal, 10, 2) - Salario mensual
  • Fecha_ingreso (DATE) - Fecha en la que fue contratado

Cómo Crear un Diccionario de Datos Paso a Paso

  • Identificar las tablas de la base de datos.
  • Listar todos los campos que pertenecen a cada tabla.
  • Definir el tipo de dato de cada campo.
  • Especificar el tamaño de cada campo.
  • Indicar las claves primarias y foráneas.
  • Agregar una descripción breve sobre el uso de cada campo.
  • Un sistema de ventas en el diccionario de datos podría incluir las tablas Clientes, Productos y Ventas.

Identificar Errores en un Diccionario de Datos

  • El ID_Producto debe ser un entero, el Nombre no puede ser un número, y el Precio debe ser un decimal.

Álgebra Relacional

  • Es un lenguaje formal para manipular y consultar datos en bases de datos relacionales.
  • Las operaciones del álgebra relacional toman tablas como entrada y producen una nueva tabla.
  • El resultado de una operación siempre es otra relación (tabla).
  • Las consultas SQL se traducen internamente a operaciones de álgebra relacional.
  • Utiliza conceptos de teoría de conjuntos y lógica.

Conceptos Básicos del Álgebra Relacional

  • Relación (Tabla): Estructura que representa una entidad. Ejemplo: tabla "Estudiantes" (ID, Nombre, Edad, Curso).
  • Atributo (Columna): Representa una característica de la entidad. Ejemplo: En la tabla "Estudiantes", "Nombre" es un atributo.
  • Tupla (Fila): Instancia de la entidad. Ejemplo: (1, "Juan", 16, "Informática").
  • Dominio: Conjunto de valores válidos. Ejemplo: El dominio de "Edad" podría ser números enteros positivos.
  • Esquema de Relación: Define la estructura de la relación. Ejemplo: "Estudiantes" (ID: entero, Nombre: texto, Edad: entero, Curso: texto).

Operaciones Básicas del Álgebra Relacional

  • Operaciones fundamentales: Selección (σ), Proyección (π), Unión (∪), Diferencia (-), Producto cartesiano (×), Renombramiento (ρ).
  • Operaciones adicionales: Intersección (∩), Join (⨝), División (÷).

Selección (σ)

  • Filtra las tuplas que cumplen una condición específica.
  • Sintaxis: σ condición (Relación)
  • Ejemplo:
    • σ Edad > 16 (Estudiantes)

Proyección (π)

  • Selecciona columnas específicas para eliminar atributos innecesarios.
  • Sintaxis: πAtributo1, Atributo2,...,AtributoN (Relación)
  • Elimina atributos innecesarios, no altera los datos originales, y no repite tuplas idénticas.

Operador de Unión (∪)

  • Combina los registros de dos tablas, eliminando duplicados.

Operador de Intersección (∩)

  • Devuelve solo los registros que existen en ambas tablas

Operador de Diferencia (-)

  • Devuelve los registros que están en una tabla pero no en la otra.

SQL

  • SQL (Structured Query Language) es un lenguaje para gestionar y manipular bases de datos relacionales, usado para insertar, actualizar, eliminar y recuperar datos.
  • Desarrollado en los 70 por IBM, adoptado como estándar por ANSI e ISO, e incluye JSON, XML, y optimizaciones de rendimiento.
  • Es fundamental en bases de datos relacionales, utilizado en sistemas como MySQL, PostgreSQL, SQL Server y Oracle.

Comandos Principales en SQL

  • DDL (Data Definition Language): CREATE, ALTER, DROP
  • DML (Data Manipulation Language): INSERT, UPDATE, DELETE
  • DQL (Data Query Language): SELECT
  • DCL (Data Control Language): GRANT, REVOKE

Consultas Básicas en SQL

  • SELECT: Para consultar datos.
  • WHERE: Filtra registros.
  • ORDER BY: Ordena resultados.
  • GROUP BY y HAVING: Agrupan registros según condiciones.
  • JOIN:
    • INNER JOIN: Une registros comunes en dos tablas.
    • LEFT JOIN: Incluye todos los registros de la tabla izquierda.
    • RIGHT JOIN: Incluye todos los registros de la tabla derecha.
  • Subconsultas y funciones agregadas: COUNT, SUM, AVG, MAX / MIN

Aplicaciones de SQL

  • Sistemas de información (ERP, CRM), integración con lenguajes de programación, Big Data y análisis de datos.

XML

  • Es un lenguaje de marcado flexible para estructurar datos.
  • HTML está diseñado para mostrar información, mientras que XML almacena y transporta datos.
  • XML se usa para intercambio de datos, configuración de aplicaciones y Web Services.

Sintaxis de XML

  • Comienza con .
  • Elementos: content
  • Atributos: Juan
  • Etiquetas anidadas

Reglas de Sintaxis

  • Cada etiqueta debe cerrarse, es sensible a mayúsculas y minúsculas, y debe tener un único elemento raíz.

Uso de XML en Bases de Datos

  • Permite almacenar datos en formato estructurado y legible.
  • Puede usarse en bases de datos relacionales y no relacionales.
  • SQL Server permite trabajar con XML nativamente.

Ejemplo XML

Validación

  • DTD (Document Type Definition): Define la estructura de un documento XML.
  • XML Schema (XSD): Valida estructura y tipos de datos.

Aplicaciones

  • Web Services (SOAP, REST), integración con bases de datos y aplicaciones empresariales.
  • Comparación con JSON (JSON es más ligero, XML es más estructurado y versátil).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Chap_6: Database Normalization Quiz
12 questions
Database Normalization: 1NF Concepts
13 questions
Database Normalization
10 questions

Database Normalization

SincereResilience604 avatar
SincereResilience604
Use Quizgecko on...
Browser
Browser