Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi...

30
Sistemas de bases de datos Paul Beynon-Davies

Transcript of Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi...

Page 1: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

Sistemas de bases de datosPaul Beynon-Davies

Page 2: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de
Page 3: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

Sistemas debases de datos

Paul Beynon-Davies

Barcelona · Bogotá · Buenos Aires · Caracas · México

Page 4: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

Título de la obra original:

Database Systems. Third edition

Edición original en lengua inglesa publicada por

PALGRAVE MACMILLAN Copyright © Paul Beynon-Davies 1996, 2000, 2004

Edición en español:

Versión española coordinada y traducida por:

Dr. Enrique Alegre

Profesor Titular de Universidad Universidad de León

MAQUETACIÓN: REVERTÉ-AGUILAR CORRECCIÓN DE TEXTOS: MARILÓ CABALLER GIL

Propiedad de: EDITORIAL REVERTÉ, S. A. Loreto, 13-15. Local B Tel: (34) 93 419 33 36 08029 Barcelona. España [email protected]

www.reverte.com

Reservados todos los derechos. La reproducción total o parcial de esta obra, por cualquier medio o proce-dimiento, comprendidos la reprografía y el tratamiento informático, y la distribución de ejemplares de ella mediante alquiler o préstamo públicos, queda rigurosamente prohibida sin la autorización escrita de los titulares del copyright, bajo las sanciones establecidas por las leyes.

# 1416

© Editorial Reverté, S. A., 2014

Edición en papel ISBN: 978-84-291-4396-6

Edición e-book (PDF) ISBN: 978-84-291-9441-8

Page 5: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

v

Índice

PREFACIO A LA TERCERA EDICIÓN IX

PARTE · 1 FUNDAMENTOS 1

1 Sistemas de bases de datos como máquinas abstractas 32 Datos e información 213 Bases de datos, SGBD y modelo de datos 334 Sistemas de bases de datos, sistemas TIC

y sistemas de información 535 Sistemas de bases de datos y negocio electrónico 696 Capa de gestión de datos 85

PARTE · 2 MODELOS DE DATOS 97

7 Modelo de datos relacional 1018 Modelo de datos orientado a objetos 1279 Modelo de datos deductivo 13910 Modelo de datos post-relacional 159

PARTE · 3 SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD) – INTERFAZ 171

11 Definición de datos 17312 SQL: integridad de datos 18513 SQL: manipulación de datos 195

Page 6: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

vi SISTEMAS DE BASES DE DATOS

PARTE · 4 DESARROLLO DE BASES DE DATOS 211

14 Proceso de desarrollo de una base de datos 21315 Educción de los requisitos 22716 Diagrama Entidad-Relación 23917 Modelado de objetos 26918 Normalización 29519 Diseño físico de la base de datos 32120 Implementación de la base de datos 339

PARTE · 5 PLANIFICACIÓN Y ADMINISTRACIÓN DE SISTEMAS DE BASES DE DATOS 351

21 Planificación estratégica de datos 35322 Administración de datos 36523 Administración de la base de datos 375

PARTE · 6 SISTEMAS DE GESTIÓN DE BASES DE DATOS (SGBD) – TOOLKIT 389

24 Herramientas de SGBD, toolkit y usuario final 39125 SGBD – Toolkit. Herramientas de desarrollo de aplicaciones 40126 SGBD – Toolkit. Herramientas de administración

de la base de datos 411

PARTE · 7 SISTEMAS DE GESTIÓN DE BASES DE DATOS – KERNEL 419

27 Organización de datos 42128 Mecanismos de acceso 43529 Gestión de transacciones 44330 Otras funciones del kernel 461

PARTE · 8 SISTEMAS DE GESTIÓN DE BASES DE DATOS: ESTÁNDARES Y SISTEMAS COMERCIALES 469

31 SGBD post-relacional: SQL3 47332 SGBD Orientados a objetos: modelo de objetos ODMG 48333 Microsoft Access 49534 ORACLE 50735 SGBD O2 519

Page 7: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

ÍNDICE vii

PARTE · 9 TENDENCIAS EN LA TECNOLOGÍA DE BASES DE DATOS 527

36 Procesamiento distribuido 52937 Datos distribuidos 53938 Bases de datos paralelas 55139 Datos complejos 567

PARTE · 10 APLICACIONES DE SISTEMAS DE BASES DE DATOS 581

40 Almacenes de datos 58341 Procesamiento analítico en línea 59542 Minería de datos 60343 Las bases de datos y la web 611

BIBLIOGRAFÍA 625

GLOSARIO, DICCIONARIO BILINGÜE 631

Page 8: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de
Page 9: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

ix

Quizás el resultado más valioso del proceso educativo sea la habilidad para hacer uno mismo lo que tiene que hacer, cuando tiene que hacerlo, le guste a uno o no.

Tomas H. Huxley (1825-95)

OLAP Mineríade datos

Bases de

datos y

la web

Bases

de

datos

paral

elas

Procesa

miento

distribuido

Desarrollo de sistemas

de bases de datos

Datosdistribuidos

Administraciónde datos

Planificación yadministración

Tendencias

Administraciónde datos

Planificaciónestratégica de datos

KernelSGBD

Toolkit

Sistemas debases de datos

y negocioelectrónico

InterfazFundamentos

Máquinaabstracta

Sistemas debases de datosy sistemas deinformaciónCapa de

gestiónde datos

Base de datos SGBDmodelo de datos

Datos

Implementaciónde la base de datos

DiseñofísicoNormalización

Modeladode objetos

ModeladoE-R

Integraciónde vistas

Deductiva

Post-relacional

Orientadoa objetos Modelos

de datos

Sistemas

Estándares

Aplicaciones

AccessORACLE

ODMG

SQL3

Relacional

Almacenesde datos

O2

Sistemasde basesde datos

Modeladoconceptual

Educción derequisitos

Diseñológico

PREFACIO A LA TERCERA EDICIÓN

Page 10: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

x SISTEMAS DE BASES DE DATOS

MISIÓN

El principal objetivo de este trabajo es facilitar a las personas interesadas en esta materiaun texto que contenga el material que constituye el núcleo esencial de la educación de pos-grado, de la educación superior y de posibles cursos comerciales sobre los sistemas de ba-ses de datos. El presente volumen ha sido diseñado para formar un texto introductorio yconsolidado sobre la moderna tecnología de las bases de datos y el sobre el desarrollo delos sistemas de bases de datos.

No cabe duda de que los sistemas de bases de datos ocupan un lugar preponderante en lamayoría de las soluciones actuales que desarrollan sistemas de información. Es precisamen-te este énfasis en el uso de los sistemas de bases de datos en el trabajo con los sistemas deinformación lo que diferencia el volumen actual de otros textos relacionados con esta mate-ria. Por ello, este trabajo junto a Sistemas de Información: Introducción a la Informática enlas Organizaciones (Beynon-Davies, 2002), versión española por Editorial Reverté, y a e-Bu-siness (Beynon-Davies, 2003), publicado por Palgrave Macmillan, forman una única colec-ción. La versión actual ha sido revisada de forma que refleja el estilo y la organización dellibro Sistemas de Información, que tan buena aceptación ha tenido por parte del público.

Este texto es el fruto de la experiencia del autor en el campo de la consultoría y de suexperiencia impartiendo durante varios años diversos cursos tanto académicos como co-merciales sobre la tecnología y el desarrollo de bases de datos.

CAMBIOS EN LA TERCERA EDICIÓN

En la tercera edición se han realizado dos tipos de cambios: en cuanto a la presentación y encuanto al contenido. En cuanto a la presentación, se ha reorganizado la estructura de los ca-pítulos y se ha cambiado la secuencia de las partes con la intención de mejorar la experienciaeducativa. En cuanto al contenido, esta tercera edición se ha ampliado considerablemente,de manera que ha sido posible explicar con más profundidad los siguientes aspectos:

• La parte sobre fundamentos de los sistemas de bases de datos se ha extendido condiversos capítulos; en concreto, con un capítulo en el que se define el concepto de da-tos y con otro en el que se considera el lugar fundamental de los sistemas de basesde datos dentro de la infraestructura informática para el negocio electrónico.

• Se ha añadido una nueva parte que incrementa el espacio dedicado al sublenguajede bases de datos SQL.

• Se han actualizado los capítulos relacionados con el SGBD (Sistema gestor de basesde datos) ORACLE y el SGBD Microsoft Access.

• Se han incluido nuevos capítulos sobre el proceso de desarrollo de una base de datosy la educción de los requisitos.

• Se ha reorganizado la parte dedicada a las tendencias entorno a cuatro capítulos:procesamiento distribuido, datos distribuidos, paralelismo y datos complejos. Esteúltimo capítulo no incluye los datos semiestructurados y el XML.

• Se ha actualizado el capítulo sobre sistemas de bases de datos y la web.

Page 11: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

PREFACIO A LA TERCERA EDICIÓN xi

Se han actualizado muchos capítulos añadiendo las novedades acaecidas desde el año2000, y se ha cambiado la estructura de diversos capítulos para proporcionar una presen-tación más coherente de los temas principales. Se ha cambiado la secuencia de las partescon el fin de presentar los temas de forma más natural. Se han revisado todos los capítulospara adaptarlos al estilo, que tanto éxito ha tenido, del libro Sistemas de Información, in-cluyendo ejemplos, casos prácticos y diagramas de araña (ver a continuación).

PARTES

El texto se organiza en diversas partes:

• Parte 1: Fundamentos. Los capítulos introductorios establecen la escena del núcleodel texto. Empezamos con una descripción de las características clave de un sistemade bases de datos. Continuamos definiendo algunos conceptos clave e ilustrando laimportancia de la tecnología de bases de datos para los sistemas de información ac-tuales y el negocio electrónico. Cerramos esta parte con un ejemplo de algunas delas principales características de la capa de gestión de un sistema de las tecnologíasde la información y las comunicaciones (TIC).

• Parte 2: Modelos de datos. La parte 2 explora diversas arquitecturas contemporá-neas de los sistemas de bases de datos. Debido a su actual importancia, hacemos unespecial énfasis en el modelo de datos relacional, explicando la cobertura extendidapor los desarrollos en la gestión de datos orientada a objetos. Consideramos ademásotro significativo modelo de datos debido a su relación con las aplicaciones “inteli-gentes”: el modelo de datos deductivo. Cerramos esta parte atendiendo al modelo dedatos híbrido: el relacional-extendido, relacional-objeto orientado o modelo de datospost-relacional; cuya importancia se debe a su popularidad entre los SGBD actuales.

• Parte 3: Interfaz del SGBD. La parte 3 se orienta hacia el problema de la interfazestándar para el SGBD: el lenguaje de consulta estructurado (SQL). Tratamos cómopuede usarse el SQL para declarar los esquemas de la base de datos, para mantenerlos datos de estos esquemas y para implementar la integridad de dichos esquemas.

• Parte 4: Desarrollo de una base de datos. En la parte 4 se tratan los principaleselementos que permiten desarrollar sistemas de bases de datos. Comenzamos conuna descripción del proceso de desarrollo y el kit de herramientas que el desarrolla-dor de la base de datos necesita. Continuamos con una descripción de las caracterís-ticas de la educción de los requisitos. En cuanto al modelado conceptual, explicamosla creación de un diagrama Entidad-Relación y el modelado de objetos. Concluimoscon una revisión de diversos aspectos del diseño físico de las bases de datos y en laimplementación de éstas.

• Parte 5: Planificación y Administración de los sistemas de bases de datos. En esta par-te se discute sobre la planificación y administración de los datos en las organizaciones.En primer lugar abordamos la utilización de modelos de datos corporativos para pla-nificar los sistemas de bases de datos. Seguimos reflexionando sobre la importancia

Page 12: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

xii SISTEMAS DE BASES DE DATOS

de la administración de los datos dentro de las organizaciones. Concluimos con unarevisión de la función de administración de bases de datos.

• Parte 6: SGBD – Toolkit. En esta parte consideramos el toolkit de productos que pue-den usarse conjuntamente con el SGBD. Los conjuntos de herramientas se dividenen herramientas de usuario final, de administración de la base de datos y de desa-rrollo de aplicaciones.

• Parte 7: SGBD – Kernel. En esta parte se consideran algunas de las funciones críti-cas del kernel de un sistema gestor de bases de datos (SGBD) como son la organiza-ción de los datos, los mecanismos de acceso, la gestión de consultas, la gestión detransacciones, la seguridad de la base de datos y la recuperación de la base de datos.

• Parte 8: SGBD – Sistemas comerciales y estándares. La parte 8 trata sobre las arqui-tecturas y las herramientas disponibles en tres SGBD actuales: uno relacional (Mi-crosoft Access), otro post-relacional (ORACLE) y otro más orientado a objetos (O2).Consideramos además desarrollos entre el SQL3 y los estándares ODMG para losSGBD.

• Parte 9: Tendencias en la tecnología de bases de datos. Esta parte considera la infra-estructura que se está desarrollando para las bases de datos. Consta de cuatro capí-tulos que se centran en áreas con un significativo efecto sobre la funcionalidad de lossistemas de bases de datos: la distribución de datos y el procesamiento, el paralelis-mo y la manipulación de datos semiestructurados.

• Parte 10: Aplicaciones de los sistemas de bases de datos. En esta parte se abordancuatro aplicaciones actuales de los sistemas de bases de datos: los almacenes de da-tos (data warehousing), las aplicaciones OLAP, la minería de datos (data mining) ylas bases de datos para la web.

PRESENTACIÓN

La presentación de este libro intenta que resulte útil a la hora de desarrollar alguna acti-vidad de aprendizaje. Cada parte del libro comienza con una sección que resume los ele-mentos claves del dominio de los sistemas de bases de datos que se esté tratando. Cadacapítulo del libro se ha diseñado como una unidad y pretende dar a conocer diversos con-ceptos clave en el área de los sistemas de bases de datos. La estructura de cada capítuloconsta de:

• Un conjunto de resultados del aprendizaje.

• Diversas secciones. Cada sección proporciona una descripción de un concepto clavey un ejemplo del concepto, cuando sea de interés.

• Al final de la mayoría de los capítulos se presenta un caso práctico con el que semuestra un ejemplo del mundo real relacionado con los conceptos tratados.

• Un resumen de los puntos fundamentales.

Page 13: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

PREFACIO A LA TERCERA EDICIÓN xiii

• Un conjunto de actividades para profundizar más. Muchas actividades están dise-ñadas pensando en los lectores que pretenden aplicar un concepto tratado en el ca-pítulo sobre algo relacionado con su propia experiencia o comprensión.

• Un conjunto de referencias.

Cada parte del libro y cada capítulo incluyen un diagrama de araña. Los diagramas de ara-ña fueron desarrollados originalmente por Tony Buzan (1982) como un eficiente métodopara la toma de notas dentro del estudio que explota la natural habilidad humana paraestablecer asociaciones. La idea de un diagrama de araña es simplemente relacionar con-ceptos conjuntamente usando líneas con forma libre. El centro del diagrama se utiliza paralocalizar el concepto al que se orientan. Por lo tanto, el diagrama de araña al principio deeste prefacio muestra la estructura del libro. Los conceptos asociados se han dibujado ra-diando hacia el exterior. Cualquier concepto en un diagrama de araña puede actuar comoun concepto que constituye el centro de su propio diagrama de araña. De esta forma, losdiagramas de araña permiten observar la mayoría de la estructura del libro de forma de-tallada.

Los diagramas de araña se utilizan principalmente como un método que resume la or-ganización de la información contenida en este trabajo. Sin embargo, esperamos que el es-tudiante lo encuentre también útil como una ayuda a la revisión, y el lector o profesor loencuentre útil como una forma de resumir los elementos fundamentales del dominio.

SITIO WEB Y REALIMENTACIÓN

Se ha creado un sitio web (en inglés) en el que se incluye un paquete de enseñanza paralectores/profesores que puede encontrarse en:

www.palgrave.com/resources

Al autor le encantaría recibir observaciones sobre este texto. Cualquier comentario o su-gerencia debería enviarse al autor ([email protected]).

RUTAS SUGERIDAS A TRAVÉS DEL MATERIAL

A continuación indicamos alguna de las formas en las que se puede utilizar el material encursos o módulos de enseñanza. Pretenden ser simples sugerencias.

MÓDULO INTRODUCTORIO EN SISTEMAS DE BASES DE DATOS

Un módulo introductorio en sistemas de bases de datos debería proporcionar una compren-sión básica de los conceptos de bases de datos y el conocimiento de los temas relacionadoscon el desarrollo de una base de datos. Con esta intención se sugieren los siguientes capí-tulos: cuatro capítulos sobre fundamentos; el modelo de datos relacional; SQL; acceso; nor-malización; diagrama E-R.

Page 14: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

xiv SISTEMAS DE BASES DE DATOS

MÓDULO INTERMEDIO EN SISTEMAS DE BASES DE DATOS

Un módulo intermedio debería impartir una comprensión de la arquitectura de un SGBDy los aspectos relacionados con el diseño físico y la administración de una base de datos.Con esta intención se sugieren los siguientes capítulos: capítulos del kernel; capítulos deltoolkit; ORACLE; administración de la base de datos; diseño físico; implementación de labase de datos.

