- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库概念模型设计
1.概念模型
概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。当我们要完成一个软件系
统时,需要把系统中的实体抽取出来,形成概念模型。例如部门、员工都是系统中的实体。概念模型中的
实体最终会成为Java 中的类、数据库中的表。今天我们需要了解的概念模型包括以下两个:
⚫ 对象模型: java 中的实体类,例如我们之前学习的domain 层中的User 类等;
⚫ 关系模型:对应数据库中的表。
在java 中有以下三个关系描述:
⚫ is a:例如猫是动物,表示继承关系;
⚫ has a:例如人有两只手,表示的是类与成员的关系;
⚫ use a:表示类与方法之间的关系;
我们今天主要关注的是第二个关系:类与成员的关系。这种关联 以分为如下三种:
⚫ 一对一关联:例如老公和老婆就是一对一的关系,一个老公只能有一个老婆,而一个老婆只能有
一个老公;
⚫ 一对多关联:例如每个员工都从属一个部门,而一个部门可以有多个员工,其中员工是多方,而
部门是一方,从部门角度来说就是一对多,而从员工角度来说就是多对一;
⚫ 多对多关联:老师与学生的关系就是多对多,一个老师可以有多个学生,一个学生可以有多个老
师。
概念模型在java 中对应这实体类,在实体类中使用成员变量完成关联关系,而且一般都是双向关联,
以下是java 中实体类与成员之间的关联关系,如下所示:
⚫ 一对多:部门与员工之间是一对多的关系
class Employee {//多方关联一方
...
private Department department;//在员工类中关联部门类
}
class Department {//一方关联多方
...
private ListEmployee employees; //在部门类中关联员工类
}
⚫ 一对一:丈夫与妻子之间是一对一的关系
class Husband {//一方关联一方
...
private Wife wife; //在丈夫类中关联妻子类
}
class Wife {//一方关联一方
...
private Husband husband; //在妻子类中关联丈夫类
}
⚫ 多对多:学生与老师之间是多对多关系
class Student {//多方关联多方
...
private ListTeacher teachers; //在学生类中关联教师类
}
class Teacher {//多方关联多方
...
private ListStudent students; //在教师类中关联学生类
}
由以上的 以看出,关联一方时成员就是一方对象,而关联多方时成员就是多方对象的集合。
2.外键约束
概念模型在数据库中就对应数据表,那么表与表之间的关系也包括:一对一,一对多,多对多。而表
与表之间关系是通过外键来维护的。
一个表的外键是另一个表或它本身的主键,如图1-1 所示:
外键, 的是
自身表的主键
外键, 的是
dept表中的主键
图1-1 emp 表
在emp 表中有两个外键,分别是
文档评论(0)