Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.13;
Скачать: CL | DM;

Вниз

Сруктура БД. В форуме Базы не добавляет.   Найти похожие ветки 

 
Помогите   (2002-05-21 10:49) [0]

Есть таблица ФИО и Подразделения.
Неизвестно какая вложенность будет в подразделениях например:

У подразделения 1 может быть участок 1
У подразделения 2 может быть Участок 1 у которого есть отдел 1
У подразделения 3 больше ничего нет.
Как организовать ?

А у Фио должно храниться код подразделения. Пожайлуста обрисуйте ситуацию.


 
Romkin ©   (2002-05-21 10:56) [1]

Типичная структура дерева, если я правильно понял

Одна таблица

UID, |Код - Что это (участок и тд), |Наименование, |Чему принадлежит |

Поле чему принадлежит ссылается на UID вышестоящего, если верхний уровень - пусто. У ФИО - UID


 
Помогите   (2002-05-21 11:19) [2]

А может так:
Подразделение:
Id, mother_Id,Name

Фио:
...,code_id

Если это верно тогда вопрос:
Как организовать запрос чтобы при выборе самого верхнего подразделения...показывало людей которые находяться во всех дочерних?


 
Romkin ©   (2002-05-21 11:23) [3]

База-то какая?
Если сервер - то SP
А по деревьям и как с ними работать - http://www.ibase.ru/devinfo/treedb.htm


 
Помогите   (2002-05-21 11:24) [4]

Блин описался:
в ФИО конечно же:
....,Id(подразделения);


 
Помогите   (2002-05-21 11:25) [5]

База InterBase/
А текст хранимой процедур не подскажешь?


 
Romkin ©   (2002-05-21 11:48) [6]

иди на www.ibase.ru там все уже написано
Примерно
create table P(ID integer, Owner_ID integer, Name varchar(200),
primary key (ID)
)

alter table P add constraint FK_P_Owner
foreign key (Owner_ID) references P (ID)
on delete cascade on update cascade

create procedure List_Child(Owner integer)
returns (ID integer, Name varchar(200))
as
begin
exit;
end;

alter procedure List_Child(Owner integer)
returns (ID integer, Name varchar(200))
as
begin
for select ID, NAME from P
where Owner_ID = :Owner
into :ID, :NAME
do begin
suspend;
for select ID, NAME from List_Child(:ID)
into :ID, :NAME
do suspend;
end
end;



Страницы: 1 вся ветка

Текущий архив: 2002.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-40031
XAlert
2002-05-31 21:05
2002.06.13
16 разрядные DLL в Delphi 5/6 ?


1-40032
777
2002-06-01 13:13
2002.06.13
DrawGrid


3-39960
С.е.р.ж.
2002-05-19 19:12
2002.06.13
Проблемы с выборкой данных из таблиц.


4-40201
nikulin
2002-04-10 19:28
2002.06.13
Как вызвать функцию API NetMessageBufferSend??


14-40155
IronHawk
2002-05-07 15:29
2002.06.13
Литература великая сила!