Introduccin al
diseo de bases
de datos
Jordi Casas Roma
PID_00195153
CC-BY-NC-ND PID_00195153 Introduccin al diseo de bases de datos
Los textos e imgenes publicados en esta obra estn sujetos excepto que se indique lo contrario a una licencia de
Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 Espaa de Creative Commons. Podis copiarlos, distribuirlos
y transmitirlos pblicamente siempre que citis el autor y la fuente (FUOC. Fundacin para la Universitat Oberta de Catalunya),
no hagis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en [Link]
licenses/by-nc-nd/3.0/es/[Link]
CC-BY-NC-ND PID_00195153 Introduccin al diseo de bases de datos
ndice
Introduccin............................................................................................... 5
Objetivos....................................................................................................... 6
1. Proceso de diseo de una base de datos....................................... 7
2. Fases del diseo de una base de datos.......................................... 10
2.1. Fase 1. Recogida y anlisis de requisitos ..................................... 10
2.1.1. Recogida de requisitos ................................................... 10
2.1.2. Estructuracin y refinamiento de los requisitos ............ 11
2.1.3. Formalizacin de los requisitos ..................................... 11
2.2. Fase 2. Diseo conceptual .......................................................... 12
2.2.1. El modelo ER ................................................................. 12
2.2.2. El lenguaje unificado de modelizacin ......................... 13
2.3. Fase 3. Diseo lgico .................................................................. 13
2.3.1. Reconsideraciones del modelo conceptual .................... 14
2.3.2. Transformacin del modelo conceptual en el
modelo lgico ................................................................ 14
2.3.3. Normalizacin ................................................................ 14
2.4. Fase 4. Diseo fsico .................................................................... 15
2.4.1. El nivel fsico y el nivel virtual ..................................... 15
2.4.2. Transformacin del modelo lgico en el modelo
fsico ............................................................................... 16
2.5. Fase 5. Implementacin y optimizacin ..................................... 16
2.5.1. Procesamiento y optimizacin de consultas ................. 17
2.5.2. Procesamiento de vistas ................................................. 18
2.5.3. Administracin de la seguridad ..................................... 19
Resumen....................................................................................................... 20
Glosario........................................................................................................ 21
Bibliografa................................................................................................. 22
CC-BY-NC-ND PID_00195153 5 Introduccin al diseo de bases de datos
Introduccin
El diseo de bases de datos es un proceso complejo que permite obtener una
implementacin de una base de datos a partir de los requisitos iniciales de los
usuarios del sistema de informacin. Este proceso gua al diseador de bases
de datos por varias etapas con el objetivo de segmentar un problema de una
complejidad considerable en diferentes subproblemas de menor complejidad.
Cada uno de los subproblemas identificados corresponde a una de las etapas
del proceso de diseo de bases de datos. En estos materiales didcticos se des-
cribe el proceso global de diseo de bases de datos y las diferentes etapas que lo
forman. Este mdulo es solo un texto introductorio al diseo de bases de datos
y ser necesario profundizar en el estudio de cada una de sus etapas mediante
los distintos mdulos de la asignatura que corresponden a las diferentes etapas
del proceso. As pues, en este mdulo se presenta una visin general de todo
el proceso de diseo de bases de datos.
CC-BY-NC-ND PID_00195153 6 Introduccin al diseo de bases de datos
Objetivos
En estos materiales encontraris las herramientas indispensables para lograr
los objetivos siguientes:
1. Entender en qu consiste el diseo de bases de datos y cules son sus ob-
jetivos.
2. Conocer las distintas etapas que integran el proceso de diseo de una base
de datos.
CC-BY-NC-ND PID_00195153 7 Introduccin al diseo de bases de datos
1. Proceso de diseo de una base de datos
El proceso de diseo de bases de datos consiste en definir la estructura lgica
y fsica de una o ms bases de datos para responder a las necesidades de los
usuarios con respecto a la informacin y para un conjunto concreto de apli-
caciones.
Mediante un proceso de diseo de bases de datos, se pueden decidir las tablas
y relaciones que debe tener una base de datos determinada, los atributos de
las diferentes tablas, las claves primarias y las claves forneas que se deben
declarar en cada tabla, etc. Todas estas tareas forman parte del proceso de di-
seo de bases de datos. Para poder tomar estas decisiones de la manera ms
correcta posible, hay que tener en cuenta las necesidades de informacin de
los usuarios en relacin con un conjunto concreto de aplicaciones.
Por lo tanto, el diseo de una base de datos es el proceso en el que se
define la estructura de los datos que debe tener la base de datos de un
sistema de informacin determinado.
Los requisitos que debe cumplir un sistema de informacin y la complejidad Dividir para vencer
de la informacin que se presenta en l provocan que el diseo de una base
La estrategia de divide y ven-
de datos sea un proceso complicado. Para simplificar este proceso, es muy cers propone resolver un
recomendable utilizar la estrategia de divide y vencers (divide and conquer). problema complejo median-
te la subdivisin en un conjun-
to de problemas ms sencillos
donde la resolucin de los di-
Si aplicamos este concepto, obtenemos las diferentes etapas del diseo de bases ferentes subproblemas implica
solucionar el problema inicial.
de datos. Estas etapas son secuenciales y el resultado de cada una sirve de
punto de partida de la etapa siguiente. El resultado de la ltima etapa ser el
diseo final de nuestra base de datos. De este modo, un proceso de una cierta
complejidad se descompone en diferentes procesos de menor complejidad. La
figura 1 muestra las distintas etapas del diseo de bases de datos.
En primer lugar, tenemos la recogidayanlisisderequisitos. Esta etapa debe
permitir obtener los requisitos y las restricciones de los datos del problema.
Para obtener esta informacin ser necesario mantener conversaciones con
los diferentes usuarios de la futura base de datos y de las aplicaciones que
estn relacionadas con sta. Slo si se cruzan los requisitos de los diferentes
perfiles de usuarios ser posible establecer un marco completo de requisitos y
las restricciones de los datos relacionados con la futura base de datos.
CC-BY-NC-ND PID_00195153 8 Introduccin al diseo de bases de datos
Figura 1. Etapas del diseo de bases de datos
Sistema gestor de bases
de datos
Un sistema gestor de bases de
datos (SGBD; en ingls databa-
se management system, DBMS)
es un tipo de software espec-
fico que sirve de interfaz entre
la base de datos, el usuario y
las aplicaciones que la utilizan.
A continuacin, se inicia el diseoconceptual. En esta etapa se crea un es-
quema conceptual de alto nivel a partir de las especificaciones y los requisitos
obtenidos en la etapa anterior. En este proceso hay que extraer las necesidades
y los requisitos de la problemtica y sintetizarlos en un modelo visual de ma-
nera que permita representar los datos y las restricciones de los conceptos que
se quieren modelizar en el sistema de informacin. Este modelo se denomina
esquema conceptual.
(1)
Hasta esta etapa del diseo de bases de datos todava no ha sido necesario SGBD es la sigla de sistema gestor
de bases de datos.
elegir el tipo de bases de datos que se utilizar (relacional, orientada a objetos,
documental, etc.) ni el sistema gestor de bases de datos (SGBD1) que se utilizar
o el lenguaje concreto con el que se implementar la base de datos.
En el momento en el que se inicia la tercera etapa del proceso de diseo, el
diseolgico, hay que determinar el tipo de bases de datos que se utilizar.
Es decir, no es necesario todava escoger un SGBD concreto, pero s el tipo
de bases de datos que se quiere utilizar. En esta etapa el esquema conceptual
se convierte en un esquema lgico adecuado al tipo de bases de datos que se
pretende usar.
Por tipos de bases de datos entendemos los diferentes grupos de bases de datos
segn el modelo de datos que aplican. Actualmente hay varios tipos de SGBD,
entre los cuales los ms utilizados son las bases de datos relacionales, orienta-
das a objetos, documentales, geogrficas o multidimensionales. Por ejemplo,
las bases de datos relacionales son el conjunto de todos los SGBD que aplican
modelos de datos relacionales.
En este punto, y antes de iniciar la etapa de diseofsico, hay que elegir un
SGBD concreto sobre el que se pretende implementar la base de datos. La eta-
pa de diseo fsico adapta el esquema lgico a las necesidades especficas de
un SGBD concreto y, posteriormente, ajusta algunos parmetros para el fun-
CC-BY-NC-ND PID_00195153 9 Introduccin al diseo de bases de datos
cionamiento correcto de la base de datos. Por base de datos concreta o SGDB
concreto entendemos una aplicacin concreta de bases de datos. En el caso de
bases de datos relacionales, ejemplos de SGBD concretos son Oracle Database,
Mysql, SQL Server o IBM Informix, entre otros.
Finalmente, la ltima etapa es la implementacinyoptimizacin de la base
de datos. Esta etapa permite cargar los datos y posteriormente permite ajustar
algunos parmetros del modelo fsico y para optimizar el rendimiento de la
base de datos.
Estas etapas del diseo no hay que seguirlas estrictamente de manera secuen-
cial, y en muchos casos es habitual rehacer el diseo de la etapa anterior a
partir de necesidades detectadas en fases posteriores. Estos buclesderetroali-
mentacin son habituales y permiten afinar los diseos de las distintas etapas
de una manera iterativa.
El proceso que muestra la figura 1 se basa en el modelo de diseoorientado
adatos. Este modelo se centra en el diseo de los contenedores de la infor-
macin y en la estructura de la base de datos. Paralelamente a este modelo
existe el modelo de diseoorientadoaprocesos, que se centra en las aplica-
ciones de bases de datos para determinar los datos y el uso que de estas hacen
las aplicaciones. Tradicionalmente, el diseo de aplicaciones se ha basado en
este segundo modelo, pero cada vez resulta ms claro que ambas actividades
son paralelas y que estn estrechamente interrelacionadas. Las herramientas
de diseo de bases de datos y de aplicaciones se combinan cada vez con mayor
frecuencia.
CC-BY-NC-ND PID_00195153 10 Introduccin al diseo de bases de datos
2. Fases del diseo de una base de datos
A continuacin veremos con algo ms de detalle las fases que forman el pro-
ceso de diseo de una base de datos.
2.1. Fase 1. Recogida y anlisis de requisitos
La primera fase en el diseo de una base de datos consiste en conocer
y analizar con detalle las expectativas, las necesidades y los objetivos
de los futuros usuarios de la base de datos. Este proceso se denomina
recogida y anlisis de requisitos.
La fase de recogida y anlisis de requisitos se puede dividir en tres subfases
secuenciales: la recogida de requisitos; la estructuracin y el refinamiento de
los requisitos, y la formalizacin de los requisitos.
2.1.1. Recogida de requisitos
Para determinar los requisitos, en primer lugar hay que establecer los actores
del sistema de informacin que interaccionarn con la base de datos. Esto in-
cluye a los usuarios y las aplicaciones, tanto si son nuevos como si no lo son.
Normalmente, un grupo de analistas se encarga de hacer el anlisis de requi-
sitos y, muy probablemente, este anlisis suele ser informal, incompleto e in-
cluso incoherente en algn punto. Por lo tanto, hay que dedicar muchos es-
fuerzos a trabajar esta informacin y convertirla en una especificacin que los
diseadores de bases de datos puedan utilizar para modelizar e implementar
el sistema de informacin.
En esta fase, no solo hay que recoger y analizar los requisitos referentes a la
estructura o la forma de la informacin (tipos de datos y relaciones entre tems
de datos), sino que hay que capturar y analizar cualquier tipo de requisito,
independientemente de qu tipo sea. Hay que recoger, analizar y documentar
cualquier requisito que los usuarios esperen de la base de datos. Esto incluye
los procesos que se deben ejecutar sobre la base de datos, las restricciones sobre
los datos, las restricciones sobre el rendimiento del sistema de informacin, las
restricciones relativas a la implementacin (tanto en lo que respecta al hard-
ware como en lo que se refiere al software), requisitos de seguridad o requisitos
de rendimiento (por ejemplo, tiempo de respuesta), entre otros. Algunas de
las actividades ms habituales de esta fase son las siguientes:
Identificar los grupos de usuarios y las principales reas de aplicacin que
utilizarn la base de datos y que se vern directa o indirectamente afecta-
CC-BY-NC-ND PID_00195153 11 Introduccin al diseo de bases de datos
dos por sta. Dentro de cada grupo hay que elegir usuarios clave y formar
comits para llevar a cabo la recopilacin y la especificacin de requisitos.
Estudiar y analizar la documentacin existente relativa a las aplicaciones
en uso.
Estudiar el entorno actual y el uso que se quiere dar a la informacin. Esto
incluye el estudio de las entradas, el flujo y las salidas de informacin,
adems de las frecuencias y los usos de las diferentes tareas dentro del
sistema de informacin.
Hacer entrevistas y encuestas a los futuros usuarios para que puedan ma-
nifestar su opinin y sus prioridades acerca del nuevo sistema de informa-
cin.
2.1.2. Estructuracin y refinamiento de los requisitos
(2)
Se debe tener en cuenta que algunos de estos requisitos, muy probablemente, JAD es la sigla de la expresin in-
glesa joint application design.
cambiarn durante el proceso de diseo y que hay que estar atentos y en con-
tacto permanente con los usuarios de la base de datos para detectar posibles
problemas. Es una buena prctica incorporar los usuarios de la base de datos
durante el proceso de desarrollo, puesto que as se incrementa su grado de
implicacin y satisfaccin. Hay algunas propuestas de metodologas para la
recogida y el anlisis de requisitos basadas en el trabajo conjunto de los desa-
rrolladores con los usuarios de la base de datos, como, por ejemplo, el diseo
2
conjunto de aplicaciones (JAD ).
2.1.3. Formalizacin de los requisitos
(3)
El paso siguiente es convertir los requisitos a un formato estructurado me- OOA es la sigla de la expresin
inglesa object oriented analysis.
diante tcnicas de especificacin de requisitos como, por ejemplo, el anlisis
orientado a objetos (OOA3), diagramas de flujo de datos (DFD4) o la notacin (4)
DFD es la sigla de la expresin
Z. Estas tcnicas utilizan diferentes tipos de recursos (diagramas, texto, tablas, inglesa data flow diagrams.
grficos, diagramas de decisin, etc.) para organizar y representar los requisi-
tos de manera clara. La notacin Z
La notacin Z es un lenguaje
Esta fase puede representar un coste importante dentro del proceso de diseo formal utilizado en ingeniera
del software.
de una base de datos, pero es muy importante y puede ser determinante para
el xito o el fracaso del sistema de informacin. Detectar y corregir los errores
o problemas en las fases iniciales del proyecto es mucho menos costoso que
arrastrar los errores hasta las fases finales, cuando corregirlos tendr unos cos-
tes mucho ms importantes. La satisfaccin del usuario final vendr determi-
nada por la capacidad de recoger y captar sus necesidades e implementarlas
de manera correcta en la solucin final.
CC-BY-NC-ND PID_00195153 12 Introduccin al diseo de bases de datos
2.2. Fase 2. Diseo conceptual
La fase de diseo conceptual tiene como objetivo crear un esquema
conceptual de alto nivel e independiente de la tecnologa a partir de los
requisitos, las especificaciones y las restricciones que se han recogido
en la fase anterior.
En esta fase se parte de la recogida y el anlisis de requisitos obtenidos en
la fase anterior y tiene como objetivo disear un esquema conceptual de la
base de datos que sea consistente con los requisitos, las especificaciones y las
restricciones impuestas por la problemtica que hay que resolver.
Un esquemaconceptual es una descripcin concisa de los requisitos de datos
que se expresa mediante conceptos proporcionados por un modelo de datos
de alto nivel, fcil de entender y sin detalles de implementacin. El esquema,
adems, debe servir de referencia para verificar que se han agrupado todos los
requisitos y que no hay ningn conflicto entre ellos.
En esta fase del diseo todava no se considera el tipo de base de datos que
se utilizar. Y, por lo tanto, tampoco el SGBD ni el lenguaje concreto de im-
plementacin de la base de datos. En esta etapa nos concentraremos en la es-
tructura de la informacin, sin resolver de momento cuestiones relacionadas
con la tecnologa.
2.2.1. El modelo ER
Hay varios modelos de datos de alto nivel que permiten modelizar los requi- Modelo ER
sitos, las especificaciones y las restricciones que se han obtenido en la primera
En ingls se denomina en-
fase del diseo de una base de datos. Uno de los ms conocidos y utilizados tity-relationship model. Dada
es el modelo entidad-interrelacin, que abreviaremos como modeloER. Este la ambigedad de la traduc-
cin, en espaol encontramos
modelo es uno de los ms utilizados en el diseo conceptual de las aplicaciones autores que lo traducen como
modelo entidad-relacin y otros
de bases de datos, principalmente, debido a su simplicidad y facilidad de uso. que lo traducen como mode-
lo entidad-interrelacin. Ambos
conceptos se refieren al mismo
Los principales elementos que incluye el modelo son los tipos de entidad, los modelo.
atributos y los tipos de relaciones entre entidades. El objetivo principal del
modelo ER es permitir a los diseadores reflejar en un modelo conceptual los
requisitos del mundo real que sean de inters para el problema. El modelo ER
facilita el diseo conceptual de una base de datos y, como ya hemos comen-
tado, es aplicable al diseo de cualquier tipo de bases de datos.
CC-BY-NC-ND PID_00195153 13 Introduccin al diseo de bases de datos
2.2.2. El lenguaje unificado de modelizacin
El lenguaje unificado de modelizacin (UML) es un lenguaje grfico diseado Lenguaje UML
para especificar, visualizar, modificar, construir y documentar un sistema. El
El lenguaje unificado de mode-
lenguaje UML incorpora una gran cantidad de diagramas que permiten repre- lizacin (en ingls, unified mo-
sentar el modelo de un sistema desde perspectivas diferentes. En relacin con deling language) es un lenguaje
de propsito general para mo-
el diseo conceptual de bases de datos, nos interesa especialmente el diagrama delizar sistemas de software.
Este estndar fue creado, y ac-
de clases, que permite representar informacin del dominio de discurso. Los tualmente es mantenido, por
el Object Management Group
diagramas de clases son diagramas estticos que describen la estructura de un (OMG).
sistema a partir de las clases o tipos de entidad del sistema, sus atributos y las
asociaciones o tipos de relaciones que se establecen entre ellos. Estos diagra-
mas han mostrado una capacidad excelente para la modelizacin de datos. Por
este motivo, son cada vez ms importantes en el diseo conceptual de bases
de datos.
2.3. Fase 3. Diseo lgico
Previamente a la fase de diseo lgico, se debe elegir un tipo de base de datos.
Es decir, no hay que escoger todava un SGBD concreto, sino que simplemente
hay que seleccionar el tipo de base de datos que se quiere implementar. Es im-
portante que quede claro que el tipo de base de datos determina el esquema de
diseo lgico. Una vez elegido el tipo de SGBD donde se quiere implementar
la base de datos, ya se puede iniciar la fase del diseo lgico.
En la fase de diseolgico se transforma el modelo conceptual, inde-
pendiente del tipo de tecnologa, en un modelo lgico dependiente del
tipo de SGBD en el que se quiere implementar la base de datos.
En esta etapa se parte del diseo conceptual desarrollado en el paso anterior y
se obtiene un diseo lgico de la futura base de datos. En esta transformacin
se ajusta el modelo considerando el tipo de SGBD en el que se quiere imple-
mentar la base de datos. Por ejemplo, si se quiere crear la base de datos en
un sistema relacional, esta etapa obtendr un conjunto de relaciones con sus
atributos, sus claves primarias y sus claves forneas correspondientes.
En esta etapa nos concentramos en las cuestiones tecnolgicas relacionadas
con el modelo de la base de datos, asumiendo que en la etapa anterior ya
hemos resuelto la problemtica de estructuracin de la informacin desde el
punto de vista conceptual.
CC-BY-NC-ND PID_00195153 14 Introduccin al diseo de bases de datos
Por lo tanto, el resultado de esta etapa ser un modelo lgico de la estructura
de la informacin. Generalmente, cuando este modelo lgico hace referencia a
un SGBD relacional, se denomina modelo relacional. En este material nos cen-
traremos en la transformacin del modelo conceptual a un modelo relacional,
es decir, a un modelo lgico para una base de datos relacional.
En el diseo lgico se pueden ver tres subfases o partes independientes, que
se aplican de manera secuencial para transformar el modelo conceptual obte-
nido en la fase anterior en un modelo lgico que ser el resultado de esta fase.
En primer lugar, en la subfase llamada reconsideraciones del modelo conceptual
revisamos el modelo conceptual para asegurarnos de que est libre de algunos
errores tipificados e identificables. A continuacin, se produce la transforma-
cin del modelo conceptual en el modelo lgico y, finalmente, aplicamos la
teora de la normalizacin al modelo lgico.
2.3.1. Reconsideraciones del modelo conceptual
En esta primera parte se realiza un anlisis en profundidad del modelo con-
ceptual obtenido en la fase anterior, con la intencin de detectar y corregir al-
gunos errores que se suelen producir en los modelos conceptuales y que con-
viene detectar y reparar lo antes posible para evitar que se propaguen en fases
posteriores. Dichos errores se denominan trampas de diseo. Es conveniente
conocer cada uno de estos errores y asegurarse de que el modelo conceptual
que se quiere transformar est libre de ellos antes de continuar con el diseo
lgico.
2.3.2. Transformacin del modelo conceptual en el modelo
lgico
En estos materiales nos centraremos en el diseo lgico de bases de datos re- El modelo relacional
lacionales. Por lo tanto, el modelo lgico generado ser aplicable a cualquier
El modelo relacional es el mo-
base de datos relacional. Partiremos del resultado de la etapa del diseo con- delo lgico especfico para ba-
ceptual expresado mediante un diagrama de clases UML y veremos cmo se ses de datos relacionales.
puede transformar utilizando una estructura de datos del modelo relacional.
Este proceso muestra la manera de llevar a cabo la transformacin de los dife-
rentes elementos que forman el modelo conceptual en elementos que consti-
tuyen el modelo lgico o, ms concretamente, el modelo relacional.
2.3.3. Normalizacin
La teora de la normalizacin aplica la teora de conjuntos, la lgica y el lgebra
relacional para formalizar un conjunto de ideas simples, que guan un buen
diseo de bases de datos relacionales.
La teora de la normalizacin utiliza las formas normales (FN) para reconocer
los casos en los que no se aplican buenos criterios de diseo. Una relacin
est en una forma normal determinada si satisface un conjunto de restriccio-
CC-BY-NC-ND PID_00195153 15 Introduccin al diseo de bases de datos
nes especficas que son propias de esta forma normal. La infraccin de estas
restricciones origina que la relacin tenga un conjunto de anomalas y redun-
dancias de actualizacin no deseables. Las formas normales son declarativas,
es decir, cada forma normal indica las restricciones que se deben cumplir, pero
no describe ningn procedimiento para conseguirlo.
2.4. Fase 4. Diseo fsico
Previamente a la fase de diseo fsico hay que elegir un SGBD concreto. Hay
que estudiar los diferentes sistemas comerciales o libres que hay en el mercado
y seleccionar un SGBD donde se pueda implementar el sistema de informacin
que se ha ido gestando en las fases anteriores del proceso de diseo.
Los componentes fsicos que forman cada SGBD son especficos. Los fabrican-
tes utilizan estrategias y tecnologas diferentes para maximizar el rendimien-
to de sus sistemas gestores de bases de datos. En este nivel no existe ningn
estndar y, por lo tanto, habr que adaptar el esquema lgico obtenido en el
paso anterior, teniendo presentes las caractersticas de cada sistema gestor. El
diseador debe considerar los aspectos de implementacin fsica y de eficien-
cia que dependen especficamente del SGBD elegido.
El diseofsico es una fase del proceso de diseo de bases de datos que
adapta el esquema lgico obtenido en la fase anterior al SGBD concreto,
que utilizar el sistema de informacin.
2.4.1. El nivel fsico y el nivel virtual
El estudio de los niveles fsico y virtual de las bases de datos permite ver as-
pectos como las estructuras de almacenamiento y las rutas de acceso por los
ficheros de la base de datos. Cada SGBD ofrece diferentes opciones para orga-
nizar ficheros y rutas de acceso, y es necesario que el diseador conozca la
implementacin concreta, con el fin de implementar de una manera ms efi-
ciente el diseo fsico del sistema de informacin.
Tambin es importante conocer las caractersticas de los procesos que consul-
tan y actualizan la base de datos, como por ejemplo las frecuencias de ejecu-
cin y los volmenes que se espera tener de los diferentes datos que se quieren
almacenar con el fin de conseguir un buen rendimiento de la base de datos.
Algunos criterios importantes que pueden ser tiles para elegir las opciones de
diseo fsicas de la base de datos son los siguientes:
Tiempoderespuesta. Es el tiempo que transcurre desde que se enva una
peticin al SGBD hasta que ste devuelve los datos de la respuesta. Una
parte importante de este tiempo est bajo el control del SGBD y hace refe-
CC-BY-NC-ND PID_00195153 16 Introduccin al diseo de bases de datos
rencia al tiempo de acceso por parte del SGBD a los datos requeridos para
generar la respuesta. Otros aspectos no son controlados por el SGBD, como
por ejemplo la planificacin del sistema operativo o los tiempos de acceso
a los medios fsicos de almacenamiento de los datos.
Usodelespacio. Es la cantidad de espacio de disco utilizado por los fiche-
ros de la base de datos y las estructuras de rutas de acceso al disco, inclu-
yendo ndices y otras rutas de acceso.
Rendimiento. Es la cantidad media de transacciones que se pueden pro-
cesar en un minuto de tiempo. Este factor puede ser crtico para sistemas
transaccionales, como por ejemplo lneas aeronuticas o entidades banca-
rias.
2.4.2. Transformacin del modelo lgico en el modelo fsico
En este paso se transforma el modelo lgico de una base de datos en un mode-
lo fsico, segn el SGBD elegido para implementar el sistema de informacin,
las caractersticas concretas del hardware utilizado y el sistema operativo y el
software bsico. Cada SGBD ha desarrollado un lenguaje propio, hecho a me-
dida por el constructor mismo, para implementar el diseo fsico de la base
de datos, de acuerdo con las caractersticas del entorno, y para obtener el m-
ximo rendimiento del hardware, del sistema operativo y del propio gestor. En
realidad, se podra considerar una ampliacin del lenguaje SQL estndar con
las clusulas propias que cada gestor necesita para definir los componentes del
diseo fsico. Sin embargo, existe un gran parecido o equivalencia entre una
parte importante de los diferentes gestores.
El estndar SQL incorpora la definicin de todos los componentes del diseo
lgico de la base de datos. En cambio, no contiene ningn elemento del diseo
fsico.
Para transformar el diseo lgico de la base de datos en un SGBD concreto,
partimos de las definiciones de tablas (con toda la informacin relacionada;
es decir, atributos, claves primarias, claves forneas y claves alternativas). A
continuacin se relaciona cada elemento con un espacio adecuado en el nivel
virtual y finalmente se relaciona cada espacio virtual con un fichero fsico, que
constituye el nivel fsico del sistema de informacin.
2.5. Fase 5. Implementacin y optimizacin
La ltima etapa es la implementacin y la optimizacin de la base de datos.
CC-BY-NC-ND PID_00195153 17 Introduccin al diseo de bases de datos
La etapa de implementacin y optimizacin consiste en realizar la
carga de los datos y posteriormente ajustar algunos parmetros relacio-
nados con el modelo fsico de la base de datos para optimizar el rendi-
miento.
El objetivo principal de esta etapa es optimizar el rendimiento de la base de
datos. En primer lugar, hay que realizar la carga de los datos, puesto que no es
posible optimizar el acceso a los datos sin poder determinar el tamao de las
tablas, los tipos de accesos y consultas, la frecuencia de stos, etc.
Finalmente, tambin habr que concretar los diferentes roles de usuarios y
aplicaciones para poder determinar los permisos de los diferentes grupos. El
componente de gestin de la seguridad y las vistas permiten limitar los accesos
y de este modo reducir el riesgo de problemas derivados de accesos no auto-
rizados.
2.5.1. Procesamiento y optimizacin de consultas
El lenguaje SQL empleado por las bases de datos relacionales es un lenguaje
declarativo. Esto implica que se especifica el resultado que se quiere obtener
a partir de una consulta realizada, en lugar de determinar el algoritmo o el
mtodo que hay que usar para obtener el resultado. Por lo tanto, es necesario
entender el conjunto de tareas que realizan los SGBD relacionales para obtener
la respuesta deseada.
Los SGBD relacionales evalan sistemticamente las posibles estrategias alter-
nativas que se pueden presentar, con el objetivo de elegir la que se considera
ptima. El procesamiento de consultas recoge todo el conjunto de actividades
realizadas por el SGBD, que tienen como objetivo la extraccin de informa-
cin de la base de datos para lograr la estrategia ms eficiente y proporcionar
un mejor rendimiento del sistema de informacin.
El procesamiento de consultas se puede dividir en las cuatro etapas principales
siguientes:
1)Descomposicindelaconsulta. Traduccin de la consulta expresada en
lenguaje SQL a una representacin interna basada en el lgebra relacional.
2)Optimizacindelaconsulta. Proceso de seleccin del plan de ejecucin
de la consulta ms eficiente entre las muchas estrategias generalmente dispo-
nibles en el procesamiento de una consulta. La optimizacin de consultas se
puede realizar sobre tres vertientes:
CC-BY-NC-ND PID_00195153 18 Introduccin al diseo de bases de datos
a) Optimizacin semntica basada en las restricciones especificadas en el es-
quema de la base de datos.
b) Optimizacin sintctica, que consiste en transformar heursticamente la
expresin relacional original en otra equivalente pero que sea mucho ms efi-
ciente.
c) Optimizacin fsica, con el objetivo de elegir entre los distintos planes de
evaluacin que pueden tener costes diferentes el que sea ms eficiente. Para
determinar el coste ms eficiente hay que conocer el coste de cada operacin,
que a menudo depende de diferentes parmetros.
3)Generacindecdigo.
4)Ejecucindelaconsulta.
Es el proceso de optimizacin de consultas, es decir, el tratamiento que da
un SGBD a las consultas hechas por los usuarios mediante SQL. Este punto es
uno de los ms importantes que se deben tener en cuenta cuando se disea
un SGBD relacional, puesto que la opcin elegida afecta directamente al ren-
dimiento global del sistema.
La optimizacin de consultas es un aspecto muy importante que hay que con-
siderar cuando se disea y se construye un SGBD relacional. Las tcnicas que
se utilizan para optimizar consultas condicionan el rendimiento global del
sistema, puesto que determinan el tiempo que necesita el sistema gestor para
resolver las consultas que han hecho los usuarios.
2.5.2. Procesamiento de vistas
Una vista es una tabla lgica que permite acceder a la informacin de una o
varias tablas mediante una consulta predefinida. No contiene informacin por
s misma, sino que se basa en informacin de otras tablas. Las vistas propor-
cionan mecanismos de seguridad y permiten al diseador de la base de datos
personalizar la vista que tienen los diferentes usuarios de la base de datos.
Hacer un uso adecuado de las vistas es un aspecto clave para lograr un buen
diseo de una base de datos, puesto que nos permite ocultar los detalles de las
tablas y mantener la visin del usuario independientemente de la evolucin
que tenga la estructura de tablas.
(5)
Las vistas haban sido durante mucho tiempo un simple mecanismo de sim- En ingls, data warehouse.
plificacin de consultas, pero actualmente tienen una importancia capital en
varias reas, como el diseo externo, los almacenes de datos5 o la informtica
distribuida.
CC-BY-NC-ND PID_00195153 19 Introduccin al diseo de bases de datos
2.5.3. Administracin de la seguridad
Por ltimo, hay que tener en cuenta las tcnicas que se emplean para proteger
la base de datos contra accesos no autorizados y los mecanismos para asignar y
revocar privilegios a los diferentes usuarios. De estas y otras acciones se encarga
el componente de seguridad del SGBD. Este componente viene siendo cada da
ms importante, dado que en la actualidad una gran cantidad de ordenadores
y otros tipos de dispositivos estn interconectados y, por lo tanto, cualquier
persona podra convertirse en usuario, y posible atacante, de una base de datos.
En muchas organizaciones, la informacin es un activo intangible y de natu-
raleza sensible, que tiene un valor muy importante. Para preservar esta infor-
macin hay que proteger el sistema de informacin y conocer las obligaciones
legales que hay que cumplir.
CC-BY-NC-ND PID_00195153 20 Introduccin al diseo de bases de datos
Resumen
En este mdulo hemos visto, de una manera muy general, el proceso de diseo
de una base de datos.
Hemos introducido, aunque muy brevemente, las distintas etapas que forman
el proceso de diseo de una base de datos. Abordaremos este tema en detalle
en el resto de los mdulos de la asignatura.
El proceso de diseo de una base de datos se inicia con la fase de recogida y
anlisis de requisitos, lo cual permite recoger y centralizar las necesidades de
los diferentes grupos de usuarios y aplicaciones. A partir de este anlisis, en
la segunda fase, se modeliza un esquema conceptual que permite describir el
modelo de datos de una manera independiente de la tecnologa.
La etapa siguiente en este proceso es el diseo lgico, que requiere haber ele-
gido previamente el tipo de base de datos que se quiere utilizar en la imple-
mentacin del sistema de informacin. El tipo de base de datos determina el
modelo lgico que va a desarrollarse. Por ejemplo, en el caso de utilizar un
tipo de base de datos relacional, se transforma el modelo conceptual en un
modelo lgico especfico para bases de datos relacionales denominado modelo
relacional.
El diseo fsico permitir adaptar el modelo lgico a un sistema gestor de bases
de datos (SGBD) concreto. Por lo tanto, previamente a este paso se deber
escoger el SGBD especfico que se quiere utilizar para implementar el sistema
de informacin. En esta etapa se crea la estructura fsica que almacenar los
datos de la base de datos.
Para terminar, la ltima etapa permite la optimizacin de la base de datos y la
gestin de la seguridad relacionada con los usuarios y las aplicaciones de la ba-
se de datos. Lgicamente, habr que realizar la carga de los datos previamente,
puesto que el tamao de las tablas, los tipos de consultas y las frecuencias de
estas son elementos importantes para optimizar el acceso a los datos por parte
del sistema gestor.
CC-BY-NC-ND PID_00195153 21 Introduccin al diseo de bases de datos
Glosario
database management system f Vase sistema gestor de bases de datos.
sigla DBMS
divide and conquer loc Vase divide y vencers.
divide y vencers locEstrategia que propone resolver un problema complejo mediante la
subdivisin en un conjunto de problemas ms sencillos cuya resolucin implica resolver el
problema inicial.
en divide and conquer
entity relationship model m Vase modelo ER.
lenguaje unificado de modelizacin mLenguaje de propsito general para modelizar
sistemas de software. El estndar fue creado, y actualmente es mantenido, por el Grupo de
Gestin de Objetos.
en unified modeling language
sigla UML
modelo ER mModelo entidad-interrelacin de datos de alto nivel que permite modelizar
los requisitos, las especificaciones y las restricciones.
en entity-relationship model
SGBD m Vase sistema gestor de bases de datos.
sistema gestor de bases de datos mTipo de software especfico que sirve de interfaz
entre la base de datos, el usuario y las aplicaciones que la utilizan.
en database management system
sigla SGBD
UML m Vase lenguaje unificado de modelizacin.
CC-BY-NC-ND PID_00195153 22 Introduccin al diseo de bases de datos
Bibliografa
Elmasri, Ramez; Navathe, Shamkant, B. (2007). Fundamentos de sistemas de bases de
datos. Madrid: Pearson Educacin.
Ramakrishnan, Raghu; Gehrke, Johannes (2002). Database management systems. Bos-
ton: McGraw-Hill Higher Education.