Vous êtes sur la page 1sur 39

Tutor de anlisis de bases de datos

En este tutor te introducimos en el anlisis de bases de datos para aplicaciones en Velneo V7. A lo largo de distintos ejemplos te explicaremos el uso de los distintos tipos de tablas adems de los tipos de enlace que podemos establecer para relacionar entre s las tablas, viendo cmo se resuelven los supuestos propuestos por medio de la programacin de la estructura de datos en los proyectos de datos de Velneo V7.

ndice
Tutor de anlisis de bases de datos .................................................................................................... 1 ndice .............................................................................................................................................. 1 Un centro de enseanza .................................................................................................................... 2 Facturas de un cliente ....................................................................................................................... 3 Repartos de obras de teatro .............................................................................................................. 4 Galera de arte ................................................................................................................................. 6 Gestin de un colegio........................................................................................................................ 8 Instalacin de cristalera para vehculos .............................................................................................10 Libros y autores...............................................................................................................................13 Tienda de discos..............................................................................................................................15 ltimos pedidos de un proveedor ......................................................................................................17 Existencias por almacn y precios por cliente .....................................................................................19 Generacin de tickets para un Kiosko.................................................................................................29 Navegacin por facturas ...................................................................................................................37

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 1

Un centro de enseanza
Conceptos a tratar
Enlaces singular y plural. Tabla de tipo maestro normal con clave numrica.

Descripcin
Realizamos el anlisis de una base de datos que permitir gestionar los alumnos y las clases a las que pertenecen en un centro de enseanza, con la condicin de que cada alumno pertenece a una clase.

Esquema de la aplicacin

Este ejemplo se resuelve de forma sencilla creando dos tablas: ALUMNOS y CLASES, ambas de tipo maestro normal con clave numrica. Ahora bien: Cmo las enlazamos? Para verlo hemos de enunciar las siguientes frases: Varios alumnos pertenecen a una clase, Un alumno pertenece a una nica clase. Est claro que ALUMNOS (plural) va a ser un plural de CLASES (singular), de modo que enlazaremos ambas tablas mediante un enlace singular - plural. Al establecer el enlace, se crea automticamente el campo Clases y el ndice Clases en la tabla ALUMNOS, mientras que en la tabla CLASES se crea el plural ALUMNOS_CLASES.

NOTA: La mejor forma de organizar las tablas en un objeto Esquema es hacerlo en funcin de las relaciones que se establecen entre las tablas. Para ello, debemos poner por encima las tablas que sean maestras y por debajo las tablas que sean sus plurales. En el ejemplo, vemos como CLASES que es maestra de ALUMNOS est por encima. En definitiva las flechas que indican un enlace plural (color rojo) deben apuntar hacia abajo, y las flechas que indican un enlace a maestro (color azul) deben apuntar hacia arriba. De esta forma, la organizacin en rbol de las tablas se mostrar de forma ms clara y podremos ver cmo se jerarquiza la informacin. En la parte de abajo del esquema encontraremos las tablas con ms detalle y qu ms informacin gestionan, y en la parte de arriba encontraremos los maestros, que agrupan y clasifican la informacin que manejamos. En esquemas con gran nmero de tablas esto nos ser de gran ayuda.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 2

Facturas de un cliente
Conceptos a tratar
Enlaces singular y plural. Tabla de tipo maestro normal con clave numrica.

Descripcin
Realizamos el anlisis de una base de datos que permitir gestionar las facturas y los clientes a los que facturamos.

Esquema de la aplicacin

Este caso se resuelve creando dos tablas: FACTURAS y CLIENTES, ambas de tipo maestro normal con clave numrica. Ahora bien: Cmo las enlazamos? Para verlo hemos de enunciar las siguientes frases: Varias facturas pueden ser emitidas al mismo cliente, Una factura slo puede ser emitida a un cliente. Est claro que FACTURAS (plural) va a ser un plural de CLIENTES (singular), de modo que enlazaremos ambas tablas mediante un enlace singular - plural. Al establecer el enlace, se crea automticamente el campo Clientes y el ndice Clientes en la tabla FACTURAS, mientras que en la tabla CLIENTES crea el plural FACTURAS_CLIENTES.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 3

Repartos de obras de teatro


Conceptos a tratar
Enlaces singular y plural Doble plural Tabla de tipo maestro normal con clave numrica. Tabla histrica

Descripcin
Realizamos el anlisis de una base de datos que permitir conocer las obras de teatro en las que ha participado un determinado actor como miembro del reparto. Los actores podrn participar en el reparto de varias obras, y las obras estarn formadas por elencos compuestos por varios actores.

Esquema de la aplicacin