MÓDULO AVANZADO EN SISTEMAS DE BASES DE DATOS

Los módulos avanzados en diseño de bases de datos deberían proporcionar la concienciasobre soluciones alternativas para manipular los datos y desarrollar sistemas de bases dedatos más allá de los proporcionados por el modelo de datos relacional y las bases de datosrelacionales. Con esta intención se sugieren los siguientes capítulos: modelo de datos OO;modelo de datos deductivo; modelo de datos post-relacional; SGBDOO; modelado de obje-tos; planificación estratégica de datos; administración de datos; tendencias.

AGRADECIMIENTOS

Quiero dar las gracias a Rebecca Mashayekh de Palgrave Macmillan por el ánimo y el apo-yo que me ha dado durante la producción de este libro. También quiero dar las gracias adiversos revisores anónimos por sus útiles sugerencias.

AVISO DE MARCAS REGISTRADAS

Access™ y SQL Server™ son marcas registradas de MicrosoftO2 ™ es una marca registrada de O2 TechnologyORACLE™ es una marca registrada de Oracle Corporation

REFERENCIAS

BEYNON-DAVIES, P. (2002). Sistemas de información: Introducción a la Informática en lasOrganizaciones (Barcelona, Editorial Reverté).

BEYNON-DAVIES, P. (2003). e-Business. Basingstoke, Palgrave Macmillan.

Page 15: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

1

Aprende los fundamentos del juego y pégale fuerte. Los remedios temporales nunca duran.Jack Nicklaus (1940- )

PARTE

Máquina abstracta Datos e

información Base de datos,SGBD y

Modelo de datos

Sistemas de base de datos y

negocio electrónico

Capa de gestión de datos

Fundamentos

FUNDAMENTOS

Page 16: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

2 SISTEMAS DE BASES DE DATOS

Esta parte introduce la información fundamental sobre sistemas de bases de datos y lossitúa en el contexto de las aplicaciones de los sistemas de información. Empezamos conuna descripción de las características clave de un sistema de bases de datos, considerán-dolo como una máquina abstracta (capítulo 1). Después pasamos a definir el concepto dedato utilizando las ideas procedentes de la semiótica (capítulo 2). El capítulo 3 realiza unadescripción crítica entre una base de datos, un sistema gestor de bases de datos y un mo-delo de datos. El capítulo 4 muestra la importancia de la tecnología de bases de datos paralos sistemas de información actuales y para los sistemas TIC. Esto introduce la escena quenos permite considerar el papel de los sistemas de bases de datos dentro del fenómeno mo-derno del negocio electrónico (capítulo 5). Finalizamos esta parte examinando la capa degestión de datos de un sistema TIC (capítulo 6).

Page 17: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

3

Muy a menudo, las máquinas me sorprenden.Alan Turing (1912-54)

Capítulo

RESULTADOS DEL APRENDIZAJE

Al final de este capítulo, el lector será capaz de:• Definir la idea de un universo del discurso.• Distinguir entre la connotación y la denotación de una base de datos.• Definir los conceptos de integridad de datos y de restricciones de integridad.• Tratar los conceptos de transacciones, estados y funciones de actualización.• Tener una idea de qué es un modelo de datos.• Introducir la naturaleza distribuida y multiusuario de un sistema de bases de datos

moderno.

Universo del discurso

Acceso multiusuario

Distribución

Formalismos

Acualización Consulta

Funciones Restricciones

Integridad

Estado Transacciones

Base de datos

Connotación Denotación

Bases de hechos

Sistemas de basesde datos como

máquinas abstractas

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS

Page 18: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

4 SISTEMAS DE BASES DE DATOS

·1 INTRODUCCIÓN

En este capítulo presentamos de manera informal la idea de que una base de datos es unamáquina abstracta. Una máquina abstracta es un modelo que contiene las característicasfundamentales de algún sistema sin ningún detalle de implementación. El objetivo de estecapítulo es describir los componentes principales de un sistema de bases de datos sin intro-ducir ninguna notación formal, ni ningún concepto de representación, desarrollo o imple-mentación. Todos los conceptos presentados en este capítulo se desarrollarán con másdetalle en capítulos posteriores.

La mayoría de las organizaciones modernas necesitan almacenar datos importantespara su actividad cotidiana. Algunas de estas organizaciones de hoy en día eligen organi-zar y almacenar parte de sus datos en una base de datos electrónica.

JEMPLO

Tomemos como ejemplo una universidad. La mayoría de las universidades necesitan alma-cenar datos que las ayuden en las actividades de enseñanza y aprendizaje. La mayoría delas universidades necesitan guardar, entre otras cosas:

• Qué alumnos y profesores tienen.

• Qué cursos y módulos se están impartiendo.

• Los profesores que están impartiendo cada módulo.

• Los alumnos que están cursando cada módulo.

• Qué profesores pueden calificar en cada módulo.

• Qué alumnos han sido calificados en cada módulo.

Una universidad tendrá varios miembros de su personal administrativo introduciendo datosde este tipo en un sistema de bases de datos. Por ejemplo, los datos relacionados con cursosy módulos pueden ser introducidos por los responsables de los departamentos académicos,los responsables de los cursos pueden introducir datos relacionados con los profesores, y losdatos relacionados con los alumnos, principalmente sus matrículas en cursos y módulos,pueden ser introducidos por el personal administrativo en un registro central.

Una vez que se han introducido los datos en la base de datos se utilizarán de diversas ma-neras. Por ejemplo, una lista completa y precisa de alumnos matriculados se usará para ge-nerar listas de alumnos para el centro de recursos de aprendizaje, o se empleará parareclamar fondos para los alumnos a las autoridades educativas o como la entrada a un sis-tema de horarios que intente optimizar la utilización del espacio en todo el campus univer-sitario.

