una base de datos o banco de datos

Upload: robert-coronel

Post on 17-Jul-2015

1.024 views

Category:

Documents


0 download

TRANSCRIPT

Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos SGBD, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica. Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios pases. Por ejemplo, en Espaa los datos personales se encuentran protegidos por la Ley Orgnica de Proteccin de Datos de Carcter Personal (LOPD). Contenido [ocultar]

1 Tipos de base de datos o 1.1 Segn la variabilidad de los datos almacenados 1.1.1 Bases de datos estticas 1.1.2 Bases de datos dinmicas o 1.2 Segn el contenido 1.2.1 Bases de datos bibliogrficas 1.2.2 Bases de datos de texto completo 1.2.3 Directorios 1.2.4 Bases de datos o "bibliotecas" de informacin qumica o biolgica 2 Modelos de bases de datos o 2.1 Bases de datos jerrquicas o 2.2 Base de datos de red o 2.3 Bases de datos transaccionales o 2.4 Bases de datos relacionales o 2.5 Bases de datos multidimensionales o 2.6 Bases de datos orientadas a objetos o 2.7 Bases de datos documentales

2.8 Bases de datos deductivas 2.8.1 Lenguaje 2.8.2 Ventajas 2.8.3 Desventajas 2.8.4 Fases 2.8.5 Interpretacin 2.8.6 Mecanismos o 2.9 Gestin de bases de datos distribuida (SGBD) 3 Vase tambino

Tipos de base de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se est manejando, la utilidad de las mismas o las necesidades que satisfagan. Segn la variabilidad de los datos almacenados Bases de datos estticas 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, tomar decisiones y realizar anlisis de datos para inteligencia empresarial. Bases de datos dinmicas stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin, borrado 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 un supermercado, una farmacia, un videoclub o una empresa. Segn el contenido Bases de datos bibliogrficas Slo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque si no, estaramos en presencia de una base de datos a texto completo (o de fuentes primarias ver

ms abajo). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras. Bases de datos de texto completo Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una coleccin de revistas cientficas. Directorios Un ejemplo son las guas telefnicas en formato electrnico. Bases de datos o "bibliotecas" de informacin qumica o biolgica Son bases de datos que almacenan diferentes tipos de informacin proveniente de la qumica, las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos:

Las que almacenan secuencias de nucletidos o protenas. Las bases de datos de rutas metablicas. Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomolculasBases de datos clnicas. Bases de datos bibliogrficas (biolgicas, qumicas, mdicas y de otros campos): PubChem, Medline, EBSCOhost.

Modelos de bases de datos Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos: Bases de datos jerrquicas Artculo principal: Base de datos jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo

que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red Artculo principal: Base de datos de red. ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales. Bases de datos transaccionales Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad, datos de produccin e industrial, es importante entender que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de informacin no es un problema como con las dems bases de datos, por lo general para poderlas aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transaccin es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atmicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una cada del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna. Bases de datos relacionales

Artculo principal: Modelo relacional. Artculo principal: Base de datos relacional. ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales. Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin de una base de datos. Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestin. Bases de datos multidimensionales Artculo principal: Base de datos multidimensional. Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podra serlo tambin en una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se desean estudiar.

Bases de datos orientadas a objetos Artculo principal: Base de datos orientada a objetos. Este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

Encapsulacin - Propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos. Herencia - Propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases. Polimorfismo - Propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La implementacin (o mtodo) de la operacin se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden operar sobre los datos invocando a dichas operaciones a travs de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podra denominarse independencia entre programas y operaciones. SQL:2003, es el estndar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92. Bases de datos documentales Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de datos. Bases de datos deductivas Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de que se basa en lgica matemtica. Este tipo de base de datos surge debido a las

limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos. Lenguaje Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basndose en los hechos y reglas almacenados. Ventajas

Uso de reglas lgicas para expresar las consultas. Permite responder consultas recursivas. Cuenta con negaciones estratificadas Capacidad de obtener nueva informacin a travs de la ya almacenada en la base de datos mediante inferencia. Uso de algoritmos de optimizacin de consultas. Soporta objetos y conjuntos complejos.

Desventajas

Crear procedimientos eficaces de deduccin para evitar caer en bucles infinitos. Encontrar criterios que decidan la utilizacin de una ley como regla de deduccin. Replantear las convenciones habituales de la base de datos.

Fases

Fase de Interrogacin: se encarga de buscar en la base de datos informaciones deducibles implcitas. Las reglas de esta fase se denominan reglas de derivacin. Fase de Modificacin: se encarga de aadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generacin.

Interpretacin Encontramos dos teoras de interpretacin de las bases de datos deductivas:

Teora de Demostracin: consideramos las reglas y los hechos como axiomas.

Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.

Teora de Modelos: una interpretacin es llamada modelo cuando para un conjunto especfico de reglas, stas se cumplen siempre para esa interpretacin. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuacin se debe verificar si ese predicado es verdadero o falso.

Mecanismos Existen dos mecanismos de inferencia:

Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia. Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.

Gestin de bases de datos distribuida (SGBD) La base de datos y el software SGBD pueden estar distribuidos en mltiples sitios conectados por una red. Hay de dos tipos: 1. Distribuidos homogneos: utilizan el mismo SGBD en mltiples sitios. 2. Distribuidos heterogneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonoma local y tienen acceso a varias bases de datos autnomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura clienteservidor. Estas surgen debido a la existencia fsica de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder as a distintas universidades, sucursales de tiendas, etctera. Vase tambin

Sistema de gestin de base de datos Modelo relacional, normalizacin de bases de datos Base de datos orientada a objetos Almacn de datos Minera de datos Base de datos biolgica Base de datos probabilstica

DesarrolloWeb.com > Manuales > Manual de iniciacin a la programacin

Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management System) es una coleccin de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definicin de datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a distintos niveles de abstraccin y manipular dichos datos, garantizando la seguridad e integridad de los mismos. Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc. Un SGBD debe permitir: Definir una base de datos: especificar tipos, estructuras y restricciones de datos. Construir la base de datos: guardar los datos en algn medio controlado por el mismo SGBD Manipular la base de datos: realizar consultas, actualizarla, generar informes. Las caractersticas de un Sistema Gestor de Base de Datos SGBD son: Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Redundancia mnima. Un buen diseo de una base de datos lograr evitar la aparicin de informacin repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los clculos hace necesaria la aparicin de redundancias. Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea. Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra segurizada frente a usuarios malintencionados, que intenten leer informacin privilegiada; frente a ataques que deseen manipular o destruir la informacin; o simplemente ante las torpezas de algn usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra

circunstancia capaz de corromper la informacin almacenada. Respaldo y recuperacin. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la informacin almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. Control de la concurrencia. En la mayora de entornos (excepto quizs el domstico), lo ms habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar informacin, bien para almacenarla. Y es tambin frecuente que dichos accesos se realicen de forma simultnea. As pues, un SGBD debe controlar este acceso concurrente a la informacin, que podra derivar en inconsistencias.

El gestor de la base de datos Se trata de un conjunto de programas no visibles al usuario final que se encargan de la privacidad, la integridad, la seguridad de los datos y la interaccin con el sistema operativo. Proporciona una interfaz entre los datos, los programas que los manejan y los usuarios finales. Cualquier operacin que el usuario hace contra la base de datos est controlada por el gestor. El gestor almacena una descripcin de datos en lo que llamamos diccionario de datos, as como los usuarios permitidos y los permisos. Tiene que haber un usuario administrador encargado de centralizar todas estas tareas. Diccionario de datos Es una base de datos donde se guardan todas las propiedades de la base de datos, descripcin de la estructura, relaciones entre los datos, etc. El diccionario debe contener:

La descripcin externa, conceptual e interna de la base de datos Las restricciones sobre los datos El acceso a los datos Las descripciones de las cuentas de usuario Los permisos de los usuarios Los esquemas externos de cada programa

El administrador de la base de datos Es una persona o grupo de personas responsables del control del sistema gestor de base de datos. Las principales tareas de un administrador son:

La definicin del esquema lgico y fsico de la base de datos

La definicin de las vistas de usuario La asignacin y edicin de permisos para los usuarios Mantenimiento y seguimiento de la seguridad en la base de datos Mantenimiento general del sistema gestor de base de datos

Los lenguajes Un sistema gestor de base de datos debe proporcionar una serie de lenguajes para la definicin y manipulacin de la base de datos. Estos lenguajes son los siguientes:

