Sie sind auf Seite 1von 8

El propsito de este material es brindar las explicaciones ms importantes

sobre bases de datos, relevantes para el uso de GeneXus.

Una base de datos o banco de datos (BD), es un conjunto de datos


pertenecientes a un mismo contexto y almacenados sistemticamente para su
posterior uso.

En este sentido, una biblioteca puede considerarse una base de datos


compuesta en su mayora por documentos y textos impresos en papel y
clasificados para su consulta.
En la actualidad, debido al desarrollo tecnolgico de la informtica y la
electrnica, la mayora de las bases de datos estn computarizadas y ofrecen un
amplio rango de soluciones al problema de almacenar datos.

DBMS son siglas que corresponden al trmino en ingls DataBase


Management System, en espaol Sistema de administracin de base de
datos.
Consiste en un sistema de software que posibilita el proceso de definir, construir
y manipular bases de datos.

Las tablas tienen las siguientes caractersticas:


1) Todos los atributos representan la misma informacin para cada una
de las filas o registros. Es decir, para el atributo ClienteNombre, se almacenan
siempre nombres de clientes. En la prctica esta regla implica que la tabla tenga
siempre registros del mismo tipo, es decir, cada uno de ellos con los mismos
atributos y por lo tanto, el mismo tipo de informacin.

2) Es posible reordenar los registros sin perder informacin.

Es requisito obligatorio definirle a toda tabla de una base de datos, su clave


primaria.
La clave primaria de una tabla se define indicando cul atributo o conjunto de
atributos, identifica de forma nica a cada registro.

En otras palabras, no pueden haber dos registros en una tabla con el mismo valor
de clave primaria.
Por ejemplo, la clave primaria de la tabla de clientes que vimos en la pgina
anterior, podra ser un atributo que almacene la cdula de identidad de la
persona, o bien el DNI, o si no interesa registrar dichos datos, podra ser un
nmero correlativo sin repetir nmeros (es importante saber que si se intentara
almacenar 2 veces el mismo valor para la clave primaria, ocurrira un error que lo
impedira, ya que por definicin eso no es posible).

Supongamos que los clientes pueden ser de diferentes pases e interesa registrar
el pas de c/u.
Surje la necesidad entonces, de definir otra tabla en la base de datos para ir
registrando los pases que ameriten ser registrados, y a su vez permitir
almacenar para cada cliente su pas.
Para resolver esto con una buena solucin, en la transparencia de arriba se
muestra que se ha creado una tabla de pases, con 2 atributos:

PaisId, con rol de clave primaria o identificador nico


PaisNombre

Y en la tabla de clientes, se ha agregado el atributo PaisId, para almacenar para


cada cliente, el identificador de su pas.
Dado que PaisId es clave primaria en una tabla de la base de datos, si en
otra tabla se incluye, recibir all el nombre de clave fornea.

Perfectamente podran existir en la base datos, ms tablas con el atributo PaisId


como clave fornea tambin. Por ejemplo, si se requiriera almacenar
proveedores, habra que crear en la base de datos una tabla de proveedores, y si
interesara registrar adems de los datos personales de los proveedores, su pas,
habra que incluir en la tabla al atributo PaisId.
En la prxima pgina, seguiremos brindando explicaciones sobre este tema.

Hemos visto cmo definir adecuadamente tablas en la base de datos para


registrar clientes, pases y que cada cliente pertenece a un pas.
Sin embargo ud. se podra cuestionar por qu no definir una nica tabla de
clientes que contenga una columna ms con el pas?

El motivo por el cual no sirve esa opcin, se puede percibir claramente en la


transparencia: dado que varios clientes pueden pertenecer al mismo pas, habra
que digitar varias veces el nombre del mismo pas y cuidarnos de digitarlo en
todos los casos exactamente igual, porque despus, tal vez necesitemos
consultar a todos los clientes de un pas dado y para obtener la consulta
correcta, el pas debe haber sido escrito siempre igual.
En la transparencia se muestra que por distraccin o desconocimiento, se escribi
mal el nombre del pas Uruguay en uno de los registros de clientes, y eso es un
problema, ya que si se necesita realizar una consulta, Uruguay y Uruguai, son
pases diferentes.
Por esto que puede ocurrir, esa solucin no sirve. La definicin adecuada
entonces, es ingresar a cada pas una sola vez, en un solo lugar (es decir, un
nico registro en la tabla de pases) y luego en cada registro de cliente,
almacenar el identificador del pas correspondiente.
Este concepto hay que aplicarlo siempre que se detecte que un mismo dato se
puede repetir para varios registros.

Por ejemplo, cada cliente tiene un nombre especfico y particular, as como una
direccin especfica o un telfono especfico. Sin embargo, el pas se puede
repetir para varios clientes. Esto ltimo puede ocurrir por ejemplo tambin con
una categora de cliente, si existiera. Si cada cliente tuviera una catgora
PLATINO, ORO, PLATA, etc., en vez de escribir la categora para cada cliente, lo
adecuado sera crear una tabla de categoras, para registrar una sola vez a cada
una, y luego referenciarlas en los clientes.

Siempre es posible realizar una consulta de los datos de una tabla ordenando por
cualquiera de los atributos de la misma.
Si existe un ndice creado por el orden solicitado, la consulta ser ms gil o
eficiente.

Das könnte Ihnen auch gefallen