Sie sind auf Seite 1von 76

Manual de construccion de base de datos

Base de datos orientada a objetos En una base de datos orientada a objetos, la informacin se representa mediante objetos como los presentes en la programacin orientada a objetos. Cuando se integra las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programacin en uno o ms lenguajes de programacin a los que d soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperacin de datos, consultas asociativas y otras capacidades. Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programacin. Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen rendimiento en la manipulacin de tipos de dato complejos. Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integracin transparente con el programa escrito en un lenguaje de programacin orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Bases de datos orientadas 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. Los modelos de datos aportan la base conceptual para disear aplicaciones que hacen un uso intensivo de datos, as como la base formal para las herramientas y tcnicas empleadas en el desarrollo y uso de sistemas de informacin. Con respecto al diseo de bases de datos, el modelado de datos puede ser descrito as (Brodie 1984:20): "dados los requerimientos de informacin y proceso de una aplicacin de uso intensivo de datos (por ejemplo, un sistema de informacin), construir una representacin de la aplicacin que capture las propiedades estticas y dinmicas requeridas para dar soporte a los procesos deseados (por ejemplo, transacciones y consultas). Adems de capturar las necesidades dadas en el momento de la etapa de diseo, la representacin debe ser capaz de dar cabida a eventuales futuros requerimientos".

Un modelo de datos es por tanto una coleccin de conceptos bien definidos matemticamente que ayudan a expresar las propiedades estticas y dinmicas de una aplicacin con un uso de datos intensivo. Conceptualmente, una aplicacin puede ser caracterizada por: Propiedades estticas: entidades (u objetos), propiedades (o atributos)12 de esas entidades, y relaciones entre esas entidades. Propiedades dinmicas: operaciones sobre entidades, sobre propiedades o relaciones entre operaciones. Reglas de integridad sobre las entidades y las operaciones (por ejemplo, transacciones). As, un modelo de datos se distingue de otro por el tratamiento que da a estas tres categoras. El resultado de un modelado de datos es una representacin que tiene dos componentes: las propiedades estticas se definen en un esquema y las propiedades dinmicas se definen como especificaciones de transacciones, consultas e informes. Un esquema consiste en una definicin de todos los tipos de objetos de la aplicacin, incluyendo sus atributos, relaciones y restricciones estticas. Correspondientemente, existir un repositorio de informacin, la base de datos, que es una instancia del esquema. Un determinado tipo de procesos slo necesita acceder a un subconjunto predeterminado de entidades definidas en un esquema, por lo que este tipo de procesos puede requerir slo un subconjunto de las propiedades estticas del esquema general. A este subconjunto de propiedades estticas se le denomina subesquema. Una transaccin consiste en diversas operaciones o acciones sobre las entidades de esquema o subesquema. Una consulta se puede expresar como una expresin lgica sobre los objetos y relaciones definidos en el esquema; una consulta identifica un subconjunto de la base de datos. Las herramientas que se usan para realizar las operaciones de definicin de las propiedades estticas y dinmicas de la base de datos son los lenguajes de definicin y manipulacin de datos (DDL, DML), junto con los lenguajes de consulta (QL) que ya hemos mencionado.

La investigacin moderna sobre modelos de datos se ha centrado en los aspectos lgicos de las bases de datos y sobre los conceptos, herramientas y tcnicas para el diseo de las mismas (Brodie 1984). Aspectos relativos a la implementacin de los modelos, tales como velocidad de ejecucin, concurrencia, integridad fsica y arquitecturas no son factores relevantes en el estadio de anlisis de modelos de datos. La investigacin ms temprana sobre modelos de datos s estaba ms centrada en los aspectos de representacin fsica. Cuando hablamos de modelos de datos clsicos, nos estamos refiriendo a la segunda de las generaciones de modelos de datos. Brodie (1984) distingue cuatro generaciones: Modelos de datos primitivos (orientados al fichero). Modelos de datos clsicos. Modelos de datos semnticos. Modelos de datos de propsito especfico (orientados a la aplicacin). Los modelos de datos primitivos estaban absolutamente orientados al fichero: las entidades se representan en registros (divididos en campos, que representan sus propiedades), que se agrupan en ficheros. Las relaciones entre entidades son nicamente aquellas que pueden ser representadas usando directorios, por ejemplo ndices y listas invertidas. Un ejemplo de DBMS comercial de fichero, concretamente del tipo "lista invertida", es el CA-DATACOMB de Computer Associates International. Los modelos de datos. En el proceso de abstraccin que conduce a la creacin de una base de datos desempea una funcin prioritaria el modelo de datos. El modelo de datos, como abstraccin del universo de discurso, es el enfoque utilizado para la representacin de las entidades y sus caractersticas dentro de la base de datos, y puede ser dividido en tres grandes tipos (KORTH y SILBERSCHATZ, 1993: 6-11): Modelos lgicos basados en objetos: los dos ms extendidos son el modelo entidadrelacin y el orientado a objetos. El modelo entidad-relacin (E-R) se basa en una

percepcin del mundo compuesta por objetos, llamados entidades, y relaciones entre ellos. Las entidades se diferencian unas de otras a travs de atributos. El orientado a objetos tambin se basa en objetos, los cuales contienen valores y mtodos, entendidos como rdenes que actan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en clases, relacionndose mediante el envo de mensajes. Algunos autores definen estos modelos como "modelos semnticos".

2. Modelos lgicos basados en registros: el ms extendido es el relacional, mientras que los otros dos existentes, jerrquico y de red, se encuentran en retroceso. Estos modelos se usan para especificar la estructura lgica global de la base de datos, estructurada en registros de formato fijo de varios tipos. El modelo relacional representa los datos y sus relaciones mediante tablas bidimensionales, que contienen datos tomados de los dominios correspondientes. El modelo de red est formado por colecciones de registros, relacionados mediante punteros o ligas en grafos arbitrarios. El modelo jerrquico es similar al de red, pero los registros se organizan como colecciones de rboles. Algunos autores definen estos modelos como "modelos de datos clsicos".

3. Modelos fsicos de datos: muy poco usados, son el modelo unificador y el de memoria de elementos. Algunos autores definen estos modelos como "modelos de datos primitivos". De lo anterior se deduce que el punto clave en la construccin de la base de datos ser el modelo de datos. Se denomina modelo: "...al instrumento que se aplica a una parcela del mundo real (universo del discurso) para obtener una estructura de datos a la que denominamos esquema. Esta distincin entre el modelo (instrumento) y el esquema (resultado de aplicar el instrumento) es importante... Es importante tambin distinguir entre mundo real y universo del discurso, ya que este ltimo es la visin que del mundo real tiene el diseador... podemos definir un modelo de datos como un conjunto de conceptos, reglas y convenciones que nos permiten describir los datos del universo del discurso." (MIGUEL y PIATTINI, 1993: 162)

Los objetivos del modelo de datos son dos: 1. Formalizacin: definir formalmente las estructuras permitidas y las restricciones a fin de representar los datos de un SI.

2. Diseo: el modelo resultante es un elemento bsico para el desarrollo de la metodologa de diseo de la base de datos. Los diferentes modelos de datos comparten, aunque con diferentes nombres y notaciones, unos elementos comunes, componentes bsicos de la representacin de la realidad que realizan. Estos componentes se identifican gracias a la clasificacin, y pueden identificarse conceptos estticos y conceptos dinmicos. Los conceptos estticos corresponden a: 1. Objeto: cualquier entidad con existencia independiente sobre el que almacenan datos. Puede ser simple o compuesto. 2. Relacin: asociacin entre objetos. 3. Restriccin esttica: propiedad esttica del mundo real que no puede expresarse con los anteriores, ya que slo se da en la base de datos; suele corresponder a valores u ocurrencias, y puede ser sobre atributos, entidades y relaciones. 4. Objeto compuesto: definidos como nuevos objetos dentro de la base de datos, tomando como punto de partida otros existentes, mediante mecanismos de agregacin y asociacin. 5. Generalizacin: se trata de relaciones de subclase entre objetos, es decir, parte de las caractersticas de diferentes entidades pueden resultar comunes entre ellas. Por su parte, los conceptos dinmicos responden a: Operacin: accin bsica sobre objetos o relaciones (crear, modificar, eliminar...). 2. Transaccin: conjunto de operaciones que deben ejecutarse en su conjunto obligatoriamente. 3. Restriccin dinmica: propiedades del mundo real que restringen la evolucin en el tiempo de la base de datos.

Los modelos de datos pueden clasificarse en:

* Modelos de datos de alto nivel o conceptuales: disponen de conceptos cercanos a la forma en que los usuarios finales perciben una base de datos.

* Modelos de datos de bajo nivel o fsicos: disponen de conceptos que describen detalles sobre el almacenamiento de los datos en la computadora.

* Modelos de datos de representacin (o de implementacin): disponen de conceptos que pueden entender los usuarios finales, pero que no estn alejados de la forma en que se almacenan los datos en la computadora.

Clasificacin de los modelos de datos

Los modelos de datos sirven para clasificar los distintos tipos de SGBD.

Existen diferentes modelos de datos para bases de datos como ser: * Modelo relacional * Modelo orientado a objetos * Modelo relacional-objeto * Modelo jerrquico * Modelo de red

Los objetos semnticos se agrupan en clases. Una clase de objeto tiene un nombre que la hace diferente a otras y que corresponde a los nombres de las cosas que representa. Los nombres de clases se escriben en maysculas. Un objeto semntico particular es una ocurrencia de tal clase. Por ejemplo: "William Shakespeare", es una ocurrencia de la clase ESCRITOR, y "CUARTO" es una ocurrencia de la clase EDIFICIO. Modelos semnticos Los sistemas de base de datos relacionales solo expresan en realidad una comprensin muy limitada del significado la informacin contendida en la base de datos, por lo general entienden ciertos valores sencillos de datos y ciertas

interrelaciones de muchos a uno entre dichos valores, toda informacin mas all de eso se deja al usuario. Los modelos semnticos en cambio permiten captar mejor el significado (semntica) de los datos contenidos en la base de datos. Objetos semnticos. Un objeto semntico es una representacin de algunas cosas identificables en el ambiente de trabajo de los usuarios. De manera formal, un objeto semntico es un conjunto de atributos que describen con eficacia una identidad bien determinada. Los objetos semnticos se agrupan en clases. Una clase de objeto tiene un nombre que la hace diferente a otras y que corresponde a los nombres de las cosas que representa. Los nombres de clases se escriben en maysculas. Un objeto semntico particular es una ocurrencia de tal clase. Por ejemplo: "William Shakespeare", es una ocurrencia de la clase ESCRITOR, y "CUARTO" es una ocurrencia de la clase EDIFICIO.

Modelo relacional El modelo relacional para la gestin de una base de datos es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos. Es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postuladas sus bases 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 Edgar Frank 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 (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).

Descripcin En este modelo todos los datos son almacenados en relaciones, y como cada relacin es un conjunto de datos, el orden en el que estos se almacenen no tiene 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 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. Esquema Un esquema es la definicin de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relacin y que tipo de informacin podr ser almacenada dentro de ella; en otras palabras, el esquema son los metadatos de la relacin. Todo esquema constar de: Nombre de la relacin (su identificador). Nombre de los atributos (o campos) de la relacin y sus dominios; el dominio de un atributo o campo define los valores permitidos para el

mismo, es equivalente al tipo de dato por ejemplo character, integer, date, string, etc. Instancias Una instancia de manera formal es la aplicacin de un esquema a un conjunto finito de datos. En palabras no tan tcnicas, se puede definir como el contenido de una tabla en un momento dado, pero tambin es valido referirnos a una instancia cuando trabajamos o mostramos nicamente un subconjunto de la informacin contenida en una relacin o tabla, como por ejemplo: Ciertos caracteres y nmeros (una sola columna de una sola fila). Algunas o todas las filas con todas o algunas columnas Cada fila es una tupla. El nmero de filas es llamado cardinalidad. El nmero de columnas es llamado aridad o grado. Base de datos relacional Una base de datos relacional es un conjunto de una o ms tablas estructuradas en registros (lneas) y campos (columnas), que se vinculan entre s por un campo en comn, en ambos casos posee las mismas caractersticas como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional. Estrictamente hablando el trmino se refiere a una coleccin especfica de datos pero a menudo se le usa, en forma errnea como sinnimo del software usado para gestionar esa coleccin de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del ingls relational database management system). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalizacin de una base de datos, el cual es entendido

como el proceso necesario para que una base de datos sea utilizada de manera ptima. Entre las ventajas de este modelo estn: Garantiza herramientas para evitar la duplicidad de registros, a travs de campos claves o llaves. Garantiza la integridad referencial: As al eliminar un registro elimina todos los registros relacionados dependientes. Favorece la normalizacin por ser ms comprensible y aplicable. 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

Cada orden de comprar da lugar a una factura.

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

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

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.

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

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

El conjunto de una base de datos es el conjunto de tabla relacional. La tabla.- Es un conjunto de restricciones. EJEMPLOS DE 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 Nombre

001 002 XY

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. Cod_cliente 001 002 003 004 005 Nombre_cliente Juan Perez Ana Quiroz Ana Quiroz Juan Perez Jos Lopez

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) 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.

ID 100 150 175 200

Deporte Ski Squas

Valor 200 50

Natacin 50 Natacin 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: _________________________ N Factura: __________ Fecha: __________________________ N Orden: __________ Cdigo Detalle Producto xxx xxx xxx xxxxxx xxxxxx xxxxxx xx xx xx Tamao O E R x x x Venta Dscto. Especial xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx xxx.xx Cantidad Precio Precio Precio Valor

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

Modelado Entidad-Relacin DIAGRAMA

Un diagrama o modelo entidad-relacin (a veces denominado por su siglas, E-R "Entity relationship", o, "DER" Diagrama de Entidad Relacin) es una herramienta para el modelado de datos de un sistema de informacin. Estos modelos expresan entidades relevantes para un sistema de informacin as como sus interrelaciones y propiedades.

El Modelo Entidad-Relacin. Se elabora el diagrama (o diagramas) entidad-relacin. Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagrama. Dado lo rudimentario de esta tcnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos. El modelado de datos no acaba con el uso de esta tcnica. Son necesarias otras tcnicas para lograr un modelo directamente

implementable en una base de datos. Brevemente: Transformacin de relaciones mltiples en binarias. Normalizacin de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa). Conversin en tablas (en caso de utilizar una base de datos relacional).

Tabla y tuplas
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de clculo. Las tablas se componen de dos estructuras: Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los dems registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendr un nombre y una direccin. Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendr un tipo de datos nico, como una direccin, o un nmero de telfono, un nombre, etc. A los campos se les puede asignar, adems, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como ndice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos. Cada tabla creada debe tener un nombre nico en la cada Base de Datos, hacindola accesible mediante su nombre o su seudnimo (Alias) (dependiendo del tipo de base de datos elegida). La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componan de un modo similar. TUPLA: conjunto de nombres de atributos relacionados a pares con los dominios de dichos atributos. operadores: asignar, consultar. (asignar (t, direccion, colon 4); consultar (t, nombre)=pepa gmez).

Claves primarias y ajenas


