Ver Mensaje Individual
  #1  
Antiguo 04-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Reputación: 25
egostar Va camino a la fama
Relación de tablas con llaves foráneas

Hola amigos,

Espero poder ser claro con algunas dudas que tengo.

Estoy creando una relación de tablas usando llaves foráneas.

Uso Firebird 2.0 y componentes IBX en Turbo Delphi

Las tablas que tengo, sus llaves primarias (PK) y sus llaves foráneas (FK) son las siguientes:

RECTORIAS


PK ID_Rectoria VARCHAR(3)
Nombre VARCHAR(30)

DIVISIONES

FK PK ID_Rectoria VARCHAR(3)
PK ID_Division VARCHAR(3)
Nombre VARCHAR(30)

DEPARTAMENTOS

FK PK ID_Rectoria VARCHAR(3)
FK PK ID_Division VARCHAR(3)
PK ID_Departamento VARCHAR(3)
Nombre VARCHAR(30)

SECCIONES

FK PK ID_Rectoria VARCHAR(3)
FK PK ID_Division VARCHAR(3)
FK PK ID_Departamento VARCHAR(3)
PK ID_Seccion VARCHAR(3)
Nombre VARCHAR(30)

Intento con esta relación de tablas generar agrupaciones de tipo organizacional.

Nota: Uso VarChar(3) ya que requiero que los datos tengan la forma:

RECTORIA+DIVISION+DEPARTAMENTO+SECCION
001+001+001+001

Preguntas:

¿Están bien creadas las relaciones y llaves?

¿Como generar automáticamente un consecutivo 001-002-003 en los campos dentro de la base de datos (con un procedimiento almacenado o con un Disparador)? Por ejemplo:

Cuando presiono el boton de Agregar en RECTORIA

RECTORIA = 001+

Cuando agrego una DIVISION y selecciono una RECTORIA, genere el siguiente número para la DIVISION

DIVISION = RECTORIA 001+

Cuando agrego una DEPARTAMENTO y selecciono una RECTORIA y una DIVISION, genere el siguiente número para el DEPARTAMENTO

DEPARTAMENTO = RECTORIA DIVISION 001+

Cuando agrego una SECCION y selecciono una RECTORIA una DIVISION y un DEPARTAMENTO, genere el siguiente número para el DEPARTAMENTO

SECCION = RECTORIA DIVISION DEPARTAMENTO 001+

Espero haber sido claro con mis desorden mental.

Gracias anticipadas.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita