Contenido
Capítulo 1: Gestión de datos A - Generalidades sobre los archivos
11
B - Organizaciones típicas de los archivos 1 - Organización secuencial 2 - Organización secuencial indexada 3 - Bases de datos navegables
12 13 13 14
Capítulo 2: El modelo relacional A - Conceptos y definiciones 1 - Dominio 2 - Producto cartesiano 3 - Relación
17 17 18 18
B - Principales reglas
19
Capítulo 3: Álgebra relacional A - Operadores 1 - Unión 2 - Intersección 3 - Diferencia 4 - Restricción 5 - Proyección 6 - Producto cartesiano 7 - Combinaciones 8 - Campos calculados elementales 3
25 25 26 26 27 28 29 30 32
Contenido
9 - Cálculo de valores agregados B - Etapas para la resolución de problemas 1 - Análisis de las necesidades 2 - Definición de la "vista" 3 - Orden y especificación de las operaciones
32 34 34 34 35
Capítulo 4: Generalidades sobre SQL A - Componentes de la base de datos lógica: objetos SQL 1 - La gestión de los datos 2 - Almacenamiento físico 3 - Almacenamiento de instrucciones 4 - Gestión de los usuarios 5 - Denominación de los objetos
45 45 46 46 47 47
B - Categorías de instrucciones 1 - DDL (Data Definition Language, lenguaje de definición de datos) 2 - DML (Data Manipulation Language, lenguaje de manipulación de datos) 3 - Transaction Control language 4 - Session Control language 5 - Embedded SQL
48 48 49 49 49 50
Capítulo 5: Descripción de objetos A - Tipos
53
B - Creación de una tabla 1 - Restricciones de columna 2 - Restricciones de tabla (sobre varias columnas) 3 - Opciones de las restricciones 4 - Denominación de las restricciones 5 - La columna virtual
55 56 57 58 59 61
4
Contenido
C - Eliminación de una tabla
63
D - Modificación de una tabla 1 - Adición o modificación de columnas 2 - Adición de una restricción de tabla 3 - Eliminación de una restricción 4 - Activación y desactivación de una restricción 5 - Modificación de una restricción 6 - Eliminación de columnas 7 - Cómo cambiar el nombre de una tabla 8 - Hacer una tabla accesible sólo en modo lectura, o en modo lectura y escritura
64 65 66 69 69 70 72 74
E - Restauración de una tabla
75
F - Gestion de índices 1 - Creación de un índice 2 - Eliminación de un índice
78 79 79
74
Capítulo 6: Manipulación de los datos A - Instrucciones 1 - Expresiones 2 - Operadores 3 - Condiciones 4 - Funciones
83 83 84 84 85
B - Creación de filas
99
C - Eliminación de filas
101
D - Modificación de filas
103
E - Extracción de datos
104
F - Control de transacciones
106 5
Contenido
1 2 3 4 5
-
Validación de transacciones 106 Anulación de modificaciones 107 Declaración de un punto de control 107 Acceso simultáneo a los datos 110 Verificación de las restricciones al final de la transacción113
Capítulo 7: Traducción del álgebra relacional A - Operaciones 1 - Restricción 2 - Campos calculados elementales 3 - Proyección 4 - Cálculo de valores agregados 5 - Funciones de grupo 6 - Funciones analíticas 7 - Restricciones sobre valores agregados 8 - Producto cartesiano 9 - Combinaciones 10 - Combinaciones externas 11 - Unión, intersección, diferencia
119 119 120 120 123 123 127 131 131 133 135 135
B - Tratamiento del resultado 1 - Clasificación 2 - Guardado 3 - Enumeración de todas las posibilidades de un cálculo de valores agregados 4 - MERGE
137 137 139
6
144 146
Contenido
Capítulo 8: SQL avanzado A - Los objetos 1 - Objetos 2 - Objetos 3 - Objetos 4 - Objetos
View (vista) schema (esquema) Synonym (sinónimo) Sequence (secuencia)
151 151 157 162 164
B - Consultas complejas 1 - Elementos de la sintaxis 2 - Subconsultas 3 - Consultas jerárquicas 4 - Pivotar los datos
167 167 171 174 177
C - Bloqueo de tablas
182
D - Comentarios
185
E - Información sobre los objetos del esquema
187
F - Funcionalidades específicas
188
G - Las expresiones regulares
193
Glosario
201
Índice
203
7
El modelo relacional Una base de datos relacional es una colección de datos relacionados mediante tablas lógicas, siendo una tabla un conjunto de filas y columnas. Los sistemas de gestión de bases de datos relacionales (RDBMS, Relational Database Management System) administran de forma independiente el nivel lógico (objetos o entidades) y el nivel físico (archivos). El éxito de los sistemas RDBMS procede fundamentalmente de esta característica. Con estos sistemas, el usuario sólo gestiona el nivel lógico, lo que proporciona una gran simplicidad a la gestión de los datos, incluso en el caso de usuarios con pocos conocimientos informáticos.
A Conceptos y definiciones El modelo relacional se basa en conceptos básicos sencillos (dominio, relación, atributo) a los que se aplican reglas precisas. La implementación de la base de datos se facilita mediante un lenguaje declarativo (no procedimental) sencillo, basado en la lógica de conjuntos.
1 Dominio
ã Editions ENI - All rights reserved
Es un conjunto de valores caracterizado por un nombre. Cardinalidad Es el número de elementos de un dominio.
17
Capítulo 2 Ejemplo El diccionario de datos del análisis de una aplicación de gestión comercial puede incluir, entre otras cosas, especificaciones sobre la gestión de los estados de los pedidos o los números de orden que se deseen visualizar. El modelo relacional traducirá estas especificaciones del siguiente modo: Estados de los pedidos = {"EC","SU", "FA", "SE"};cardinalidad 4 Números de orden = {n | 1<=n<=9999};cardinalidad 9999
2 Producto cartesiano El producto cartesiano P entre varios dominios D1, D2,..., Dn se expresa como P = D1 X D2 X ... X Dn y es el conjunto de las n tuplas (d1, d2, ..., dn) donde cada "di" es un elemento del dominio Di. Ejemplo Si se desean generar dos dominios (códigos e impuestos), se pueden obtener parejas formadas por un código y un impuesto. Codigos = {1,2,3,4} IVA = {0,4,16} Codigos X IVA ={(1,0),(1,4),(1,16), (2,0),(2,4),(2,16),(3,0),(3,4),(3,16), (4,0),(4,4),(4,16)}
3 Relación Una relación definida sobre los dominios D1, D2,..., Dn es un subconjunto del producto cartesiano de estos dominios, caracterizado por un nombre. Atributo Es una columna de una relación, caracterizada por un nombre.
18
El modelo relacional Grado Es el número de atributos de una relación. Ejemplo Para asociar un único tipo de impuesto a cada código, sólo deben considerarse tres parejas. Relación IVA = {(1,0),(2,4),(3,16)}
Representación Se realiza en forma de tabla, enumerando los elementos:
O en forma declarativa: IVA (CODIGO:códigos, VALOR:IVA)
o IVA (CODIGO, VALOR)
B ã Editions ENI - All rights reserved
Principales reglas Por tanto, el objeto principal gestionado por el modelo relacional es la relación, que está asociada a los conceptos de dominio y de atributo. A esta relación se le aplican reglas con el fin de satisfacer las restricciones identificadas en el análisis.
19
Capítulo 2 Algunas de estas reglas son: Coherencia Todo valor tomado por un atributo debe pertenecer al dominio sobre el que está definido. Unicidad Todos los elementos de una relación deben ser diferentes. Identificador Atributo o conjunto de atributos que permiten caracterizar de forma unívoca cada elemento de la relación. Clave primaria Identificador mínimo de una relación. Claves secundarias Otros identificadores de la relación. Integridad referencial Esta regla impone que un atributo o conjunto de atributos de una relación aparezca como clave primaria en otra relación. Clave externa Atributo o conjunto de atributos que verifica la regla de integridad referencial.
20
El modelo relacional Ejemplo El análisis de una aplicación de gestión comercial requiere gestionar una serie de clientes que tienen unas determinadas características (nombre y dirección) y los pedidos que realicen dichos clientes. Puede emplearse el siguiente modelo:
CLIENTES (NUMEROCLI,NOMBRECLI,DIRECCLI) NUMEROCLI identificador clave primaria de CLIENTES (NOMBRECLI,DIRECCLI) identificador clave secundaria de CLIENTES
ã Editions ENI - All rights reserved
PEDIDOS (NUMEROPED,FECHAPED,NUMEROCLI,ESTADOPED) NUMEROPED identificador clave primaria de PEDIDOS NUMEROCLI clave externa de PEDIDOS, que hace referencia a NUMEROCLI de CLIENTES
Valor nulo En el modelo relacional, el concepto de valor nulo es perfectamente admisible. Se trata de un valor que representa un dato desconocido o inaplicable en una columna. Se denota mediante _ , ^ o NULL.
21
Capítulo 2 Restricción de entidad Cualquier valor que forme parte de una clave primaria debe ser no NULL. Ejemplo En la relación de artículos se admite que el precio o el código de IVA sean desconocidos, pero la referencia del artículo (clave primaria) debe especificarse.
22