Declararemos dos tablas principales: ACTORES y OBRAS. Tanto las obras como los personajes necesitan estar identificados uno a uno de forma inconfundible, por lo que deben tener una clave de acceso nica, es decir, deben declararse como tablas de tipo maestro normal con clave numrica. Ahora bien: cmo las enlazamos? Volvemos a enunciar las dos frases: En el reparto de una obra participan varios actores, y en el caso ms general, la segunda frase es: Un actor puede participar en varias obras. Esto es lo que denominamos doble plural o plural en ambas direcciones. Es decir, nos encontramos con un plural en los dos sentidos que resolvemos con una tabla histrica que haga de intermediaria: REPARTOS. Esta tabla se crea de tipo histrico ya que no es necesario que tenga un campo ID nico que determine un registro de la tabla. Estableceremos entonces un enlace singular-plural entre las tablas de ACTORES y REPARTOS, y otro enlace singular-plural entre las tablas de OBRAS y REPARTOS. Los registros de la tabla REPARTOS consisten en parejas Obra-Actor, de manera que asociamos todas las obras con cada uno de sus actores (o visto de otro modo, todos los actores con cada una de las obras en las que aparece). Entonces, si nos situamos en la tabla OBRAS, por ejemplo, movindonos hacia su plural obtendremos todos los registros Obra-Actor en los que la obra es la seleccionada de la tabla OBRAS.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 4

Una vez cargadas todas esas parejas, nos movemos hacia maestro en la direccin de ACTORES, de modo que cargamos todos los actores que aparecen en la obra. El mismo procedimiento seguiremos para, dado un actor, obtener todas las obras en las que aparece.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 5

Galera de arte
Conceptos a tratar
Enlace singular y plural Doble plural

Descripcin
El siguiente esquema de tablas gestionar un galera de arte bajo los siguientes supuestos: Un artista de la galera puede tratar distintos temas, mientras que un tema en particular puede ser tratado por distintos artistas. Adems, una obra de un artista puede ser expuesta en distintas exposiciones, mientras que varias obras del artista pueden exponerse en la misma exposicin. Cada artista tiene un representante (contacto), mientras que un representante puede trabajar para distintos artistas.

Esquema de la aplicacin

Comenzaremos creando las tablas ARTISTAS, TEMAS y OBRAS y enlazndolas.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 6

Tal y como se expuso el problema, entre TEMAS y ARTISTAS existe un doble plural. Para resolverlo introducimos una tabla intermedia: OBRAS. De este modo no slo resolvemos el doble plural, sino que aprovechamos para guardar en la tabla intermedia las obras de cada artista (claro est, una obra pertenecer a un artista y tratar un tema en particular). En la tabla OBRAS aadimos los campos Foto, Precio, Ttulo, etc. Las tres tablas las definimos con el tipo maestro normal con clave numrica. En este caso OBRAS tambin ha sido definida as (y no de tipo histrico) ya que nos interesa que cada obra tenga una clave nica e irrepetible. Creamos ahora la tabla EXPOSICIONES, en la que incluimos los campos Fecha inicio, Fecha fin, Motivo, etc. Nos encontramos entonces con otro plural en los dos sentidos entre esta tabla y OBRAS, de modo que hemos de crear otra tabla intermedia que lo solucione: OBRAS EXPUESTAS, ya que una misma obra puede presentarse en distintas exposiciones a lo largo del tiempo. Por ltimo, aadimos la tabla CONTACTOS, en la que guardaremos los datos de los representantes. Esta tabla es maestra de ARTCULOS.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 7

Gestin de un colegio
Conceptos a tratar
Enlaces singular y plural. Tablas arboladas. Tablas estticas.

Descripcin
Realizamos el anlisis de una base de datos que permitir gestionar la organizacin de un colegio. Dicha aplicacin debe relacionar los aspectos fundamentales de un colegio: alumnos, profesores, materias, asignaturas, cursos, secciones, aulas, das lectivos y horarios. Esta aplicacin debe responder, entre otras muchas, a consultas como: cul es el cuadro semanal de clases de un alumno?, y el de un profesor?, cules son los alumnos de un profesor?, y los profesores de un alumno?, etc.

Esquema de la aplicacin

Hemos de crear las tablas siguientes: ESTUDIANTES, PROFESORES, MATERIAS, ASIGNATURAS, CURSOS, SECCIONES y AULAS. Los registros de las tablas CURSOS, ESTUDIANTES, MATERIAS, PROFESORES, AULAS y ASIGNATURAS necesitan identificarse uno a uno de forma inconfundible, de modo que las tablas han de definirse como maestras de tipo normal con clave numrica, con la salvedad de la tabla MATERIAS. MATERIAS podra recoger, por ejemplo, el ciclo educativo, la materia en s y el curso de imparticin de una

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 8

