Sunteți pe pagina 1din 20

HERRAMIENTAS DE DESARROLLO

Base de datos
Una Base de Datos es una coleccin de informacin 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
informacin concerniente a algn objeto o suceso. Estas tablas se relacionan
formando vnculos o relaciones entre ellas, que ayudan a mantener la informacin
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 anlisis se entrevista a 10s accionistas y se
examinan todos 10s sistemas existentes para identificar 10s problemas, las

1 Gestin de Base de Datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 6

posibilidades y 10slimites. En esta fase se determinan 10s objetivos y el mbito


del nuevo sistema.
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
Modelos de los Datos
Es una coleccin de herramientas conceptuales para describir los datos, las
relaciones, la semntica y las restricciones de consistencia. Los diferentes
modelos de datos que se han propuesto se clasifican en tres grupos diferentes:

Modelos lgicos basados en objetos,


Modelos lgicos basados en registros
Modelos fsicos.

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 organizacin que hay que representar
mediante una base de datos. Un atributo es una propiedad que describe algn
aspecto del objeto suficientemente relevante como para registrarlo y una relacin
es una asociacin entre entidades. Los tipos ms comunes de modelos de datos
basados en objetos son:

Entidad-Relacin.
Semntica

2 La biblia de my sql, pag. 322

3 Sistemas de Base de Datos, Thomas M. Connolly, Carolyn E. Begg, Pearson,


Pg. 41

Funcional
Orientado a objetos.

Modelos de Datos Basados en Registros


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 nmero fijo de campos, cada uno de los
cuales suele tener una longitud tambin fija. Existen tres tipos principales de
modelos lgicos de datos basados en registros:

El modelo de datos relacional,


El modelo de datos en red y
El modelo de datos jerrquico.

Modelo de Datos Fsicos


Los modelos de datos fsicos describen cmo se almacenan los datos en la
computadora, representando informacin tal como las estructuras de registro, el
ordenamiento de los registros y las rutas de acceso. No hay tanto modelos fsicos
de datos como modelos lgicos, y los modelos fsicos ms comunes son:

El modelo unificador.
La memoria de marco.

Modelo Entidad-Relacin
El modelo de datos entidad-relacin (E-R) est basado en una percepcin
del mundo real que consta de una coleccin de objetos bsicos, 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.
Las entidades se describen en una base de datos mediante un conjunto de
atributos. Una relacin es una asociacin 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 lgica general de una base de datos se puede expresar
grficamente mediante un diagrama ER, que consta de los siguientes
componentes:

Rectngulos, que representan conjuntos de entidades.


Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Lneas, 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 relacin que representa.

Adems de entidades y relaciones, el modelo E-R representa ciertas restricciones


que los contenidos de la base de datos deben cumplir. Una restriccin importante
es la correspondencia de cardinalidades, que expresa el nmero de entidades con
las que otra entidad se puede asociar a travs de un conjunto de relaciones. El
modelo entidad-relacin se utiliza habitualmente en el proceso de diseo de bases
de datos.

Ilustracin 1 Ejemplo de modelo E-R

Cardinalidad
La Cardinalidad de una relacin se calcula a travs de las participaciones
de sus ocurrencias en ella. Se toman el nmero mximo de participaciones de
cada una de las entidades en la relacin.
De esta manera, se clasifican las siguientes cardinalidades:

Cardinalidad 1:1 Esta Cardinalidad especifica que una entidad A puede


estar vinculada mediante una relacin 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 relacin especifica que una entidad A
puede estar vinculada mediante una relacin 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 tambin N: M, esta cardinalidad
especifica que una entidad A puede estar vinculada mediante una relacin 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.

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.

Ilustracin 2 Ejemplo de una base de datos relacional

4 Gestin de Base de datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 47

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 nmero fijo de
campos, o atributos.
Las columnas de la tabla corresponden a los atributos del tipo de registro.
No es difcil ver cmo se pueden almacenar las tablas en archivos.
El modelo de datos relacional es el modelo de datos ms ampliamente
usado, y una amplia mayora de sistemas de bases de datos actuales se basan en
el modelo relacional. El modelo relacional se encuentra a un nivel de abstraccin
inferior al modelo de datos E-R. Los diseos de bases de datos a menudo se
realizan en el modelo E-R, y despus se traducen al modelo relacional.
Las relaciones en el modelo relacional
Se define una relacin como un conjunto de atributos, cada uno de los
cuales pertenece a un dominio, y que posee un nombre que identifica la relacin.
Se representa grficamente por una tabla con columnas (atributos) y filas (tupias).
El conjunto de tupias de una relacin representa el cuerpo de la relacin y el
conjunto de atributos y el nombre representan el esquema. 5

5 Gestin de Base de Datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 65

Ilustracin 3 definicion de relacin

Otros conceptos del modelo relacional


A continuacin se definen los conceptos necesarios para transformar el
modelo conceptual (diagrama entidad-relacin) en el modelo lgico (modelo
relacional).
Atributo: Caractersticas que describen a una entidad o relacin.
Dominio: Conjunto de valores permitidos para un atributo. Por ejemplo,
cadenas de caracteres, nmeros enteros, los valores S o No, etc.
Restricciones de semntica: 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 restriccin que impide que
un atributo tenga un valor repetido.
Restricciones de integridad referencial: Se da cuando una tabla tiene una
referencia a algn valor de otra tabla. En este caso la restriccin exige que
exista el valor referenciado en la otra tabla.
Restricciones de dominio: Esta restriccin exige que el valor que puede
tomar un campo est dentro del dominio definido.
Restricciones de verificacin (CHECK): Esta restriccin permite comprobar
si un valor de un atributo es vlido conforme a una expresin.

10

Restriccin 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
informacin 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
informacin de una tabla.
Restricciones genricas 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
(atmicas) o compuestas. Adems, hay varios tipos de clave:
Superclave: Identifican a una entidad (pueden ser no mnimas).
Clave Candidata: Es la mnima Superclave.
Clave Primaria: Es la clave candidata elegida por el diseador como clave
definitiva.
Clave fornea: Es un atributo de una entidad, que es clave en otra entidad. 6
Normalizacin
Habitualmente, el diseo de una base de datos termina en el paso del
modelo
entidad-relacin al modelo relacional. No obstante, siempre que se disea un
sistema, no solo una base de datos, sino tambin cualquier tipo de solucin
informtica, se ha de medir la calidad de la misma, y si no cumple determinados

6 Gestin de Base de Datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 66

11

criterios de calidad, hay que realizar, de forma iterativa, sucesivos refinamientos


en el diseo, para alcanzar la calidad deseada.
Uno de los parmetros que mide la calidad de una base de datos es la
forma normal en la que se encuentra su diseo. Esta forma normal puede
alcanzarse cumpliendo ciertas restricciones que impone cada forma normal al
conjunto de atributos de un diseo. El proceso de obligar a los atributos de un
diseo a cumplir ciertas formas normales se llama normalizacin.
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.
Que los hechos distintos se almacenen en sitios distintos. Esto evita ciertas
anomalas a la hora de operar con los datos 7

ESQUEMA DEL MODELO RELACIONAL


Un relacin se compone del esquema (o intensin de la relacin) y de la
extensin.

7 Gestin de Base de Datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 74

12

Ilustracin 4

Si consideramos la representacin tabular anterior (figura 4), el esquema


correspondera a la cabecera de la tabla y la extensin correspondera al cuerpo:

El esquema de la relacin consiste en un nombre de relacin R y un


conjunto de atributos {A1, A2,..., An}.
El esquema de la relacin de la figura 4 se podra denotar, por ejemplo,
como EMPLEADOS (DNI, nombre, apellido, sueldo), o tambin, EMPLEADOS

13

(nombre, apellido, DNI, sueldo), porque cualquier ordenacin de sus atributos se


considera vlida para denotar el esquema de una relacin. 8
Conviene observar que cada atributo es nico en un esquema de relacin,
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 relacin 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 relacin.

PRIMERA FORMA NORMAL


En esta forma normal se prohbe que en una tabla haya atributos que
puedan tomar ms un valor. Esta forma normal es inherente al modelo
relacional, puesto que las tablas gestionadas por un SGBD relacional, estn
construidas de esta forma.
Por ejemplo, en la Figura se puede ver la diferencia entre una tabla
que cumple la FN1 y otra que no;

8 Introduccin a las bases de Datos, Camps Par Rafael, Pg. 10

14

Segunda Forma Normal


Un diseo se encuentra en FN2 si est en FN1 y adems, cada atributo que
no forma parte de la clave tiene dependencia completa de la clave principal.
Ejemplo:

COMPRAS

(CdigoProducto,

CdigoProveedor,

NombreProducto,

Cantidad,
FechaCompra).
CdigoProducto NombreProducto, por tanto, al no ser dependencia funcional
completa, no est en FN2.
TERCERA FORMA NORMAL
Un diseo se encuentra en FN3 si est en FN2 y adems, no hay ningn
atributo no clave que depende de forma transitiva de la clave.
Ejemplo:

PRODUCTOS

(CdigoProducto,

Nombre,

Fabricante,

Pas).

15

CdigoProductoFabricante
FabricantePas

CdigoProducto-Pas

Pas depende transitivamente de CdigoProducto, 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 actualizacin de una
base de datos.
Funciones de los SGBD
Los SGBD cumplen con casi todas funciones que a continuacin 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 caractersticas fsicas 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 informacin exclusivamente a aquellos usuarios
que dispongan de autorizacin.

4. Proporcionan un diccionario de metadatos, que contiene el esquema de


la base de datos, es decir, cmo estn estructurados los datos en tablas,
registros y campos, las relaciones entre los datos, usuarios, permisos,
etc.
5. Permiten el uso de transacciones, garantizan que todas las operaciones
de la transaccin se realicen correctamente, y en caso de alguna
incidencia, deshacen los cambios sin ningn tipo de complicacin
adicional.

16

6. Ofrecen, mediante completas herramientas, estadsticas 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
hipotticos malfuncionamientos.
7. Permiten la concurrencia, es decir, varios usuarios trabajando sobre un
mismo conjunto de datos. Adems, proporcionan mecanismos que
permiten arbitrar operaciones conflictivas en el acceso o modificacin de
un dato al mismo tiempo por parte de varios usuarios.
8. Independizan los datos de la aplicacin o usuario que est utilizndolos,
haciendo ms fcil su migracin a otras plataformas.
9. Ofrecen conectividad con el exterior. De esta manera, se puede replicar
y distribuir bases de datos. Adems, todos los SGBD incorporan
herramientas estndar de conectividad.
10. Incorporan herramientas para la salvaguarda y restauracin de la
informacin en caso de desastre. Adems, deben ofrecer sencillas
herramientas para la importacin y exportacin automtica de la
informacin.9

Abstraccin de Datos
Para que el sistema sea til debe recuperar los datos eficientemente. Como
muchos usuarios de sistemas de bases de datos no estn familiarizados con
computadores, los desarrolladores esconden la complejidad a los usuarios a
travs de varios niveles de abstraccin para simplificar la interaccin de los
usuarios con el sistema.
De tal manera que se dividen en tres niveles de abstraccin los cuales son los
siguientes:

9 Gestin de Base de Datos, Ivn Lpez Montalbn, Manuel de Castro Vzquez,


Garceta, Pg.: 16

17

Nivel fsico: El nivel ms bajo de abstraccin describe cmo se


almacenan realmente los datos. En este nivel se describen a detalle las
estructuras de datos complejas de bajo nivel.

Nivel lgico: El siguiente nivel ms alto de abstraccin 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 cul es la informacin que se mantiene en la base de datos.

Nivel de vistas: El nivel ms alto de abstraccin describe slo parte de la


base de datos completa. Debido a la variedad de informacin
almacenada en una base de datos muchos usuarios no necesitan toda
esta informacin. En su lugar, tales usuarios necesitan acceder slo a
una parte de la base de datos. Para que su interaccin con el sistema se
simplifique, se define la abstraccin del nivel de vistas. El sistema puede
proporcionar muchas vistas para la misma base de datos. 10

Ilustracin 5.1 Los tres niveles de abstraccin

Lenguajes de Base de Datos


Un sistema de bases de datos proporciona un lenguaje de definicin de datos para
especificar el esquema de la base de datos y un lenguaje de manipulacin de
datos para expresar las consultas a la base de datos y las modificaciones. En la
prctica, los lenguajes de definicin y manipulacin de datos no son dos lenguajes

10 Fundamentos de Base de Datos, Abraham Silberschatz, Henry F. Korth, Mc


Graw Hill, Pg. 4

18

separados; en su lugar simplemente forman partes de un nico lenguaje de bases


de datos.
Lenguaje de definicin de datos
Un esquema de base de datos se especifica mediante un conjunto de definiciones
expresadas mediante un lenguaje especial llamado lenguaje de definicin de datos
(LDD).
Lenguaje de manipulacin de datos
La manipulacin de datos es:

La recuperacin de informacin almacenada en la base de datos.


La insercin de informacin nueva en la base de datos.
El borrado de informacin de la base de datos.
La modificacin de informacin almacenada en la base de datos.

Un lenguaje de manipulacin 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 bsicamente:

LMD procedimental. Requieren que el usuario especifique qu datos se


necesitan y cmo obtener esos datos.
LMD declarativo (tambin conocidos como LMD no procedimentales).
Requieren
que
el
usuario especifique qu datos se necesitan sin especificar cmo obtener
esos datos.11

Lenguaje SQL

11 Fundamentos de Base de Datos, Abraham Silberschatz, Henry F. Korth, Mc


Graw Hill, Pg. 7

19

SQL (Structured Query Language) es el lenguaje estndar para trabajar con bases
de datos relacionales y es soportado prcticamente por todos los productos en el
mercado. Originalmente, SQL fue desarrollado en IBM Research a principios de
los aos 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 Estndar Internacional del

Lenguaje de Base de Datos SQL (1992). 12


SQL se convirti, en trminos computacionales, en un lenguaje completo (ahora
incluye instrucciones como CALL, RETURN, SET, CASE. IF, LOOP, LEAVE,
WHILE y REPEAT, as como diversas caractersticas 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 omisin como de comisin. Sin
embargo, este estndar, 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 administracin 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

12 Introduccin a los Sistemas de Base de Datos, Date. C. J., Pearson, Pg. 83

20

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

S-ar putea să vă placă și