Apuntes de Base de Datos para la Licenciatura en Actuaría PDF

Document Details

WellBredUvarovite3801

Uploaded by WellBredUvarovite3801

UAEMéx

Tags

bases de datos actuaría sistemas de gestión de bases de datos tecnología de la información

Summary

Estos apuntes proporcionan una introducción a las bases de datos, sus tipos, aplicaciones en actuaría, incluyendo modelos actuariales, análisis estadístico y predicciones, así como conceptos clave relacionados con las bases de datos.

Full Transcript

Apuntes de Base de Datos para la Licenciatura en Actuaría Unidad 1: Introducción al Desarrollo de Bases de Datos Introducción a las Bases de Datos Una base de datos es un conjunto organizado de datos que permite almacenar, recuperar y gestionar información de manera eficiente. En el ámbito actuari...

Apuntes de Base de Datos para la Licenciatura en Actuaría Unidad 1: Introducción al Desarrollo de Bases de Datos Introducción a las Bases de Datos Una base de datos es un conjunto organizado de datos que permite almacenar, recuperar y gestionar información de manera eficiente. En el ámbito actuarial, las bases de datos son fundamentales para el análisis de grandes volúmenes de información, como datos demográficos, financieros y de seguros. Aplicaciones en Actuaría Modelos Actuariales: Uso de bases de datos para almacenar información histórica de riesgos y siniestros. Análisis Estadístico: Extracción de datos para construir distribuciones de probabilidad. Predicciones: Creación de modelos predictivos basados en datos demográficos y financieros. Tipos de bases de datos: 1. Bases de datos relacionales (RDBMS): o Organizan los datos en tablas con filas y columnas. o Utilizan el lenguaje SQL para las consultas. o Ejemplos: MySQL, PostgreSQL, Oracle, SQL Server. 2. Bases de datos no relacionales (NoSQL): o Son más flexibles en cuanto a la estructura de los datos y pueden almacenar datos en formatos como documentos, clave-valor, grafos, etc. o Son adecuadas para grandes volúmenes de datos no estructurados o semi- estructurados. o Ejemplos: MongoDB, Cassandra, Redis. 3. Bases de datos jerárquicas: o Organizan los datos en una estructura tipo árbol, donde cada elemento tiene un único "padre". o Ejemplo: IBM Information Management System (IMS). 4. Bases de datos en red: o Permiten una estructura más compleja donde los registros pueden tener múltiples relaciones entre sí, no solo un padre y varios hijos. o Ejemplo: Integrated Data Store (IDS). 5. Bases de datos orientadas a objetos: o Almacenan datos como objetos, similar a los lenguajes de programación orientados a objetos. o Ejemplo: ObjectDB, db4. 6. Bases de datos en memoria (In-memory databases): o Almacenan todos los datos en la memoria RAM, lo que permite un acceso extremadamente rápido. o Ejemplo: Redis, Memcached. Las bases de datos son sistemas organizados para recopilar, almacenar y gestionar información de manera eficiente. Permiten el acceso, la manipulación y la actualización de datos de manera rápida y controlada. Existen diferentes tipos de bases de datos, y su uso varía según las necesidades del sistema y la estructura de los datos. Ventajas de usar bases de datos: Eficiencia: Permiten el acceso rápido y eficiente a grandes volúmenes de datos. Integridad: Garantizan que los datos sean correctos y consistentes mediante restricciones y reglas de integridad. Seguridad: Proporcionan mecanismos de control de acceso para proteger los datos. Escalabilidad: Se pueden adaptar para manejar grandes cantidades de datos a medida que la organización crece. Desafíos: Mantenimiento: Requieren actualizaciones regulares y gestión para garantizar su rendimiento y seguridad. Costo: Algunas bases de datos comerciales pueden ser costosas, aunque existen opciones gratuitas y de código abierto. A continuación, te presento algunos conceptos y tipos clave relacionados con bases de datos: Conceptos clave Dato: Unidad mínima de información que puede ser numérica, alfabética o alfanumérica (ejemplo: edad, nombre, prima). Campo: Característica específica de un individuo u objeto (ejemplo: columna de una tabla que contiene la "Edad"). Registro: Conjunto de campos relacionados que describen una entidad completa (ejemplo: una fila que contiene datos de un asegurado). Tabla: Colección estructurada de registros (ejemplo: tabla de pólizas de seguros). Consultas (Queries): Son instrucciones que se utilizan para acceder, modificar, insertar o eliminar datos en una base de datos. SQL (Structured Query Language) es el lenguaje más común para realizar consultas en bases de datos relacionales. Sistema de Gestión de Bases de Datos (SGBD) Un SGBD (o DBMS, por sus siglas en inglés) es un software que organiza y controla el acceso a la base de datos. Entre los más comunes están MySQL, PostgreSQL y SQL Server. Ventajas: Reduce la redundancia y la inconsistencia de datos. Facilita el acceso concurrente y la seguridad de la información. Proporciona independencia de datos físicos y lógicos. Niveles de Abstracción de Datos Físico: Describe cómo los datos están almacenados en el disco. Conceptual: Define qué datos se almacenan y sus relaciones (modelo lógico). Representa las entidades, atributos y relaciones de un sistema sin detalles técnicos. o Ejemplo: Diagrama Entidad-Relación (E-R). Externo: Muestra vistas específicas para cada usuario (por ejemplo, analistas que ven solo datos relevantes para su análisis). 1.1 Modelos de Datos Conceptual Modelo Conceptual: 1.2 Lenguajes de Bases de Datos DDL (Data Definition Language): Define estructuras de datos (CREATE, ALTER, DROP). DML (Data Manipulation Language): Manipula datos (SELECT, INSERT, UPDATE, DELETE). DCL (Data Control Language): Gestiona permisos (GRANT, REVOKE). TCL (Transaction Control Language): Controla transacciones (COMMIT, ROLLBACK). Unidad 2: Modelo Entidad-Relación y Modelo Relacional Apuntes de Base de Datos para la Licenciatura en Actuaría Modelo Entidad-Relación (E-R) Conceptos Básicos Entidad: Objeto o concepto identificable dentro del sistema. o Ejemplo: En un sistema bancario, las entidades podrían ser Cliente, Cuenta y Transacción. Atributo: Propiedad o característica de una entidad. o Ejemplo: Para la entidad Cliente, los atributos podrían ser Nombre, Edad y Dirección. Relación: Asociación entre dos o más entidades. o Ejemplo: La relación "Posee" conecta las entidades Cliente y Cuenta. Restricciones del Modelo E-R Cardinalidad: Define el número de entidades que pueden participar en una relación. o 1:1 (uno a uno): Un cliente tiene una única cuenta. o 1:N (uno a muchos): Un cliente puede tener varias cuentas. o N:M (muchos a muchos): Varios clientes pueden compartir varias cuentas. Participación: Indica si todas las entidades participan en una relación. o Total: Todos los elementos participan (representado por una línea doble). o Parcial: Solo algunos elementos participan. Claves del Modelo E-R Clave primaria: Identificador único de una entidad. o Ejemplo: El atributo ID_Cliente identifica únicamente a un cliente. Clave foránea: Atributo en una entidad que referencia la clave primaria de otra entidad. o Ejemplo: El atributo ID_Cliente en la entidad Cuenta referencia a la entidad Cliente. Cuestiones de Diseño del Modelo E-R Identificar las entidades y relaciones principales. Evitar redundancia en los datos. Definir atributos y claves primarias adecuadas. Incorporar las reglas del negocio en las relaciones y atributos. Representación Gráfica del Diagrama E-R Elementos: o Rectángulos: Representan entidades. o Elipses: Representan atributos. o Rombos: Representan relaciones. o Líneas: Conectan entidades con relaciones. Ejemplo: Cliente ----< Posee >---- Cuenta nombre edad Conjuntos de Entidades Débiles Definición: Entidades que dependen de una entidad fuerte para su identificación. Clave parcial: Identifica de manera única dentro de su conjunto. Ejemplo: o Entidad fuerte: Pedido. o Entidad débil: Detalle del Pedido (requiere ID_Pedido para identificarse). Características del Modelo E-R Extendido Generalización: Proceso de abstraer entidades similares a una entidad superior. o Ejemplo: Empleado y Cliente pueden generalizarse como Persona. Especialización: Dividir una entidad general en entidades más específicas. o Ejemplo: Persona puede especializarse en Cliente y Empleado. Agregación: Considerar una relación como una entidad. o Ejemplo: Una relación "Trabaja en" puede considerarse una entidad para asociar información adicional. Diseño de un Esquema de Base de Datos E-R 1. Identificar entidades principales y sus atributos. 2. Definir relaciones y cardinalidades. 3. Dibujar el diagrama E-R con todos los elementos. Reducción de un Esquema E-R a Tablas 1. Convertir cada entidad en una tabla. 2. Convertir relaciones en tablas. 3. Asignar claves primarias y foráneas. 4. Normalizar para eliminar redundancia. Ejemplo: Entidades: Cliente(ID_Cliente, Nombre, Edad), Cuenta(ID_Cuenta, Saldo). Relación: Posee(ID_Cliente, ID_Cuenta). CREATE TABLE Cliente ( ID_Cliente INT PRIMARY KEY, Nombre VARCHAR(100), Edad INT ); CREATE TABLE Cuenta ( ID_Cuenta INT PRIMARY KEY, Saldo DECIMAL(10, 2) ); CREATE TABLE Posee ( ID_Cliente INT, ID_Cuenta INT, PRIMARY KEY (ID_Cliente, ID_Cuenta), FOREIGN KEY (ID_Cliente) REFERENCES Cliente(ID_Cliente), FOREIGN KEY (ID_Cuenta) REFERENCES Cuenta(ID_Cuenta) ); Nota: El modelo E-R es fundamental para el diseño lógico y físico de bases de datos, proporcionando una representación clara y estructurada de la información del sistema. 2.8 Diseño de un Esquema de Base de Datos E-R 1. Identificar entidades y relaciones. 2. Definir atributos. 3. Dibujar el diagrama. 2.9 Reducción de un Esquema E-R a Tablas 1. Convertir entidades y relaciones a tablas. 2. Definir claves primarias y foráneas. Unidad 3: Bases de Datos Relacionales Las bases de datos relacionales (BDR) son un tipo de sistema de gestión de bases de datos (SGBD) que organiza y almacena datos en forma de tablas relacionadas entre sí. Estas tablas tienen columnas que definen los tipos de datos y filas que contienen los valores almacenados. A continuación, se describen sus características principales y se presentan algunos ejemplos. 3.1 Estructura Básica 1. Estructura basada en tablas Los datos se almacenan en tablas (también llamadas relaciones), que están formadas por filas (registros o tuplas) y columnas (atributos o campos). 2. Relaciones entre tablas Las tablas pueden estar vinculadas mediante claves primarias y claves foráneas. Esto permite establecer relaciones entre los datos de diferentes tablas. 3. Uso de SQL (Structured Query Language) El lenguaje estándar para interactuar con las bases de datos relacionales es SQL. Permite realizar consultas, insertar datos, actualizarlos y eliminarlos. 4. Integridad de los datos Las BDR garantizan la precisión y consistencia de los datos a través de restricciones como: o Clave primaria: Identifica de manera única cada registro en una tabla. o Clave foránea: Establece una relación entre tablas. o Restricciones de unicidad, nulidad y valores por defecto. 5. Normalización Proceso para organizar los datos y eliminar redundancias, dividiendo los datos en múltiples tablas relacionadas. 6. Transacciones ACID Las operaciones se rigen por las propiedades: o Atomicidad: La operación se realiza completamente o no se realiza en absoluto. o Consistencia: Garantiza que los datos pasen de un estado válido a otro. o Aislamiento: Las transacciones concurrentes no interfieren entre sí. o Durabilidad: Los cambios son permanentes una vez confirmados. 7. Integridad Referencial: Garantiza que las relaciones entre tablas sean consistentes. Por ejemplo, no se puede eliminar un registro en una tabla si hay registros relacionados en otra tabla. 8. Ejemplos de bases de datos relacionales: a) Ejemplos de sistemas de bases de datos relacionales (SGBDR): o MySQL: Popular en aplicaciones web. o PostgreSQL: Conocido por su robustez y soporte avanzado para consultas. o Oracle Database: Utilizado en aplicaciones empresariales de gran escala. o Microsoft SQL Server: Amplia integración con el ecosistema de Microsoft. o SQLite: Ligero y embebido, ideal para aplicaciones móviles. b) Ejemplo práctico de tablas relacionadas: En este caso, la columna ID_Usuario en la tabla Pedidos es una clave foránea que relaciona cada pedido con un usuario de la tabla Usuarios. SQL (Structured Query Language) es un lenguaje estándar utilizado para gestionar y manipular bases de datos relacionales. Permite realizar diversas operaciones, como consultar, insertar, actualizar y eliminar datos, así como administrar la estructura de las bases de datos. Es ampliamente utilizado en sistemas de gestión de bases de datos como MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, entre otros. Principales categorías de comandos SQL: 1. DDL (Data Definition Language) Se utiliza para definir y modificar la estructura de la base de datos, como tablas, índices y esquemas. o CREATE: Crea objetos (tablas, vistas, bases de datos, etc.). o ALTER: Modifica la estructura de una tabla u objeto. o DROP: Elimina un objeto de la base de datos. o TRUNCATE: Elimina todos los datos de una tabla, pero conserva su estructura. Ejemplo: CREATE TABLE Usuarios ( ID INT PRIMARY KEY, Nombre VARCHAR(50), Email VARCHAR(100) ); ALTER TABLE Usuarios ADD FechaNacimiento DATE; DROP TABLE Usuarios; 2. DML (Data Manipulation Language) Se utiliza para gestionar los datos dentro de las tablas. SELECT: Consulta datos de una tabla. INSERT: Inserta nuevos datos en una tabla. UPDATE: Actualiza datos existentes en una tabla. DELETE: Elimina datos específicos de una tabla. Ejemplo: INSERT INTO Usuarios (ID, Nombre, Email) VALUES (1, 'Juan Pérez', '[email protected]'); SELECT * FROM Usuarios; UPDATE Usuarios SET Nombre = 'Ana López' WHERE ID = 1; DELETE FROM Usuarios WHERE ID = 1; 3. DCL (Data Control Language) Se utiliza para definir permisos y control de acceso. GRANT: Otorga permisos a usuarios. REVOKE: Revoca permisos de usuarios. Ejemplo: GRANT SELECT, INSERT ON Usuarios TO 'usuario_ejemplo'; REVOKE INSERT ON Usuarios FROM 'usuario_ejemplo'; 4. CL (Transaction Control Language) Se utiliza para gestionar transacciones y garantizar la consistencia de los datos. COMMIT: Confirma los cambios realizados. ROLLBACK: Revierte los cambios no confirmados. SAVEPOINT: Establece un punto de restauración dentro de una transacción. Ejemplo: BEGIN TRANSACTION; INSERT INTO Usuarios (ID, Nombre, Email) VALUES (2, 'Luis Martínez', '[email protected]'); ROLLBACK; -- Deshace el último cambio. COMMIT; -- Confirma los cambios. 5. Consultas avanzadas (JOIN, GROUP BY, etc.) SQL también permite consultas más complejas mediante combinaciones y agrupaciones de datos. JOIN: Combina datos de varias tablas relacionadas. GROUP BY: Agrupa datos según un criterio. HAVING: Filtra grupos de datos (similar a WHERE, pero para grupos). ORDER BY: Ordena los resultados. Ejemplo: SELECT Usuarios.Nombre, Pedidos.Fecha, Pedidos.Total FROM Usuarios JOIN Pedidos ON Usuarios.ID = Pedidos.ID_Usuario WHERE Pedidos.Total > 100 ORDER BY Pedidos.Fecha DESC; Ejemplo práctico completo Supongamos que tienes dos tablas: Usuarios y Pedidos. Crear tablas: CREATE TABLE Usuarios ( ID INT PRIMARY KEY, Nombre VARCHAR(50), Email VARCHAR(100) ); CREATE TABLE Pedidos ( ID INT PRIMARY KEY, ID_Usuario INT, Fecha DATE, Total DECIMAL(10, 2), FOREIGN KEY (ID_Usuario) REFERENCES Usuarios(ID) ); Insertar datos: INSERT INTO Usuarios (ID, Nombre, Email) VALUES (1, 'Juan Pérez', '[email protected]'), (2, 'Ana López', '[email protected]'); INSERT INTO Pedidos (ID, ID_Usuario, Fecha, Total) VALUES (101, 1, '2023-01-15', 150.00), (102, 2, '2023-01-20', 200.00); Consultar datos: SELECT Usuarios.Nombre, Pedidos.Fecha, Pedidos.Total FROM Usuarios JOIN Pedidos ON Usuarios.ID = Pedidos.ID_Usuario; Resultado: Vistas Una vista en bases de datos es una consulta almacenada que se presenta como una tabla virtual. Es decir, es un objeto en la base de datos que no almacena los datos directamente, sino que define una consulta predefinida que se ejecuta cada vez que se accede a la vista. Las vistas permiten mostrar datos de una o más tablas de forma estructurada y personalizada sin duplicar la información almacenada. 3.8 Restricciones e Integridad Restricciones de dominio. Integridad referencial. 3.9 Disparadores y Seguridad Disparadores: Acciones automáticas. Seguridad: Autenticación y autorización. Unidad 4: Diseño, Mantenimiento y Administración de Bases de Datos 4.1 Normalización La normalización es un proceso que se aplica a las bases de datos relacionales para organizar los datos y reducir redundancias, mejorando la integridad y eficiencia del almacenamiento. Este proceso se realiza en etapas llamadas formas normales (FN), que representan distintos niveles de organización. Objetivos de la normalización: 1. Eliminar redundancia de datos. 2. Asegurar la integridad y consistencia de los datos. 3. Reducir anomalías en la manipulación (inserción, actualización, eliminación). Procedimiento de Normalización y Formas Normales: Forma Normal 1 (1FN): Una tabla está en 1FN si: Todos los valores en las columnas son atómicos (no divisibles). No hay grupos repetidos ni columnas con múltiples valores. Ejemplo: Antes de la 1FN: Forma Normal 2 (2FN): Una tabla está en 2FN si: Cumple con 1FN. Todas las columnas que no son clave dependen completamente de la clave primaria (no deben depender de una parte de la clave en el caso de claves compuestas). Ejemplo: Antes de la 2FN: En este caso, la columna Cliente depende solo de ID_Cliente y no de ID_Pedido. Esto viola 2FN. Después de aplicar 2FN: Tabla Clientes: Forma Normal 3 (3FN): Una tabla está en 3FN si: Cumple con 2FN. No existen dependencias transitivas (una columna no clave depende de otra columna no clave). Ejemplo: Antes de la 3FN: En este caso, Cliente determina Ciudad, lo que genera una dependencia transitiva. Después de aplicar 3FN: Tabla Clientes: Forma Normal Boyce-Codd (BCNF): Una tabla está en BCNF si: Cumple con 3FN. Para cualquier dependencia funcional X → Y, X debe ser una superclave. Ejemplo: Supongamos una tabla con la siguiente estructura: En este caso, la combinación de Curso y Profesor es clave, pero hay una dependencia funcional Profesor → Aula, lo que viola BCNF. Después de aplicar BCNF: Tabla Profesores: Resumen de las Formas Normales: Forma Normal Requisito principal Forma Normal Requisito principal 1FN Los datos son atómicos y no hay grupos repetidos. 2FN No hay dependencias parciales (los datos dependen completamente de la clave primaria). 3FN No hay dependencias transitivas entre columnas no clave. BCNF Toda determinante debe ser una superclave. 4.2 Diseño General de Bases de Datos 1. Análisis de requisitos. 2. Creación de modelos conceptuales. 4.3 Mantenimiento y Administración Respaldo de datos. Optimización de consultas. 4.4 Sistemas de Gestión de Bases de Datos (SGBD) Software que gestiona bases de datos (MySQL, SQL Server).

Use Quizgecko on...
Browser
Browser