En este capítulo explicaremos los elementos fundamentales de un sistema de bases de da-tos usando el ejemplo anterior de una base de datos académica para ilustrar los conceptos.

1

E

Page 19: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 5

·2 UNIVERSO DEL DISCURSO

Una base de datos es un modelo de algún aspecto de la realidad de una organización (Kent,1978). Habitualmente, a esta realidad se le llama un universo del discurso (UdD); en otrasocasiones, un dominio del discurso. Un UdD estará compuesto de clases y relaciones entrelas clases. Las clases en un UdD se definirán en términos de sus propiedades o atributos.

JEMPLO

Considere un establecimiento académico como, por ejemplo, una universidad. El UdD eneste caso podría comprender, entre otras cosas, módulos ofrecidos a alumnos y alumnos cur-sando módulos.Los módulos y los alumnos son ejemplos de cosas que nos interesan en una universidad. Lla-mamos a estas cosas de interés clases o entidades. Estamos interesados de forma especialen el hecho de que los alumnos cursen alguno de los módulos ofrecidos. Este aspecto del UdDpodría verse como una relación entre clases.Una clase o una entidad, del tipo de un módulo o un alumno, se define normalmente de estamanera porque deseamos registrar alguna información sobre lo que ocurre con dicha clase.En otras palabras, las clases tienen propiedades o atributos. Por ejemplo, los alumnos tienennombres, direcciones y números de teléfono; los módulos tienen títulos y créditos.

Una base de datos, esté en la forma en la que esté, ya sea electrónica u otra, se ha de dise-ñar. Se diseña una base de datos representando las clases, los atributos y las relacionesque en ella aparecen. Este proceso se muestra la figura 1.1.

Figura 1·1 Diseño de una base de datos.

1

E

Diseño de la base de datos

Diseño de la base de datos

Universo del

discurso

Dominiode la

enseñanza

Esquema de la base de datos

Base de datos de enseñanza

Page 20: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

6 SISTEMAS DE BASES DE DATOS

1·2·1 BASES DE HECHOS

Una base de datos se considera como una colección organizada de datos cuyo significadorepresenta algún UdD. Los datos son hechos. Un dato, una unidad de datos, es un símboloo una colección de símbolos que se usa para representar algo. Los hechos por sí mismos notienen significado. Para que resulten útiles deben ser interpretados. La información es unconjunto de datos interpretados y situados dentro de un contexto con significado. Además,la información será un conjunto de datos con un significado o una semántica asignada.

JEMPLO

Considere la cadena de símbolos 43. Si se toman estos símbolos como un conjunto formanun dato. Sin embargo, aunque los tomemos conjuntamente no tienen significado. Para con-vertirlos en información tenemos que proporcionar un contexto con significado. Tenemosque interpretarlos. Esta interpretación podría ser el número de matrícula de un alumno,su edad o el número de alumnos que están cursando un módulo. Este tipo de informacióncontribuye a aumentar el conocimiento del dominio particular; en este caso, la administra-ción de una universidad. Por ejemplo, podría incrementar nuestra comprensión del númerototal de alumnos que están cursando módulos en un determinado departamento o escuelauniversitaria.

Una base de datos se puede considerar como una colección de hechos o aserciones positivassobre un UdD, del tipo el diseño de bases de datos relacionales es un módulo y John Daviescursa diseño de bases de datos relacionales. Habitualmente, los hechos negativos del tipoqué módulos no están siendo cursados por ningún alumno no son almacenados. Por lo tan-to, las bases de datos constituyen mundos cerrados donde sólo lo que se representa de for-ma explícita se considera cierto.

Se dice que una base de datos se encuentra en un estado determinado en un momentodado. Un estado denota la colección completa de hechos que son ciertos en un instante con-creto de tiempo. Por lo tanto, es posible considerar a un sistema de bases de datos comouna base de hechos que cambian a lo largo del tiempo.

1·2·2 PERSISTENCIA

Se considera que los datos en una base de datos son persistentes. Con persistentes que-remos decir que los datos se mantienen durante cierto tiempo, aunque quizá su duraciónno sea muy larga. El término persistencia se usa para distinguir entre datos más perma-nentes y datos cuya naturaleza es más transitoria. Por lo tanto, los datos de un producto,una cuenta, de alumnos y de pacientes pueden verse como ejemplos de datos persistentes.En contraste, los datos para acceder a un ordenador personal mantenidos para utilizar

E

Page 21: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 7

un programa o para imprimir un informe, pueden considerarse como no persistentes, yaque una vez usados no se necesitarán más.

JEMPLO

En la figura 1.2 un programa utilizado para administrar datos de los alumnos almacenarátípicamente los datos en forma de variables. Los datos que se encuentran en este tipo de con-tenedores normalmente se perderán cuando se cierre el programa. Por lo tanto, éste es unejemplo de datos no persistentes. En contraste considere un programa que lee y escribe da-tos a un archivo de datos externo y desde éste. Los datos en este tipo de archivos persistenaunque el programa no se esté ejecutando.

1·2·3 PARTES CONNOTACIONAL Y DENOTACIONAL

Una base de datos tiene dos partes: una parte connotacional y otra denotacional. La con-notación de una base de datos es un conjunto de definiciones que describen la estructurau organización de una base de datos dada. La denotación de una base de datos es el con-junto total de datos que hay en dicha base de datos. A la parte connotacional de una basede datos también se le suele llamar esquema. A la actividad mediante la que se desarrollaun esquema para un sistema de bases de datos se le llama diseño de bases de datos. En lafigura 1.3 se ilustra este proceso.

Figura 1·2 Persistencia.

E

Datos nopersistentesAlumno

Programa

AlumnoPrograma

Datos del alumno

Page 22: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

8 SISTEMAS DE BASES DE DATOS

JEMPLO