asignatura. Para este fin son ideales las tablas arboladas, en las que el campo cdigo se comporta del siguiente modo: el primer dgito del cdigo acta como dgito raz. Cada uno de los valores que recibe el primer dgito abre nuevas ramas del rbol. De igual modo, los nuevos dgitos que aadimos al cdigo abren nuevas subramas del rbol (por ejemplo, el cdigo PL2 podra indicar: ciclo primario, materia literatura, 2 curso del ciclo). Las asignaturas de un curso se definen con la materia, el profesor y el aula en que se imparten, por lo que estableceremos un enlace singular-plural con cada una de las tablas correspondientes, incluyendo la tabla CURSOS. Las secciones en las que se divide un curso y que agrupan a los alumnos no pueden existir si no es perteneciendo a un curso, por lo que declararemos la tabla SECCIONES como submaestra de CURSOS. De esta forma, el cdigo de una seccin se formar con el cdigo de la tabla maestra (CURSOS) y el propio cdigo de la tabla SECCIONES. An nos falta por introducir en el anlisis los das lectivos y los horarios. Para ello haremos uso de dos tablas estticas, una en la que guardaremos los das de la semana (tabla DIAS) y otra en la que cada registro indicar el horario del colegio (tabla HORARIO) con un formato del tipo 8:15 a 9:00, 9:15 a 10:00, etc. Una vez introducidas las tablas estticas crearemos dos campos en la tabla ASIGNATURAS, uno llamado

Da, enlazado a la tabla esttica DIAS, y otro al que llamaremos Hora, enlazado a la tabla esttica HORAS.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 9

Instalacin de cristalera para vehculos


Conceptos a tratar
Doble plural Tablas submaestras Tablas histricas

Descripcin
Realizamos el anlisis para una aplicacin de gestin para una empresa que se dedica a instalar cristales en automviles. Hemos de tener en cuenta los siguientes puntos: Un vehculo se identifica por una marca, una serie y un modelo. Por ejemplo: marca Opel, serie Corsa, modelo 2000. La empresa dispone de diversos tipos de cristales que son suministrados por distintos fabricantes. Un determinado tipo de cristal puede ser suministrado por ms de un fabricante. Un tipo concreto de modelo puede tener varios tipos de cristales.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 10

Esquema de la aplicacin

Empezaremos por crear las tablas MARCAS, SERIES y MODELOS, ya que stas identifican inequvocamente a un vehculo. Est claro que una serie no puede existir sin una marca, de igual modo que un modelo no puede existir sin una serie. Es por esto que definimos la tabla MARCAS como maestro normal con clave numrica, SERIES ser submaestra de MARCAS y MODELOS ser submaestra de SERIES. Al crear las tablas, se crean directamente los enlaces entre ellas por haber definido SERIES y MODELOS como submaestras: SERIES ser plural de MARCAS, mientras que MODELOS ser plural tanto de SERIES como de MARCAS. Por otro lado, la empresa dispone de diversos tipos de cristales que son suministrados por diversos fabricantes. Esto justifica la creacin de las tablas ARTCULOS y FABRICANTES. Ahora bien, cmo las enlazamos? Volvamos a enunciar las frases: los artculos del fabricante, los fabricantes del artculo. En este caso nos encontramos con un plural en los dos sentidos, lo que nos impide enlazar directamente ambas tablas mediante un enlace singular - plural. Para resolver un doble plural creamos una tabla en medio de las otras dos. En este caso crearemos una tabla de tipo histrico que llamaremos Artculos de los fabricantes (FAB_ART). Cada uno de los registros de la tabla FAB_ART consistir en una pareja Artculo - Fabricante, de modo que en ella guardamos todos los artculos de cada fabricante (o de otro modo, todos los fabricantes de cada

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 11

artculo). Entonces, dado un fabricante podemos navegar hacia sus plurales, que son todos los registros de la tabla FAB_ART, y una vez cargados stos, obtener todos sus maestros de la tabla ARTCULOS. De este modo obtenemos todos los artculos del fabricante de partida. De igual modo procederamos para obtener todos los fabricantes de un artculo. An nos queda por integrar en el diseo un detalle: en un modelo pueden instalarse distintos artculos (cristales), y un cristal puede instalarse en distintos modelos. Nos encontramos de nuevo con doble plural, luego hemos de enlazar las tablas ARTCULOS y MODELOS mediante una tabla intermediaria de tipo histrico a la que llamaremos MOD_ART, que funciona de igual forma que la tabla FAB_ART. Como enlazamos con la tabla MODELOS, al ser sta submaestra, nos enlaza de forma automtica con MARCAS y SERIES.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 12

Libros y autores
Conceptos a tratar
Plural finito ndice de mltiples claves

Descripcin
Vamos a establecer el esquema de tablas de una aplicacin que gestione los libros de una librera. Para ello hemos de tener en cuenta los siguientes puntos: Un libro puede tener ms de un autor (vamos a poner un lmite de cuatro autores). La bsqueda de libros por autor mostrar todos los libros pertenecientes a un autor independientemente del orden en el que ste aparezca (es decir, si es el primer autor, el segundo, el tercero o el cuarto).

Esquema de la aplicacin