Lenguaje de definicin de datos (DDL). Para definir los esquemas de la base de datos Lenguaje de manipulacin de datos (DML). Para manipular los datos de la base de datos Lenguaje de control de datos(DCL). Para la administracin de usuarios y seguridad en la base de datos. Se puede definir una base de datos, como un fichero se guarda en campos o delimitadores, por ejemplo, podemos almacenar el nombre y el apellido de las personas de modo separado, de sta forma es posible obtener del fichero todos los nombres o todos los apellidos, tanto de forma separada como conjunta. Normalmente el nmero de campos que se tienen en una base vara segn las necesidades en cuanto a gestin de datos, de forma que despus se pueda explotar la informacin de forma ordenada y separada, aunque el resto de la informacin sigue almacenada y guardada en la base de datos Una base de datos, no es solo el fichero en donde estn datos, sino que en dicho archivo se encuentra la estructura de los datos, osea, para saber que longitud tiene para contener desde letras a nmeros o incluso otros datos ms complejos, dependiendo de la estructura de la base y del sistema gestor. En realidad aparte de los datos que son almacenados en el archivo, tambin hay una serie de datos, en los que se informa del tipo de campo, los campos y la longitud de cada campo, es lo que se llama gestor de datos, que permite saber que cada registro (un registro es una suma de campos, por ejemplo a Ana LOPEZ LOPEZ, Ana lo guardamos en el campo Nombre y LOPEZ LOPEZ en el campo Apellidos, cada registro es cada persona que almacenamos en la base, osea una persona es un registro y cada registro est constituido por los campos Nombre y Apellido Un Sistema de Bases de Datos (SBD) es una serie de recursos para manejar grandes volmenes de informacin, sin embargo no todos los sistemas que manejan informacin son bases de datos. Un sistema de bases de datos debe responder a las siguientes caractersticas: ==== ~- Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicacin puede hacer uso de los datos.

~- Reduccin de la Redundancia. Llamamos redundancia a la existencia de duplicacin de los datos, al reducir sta al mximo conseguimos un mayor aprovechamiento del espacio y adems evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios. ~- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos. ====

2. Base de Datos 3. Componentes de una Base de Datos 4. Tipos de Usuarios en Base de Datos 5. Conceptos Bsicos de Base de datos 6. Niveles de Abstraccin en Base de datos 7. DBMS 8. Integridad de Datos 9. 10. Recuperacin de Datos 11. Mirror o Espejo 12. Seguridad de los Datos 13. Control y Administracinde Recursos 14. Ciclo de vida de las operaciones de Base de datos 15. Diseo de Base de datos 16. Modelo Entidad Relacin 17. Ejercicios Es un sistema que almacena datos que estn relacionados. Es un repositorio en donde guardamos informacin integrada que podemos almacenar y recuperar.

Un conjunto de informacin almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos

Componentes de una Base de Datos:

Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc. Software: que es el DBMS o Sistema Administrador de Base de Datos.

Datos: los cuales estn almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en informacin.

Tipos de Usuarios en Base de Datos

Usuario Final: es la persona que utiliza los datos, esta persona ve datos convertidos en informacin: Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactun con la Base de Datos. DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de Base de Datos quien sed encarga de realizar el mantenimiento diario o peridico de los datos.

Las personas tienen acceso DBMS se clasifican de la siguiente manera: USUARIOS INGENUOS. Son aquellos que interactuan con el sistema por medio de aplicaciones permanentes. USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la informacin por medios de lenguajes de consulta. PROGRAMADORES DE APLICACIN.- son aquellos con un amplio dominio del DML capaces de generar nuevos mdulos o utilerias capaces de manejar nuevos datos en el sistema. USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan mdulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imgenes, procesamiento de audio y dems.

Conceptos Bsicos de Base de datos

Archivo: son conjuntos de registros. Registros: son conjuntos de campos. Campos: es la minma unidad de referencia.

Niveles de Abstraccin en Base de datos

Externo: esa es la visin del usuario final, se ve como se maneja los datos ya convertidos en informacin. Es aquel en el que se presenta al usuario final y que puede combinaciones o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la informacin y sus relaciones. Conceptual: se ve como esta estructurado la Base Datos, equipos de campo tiene como estan estructurado los registros. Es aquel en el que se definen las estructuras lgicas de almacenamiento y las relaciones que se darn entre ellas. Ejemplos comunes de este nivel son el diseo de los registros y las

ligas que permitirn la conexin entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos. Interno: se ve como se almacena los datos fisicamente. Es aquel en el que se determinan las caractersticas de almacenamiento en el medio secundario. Los diseadores de este nivel poseen un amplio dominio de cuestiones tcnicas y de manejo de hardware. Muchas veces se opta por mantener el nivel fsico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo. DBMS(Data Managment System (Sistema Administrador de Base de Datos) ) Los Sistemas Gestores de Bases de Datos son un tipo de software muy especfico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definicin de datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los trminos SGBD y DBMS, siendo ambos equivalentes, y acrnimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresin inglesa. Subsistema de un DBMS

Motor Ncleo DBMS: recibe los requerimientos lgicos de E/S y los convierte en operaciones de lectura y escritura. Lgicos: son cualquier tipo de consulta requerimiento de lectura con ingreso de datos (requerimiento de estructura) es ayudado por el Sistema Operativo para convertir estos requerimientos lgicos en fsicos que actun sobre dispositivos de almacenamiento. Herramientas de definicin: permite definir y modificar la estructura de la Base de Datos, a este nivel definimos lo que se conoce como "Esquema " que es la definicin total de Base de Datos, es que definimos la estructura de la tabla, los tipos de campos, las restricciones para los campos.

Subesquema: manejo de vistas de datos, de niveles externos. Esquema: manejo de niveles conceptuales.

Interface de Procesamiento: me provee de las facilidades de actualizacin, despliegue y visualizacin de datos. Desarrollo de Aplicaciones: me permite generar una aplicacin por Ej: generadores de formas, pantalla, cdigo, herramientas case, etc. Diccionario de Datos: este es el componente al subsistema con el que interactun directamente el DBA, le proporciona niveles de consulta y reportes tiles para su trabajo de administracin. Es la descripcin de la estructura de Base de Datos y relaciones entre datos, y programas. DBMS Caractersticas y Objetos:

Independencia de Datos: el DBMS me provee una independencia de mis datos vs. las aplicaciones. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).

Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de Almacenamiento.

Independencia de datos es proteger nuestro programa de aplicaciones frente a las modificaciones en la estructura de datos y viceversa, ya sea en forma fsica lgica.

Independencia Fsica: es proteccin a los programas de aplicacin debido a cambios en la estructura de archivos, con cambios en las caractersticas de los campos. Ej: cambio de clave primaria a secundaria. Independencia Lgica: proteccin a los programas de aplicacin cuando se modifica el esquema.

Redundancia, datos repetidos y distribuidos en cualquier parte. El efecto que ocasiona la redundancia es tener inconsistencia de datos y desperdicio de espacio de almacenamiento. Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos.

Inconsistencia de Datos: dato que esta en lugar con un valor y encuentra en otro lugar con otro valor. Ej: se actualiza el archivo cliente pero no se actualiza el archivo de transacciones.

Ocurre cuando existe informacin contradictoria o incongruente en la base de datos. Integridad de Datos Integridad: conjunto de seguridades que son utilizadas para mantener los datos correctos. Ocurre cuando no existe a travs de todo el sistema procedimientos uniformes de validacin para los datos.

Fuente de Error: estas fuentes de error se origina si el programa de entrada de datos no esta validado. Ej: fallas de hardware, actualizaciones incompletas, defectos del software, insercin de datos no vlidos, errores humanos.

Una tcnica que usa el BDMS de una entrada de datos no vlida es la validacin. Validacin: es proteger los datos, validar los datos en la entrada de datos. Existen tipos de validaciones:

Tipo de Dato: es si se define un campo como carcter char y no puede ingresar nmeros enteros. Valor de Dato: si se define un valor entero se puede especificar un rango y no se puede pasar de ese valor. Valores Claves / No Nulos: asegura registros nicos y cuyos valores no sean nulos. Integridad Referencial: asegura al DBMS que no exista registros hijos sin sus registros padres correspondientes.

Control de Concurrencia Simultaniedad Se da en ambiente multi-usuario, tratando de acceder aun objeto de datos al mismo tiempo. Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar los procesos que afectan a la base de datos. Comnmente se refiere a la poca o nula efectividad de los procedimientos de bloqueo Granularidad: que es el tamao de las unidades aseguradas. Ej: la granularidad puede proteger un campo, un registro, un archivo,etc.

