|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Iniciado por Manolo, ago., 26 2008 1:28 PM - 3 respostas |
| |
| | | |
|
| |
Publicado em agosto, 26 2008 - 1:28 PM |
En bases de datos como Sql Server y Access es posible establecer en una tabla varios campos como clave primaria. ¿En Windev como se hace esto?. He probado con Composite key pero si tengo que realizar esto en varias tablas, no es posible.
Imaginemos el siguiente problema: En mi base de datos tengo que almacenar información sobre la estructura de una empresa y sus elementos (La empresa, centros de trabajo, departamentos, puestos y empleados). Por supuesto, cada uno de estos elementos es una Entidad y su clave debe ser única dentro de su tipo y de la empresa a la que pertenece. Cada entidad debe guardar la información sobre a que entidad pertenecenen.
Orden de pertenencia. ===================== Empresa |_Centro |_Departamento |_Puesto |_Empleado
Un ejemplo: *Campos calve
Empresa *Id Nombre otros campos.... EHj PC soft Ekl Borland Ukl Microsoft
Centros de trabajo *Empresa *Id Nombre otros campos... EHj C1 Centro Principal EHj C2 Segundo centro
*Empresa *Centro *Id Nombre otros campos... EHj C1 P1 Peón EHj C2 A23 Albañil |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 26 2008 - 3:02 PM |
Hola. La solución creo que pasaría por crear una clave única autoincrementada (de las que te crea Windev para asegurarnos que la clave es realmente única) y definir después una clave compuesta sin duplicados por los campos que tu quieras. Al hacer el enlace de las tablas en el análisis te crea un campo de enlace en la tabla hijo con el tamaño adecuado para la suma de los campos de enlace.
Otra opción que podrías probar es a definir tu estructura en MSSQL e intentar importarla en el diccionario a ver como te la define Windev.
Rubén Sánchez Peña
"Manolo" <kileno@hotmail.com> escribió en el mensaje de noticias news:ef1bc1577a2e937db23b3baf06ad0266@news.pcsoft...
En bases de datos como Sql Server y Access es posible establecer en una tabla varios campos como clave primaria. ¿En Windev como se hace esto?. He probado con Composite key pero si tengo que realizar esto en varias tablas, no es posible.
Imaginemos el siguiente problema: En mi base de datos tengo que almacenar información sobre la estructura de una empresa y sus elementos (La empresa, centros de trabajo, departamentos, puestos y empleados). Por supuesto, cada uno de estos elementos es una Entidad y su clave debe ser única dentro de su tipo y de la empresa a la que pertenece. Cada entidad debe guardar la información sobre a que entidad pertenecenen.
Orden de pertenencia. ===================== Empresa |_Centro |_Departamento |_Puesto |_Empleado
Un ejemplo: *Campos calve
Empresa *Id Nombre otros campos.... EHj PC soft Ekl Borland Ukl Microsoft
Centros de trabajo *Empresa *Id Nombre otros campos... EHj C1 Centro Principal EHj C2 Segundo centro
*Empresa *Centro *Id Nombre otros campos... EHj C1 P1 Peón EHj C2 A23 Albañil
|
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 16 2008 - 6:23 PM |
Manolo, Nosotros trabajamos por mas de 15 años con progress y clarion y en ambos casos se trabaja con claves compuestas como tu lo indicas. Decidimos olvidarnos de esa metodología y asumimos la de windev (merise) y ahora todas las tablas son independientes y se relacionan entre si por claves simples. Al principio nos costó un poco asimilar el concepto, pero con el tiempo hemos visto que es mucho mas eficiente y mas flexible. También se ahorra espacio en disco y líneas de código. El caso típico: Compañía->Sucursal->Cliente->Factura->Renglón. En el renglón teníamos una clave primaria con todas las claves primarias de los padres. Ahora tenemos el id automático y como campo relacionado el id de la factura. Como ese id de factura es único, no necesito mas relaciones. La factura está en el mismo caso. En general, todas las tablas tienen el id de la tabla madre como campo adicional, creado en el momento de crear la relación con el drag-drop en el editor del modelo. Esto tiene sentido, ya que un renglón solo no significa nada sin la factura, y la misma tampoco significa nada sin el cliente. Nada impide que le pongas el campo de cia a las facturas directamente, o el de sucursal, o todos; pero no hace falta. Ya tenemos 5 años trabajando de esta nueva manera y cada día me alegro mas de haberlo hecho.
Por cierto, esta forma de trabajo funciona bien con cualquier base de datos que uilices.
Saludos.
"Manolo" <kileno@hotmail.com> escribió en el mensaje de noticias news:ef1bc1577a2e937db23b3baf06ad0266@news.pcsoft...
En bases de datos como Sql Server y Access es posible establecer en una tabla varios campos como clave primaria. ¿En Windev como se hace esto?. He probado con Composite key pero si tengo que realizar esto en varias tablas, no es posible.
Imaginemos el siguiente problema: En mi base de datos tengo que almacenar información sobre la estructura de una empresa y sus elementos (La empresa, centros de trabajo, departamentos, puestos y empleados). Por supuesto, cada uno de estos elementos es una Entidad y su clave debe ser única dentro de su tipo y de la empresa a la que pertenece. Cada entidad debe guardar la información sobre a que entidad pertenecenen.
Orden de pertenencia. ===================== Empresa |_Centro |_Departamento |_Puesto |_Empleado
Un ejemplo: *Campos calve
Empresa *Id Nombre otros campos.... EHj PC soft Ekl Borland Ukl Microsoft
Centros de trabajo *Empresa *Id Nombre otros campos... EHj C1 Centro Principal EHj C2 Segundo centro
*Empresa *Centro *Id Nombre otros campos... EHj C1 P1 Peón EHj C2 A23 Albañil
|
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 17 2008 - 1:49 AM |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|