En primer lugar est claro que hemos de crear dos tablas: AUTORES y LIBROS, ambas de tipo maestro normal con clave numrica. Ahora bien: Cmo las enlazamos? Vamos a enunciar las dos frases habituales: Un autor puede escribir varios libros y un libro puede ser escrito por varios autores. Nos encontramos de nuevo con un doble plural. Este problema podra ser resuelto creando una tabla histrica intermediaria entre AUTORES y LIBROS, pero como sabemos que un libro va a tener un mximo de cuatro autores vamos a usar otra tcnica: el plural finito. Para ello unimos las dos tablas mediante un enlace singular-plural, de igual modo que haramos si un libro fuera escrito por un solo autor. Al establecer este enlace se crean el campo Autores y el ndice Autores en la tabla LIBROS, mientras que en la tabla AUTORES crea el plural LIBROS_AUTORES. Ahora creamos en la tabla LIBROS tres enlaces ms a la tabla AUTORES, para lo cual podemos copiar en LIBROS tres veces el campo Autores, modificando posteriormente sus identificadores y descripciones. Acabamos de crear un plural finito. Plural ya que la tabla LIBROS est enlazada varias veces a la tabla

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 13

AUTORES, y finito ya que el nmero de enlaces est limitado a cuatro. A continuacin editamos las propiedades del ndice Autores, y en la frmula de partes le aadimos los campos Autor 1, Autor 2, Autor 3, Autor 4, adems del campo NOMBRE (que en este caso sera el Ttulo del libro). Asignamos el tipo el tipo Mltiples claves al ndice y como nmero de claves indicamos cuatro. Al configurar como cuatro el nmero de claves, solamente buscar por las cuatro primeras partes del ndice, es decir, los cuatro autores de cada libro, y ordenando por la otra parte que queda, el ttulo del libro. De este modo podemos realizar bsquedas de todos los libros de un determinado autor, independientemente del campo en el que se encuentre, ahorrndonos tener que realizar una bsqueda por cada campo AUTOR que hemos creado. Adems, los ndices de mltiples claves evitan que un autor sea dado de alta ms de una vez, lo que ocurrira si un mismo autor fuera dado de alta en un libro como Autor 1 y en otro como Autor 2 y no estuviramos usando un ndice de mltiples claves.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 14

Tienda de discos
Conceptos a tratar
Enlace singular y plural. Tablas arboladas. Tablas submaestras.

Descripcin
Vamos a desarrollar un esquema de tablas que pueda organizar el material de una tienda de discos. Para ello establecemos las siguientes bases: Un disco va a tener un nico autor (sea solista, banda, orquesta...), mientras que un autor podr serlo de varios discos. De igual modo, un disco habr sido editado por una sola discogrfica, mientras que una discogrfica editar varios discos. Por otro lado, un disco se incluir en un solo gnero musical, mientras que en un mismo gnero podrn incluirse varios discos. Por ltimo, un disco contendr varias canciones, mientras que una cancin pertenecer a un disco en exclusiva.

Esquema de la aplicacin

Comenzaremos creando la tabla DISCOS, de tipo maestro normal con clave numrica. En ella incluimos los campos Ao, Descripcin, Portada, etc. Ahora bien, en base a lo expuesto anteriormente, necesitamos las tablas siguientes:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 15

CANTANTES, DISCOGRFICAS, GNEROS y CANCIONES. Nos conviene definir la tabla GNEROS de tipo arbolado debido a la estructura de sus registros (solistas, solistas espaoles, solistas espaoles de los 80, solistas espaoles de los 90, solistas franceses, solistas franceses de los 80, solistas franceses de los 90, etc.), mientras que las tablas INTERPRETES y DISCOGRFICAS sern maestras normales con clave numrica. CANTANTES, DISCOGRFICAS y GNEROS son maestros de DISCOS. Por ltimo, como una cancin pertenece exclusivamente a un disco, es conveniente declarar la tabla CANCIONES de tipo submaestro, siendo DISCOS su padre, ya que las canciones nicamente han de pertenecer a un disco, y as quedan numeradas.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 16

ltimos pedidos de un proveedor


Conceptos a tratar
Enlace singular de plural por posicin. Enlace singular de plural por ndice.

Descripcin
Realizaremos el anlisis de una aplicacin de gestin de facturas que nos permita localizar el ltimo pedido realizado a un proveedor por fecha, y el ltimo pedido que hayamos introducido (independientemente de la fecha) a ese mismo proveedor. En ambos casos, esta informacin se obtendr desde la ficha del proveedor ya que la resolveremos con la ayuda de la estructura de datos sin programar ningn proceso ni bsqueda.

Esquema de la aplicacin

Comenzaremos creando dos tablas: PROVEEDORES y PEDIDOS. Como a un proveedor podemos haberle hecho varios pedidos, y cada pedido se realiza a un nico proveedor, est claro que debemos establecer un enlace singular-plural en el que PROVEEDORES ser el maestro y PEDIDOS el plural. Al establecer el enlace, se crea automticamente el campo Proveedores y el ndice Proveedores en la tabla PEDIDOS, mientras que en la tabla PROVEEDORES crea el plural PEDIDOS_PROVEEDORES. En la tabla de pedidos hemos de crear un campo FECHA y su ndice correspondiente, que ser el que nos permita obtener el ltimo pedido por fecha. Comenzaremos por obtener el ltimo pedido introducido independientemente de la fecha. Para ello, crearemos un nuevo campo y le asignaremos el tipo de enlace singular de plural por posicin. Escogeremos el plural PEDIDOS_PROVEEDORES y definiremos la frmula de resolucin con la variable de sistema sysListSize, que nos devuelve la posicin del ltimo registro correspondiente al plural seleccionado, es decir, el ltimo pedido dado de alta para el proveedor correspondiente. Este enlace nos permite mostrar cualquier dato del pedido en la ficha del proveedor.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 17