Dead-look(bloqueo): es la tcnica que evita errores de concurrencia, se da cuando se desarrolla una espera circular entre dos transacciones y cada una de estas solicita una actualizacin sobre el mismo archivo, no permite a otros usuarios el recurso hasta que trmine el proceso, se da la espera circular. Recuperacin de Datos

Recuperar los datos frente a las fuentes de error mencionadas anteriormente. La restauracin de la Base de Datos a su estado normal es responsabilidad del DBA, quien esl el responsable de implantar procedimientos de deteccin de error y recuperacin. El DBA es quien tiene el control centralizado de la base de datos. Se persigue con esto reducir el nmero de personas que tengan acceso a los detalles tcnicos y de diseo para la operacin del DBMS. Las soluciones principales de un DBA son: DEFINICION DEL ESQUEMA.- Crea el esquema original de la base de datos y genera el diccionario de datos por medio de proposiciones en DDL. DEFINICION DE ESTRUCTURAS DE ALMACENAMIENTO Y METODOS DE ACCESO.- Se encarga de generar a seleccionar estructuras para el medio secundario y definir los mtodos de acceso a la informacin, esto ultimo por medio de proposiciones en DML. MODIFICACION DE ESQUEMA Y ORGANIZACIN.- Es una actividad poco frecuente que consiste en redisear el esquema de la base de datos. Esto se hara necesario ante la modificacin abrupta de las condiciones originales que dieron pie al diseo del esquema primario. Las proposiciones para llevar a cabo esta tarea se realizan en DDL. CONCESION DE AUTORIZACIONES DE ACCESO.- Se encarga de registrar a los usuarios para permitir su acceso al DBMS. Asigna a cada uno de ellos una serie de atributos que le permiten gozar de privilegios como el acceso a determinadas reas de aplicacin, de los datos o del uso de recursos en el sistema. ESPECIFICACION DE LAS LIMITANTES DE INTEGRIDAD.- Crea una serie de tablas donde se especifica el conjunto de restricciones que sern aplicables durante los procesos de actualizacin Para recuperar: Backup(respaldo): disco duro,cinta.

Backup caliente: Base de Datos esta operativa. Backup frio: Base de Datos no esta operativa.

Mirror o Espejo

Archivos de Logs: (registro de transaccin) Son las transacciones diarias que se registran en la Base de Datos. Cuando ocurre un problema se acude a los archivos de logs se hace un REVERSO y tambin se puede recuperar la ltima transaccin que se hizo. Seguridad de los Datos Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el sistema, facilitando as el acceso a intrusos. La seguridad de los datos se puede definir en las siguientes aspectos:

Objeto a asegurar: el primer objeto a asegurar son los objetos, programas y finalmente al esquema. Codificacin de Claves: el DBMS provee la seguridad de los Login (usuario y password). Control de Acceso: se especifican seguridades contra accesos indicados orientado a personas no autorizada.

Control y Administracinde Recursos El DBMS debe proveer al DBA de todos los mecanismos para control y administracin de recursos. Para que el DBA con integridad de datos, recuperacin de errores e implementacin de seguridad. Establecimiento de Relaciones entre Datos El BDMS debe proveer los recursos para el establecimiento de relaciones entre los datos, cuales son las relaciones: 1 -> 1, 1 -> n, n -> n Ciclo de vida de las operaciones de Base de datos Etapas:

Planificacin del Proyecto

Definicin del Sistema Recoleccin y Anlisis de los Requisitos Diseo de la Base de Datos Seleccin del SGDB / DBMS Diseo de la Aplicacin Prototipo Implementacin Conversin y Carga de datos Prueba Mantenimiento

Estas etapas no son estrictamente secuenciales de hecho hay que repetir algunas de las etapas varias veces haciendo lo que se conoce como "Ciclos de Re-alimentacin" por Ej: los problemas que se encuentran en la etapa de Diseo de la Base de Datos pueden requerir una recoleccin de requisitos adicional y su posterior anlisis. El ciclo de vida de un desarrollo de una base de datos consta de siete pasos: Anlisis de las necesidades Estudio de viabilidad Definicin de requisitos Diseo conceptual / lgico Implementacin Evaluacin y Mantenimiento Planificacin del Proyecto: Esta etapa con lleva la planificacin de como se puede llevar acabo las etapas de ciclo de vida de la manera ms eficiente, hay tres componentes principales:

El trabajo que se va arealizar. Los recurso para llevarlo acabo. El dinero para pagar todo ello.

Definicin del Sistema En esta etapa se especifica el mbito y los ndices de la aplicacin de la Base de Datos as como con que otros sistemas interactua. Tambin hay que determinar quienes son los usuarios y las reas de la aplicacin. Recoleccin y Anlisis de los Requisitos:

En esta etapa se recoge y analiza los requerimientos de los usuarios y de las reas de aplicacin. Esta informacin se la puede recoger de varias formas:

Entrevistando el personal de la empresa concretamente aquellos que son considerando expertos en la rea que se de. Observando el funcionamiento de la empresa. Examinando documentos sobre todo aquellos que se utilizan para recoger o visualizar la informacin. Utilizando cuestionario para recoger informacin de grandes grupos de usuarios. Utilizan la experiencia adquirida en el Diseo de Sistemas similares.

Esta etapa tiene como resultado en conjunto de documentos con las especificaciones de requisitos de los usuarios en donde se describen las operaciones que se realizan en la empresa desde distintos puntos de vista. Los requisitos de desarrollo involucran el software y hardware necesario para la implementacin, los recursos humanos necesarios (tanto internos como externos), la formacin al personal. Diseo de Base de datos: En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las especificaciones hasta el punto en que puede comenzar la implementacin. Durante esta etapa se crean modelos detallados de las vistas de usuario y sobre todo las relaciones entre cada elemento del sistema, documentando los derechos de uso y manipulacin de los diferentes grupos de usuarios. Si parte de la informacin necesaria para crear algn elemento establecido ya se encuentra implementado en otro sistema de almacenamiento hay que documentar que relacin existir entre uno y otro y detallar los sistemas que eviten la duplicidad o incoherencia de los datos. El diseo consta, como se vio anteriormente, de tres fases: el diseo global o conceptual, el diseo lgico y el modelo fsico. Esta etapa consta de tres fases: diseo conceptual, diseo lgico, diseo fisico de la Base de Datos. La primera fase consiste en la produccin de un esquema conceptual que es independiente de todos los consideraciones fisicas.este modelo se refina despus en un esquema lgico eliminando las construcciones que no se puede representar en el modelo de Base de Datos escogido (relacional, orientado a objeto,etc). En la tercera fase el esquema lgico que traduce un esquema fisico para el sistema gestor de Base de Datos escogido. La fase de diseo fisico considera las estructuras de

almacenamiento y los mtodos de acceso necesarios para proporcionar un acceso eficiente a la Base de Datos en memoria secundaria. Seleccin del SGBD / DBMS: Si no se dispone de un Sistema Gestor de Base de Datos o que se encuentre obsoleto se debe escoger un SGBD que sea adecuado para el sistema de informacin esta eleccin se debe hacer en cualquier momento antes del diseo lgico. Diseo de aplicacin: En esta etapa de disea los programas de aplicacin que usarn y aplicar la Base de Datos, esta etapa el diseo de la Base de Datos son paralelos en la mayor parte de los casos no se puede finalizar el diseo de las aplicaciones hasta que se a terminado el diseo de Base de Datos. Por otra lado la Base de Datos exige para dar soporte a las aplicaciones por lo que ahora una retroalimentacin desde el diseo de las aplicaciones al diseo de la Base de Datos. En esta etapa hay que asegurarse de que toda la funcionalidad especificada en los requisitos de usuarios se encuentra en el diseo de la aplicacin. Prototipo: Esta etapa es opcional es para construir prototipo de la aplicain que permiten a los diseadores y al usuario probar el sistema, un prototipo es un modelo de trabajo de las aplicaciones del sistema. El prototipo no tiene toda la funcionalidad del sistema final pero es suficiente para que los usuarios puedan usar el sistema e identificar que aspectos estan bien, cuales no son adecuados adems de poder sugerir mejora la inclusin de nuevos elementos. Implementacin: En esta etapa se crean las definiciones de la Base de Datos a nivel conceptual externo interno, as como los programas de aplicacin la implementacin de la Base de Datos se realiza mediante las sentencias SQL, estas sentencias se encargan de crear el sistema d la base, los ficheros donde se almacenarn los datos y las vistas de los usuarios. Los programas de aplicacin se implementan utilizando lenguaje de tercera y cuarta generacin, partes de estas aplicaciones son transacciones de la Base de Datos que se implementan tambin mediante lenguaje SQL. La sentencia de este lenguaje se pueden embeber en un lenguaje de programcin anfitrion como Visual Basic,Java, etc. Tambin se implementan en esta etapa todos l,os controles de seguridad e integridad.

Una vez totalmente detallado el modelo conceptual se comienza con la implementacin fsica del modelo de datos, a medida que se va avanzando en el modelo el administrador del sistema va asegurando la correccin del modelo y el validador la utilidad del mismo. Conversin y Carga de datos: Esta etapa es necesaria cuando se esta reemplazando un sistema antiguo por uno nuevo. Los datos se cargan desde el sistema viejo al nuevo directamente si es necesario se convierte al formato que requiera el nuevo SGBD y luego se carga esta etapa se la suele llamar "Migracin". Prueba: En esta etapa se prueba y vlida el sistema con los requisitos especificados por los usuarios. Para ello se debe disear una materia de test con datos reales que se deben llevar acabo de manera metdica y rigurosa. Si la fase de prueba se lleva correctamente descubrir los errores en los programas de aplicacin y en la estructura de la Base de Datos. Mantenimiento: Una vez que el sistema esta completamente probado o implementado se pone en marcha. El sistema esta ahora en la fase de mantenimiento en la que se lleva acabo los siguientes tareas: monitoreo de las prestaciones del sistema y mantenimiento, y actualizacin del sistema. En esta ltima etapa todos los usuarios del sistema acceden a la base de datos y deben asegurarse el correcto funcionamiento de la misma, que sus derechos son los adecuados, teniendo a su disposicin cuanta informacin necesiten. Tambin debern asegurarse que el acceso a los datos es cmodo, prctico, seguro y que se han eliminado, en la medida de lo posible, las posibilidades de error. El administrador se asegura que todos los derechos y todas las restricciones han sido implementadas correctamente y que se ha seguido en manual de estilo en la totalidad de la implementacin Modelo Entidad Relacin

Modelaje: es el proceso mediante el cual podemos identificar las propiedades dinmicas estticas de un dominio de aplicacin con mira a su transformacin en un diseo interpretable en un sistema computarizado. Es el plasmar los requerimientos de los usuarios en un programa para poder implementarlo. Entidad: es el objeto sobre el cual se requiere mantener almacenar informacin. Relacin: es la asociacin significativa y estable entre dos entidades

Atributo: son las propiedades que describen y califican una entidad. Ej: Entidad cliente(nombre, apelliido, direccin, edad, sexo)

Las entidades se las representa mediante cajas que se colocan el nombre de la entidad con letras maysculas. Ej:

Las relaciones se representan con lneas que conectan las cajas de las entidades. Ej:

Los atributos se incluyen dentro de las cajas de las entidades y se escriben con minsculas. Ej:

Entidades: se puede considerar entidades a los sujetos, objetos, a los eventos, a los lugares y a los abstracciones.

Relaciones: las relaciones tiene tres propiedades caractersticas:

Grado Cardinalidad: que se clasifica en:

Opcionalidad: es la participacin obligatoria u opcional en la entidad de la relacin.

Leyenda: es una expresin que escribe el rol de cada entidad en la relacin.

Como se lee el Grado Cardinalidad:

Uno a muchos: una instancia de la entidad A se relaciona con una ms instancias de la entidad B.

Muchos a muchos: una instancia de la entidad A se relaciona con una ms instancias de la entidad B y una instancia de la entidad B se relaciona con uno ms instancias de le entidad B.

Uno a uno: una instancia de la entidad A se relaciona con uno y slo unainstancia de la entidad B.

Relacin Recursiva Una instancia de una entidad se asocia con instancia de si misma, es opcional en los dos extremos,es decir, no hay el carcter de obligatorio. Ej:

Atributo: Los atributos son empleados para identificar, describir, calificar expresar el estado de una entidad. Todo entidad posee un atributo combinacin de atributos que se denomina "clave primaria" y que emplea para diferenciar cada instancia de los dems. Adicionalmente los atributos pueden ser obligatoriou opcionales.

A los atributos que forman parte de la clave primaria se los identifica anteponiendoles el signo de numero (#). A los atributos obligatoriose les antepone el asterisco (*). A los atributos opcionales se les antepone un circulo (o).

Ejemplo:

En un diagrama entidad-relacin tambin puede agrupar las entidades en supertipo y en subtipo.

Los supertipo agrupa a dos ms entidades subtipo. Los subtipo heredan los atributos de las entidades supertipo.

Cada subtipo puede tener relaciones propias independientes del supertipo. Los subtipos se representan como cajas dibujadas dentro de la caja del supertipo.

EJERCICIOS: COMPAA DE BOTES SAN JUAN San Juan es un agente que renta embarcaciones a los clientes por una determinada tarifa. San Juan no posee barcos, en lugar de eso los arrienda a nombre a los propietarios que deseen obtener ingresos cuando no usan sus botes. Por tal servicio San Juan cobra una cuota y se especializa en barcos que puedan usarse para viajes de varios das o semanas. La embarcacin ms pequea tiene 28 pies de largo y la ms grande es de 44. Cada barco esta por completo equipado cuando se renta; gran parte del equipo proporciona el

propietario, San Juan agrega otra parte. El equipo que proporciona el propietario incluye lo que es parte del bote como: radio, brjula, indicadores de profundidad. Otros importantes instrumentos como estufas y refrigeradores. Otros que proporciona el propietario no estn instalados como parte del bote tales implementos incluyen velas, cuerdas, anclas bolsas de caucho, salvavidas, y en la cabina platos, cubiertos, utensilios de cocina, etc. San Juan aporta el equipo de consumo que podra considerarse como provisiones, libros, jabn, toallas de cocina y artculos similares. Una importante responsabilidad de San Juan es registrar el equipo que este en el bote, en particular lo que no estn fijos en la embarcacin. San Juan prefiere conservar registros precisos de sus clientes y los viajes para tener estadsticas de cuales clientes han ido y en que viaje; algunos itinerarios son ms peligrosos que otros por tal motivo a San Juan le gustara saber que clientes tienen determinado experiencias. En algunos viajes los clientes solicitan servicios de una tripulacin y San Juan contrata por hora a tales personas. Las embarcaciones necesitan mantenimiento, San Juan incluye servicios precisos de todos esos procesos y costos de mantenimiento incluyendo actividades normales como limpieza, cambia de aceite o representaciones no programadas. En algunos casos son necesarias las invitaciones durante un viaje, en tal caso los clientes se comunican por radio con el despachador de San Juan quien determina la mejor opcin para hacer la reparacin. Por tanto ms estas decisiones los despachadores necesitan informacin sobre sus opciones de reparacin y antecedentes sobre costos y calidad de la reparacin. ENTIDADES:

CLIENTE PROPIETARIO BOTE EQUIPO VIAJE MANTENIMIENTO REPARACIN TRIPULACIN TIP_EQUIPO

Video club En una tienda de video se necesita mantener informacin de alrededor de 3000 casetas cada uno de los casetes tiene asignado un nmero por cada `pelcula se necesita conocer un titulo y categora por ejemplo: comedia, suspenso, drama, accin, ciencia ficcin, etc. Se mantienen algunas copias de muchas pelculas. Se le da a cada pelcula una identificacin y se mantiene seguimiento de lo que contiene cada casete. Un casete puede venir en varios formatos y una pelcula es grabada en un solo casete; frecuentemente las pelculas son pedidas de acuerdo a un actor especifico Tom Cruise y Demi More son los ms populares es por esto que se debe mantener informacin de los actores que pertenecen a cada pelcula. No en todas las pelculas actan artistas famosos, a los clientes de la tienda le gusta conocer datos como el nombre real del actor, y su fecha de nacimiento. En la tienda se mantienen informacin solo d los actores que aparecen en las pelculas y que se tiene a disposicin. Solo se alquila videos a aquellos que pertenecen al club de videos. Para pertenecer al club se debe tener un buen crdito. Por cada miembro del club se mantiene una ficha con su nombre, telfono y direccin, cada miembro del club tiene asignado un nmero de membresa. Se desea mantener informacin de todos los casetes que un cliente alquila, cuando un cliente alquila un casete se debera conocer e nombre de la pelcula, la fecha en la que se alquila y la fecha de devolucin.

ENTIDAD

CLIENTE PELCULAS TIPO_PEL ACTORES CASETE ALQUILER

ACTOS VANDLICOS Una cadena de hoteles a decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren guardar en una base de datos los clientes que han deteriorado o robado muebles y cuales son estos muebles. En la base de datos tendremos informacin de cada hotel (cdigo, direccin, telfono), as como un conjunto de habitaciones identificadas con un nmero de identificacin nico para cada hotel y un nmero de inmobiliario estndar con un cdigo, descripcin precio, por ejemplo: "Silla de cuero, diseo clsico, $43 ". Despus de hacer un inventario todo el mobiliario de los hoteles esta identificado, es decir, sabemos que y cuanto elemento de mobiliario hay en cada habitacin de cada hotel. Los muebles pueden cambiar de habitacin pero no necesitamos guardar la habitacin antigua. Para cada habitacin guardaremos tambin si es soleada, si tiene lavado y si tiene nevera. Cada cliente tiene informacin personal (cedula de identidad, nombre, etc.) y

adems un historial de sus actos vandlicos. Para cada cliente guardaremos que muebles y cuantos han deteriorado. Tambin queremos saber la estancia que ha hecho cada cliente en el hotel, guardaremos en un atributo la fecha de llegada y de salida, as como la de la habitacin en la que se ha alojado. Un cliente puede alojarse en una misma habitacin del hotel en diferentes estancias. Queremos saber los actos vandlicos (que y cuantos muebles) que ha hecho cada cliente en conjunto independientemente de la habitacin que se halla producido. Queremos saber los actos vandlicos de cada cliente en cada habitacin. ENTIDADES

CLIENTE HOTEL HABITACIN MOBILIARIO ESTANCIA TIPO_CLIENTE ACTO_VANDALICO TIPO_HABITACION TIPO_MUEBLE

Ejercicios Propuestos El Instituto Se pretende dotar a un centro escolar de medios informticos con el fin de automatizar su gestin. Descripcin En el centro se utilizan cuadernillos de notas para cada alumno, donde se ponen las notas correspondientes a cada evaluacin de las asignaturas a las que asiste el alumno. Para ello es preciso tener una lista de alumnos que siguen una asignatura y una lista de alumnos que no tienen nota de una asignatura determinada. Tambin se quiere la lista de notas dada por un profesor. Adems, cada clase tiene un profesor que hace las funciones de tutor, un profesor puede ser tutor de varias clases e impartir varias asignaturas en una clase, pero una asignatura solo puede ser impartida por un profesor en una clase. En cada clase, hay tambin dos representantes o delegados. Resultados a considerar El sistema debe dar respuesta a las siguientes preguntas: 1. El profesor J. Prez imparte Ingles en 4o C (Lista de destinos del profesor por asignatura y clase). 2. P. Snchez es alumno de la clase 3o A (Lista de alumnos por clase). 3. P. Rodrguez ha obtenido una nota de 6 en Ingles el 12/3/97 (Libretas de notas). 4. La profesora C. Castillo es tutora de 5o B (Lista de tutores). 5. J. Largo es delegado de 3o A (Lista de delegados). 6. El profesor J. Prez es profesor del Instituto desde Septiembre de 1992.

La asociacin "Amigos de la Fiesta" desea recoger en una base de datos toda la informacin acerca de las corridas de todos que se celebran en Espaa y de todos los datos relacionados con ellas. Se desea tener informacin acerca de cada corrida, identificada conjuntamente por un nmero de orden, la feria en la que se celebra y el ao de celebracin (por ejemplo: orden = 2, feria = San Isidro, Ao = 1999). En una determinada corrida actan una serie de toreros (mnimo 1 y mximo 3) de los que desea guardar su DNI, nombre, apodo y fecha en que tom la alternativa (fecha en la que se convirti en matador de toros). Adems se desea saber quien fue el torero que le dio la alternativa (padrino) en su da (un torero puede dar la alternativa a varios toreros o a ninguno). En cada corrida un torero obtiene una serie de premios (cuntas orejas, cuntos rabos y si sali por la puerta grande o no) de los que se desea mantener informacin. Cada torero puede tener un apoderado del que es protegido. A su vez, un apoderado lo puede ser de varios toreros. De l se desea saber su DNI, nombre, direccin y telfono. Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone nico, localidad, direccin y aforo. En una misma plaza se pueden celebrar varias corridas de toros. En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el cdigo de la ganadera a la que pertenece, el ao en que naci y un nmero de orden. Adems se desea mantener informacin acerca de su nombre y color as como el orden en que fue toreado. Cada toro pertenece a una ganadera determinada. De cada ganadera se pretende saber su cdigo, localidad y antigedad (fecha de creacin). Ejemplos de Enunciados

1. 2. Cada orden de comprar da lugar a una factura.

3. Un empleado pueden o no puede ser un vendedor pero un vendedor puede ser un empleado.

4. Un cliente solamente puede enviar una orden de compra al mismo tiempo cualquier persona que no tenga una orden pendiente no es un cliente.

5. Un cliente es un cliente sin importar el nmero de orden de compra que tenga pendiente hasta la fecha. Cada orden de compra pertenece a un cliente.

6. Un vendedor puede tener una o ms clientes. 7. Cada producto que tenemos en stock esta compuesto de uno ms partes, cada parte es usada en un solo producto.

MODELO RELACIONAL Modelo Programador Relacional Relacin Tupla Atributo Archivo Registro Campo Tabla Fila Columna Campo

El conjunto de una base de datos es el conjunto de tabla relacional. La tabla.- Es un conjunto de restricciones. NORMALIZACIN.- El proceso que revisa que la tabla este bien estructurado se llama normalizacin. La normalizacin esta basada en el concepto de formas normales cada forma normal tiene un conjunto de reglas que deben ser verificada (1NF, 2NF, 3NF).

Estas formas normales son anidados, es decir que para que una relacin este en 3FN debe haber pasado por 2FN y esta por la 1FN. Conceptos usados en la normalizacin

Dependencia Funcional.- es la relacin que existe entre dos atributos. Ejemplo:

Dado un valor de X existe un valor de Y entonces Y es funcionalmente dependiente de Y. EMPLEADO Cod_empleado 001 002 XY

Nombre Juan Perez Ana Quiroz

Claves o llaves.- Es el atributo que le da la diferencia a cada tabla este atributo hace que no tengamos tuplas o filas repetidas. Nombre_cliente Juan Perez Ana Quiroz Ana Quiroz Juan Perez Jos Lopez

Cod_cliente 001 002 003 004 005

Dependencia transitoria.- Es la dependencia que esta encadenada.

X Y Z = Dado un valor de "X" existe un valor de "Y" y dado un valor de "Y" existe un valor de "Z" entonces se dice que "z" es transitivamente dependiente de "X".

Primera Forma Normal (1FN) 1. 2. 3. 4. ID 100 150 175 200 Las celdas o campos deben tener valores singulares. Las entradas de cualquier columna o atributo deben ser de la misma clase. Cada columna debe tener un nombre nico. Dos filas o tuplas no pueden ser iguales. Deporte Ski Natacin Squas Natacin Valor 200 50 50 50

Al realizar operaciones sobre la tabla se pueden presentar problemas, estos problemas son llamadas anomalas, estas anomalas pueden ser de insercin, actualizacin, eliminacin, etc. Segunda Forma Normal (2FN) Todo atributo no clave depende de un atributo clave "Eliminar dependencias parciales a la clave Primaria de una Tabla" Tercera Forma Normal (3FN) Una relacin esta en 3FN si y solo si esta en 2FN y tiene dependencias transitivas, es decir, dependencia encadenada. EJERCICIO APLICANDO NORMALIZACION EMPRESA XYZ

Cliente: _________________________ Fecha: __________________________ Cdigo Detalle Producto xxx xxx xxx xxxxxx xxxxxx xxxxxx xx xx xx Tamao O E x x x R Cantidad

N Factura: __________ N Orden: __________ Precio Venta xxx.xx xxx.xx xxx.xx Precio Dscto. xxx.xx xxx.xx xxx.xx Precio Valor Especial xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx

Total Factura $ xxx.xx

1FN

Nmero_factura Fecha_factura Total_factura * Numero_orden Fecha_orden * * Cta_bco_cliente Nombre_cliente Direccion_cliente Direccion_entrega * Codigo_producto Descripcion_producto Tamao_producto Cantidad_ordenada Cantidad_entregada

Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea

2FN

Nmero_factura * Fecha_factura Total_factura Numero_orden * Fecha_orden Cta_bco_cliente * Nombre_cliente Direccion_cliente Direccion_entrega

Codigo_producto Descripcion_producto Tamao_producto Cantidad_ordenada * Cantidad_entregada Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea

3 FN

Nmero_factura * Fecha_factura Total_factura Numero_orden * Fecha_orden Cta_bco_cliente * Nombre_cliente Direccion_cliente Direccion_entrega

Codigo_producto Descripcion_producto * Tamao_producto Precio_venta Precio_dscto Precio_especial Codigo_factura Codigo_producto * Cantidad_ordenada * Cantidad_entregada Cantidad_restante Valor_linea Ejercicio 1. Actos vandlicos Una cadena de hoteles ha decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren guardar en una base de datos los clientes que han deteriorado o robado muebles y cules son estos muebles. En la base de datos tendremos informacin de cada hotel (cdigo, direccin y telfono), as como un conjunto de habitaciones identificadas por un nmero de habitacin nico para cada hotel y un conjunto de elementos de mobiliario estndard con un cdigo, descripcin y precio, por ejemplo: "silla de cuero diseo clsico, 9875 ". Despus de hacer un inventario, todo el mobiliario de los hoteles est identificado, es decir, sabemos qu y cuantos elementos de mobiliario hay en cada habitacin de cada hotel. Los muebles pueden cambiar de habitacin, pero no necesitamos guardar la habitacin antigua. Para cada habitacin, guardaremos tambin si es soleada, si tiene lavabo y si tiene nevera. Cada cliente tiene informacin personal (DNI, nombre, etc), y adems un historial de sus actos vandlicos: para cada cliente guardaremos qu muebles y cuntos ha deteriorado.Tambin queremos saber las estancias que ha hecho cada cliente en los hoteles, guardando en un nico atributo la fecha de llegada y la de salida, as como la habitacin en que se ha alojado. Un cliente puede alojarse en una misma habitacin de hotel en diferentes estancias.

Ejercicio 1.1: Queremos saber los actos vandlicos (qu y cuantos muebles) que ha hecho cada cliente en conjunto, independientemente de la habitacin y hotel que se hayan producido. Ejercicio 1.2: Queremos saber los actos vandlicos de cada cliente en cada habitacin del hotel. Ejercicio 2. Almacenes Unos almacenes quieren hacer un estudio sobre los hbitos de compra de sus clientes. Disponen de un conjunto de artculos identificados por su cdigo de barras, cada uno con una descripcin y el nombre de su fabricante. Para cada artculo, quieren probar diversas colocaciones para estudiar como vara su venta. Para cada colocacin tendremos un precio y un lema (del tipo "Ms dulces que la miel"), no necesariamente diferentes. Como un artculo y un lugar determinan una colocacin, no puede existir una colocacin sin ningn artculo. Los clientes de nuestro almacn se identifican por su nombre, nmero de visa, y adems queremos guardar su direccin y telfono. De las compras que realizan, slo queremos saber qu articulo, en qu colocacin y el nmero de unidades que ha comprado. Diversas compras del mismo artculo en la misma colocacin se acumulan en la misma tupla sumando el nmero de unidades. Ejercicio 3. Biblioteca En una biblioteca hay que guardar la informacin de todas las publicaciones que se tienen. Cada publicacin tiene un ttulo nico. Las publicaciones pueden ser peridicas o no. De las peridicas hay que saber su periodicidad. Las publicaciones peridicas constan de revistas, cada una definida por un volumen, nmero y ao. Cada revista contiene artculos, especificados por autores, ttulo y pginas de la revista. De cada revista (volumen y nmero) se puede tener ms de un ejemplar, caracterizado por un nmero de ejemplar. Se puede tener ms de un ejemplar, aunque no de todos los volmenes o nmeros. Las publicaciones se pueden clasificar en diferentes temas, que pueden estar agrupados en una relacin jerrquica de tema-subtema. Los socios de la biblioteca pueden coger en prstamo todas las publicaciones peridicas que deseen por un periodo de quince das. Los prstamos siempre hacen referencia a los ejemplares concretos de las publicaciones. Si al solicitar un prstamo de una publicacin, sta tiene todos los ejemplares ocupados, el socio se puede poner en una lista de espera para la publicacin peridica, para ser avisado en el momento que se devuelva alguno de los ejemplares. Ejercicio 4. Electricista

La empresa de suministros elctricos "El Chispa" te encarga hacer un diseo de BD de control de stocks y facturacin con los siguientes requerimientos: "El Chispa" vende artculos. De cada artculo se quiere guardar el cdigo del artculo, nombre, color, medidas, fabricante y precio de venta. Por ejemplo: E12, enchufe txuco, blanco, 9x 9 cm, Simon, 210 . Un artculo no puede ser suministrado por ms de un fabricante y no queremos guardar los precios de venta antiguos, slo el actual. De cada fabricante queremos guardar infomacin del cdigo del fabricante, nombre, direccin, poblaci, telfono y forma de pago (al contado, cheque o transferencia). De cada venta "El Chispa" hace un Doc de entrega/venta, donde constan el cdigo de entrega/venta, fecha, datos del cliente, nmero y cdigo de los artculos vendidos, precio por unidad y precio total por artculo (nmero de unidades x precio/unidad). A finales de mes o cuando toque, se agrupan los albaranes hechos a un cliente en una factura donde queremos que conste: cdigo de factura, fecha, datos del cliente, la informacin de cada albarn (nmero y nombre de los artculos, precio por unidad y precio total por artculo), total de la factura, forma de pago y vencimiento en caso que el pago no sea al contado. Todo albarn slo se puede facturar una sola vez. De un cliente se quiere guardar el NIF, nombre, direccin, poblacin y telfono. Una factura pertenece nicamente a un cliente. Tenemos un nico almacen donde guardamos todos los artculos. Queremos guardar el nmero de artculos que tenemos en el almacen en un momento determinado. Los fabricantes envian artculos al almacen. Queremos guardar los envos de entrada al almacen. Todo envo consta nicamente de un artculo. De cada envo queremos saber la fecha, cdigo del artculo y nmero de unidades enviadas. Un fabricante puede enviar el mismo da unidades de un mismo artculo. En este caso se suma el nmero de unidades enviadas en la misma fecha. Ejercicio 5. Conflictos blicos Una organizacin internacional quiere hacer un seguimiento de los conflictos blicos que se producen en el mundo. Por esto quiere crear una BD que responda a los siguientes requerimientos: Un conflicto es cualquier lucha armada que afecte a uno o a diversos paises, donde se producen muertos i/o heridos. Todo conflicto se identificar por un nombre o causa que provoca el conflicto. Este nombre puede cambiar con el paso del tiempo, por lo que cada conflicto se identificar con un cdigo numrico nico. Para cada conflicto se quiere

guardar los paises queafecta as como el nmero de muertos y heridos par cada pas y el total. Los conflictos pueden ser de diferentes tipos, segn la causa que los haya originado, clasificndose, como mucho, en cuatro grupos: territoriales, religiosos, econmicos y raciales. En cada uno se guardarn diferentes datos. En los territoriales tendremos las regiones afectadas, en los religiosos las religiones en conflicto, en los econmicos las materias primas disputadas y en los raciales las razas enfrentadas. En los conflictos intervienen diferentes grupos armados (como mnimo dos) y diferentes organizaciones intermediarias, pudiendo no haber ninguna. Los mismos grupos armados y organizaciones intermediarias pueden intervenir en diferentes conflictos. Tanto los grupos como las organizaciones podrn entrar y salir del conflicto. En este caso se recogern las fechas de incorporacin y de salida. Podra ser que en un momento determinado un grupo u organizacin no interviniera en ningn conflicto. Para cada grupo armado se guarda un cdigo que se le asigna y un nombre. Cada grupo armado dispone de una o ms divisiones y es liderado por un nico lder poltico. Las divisiones de que dispone un grupo se numeran consecutivamente y se registra el nmero de barcos, tanques, aviones y hombres de que dispone as como les bajas que ha tenido. Para los grupos armados se obtiene el nmero de bajas como la suma de las bajas producidas en todas las divisiones. Los traficantes de armas suministran diferentes tipos de armamento a los grupos armados. De cada tipo de arma se recoge un nombre y un indicador de su capacidad destructiva. De cada traficante se tiene un nombre y los diferentes tipos y cantidades de armas que puede suministrar. Se guarda el nmero total de armas de cada tipo que cada traficante suministra a un grupo armado. Los lderes polticos se identifican por su nombre y por cdigo del grupo armado que lideran. Adems se guarda una descripcin en texto de los apoyos que ha recibido. Cada divisin la pueden dirigir conjuntamente un mximo de tres jefes militares, a pesar de que cada jefe militar no dirige ms que una divisin. A cada jefe militar se le identifica por un cdigo y rango que tiene. Dado que un jefe militar no acta por iniciativa propia, sino por iniciativa de un nico lder poltico de los que lideran el grupo armado donde pertenece el jefe, queremos saber quin es este lder poltico a quien obedece. De las organizaciones intermediarias se recojer su cdigo, nombre, tipo (gubernamental, no gubernamental, internacional), la organizacin de quien depende (una como mximo), el nmero de personas que mantiene desplegadas en cada conflicto y el tipo de ayuda que da en cada conflicto que puede ser nicamente uno dels siguientes tipos: mdica, diplomtica o presencial.

Con diferentes finalidades, los lderes polticos dialogan con las organizaciones. Se desea recoger explcitamente esta informacin. As, para cada lder se guardarn aquellas organizaciones con las que dialoga y viceversa. Ejercicio 6. Parques naturales El ministerio de Medio Ambiente decide crear un sistema de informacin sobre parques naturales gestionados por cada Comunidad Autnoma. Despus de un anlisis exhaustivo del contexto se ha llegado a las siguientes conclusiones: Una Comunidad Autnoma (CA) puede tener varios parques naturales. En toda la comunidad autnoma existe un nico organismo responsable de los parques. Un parque puede estar compartido por ms de una comunidad. Un parque natural se identifica por un nombre y la fecha en que fu declarado parque natural, y est compuesto por varias reas identificadas por un nombre (nico dentro del parque pero puede ser genrico entre parques naturales) y una extensin en kilmetros cuadrados. Por motivos de eficiencia se quiere favorecer las consultas que hagan referencia al nmero de parques existentes en cada CA y la superficie total declarada como parque natural en cada CA. En cada rea residen especies que pueden ser de tres tipos: vegetales, animales i minerales. Cada especie tiene una denominacin cientfica, una denominacin vulgar y un nmero de individuos en cada rea. De las especies vegetales se quiere saber si tienen floracin y en qu periodo (mes) se produce. De los animales se quiere saber su tipo de alimentacin (herbvora, carnvora u omnvora) y su periodo de celo. De los minerales se quiere saber si se trata de cristales o rocas. Interesa, adems, registrar qu especies sirven de alimento a otras especies, teniendo en cuenta que ninguna especie mineral se considera alimento de ninguna otra especie y que una especie vegetal no se alimenta de ninguna otra especie. Cada parque tiene un personal en dedicacin exclusiva. De este personal se guarda el DNI, nmero de la SS, nombre y apellidos, direccin, telfonos (fijo y movil) y sueldo. Se distinguen cuatro tipos de personal: Personal de gestin: registra los datos de los visitantes del parque y se situan a la entrada del parque. Las entradas se identifican por un nmero y orientacin (N, S, E, O). Personal de vigilancia: vigila una rea determinada del parque que recorre un vehculo de un tipo determinado y con una matrcula. Personal de conservacin: mantiene y conserva un rea determinada del parque. Cada uno realiza una tarea determinada (limpiar, dar de comer, jardinera, etc.) en un lugar concreto del rea (caminos, zona recreativa, jardines, etc.).

Personal investigador: tiene una titulacin que hay que guardar y puede realizar slo o en grupo proyectos de investigacin sobre una determinada especie. Un proyecto de investigacin tiene un ttulo, presupuesto, un nico investigador principal, un periodo de realizacin y un conjunto de investigadores que participan. Un visitante (DNI, nombre, apellidos, direccin y profesin) puede alojarse en els alojamientos que tiene el parque. Los alojamientos tienen una capacidad limitada y una determinada categora. Los alojamientos organizan excursiones al parque en vehculo o a pi unos determinados das de la semana y a horas determinadas. Para ir a estas excursiones hay que ser visitante del parque. Ejercicio 7. ONG La coordinadora nacional de ONGs quiere mantener una base de datos de las asociaciones de este tipo que existen en nuestro pas. Por ello necesita guardar informacin sobre cada asociacin, los socios que las forman, los proyectos que realizan y los trabajadores que particpan. De las asociaciones se quiere almacenar su CIF, nombre, direccin, provincia, el tipo de ONG (ecologista, de integracin, de desarrollo, etc.) as como si est declarada de utilidad pblica por el Ministerio de Interior. Cada asociacin est formada por socios de quienes se quiere conocer su DNI, nombre y apellidos, direccin, provincia, fecha de alta de la asociacin, cuota mensual con la que colaboran y la aportacin anual que realizan. La aportacin anual ser el total de las cuotas mensuales ms otras aportaciones voluntarias. Cada trabajador de una ONG se identifica por su DNI, nombre y apellidos, direccin, telfonos y fecha de ingreso. Todo trabajador trabaja para una nica ONG. Estos trabajadores pueden ser de dos tipos: profesionales y voluntarios. Los profesionales cobran un sueldo y ocupan un cierto cargo en la asociacin. Se quiere guardar el cargo que ocupan, la cantidad que pagan a la SS i el porcentaje de IRPF que se les descuenta. Los voluntarios trabajan en la organizacin desinteresadamente. Queremos saber de ellos su edad, profesin y horas que dedican a la asociacin. Las asociaciones realizan proyectos a los cuales estn asignados sus trabajadores. Un trabajador puede trabajar en diferentes proyectos de un mismo pas. De cada proyecto se quiere almacenar un nmero de identificacin en la ONG, pas y regin donde se realiza, el objectivo que pretende y el nombre de personas que afecta. Ejercicio 8. Pinacoteca El Ministerio de Educacin y Ciencia quiere tener informacin sobre todos los cuadros que se encuentran en las pinacotecas.

De cada pinacoteca se quiere saber el nombre nico, ciudad donde se encuentra, direccin y extensin en metros cadrados. Cada pinacoteca tiene un conjunto de cuadros de los cuales se quiere guardar el cdigo (nico para todas las pinacotecas), nombre, medidas, fecha en que se pint y tcnica utilizada par pintarlo. Cada cuadro es pintado por un nico pintor, del que queremos saber el nombre y apellidos, ciudad y pas donde naci, fecha de nacimiento y fecha de la muerte. Un pintor puede tener un nico maestro, pero un maestro puede serlo de varios pintores. Los pintores pueden pertenecer o no a una escuela de la cual se quiere saber el nombre as como el pas y fecha en que apareci. Los pintores pueden tener tambin uno o varios mecenas que los protejen. De los mecenas queremos saber el nombre y apellidos, pas y fecha de nacimiento, fecha de la muerte y la fecha de inicio y final del soporte que di al pintor. Un mecenas puede serlo de varios pintores y un pintor puede tener varios mecenas en periodos diferentes. Se quiere recoger la relacin que existe entre un pintor y su mecenas. Ejercicio 9. Proyectos de investigacin En la UAB se quiere llevar un un control sobre els proyectos de investigacin que se realizan. Se quiere disear una BD que contenga toda la informacin sobre los proyectos, departamentos, grupos de investigacin y profesores. Se consideran los siguientes requisitos: Un departamento se identifica por un nombre, cdigo, centro (Facultad o Escuela) donde est situado, direccin, profesor de la universidad que ejerce como director de departamento y un telfono de contacto (secretara de departamento). Dentro de un departamento se crean Unidades donde estn adscritos los profesores. Todo profesor ha de pertenecer a una unidad. Cada unidad tiene un nombre nico dentro de la universidad, pertenece a un nico departamento i est asociada a un rea de conocimiento (CCIA, ATC, etc.). Cada unidad tiene un jefe de unidad que ha de ser profesor de universidad. Un profesor del departamento est identificado por un DNI, nombre y apellidos, aos de experiencia en investigacin, unidad a la que pertenece y proyectos en que trabaja. Existen tres tipos de profesorado: Funcionario (Catedrticos de Universidad y Titulares de Universidad), Ayudantes de Universidad y Asociados. Del personal funcionario queremos saber el cdigo de funcionario, el ao de su toma de posesin y perfil de la asignatura a la que oposit. De los Ayudantes de Universidad queremos saber la fecha de incorporacin. Del Asociado queremos saber la fecha de incorporacin y la empresa en que trabaja.

Cada proyecto de investigacin tiene un nombre, cdigo nico, presupuesto, fechas de inicio y final del proyecto y un nico profesor que ejerce de investigador principal del proyecto. Un proyecto puede estar financiado por uno o varios programas nacionales. Un programa nacional viene identificado per un nombre nico y la cantidad total de dinero que el programa dispone para financiar proyectos. Dentro de cada programa cada proyecto tiene un nmero asociado y una cantidad de dinero con que el programa financia el proyecto. Un profesor puede participar en varios proyectos y puede ser investigador principal de varios proyectos. En cada proyecto un profesor se incorpora en una determinada fecha y lo abandona en otra con una determinada dedicacin (horas por semana). Un profesor puede incorporarse ms de una vez a un proyecto en fechas separadas. Ejercicio 10. Reserva de salas La ETSE quiere controlar el sistema de reservas de sus salas que pone a disposicin del personal de la Escuela durante un curso acadmico con las siguientes restricciones: De cada sala (sala de grados, sala de actos, seminarios, aulas) queremos saber el cdigo (Q2/xxxx,Q0/xxxx, etc.), el tipo de sala (aula, seminario, sala de actos, sala de grados, etc.), capacidad y equipamiento audiovisual que contiene de forma permamente. Del equipamiento audiovisual que tiene la Escuela queremos guardar un cdigo nico, nombre (proyector, can, etc.), si s permanente o mvil y la sala donde se encuentra, caso de que sea fijo. Tenemos cuatro tipos de equipamiento: can de proyeccin, proyector de transparencias, proyector de diapositivas y ordenador. Del can de proyeccin queremos saber la marca, modelo, luminosidad y resolucin mxima en la que trabaja. Del proyector de transparencias queremos conocer su luminosidad y si acepta transparencias en color o no. Del proyector de diapositivas interesa guardar la marca, modelo, si admite cargador clsico o moderno y luminosidad. Del ordenador queremos saber el procesador, RAM y resolucin mxima. Un profesor puede reservar una sala en una fecha concreta (dia, mes y ao) a intervalos de hora (de 12:00 a 13:00, de 17:00 a 18:00). Cuando reserva la sala, el profesor tambin reserva todo el equipamiento fijo que contiene la sala. Un profesor tambin puede reservar equipamiento audiovisual mvil con un nmero variable (2 caones, 3 proyectores, etc.) en una fecha concreta (da, mes y ao) a intervalos de una hora. Dada una fecha y una hora, queremos saber las salas disponibles y el equipamiento audiovisual disponible. A finales de curso queremos saber el grado de ocupacin de las salas.

Qu son las bases de datos?Una base de datos es un almacn que nos permite guardar grandes cantidades de informacin de forma organizada para que luego podamos encontrar y utilizar fcilmente. A continuacin te presentamos una gua que te explicar el concepto y caractersticas de las bases de datos. El trmino de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de informacin relacionada que se encuentra agrupada estructurada. Desde el punto de vista informtico, la base de datos 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. Cada base de datos se compone de una o ms tablas que guarda un conjunto de datos. Cada tabla tiene una o ms columnas y filas. Las columnas guardan una parte de la informacin sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.

Definicin de base de datos

Se define una base de datos como una serie de datos organizados y relacionados entre s, los cuales son recolectados y explotados por los sistemas de informacin de una empresa o negocio en particular.

CaractersticasEntre las principales caractersticas de los sistemas de base de datos podemos mencionar:

Independencia lgica y fsica de los datos. Redundancia mnima. Acceso concurrente por parte de mltiples usuarios. Integridad de los datos. Consultas complejas optimizadas. Seguridad de acceso y auditora. Respaldo y recuperacin. Acceso a travs de lenguajes de programacin estndar.

Sistema de Gestin de Base de Datos (SGBD)Los Sistemas de Gestin de Base de Datos (en ingls DataBase Management System) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definicin de datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta.

Ventajas de las bases de datos Control sobre la redundancia de datos:Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, adems de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros estn integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos.

Consistencia de datos:Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato est almacenado una sola vez, cualquier actualizacin se debe realizar slo una vez, y est disponible para todos los usuarios inmediatamente. Si un dato est duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.

Comparticin de datos:

En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estn autorizados.

Mantenimiento de estndares:Gracias a la integracin es ms fcil respetar los estndares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estndares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estndares de documentacin, procedimientos de actualizacin y tambin reglas de acceso.

Mejora en la integridad de datos:La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.

Mejora en la seguridad:La seguridad de la base de datos es la proteccin de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integracin de datos en los sistemas de bases de datos hace que stos sean ms vulnerables que en los sistemas de ficheros.

Mejora en la accesibilidad a los datos:Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicacin que realice tal tarea.

Mejora en la productividad:El SGBD proporciona muchas de las funciones estndar que el programador necesita escribir en un sistema de ficheros. A nivel bsico, el SGBD proporciona todas las rutinas de manejo de ficheros tpicas de los programas de aplicacin. El hecho de disponer de estas funciones permite al programador centrarse mejor en la funcin especfica requerida por los usuarios, sin tener que preocuparse de los detalles de implementacin de bajo nivel.

Mejora en el mantenimiento:En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicacin que los manejan.

Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.

Aumento de la concurrencia:En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda informacin o se pierda la integridad. La mayora de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.

Mejora en los servicios de copias de seguridad:Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada da, y si se produce algn fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la ltima copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.

Desventajas de las bases de datos Complejidad:Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.

Coste del equipamiento adicional:Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento. Adems, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una mquina ms grande o una mquina que se dedique solamente al SGBD. Todo esto har que la implantacin de un sistema de bases de datos sea ms cara.

Vulnerable a los fallos:

El hecho de que todo est centralizado en el SGBD hace que el sistema sea ms vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).

Tipos de CamposCada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los ms comunes podemos nombrar:

Numrico: entre los diferentes tipos de campos numricos podemos encontrar enteros sin decimales y reales decimales. Booleanos: poseen dos estados: Verdadero Si y Falso No. Memos: son campos alfanumricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados. Fechas: almacenan fechas facilitando posteriormente su explotacin. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los das entre una fecha y otra. Alfanumricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres). Autoincrementables: son campos numricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.

Tipos de Base de DatosEntre los diferentes tipos de base de datos, podemos encontrar los siguientes:

MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volmenes de datos. PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre. Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada. Microsoft SQL Server: es una base de datos ms potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volmenes de informaciones.

Modelo entidad-relacinLos diagramas o modelos entidad-relacin (denominado por su siglas, ERD Diagram Entity relationship) son una herramienta para el modelado de datos de un sistema de informacin. Estos modelos expresan entidades relevantes para un sistema de informacin, sus inter-relaciones y propiedades.

Cardinalidad de las RelacionesEl diseo de relaciones entre las tablas de una base de datos puede ser la siguiente:

Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B. Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.

Estructura de una Base de DatosUna base de datos, a fin de ordenar la informacin de manera lgica, posee un orden que debe ser cumplido para acceder a la informacin de manera coherente. Cada base de datos contiene una o ms tablas, que cumplen la funcin de contener los campos. En el siguiente ejemplo mostramos una tabla comentarios que contiene 4 campos.

Los datos quedaran organizados como mostramos en siguiente ejemplo:

Por consiguiente una base de datos posee el siguiente orden jerrquico:

Tablas Campos Registros Lenguaje SQL

El lenguaje SQL es el ms universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos. A continuacin veremos un ejemplo de ellos:

Mostrar: para mostrar los registros se utiliza la instruccin Select. Select * From comentarios. Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instruccin Insert. Insert Into comentarios (titulo, texto, fecha) Values('saludos', 'como esta', '22-10-2007')

Borrar: Para borrar un registro se utiliza la instruccin Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello necesario establecer una seleccin que se llevara a cabo mediante la clusula Where. Delete From comentarios Where id='1'. Actualizar: para actualizar los registros se utiliza la instruccin Update. Como para el caso de Delete, necesitamos especificar por medio de Where cules son los registros en los que queremos hacer efectivas nuestras modificaciones. Adems, tendremos que especificar cu