Tengo unas dudas sobre la creación de tablas en power builder

Tengo unas dudas sobre la creación de tablas en power
Tengo 3 tablas
1.
Persona
Nombre
Código
Compra
cod_producto
cod_persona
producto
cod_producto
Descripción
Como relaciono estas tablas
Es necesario tener una p.key para crear una f.key
El campo especificado como p.key puede ser seleccionado como f.key o van relacionado el 1 con el otro.
También tengo dudas sobre los join como se crean para que sirve
Como relaciono estas tablas.
Es necesario crear una primary key para ingresar los datos desde el power builder
muchas gracias por tu tiempo.
pd: necesito ejemplos de las nested y las crosstab ultra urgente

2 Respuestas

Respuesta
1
Las primary key no son obligatorias, pero está claro que para un buen diseño de tablas son necesarias. Y sólo tiene sentido crear f.key si tienes p.key. Te voy a poner un poco de teoría, nunca viene mal recordar conceptos:
Primary Key -> Es aquel campo o campos que identifican de forma única un registro. Es decir un código o códigos irrepetibles.
Foreign Key -> Es aquel campo o campos que hacen referencia a otro campo o campos de otra tabla en los cuales son primary key y son identificados de forma única.
En power si te creas una tablas y no creas primary key habrás comprobado que no te deja insertar registros, sólo puedes hacerlo desde el administrador. Pero como te he dicho antes, lo normal es que tengas primary key.
Los join, son útiles para recuperar coincidencias de una tabla con otra.
El diseño de las tablas que yo haría sería este:
- Tabla PERSONA
Como primary key CODIGO
- Tabla PRODUCTO
Como primary key COD_PRODUCTO
- Tabla COMPRA
Como primary key COD_PRODUCTO y COD_PERSONA
Como foreign key respecto a la tabla PERSONA el campo COD_PERSONA con el campo CÓDIGO de la tabla PERSONA y con respecto a la tabla PRODUCTO el campo COD_PRODUCTO con el campo COD_PRODUCTO de la tabla PRODUCTO.
Amigazo necesito unos ejemplos de crosstab y nested es que tengo prueba mañana y no me quedaron muy claras esas dos didiwindows
El tipo de datawindow crosstab se usa para hacer informes. Para cálculos de valores totales, suma de los valores de las columnas, etc.
El otro tipo de datawindow no te lo se decir, nunca lo he usado.
Tengo una estructura llamada
e1 con dos datos nombre edad
La declaro como variable global e1 datos
La lleno.
sle_nombre= datos.nombre
sle_edad=datos.edad
la estrucutura la paso a otra window con
openwithparm(w_2, datos) que mi variable global
Lo que no se es como desde w_2 rescato los datos se que se hace con message pero hasta ahí no más
Gracias nuevamente
Así sabré tu grado de satisfacción y si mis respuestas son de tu agrado.
Respecto a esta última pregunta. La manera de hacerlo es la siguiente:
datos = Message.PowerObjectParm
Respuesta
1
Debes crear las siguientes tablas:
Persona:
Codigo primary key
Nombre
Producto:
Codigo primary key
Descripción
Compra:
Idcompra autoincremento primary key
Codigo persona foreign key
Codigo producto foreign key
Tienes que tener una llave primaria en cliente i producto para poder usarla como llave foránea en compras. I lo debes declarar en la tabla de compras. Poninedo el borrado en cascada o las restricciones de integridad que creas necessarias.
Los join sirven para relacionar las tablas directamente.
ejemplo con la llave foranea declarada:
select * from clients join compres;
ejemplo sin la llave foranea:
select * from clients,compres
where clients.codigo = compres.codigo_client;
Estas 2 sql te dan el mismo resultado un con join i la otra sin el. Es mejor declarar llaves foráneas porque la bd se encarga de comprobar integridad, realizar controles de nulo, automatizar las sql...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas