Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
1-40045
Ascan
2002-05-31 18:19
2002.06.13
WebBrowser засыпает...


8-40118
Ihor
2002-01-31 16:40
2002.06.13
Быстрый доступ до цвета в TBitmap


1-39994
PTE
2002-06-03 12:37
2002.06.13
а как правильно выполнять арифмитические действия в StringGrid?


3-39974
studentik
2002-05-20 16:23
2002.06.13
Возник вопрос.


3-39950
Пользователь
2002-05-21 09:49
2002.06.13
Хранимая процедура




   Наверх