关键是清楚理解对应实体的意思。
- 题目描述:
- 设计一个机票销售网站提供机票在线销售功能。客户登录系统后,可以查看航班列表,以及剩余机票数量,可以进行机票的购买,可以查看已购机票情况,对已购机票在规定的日期期限内可以退票。
- 数据库要求:
- 客户表(Id, 身份证号, 姓名, 电话, 密码)
- 机票表(Id, 航班号, 起飞时间, 价格, 剩余数量)
- 机票购买表(Id, 客户Id, 机票Id, 购票日期, 退票标志, 退票日期)
例如,机票和人。这里的机票不能说是一张机票,应该指的是一次航班的机票。
所以 是多对多的关系。一个人可以买多个航班的机票,一个航班的机票可以被多个人购买。
人 购买 机票——>多对多的关系中间要家中间表,购票信息表。
再分析中间表和客户表、机票表的关系。
一个人可以有多个购票记录,一条记录只能属于一个人。 一对多
一个航班的机票可以有多个购票记录(因为一个航班的机票不光一个)一个记录只能包含一个机票。一对多
(因为只有把表关系分析好了,才能更好的写出javabean。pojo以后会用的很多。)
总结:
分析表之间的关系,要彻底理解需求,比如上题所说的机票表,如果仔细看里面的属性(航班号)就能知道,这个机票表并不是指的一张机票,而是一个航班的机票。以上是我自己的愚见,还望指正。
ps:当你看到的时候你能不能也想起我,我们可能要离的更远了,我再努力,你先别走太远。