本組織架構(gòu)模組實(shí)現(xiàn)的功能是,顯示一個(gè)樹(shù)型的公司組織架構(gòu)模式,可以在最后一層的每一層添加部門(mén).也可以刪除任意部門(mén),如果刪除帶子部門(mén)的部門(mén),那么,其所屬子部門(mén)一起被刪除.如,
總經(jīng)理
制造處
制造一部
制造一課
產(chǎn)品工程部
品保處
iqc
fqc
管理處
管理部
采購(gòu)課
保安部
上面就是一個(gè)樹(shù)型結(jié)構(gòu),如果我們要按格式顯示其結(jié)構(gòu),可以在管理部下添加人資課.可以在總經(jīng)理下添加行銷(xiāo)處等
刪除的時(shí)候如果刪除管理處,那么,管理部,采購(gòu)課,保安部通通都要?jiǎng)h除.
這是一個(gè)典型的樹(shù)型結(jié)構(gòu),我們要實(shí)現(xiàn)的功能是顯示,添加,刪除
數(shù)據(jù)庫(kù)包括層的概念,建立如下:
create table ngb_org(
id number(8) primary key, //用sequence.nextval自動(dòng)增加來(lái)實(shí)現(xiàn)
p_layer varchar2(8) , //父層 如,b
p_id varchar2(8), //父id 10
c_layer varchar2(8), //當(dāng)前層,子層 c
c_id varchar2(8), //子層所在的編號(hào) 10
total varchar2(16) not null, //p_layer, p_id, c_layer, c_id字符串連在一起:b10c10 制造處
name varchar2(32) not null,//部門(mén)名稱
create_by varchar2(32) ,//創(chuàng)建者
create_date date , //創(chuàng)建日期
update_by varchar2(32),//修改者
update_date date); //修改日期
create sequence ngb_org_seq
increment by 1
start with 1
maxvalue 9999999
cycle
nocache
這里,整個(gè)公司是a10,總經(jīng)理是a10b10(先把父id的層+編號(hào)重復(fù),然后再寫(xiě)當(dāng)前部門(mén)的層+編號(hào)).制造處為b10c10,制造一部為c10d10.同層編號(hào)以1為遞增,最小為10,最大為99(沒(méi)有哪個(gè)公司有89個(gè)同級(jí)別的部門(mén)吧?)
這樣我們了解了其數(shù)據(jù)庫(kù),實(shí)現(xiàn)樹(shù)型的邏輯,接著可以寫(xiě)顯示部分了.
合理建立數(shù)據(jù)庫(kù)十分重要,這也是dba的重要性,可惜這些分析工作也是我一個(gè)小小的程序員做的:)