[size=18][color=blue]10.7[/color][/size]
方案一:
方案二:
方案一:
//party表,为抽象的对象。代表一种物,具体对象为人或部门。
//其中,当role为person时代表人,为department时代表部门。
create table party(
party_id int primary key;
party_role varchar(50)
);
//party关系表
//其中,当role为dept_person时代表人和部门关系,为dept_dept代表部门和部门关系,为person_person时代表人和人的关系。
create table party_relationship(
party_id_from int,
party_id_to int,
role varchar(50)
);
//人员信息表
create table person(
party_id int primary key;
user_login_id varchar(50),
person_name varchar(50),
person_sex boolean,
...
);
//部门信息表
create table department(
party_id int primary key;
party_name varchar(50),
...
);
方案二:
//人员信息表
create table person(
party_id int primary key;
user_login_id varchar(50),
person_name varchar(50),
person_sex boolean,
...
);
//部门信息表
create table department(
party_id int primary key;
party_name varchar(50),
...
);
//部门和部门之间关系表
create table department_relationship(
party_id_from int,
party_id_to int
);
//人员和人员关系表
create table person_relationship(
party_id_from int,
party_id_to int
}
//部门和人员之间关系表
create table department_person(
party_id_from int,
party_id_to int
);