Vous êtes sur la page 1sur 51

(C) Francisco Javier Rufo Mendo

UT8. DISEO Y CREACIN DE BASES DE DATOS


Aplicaciones Ofimticas

1. Base de datos

Definicin de Bases de Datos


Un

conjunto de informacin almacenada en diferentes sistemas auxiliares que permite acceso directo y un conjunto de programas que manipulan esos datos. Es un conjunto no redundante de datos estructurados organizados independientemente de su utilizacin y su implementacin en mquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de informacin diferente.

(C) Francisco Javier Rufo Mendo

Definicin de Base de Datos: Se puede definir como un conjunto de informacin relacionada que se encuentra agrupada estructurada. Es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos

(C) Francisco Javier Rufo Mendo

Definicin de Base de Datos: Es un conjunto de informacin relacionada que se encuentra agrupada o estructurada. Un archivo por s mismo no constituye una base de datos, sino ms bien la forma en que est organizada la informacin es la que de origen a la base de datos

(C) Francisco Javier Rufo Mendo

Definicin de Base de Datos: Coleccin de datos organizada para dar servicio a muchas aplicaciones al mismo tiempo al combinar los datos de manera que aparezcan estar en una sola ubicacin

(C) Francisco Javier Rufo Mendo

1.1. Sistemas de base de datos

Un sistema de bases de datos sirve para integrar los datos. Lo componen los siguientes elementos:
Hardware.

Mquinas en las que se almacenan las bases de datos. Incorporan unidades de almacenamiento masivo para este fin. Software. Es el sistema gestor de bases de datos. El encargado de administrar las bases de datos. Datos. Incluyen los datos que se necesitan almacenar y los metadatos que son datos que sirven para describir lo que se almacena en la base de datos.
(C) Francisco Javier Rufo Mendo

Usuarios.

Personas que manipulan los datos del sistema. Hay tres categoras:
Usuarios

finales. Aquellos que utilizan datos de la base de datos para su trabajo cotidiano que no tiene por qu tener que ver con la informtica. Normalmente no utilizan la base de datos directamente, si no que utilizan aplicaciones creadas para ellos a fin de facilitar la manipulacin de los datos. Estos usuarios slo acceden a ciertos datos. Desarrolladores. Analistas y programadores encargados de generar aplicaciones para los usuarios finales. Administradores. Tambin llamados DBA (Data Base Administrator), se encargan de gestionar las bases de datos.
(C) Francisco Javier Rufo Mendo

Caractersticas de las bases de datos:


Una base de datos contiene entidades de informacin que estn relacionadas va organizacin y asociacin. La arquitectura lgica de una base de datos se define mediante un esquema que representa las definiciones de las relaciones entre las entidades de informacin. La arquitectura fsica de una base de datos depende de la configuracin del hardware residente. Sin embargo, tanto el esquema (descripcin lgica como la organizacin (descripcin fsica) deben adecuarse para satisfacer los requerimientos funcionales y de comportamiento para el acceso al anlisis y creacin de informes.

(C) Francisco Javier Rufo Mendo

Ventajas en el uso de bases de datos:


Globalizacin de la informacin: permite a los diferentes usuarios considerar la informacin como un recurso corporativo que carece de dueos especficos. Independencia de los datos , los programas y procesos. Esto permite modificar los datos sin modificar el cdigo de las aplicaciones. Permite compartir informacin. Permite mantener la integridad en la informacin: la integridad de la informacin es una de sus cualidades altamente deseable y tiene por objetivo que slo se almacena la informacin correcta

(C) Francisco Javier Rufo Mendo

Menor

redundancia. No hace falta tanta repeticin de datos. Aunque, slo los buenos diseos de datos tienen poca redundancia. Integridad de los datos. Mayor dificultad de perder los datos o de realizar incoherencias con ellos. Mayor seguridad en los datos. Al limitar el acceso a ciertos usuarios.

(C) Francisco Javier Rufo Mendo

Acceso

a los datos ms eficiente. La organizacin de los datos produce un resultado ms ptimo en rendimiento. Menor espacio de almacenamiento. Gracias a una mejor estructuracin de los datos.

(C) Francisco Javier Rufo Mendo

Desventajas:
Instalacin

costosa. El control y administracin de bases de datos requiere de un software y hardware poderoso Requiere personal cualificado. Debido a la dificultad de manejo de este tipo de sistemas. Implantacin larga y difcil. Debido a los puntos anteriores. La adaptacin del personal es mucho ms complicada y lleva bastante tiempo.

(C) Francisco Javier Rufo Mendo

1.3. Sistemas Gestores de Bases de Datos (SGBD)

Es un conjunto de programas que se encargan de manejar la creacin y todos los accesos a las bases de datos. Se compone de:
un lenguaje de definicin de datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta.

(C) Francisco Javier Rufo Mendo

El xito del DBMS reside en mantener la seguridad e integridad de los datos. Herramientas que proporciona:

Herramientas para la creacin y especificacin de los datos. As como la estructura de la base de datos. Herramientas para administrar y crear la estructura fsica requerida en las unidades de almacenamiento. Herramientas para la manipulacin de los datos de las bases de datos, para aadir, modificar, suprimir o consultar datos. Herramientas de recuperacin en caso de desastre Herramientas para la creacin de copias de seguridad Herramientas para la gestin de la comunicacin de la base de datos
(C) Francisco Javier Rufo Mendo

Funciones de un DBMS
1.

2.

3.

Funcin de descripcin. Sirve para describir los datos, sus relaciones y sus condiciones de acceso e integridad. Adems del control de vistas de usuarios y de la especificacin de las caractersticas fsicas de la base de datos. Para poder realizar todas estas operaciones se utiliza un lenguaje de definicin de datos o DDL. Funcin de manipulacin. Permite buscar, aadir, suprimir y modificar datos de la base de datos. El DBMS proporciona una lenguaje de manipulacin de datos (DML) para realizar esta funcin. Funcin de control. Incorpora las funciones que permiten una buena comunicacin con la base de datos. Adems proporciona al DBA los procedimientos necesarios para realizar su labor.

(C) Francisco Javier Rufo Mendo

Funcionamiento de un DBMS
1. 2.

3. 4.

5.
6.

7. 8.

El proceso lanzado por el usuario llama al DBMS indicando la porcin de la base de datos que se desea tratar El DBMS traduce la llamada a trminos del esquema lgico de la base de datos. Accede al esquema lgico comprobando derechos de acceso y la traduccin fsica El DBMS obtiene el esquema fsico El DBMS traduce la llamada a los mtodos de acceso del Sistema Operativo que permiten acceder a los datos requeridos El Sistema Operativo accede a los datos tras traducir las rdenes dadas por el DBMS Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se almacenarn los datos segn se vayan recibiendo Los datos pasan del buffer al rea de trabajo del usuario (ATU) del proceso del usuario. El DBMS devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. Esto se indica al rea de comunicaciones del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATUsern utilizables por el proceso de usuario.

(C) Francisco Javier Rufo Mendo

Tipos de bases de datos


Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificacin: Segn la variabilidad de los datos almacenados

Bases de datos estticas : stas son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar decisiones. Bases de datos dinmicas :stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de una ferretera, una farmacia, un videoclub, etc.
(C) Francisco Javier Rufo Mendo

2. Modelo Entidad-Relacin (ER)

El modelo entidad-relacin est formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones grficas y lingsticas.

Entidad Cualquier tipo de objeto o concepto sobre el que se recoge informacin: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas, oficios, diseos de productos, conciertos, excursiones, etc. Las entidades se representan grficamente mediante rectngulos y su nombre aparece en el interior. Un nombre de entidad slo puede aparecer una vez en el esquema conceptual.

COCHE

EMPLEADO

CASA

Relacin (interrelacin) Es una correspondencia o asociacin entre dos o ms entidades. Cada relacin tiene un nombre que describe su funcin. Normalmente un VERBO. Las relaciones se representan grficamente mediante rombos y su nombre aparece en el interior.

FABRICAR COMPRAR

VENDER

Entidades fuertes y dbiles

Cuando una entidad participa en una relacin puede adquirir un papel fuerte o dbil. Una entidad dbil es aquella que no puede existir sin participar en la relacin, es decir, aquella que no puede ser unvocamente identificada solamente por sus atributos. Una entidad fuerte es aquella que s puede ser identificada unvocamente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad dbil para que, esta ltima, se pueda identificar. Las entidades dbiles se representan- mediante un doble rectngulo, es decir, un rectngulo con doble lnea.
(C) Francisco Javier Rufo Mendo

Cardinalidad de las relaciones

El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relacin, respectivamente: "1:1", "1:N" y "N:M", aunque la notacin depende del lenguaje utilizado, la que ms se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un smbolo cerca de la lnea que conecta una entidad con una relacin:

"0" si cada instancia de la entidad no est obligada a participar en la relacin. "1" si toda instancia de la entidad est obligada a participar en la relacin y, adems, solamente participa una vez. "N" , "M", "*" si cada instancia de la entidad no est obligada a participar en la relacin y puede hacerlo cualquier nmero de veces. Cada esposo (entidad) est casado (relacin) con una nica esposa (entidad) y viceversa. Es una relacin 1:1. Una factura (entidad) se emite (relacin) a una persona (entidad) y slo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. Es una relacin 1:N. Un cliente (entidad) puede comprar (relacin) varios artculos (entidad) y un artculo puede ser comprado por varios clientes distintos. Es una relacin N:M.
(C) Francisco Javier Rufo Mendo

Ejemplos de relaciones que expresan cardinalidad:


Atributo Es una caracterstica de inters o un hecho sobre una entidad o sobre una relacin. Los atributos representan las propiedades bsicas de las entidades y de las relaciones. Toda la informacin extensiva es portada por los atributos. Grficamente, se representan mediante crculos que cuelgan de las entidades o relaciones a las que pertenecen.

CIF

NOMBRE

DIRECCIN

EMPRESA

Identificador de una entidad : Es un atributo o conjunto de atributos que determina de modo nico cada ocurrencia de esa entidad.
No

puede existir dos ocurrencias de la entidad con el mismo valor. Si se omite cualquier atributo del identificador, la condicin anterior deja de cumplirse.

Toda entidad tienen al menos un identificador y puede tener varios identificadores alternativos.

2.1. Metodologa del diseo


1. Identificar las entidades. 2. Identificar las relaciones. 3. Identificar los atributos y asociarlos a entidades y relaciones. 4. Determinar los dominios de los atributos. 5. Determinar los identificadores. 6. Determinar las jerarquas (si las hay). 7. Dibujar el diagrama entidad-relacin.

Identificar las entidades

Definir los principales objetos que interesan al usuario: entidades. Objetos que existen por si mismo. Conforme se van identificando las entidades, se les dan nombres que tengan un significado y que sean obvias para el usuario.

Identificar las relaciones

Definir las relaciones que se dan entre las entidades. La mayora de relaciones son binarias (entre dos entidades), pero puede que participen mas de dos e incluso relaciones unarias. Determinar la cardinalidad mnima y mxima. Conforme se van identificando las relaciones, se les va asignando nombres con significado.

Identificar los atributos

Nombres que identifican propiedades, cualidades, identificadores o caractersticas de entidades o relaciones. Conforme se van identificando los atributos, se les asignan nombres que tengan significado para el usuario. De cada atributo se debe anotar la siguiente informacin:

Nombre y descripcin del atributo. Tipo de dato y longitud. Si el atributo siempre va a tener un valor (si admite o no nulos). Si el atributo es compuesto y, en su caso, qu atributos simples lo forman. Si el atributo es multivaluado.

3. Modelo relacional

En este modelo todos los datos son almacenados en relaciones, y como cada relacin es un conjunto de datos, el orden en el que stos se almacenen no tiene relevancia. Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar por un usuario no experto. La informacin puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la informacin. Este modelo considera la base de datos como una coleccin de relaciones. De manera simple, una relacin representa una tabla que no es ms que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila tambin se puede denominar tupla o registro y a cada columna tambin se le puede llamar campo o atributo. Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el lgebra relacional y el Clculo relacional. El lgebra relacional permite describir la forma de realizar una consulta, en cambio, el Clculo relacional slo indica lo que se desea devolver.

(C) Francisco Javier Rufo Mendo

3.1. Paso modelo ER a modelo relacional

Para pasar a tablas todos los datos sin dejarnos nada y que las tablas tengan sentido por si solas tenemos que seguir unos pasos:

Toda entidad se transforma en una tabla Todo atributo se transforma en una columna dentro de la tabla a la que pertenece El identificador de la entidad se convierte en la clave primaria de la tabla Toda relacin N:M se convierte en una tabla que tendr como clave primaria las dos claves primarias de las entidades que se asocian En las relaciones 1:N la clave primaria de la entidad con cardinalidad N pasa a la tabla de la entidad cuya cardinalidad es 1.
(C) Francisco Javier Rufo Mendo

3.2. Normalizacin

El proceso de normalizacin de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelo relacional. Las bases de datos relacionales se normalizan para:

Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una tabla sea considerada como una relacin tiene que cumplir con algunas restricciones: Cada tabla debe tener su nombre nico. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo.
(C) Francisco Javier Rufo Mendo

Dependencia funcional: Es una conexin entre uno o ms atributos. Por ejemplo si se conoce el valor de FechaDeNacimiento podemos conocer el valor de Edad. Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimiento Edad Aqu a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formas FechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente deFechaDeNacimiento.
(C) Francisco Javier Rufo Mendo

Formas Normales: Son aplicadas a las tablas de una base de datos. Decir que una base de datos est en la forma normal N es decir que todas sus tablas estn en la forma normal N. En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayora de las bases de datos.

(C) Francisco Javier Rufo Mendo

4. Elaboracin de bases de datos con Base

(C) Francisco Javier Rufo Mendo

(C) Francisco Javier Rufo Mendo

(C) Francisco Javier Rufo Mendo

4.1. Creacin de tablas

InsertarDiseo de tabla

(C) Francisco Javier Rufo Mendo

Tipos de datos soportados

Campos tipo texto:


TEXTO

[VARCHAR]: Este tipo de dato puede contener letras, signos de puntuacin o nmeros que no vayan a ser utilizados en operaciones matemticas. Como mximo se podrn introducir 255 caracteres en cada campo. NOTA [LONGVARCHAR]: Se utiliza para almacenar en ellos gran cantidad de informacin. Se pueden almacenar hasta 64.000 caracteres por cada campo.

(C) Francisco Javier Rufo Mendo

Campos de tipo numrico:

INTEGER [INT]: Permite introducir nmeros enteros (positivos o negativos) comprendidos entre -2.147.483.648 y 2.147.483.647. Ocupa 4 bytes. TINY INTEGER [TINYINT]: Admite valores enteros comprendidos entre 0 y 255. (Ej. nmero hijos, edad). Ocupa 1 byte. SMALL INTEGER [SMALLINT]: Permite introducir nmeros enteros (positivos o negativos) comprendidos entre -32.768 a 32.767. Opcupa 2 bytes. NUMERO [NUMERIC]: Permite introducir nmeros con cifras decimales. DECIMAL [DECIMAL]: Permite introducir nmeros con cifras decimales. DOUBLE [DOUBLE]: admite valores comprendidos entre -1,797 x 10308 y 1,797 x 10308, permitiendo hasta quince decimales. Ocupa 8 bytes.

(C) Francisco Javier Rufo Mendo

Campos de Fecha y hora:

FECHA [DATE]: Para almacenar valores de fecha. HORA [TIME]: Para almacenar horas o tambin el tiempo transcurrido entre dos valores horarios. FECHA/HORA [TIMESTAMP]: Se utiliza cuando se necesitan valores que contienen informacin de fecha y hora, en el mismo campo.

Informacin.- Por defecto, los formatos en los que se presentan los datos para campos de tipo fecha y hora son los siguientes:

Date: DD-MM-YY (Ej. 12-06-98) Time: HH:MM:SS (Ej: 12:45:20) Fecha/Hora: DD-MM-YY HH:MM:SS (Ej. 12-06-98 12:45:00)

A travs de la propiedad formato podremos cambiarlos y acomodarlos a nuestras necesidades.

(C) Francisco Javier Rufo Mendo

Campos de tipo lgico:


S/No

[BOOLEAN]: Este tipo de campos slo admite valores lgicos como son: S (con acento) o No, verdadero o Falso y Activado o Desactivado. [LONGVARBINARY]: Este tipo de campo nos va a ser muy til para asociar una imagen a cada registro de la tabla.

Otros campos:
IMAGEN

(C) Francisco Javier Rufo Mendo

Establecer clave primaria:


Seleccionar

campos. Botn derecho Llave primaria

Guardar tabla:

(C) Francisco Javier Rufo Mendo

4.2. Gestin de datos

Doble clic en tabla deseada.

(C) Francisco Javier Rufo Mendo

4.3. Modificacin tabla


Seleccionar tabla Clic derecho Editar

(C) Francisco Javier Rufo Mendo

4.4. Relaciones entre tablas


Herramientas Relaciones Las relaciones existentes se muestran en la ventana de relaciones mediante una lnea que conecta la llave primaria y otros campos de llaves. Se puede aadir una relacin arrastrando un campo de una tabla y soltndolo sobre el campo de la otra tabla. Para suprimir una relacin, seleccinela y pulse la tecla Supr. Otra posibilidad es pulsar en el smbolo Relacin nueva situado en la parte superior de la ventana y definir la relacin entre las dos tablas en el dilogo Relaciones.
(C) Francisco Javier Rufo Mendo

(C) Francisco Javier Rufo Mendo

(C) Francisco Javier Rufo Mendo

Opciones de actualizacin Aqu puede seleccionar opciones que surten efecto si hay modificaciones en un campo de llave primario.

Ninguna accin: Especifica que los cambios efectuados en una clave principal no afectan a otros campos de claves externos. Actualizar cascada: Seleccione esta opcin para actualizar todos los campos de clave externos si se modifica el valor de la clave principal correspondiente. Poner cero: Si se ha modificado la clave principal correspondiente, emplee esta opcin para definir el valor "Es nulo" para todos los campos de claves externos. "Es nulo" significa que el campo est vaco. Predeterminar: Si se ha modificado la clave principal correspondiente, emplee esta opcin para definir un valor predeterminado para todos los campos de claves externos. Durante la creacin de la tabla correspondiente, se define el valor predeterminado de un campo de clave externo cuando se asignan las propiedades de campo.

Opciones de eliminacin
Aqu puede seleccionar opciones que surten efecto cuando se borra un campo de llave primario.

Ninguna accin: Especifica que el borrado de una clave principal no tenga ningn efecto sobre otros campos de claves externos. Borrar cascada: Especifica que todos los campos de claves externos se borrarn si se borra el campo de clave principal correspondiente. Al borrar un campo de llave primario con la opcin Borrar cascada, todos los registros de otras tablas con esta llave como llave externa se borrarn tambin. Utilice esta opcin con cuidado; es posible que se borre una parte importante de la base de datos. Poner cero: Si borra la clave principal correspondiente, el valor "Es nulo" se asignar a todos los campos de claves externos. Predeterminar: Si borra la clave principal correspondiente, se asignar un valor especfico a todos los campos de claves externos.

(C) Francisco Javier Rufo Mendo