¡Descarga Sistemas de almacenamiento de información y bases de datos y más Resúmenes en PDF de Filología Vasca (Euskal Filología) solo en Docsity!
B ases de datos.
Diseño y gestión
B ases de datos.
Diseño y gestión
Arturo Mora Rioja
© Arturo Mora Rioja
© EDITORIAL SÍNTESIS, S. A. Vallehermoso, 34. 28015 Madrid Teléfono 91 593 20 98 http://www.sintesis.com
ISBN: 978-84-907704-2- Depósito Legal: M-26.099-
Reservados todos los derechos. Está prohibido, bajo las sanciones penales y el resarcimiento civil previstos en las leyes, reproducir, registrar o transmitir esta publicación, íntegra o parcialmente, por cualquier sistema de recuperación y por cualquier medio, sea mecánico, electrónico, magnético, electroóptico, por fotocopia o por cualquier otro, sin la autorización previa por escrito de Editorial Síntesis, S. A.
B ASES DE DATOS. D ISEN ̃ O Y GESTIÓN
ÍNDICE
B ASES DE DATOS. D ISEN ̃ O Y GESTIÓN
ÍNDICE
En 1597 sir Francis Bacon acuñó la conocida frase “ Knowledge itself is a power”, adaptada ge-
neralmente al castellano como “La información es poder”. Cuatro siglos y medio después,
los padres de la informática se devanaron los sesos diseñando sistemas óptimos de almacena-
miento, procedimientos de consulta y modificación de datos, mecanismos de seguridad...
Como vaticinaba sir Francis, hoy en día la información es el activo más valioso de toda or-
ganización, y las bases de datos son la respuesta a las necesidades técnicas surgidas hace unas
décadas.
Este libro trata las bases de datos relacionales y objeto-relacionales desde dos puntos de vista
fundamentales: primero aborda su diseño y creación, recorriendo los pasos que hay que seguir
desde la primera idea de negocio hasta su implantación funcional, combinando conceptos teó-
ricos con actividades prácticas y apoyándose en herramientas validadas por la ingeniería del soft-
ware , entre las que destacan la teoría de la normalización y el diagrama entidad/relación; después
se centra en la gestión de la información almacenada a través del lenguaje SQL y su extensión
procedimental SQL/PSM.
Durante la elaboración del texto se ha intentado no caer presa de imposiciones puntuales
del mercado ni de modas pasajeras, motivo por el que la sintaxis técnica tratada, así como todos
los ejemplos, corresponden a normativas internacionales, no a herramientas comerciales. Salvo
donde se indique lo contrario, se utilizan las normas del estándar ISO SQL:1999, fácilmente
adaptables a la sintaxis de cualquier base de datos.
Las descripciones de sentencias de los lenguajes SQL y SQL/PSM utilizan la siguiente no-
tación, habitual en obras técnicas:
S
I ntroducción
Aunque el libro está destinado inicialmente a estudiantes de Ciclos Formativos de Grado
Superior, la cualidad didáctica y la amplitud temática de la obra permiten su aplicación en con-
textos universitarios y profesionales. Con algunas ampliaciones y omisiones, los contenidos están
basados en los de los módulos Gestión de Bases de Datos, del Ciclo Formativo de Grado Supe-
rior ASIR (Administración de Sistemas Informáticos en Red) y Bases de Datos, de los Ciclos
Formativos de Grado Superior DAM (Desarrollo de Aplicaciones Multiplataforma) y DAW
(Desarrollo de Aplicaciones Web), definidos en los siguientes documentos:
- Real Decreto 1629/2009, de 18 de noviembre, de enseñanzas mínimas del título de Téc-
nico Superior en Administración de Sistemas Informáticos en Red.
- Real Decreto 450/2010, de 16 de abril, de enseñanzas mínimas del título de Técnico
Superior en Desarrollo de Aplicaciones Multiplataforma.
- Real Decreto 686/2010, de 20 de mayo, de enseñanzas mínimas del título de Técnico
Superior en Desarrollo de Aplicaciones Web.
Para complementar los contenidos de los reales decretos también se ha consultado el desarro-
llo del currículo de los módulos mencionados en la normativa de diversas comunidades autó-
nomas españolas.
Desde hace diez años soy docente de la familia profesional de Informática en Ciclos For-
mativos de Grado Superior de Formación Profesional. Los diez años anteriores los dediqué al
desarrollo de software en el mundo de la empresa privada, cubriendo el espectro existente entre
B ASES DE DATOS. D ISEÑO Y GESTIÓN
INTRODUCCIÓN
10
Formato Explicación Ejemplo
Mayúsculas Palabra reservada del lenguaje SELECT
Minúsculas y cursiva entre símbolos menor (<) y mayor (>)
Elemento que hay que sustituir con un valor o expresión
<lista_campos>
Texto separado por una tubería (|)
Elección. Se puede utilizar el elemento a la izquierda o el elemento a la derecha de la tubería
ASC|DESC
Texto entre corchetes Opcional. Se puede omitir [DISTINCT]
Texto entre llaves Agrupa varios elementos sepa- rados por tuberías, indicando que se puede elegir cualquiera, pero es obligatorio elegir al menos uno
{INSERT|UPDATE|
DELETE}
Puntos suspensivos Más elementos del mismo tipo que el anterior
, , ...
1. Comprender la problemática derivada del almacenamiento óptimo de la
información.
2. Tomar cierta perspectiva histórica sobre el desarrollo de los sistemas de
información.
3. Asimilar las características de los distintos tipos de fichero.
4. Entender el concepto de índice.
5. Describir los distintos modelos de bases de datos.
6. Familiarizarse con los componentes y funciones de los sistemas gestores de
bases de datos.
Objetivos
Sistemas de
almacenamiento
de la información
1.1. Introducción
Según el Diccionario de la Real Academia Española (DRAE), informática es el «Conjunto de
conocimientos científicos y técnicas que hacen posible el tratamiento automático de la infor-
mación por medio de ordenadores». El diccionario de Cambridge University Press define infor-
mation technology (IT) como «la ciencia y la actividad de utilizar ordenadores y otras herramientas
electrónicas para almacenar y enviar información». En ambos casos, el objeto de la disciplina es
la información, y el objetivo su gestión.
Definimos sistema de información como el conjunto de procedimientos y funciones dirigidos
a la recogida, elaboración, evaluación, almacenamiento, recuperación, condensación y distribu-
ción de informaciones dentro de una organización.
Antes de que surgieran las bases de datos el procesamiento automatizado de información se
hacía mediante ficheros. Las aplicaciones eran orientadas al proceso (el esfuerzo se enfocaba al
tratamiento que los datos recibían en una aplicación concreta). Los ficheros se diseñaban a me-
dida para cada sistema de información, sin que existiera un formato común.
S ISTEMAS DE ALMACENAMIENTO DE LA INFORMACIÓN
C APÍTULO 1
15
Backup. Copia de seguridad de datos o aplicaciones informáticas.
Byte. Unidad de información compuesta de ocho bits o dígitos binarios.
Fichero o archivo. Entidad consistente en secuencias de bytes que se almacenan en
una memoria secundaria (disco duro, cinta magnética, DVD, etc.).
Interfaz de línea de comandos (Command-Line Interface, CLI). Forma de interactuar
con un software mediante el envío de comandos por parte del usuario y en ausencia de
una interfaz gráfica.
Lenguaje de marcas (markup language). Conjunto de instrucciones de codificación
que permiten marcar o etiquetar diversas partes de un fichero aportando información
adicional sobre su contenido, estructura o presentación.
Lenguaje de programación. Conjunto de normas lingüísticas que permiten a un orde-
nador comprender y ejecutar un programa.
Mainframe. Ordenador de gran potencia utilizado simultáneamente por muchos usua-
rios. Es habitual en entornos de banca y grandes empresas.
Networking. Área de trabajo relacionada con comunicaciones y redes de ordenadores.
Software. Programa informático.
Glosario
Esta aproximación no contemplaba la gestión de la información a medio o largo plazo. Una
organización disponía de varias aplicaciones que, en algunos casos, trataban la misma información
(ejemplo: el software utilizado por el departamento de recursos humanos debía gestionar un fi-
chero con datos de empleados, mientras la aplicación de contabilidad mantenía otro fichero dis-
tinto con los mismos datos organizados de otra forma). Surgían los siguientes problemas:
- Redundancia de datos (duplicidad innecesaria de información).
- Mal aprovechamiento del espacio de almacenamiento.
- Aumento en el tiempo de proceso.
- Inconsistencia de información debida a la redundancia (si un dato cambiaba en el fichero
de una aplicación, no cambiaba en los demás).
- Aislamiento de la información (imposibilidad de transferirla a otros programas a no ser
que se desarrollara un software de migración específico).
Había, en definitiva, una gran falta de flexibilidad originada en la dependencia total de la
estructura física de los datos.
1.2. Ficheros
Las aplicaciones gestoras de bases de datos se encargan de configurar una estructura óptima de
almacenamiento de información con mínima intervención por parte del usuario. No obstante,
es interesante completar la perspectiva histórica con una breve descripción teórica sobre orga-
nización de ficheros.
B ASES DE DATOS. D ISEN ̃ O Y GESTIO ́ N
CAPÍTULO 1
16
Figura 1.1. Unmainframe da servicio a muchos usuarios de forma simultánea
Por cada contacto se ha decidido estructurar la información en cinco datos independien-
tes: NIF, nombre, primer apellido, segundo apellido y número de teléfono. Nótese que en este
caso el programador ha decidido utilizar la almohadilla (#) como separador de datos, el dólar
($) como separador de contactos y el tanto por ciento (%) como marca de fin de fichero.
- De acceso directo o aleatorio. Cada línea de contenido se organiza con unos tamaños fijos
de dato. Se puede acceder directamente al principio de cada línea.
En esta ocasión cada contacto ocupa una línea del fichero (al final de cada una el sistema
operativo incluirá uno o dos caracteres de salto de línea invisibles para el usuario), y cada
dato utiliza un número de caracteres fijo, aunque no lo ocupe totalmente (en el ejemplo se
reservan 15 caracteres para el nombre, aunque en el caso de Ruth solo se utilicen 4).
Como todos los clientes ocupan el mismo espacio en el fichero, podemos acceder fá-
cilmente a cualquiera de ellos multiplicando la posición en la que se encuentra menos una
por el número de caracteres que mide cada línea. Por ejemplo, si el fichero se ha creado en
un sistema Windows y queremos acceder al tercer cliente, tendremos que restar uno a su
posición (3 − 1 = 2) y multiplicar el valor resultante por la longitud de la línea (63 caracteres
más los dos caracteres de salto de línea que incluye el sistema operativo, es decir, 65). Como
2 × 65 = 130, la información del tercer cliente se encontrará en la posición 131.
La contrapartida a esta facilidad de posicionamiento es que el tamaño del fichero
crece considerablemente respecto a su versión secuencial.
- Indexados. Generalmente en un fichero de acceso aleatorio la información se almacena
en el orden en que se da de alta. Incluso aunque se consiguiera introducir dicha infor-
mación de acuerdo a algún criterio de ordenación concreto, en algunas ocasiones es útil
poder ordenarla por varios criterios distintos. En el ejemplo anterior es posible que ne-
cesitemos un listado de clientes ordenado por NIF y otro por apellido. Para dar solución
a este problema se creó la organización indexada, que consiste en la existencia de uno o
varios archivos adjuntos que ordenan el dato (llamado clave) por el que se desea ordenar
el fichero y lo relacionan con la localización de la línea correspondiente.
B ASES DE DATOS. D ISEN ̃ O Y GESTIO ́ N
CAPÍTULO 1
18
Figura 1.3. Fichero de acceso directo con información sobre clientes
00789521TPaula Sanz González 619554687 50687452YJosé Luis García Viñals 667859621 38546998XJavier Peinado Martín 666932541 09653801BRuth Lázaro Cardenal 689330247
Figura 1.4. Fichero de índice por NIF de cliente y fichero de clientes original
00789521T 09653801B 38546998X 50687452Y
00789521TPaula Sanz ... 50687452YJosé Luis García ... 38546998XJavier Peinado ... 09653801BRuth Lázaro ...
En la figura 1.4 los NIF aparecen ordenados. Tras cada uno de ellos se ha añadido el
número de línea del fichero principal donde se encuentra la información asociada. Si
una aplicación software quisiera listar los clientes ordenados por NIF, recorrería secuen-
cialmente el fichero de índice, y al final de cada línea encontraría la línea del fichero
principal que debe leer para encontrar a cada cliente.
El siguiente fichero indexaría los clientes ordenados por su primer apellido:
Aunque se utilice en este caso para simplificar el ejemplo, generalmente el acceso a
cada posición no lo marca el número de línea, sino un puntero a la celda de memoria
correspondiente.
1.2.2. Tipos de soporte de almacenamiento
De acuerdo a la organización física de los datos, diferenciamos entre dos tipos de soportes:
- Secuenciales. Para acceder a un dato hay que recorrer todo el contenido del soporte previo
a dicho dato (ejemplo: cintas magnéticas).
S ISTEMAS DE ALMACENAMIENTO DE LA INFORMACIÓN
C APÍTULO 1
19
Figura 1.
Cinta magnética para guardar
información de respaldo
García 2 Lázaro 4 Peinado 3 Sanz 1
00789521TPaula Sanz ... 50687452YJosé Luis García ... 38546998XJavier Peinado ... 09653801BRuth Lázaro ...
Figura 1.
Fichero de índice por primer apellido de cliente y fichero de clientes original
Crear manualmente un fichero índice que ordene el ejemplo de la figura 1.3 por pri- mer apellido, segundo apellido y nombre.
Actividad propuesta 1.