Para obtener el ltimo pedido por fecha del proveedor debemos crear un ndice en la tabla PEDIDOS que tenga como primera parte el campo PROVEEDORES y como segunda parte el campo FECHA. Usaremos ese ndice para crear un nuevo campo en la tabla PROVEEDORES al que asignaremos como tipo de enlace Singular de plural por ndice. El plural para la resolucin que debemos usar ser el correspondiente al ndice y aparecer denominado como PEDIDOS_PROVEEDORES_FECHA. A la hora de resolver el ndice usaremos la opcin ltimo, lo que nos devolver la ltima factura por fecha de ese proveedor. Al igual que en el caso anterior, este enlace nos permite mostrar cualquier dato del pedido correspondiente en la ficha del proveedor.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 18

Existencias por almacn y precios por cliente


Conceptos a tratar
Puntero indirecto real Puntero indirecto virtual Evento de tabla (trigger)

Descripcin
Realizaremos el anlisis de una aplicacin de gestin de ventas de artculos, en el que podemos definir existencias por almacn calculadas en cada momento, por un lado y por otro asignar precios a artculos en funcin del cliente.

Esquema de la aplicacin
Los punteros indirectos se utilizan para relacionar la tabla de datos en curso con otra tabla que no es maestra de la actual. Habitualmente se trata de tablas que carecen de campo ID (Cdigo) y que por tanto no pueden ser definidas como maestras de otras tablas. Existen dos tipos de enlaces a tabla datos indirecta: el enlace indirecto real y el enlace indirecto virtual. La diferencia entre el enlace real y virtual radica en que el primero ocupa espacio en disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Adems, si es virtual no permite actualizar la tabla apuntada, ha de ser un enlace indirecto real para ello. Puntero indirecto real Esquema de tablas del tutor El esquema de tablas del tutor incluye dos tablas maestras: Almacenes y Artculos, que son tablas que tienen una relacin de maestro a plural (1 a n) con Albaranes (por cada Albarn definimos un Almacn) y Lneas de albarn, que es el plural de Albaranes (por cada lnea de albarn definimos un Artculo). Para determinar las existencias de cada Artculo en cada Almacn, tenemos una tabla histrica: Existencias, que guarda un registro por cada Artculo y cada Almacn, y slo un registro puede tener un valor para ese binomio. Desde una lnea de albarn, usaremos un puntero indirecto real para apuntar al registro correspondiente (en funcin del Almacn determinado en el Albarn y del Artculo seleccionado en la lnea de albarn) y actualizar el valor de la existencia. Como la tabla Existencias es de tipo histrico y no tiene campo ID, no puede ser maestra de la tabla de Lneas de Albarn.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 19

Es necesario establecer un puntero indirecto de tipo real, ya que vamos a usar actualizaciones para escribir el valor, y stas necesitan persistencia en disco. No podemos usar un puntero indirecto virtual en este caso.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 20

Qu es y cmo se establece el puntero indirecto real Indirecto real: Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. En este caso, desde una lnea de albarn queremos actualizar la existencia, por lo que seleccionamos la tabla Existencias.

Este enlace necesita ser resuelto manualmente por el programador; para ello se ha de usar un ndice de clave nica de la tabla a enlazar. ndice: En esta propiedad tendremos que seleccionar, de la lista de ndices que se muestran de la tabla enlazada, el ndice de clave nica que queramos usar para resolver el enlace. Usaremos el ndice Almacenes de la tabla Existencias, al que hemos aadido como componente el campo Artculo, configurando el ndice como de clave nica. De esta forma garantizamos que nicamente habr un registro por cada pareja de valores, de Almacn y Artculo, y desde las lneas de albarn apuntaremos a un nico registro. Resolucin: Una vez seleccionado el ndice en la propiedad anterior en sta aparecer la lista de campos que lo componen:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 21

En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botn que aparece a la derecha. Al pulsarlo se desplegar una ventana en la que cada fila se corresponder con un componente del ndice seleccionado:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 22

Cada componente del ndice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qu dato resuelve cada campo componente del ndice de la tabla indirecta. Dicha resolucin ser definida mediante una frmula. Para la introduccin de la misma se dispone del asistente para edicin de frmulas, para abrirlo pulsar el botn . Debemos usar los valores de las lneas de albarn para resolver cul es el registro de la tabla Existencias con el que queremos enlazar. Para ello usamos el valor del Almacn que obtenemos del Albarn y el Artculo de la propia lnea de albarn. Este puntero ser el que usemos en la actualizacin para apuntar al registro correspondiente a la existencia.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 23