Anteriormente definíamos, de manera informal, el esquema de la base de datos de una uni-versidad:

Esquema: Universidad

Clases:

Módulos-cursos que imparte la institución en un semestre académico

Alumnos-personas que cursan los módulos en la institución

Relaciones:

Los alumnos cursan módulos

Atributos:

Los módulos tienen nombres

Los alumnos tienen nombres

En el esquema hemos identificado clases de cosas como los módulos, las relaciones entre lasclases, como son los alumnos cursan módulos, y propiedades de las clases, como son los mó-dulos tienen nombres. El proceso para desarrollar estas definiciones que forman los elemen-tos fundamentales del esquema de una base de datos se trata detalladamente en loscapítulos 16 y 17.Una breve denotación para la base de casos académica podría ser:

Figura 1·3 Connotación y denotación.

Diseño de la base de datos

Esquema: Universidad Clases:

Módulos Alumnos

Relaciones:

Los alumnos cursan módulos Atributos:

Los módulos tienen nombres Los alumnos tienen nombres

Denotación: Universidad Módulos:

Sistemas de bases de datos relacionales Diseño de bases de datos relacionales

Alumnos:

John Davies Peter Jones Susan Smith

Cursan:

John Davies cursa Sistemas de bases de datos relacionales

Dominiode la

enseñanza

E

Page 23: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 9

Denotación: Universidad

Módulos:Sistemas de bases de datos relacionalesDiseño de bases de datos relacionales

Alumnos:John Davies nació el 1 de julio de 1985Peter Jones nació el 1 de enero de 1985Susan Smith nació el 1 de abril de 1986

Cursos:John Davies cursa Sistemas de bases de datos relacionales

Hemos proporcionado instancias (ejemplos) específicas de clases, como los Sistemas de basesde datos relacionales; de relaciones, como John Davies cursa Sistemas de bases de datos rela-cionales, y de atributos, como John Davies nació en 1 de julio de 1985. De hecho, de forma im-plícita, también hemos definido algunas instancias de atributos para la clase Módulos. Hemosproporcionado una lista de dos identificadores, llamémosles así, para las instancias de la claseMódulos; en este caso, Sistemas de bases de datos relacionales y Diseño de bases de datos re-lacionales. Los identificadores son atributos especiales que sirven para identificar de formaúnica las instancias de las clases.

·3 INTEGRIDAD

Cuando decimos que una base de datos presenta integridad queremos decir que es un re-flejo preciso de su universo del discurso. Asegurar la integridad es una de las principalescaracterísticas de los sistemas de información modernos. Diseñar para mantener la inte-gridad es un proceso importante del desarrollo de bases de datos que muchas veces se rea-liza de forma negligente.

JEMPLO

En el caso de nuestra base de datos académica, la integridad significa asegurarse de quenuestra base de datos proporciona respuestas precisas a cuestiones como: cuántos alumnosestán matriculados actualmente en el módulo de Sistemas de bases de datos relacionales.

La integridad es un aspecto importante porque la mayoría de las bases de datos han sidodiseñadas y cambian a medida que se usan. En otras palabras, los datos en una base dedatos cambiarán en un periodo de tiempo dado. Si una base de datos no cambia, por ejem-plo cuando sólo se usa para obtener información de ella, la integridad deja de ser un pro-blema importante.

Es útil pensar que los cambios que se producen en una base de datos ocurren de formadiscreta en lugar de pensar que ocurren en un tiempo continuo. En ese sentido, podemospensar en una base de datos como en un sujeto de un número de cambios de estado causados

1

E

Page 24: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

10 SISTEMAS DE BASES DE DATOS

por eventos externos e internos. Independientemente del conjunto de posibles futuros esta-dos que pueda alcanzar una base de datos, algunos de ellos son válidos y otros son inválidos.Cada estado válido forma la denotación de la base de datos en ese momento de tiempo. Laintegridad es un proceso mediante el que se asegura que una base de datos viaja a travésde un espacio definido por un conjunto de estados válidos.

JEMPLO

Por lo tanto, la denotación de la base de datos en la sección 1.2.3 representa un estado. Laintegridad supone determinar si la transición a un estado próximo es una transición válida.Esto es, la integridad supone responder a cuestiones del tipo: ¿se puede añadir otro hecho anuestra base de datos que relacione John Davies con Diseño de bases de datos relacionales?

Denotación: Universidad

Módulos:

Sistemas de bases de datos relacionales

Diseño de bases de datos relacionales

Alumnos:

John Davies

Peter Jones

Susan Smith

Cursos:

John Davies cursa Sistemas de bases de datos relacionales

John Davies cursa Diseño de bases de datos relacionales

En este caso probablemente sea una transición válida porque esta relación no existía en elestado anterior de la base de datos

1·3·1 REDUNDANCIA

Considere otra transición. Deseamos añadir la aserción John Davies cursa Sistemas de ba-ses de datos relacionales a nuestra denotación. Ésta no es una transición válida. Como ve-remos, las bases de datos se diseñan para minimizar la redundancia en elalmacenamiento. En una base de datos intentamos almacenar sólo un ejemplar de datosde los objetos o las relaciones entre los objetos que existen en nuestro universo del discur-so. Idealmente, una base de datos debería ser un repositorio1 sin hechos redundantes. Estáclaro que, si añadimos esta aserción a nuestra denotación, duplicaremos la relación entreJohn Davies y Sistemas de bases de datos relacionales.

1. Nota del traductor: Del latín, repositorium, que significa armario o alacena. Es un lugar donde se guarda algo.

E

Page 25: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 11

1·3·2 TRANSACCIONES

A los eventos que causan un cambio de estado se les llama transacción en términos de ba-ses de datos. Una transacción cambia una base de datos de un estado a otro. Se alcanza unnuevo estado validando los hechos que se han convertido en ciertos y/o negando los hechosque han dejado de ser verdad. Por lo tanto, en nuestro ejemplo podríamos querer matricu-lar a Peter Jones en el módulo de Diseño de bases de datos relacionales. Esto es un ejemplode una transacción.

