实体间的关系:
一对一:如老公和老婆;
一对多:如一个员工从属一个部门,一个部门拥有多名员工;
多对多:一名老师有多名学生,一名学生有多名老师;
概念模型:
Java中的实体类(JavaBean) 描述实体的三种关系:继承(is a)、成员属性(has a)、成员方法(use a);
//描述一对多的关系
class Employee {
private Department dept;
}
class Department{
private List<Employee> emps;
}
实体之间的关系使用成员变量表示
关系模型:
数据库中的表(Table) 使用表描述实体关系: 一对一:一个表的主键参照另一个表的主键 一对多:
属于“多”的表参照“一”的表的主键 多对多:建立中间表,每条记录说明两个表的关系
//多对多实例:
//创建学生表
create table Student(
stuid int PRIMARY KEY,
……
)
//创建教师表
create table Teacher(
teaid int PRIMARY KEY,
……
)
//创建中间表,使用上面两个表的主键作为外键连接
create table Stu_Tea(
sid int,
tid int,
CONSTRAINT fk_stu FOREIGN KEY(sid) REFERENCES Student(stuid),
CONSTRAINT fk_stu FOREIGN KEY(tid) REFERENCES Teacher(teaid),
)