Esta actualizacin nos permitir acumular la cantidad del artculo que definamos en tiempo de ejecucin para la lnea de albarn en curso, y que permitir calcular la existencia del artculo tras la operacin.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 24

Puntero indirecto virtual Esquema de tablas del tutor El esquema de tablas del tutor incluye dos tablas maestras: Proveedores y Artculos, que son tablas que tienen una relacin de maestro a plural (1 a n) con Albaranes (por cada Albarn definimos un Proveedor) y Lneas de albarn, que es el plural de Albaranes (por cada lnea de albarn definimos un Artculo). Para determinar el precio de cada Artculo y cada Proveedor tenemos una tabla histrica: Precios, que guarda un registro por cada Artculo y cada Proveedor, y slo un registro puede tener un valor para ese binomio. Desde una lnea de albarn, usaremos un puntero indirecto virtual para apuntar al registro correspondiente (en funcin del Proveedor determinado en el Albarn y del Artculo seleccionado en la lnea de albarn) y leeremos el valor del precio. Como la tabla Precios es de tipo histrico y no tiene campo ID, no puede ser maestra de la tabla de Lneas de Albarn. Para ello usaremos un puntero indirecto de tipo virtual, ya que nicamente vamos a leer un dato y no requiere escritura alguna.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 25

Qu es y cmo se programa un puntero indirecto virtual Indirecto virtual: Este enlace se utiliza para relacionar la tabla de datos actual con otra tabla que no es maestra de la actual y que se elige en la propiedad Tabla enlazada. En este caso queremos enlazar con la tabla Precios.

Este enlace necesita ser resuelto manualmente por el diseador; para ello se ha de usar un ndice de clave nica de la tabla a enlazar. Este enlace no tiene persistencia en memoria. El resto de las propiedades a cumplimentar son: ndice: En esta propiedad tendremos que seleccionar, de la lista de ndices que se muestran de la tabla enlazada, el ndice de clave nica que queramos usar para resolver el enlace. En este caso hemos creado el ndice Artculos, compuesto por el campo Artculos y el campo Proveedores, de clave nica, por lo que por cada Artculo tendremos un Precio por Proveedor.,

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 26

Resolucin: Una vez seleccionado el ndice en la propiedad anterior en sta aparecer la lista de campos que lo componen: En esta propiedad es donde debemos resolver el enlace, para ello situar el foco en la misma y pulsar el botn que aparece a la derecha. Al pulsarlo se desplegar una ventana en la que cada fila se corresponder con un componente del ndice seleccionado:

Cada componente del ndice ha de ser resuelto de manera individual, es decir, debemos indicar al sistema qu dato resuelve cada campo componente del ndice de la tabla indirecta. Dicha resolucin ser definida

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 27

mediante una frmula. Para la introduccin de la misma se dispone del asistente para edicin de frmulas, para abrirlo pulsar el botn . En este caso, resolveremos el Artculo con aqul seleccionado en la Lnea de Albarn y el Proveedor que hemos definido en la cabecera de Albarn.

NOTA: Para que en en ejecucin se genere en enlace, es necesario que se resuelvan todos los componentes del mismo, es decir, que no est vaco ninguno de los campos usados en su resolucin.
La diferencia entre un enlace indirecto real y uno indirecto virtual radica en que el primero ocupa espacio en disco y el segundo no, es decir, el real tiene persistencia en disco y el virtual en memoria. Adems, tampoco podrn dispararse actualizaciones desde una tabla cuando el enlace indirecto es virtual.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 28

Generacin de tickets para un Kiosko


Conceptos a tratar
Actualizaciones.

Descripcin
En nuestro quiosco vendemos una serie de artculos, de modo que cada artculo pertenece a una sola marca, mientras que a cada marca pertenecen distintos artculos. Adems, cada artculo nos lo surte un solo proveedor, mientras que cada proveedor nos surte de ms de un artculo. Por otro lado, cada marca es surtida por varios proveedores, mientras que cada proveedor nos surte varias marcas. Para cada artculo especificaremos cul es su IVA entre dos valores posibles que hay para este impuesto y qu cantidad tenemos de cada artculo. Tambin queremos llevar un recuento de los tickets de venta, cada uno con sus correspondientes lneas de venta, de modo que en cada lnea del ticket indicaremos el artculo al que se refiere, la cantidad de artculos vendidos, el importe total con IVA y el importe total sin IVA. Queremos que el stock o existencia de un artculo se actualice con la cantidad vendida, que aparece en la lnea. Es decir, si una lnea refleja la venta de tres artculos, el stock del artculo debe disminuir en tres unidades. Tambin queremos el valor acumulado de los importes sin IVA de las lneas con IVA 1 de un ticket, as como el valor acumulado de los importes sin IVA de las lneas con IVA 2 del mismo ticket (IVA 1 e IVA 2 son los dos posibles valores para el IVA). Otra cosa que nos interesa es saber el nmero total de lneas que hay en un ticket. Tambin necesitamos obtener la suma de los importes con IVA de todas las lneas de un ticket, que ser el importe total del ticket.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 29

