04 Abr
¿Qué es una Base de Datos o Banco de Datos?
Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso.
Archivos Tradicionales vs. Bases de Datos
¿En qué consisten los archivos tradicionales?
Consisten en almacenar los datos en archivos individuales, exclusivos para cada aplicación particular. En este sistema, los datos pueden ser redundantes (repetidos innecesariamente) y la actualización de los archivos es más lenta que en una base de datos.
Conceptos Fundamentales
¿Qué son los Datos?
Son hechos conocidos que pueden registrarse y que tienen un significado implícito.
¿Qué es una Entidad?
Es todo aquello de lo cual interesa guardar datos. Ejemplo: clientes, facturas, productos, empleados.
Clave Primaria
En el diseño de bases de datos relacionales, se llama clave primaria a un campo o a una combinación de campos que identifica de forma única a cada fila (registro) de una tabla. Una clave primaria comprende, de esta manera, una columna o conjunto de columnas. No puede haber dos filas en una tabla que tengan la misma clave primaria.
Clave Foránea (o Clave Ajena)
En el contexto de bases de datos relacionales, una clave foránea o clave ajena es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referenciadora) que se refiere a la columna de clave primaria en otra tabla (tabla padre o referenciada).
Metadatos
Son datos acerca de los datos presentes en la base de datos. Describen la estructura de la base de datos, como los tipos de datos, restricciones, etc. Los tipos de datos básicos pueden ser: Numérico, Alfabético (texto), Fecha, Lógico (Sí/No o Verdadero/Falso).
Sistema de Gestión de Bases de Datos (SGBD)
¿Qué es un SGBD?
Es un conjunto de programas que permite a los usuarios crear, mantener y manipular una base de datos. Facilita de forma muy importante el proceso de definir, construir y manipular bases de datos para diversas aplicaciones.
Roles Involucrados en el Entorno de Bases de Datos
Administrador de Bases de Datos (DBA)
Se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y de adquirir los recursos necesarios de software y hardware.
Diseñador de Bases de Datos
Antes de implementar la base de datos, identifica los datos que se almacenarán y elige las estructuras apropiadas para representar y almacenar dichos datos.
Usuarios Finales
Son los principales destinatarios de la base de datos, quienes tienen acceso a ella para consultarla, actualizarla y generar informes.
Analistas de Sistemas y Programadores
Implementan las especificaciones del sistema y deben conocer a la perfección todas las capacidades del SGBD.
Diseñadores e Implementadores del SGBD
Se encargan de diseñar e implementar los módulos e interfaces del SGBD en forma de paquetes de software.
Creadores de Herramientas
Desarrollan e implementan paquetes para diseñar bases de datos, vigilar el rendimiento, proporcionar interfaces de lenguaje natural o de gráficos, elaborar prototipos, realizar simulaciones y generar datos de prueba.
Operadores y Personal de Mantenimiento
Tienen a su cargo el funcionamiento y mantenimiento real del entorno de hardware y software del sistema de base de datos.
Características y Objetivos de las Bases de Datos
Características Deseables en un SGBD
- Cumplimiento de las restricciones de integridad
- Respaldo y recuperación
- Potencial para imponer normas
- Menor tiempo de creación de aplicaciones
- Flexibilidad
- Disponibilidad de información actualizada
- Economías de escala
Composición de un Sistema de Base de Datos
En una organización, se compone de:
- Hardware
- Software (SGBD, aplicaciones)
- Datos (la materia prima)
- Usuarios
- Procedimientos
Objetivos Principales de una Base de Datos
- Independencia de Datos: Es la capacidad para modificar una definición de esquema en un nivel sin que afecte a una definición de esquema en el siguiente nivel más alto (independencia lógica y física).
- Minimizar Redundancia: La redundancia hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. Guardar datos redundantes implica desperdicio de espacio de almacenamiento e inconsistencia de datos (elevado costo de mantenimiento, difícil y propenso a errores).
- Integridad de Datos: Proteger los datos de fallas y de datos introducidos incorrectamente. Se busca prevenir errores debidos a: fallas en el equipo, actualizaciones incompletas, defectos de software, inserción de datos no válidos, errores humanos.
- Seguridad: Es la capacidad del sistema para proteger los datos, servicios y recursos de usuarios no autorizados. Implica privacidad y acceso controlado.
Modelado de Datos
¿Qué es un Modelo de Datos?
Es un conjunto de conceptos que pueden ser usados para describir la estructura de una base de datos. Dicha estructura se refiere a los tipos de datos, las relaciones y las restricciones que deben cumplirse para esos datos. Los modelos de datos contienen además un conjunto de operaciones básicas para especificar lecturas y actualizaciones.
Modelo Entidad-Relación (E/R)
Es una representación gráfica de un problema de la vida real, utilizada frecuentemente en el diseño conceptual.
Elementos del Modelo E/R
- Entidad: Es un objeto del mundo real distinguible de otros objetos. Ejemplo: empleado, persona, cuenta.
- Atributos: Son las propiedades descriptivas que caracterizan a una entidad. Ejemplo: para la entidad ‘Cliente’, los atributos podrían ser ‘ID_Cliente’, ‘Nombre’, ‘Dirección’.
- Relación: Es una asociación o vínculo entre dos o más entidades que describe alguna interacción entre ellas. Ejemplo: un profesor enseña una materia.
Tipos de Atributos
- Simples: No se pueden dividir en subpartes con significado propio (ej. código postal).
- Compuestos: Se pueden dividir en subpartes con significado propio (ej. ‘Nombre Completo’ se puede dividir en ‘Nombre’, ‘Apellido Paterno’, ‘Apellido Materno’; ‘Fecha’ se puede dividir en ‘Día’, ‘Mes’, ‘Año’).
- Univalorados (o de valor único): Tienen un solo valor para una entidad particular (ej. número de préstamo, DNI).
- Multivalorados: Pueden tener múltiples valores para una entidad particular (ej. un cliente puede tener varias direcciones o números de teléfono).
- Nulos: Representan la ausencia de valor o un valor desconocido para un atributo en una entidad particular.
- Derivados: Su valor se puede calcular a partir de otros atributos (ej. ‘Edad’ se puede derivar de ‘Fecha de Nacimiento’; ‘Antigüedad’ se puede derivar de ‘Fecha de Inicio’).
- Clave (Primaria): Atributo o conjunto de atributos que identifican unívocamente a una entidad dentro de su conjunto. No debe ser nulo.
Cardinalidad de las Relaciones
Es el número de instancias de una entidad que pueden asociarse con una instancia de otra entidad a través de una relación específica. Se refiere al número máximo de instancias relacionadas.
Tipos de Cardinalidad
- Uno a uno (1:1): Una instancia de la entidad A se relaciona con, como máximo, una instancia de la entidad B, y viceversa. Ejemplo: un paciente en un hospital ocupa un solo cuarto y un cuarto es ocupado por un solo paciente (en un modelo simplificado).
- Uno a muchos (1:N): Una instancia de la entidad A se relaciona con cero o muchas instancias de la entidad B, pero una instancia de la entidad B se relaciona con, como máximo, una instancia de la entidad A. Ejemplo: el titular de una cuenta de cheques puede tener cualquier número de tarjetas asociadas a esa cuenta, pero cada tarjeta pertenece a una sola cuenta.
- Muchos a uno (N:1): Una instancia de la entidad A se relaciona con, como máximo, una instancia de la entidad B, pero una instancia de la entidad B se relaciona con cero o muchas instancias de la entidad A. Ejemplo: muchos alumnos pueden asistir a una clase específica.
- Muchos a muchos (N:M): Una instancia de la entidad A se relaciona con cero o muchas instancias de la entidad B, y viceversa. Ejemplo: en un proyecto de investigación puede haber cualquier número de médicos, y un médico puede participar en cero o varios proyectos.
Diseño de Bases de Datos Relacionales
Abordaje del Diseño
Se puede abordar obteniendo el esquema relacional directamente o realizando primero el diseño del esquema conceptual de la BD (usando modelos como el E/R) y luego traduciéndolo al modelo relacional.
- Esquema Relacional: Define sus tablas, los campos (columnas) en cada tabla y las relaciones entre campos y tablas (mediante claves primarias y foráneas).
- Esquema Conceptual: Representación abstracta de alto nivel de la estructura de la base de datos, independiente del SGBD. Representa la lógica de los datos y sus relaciones.
Objetivos del Proceso de Modelado
Identificar cuál es el problema y encontrar la forma de representarlo en un sistema. Esto significa conocer los datos, saber quiénes van a usarlos y cómo van a ser usados.
Consultas (Queries) y Transacciones
- Consulta (Query): Es una expresión lógica de lectura (o modificación) sobre los objetos y relaciones definidos en el esquema; el resultado suele ser un subconjunto lógico de la base de datos o una confirmación de la operación.
- Transacción: Consiste en una secuencia de una o más operaciones (consultas y/o actualizaciones) que se ejecutan como una unidad lógica de trabajo. Las transacciones son atómicas por definición: o todos los pasos de la transacción se ejecutan y confirman exitosamente, o ninguno de ellos tiene efecto permanente en la base de datos (se invalida o revierte).
Evitar Problemas en el Diseño
- Redundancia de Información: Datos repetidos, que causan desperdicio de espacio y dificultan la actualización (riesgo de inconsistencias).
- Falta de Información: Incapacidad de representar ciertos datos o relaciones importantes.
Normalización
¿Qué es la Normalización?
La normalización es el proceso mediante el cual se transforman estructuras de datos complejas (tablas) a un conjunto de estructuras de datos más pequeñas, simples y estables, que son más fáciles de mantener. Es la conversión de una relación (tabla) con ciertos problemas (anomalías) a dos o más relaciones que no tienen tales problemas, minimizando la redundancia y mejorando la integridad.
Teoría de Normalización
Es la técnica formal de análisis y organización de datos que trata de evitar la redundancia y las anomalías de actualización (inserción, borrado, modificación). Introduce formalización en el diseño lógico de Bases de Datos Relacionales (BDR) y permite mecanizar parte del proceso al disponer de instrumentos algorítmicos de ayuda al diseño.
Proceso y Consideraciones
El proceso de normalización disminuye las anomalías de actualización, pero puede penalizar el rendimiento de las consultas, ya que a menudo requiere combinar (JOIN) múltiples tablas, lo cual consume recursos. A veces se realiza una desnormalización controlada para optimizar consultas críticas.
Ventajas de la Normalización
- Hace las estructuras de datos más fáciles de entender.
- Reduce la repetición de datos, implicando un menor uso de espacio en disco.
- Ayuda a prevenir errores lógicos (anomalías) en la manipulación de datos.
- Facilita agregar nuevas columnas sin romper el esquema actual ni las relaciones existentes.
Formas Normales (FN)
Primera Forma Normal (1FN)
Una relación está en 1FN si:
- Todas las entradas de la tabla (celdas) contienen valores atómicos (indivisibles, no contienen conjuntos o listas).
- No existen grupos repetitivos de columnas.
- Cada fila es única (existe una clave primaria).
- Todos los atributos (columnas) deben tener valores definidos (aunque pueden ser nulos si se permite).
Segunda Forma Normal (2FN)
Una relación está en 2FN si:
- Está en 1FN.
- Todos los atributos que no forman parte de la clave primaria dependen funcionalmente de forma completa de la clave primaria. Esto es relevante cuando la clave primaria es compuesta (formada por más de un atributo); significa que ningún atributo no clave debe depender solo de una parte de la clave primaria compuesta.
- Se eliminan las dependencias parciales separándolas en sus propias tablas.
Tercera Forma Normal (3FN)
Una relación está en 3FN si:
- Está en 2FN.
- No existen dependencias transitivas. Es decir, ningún atributo no clave depende funcionalmente de otro atributo no clave.
Fases del Diseño de Bases de Datos
- Análisis de Requisitos: Identificar las necesidades de datos de los usuarios y obtener la especificación detallada de los requerimientos.
- Diseño Conceptual: Seleccionar un modelo de datos (como el E/R) y traducir los requerimientos en un esquema conceptual abstracto. Se usa el diagrama entidad-relación para representarlo gráficamente.
- Diseño Lógico: Traducir el esquema conceptual a un esquema lógico basado en el modelo de datos del SGBD elegido (ej., modelo relacional). Incluye la normalización.
- Diseño Físico: Especificar cómo se almacenarán los datos físicamente (índices, organización de archivos, etc.) para optimizar el rendimiento.
- Implementación y Pruebas: Crear la base de datos y probarla.
Recapitulando Conceptos Clave del Modelo E/R
- Entidad: Una cosa u objeto del mundo real distinguible (ej., un paciente). Tiene un conjunto de propiedades (atributos) cuyos valores la identifican.
- Conjunto de Entidades: Un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos (ej., el conjunto de todos los pacientes de un hospital).
- Atributos: Propiedades descriptivas de las entidades (ej., número de paciente, nombre, dirección). Cada entidad tiene su propio valor para cada atributo.
- Relación: Una asociación entre entidades (ej., un paciente tiene un padecimiento).
- Dominio: El conjunto de todos los posibles valores permitidos para un atributo (ej., el dominio del atributo ‘Sexo’ podría ser {‘Masculino’, ‘Femenino’, ‘Otro’}).
Metodología Entidad-Relación (Pasos Resumidos)
- Identificar entidades: Definir objetos (personas, lugares, conceptos) sobre los que se quiere tener información.
- Identificar atributos: Definir las “propiedades” de cada entidad.
- Determinar la clave primaria de cada entidad.
- Identificar relaciones entre las entidades.
- Señalar la cardinalidad y participación (opcionalidad) de las relaciones.
¿Cómo Romper una Relación Muchos a Muchos (N:M)?
En el modelo relacional, las relaciones N:M directas no se implementan. Se descomponen creando una tabla intermedia (también llamada tabla asociativa o de enlace). La clave primaria de esta nueva tabla será, comúnmente, una clave compuesta formada por las claves foráneas que referencian a las claves primarias de las dos entidades originales que participaban en la relación N:M.
Deja un comentario