Las transacciones que tienen una forma similar se llaman tipos de transacciones.

JEMPLO

Un tipo de transacción que podría ser relevante para el sistema de bases de datos de la uni-versidad podría ser:

Matricular alumnos en módulos

1·3·3 RESTRICCIONES DE INTEGRIDAD

La integridad de una base de datos se asegura mediante restricciones de integridad. Unarestricción de integridad es una regla que establece cómo una base de datos ha de mante-nerse como un reflejo preciso de su universo del discurso.

Las restricciones se dividen en dos tipos principales: restricciones estáticas y restriccio-nes de transacción (ver figura 1.4). Una restricción estática, a veces conocida como un “es-tado invariante”, se usa para comprobar que una transacción que se está produciendo nocambiará la base de datos a un estado inválido. Una restricción estática es una restriccióndefinida sobre estados.

JEMPLO

Un ejemplo de una restricción estática relevante en nuestro UdD podría ser: los alumnos só-lo pueden matricularse en módulos ofertados actualmente. Esta restricción estática evitaríaque introdujéramos el siguiente hecho en nuestra base de datos actual.

John Davies está matriculado en Sistemas de bases de datos deductivos

Ya que Sistemas de bases de datos deductivos es un módulo que no se oferta actualmente.

Por el contrario, una restricción de transacción es una regla que relaciona estados dadosde una base de datos. Una transacción es una transformación de un estado y por lo tantopuede denotarse por un par de estados. Una restricción de transacción es una restriccióndefinida sobre una transacción.

E

E

Page 26: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

12 SISTEMAS DE BASES DE DATOS

JEMPLO

Un ejemplo de una restricción de transacción podría ser: el número de módulos cursadospor un alumno durante un semestre nunca pueden reducirse hasta ser cero. Por lo tanto, sideseamos eliminar un hecho relacionando a John Davies con el módulo particular de nues-tra base de datos, primeramente deberíamos comprobar que esto no produzca una transi-ción inválida.

·4 FUNCIONES DE BASE DE DATOS

La mayoría de los datos mantenidos en una base de datos están allí para satisfacer algunanecesidad de la organización. Para realizar actividades útiles con una base de datos nece-sitamos dos tipos de funciones: de consulta y de actualización. Las funciones de actualiza-ción provocan cambios en los datos, mientras que las de consulta sirven para extraer datos.

1·4·1 FUNCIONES DE ACTUALIZACIÓN

Las transacciones pueden iniciar funciones de actualización. Las funciones de actualiza-ción cambian una base de datos pasándolas de un estado a otro.

Figura 1·4 Estados, transacciones y restricciones.

Denotación: Universidad Módulos: Sistemas de bases de datos relacionales Diseño de bases de datos relacionales Alumnos: John Davies Peter Jones Susan Smith Cursan: John Davies cursa Sistemas de bases de datos relacionales

Denotación: Universidad

Módulos:Sistemas de bases de datos relacionalesDiseño de bases de datos relacionalesAlumnos:John DaviesPeter JonesSusan SmithCursan:John Davies cursa Sistemas de bases de datos relacionalesJohn Davies cursa Diseño de bases de datos relacionales

Los alumnossólo puedencursar losmódulosofertados

actualmente

Matricular a John Daviesen Diseño de basesde datos relacionales

Estado Estado

E

1

Page 27: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 13

JEMPLO

Funciones de actualización importantes para la base de datos de la universidad podrían ser:

Funciones de actualización:Iniciar el semestre

Ofertar un módulo

Cancelar un módulo

Matricular a un alumno en un curso

Matricular a un alumno en un módulo

Transferir alumnos entre módulos

Daremos más detalles de la función de actualización transferir un alumno entre módulos enla próxima sección.

1·4·2 FUNCIONES Y RESTRICCIONES

Las ideas de función de actualización y de restricción de integridad están interrelaciona-das. Una función de actualización usualmente tendrá una serie de condiciones asociadasa ella. Estas condiciones representan restricciones de integridad. También habrá un con-junto de acciones asociadas a la función de actualización. Éstas especificarán qué deberápasar si las condiciones son ciertas.

JEMPLO

Podríamos especificar alguna de las anteriores funciones de actualización como sigue:

Función de actualización: transferir el alumno X del módulo 1 al módulos 2

Condiciones:El alumno X cursa el módulo 1

El alumno X no cursa el módulo 2

Se oferta el módulo 2

Acciones:Negar que el alumno X cursa el módulo 1

Confirmar que el alumno X cursa el mundo 2

En este caso X, módulo 1 y módulo 2 son contenedores de valores. Por lo tanto podríamosiniciar una transacción usando esta función de actualización asignando el valor John Daviesa X; Sistemas de bases de datos relacionales, al módulo 1, y Diseño de bases de datos rela-cionales, al módulo 2. En este caso, por supuesto, la transacción fallará porque la segundacondición de la función de actualización es falsa. Esto se debe a que el alumno (John Davies)cursa (Diseño de Bases de Datos Relacionales) actualmente.

E

E

Page 28: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

14 SISTEMAS DE BASES DE DATOS

La acción de una determinada función de actualización hará que las condiciones de otrafunción de actualización se conviertan en verdaderas. En este caso, puede decirse que laanterior función de actualización “dispara” un cambio de estado. De esta manera, una ca-dena completa de transacciones internas se propaga a partir del una transacción externa.

JEMPLO

Suponga que especificamos una función de actualización de cancelación del módulo de la si-guiente manera:

Función de actualización: cancela módulo 1

Condiciones:El módulo 1 existe

La matrícula del módulo 1 es menor que 10

Acciones:Negar que el módulo 1 existe

