对象和表之间的关系
来源:互联网 发布:广州数据恢复 编辑:程序博客网 时间:2024/05/21 08:49
个人觉得在软件的设计时,先对需求进行把控,然后根据需求画出UML类,最后才是数据库的设计。根据对象设计表结构。(这种想法不一定对)
接下来说说关系型数据库实体之间的三种关系:
一、一对一关系
比如:中国的夫妻制、人和身份证之间。针对这种关系,我们应该如何进行数据库表的设计呢?
首先我们需要明确这一对关系的主从关系。不确定主从关系的话,应该根据具体的需求而定。拿人和身份证之间的关系距离。人不一定有身份证(超生的黑人),但是身份证一定对应某个人,除非这个证是假的。那么,从属关系就很明确了。“人”是主,“身份证”是属。针对这种关系,我们将外键定义在身份证对应的实体中,参照到“人”的主键。
"人"表
create table person
(
id int primary key auto_increment,
name varchar(20),
.....
)
"身份证"表
create table idcard
(
id int primary key auto_increment,
name varchar(20),
personid int not null,
constraint personid _fk foreign key(personid ) references person(id)
)
二、多对一关系
如果关系是多对一的话,为了避免数据的冗余。应该将外键定义在“多”的一方。比如班级表和学生表之间的关系。一个班级对应多个学生,一个学生只能在一个班级中,
所以,外键定义在学生表中,参照到班级表中的主键。
班级表:
create table class
(
id int primary key auto_increment,
name varchar(20)
)
学生表:
create table student
(
id primary key,
name varchar(20),
classid id not null,
constraint classid _fk foreign key(classid ) references person(id)
)
三、多对多关系
如果是多对多的关系,相对比较复杂一下。外键定义在哪儿都会导致数据的冗余。所以将两者之间的关系定义在中间表中。这个中间表的联合主键就是
另外两个表的外键。
老师表:
create table teacher
(
tid int primary key,
.....
)
学生表:
create table student
(
sid int primary key,
....
)
中间表:
create table tea_stu
(
tid int not null,
sid int not null,
primary key (tid,sid), -- 联合主键
constraint tid_fk foreign key(tid ) references teacher(tid),
constraint sid_fk foreign key(sid ) references student(sid)
)
以上就是根据实体关系,进行表结构设计的方法。
- 对象和表之间的关系
- 类和对象之间的关系
- 对象和方法之间的关系
- 对象和方法之间的关系
- 对象之间的关系
- 对象之间的关系
- 对象之间的关系
- 对象之间的关系
- 什么是类,什么是对象,类和对象之间的关系
- dom对象和jquery对象之间的关系。
- OC基础-对象和对象之间的关系09
- CWnd类的对象和Windows窗口之间的关系
- 域对象之间的关系
- java对象之间的关系
- java--------【对象之间的关系】
- 和之间的关系
- 理解Loader、Bitmap和BitmapData对象之间的关系
- 黑马程序员-oc对象和方法之间的关系
- 郑州哪个医院治肝病比较好
- sizeof与strlen使用常见问题
- 大素数判定,大整数因式分解模板 HDU 4910
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
- Xdoclet + Ant自动生成Hibernate配置文件
- 对象和表之间的关系
- Oracle数据库导入和导出以及出现的问题
- Percona XtraBackup User Manual
- 黄璐_对NFV和SDN的思考与实践
- android AsyncTask介绍
- Struts2源码阅读(五)_FilterDispatcher核心控制器
- java将多个文件一起打成zip包后下载实例
- android intent和intent action大全
- Android的property机制