Esquema de la aplicacin

Para resolver la primera parte de la aplicacin vamos a crear las tablas ARTCULOS, PROVEEDORES y MARCAS, las tres de tipo maestro normal con clave numrica. Ahora bien: cmo las enlazamos? Sabemos que cada artculo pertenece a una sola marca, mientras que a cada marca pertenecen distintos artculos, luego ARTCULOS es plural de MARCAS. De igual modo, cada artculo nos lo surte un solo proveedor, mientras que cada proveedor nos surte de varios artculos, luego ARTCULOS tambin es plural de PROVEEDORES. Por otro lado, un proveedor nos surte de distintas marcas y una marca es surtida por distintos proveedores, de modo que hay un doble plural entre MARCAS y PROVEEDORES, que resolveremos

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 30

mediante una tabla de tipo histrico que haga de intermediaria: DISTRIBUCIONES.

En la tabla ARTCULOS hemos de aadir el campo Stock para llevar las existencias de cada artculo. Tambin incluimos el campo IVA, cuyo contenido deber decidir el usuario entre los dos valores de IVA posibles y que obtenemos de sendas variables globales. Otros dos campos ms a incluir son PVSI (precio de venta sin IVA) y PVP (precio de venta al pblico, con IVA). El campo PVSI se calcula a partir de PVP y de IVA.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 31

Aadiremos a continuacin las tablas que faltan, referidas a los tickets y a sus lneas. stas van a ser dos: TICKETS, que viene a ser la cabecera del ticket y que contiene datos generales como la fecha o el total, y TICKETS_LIN, en la que cada registro hace referencia a una lnea de venta de un ticket. Cada ticket contiene varias lneas, mientras que cada lnea pertenece a un solo ticket, de modo que TICKETS es plural de TICKETS. Por otro lado, en cada lnea de ticket aparece un solo artculo, mientras que cada artculo puede aparecer en muchas lneas de ticket, luego LINEAS DE TICKET es plural de ARTICULOS. Adems, como cada lnea de ticket pertenece exclusivamente a un ticket, creamos la tabla TICKETS de tipo submaestro, siendo su padre TICKETS, la cual es maestro normal con clave numrica. En la tabla TICKETS_LIN incluimos los siguientes campos:

El campo IVA tiene como contenido inicial el valor del IVA del artculo que aparece en la lnea: #ARTICULO.IVA, lo mismo para el campo PVP con el valor del PVP del artculo. El campo PVSI se calcula para cada lnea a partir de los valores de los campos IVA y PVP de la lnea. Los campos Importe con IVA e Importe sin IVA se calculan multiplicando PVP*Cantidad y PVSI*Cantidad, respectivamente, donde Cantidad guarda el nmero total de artculos vendidos que aparece en la lnea. Veamos ahora los campos que hemos incluido en la tabla TICKETS:

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 32

IVA1 es un campo al que pasamos como valor inicial el contenido de la variable $IVA1. Debemos recordar que los artculos admiten dos posibles valores para el IVA, de modo que al dar de alta un artculo elegiremos entre uno u otro. Si elegimos el primer valor, ste se guarda en la variable $IVA1, si seleccionamos el segundo se guarda en $IVA2. Lo mismo ocurre para IVA2 e $IVA2. BASE1 es un campo cuya finalidad es la de acumular el Importe sin IVA de todas las lneas de un ticket cuyo artculo tenga IVA1, mientras que en BASE2 acumularemos el Importe sin IVA de todas las lneas de un ticket cuyo IVA sea IVA2. En el campo Total sumaremos el valor del campo Importe con IVA de todas las lneas de un ticket, mientras que en el campo Lneas guardaremos el nmero total de lneas que componen un ticket. Estas modificaciones en los campos de las tablas ARTCULOS y TICKETS que han de hacerse en funcin del contenido de los campos de la tabla TICKETS_LIN las realizaremos mediante actualizaciones. La primera actualizacin es la del campo Stock de la tabla ARTICULOS. Para ello abrimos la tabla TICKETS_LIN y seleccionamos el campo enlazado Artculos, pulsando la opcin de creacin de actualizacin a continuacin. Creamos un componente de actualizacin en el que definimos que el campo a modificar es el Stock de la tabla ARTCULOS. Seleccionamos como modo Acumular, y la frmula es #CANTIDAD. De este modo restamos al contenido del campo Stock el valor del campo Cantidad de la lnea, es decir, restamos el nmero de artculos vendidos. La actualizacin se encargar de gestionar las modificaciones que realicemos en las lneas de las cantidades, tanto si modificamos el valor de la cantidad como si eliminamos el registro completo.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 33

Nos quedan cuatro actualizaciones. Como las cuatro van contra la tabla TICKETS, el campo enlazado es Tickets. En la primera acumulamos el valor del campo Importe sin IVA de la tabla TICKETS_LIN en el campo Base1 de la tabla TICKETS, con la condicin de que el IVA del artculo de la lnea sea igual al contenido del campo IVA1 de la tabla TICKETS.