Una clave primaria es aquella columna (o conjunto de columnas) que identifica nicamente a una fila. La clave primaria es un identificador que va a ser siempre nico para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la tabla pero es ms una conveniencia que una obligacin. Muchas veces la clave primaria es numrica auto-incrementada, es decir, generada mediante una secuencia numrica incrementada automticamente cada vez que se inserta una fila. En una tabla puede que tengamos ms de una columna que puede ser clave primaria por s misma. En ese caso se puede escoger una para ser la clave primaria y las dems claves sern claves candidatas. Una clave ajena (foreign key o clave fornea) es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que tambin puede identificar de forma nica a una fila dentro de una tabla. Ejemplo: Si en una tabla clientes definimos el nmero de documento (id_cliente) como clave primaria, el nmero de seguro social de ese cliente podra ser una clave alternativa. En este caso no se us como clave primaria porque es posible que no se conozca ese dato en todos los clientes. Una clave compuesta es una clave que est compuesta por ms de una columna. La visualizacin de todas las posibles claves candidatas en una tabla ayudan a su optimizacin. Por ejemplo, en una tabla PERSONA podemos identificar como claves su DNI, o el conjunto de su nombre, apellidos, fecha de nacimiento y direccin. Podemos usar cualquiera de las dos opciones o incluso todas a la vez como clave primaria, pero es ms ptimo en la mayora de sistemas la eleccin del menor nmero de columnas como clave primaria.

La regla de la independencia de la integridad


Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicacin.

LAS REGLAS DE INTEGRIDAD


Ningn componente de una clave primaria puede tener valores en blanco o nulos (sta es la norma bsica de integridad). Para cada valor de clave fornea deber existir un valor de clave primaria concordante. La combinacin de estas reglas aseguran que haya integridad referencial.

TRANSFORMACION DE ENTIDADES FUERTES En principio las entidades fuertes del modelo. Entidad Relacin son transformados al modelo relacional siguiendo estas instrucciones: Entidades. Las entidades pasan a ser tablas Atributos. Los atributos pasan a ser columnas. Identificadores principales. Pasan a ser claves primarias Identificadores candidatos. Pasan a ser claves candidatas. ENTIDADES DEBILES Toda entidad dbil incorpora una relacin implcita con una entidad fuerte. Esta relacin no necesita incorporarse como tabla en el modelo relacional. S se necesita incorporar la clave de la entidad fuerte como clave externa en la entidad dbil. Es ms, normalmente esa clave externa forma parte de la clave principal de la tabla que representa a la entidad dbil.

2. TRANSFORMACION DE RELACIONES RELACION VARIOS A VARIOS En las relaciones varios a varios, la relacin se transforma en una tabla cuyos atributos son: los atributos de la relacin y las claves de las entidades relacionadas (que pasarn a ser claves externas). La clave de la tabla la forman todas las claves externas: RELACIONES DE ORDEN N Las relaciones ternarias, cuaternarias y n-arias que unen ms de dos relaciones se transforman en una tabla que contiene los atributos de la relacin ms los identificadores de las entidades relacionadas. La clave la forman todas las claves externas:

RELACIONES DE UNO A VARIOS Y DE UNO A UNO Las relaciones binarios de tipo uno a varios no requieren ser transformadas en una tabla en el modelo relacional. En su lugar la tabla del lado varios ( tabla relacionada) incluye como clave externa1 el identificador de la entidad del lado uno ( tabla principal ): RELACIONES RECURSIVAS Las relaciones recursivas se tratan de la misma forma que las otras, slo que un mismo atributo puede figurar dos veces en una tabla como resultado de la transformacin.

Primera Forma Normal (1FN)


Una tabla est en Primera Forma Normal si: Todos los atributos son atmicos. Un atributo es atmico si los elementos del dominio son indivisibles, mnimos. La tabla contiene una clave primaria nica. La clave primaria no contiene atributos nulos. No debe de existir variacin en el nmero de columnas. Los Campos no clave deben identificarse por la clave (Dependencia Funcional) Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados Una tabla no puede tener mltiples valores en cada columna. Los datos son atmicos. (Si a cada valor de X le pertenece un valor de Y y viceversa) Esta forma normal elimina los valores repetidos dentro de una BD

Segunda Forma Normal (2FN)


Dependencia Funcional. Una relacin est en 2FN si est en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender nicamente de la clave principal). En otras palabras podramos decir que la segunda forma normal est basada en el concepto de dependencia completamente funcional. Una dependencia funcional es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que . Una

dependencia funcional

es una dependencia parcial si hay algunos atributos

