数据库方面的设计问题

[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
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值