本組織架構模組實現的功能是,顯示一個樹型的公司組織架構模式,可以在最後一層的每一層添加部門.也可以刪除任意部門,如果刪除帶子部門的部門,那麼,其所屬子部門一起被刪除.如,
總經理
制造處
制造一部
制造一課
產品工程部
品保處
IQC
FQC
管理處
管理部
采購課
保安部
上面就是一個樹型結構,如果我們要按格式顯示其結構,可以在管理部下添加人資課.可以在總經理下添加行銷處等
刪除的時候如果刪除管理處,那麼,管理部,采購課,保安部通通都要刪除.
這是一個典型的樹型結構,我們要實現的功能是顯示,添加,刪除
數據庫包括層的概念,建立如下:
create table ngb_org(
id number(8) primary key, //用sequence.nextval自動增加來實現
p_layer varchar2(8) , //父層 如,B
p_id varchar2(8), //父id 10
c_layer varchar2(8), //當前層,子層 C
c_id varchar2(8), //子層所在的編號 10
total varchar2(16) not null, //p_layer, p_id, c_layer, c_id字符串連在一起:B10C10 制造處
name varchar2(32) not null,//部門名稱
create_by varchar2(32) ,//創建者
create_date Date , //創建日期
update_by varchar2(32),//修改者
update_date date); //修改日期
Create sequence ngb_org_seq
Increment by 1
Start with 1
Maxvalue 9999999
Cycle
Nocache
這裡,整個公司是A10,總經理是A10B10(先把父id的層+編號重復,然後再寫當前部門的層+編號).制造處為B10C10,制造一部為C10D10.同層編號以1為遞增,最小為10,最大為99(沒有哪個公司有89個同級別的部門吧?)
這樣我們了解了其數據庫,實現樹型的邏輯,接著可以寫顯示部分了.
合理建立數據庫十分重要,這也是DBA的重要性,可惜這些分析工作也是我一個小小的程序員做的:)