que pueden ser eliminados de X y la dependencia todava se mantiene, esto es . HORAS_TRABAJO (con el DNI de un

Por ejemplo {DNI, ID_PROYECTO}

empleado y el ID de un proyecto sabemos cuntas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI mantienen HORAS_TRABAJO ni ID_PROYECTO la dependencia. Sin embargo {DNI, HORAS_TRABAJO ID_PROYECTO}

NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI NOMBRE_EMPLEADO mantiene la dependencia.

Tercera Forma Normal (3FN)


La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave. Un ejemplo de este concepto sera que, una dependencia funcional X->Y en un esquema de relacin R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X>Z y Z->Y. Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es transitiva va DNUMBER porque las dependencias SSNDNUMBER y DNUMBERDMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de EMP_DEPT. Formalmente, un esquema de relacion R est en 3 Forma Normal ElmasriNavathe,2 si para toda dependencia funcional menos una de las siguientes condiciones: X es superllave o clave. , se cumple al

A es atributo primo de R; esto es, si es miembro de alguna clave en R. Adems el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal.

Forma normal de Boyce-Codd (FNBC)


La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deber registrarse de forma anillada ante la presencia de un intervalo seguido de una formalizacion perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir. Formalmente, un esquema de relacin R est en FNBC, si y slo si, para toda dependencia funcional X es superllave o clave. De esta forma, todo esquema R que cumple FNBC, est adems en 3FN; sin embargo, no todo esquema R que cumple con 3FN, est en FNBC. vlida en R, se cumple que

Cuarta Forma Normal (4FN)


Una tabla se encuentra en 4FN si, y slo si, para cada una de sus dependencias mltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.

Quinta Forma Normal (5FN)


Una tabla se encuentra en 5FN si: La tabla est en 4FN No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que

est en la 5FN si, y slo si, cada relacin de dependencia se encuentra definida por las claves candidatas.

Sistema de gestin de bases de datos


Los sistemas de gestin de bases de datos (en ingls database management system, abreviado DBMS) 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. Propsito El propsito general de los sistemas de gestin de bases de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirn en informacin relevante para una organizacin. Objetivos Existen distintos objetivos que deben cumplir los SGBD: 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. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, 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. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener

licencia de conducir. El sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programacin de este tipo de condiciones. 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 segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Manejo de transacciones. Una transaccin es un programa que se ejecuta como una sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho ms simple que si no se dispusiera de ellos. Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la informacin solicitada y en almacenar los cambios realizados. SQL El lenguaje de consulta estructurado o SQL (por sus siglas en inglsstructured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en stas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencillainformacin de inters de una base de datos, as como tambin hacer cambios sobre ella. Caractersticas generales del SQL El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en stos ltimos.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base terica y su orientacin al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificacin y la orientacin a objetos. De esta forma una sola sentencia puede equivaler a uno o ms programas que se utilizaran en un lenguaje de bajo nivel orientado a registros. oracle Oracle es un sistema de gestin de base de datos objeto-relacional (o ORDBMS por el acrnimo en ingls de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos ms completos, destacando: soporte de transacciones, estabilidad, escalabilidad y Soporte multiplataforma. Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las ltimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

Ttulo.

Se utiliza esta propiedad para indicar cmo queremos que se visualice la

cabecera del campo. Por ejemplo, si un campo se llama Fnac e indicamos Fecha de nacimiento como valor en la propiedad Ttulo, como cabecera del campo Fnac veremos Fecha de nacimiento.

Lugares decimales.

Esta propiedad nos permite indicar el nmero de decimales que queremos asignar a un tipo de dato Numrico o Moneda.

Valor predeterminado.

Si se sabe que un determinado campo va a tener la mayora de las veces el mismo valor, se utiliza esta propiedad para indicar o especificar cul va a ser ese valor y as que se introduzca automticamente en el campo a la hora de introducir los datos de la tabla. Por ejemplo si tenemos la tabla Clientes con el campo Provincia y la mayora de clientes son la provincia Valencia, se puede introducir ese valor en la propiedad Valor determinado del campo Provincia y as a la hora de introducir los diferentes clientes, automticamente aparecer el

valor Valencia. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumrico.

Regla de validacin.

Esta propiedad nos permite controlar la entrada de datos segn el criterio que se especifique. Hay que escribir el criterio que debe cumplir el valor introducido en el campo para que sea introducido correctamente. Por ejemplo si queremos que un valor introducido est comprendido entre 100 y 2000, se puede especificar en esta propiedad >=100 Y <=2000. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumrico.

Texto

de

validacin.

En esta propiedad escribiremos el texto que queremos nos aparezca en pantalla si introducimos en un campo un valor que no cumple la regla de validacin especificada en la propiedad anterior. Debe ser un mensaje para que la persona que se equivoque a la hora de introducir los datos, sepa el porqu de su error y pueda solucionarlo. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumrico.

Requerido.

Si queremos que un campo se rellene obligatoriamente tendremos que asignar a esta propiedad el valor S, en caso contrario el valor ser el de No. Se puede utilizar esta propiedad para todos los tipos de datos excepto el Objeto OLE, y el Autonumrico.

Permitir longitud cero.

Los campos Memo y Texto cuentan con esta propiedad para controlar que no se puedan introducir valores de cadena que no contengan caracteres o estn vacos.

Indexado.

Se utiliza esta propiedad para establecer un ndice de un solo campo. Los ndices hacen que las consultas basadas en los campos indexados sean ms rpidas, y tambin aceleran las operaciones de ordenacin y agrupacin. Por ejemplo, si buscas empleados basndose en un campo llamado Apellidos, puedes crear un ndice para este campo para hacer ms rpida la bsqueda. Esta propiedad dispone de tres valores: No: Sin ndice. S (con duplicados): Cuando de asigna un ndice a ese campo y adems admite valores duplicados. S (sin duplicados): Cuando se asigna un ndice pero sin admitir valores duplicados.

LAS CONSULTAS En esta unidad veremos cmo crear consultas y manejarlas para la edicin de registros de

tablas creadas con Access 2007. Tipos de consultas. Las consultas son los objetos de una base de datos que permiten recuperar datos de una tabla, modificarlos e incluso almacenar el resultado en otra tabla. Existen varios tipos de consultas: Consultas de seleccin. Son las consultas que extraen o nos muestran datos. Muestran aquellos datos de una tabla que cumplen los criterios especificados. Una vez obtenido el resultado podremos consultar los datos para modificarlos (esto se podr hacer o no segn la consulta). Una consulta de seleccin genera una tabla lgica (se llama lgica porque no est fsicamente en el disco duro sino en la memoria del ordenador y cada vez que se abre se vuelve a calcular). Consultas de accin. Son consultas que realizan cambios a los registros. Existen varios tipos de consultas de accin, de eliminacin, de actualizacin, de datos anexados y de creacin de tablas. Consultas especficas de SQL. Son consultas que no se pueden definir desde la cuadrcula QBE de Access sino que se tienen que definir directamente en SQL. Estas consultas no se estudiarn en este curso ya que para definirlas hay que saber SQL, cosa que no es objeto de este curso. Pero si tienes ganas de aprender, puedes seguir nuestro Tutorial de SQL, con el que aprenders a realizar estas consultas.

LAS CONSULTAS DE REFERENCIAS CRUZADAS

Se define una consulta de referencias cruzadas cuando queremos representar una consulta resumen con dos columnas de agrupacin como una tabla de doble entrada en la que cada una de las columnas de agrupacin es una entrada de la tabla. Por ejemplo queremos obtener las ventas mensuales de nuestros empleados a partir de los pedidos vendidos. Tenemos que disear una consulta resumen calculando la suma de los importes de los pedidos agrupando por empleado y mes de la venta. LAS CONSULTAS DE ACCIN Las consultas de accin son consultas que permiten realizar cambios en los datos almacenados en una tabla. Con estas consultas podemos crear una nueva tabla a partir de los registros de otra, modificar los datos almacenados, insertar nuevos registros o eliminar registros. En todos los casos antes de hacer efectiva la modificacin sale una cuadro de dilogo para confirmar la operacin dndonos as la oportunidad de cancelarla. Se pueden eliminar estos mensajes. CRITERIOS DE CONSULTA Un criterio es similar a una frmula (es una cadena que puede consistir en referencias de campos, operadores y constantes). Los criterios de consulta tambin se conocen como expresiones en Microsoft Office Access 2007. En las tablas siguientes, se muestran algunos ejemplos de criterios y se explica su

funcionamiento. CRITERIOS DESCRIPCIN >25 y <50 Este criterio se aplica a campos Nmero, como Precio o Unidades En Stock. El

resultado incluye solamente aquellos registros en los que el campo Precio o Unidades En Stock contiene un valor mayor que 25 y menor que 50. DifFecha("aaaa", [FechaNacimiento], Fecha()) > 30 Este criterio se aplica a campos

Fecha/Hora, como Fecha Nacimiento. En el resultado de la consulta, slo se incluyen los registros en los que el nmero de aos entre la fecha de nacimiento de una persona y la fecha actual es mayor que 30. Los criterios que especifique para los distintos campos en la fila Criterios se combinan mediante el operador Y. Dicho de otro modo, los criterios especificados en los campos Ciudad y FechaNacimiento se interpretan as: Ciudad = "Chicago" Y FechaNacimiento < AgregFecha("aaaa", -40, Fecha())

Criterios para campos Texto, Memo e Hipervnculo


Los ejemplos siguientes son para el campo PasRegin de una consulta basada en una tabla donde se almacenan datos de contacto. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo.

Un criterio que se especifique para un campo Hipervnculo se aplica, de forma predeterminada, a la parte de texto visible del valor del campo. Para especificar los criterios para la parte correspondiente al Localizador uniforme de recursos (URL) del valor, use la expresin ParteDeHipervnculo. La sintaxis de esta expresin es la siguiente: ParteDeHipervnculo([Tabla1].[Campo1],1) = "http://www.microsoft.com/spain", donde Tabla1 es el nombre de la tabla que contiene el campo de hipervnculo, Campo1 es el campo de hipervnculo y http://www.microsoft.com/spain es la direccin URL con la que se desea coincidir. Para incluir registros Use este criterio que... Coincidan exactamente con un "China" Devuelve los registros en los que el campo PasRegin tiene el valor China. Resultado de la consulta

valor, como China. No coincidan con unNo "Mxico" valor, como Mxico Empiecen cadena como U por laComo U* Devuelve los registros en los que el campo PasRegin tiene un valor distinto de Mxico. Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres empiezan por "U", como Uruguay, Uganda, etc. NOTA Cuando se utiliza en una expresin, el asterisco (*) representa cualquier cadena de caracteres (tambin se le denomina "carcter comodn"). Para obtener una lista de este tipo de caracteres. No empiecen por laNo como U* cadena como U Contengan la cadenaComo "*Corea*" especificada, Corea No contengan laNo como "*Corea*" como especificada, Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres empiezan por un carcter distinto de "U". Devuelve los registros correspondientes a todos los pases o regiones que contienen la cadena "Corea". Devuelve los registros correspondientes a todos los pases o regiones que no contienen la cadena "Corea". Devuelve los registros correspondientes a

especificada,

cadena

especificada,

como Corea Acaben con la cadenaComo "*ina"

especificada, "ina" No acaben

como

todos los pases o regiones cuyos nombres acaban con "ina" como China y Argentina.

con

laNo como "*ina"

Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres no acaban con "ina", como China y Argentina.

cadena

especificada,

como "ina" Contengan valoresEs Nulo

Devuelve los registros en los que no hay ningn valor en el campo. Devuelve los registros en los que no falta el valor del campo. Devuelve los registros en los que el campo tiene un valor en blanco (pero no nulo). Por ejemplo, los registros de ventas realizada a otro departamento podran contener un valor en blanco en el campo PasRegin.

nulos (o que falten) No contengan valoresNo es Nulo nulos Contengan cadenas de"" (un par de comillas) longitud cero

No contengan cadenasNo "" de longitud cero Contengan valores"" O Es Nulo

Devuelve los registros en los que el campo PasRegin no tiene un valor en blanco. Devuelve los registros donde no hay ningn valor en el campo, o bien, el campo tiene un valor en blanco.

nulos o cadenas de longitud cero. Ni vaco ni en blanco No es Nulo Y Sin ""

Devuelve los registros en los que el campo PasRegin tiene un valor no en blanco y no nulo.

Vayan a continuacin>= "Mxico" de un valor, como

Devuelve los registros de todos los pases o regiones a partir de Mxico y posteriores por orden alfabtico.

Mxico, si se ordenan alfabticamente Estn incluidos en unComo "[A-D]*" intervalo especfico,

Devuelve los registros correspondientes a los pases o regiones cuyos nombres empiezan por las letras "A" a la "D".

como de la A hasta la D Coincidan con uno de"Estados dos valores, Unidos"

ODevuelve los registros correspondientes a Estados Unidos y Reino Unido.

tales"Reino Unido"

como Estados Unidos

o Reino Unido Contengan uno de losEn("Francia", valores de una lista "China",Devuelve los registros correspondientes a todos los pases o regiones especificados en la lista. Contengan caracteres en ciertosDer([PasRegin], 1) = "y" Devuelve los registros correspondientes a una todos los pases o regiones cuyo nombre acaba con la letra "y".

"Alemania", "Japn")

posicin especfica en el valor del campo Satisfagan de longitud

requisitosLongitud([PasRegin]) >Devuelve los registros correspondientes a los 10 pases o regiones cuyo nombre tiene ms de 10 caracteres.

Coincidan

con

unComo "Chi??"

Devuelve los registros correspondientes a los pases o regiones cuyos nombres tienen cinco caracteres de longitud y los tres primeros caracteres son "Chi", como China y Chile. NOTA Los caracteres ? y _, cuando se usan en una expresin, representan un solo carcter (tambin se les denomina "caracteres

modelo especfico

comodn"). El carcter _ no se puede usar en la misma expresin junto con el carcter ? ni con el carcter comodn *. El carcter comodn _ se puede usar en una expresin que tambin contiene el carcter comodn %.

Criterios para campos Nmero, Moneda y Autonumrico


Los ejemplos siguientes son para el campo PrecioUnidad de una consulta basada en una tabla donde se almacena informacin de productos. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo de la consulta.

Para

incluir Use este Resultado de la consulta criterio 100 Devuelve los registros en los que el precio por unidad del producto es 100 $.

registros que... Coincidan exactamente con un valor, como 100

No coincidan con unNo 1000 valor, como 1000

Devuelve los registros en los que el precio por unidad del producto no es 1000 $.

Contengan un valor< menor que otro valor,<= 100 como 100

100Devuelve los registros en los que el precio por unidad es menor que 100 $ (<100). La segunda expresin (<=100) muestra los registros en los que el precio por unidad es menor o igual que 100 $.

Contengan un valor>99,99 mayor que otro valor,>=99,99 como 99,99

Devuelve los registros en los que el precio por unidad es mayor que 99,99 $ (>99,99). La segunda expresin muestra los registros en los que el precio por unidad es mayor o igual que 99,99 $.

Contengan entre dos

uno

de20 o 25

Devuelve los registros en los que el precio por unidad es 20 $ 25 $.

valores,

como 20 25 Contengan un valor>49,99 que est incluido en<99,99 un intervalo O YDevuelve los registros en los que el precio por unidad est entre (pero sin incluir) 49,99 $ y 99,99 $.

bien,

Entre 50 Y 100 Contengan un valor<50 que est fuera de un>100 intervalo Contengan uno entreEn(20, 25,Devuelve los registros en los que el precio por unidad es 20 $, varios valores 30) 25 $ 30 $. Devuelve los registros en los que el precio por unidad acaba con "4,99", como 4,99 $, 14,99 $, 24,99 $, etc. NOTA Los caracteres * y %, cuando se usan en una expresin, representan cualquier nmero de caracteres, que tambin se denominan "caracteres comodn". El carcter % no se puede usar en la misma expresin junto con el carcter * ni con el carcter comodn ?. El carcter comodn % se puede usar en una expresin que tambin contiene el carcter comodn _. Contengan valoresEs Nulo Devuelve los registros en los que no se ha especificado ningn valor en el campo PrecioUnidad. ODevuelve los registros en los que el precio por unidad no est entre 50 $ y 100 $.

Contengan un valorComo que acabe con los"*4,99" dgitos especificados

nulos (o que falten)

Contengan valores noNo nulos Nulo

esDevuelve los registros en los que no falta el valor del campo PrecioUnidad.

Criterios para campos Fecha/Hora


Los ejemplos siguientes son para el campo FechaPedido de una consulta basada en una tabla donde se almacena informacin de pedidos. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo de la consulta.

Para incluir registros Use este criterio que... Coincidan exactamente con un valor, como 2/2/2006 #2/2/2006#

Resultado consulta Devuelve registros

de

la

los de las que

transacciones

tuvieron lugar el 2 de febrero de 2006. No olvide rodear los

valores de fechas con el carcter #, para que Access distinguir pueda entre

fechas y cadenas de texto. No coincidan con unNo #2/2/2006# valor, como 2/2/2006 Devuelve registros de los las que

transacciones

tuvieron lugar en una fecha distinta al 3 de febrero de 2006. Contengan valores< #2/2/2006# Devuelve registros de los las que

anteriores a una fecha determinada, como el 2/2/2006

transacciones

tuvieron lugar antes del 2 de febrero de 2006. Para ver las que

transacciones

tuvieron lugar en esa fecha o antes, use el operador <= en lugar de <. Contengan posteriores fecha valores> #2/2/2006# a una Devuelve registros de los las que lugar del 2 de

determinada,

transacciones tuvieron despus

como el 2/2/2006

febrero de 2006. Para ver las que

transacciones

tuvieron lugar en esa fecha o despus, use el operador >= en

lugar de >.

Contengan

valores>#2/2/2006# Y <#4/2/2006#

Devuelve registros de

los las que

que estn dentro de un intervalo de fechas

transacciones

tuvieron lugar entre el 2 de febrero de 2006 y el 4 de febrero de 2006. Tambin puede usar el operador Entre

para filtrar segn un intervalo de valores. Por ejemplo, Entre Y es lo que Y

#2/2/2006# #4/2/2006# mismo >#2/2/2006# <#2/4/2006#. Contengan valores<#2/2/2006# O >#4/2/2006# Devuelve registros de

los las que

que estn fuera de un intervalo

transacciones

tuvieron lugar antes del 2 de febrero de 2006 o despus del 4 de febrero de 2006. Contengan uno de dos#2/2/2006# O #3/2/2006# valores, como 2/2/2006 o 3/2/2006 Devuelve registros de los las que

transacciones

tuvieron lugar el 2 de febrero de 2006 o el 3 de febrero de 2006. Contengan uno entreEn (#1/2/2006#, #1/3/2006#, #1/4/2006#) varios valores Devuelve registros de los las

transacciones

que

tuvieron lugar el 1 de febrero de 2006, el 1 de marzo de 2006 o el 1 de abril de 2006. Contengan una fechaParcFecha("m", [FechaVenta]) = 12 que sea de un mes especfico (independientemente del ao), como Devuelve registros de los las que en de

transacciones tuvieron diciembre cualquier ao. Devuelve registros de lugar

diciembre Contengan una fechaParcFecha("t", [FechaVenta]) = 1 que sea de un

los las que

trimestre

especfico

transacciones

(independientemente del ao), como el

tuvieron lugar en el primer trimestre de

primer trimestre Contengan la fecha enFecha() curso

cualquier ao. Devuelve registros de los las que

transacciones

tuvieron lugar en la fecha en curso. Si hoy es el 2/2/2006, ver los registros en los que el campo

FechaPedido tiene el valor 2 de febrero de 2006. Contengan la fecha deFecha()-1 ayer Devuelve registros de los las que

transacciones

tuvieron lugar en el da anterior a la fecha

en curso. Si hoy es el 2/2/2006, registros correspondientes al 1 de febrero de 2006. Contengan la fecha deFecha() + 1 maana Devuelve registros de los las que ver los

transacciones

tendrn lugar en el da posterior a la

fecha en curso. Si hoy es el 2/2/2006, ver los registros

correspondientes al 3 de febrero de 2006. Contengan fechas queParcFecha("ss", [FechaVenta]) = ParcFecha("ss",Devuelve sean de la semana enFecha()) Y Ao( [FechaVenta]) = Ao(Fecha()) curso registros de los las que

transacciones

tuvieron lugar durante la semana en curso. Una semana empieza en domingo y termina en sbado. Contengan fechas queAo([FechaVenta])* sean de la 53 + ParcFecha("ss",Devuelve de los las que

semana[FechaVenta]) = Ao(Fecha())* 53 + ParcFecha("ss",registros Fecha()) - 1

anterior

transacciones

tuvieron lugar durante la semana pasada.

Una semana empieza en domingo y termina en sbado. Contengan fechas queAo([FechaVenta])* sean de la 53+ParcFecha("ss",Devuelve de los las

semana[FechaVenta]) = Ao(Fecha())* 53+ParcFecha("ss",registros

prxima

Fecha()) + 1

transacciones tendrn lugar

que la

semana prxima. Una semana empieza en domingo y termina en sbado. Contengan fechas queEntre Fecha() Y Fecha()-6 sean de los 7 ltimos das Devuelve registros de los las que

transacciones

tuvieron lugar durante los 7 ltimos das. Si hoy es el 2/2/2006, ver los registros al de

correspondientes perodo del 24

enero de 2006 al 2 de febrero de 2006. Contengan una fechaAo([FechaVenta]) = Ao(Ahora())Devuelve registros correspondientes al los

que sea del mes enY Mes([FechaVenta]) = Mes(Ahora()) curso

mes en curso. Si hoy es el 2/2/2006, ver los registros a

correspondientes febrero de 2006. Contengan una fechaAo([FechaVenta])* que sea del 12 + ParcFecha("m",Devuelve

los

mes[FechaVenta]) = Ao(Fecha())* 12 + ParcFecha("m",registros Fecha()) - 1 correspondientes al

anterior

mes pasado. Si hoy es el 2/2/2006, ver los registros a

correspondientes enero de 2006.

Contengan una fechaAo([FechaVenta])* que sea del

12

ParcFecha("m",Devuelve

los

mes[FechaVenta]) = Ao(Fecha())* 12 + ParcFecha("m",registros Fecha()) + 1 correspondientes al

prximo

mes prximo. Si hoy es el 2/2/2006, ver los registros a

correspondientes marzo de 2006. Contengan fechas queEntre Fecha( ) Y AgregFecha("M", -1, Fecha( )) sean de los 30 31 ltimos das Los registros

de

ventas de un perodo de un mes. Si hoy es el 2/2/2006, ver los registros correspondientes perodo del 2 al de

enero de 2006 al 2 de febrero de 2006. Contengan una fechaAo([FechaVenta]) = Ao(Ahora()) Y ParcFecha("t",Devuelve que sea del trimestreFecha()) = ParcFecha("t", Ahora()) en curso registros correspondientes al los

trimestre en curso. Si hoy es el 2/2/2006, ver los registros al de

correspondientes primer 2006. Contengan una fechaAo([FechaVenta])*4+ParcFecha("t",[FechaVenta]) Devuelve que sea del trimestre= Ao(Fecha())*4+ParcFecha("t",Fecha())- 1 anterior registros correspondientes trimestre

los

al

trimestre anterior. Si hoy es el 2/2/2006, ver los registros al

correspondientes

ltimo 2005.

trimestre

de

Contengan una fechaAo([FechaVenta])*4+ParcFecha("t",[FechaVenta]) Devuelve que sea del prximo= Ao(Fecha())*4+ParcFecha("t",Fecha())+1 trimestre registros correspondientes

los

al

prximo trimestre. Si hoy es el 2/2/2006, ver los registros al

correspondientes

segundo trimestre de 2006. Contengan fechas queAo([FechaVenta]) = Ao(Fecha()) sean del ao en curso Devuelve registros correspondientes al los

ao en curso. Si hoy es el 2/2/2006, ver los registros al

correspondientes ao 2006. Contengan una fechaAo([FechaVenta]) = Ao(Fecha()) - 1 que sea del ao Devuelve registros de

los las que

anterior

transacciones

tuvieron lugar durante el ao pasado. Si hoy es el 2/2/2006, ver los registros al

correspondientes ao 2005. Contengan una fechaAo([FechaVenta]) = Ao(Fecha()) + 1 que sea del ao Devuelve registros de

los las con ao

prximo

transacciones fecha en el

prximo. Si hoy es el

2/2/2006, registros

ver

los

correspondientes ao 2007. Contengan una fechaAo([FechaVenta]) que est entre el 1 deMes([FechaVenta]) = <= Ao(Fecha()) Mes(Fecha()) YDevuelve Yregistros de

al

los las con

enero y hoy (registrosDa([FechaVenta]) <= Da (Fecha()) del ao hasta la fecha)

transacciones

fechas entre el 1 de enero curso del y ao la en

fecha

actual. Si hoy es el 2/2/2006, registros correspondientes perodo del 1 al de ver los

enero de 2006 al 2 de febrero de 2006. Contengan una fecha< Fecha() ya pasada Devuelve registros de los las que

transacciones

tuvieron lugar antes de hoy. Contengan una fecha> Fecha() del futuro Devuelve registros de los las que lugar

transacciones tendrn despus de hoy. Filtren valores nulos (oEs Nulo que falten) Devuelve

los

registros en los que falta la fecha de la transaccin.

Filtren nulos

valores

noNo es Nulo

Devuelve

los

registros en los que

se conoce la fecha de la transaccin.

Criterios para otros campos


Campos S/No En la fila Criterios, escriba S para incluir los registros que tengan activada la casilla de

verificacin. Escriba No para incluir los registros que no tengan activada la casilla de verificacin. Datos adjuntos En la fila Criterios, escriba Es Nulo para incluir los registros que no contengan datos

adjuntos. Escriba No es Nulo para incluir los registros que s contengan datos adjuntos. Campos de bsqueda Hay dos tipos de campos de bsqueda: los que buscan valores en un origen de datos

existente (mediante una clave externa) y los que se basan en una lista de valores especificados al crearse el campo de bsqueda. Los campos de bsqueda que se basan en una lista de valores especificados son del tipo de datos Texto, y los criterios vlidos son los mismos que para otros campos de texto. Los criterios que se pueden usar en un campo de bsqueda basado en valores de un origen de datos existente dependen del tipo de datos de la clave externa, y no del tipo de los datos que se buscan. Por ejemplo, suponga que tiene un campo de bsqueda que muestra los nombres de empleados, pero usa una clave externa de tipo de datos Nmero. Puesto que el campo almacena un nmero en lugar de texto, usted utilizar criterios vlidos para nmeros, es decir, >2. Si no conoce el tipo de datos de la clave externa, puede examinar la tabla de origen en la vista Diseo para determinar los tipos de datos de los campos. Para ello: Busque la tabla de origen en el panel de exploracin. Abra la tabla en la vista Diseo. Para ello: Haga clic en la tabla y, a continuacin, presione CTRL+ENTRAR. Haga clic con el botn secundario del mouse (ratn) en la tabla y, a continuacin, haga clic en Vista Diseo. El tipo de datos de cada campo se muestra en la columna Tipo de datos de la cuadrcula de

diseo de la tabla. Campos multivalor: Los datos de un campo multivalor se almacenan como filas en una tabla oculta que Office Access 2007 crea y rellena para representar el campo. En la vista Diseo de la consulta, se representa en el panel Lista de campos mediante un campo expansible. Para usar criterios para un campo multivalor, deber suministrar criterios para una fila de la tabla oculta. Para hacerlo: Cree una consulta que contenga el campo multivalor y brala en la vista Diseo. Expanda el campo multivalor haciendo clic en el signo ms (+) situado junto al campo (si el campo ya est expandido, habr un signo menos (-)). Justo debajo del nombre del campo, ver un campo que representa un nico valor del campo multivalor. Este campo tendr el mismo nombre que el campo multivalor, con la cadena .Valu agregada al final. Arrastre el campo multivalor y su campo de valor nico a columnas distintas en la cuadrcula de diseo. Si desea ver slo el campo multivalor completo en los resultados, desactive la casilla de verificacin Mostrar correspondiente al campo de valor nico. Escriba los criterios en la fila Criterios correspondiente al campo de valor nico, utilizando criterios apropiados segn cual sea el tipo de datos de los valores. Cada valor del campo multivalor se puede evaluar individualmente mediante los criterios que especifique. Por ejemplo, puede tener un campo multivalor para almacenar una lista de nmeros. Si especifica los criterios >5 Y <3, todos los registros donde haya al menos un valor mayor que 5 y un valor menor que 3 aparecern en los resultados. ENTORNO DE TRABAJO DE UN SGBD

Creacin de una base de datos Para crear una base se deben realizar dos ejercicios de diseo: un diseo lgico y uno fsico. El diseo lgico de una base de datos es un modelo abstracto de la base de datos desde una perspectiva de negocios, mientras que el diseo fsico muestra como la base de datos se ordena en realidad en los dispositivos de almacenamiento de acceso directo. El diseo fsico de la base de datos es llevado a cabo por los especialistas en bases de datos, mientras que el diseo lgico requiere de una descripcin detallada de las necesidades de informacin del negocio de los negocios actuales usuarios finales de la base. Idealmente, el diseos de la base ser una parte del esfuerzo global de la planeacin de datos a nivel institucional.

El diseo lgico de la base de datos describe como los elementos en la base de datos han de quedar agrupados.

El proceso de diseo identifica las relaciones entre los elementos de datos y la manera ms eficiente de agruparlos para cumplir con los requerimientos de informacin. El proceso tambin identifica elementos redundantes y los agrupamientos de los elementos de datos que se

requieren para programas de aplicaciones especficos. Los grupos de datos son organizados, refinados y agilizados hasta que una imagen lgica general de las relaciones entre todos los elementos en la base de datos surja. Bases de datos documentales: Son las derivada de la necesidad de disponer de toda la informacin en el puesto de trabajo y de minimizar los tiempos del acceso a aquellas informaciones que, si bien se utilizan con frecuencia, no estn estructuradas convenientemente . Esto se debe a que ala procedencia de la informacin es muy variada (informes, notas diversas, peridicos, revistas, muchos ms. Bases de datos distribuidas: Es aquella que se almacena en ms de un lugar fsico. Partes de la base de datos se almacena fsicamente en un lugar y otras partes se almacenan y mantienen en otros lugares. Existen dos maneras de distribuir una base de datos. La base de datos central puede ser particionada de manera que cadaprocesador remoto tenga los datos necesarios sobre los clientes para servir a su rea local. Los cambios en los archivos pueden ser justificado en la base de datos central sobre las bases de lotes, en general por la noche. Otra estrategia tambin requiere de la actualizacin de la base central de datos en hojas no laborables. Aun otra posibilidad (una que se emplea en bases de datos grandes) es mantener solo un ndice central de nombres y almacenar localmente los registroscompletos. El procesamiento distribuidos y las bases de datos distribuidas tienen como beneficios e inconvenientes. Los sistemas distribuidos reducen la vulnerabilidad de un lugar nico central y voluminoso. Permiten incremento en la potencia de los sistemas al adquirir minicomputadoras que son ms pequeas y baratas. Finalmente incrementan el servicio y la posibilidad de respuesta de los usuarios locales. Los sistemas distribuidos, sin embargo, dependen de la alta calidad de las lneas de telecomunicaciones , las cuales a su vez son vulnerables. Adems, las bases de datos locales pueden algunas veces alejarse de las normas y las definiciones de los datos centrales y hacen surgir problemas de seguridad al distribuir ampliamente el acceso a datos de alta sensibilidad. Bases de datos orientadas a objetos e hipermedia: Estas son capaces de almacenar tanto procesos como datos. Por este motivo las bases orientadas al objeto deben poder almacenar informacin no convencional (como imgenes estticas o en movimiento, colecciones de sonidos, entre otros). Este tipo de

bases de datos deriva directamente de la llamada programacin orientada a objetos, tpica por ejemplo del lenguaje C/C++. Entre las ventajas de las bases de datos orientadas al objeto destaca la posibilidad de tratar los casos excepcionales, que suelen ser la mayora en la prctica cotidiana, en lugar de tratar de insertar la realidad en unos patrones rgidos que violentan para hacerla coincidir con los esquemas utilizados. Adems, nadie pone en duda que es ms cmodo manejar objetos de entorno que no es familiar, que trabaja, por ejemplo, con tablas, esquemas, cuadros, muchos ms. Crear una tabla de datos. Para crear una tabla de datos tenemos que posicionarnos en la ventana base de datos con el objeto tablas seleccionado, si hacemos clic en el icono distintas formas que tenemos para crear una tabla: Vista Hoja de datos consiste en introducir directamente los datos en la tabla y segn el valor que introduzcamos en la columna se abre una ventana con las

determinar el tipo de datos que tiene la columna. Vista diseo es el mtodo que detallaremos en esta unidad didctica Asistente para tablas utiliza un asistente que nos va guiando paso por paso en la creacin de la tabla utilizando un juego de tablas que tiene ya predefinidas. Importar tabla consiste en crear una nueva tabla a partir de otra existente en otra base de datos. Vincular tabla consiste en crear una referencia a otra tabla almacenada en otra base de datos. Explicaremos a continuacin la forma de crear una tabla en vista diseo. Este mtodo consiste en definir la estructura de la tabla es decir definir las distintas columnas que esta tendr y otras consideraciones como claves etc...

Otra forma ms rpida de llegar a la vista diseo es desde la ventana Base de datos con el objeto tablas seleccionado, haciendo doble clic en la opcin Crear una tabla en vista Diseo.

Aparecer la ventana Diseo de tabla:

En la barra de ttulo tenemos el nombre de la tabla (como todava no hemos asignado un nombre a la tabla, Access le ha asignado un nombre por defecto Tabla1; a continuacin

tenemos larejilla donde definiremos las columnas que componen la tabla, se utiliza una lnea para cada columna, as en la primera lnea (fila) de la rejilla definiremos la primera columna de la tabla y as sucesivamente. En la parte inferior tenemos a la izquierda dos fichas

(General y Bsqueda) para definir propiedades del campo es decir caractersticas adicionales de la columna que estamos definiendo. Y a la derecha tenemos un recuadro con un texto que nos da algn tipo de ayuda sobre lo que tenemos que hacer, por ejemplo en este nomento el cursor se encuentra en la primera fila de la rejilla en la columna Nombre del campo y en el recuadro inferior derecho Access nos indica que el nombre de un campo puede tener hasta 64 caracteres. Para seguir pasa a la pgina siguiente...

Pg. 3.1

Aviso legal: este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido descargar el curso ni utilizarlo en academias o centros privados sin estar conectado a Internet. aulaClic. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. Octubre-2002. aulaClic.es

Adicin, edicin o supresin de tablas Las tablas y columnas de recursos deben cumplir las especificaciones del proveedor de bases de datos. Un gestor de tiempo de ejecucin estn optimizados para un proveedor de bases de datos especfico y se deben volver a generar si cambia de proveedor.

Para aadir una nueva tabla que an no se haya definido en un origen de datos, puede pulsar el botn Crear Tabla o pulsar el botn secundario del ratn en cualquier parte de los campos Tablas disponibles o Tablas seleccionadas y pulsar en Crear tabla. Escriba el nombre de esquema, el nombre de tabla y el nombre de visualizacin. Pulse Aceptar.

Para editar una tabla, efecte una doble pulsacin sobre ella. Escriba el nombre de esquema, el nombre de tabla y el nombre de visualizacin. Pulse Aceptar.

Para suprimir una tabla, pulse con el botn secundario del ratn en ella y pulse Suprimir tabla.

Modificacin de tablas de datos La tabla de datos asociada a un grfico se puede modificar para agregar y mostrar filas de informacin.

Para agregar filas a la tabla de datos:

1. Seleccione

un

objeto

de

grfico.

Este ejemplo utiliza un objeto de grfico barra de 3D. 2. Escriba informacin adicional en la primera fila en blanco (a continuacin de la informacin existente).

Los datos no se reflejan en el grfico de datos hasta que la fila se agrega al grfico. 3. Haga clic sobre la flecha abajo situada junto al campo filas para agregar nuevo contenido al grfico de datos.

RELACIONES ENTRE TABLAS: Para que los datos de las tablas se puedan seleccionar, encontrar y procesar de forma rpida y eficaz, es necesario que las talas no se encuentren aisladas unas de otras. Las tablas tienen que estar relacionadas con otras formando estructuras relacionales. La relacin es una asociacin establecida entre campos comunes (columnas) en dos tablas. Los campos que entran en relacin pueden llamarse de distinta manera, pero tienen que ser del mismo tipo de datos. La

relacin permite al motor de Acces, encontrar datos relacionados en ambas tablas. Por ejemplo podemos encontar NOMBRE, APELLIDO (de la tabla EMPLEADO_PERSONAL), SALARIO, y DEPART (de la tabla EMPLEADO_LABORAL) de uno o varios empleados. Las relaciones pueden ser de tres tipos:

1. De uno a uno. 2. De uno a varios. 3. De varios a varios. 4. Indeterminada, indefinida o inconsistente.

Tipos de datos. A la hora de crear un campo en una tabla, hay que especificar de qu tipo son los datos que se van a almacenar en ese campo. Los diferentes tipos de datos de Access2000 son: Texto: cuando en el campo vamos a introducir texto, tanto caracteres como dgitos. Tiene una longitud por defecto de 50 caracteres, siendo su longitud mxima de 255 caracteres. Memo: se utiliza para textos extensos como comentarios o explicaciones. Tiene una longitud fija de 65.535 caracteres. Numrico: para datos numricos utilizados en clculos matemticos. Fecha/Hora: para la introduccin de fechas y horas desde el ao 100 al ao 9999. Moneda: para valores de moneda y datos numricos utilizados en clculos matemticos en los que estn implicados datos que contengan entre uno y cuatro decimales. La precisin es de hasta 15 dgitos a la izquierda del separador decimal y hasta 4 dgitos a la derecha del mismo.

Autonumrico: nmero secuencial (incrementado de uno a uno) nico, o nmero aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumrico no se pueden actualizar. S/No: valores S y No, y campos que contengan uno de entre dos valores (S/No, Verdadero/Falso o Activado/desactivado). Objeto OLE: Objeto (como por ejemplo una hoja de clculo de Microsoft Excel, un documento de Microsoft Word, grficos, sonidos u otros datos binarios). Hipervnculo: Texto o combinacin de texto y nmeros almacenada como texto y utilizada como direccin de hipervnculo. Una direccin de hipervnculo puede tener hasta cuatro partes: Texto: el texto que aparece en el campo o control. Direccin: ruta de acceso de un archivo o pgina. Subdireccin: posicin dentro del archivo o pgina. Sugerencia: el texto que aparece como informacin sobre herramientas.

Existe otra posibilidad que es la Asistente para bsquedas que crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opcin se inicia el Asistente para bsquedas y al salir del Asistente, Microsoft Access establece el tipo de datos basndose en los valores seleccionados en l.

Propiedades de los campos.


Cada campo de una tabla dispone de una serie de caractersticas que proporcionan un control adicional sobre la forma de funcionar del campo. Las propiedades pueden cambiar para un tipo de dato u otro. Si se modifican las propiedades de un campo despus de haber introducido datos o informacin se pueden perder los datos introducidos. A continuacin les explicaremos las propiedades de los diferentes tipos de datos.

Tamao del campo.


Para los campos Texto, esta propiedad determina el nmero mximo de caracteres que se pueden introducir en el campo. Siendo por defecto de 50 caracteres y valor mximo de 255.

Para los campos Numrico, las opciones son: Byte (equivalente a un carcter) para almacenar valores enteros entre 0 y 255. Decimal para almacenar valores comprendidos entre -1028-1 y 1028-1. Es decir, valores con una precisin decimal de 28. Entero para valores enteros comprendidos entre -37.768 y 32.767. Entero largo para valores enteros comprendidos entre -2.147.483.648 y 2.147.483.647. Simple para la introduccin de valores comprendidos entre -3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y 3,402823E38 para valores positivos. Doble para valores comprendidos entre -1,79769313486231E308 y 4,94065645841247E-324 para valores negativos, y entre 1,79769313486231E308 y 4,94065645841247E-324 para valores positivos. Los campos Autonumrico son Entero largo.

A los dems tipos de datos no se les puede especificar tamao. Formato del campo. Esta propiedad se utiliza para personalizar la forma de presentar los datos en pantalla o en un informe. Se puede establecer para todos los tipos de datos excepto el Objeto OLE y Autonumrico. Para los campos Numrico y Moneda, las opciones son: Nmero general: presenta los nmeros tal como fueron introducidos. Moneda: presenta a los valores introducidos el separador de millares y el smbolo monetario asignado en Windows como puede ser Pts. Euro: utiliza el formato de moneda, con el smbolo del euro. Fijo: presenta los valores sin separador de millares. Estndar: presenta los valores con separador de millares. Porcentaje: multiplica el valor por 100 y agrega el signo de porcentaje (%).

Cientfico: presenta el nmero con notacin cientfica. Los campos Fecha/Hora tienen los siguientes formatos: Fecha general:si el valor es slo una fecha, no se muestra ninguna hora; si el valor es slo una hora, no se muestra ninguna fecha. Este valor es una combinacin de los valores de Fecha corta y Hora larga. Ejemplos: 3/4/93, 05:34:00 PM y 3/4/93 05:34:00 PM. Fecha larga: se visualiza la fecha con el da de la semana y el mes completo. Ejemplo: Lunes 21 de agosto de 2000. Fecha mediana: presenta el mes con los tres primeros caracteres. Ejemplo: 21-Ago-2000. Fecha corta: se presenta la fecha con dos dgitos para el da, mes y ao. Ejemplo: 01/08/00. El formato Fecha corta asume que las fechas comprendidas entre el 1/1/00 y el 31/12/29 son fechas comprendidas entre los aos 2000 y el 2029 y las fechas comprendidas entre el 1/1/30 y el 31/12/99 pertenecen al intervalo de aos entre 1930 y 1999. Hora larga: presenta la hora con el formato normal. Ejemplo: 17:35:20. Hora mediana: presenta la hora con formato Pm o Am. Ejemplo: 5:35 Pm. Hora corta presenta la hora sin los segundos. Ejemplo: 17:35. Los campos S/No disponen de los formatos predefinidos S/No, Verdadero/Falso y Activado/Desactivado. S, Verdadero y Activado son equivalentes entre s, al igual que lo son No, Falso y Desactivado. Los campos Texto y Memo no disponen de formatos predefinidos, se tendran que crear formatos personalizados. Mscara de entrada.

Se utiliza la mscara de entrada para facilitar la entrada de datos y para controlar los valores que los usuarios pueden introducir. Por ejemplo, puedes crear una mscara de entrada para un campo Nmero de telfono que muestre exactamente cmo debe introducirse un nmero nuevo: (___) ___-____. Access2000 dispone de un Asistente para mscaras de entradas que nos facilita el establecer esta propiedad, y al cual accederemos al hacer clic

sobre el botn que aparece a la derecha de la propiedad a modificar una vez activada dicha propiedad.