La segunda actualizacin a TICKETS, la referente al la segunda base, se define de igual forma, pero en este caso ha de coincidir con el segundo valor del IVA.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 34

La tercera actualizacin a TICKETS consiste en Acumular el contenido del campo Importe con IVA de todas las lneas de la tabla TICKETS_LIN en el campo Total de la tabla TICKETS.

La ltima actualizacin consiste en acumular el valor 1 en el campo Lneas de la tabla TICKETS, de modo que por cada lnea de la tabla LINEAS DE TICKETS se ir sumando una unidad, resultando al final el nmero total de lneas que hay en un ticket.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 35

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 36

Navegacin por facturas


Conceptos a tratar
Puntero a hermano contiguo.

Descripcin
En nuestra facturacin, una vez abierta una factura, queremos poder navegar a otras facturas siguiendo los siguientes criterios: Anterior y siguiente factura por cdigo. Anterior y siguiente factura por fecha. Anterior y siguiente factura del mismo cliente por fecha. Anterior y siguiente factura del mismo cliente y de la misma fecha.

Esquema de la aplicacin

Comenzamos con un esquema bsico de FACTURAS y CLIENTES, ambas de tipo maestro normal con clave numrica. Ahora bien: Cmo las enlazamos? Para verlo hemos de enunciar las siguientes frases: Varias facturas pueden ser emitidas al mismo cliente, Una factura slo puede ser emitida a un cliente. Est claro que FACTURAS (plural) va a ser un plural de CLIENTES (singular), de modo que enlazaremos ambas tablas mediante un enlace singular - plural. Al establecer el enlace, se crea automticamente el campo Clientes y el ndice Clientes en la tabla FACTURAS, mientras que en la tabla CLIENTES crea el plural FACTURAS_CLIENTES. Ahora debemos establecer la navegacin de una factura a otra. Como todos los enlaces, hacen uso de un ndice, siendo esto lo primero que hemos de definir. Para la navegacin por nmero de factura ya tenemos el ndice necesario, el ndice ID, por lo que nicamente hemos de hacer ser crear dos campos, ID_ANT e ID_SIG y definirlos como enlaces de tipo Hermano contiguo. Elegiremos el ndice ID, dejaremos las partes comunes a 0 y elegiremos la Direccin correspondiente: Anterior o Siguiente. De esta forma, la ficha se encontrar enlazada con el registro anterior por cdigo y con el siguiente registro existente por cdigo.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 37

Para poder acceder a la ficha anterior por fecha, en vez del ndice ID, hemos de usar el ndice correspondiente al campo fecha. De igual forma que habamos configurado los enlaces a hermano contiguo, en esta ocasin usaremos el ndice FECHA para enlazar con el anterior y el siguiente registro. De nuevo, las partes comunes sern 0. Para enlazar con la factura anterior o siguiente del mismo cliente por fecha, debemos usar un ndice que contenga ambos campos como partes del ndice, primero debe tener el campo CLIENTES y como segunda parte el campo FECHA. Para ello podemos crear un nuevo ndice o aadir una nueva parte al ndice CLIENTES ya existente.

Cuando definamos el enlace de tipo hermano contiguo, adems de seleccionar el ndice CLIENTES debemos definir una parte comn. De esta forma, el enlace se realizar con aquel registro que tenga el mismo cliente en comn con la ficha de partida, navegando de un registro a otro segn la fecha de la ficha. Cuando ya no existan ms facturas del mismo cliente, bien hacia adelante o bien hacia atrs en el tiempo, no permitir continuar con la navegacin.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 38

Si queremos que, adems de navegar por las fichas que tengan el mismo cliente, lo hagan por las fichas que tengan la misma fecha, hemos de configurar los hermanos contiguos con tantas Partes comunes, como campos que queramos equivalentes. En este caso sern dos partes comunes: Clientes y Fecha. Usaremos de nuevo el ndice CLIENTES la que habamos aadido la parte FECHA. De esta forma, el enlace se realizar con aquel registro que tenga el mismo cliente y la fecha en comn con la ficha de partida, navegando de un registro a otro segn el orden de creacin de los registros. Si queremos definir otro orden, nos basta aadir otra parte al ndice que determine el orden.

En los controles Botn del objeto Formulario encontraremos el comando Hermano contiguo que nos permitir desde un formulario de una ficha acceder al siguiente registro o al anterior segn el enlace que definamos en el comando. As, podremos definir tantos botones como enlaces a hermano contiguo que hemos creado en la tabla.

Pol. Ind. A Granxa | Ra D Esquina paralela 3 Edif. vCenter, 36400 Porrio | Pontevedra | Espaa Telf. (+34) 902 366 382 | Fax (+34) 902 932 324 velneo@velneo.com | www.velneo.com Tutor de anlisis de bases de datos Fecha de creacin 21/04/2010 9:30:00 39

Vous aimerez peut-être aussi