Bases de datos para profanos
- Fecha de recepción oficial de la propuesta: 2022-06-04
- Fecha decisión editorial: 2022-11-23
- Tipo de revisión por pares: Abierto
La editorial declara haber utilizado algún sistema de búsqueda de plagio.
Autor: Néstor Darío Duque-Méndez
Sin duda, en todos los espacios en sistemas informáticos están presentes bases de datos de diferente tipo, y el rol personal frente a estas dependerá del contexto. En su vida laboral o académica no muchas personas tendrán que diseñar una base de datos y se dedicarán a gestionar o administrar estos sistemas; sin embargo, el conocimiento del diseño permitirá orientar los procesos relacionados con modificaciones o ampliaciones. Comprender los planos de esas bases de datos, que son los diagramas entidad-relación (E-R), es fundamental en la administración de sistemas y permite entender cuál es el ambiente donde se desarrollan las funcionalidades de las diferentes aplicaciones. Esta publicación busca servir de ayuda y fundamentación a estudiantes y profesionales que se inician en la construcción y operación de sistemas de bases de datos (SBD). Los conceptos y las propuestas incluidos son resultado de un largo trabajo en las aulas de clase y en los proyectos que han permitido afinar la teoría y mejorar las posibilidades de aplicación. El enfoque propuesto se asemeja a un curso-taller que permitirá que múltiples conceptos sean interiorizados como condición necesaria para pasar a competencias de nivel más alto. Su organización está pensada de manera tal que en los primeros capítulos el profano en estos temas pueda realizar un acercamiento inmediato al mundo de las bases de datos, pero con firmeza teórica y metodológica para enfrentar retos de diseño posteriores. Se busca que su contenido se constituya en herramienta para los administradores de sistemas informáticos, en particular, en su labor profesional, para contribuir así a avanzar en sus actividades académicas y laborales.
Palabras Clave:
Bases de datosAdministración de bases de datosIntroducciónSoftwareGestión de datosModelado de datosSqlUsuarios principiantesInformáticaTecnologías de la informaciónCategorías:
- COM059000. ORDENADORES > Ingeniería Informática
- UY. Ciencias de la computación
- 005.7. Generalidades > Generalidades y ciencias de la computación > Programación de computadoras, programas, datos > Datos en sistemas informáticos
- Ingeniería
- Ingeniería de sistemas
Contenido
Introducción 25
Capítulo 1
Generalidades 27
1.1. Sistemas de gestión de archivos 27
1.1.1. Problemas generados por el esquema de sistema de gestión de archivos 28
1.2. Sistemas de bases de datos vs. sistema de gestión de archivos 30
1.2.1. Sistema gestor de bases de datos, o Database Management System 30
1.3. Bases de datos vs. sistemas gestores de bases de datos 31
1.3.1. Bases de datos 31
1.4. Visión de los datos 31
1.4.1. Abstracción de datos 31
1.5. Ejemplares y esquemas 32
1.6. Modelos de datos 32
1.6.1. Clasificación de los modelos de datos 32
1.7. Lenguajes de datos 33
1.7.1. Lenguaje de definición de datos, o Data Definition Language 33
1.7.2. Lenguaje de manipulación de datos, o Data Manipulation Language 34
1.7.3. Lenguaje de control de datos, o Data Control Language 34
1.8. Ejemplos 34
1.8.1. Crear base de datos, tablas y modificaciones 35
1.8.2. Consultas y borrado 35
1.9. Ejercicio de autoevaluación 36
1.10. Ejercicios propuestos 36
Capítulo 2
Diseño de bases de datos 37
2.1. Modelo entidad-relación 38
2.1.1. Componentes del modelo entidad-relación 38
2.1.2. Diagrama entidad-relación de Chen 39
2.1.3. Diagrama para método case/diagrama de Barker 49
2.1.4. Otros diagramas entidad-relación 51
2.1.5. Ejemplo de diseño 52
2.1.6. Mapeo del diagrama entidad-relación 52
2.1.7. Paso del modelo entidad-relación al modelo relacional 56
2.2. Modelo entidad-relación extendido 57
2.2.1. Agregación 58
2.2.2. Especialización/generalización 59
2.2.3. Conversión del modelo entidad-relación extendido al modelo relacional 61
2.2.4. Ejemplo 62
2.3. Normalización 65
2.3.1. Conceptos asociados a la normalización 65
2.3.2. Relación universal 66
2.3.3. Primera forma normal 67
2.3.4. Segunda forma normal 68
2.3.5. Tercera forma normal 70
2.3.6. Forma normal de Boyce-Codd 71
2.3.7. Otras formas normales 72
2.3.8. Desnormalización 72
2.4. Ejercicio completo 72
2.5. Ejercicio completo con el enfoque Barker 75
2.6. Herramientas para construir diagramas e-r 75
2.6.1. Lucidchart 76
2.6.2. Draw.io 76
2.6.3. Dia Diagram Editor 76
2.6.4. SQL Developer Data Modeler 77
2.6.5. MySQL Workbench 77
2.7. Ejercicio de autoevaluación 78
2.8. Ejercicios propuestos 79
Capítulo 3
Construcción de bases de datos 83
3.1. Creación de bases de datos y tablas en Access 83
3.1.1. Creación de consultas 89
3.2. Creación de bases de datos y tablas en Paradox 89
3.2.1. Creación de consultas 90
3.3. Creación de bases de datos y tablas en MySQL usando MySQL-Front 92
3.4. Ejercicios propuestos 98
Capítulo 4
Álgebra y cálculo relacional 99
4.1. Modelo relacional 99
4.2. Álgebra relacional 101
4.3. Operaciones de álgebra relacional 103
4.3.1. σ Selección 103
4.3.2. π Proyección 103
4.3.3. Composición 104
4.3.4. U Unión 105
4.3.5. − Diferencia 105
4.3.6. × Producto cartesiano 105
4.3.7. ρ Renombramiento 107
4.3.8. Ո Intersección 107
4.3.9. ⋈ Reunión natural 108
4.3.10. ⋈θ Reunión zeta 109
4.3.11. ÷ División 110
4.3.12. ← Asignación 111
4.3.13. Herramienta RelaX, o Relational Algebra Calculator 112
4.3.14. Ejercicios propuestos 113
4.4. Operaciones de álgebra relacional extendida 114
4.4.1. Proyección extendida 114
4.4.2. Reunión externa 115
4.4.3. Operaciones de agregación 116
4.4.4. Γ Agrupación 117
4.5. Otras operaciones sobre las relaciones 117
4.5.1. Modificación de relaciones 117
4.5.2. Vistas 119
4.6. Ejercicios propuestos 120
4.7. Cálculo relacional 120
4.7.1. Conceptos 120
4.7.2. Cálculo relacional de tuplas 120
4.7.3. Cálculo relacional de dominios 121
4.7.4. Ejemplos con solución 122
4.8. Ejercicios propuestos 123
4.9. Lenguajes de consultas 125
4.9.1. Query by Example 125
4.9.2. quel 126
4.9.3. sql 126
Capítulo 5
Structured Query Language 129
5.1. Conceptos generales de sql 129
5.2. Normas y versiones sql 130
5.2.1. sql-89 130
5.2.2. sql-92 130
5.2.3. sql-3 131
5.3. Instrucciones de Data Definition Language 133
5.3.1. Creación de tablas 133
5.3.2. Borrado de esquemas 135
5.3.3. Modificación de esquemas 135
5.4. Instrucciones de Data Manipulation Language 136
5.4.1. Inserción de tuplas 136
5.4.2. Modificación de tuplas 139
5.4.3. Borrado de tuplas 139
5.4.4. Consultas de registros 140
5.4.5. Forma general del comando select 155
5.4.6. Vistas 155
5.4.7. Ejemplos con soluciones para todo el capítulo 157
5.4.8. Ejercicios propuestos 163
5.5. Operaciones lenguaje de control de datos, o Data Control Language 165
5.5.1. Creación de usuarios 165
5.5.2. Conceder permisos, grant 166
5.5.3. Permitir conceder permisos a otros, grant option 167
5.5.4. Retirar permisos a usuarios 167
5.5.5. Borrar un usuario 167
5.5.6. Ejemplos 168
5.5.7. Ejercicios 168
Capítulo 6
Cliente/servidor de bases de datos 169
6.1. Conceptos de arquitectura cliente/servidor 169
6.2. Componentes cliente/servidor 170
6.3. Sistemas cliente/servidor de bases de datos 170
6.4. Elementos importantes del middleware sql 171
6.5. Apoyo a transacciones, tp liviano 171
6.5.1. Aplicaciones de misión crítica 172
6.6. Conexiones de aplicaciones con bases de datos 172
6.6.1. Controladores o drivers 174
6.6.2. api de sql 174
6.6.3. sql incrustado o embebido 174
6.6.4. La interfaz a nivel de llamada, o Call Level Interface 174
6.7. Ventajas y desventajas de sistemas cliente/servidor de bases de datos 178
6.7.1. Ventajas de cliente/servidor de bases de datos 178
6.7.2. Desventajas de cliente/servidor de bases de datos 179
6.8. Ejercicios de autoevaluación 180.
Capítulo 7
Bases de datos en internet 181
7.1. Componentes de un sistema de bases de datos en internet 181
7.2. Servidor web, o Hypertext Transfer Protocol 182
7.3. Servidor de base de datos 182
7.4. Cliente/navegador web 183
7.5. Páginas html 183
7.6. Aplicaciones en el lado del servidor 184
7.6.1. Lenguaje Hypertext Preprocessor 184
7.6.2. Sintaxis básica para scripts php 185
7.6.3. Instrucciones 185
7.6.4. Variables 186
7.6.5. Estructuras de control 186
7.7. php con MySQL 186
7.7.1. Script completo 188
7.7.2. Resumen de funciones php para conexión con bases de datos 190
7.8. Ejercicio 191
Capítulo 8
Bodega de datos, o Data Warehouse 193
8.1. Conceptos básicos de Data Warehouse 193
8.2. Componentes de un Data Warehouse 194
8.3. Diferencias entre bases de datos en operación y Data Warehouse 195
8.4. Procesos asociados a Data Warehouse 196
8.4.1. Población: adquisición 196
8.4.2. Almacenamiento 197
8.4.3. Uso de herramientas OnLine Transaction Processing, o de minería de datos 197
8.5. Elementos a considerar en el diseño y la implementación de una bodega de datos 204
8.5.1. Selección de arquitectura de Data Warehouse 206
8.5.2. Construcción del Data Warehouse 208
8.5.3. Retos en la implementación 209
8.6. Conclusiones 210
8.7. Lagos de datos, o Data Lake 210
8.8. Ejercicio de autoevaluación 211
Capítulo 9
Práctica en diferentes Database Management Systems servidores 213
9.1. Características de los sistemas gestores de bases de datos servidores 213
9.2. PostgreSQL 215
9.2.1. Ejemplo con PostgreSQL 215
9.3. MySQL 221
9.3.1. Ejemplos de instrucciones 221
9.4. Oracle 226
9.4.1. Lenguaje de procedimientos de Oracle pl/sql 229
9.5. InterBase 234
9.5.1. Ejemplo práctico 234
9.6. Ejercicios propuestos 236
Capítulo 10
Seguridad e integridad en sistemas de bases de datos 237
10.1. Elementos básicos 237
10.1.1. Características que apoyan la seguridad en los sistemas de base de datos 237
10.1.2. Claves primarias 238
10.1.3. Dominio de los atributos 238
10.1.4. Reglas de integridad 238
10.1.5. Reglas de integridad del negocio 239
10.1.6. Vistas 240
10.1.7. Perfiles de usuario y acceso a objetos de la base de datos 240
10.1.8. Auditoría 241
10.1.9. Criptografía de datos 242
10.1.10. Disparadores, o triggers 242
10.1.11. Procedimientos almacenados 243
10.2. Aplicación de conceptos 244
10.2.1. En el lado del servidor 245
10.2.2. Creación de la aplicación cliente 249
Capítulo 11
Sistemas de bases de datos: más que relacionales 255
11.1. Tendencias en sistemas de base de datos 255
11.2. Bases de datos activas 257
11.2.1. Triggers 257
11.3. Bases de datos deductivas 258
11.3.1. Elementos constitutivos 258
11.3.2. Herramienta 259
11.3.3. Ejemplo completo 260
11.3.4. Bases de datos deductivas vs. bases de datos relacionales 263
11.4. Bases de datos multimediales 264
11.5. Sistemas de base de datos orientadas a objetos 271
11.6. Bases de datos distribuidas y federadas 276
11.6.1. Bases de datos distribuidas 276
11.6.2. Ventajas y desventajas de los sgbdd 277
11.6.3. Almacenamiento en la base de datos 277
11.6.4. Fragmentación 278
11.6.5. Replicación 278
11.6.6. Sistemas de base de datos federados 279
11.6.7. Sistemas distribuidos vs. sistemas federados 280
11.7. Bases de datos NoSQL 280
11.7.1. MongoDB 282
11.8. Ejercicios propuestos 282
11.9. Foros propuestos 287
Reflexiones finales 289
Bibliografía 291
Índice temático 295
- ID: SIMEHEBOOK9A2AF4B5BG445896EI6F
- Año de Publicación: 2025
- Presentación: PDF (Digital: descarga y online)
- Número absoluto de páginas: 299 Páginas
- ISBN13: 9789585058538
- DOI: https://doi.org/10.15446/edunal.1399
