HERRAMIENTAS DE DESARROLLO
Base de datos
Una Base de Datos es una colección de información perteneciente a un
mismo contexto (o problema), que está almacenada de forma organizada en
ficheros.1
Una base de datos está organizada mediante tablas que almacenan
información concerniente a algún objeto o suceso. Estas tablas se relacionan
formando vínculos o relaciones entre ellas, que ayudan a mantener la información
de los diversos objetos de forma ordenada y coherente (sin contradicciones).
Cico de Vide de una Base de Datos
Como todo, las bases de datos tienen una vida fmita. Nacen en un arrebato
de optirnismo,y su vida discurre cosechandofama, fortunay notoriedad,o un
anonirnato tranquil0 segun 10s casos, antes de extinguirse. Incluso las bases de
datos mas aclamadas acaban siendo sustituidas con el tiempo por otras
estructuras mas flexibles y actualizadas, y la vida comienzade nuevo. Aunquesu
definicionexacta puede variar, por regla general el ciclo de vida de una base de
datos consta de seis fases.
Analisis: En la fase de análisis se entrevista a 10s accionistas y se
examinan todos 10s sistemas existentes para identificar 10s problemas, las
posibilidades y 10slimites. En esta fase se determinan 10s objetivos y el ámbito
del nuevo sistema.
1 Gestión de Base de Datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 6
ii
Diseiio: En la fase de diseiio se crea el diseiio conceptual a partir de las
necesidades determinadas previamente. Tambien se crea un diseiio Iogico y
fisico para preparar la implementacion de la base de datos.
Implernentacion: En la fase de implementacion se instala el sistema de
adrninistracion de la base de datos (DBMS), se crea la base de datos y se
cargan o importan 10s datos.
Pruebas: En la fase de pruebas se examina la base de datos y se ajusta,
por
lo general junto a las aplicaciones asociadas.
Puesta en marcha: En esta fase la base de datos opera normalmente,
produciendo informacion para sus usuarios.
Mantenimiento: En la fase de mantenimiento se introducen cambios en la
base de datos en respuesta a las nuevas necesidades o se modifican las
condiciones operativas (como una carga mas pesada).
El desarrollo de la base de datos no es independiente a1desarrollo de
10ssistemas. De hecho, se suele considerar como uno de 10scomponentes del
proceso mas amplio de desarrollo de sistemas. Las fases del desarrollo de
sistemas coinciden basicamente con las fases del ciclo de vida de una base de
datos, con la diferencia de su alcance. Mientras el diseiio de las bases de datos se
centra en el diseiio del sistema para almacenar 10s datos, el diseiio de sistemas
se ocupa ademas de 10s procesos que incidiran en 10s datos.2
2 La biblia de my sql, pag. 322
iii
Modelos de los Datos
Es una colección de herramientas conceptuales para describir los datos, las
relaciones, la semántica y las restricciones de consistencia. Los diferentes
modelos de datos que se han propuesto se clasifican en tres grupos diferentes: 3
Modelos lógicos basados en objetos,
Modelos lógicos basados en registros
Modelos físicos.
Modelos de Datos Basados en Objetos
Los modelos de datos basados en objetos utilizan conceptos tales como
entidades, atributos y relaciones. Una entidad es un objeto singular (una persona,
lugar, cosa, concepto, suceso) dentro de la organización que hay que representar
mediante una base de datos. Un atributo es una propiedad que describe algún
aspecto del objeto suficientemente relevante como para registrarlo y una relación
es una asociación entre entidades. Los tipos más comunes de modelos de datos
basados en objetos son:
Entidad-Relación.
Semántica
Funcional
Orientado a objetos.
Modelos de Datos Basados en Registros
3 Sistemas de Base de Datos, Thomas M. Connolly, Carolyn E. Begg, Pearson, Pág. 41
iv
En un modelo de datos basados en registros, la base de datos está
compuesta por una serie de registros de formato fijo, posiblemente de tipos
distintos. Cada tipo de registros define un número fijo de campos, cada uno de los
cuales suele tener una longitud también fija. Existen tres tipos principales de
modelos lógicos de datos basados en registros:
El modelo de datos relacional,
El modelo de datos en red y
El modelo de datos jerárquico.
Modelo de Datos Físicos
Los modelos de datos físicos describen cómo se almacenan los datos en la
computadora, representando información tal como las estructuras de registro, el
ordenamiento de los registros y las rutas de acceso. No hay tanto modelos físicos
de datos como modelos lógicos, y los modelos físicos más comunes son:
El modelo unificador.
La memoria de marco.
Modelo Entidad-Relación
El modelo de datos entidad-relación (E-R) está basado en una percepción
del mundo real que consta de una colección de objetos básicos, llamados
entidades, y de relaciones entre estos objetos. Una entidad es una «cosa» u
«objeto» en el mundo real que es distinguible de otros objetos.
v
Las entidades se describen en una base de datos mediante un conjunto de
atributos. Una relación es una asociación entre varias entidades. El conjunto de
todas las entidades del mismo tipo, y el conjunto de todas las relaciones del
mismo tipo, se denominan respectivamente conjunto de entidades y conjunto de
relaciones.
La estructura lógica general de una base de datos se puede expresar
gráficamente mediante un diagrama ER, que consta de los siguientes
componentes:
Rectángulos, que representan conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los
conjuntos de entidades con las relaciones.
Cada componente se etiqueta con la entidad o relación que representa.
Además de entidades y relaciones, el modelo E-R representa ciertas restricciones
que los contenidos de la base de datos deben cumplir. Una restricción importante
es la correspondencia de cardinalidades, que expresa el número de entidades con
las que otra entidad se puede asociar a través de un conjunto de relaciones. El
modelo entidad-relación se utiliza habitualmente en el proceso de diseño de bases
de datos.
vi
Ilustración 1 Ejemplo de modelo E-R
Cardinalidad
La Cardinalidad de una relación se calcula a través de las participaciones
de sus ocurrencias en ella. Se toman el número máximo de participaciones de
cada una de las entidades en la relación.
De esta manera, se clasifican las siguientes cardinalidades:
Cardinalidad 1:1 Esta Cardinalidad especifica que una entidad A puede
estar vinculada mediante una relación a una y solo una ocurrencia de otra
entidad B. A su vez una ocurrencia de la entidad B solo puede estar
vinculada a una ocurrencia de la entidad A.
Cardinalidad 1: N (o 1: Muchos) Esta relación especifica que una entidad A
puede estar vinculada mediante una relación a varias ocurrencias de otra
entidad B. Sin embargo, una de las ocurrencias de la entidad B solo puede
estar vinculada a una ocurrencia de la entidad A.
Cardinalidad M: N (o Muchos: Muchos) O también N: M, esta cardinalidad
especifica que una entidad A puede estar vinculada mediante una relación
vii
a varias ocurrencias de la entidad B, y a su vez, una ocurrencia de la
entidad B puede estar vinculada a varias de la entidad A. 4
Modelo Relacional
En el modelo relacional se utiliza un grupo de tablas para representar los
datos y las relaciones entre ellos. Cada tabla está compuesta por varias columnas,
y cada columna tiene un nombre único. En la Figura 3 se presenta un ejemplo de
base de datos relacional consistente en tres tablas: la primera muestra los clientes
de un banco, la segunda, las cuentas, y la tercera, las cuentas que pertenecen a
cada cliente.
Ilustración 2 Ejemplo de una base de datos relacional
4 Gestión de Base de datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 47
viii
El modelo relacional es un ejemplo de un modelo basado en registros. Los
modelos basados en registros se denominan así porque la base de datos se
estructura en registros de formato fijo de varios tipos. Cada tabla contiene
registros de un tipo particular. Cada tipo de registro define un número fijo de
campos, o atributos.
Las columnas de la tabla corresponden a los atributos del tipo de registro.
No es difícil ver cómo se pueden almacenar las tablas en archivos.
El modelo de datos relacional es el modelo de datos más ampliamente
usado, y una amplia mayoría de sistemas de bases de datos actuales se basan en
el modelo relacional. El modelo relacional se encuentra a un nivel de abstracción
inferior al modelo de datos E-R. Los diseños de bases de datos a menudo se
realizan en el modelo E-R, y después se traducen al modelo relacional.
Las relaciones en el modelo relacional
Se define una relación como un conjunto de atributos, cada uno de los
cuales pertenece a un dominio, y que posee un nombre que identifica la relación.
Se representa gráficamente por una tabla con columnas (atributos) y filas (tupias).
El conjunto de tupias de una relación representa el cuerpo de la relación y el
conjunto de atributos y el nombre representan el esquema.5
5 Gestión de Base de Datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 65
ix
Ilustración 3 definicion de relación
Otros conceptos del modelo relacional
A continuación se definen los conceptos necesarios para transformar el
modelo conceptual (diagrama entidad-relación) en el modelo lógico (modelo
relacional).
• Atributo: Características que describen a una entidad o relación.
• Dominio: Conjunto de valores permitidos para un atributo. Por ejemplo,
cadenas de caracteres, números enteros, los valores Sí o No, etc.
• Restricciones de semántica: Condiciones que deben cumplir los datos para
su correcto almacenamiento. Hay varios tipos:
Restricciones de clave: Es el conjunto de atributos que identifican de
forma única a una entidad.
Restricciones de valor único (UNIQUE): Es una restricción que
impide que un atributo tenga un valor repetido.
Restricciones de integridad referencial: Se da cuando una tabla tiene
una referencia a algún valor de otra tabla. En este caso la restricción
exige que exista el valor referenciado en la otra tabla.
x
Restricciones de dominio: Esta restricción exige que el valor que
puede tomar un campo esté dentro del dominio definido.
Restricciones de verificación (CHECK): Esta restricción permite
comprobar si un valor de un atributo es válido conforme a una
expresión.
Restricción de valor NULO (NULL o NOT NULL): Un atributo puede
ser obligatorio si no admite el valor NULO o NULL, es decir, el valor
falta de información o desconocimiento. Si admite como valor el valor
NULL, el atributo es opcional.
Disparadores o triggers: Son procedimientos que se ejecutan para
hacer una tarea concreta en el momento de insertar, modificar o
eliminar información de una tabla.
Restricciones genéricas adicionales o aserciones (ASSERT). Permite
validar cualquiera de los atributos de una o varias tablas.
• Clave: Una clave es un conjunto de atributos que identifican de forma única
una ocurrencia de entidad. En este caso, las claves pueden ser simples
(atómicas) o compuestas. Además, hay varios tipos de clave:
Superclave: Identifican a una entidad (pueden ser no mínimas).
Clave Candidata: Es la mínima Superclave.
Clave Primaria: Es la clave candidata elegida por el diseñador como
clave definitiva.
xi
Clave foránea: Es un atributo de una entidad, que es clave en otra
entidad.6
Normalización
Habitualmente, el diseño de una base de datos termina en el paso del
modelo
entidad-relación al modelo relacional. No obstante, siempre que se diseña un
sistema, no solo una base de datos, sino también cualquier tipo de solución
informática, se ha de medir la calidad de la misma, y si no cumple determinados
criterios de calidad, hay que realizar, de forma iterativa, sucesivos refinamientos
en el diseño, para alcanzar la calidad deseada.
Uno de los parámetros que mide la calidad de una base de datos es la
forma normal en la que se encuentra su diseño. Esta forma normal puede
alcanzarse cumpliendo ciertas restricciones que impone cada forma normal al
conjunto de atributos de un diseño. El proceso de obligar a los atributos de un
diseño a cumplir ciertas formas normales se llama normalización.
Las formas normales pretenden alcanzar dos objetivos:
Almacenar en la base de datos cada hecho solo una vez, es decir, evitar la
redundancia de datos. De esta manera se reduce el espacio de
almacenamiento.
6 Gestión de Base de Datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 66
xii
Que los hechos distintos se almacenen en sitios distintos. Esto evita ciertas
anomalías a la hora de operar con los datos7
ESQUEMA DEL MODELO RELACIONAL
Un relación se compone del esquema (o intensión de la relación) y de la
extensión.
Ilustración 4
Si consideramos la representación tabular anterior (figura 4), el esquema
correspondería a la cabecera de la tabla y la extensión correspondería al cuerpo:
7 Gestión de Base de Datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 74
xiii
El esquema de la relación consiste en un nombre de relación R y un
conjunto de atributos {A1, A2,..., An}.
El esquema de la relación de la figura 4 se podría denotar, por ejemplo,
como EMPLEADOS (DNI, nombre, apellido, sueldo), o también, EMPLEADOS
(nombre, apellido, DNI, sueldo), porque cualquier ordenación de sus atributos se
considera válida para denotar el esquema de una relación.8
Conviene observar que cada atributo es único en un esquema de relación,
porque no tiene sentido que un mismo dominio ejerza dos veces el mismo papel
en un mismo esquema. Por consiguiente, no puede ocurrir que en un esquema
de relación haya dos atributos con el mismo nombre. En cambio, sí que se
puede repetir un nombre de atributo en relaciones diferentes. Los dominios de
los atributos, por el contrario, no deben ser necesariamente todos diferentes
en una relación.
PRIMERA FORMA NORMAL
En esta forma normal se prohíbe que en una tabla haya atributos que
puedan tomar más un valor. Esta forma normal es inherente al modelo
relacional, puesto que las tablas gestionadas por un SGBD relacional, están
construidas de esta forma.
8 Introducción a las bases de Datos, Camps Paré Rafael, Pág. 10
xiv
Por ejemplo, en la Figura se puede ver la diferencia entre una tabla
que cumple la FN1 y otra que no;
Segunda Forma Normal
Un diseño se encuentra en FN2 si está en FN1 y además, cada atributo que
no forma parte de la clave tiene dependencia completa de la clave principal.
Ejemplo:
COMPRAS (CódigoProducto, CódigoProveedor, NombreProducto,
Cantidad,
FechaCompra).
CódigoProducto →NombreProducto, por tanto, al no ser dependencia funcional
completa, no está en FN2.
TERCERA FORMA NORMAL
Un diseño se encuentra en FN3 si está en FN2 y además, no hay ningún
atributo no clave que depende de forma transitiva de la clave.
xv
Ejemplo:
PRODUCTOS (CódigoProducto, Nombre, Fabricante, País).
CódigoProducto→Fabricante
Fabricante→País
CódigoProducto→-≠País
País depende transitivamente de CódigoProducto, por tanto, no está en
tercera forma normal.
Sistemas Gestores de Base de Datos (SGBD)
Se define un Sistema Gestor de Base de Datos, en adelante SGBD, como
el conjunto de herramientas que facilitan la consulta, uso y actualización de una
base de datos.
Funciones de los SGBD
Los SGBD cumplen con casi todas funciones que a continuación se enumeran:
1. Permiten a los usuarios almacenar datos, acceder a ellos y actualizarlos de forma sencilla y con un gran rendimiento, ocultando la complejidad y las características físicas de los dispositivos de almacenamiento.
2. Garantizan la integridad de los datos, respetando las reglas y restricciones que dicte el programador de la base de datos. Es decir, no permiten operaciones que dejen cierto conjunto de datos incompletos o incorrectos.
3. Integran, junto con el sistema operativo, un sistema de seguridad que garantiza el acceso a la información exclusivamente a aquellos usuarios que dispongan de autorización.
4. Proporcionan un diccionario de metadatos, que contiene el esquema de la base de datos, es decir, cómo están estructurados los datos en tablas, registros y campos, las relaciones entre los datos, usuarios, permisos, etc.
xvi
5. Permiten el uso de transacciones, garantizan que todas las operaciones de la transacción se realicen correctamente, y en caso de alguna incidencia, deshacen los cambios sin ningún tipo de complicación adicional.
6. Ofrecen, mediante completas herramientas, estadísticas sobre el uso del gestor, registrando operaciones efectuadas, consultas solicitas, operaciones fallidas y cualquier tipo de incidencia. Es posible de este modo, monitorizar el uso de la base de datos, y permiten analizar hipotéticos malfuncionamientos.
7. Permiten la concurrencia, es decir, varios usuarios trabajando sobre un mismo conjunto de datos. Además, proporcionan mecanismos que permiten arbitrar operaciones conflictivas en el acceso o modificación de un dato al mismo tiempo por parte de varios usuarios.
8. Independizan los datos de la aplicación o usuario que esté utilizándolos, haciendo más fácil su migración a otras plataformas.
9. Ofrecen conectividad con el exterior. De esta manera, se puede replicar y distribuir bases de datos. Además, todos los SGBD incorporan herramientas estándar de conectividad.
10. Incorporan herramientas para la salvaguarda y restauración de la información en caso de desastre. Además, deben ofrecer sencillas herramientas para la importación y exportación automática de la información.9
Abstracción de Datos
Para que el sistema sea útil debe recuperar los datos eficientemente. Como
muchos usuarios de sistemas de bases de datos no están familiarizados con
computadores, los desarrolladores esconden la complejidad a los usuarios a
través de varios niveles de abstracción para simplificar la interacción de los
usuarios con el sistema.
De tal manera que se dividen en tres niveles de abstracción los cuales son los
siguientes:
Nivel físico: El nivel más bajo de abstracción describe cómo se almacenan realmente los datos. En este nivel se describen a detalle las estructuras de datos complejas de bajo nivel.
9 Gestión de Base de Datos, Iván López Montalbán, Manuel de Castro Vázquez, Garceta, Pág.: 16
xvii
Nivel lógico: El siguiente nivel más alto de abstracción describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. Los administradores de bases de datos, son los que deben decidir cuál es la información que se mantiene en la base de datos.
Nivel de vistas: El nivel más alto de abstracción describe sólo parte de la base de datos completa. Debido a la variedad de información almacenada en una base de datos muchos usuarios no necesitan toda esta información. En su lugar, tales usuarios necesitan acceder sólo a una parte de la base de datos. Para que su interacción con el sistema se simplifique, se define la abstracción del nivel de vistas. El sistema puede proporcionar muchas vistas para la misma base de datos.10
Ilustración 5.1 Los tres niveles de abstracción
Lenguajes de Base de Datos
Un sistema de bases de datos proporciona un lenguaje de definición de datos para
especificar el esquema de la base de datos y un lenguaje de manipulación de
datos para expresar las consultas a la base de datos y las modificaciones. En la
práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes
separados; en su lugar simplemente forman partes de un único lenguaje de bases
de datos.
Lenguaje de definición de datos
10 Fundamentos de Base de Datos, Abraham Silberschatz, Henry F. Korth, Mc Graw Hill, Pág. 4
xviii
Un esquema de base de datos se especifica mediante un conjunto de definiciones
expresadas mediante un lenguaje especial llamado lenguaje de definición de datos
(LDD).
Lenguaje de manipulación de datos
La manipulación de datos es:
• La recuperación de información almacenada en la base de datos.• La inserción de información nueva en la base de datos.• El borrado de información de la base de datos.• La modificación de información almacenada en la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los
usuarios acceder o manipular los datos organizados mediante el modelo de datos
apropiado. Hay dos tipos básicamente:
• LMD procedimental. Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
• LMD declarativo (también conocidos como LMD no procedimentales). Requieren que elusuario especifique qué datos se necesitan sin especificar cómo obtener esos datos.11
Lenguaje SQL
SQL (Structured Query Language) es el lenguaje estándar para trabajar con bases
de datos relacionales y es soportado prácticamente por todos los productos en el
mercado. Originalmente, SQL fue desarrollado en IBM Research a principios de
los años setenta; fue implementado por primera vez a gran escala en un prototipo
de IBM, y posteriormente en numerosos productos comerciales de IBM y de
muchos otros fabricantes. El nombre oficial es Estándar Internacional del
Lenguaje de Base de Datos SQL (1992).12
11 Fundamentos de Base de Datos, Abraham Silberschatz, Henry F. Korth, Mc Graw Hill, Pág. 712 Introducción a los Sistemas de Base de Datos, Date. C. J., Pearson, Pág. 83
xix
SQL se convirtió, en términos computacionales, en un lenguaje completo (ahora
incluye instrucciones como CALL, RETURN, SET, CASE. IF, LOOP, LEAVE,
WHILE y REPEAT, así como diversas características relacionadas como las
variables y los manejadores de excepciones). SQL es un lenguaje enorme.
Por último, se debe mencionar que SQL está muy lejos de ser el lenguaje
relacional perfecto; padece de faltas tanto de omisión como de comisión. Sin
embargo, este estándar, es soportado por casi todos los productos del mercado y
todo profesional de bases de datos debe saber algo acerca de él.
My SQL
MySQL es un sistema de administración de bases de datos relational
(RDBMS). Se trata de un programa capaz de almacenar una enorme cantidad de
datos de gran variedad y de distribuirlos para cubrir las necesidades de cualquier
tipo de organizacion, desde pequeiios establecimientos comerciales a grandes
empresas y organismos administrativos. MySQL compite con sistemas RDBMS
propietarios conocidos, como Oracle, SQL Server y DB2.13
13 La Biblia de Mysql, Pag. 40
Top Related