Suponga además que una transacción generada por la función de transferencia de alumnosreduce la matrícula del módulo 1 a 9 alumnos. En ese caso se cumplen las dos condiciones dela función de cancelación del módulo y se iniciará una transacción que eliminará el hechode que el módulo exista.

1·4·3 FUNCIONES DE CONSULTA

La otra gran clase de funciones usadas contra una base de datos son las funciones de con-sulta. Éstas no modifican la base de datos en forma alguna, sino que principalmente seusan para comprobar si un hecho o un grupo de hechos se mantienen en un estado deter-minado de una base de datos. Como veremos, las funciones de consulta también se usanpara obtener datos nuevos a partir de hechos establecidos.

JEMPLO

Funciones de consulta relevantes para el actual UdD podrían ser:¿Se está ofertando el curso X?

¿El alumno X está cursando el curso Y?

La forma más simple de una función de consulta está asociada de forma inherente con unhecho dado. Usamos este tipo de función para comprobar si un hecho dado existe o no ennuestra base de datos.

E

E

Page 29: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

SISTEMAS DE BASES DE DATOS COMO MÁQUINAS ABSTRACTAS 15

JEMPLO

La consulta:

¿John Davies cursa Diseño de bases de datos relacionales?

Deberá devolver cierto o sí. Mientras que la consulta:

¿Peter Jones cursa Sistemas de bases de datos relacionales?

Deberá devolver falso o no.

Sin embargo, las consultas más útiles devuelven un rango o un conjunto de valores, en lu-gar de devolver únicamente verdadero o falso.

JEMPLO

Los administradores de una universidad buscan obtener respuesta a las siguientes cues-tiones:

¿Qué alumnos cursan Diseño de Bases de Datos Relacionales?¿Qué módulos se están ofertando actualmente?

En este sentido, las palabras alumnos y módulos serán contenedores de los valores recupe-rados de la base de datos.

·5 FORMALISMOS

Todo sistema de bases de datos debe usar un formalismo de representación. Patrick HenryWinston definió que un formalismo de representación es un conjunto de convenciones se-mánticas y sintácticas que permiten describir cosas (Winston, 1984). La sintaxis de unarepresentación especifica un conjunto de reglas para combinar símbolos y también especi-fica cómo organizar los símbolos para formar estamentos en el formalismo de representa-ción. La semántica de una representación especifica cómo interpretar dichos estamentos;esto es, cómo se puede inferir significado a partir de ellos.

En términos de una base de datos, la idea de un formalismo de representación corres-ponde con el concepto de un modelo de datos. Un modelo de datos proporciona a los desa-rrolladores de la bases de datos un conjunto de principios que les permite construir unsistema de bases de datos.

La parte 2 está dedicada a diversos modelos de datos. Se revisan varios modelos porquecada formalismo, o cada modelo de datos, tiene sus fortalezas y debilidades. Por lo tanto,el modelos de datos relacional ofrece una forma muy flexible de representar hechos, perono ofrece una forma apropiada de representar los detalles complicados de las funciones deactualización. Por el contrario, las bases de datos orientadas a objetos ofrecen una notaciónmuy potente para representar las funciones de actualización en un sistema de bases de da-tos, pero tienen el inconveniente de que en la actualidad las distintas implementacionesno presentan uniformidad.

E

E

1

Page 30: Sistemas de bases de datos › download › 0013 › 9715 › 22 › L... · 2020-04-21 · vi SISTEMAS DE BASES DE DATOS PARTE · 4 DESARROLLO DE BASES DE DATOS 211 14 Proceso de

16 SISTEMAS DE BASES DE DATOS

·6 ACCESO MULTIUSUARIO

Una base de datos puede ser usada únicamente por una persona o una aplicación. Sin em-bargo, lo habitual es que, en una organización, un gran número de usuarios utilice muchasbases de datos. Compartir los datos comunes es una característica fundamental de muchossistemas de bases de datos. En esas situaciones hablamos de un sistema de bases de datosmultiusuario.

Por definición, en un sistema de bases de datos multiusuario debe existir alguna formade manejar las situaciones donde un número de personas o aplicaciones quieran acceder alos mismos datos en el mismo instante de tiempo. A este hecho se le denomina concurrencia.

JEMPLO

Considere una situación donde un usuario está matriculando al alumno John Davies en elmódulo de Sistemas de bases de datos relacionales. Al mismo tiempo, otro usuario está eli-minando el módulo de Sistemas de bases de datos relacionales de la oferta actual. Eviden-temente, en el tiempo que emplea el primer usuario en introducir una nueva matrícula, elsegundo usuario podría haber cancelado el módulo. La base de datos se quedaría en un es-tado inconsistente.

Por lo tanto, en todo sistema de bases de datos se ha de proporcionar un método para re-solver estos conflictos de concurrencia. En el capítulo 29 se tratará este tema.

1·6·1 VISTAS

Uno de los motivos por los que los datos en una base de datos se comparten es porque unabase de datos puede ser usada para diferentes propósitos dentro de una organización. Porejemplo, la base de datos académica descrita en este capítulo podría usarse para variospropósitos en una universidad, como pueden ser almacenar el año académico en el que seencuentra cada alumno o los horarios de clases. Cada grupo de usuarios diferentes necesi-ta acceder a un subconjunto particular de la base de datos debido a los datos que necesitepara realizar su trabajo. Los administradores de los departamentos académicos estaráninteresados en aspectos como los nombres de los alumnos y los cursos académicos, mien-tras que el encargado de los horarios estará interesado en las aulas y las horas. Este sub-conjunto de los datos se conoce como una vista.

En la práctica, una vista es meramente una función de consulta que está preparadapara que la use un grupo de usuarios o un programa en particular. Proporciona una ven-tana particular dentro de una base de datos, y se tratará en detalle en el capítulo 23.

1

E