合作那些事-ER图和数据表创建

  这是第二次团队博客,软件工程实践课程的第五次团队作业,完成我们项目的ER图和数据库的数据表创建。

  

  这是我们上课的时候讨论出来的ER图,在老师的帮助下画出了我们主要实现功能部分的实体关系图,当时还在纠结要不要把商店,护理和宠物医院等简单实现的功能放入ER图中。因为涉及的模块较多,不能全部实现,根据我们的调查报告,我们打算实现宠物介绍和宠物寄养领养的功能。这张ER图画得也是艰难,刚开始想得太多,构建联系比较多,最后在老师的帮助下,只画了宠物,顾客两个实体,通过领养和寄养两个关系来连接。刚开始是把领养人和寄养人分开为两个实体,后来老师说这会出现问题,两个表很多数据相同,修改一个表的数据时,另一个表的信息没有发生改变,会产生冲突,最后把领养人和寄养人换成了顾客。

  这是我在wps上把纸上的ER图重新画了一遍,在我们的ER图中,宠物实体包括宠物编号(在建表时用作主键)、视频链接用于存放萌宠们的小视频,还有宠物本身的属性种类、寿命、性别、健康状况、年龄和其他描述。而顾客实体则包括用户ID(建表时用作主键)、用户名、密码、联系方式、年龄、身份证和住址,我们在讨论时讨论到身份证是否必须要填写的问题,两个小姐姐说可能会出现寄养了不要的情况,希望实名寄养领养,她们认为可以用身份证来做主键,我觉得是有一定的道理的,不过我认为,我们的app可以不注册,注册后在购买宠物的时候可以不需要身份证,但只有填写了身份证才能进行领养寄养等行为,所以我选择用用户ID作为主键。宠物和顾客实体存在两个关系,一个是领养,一个是寄养,其他功能忽略掉了。因为都是多对多的关系,一个顾客可以有多只宠物,一个宠物可以有多个主人(一家人的多只宠物),我们除了顾客表和宠物表之外,还需要构建寄养表和领养表,领养的时候会有领养数量和领养日期,在寄养的时候会有寄养数量、寄养日期、寄养时长和寄养价格。

  根据ER图,进行表格创建:

  在宠物表中,有三个约束,主键约束,非空约束和check约束,以宠物编号为主键,性别只能为‘雌’或者‘雄’。

  在顾客表中,以用户ID为主键,密码非空属性,其他信息可以待完善。

  领养和寄养表比较类似,都有主键外键约束和非空约束,在这两张表中,需要和顾客表和宠物表建立联系,所以宠物编号和用户ID既是主键又是外键,通过宠物编号和宠物ID来确定需要记录信息。

   在这次的任务中,主要由我和Q来完成,Q负责创建数据库,建表工作,我负责其他。由于距离大作业截止时间已经不远了,剩余的时间不多,H,E,C实现原型设计,Z和Q负责数据库创建,由Z来完成ppt,我主要负责代码实现部分,大家会在各自任务完成之后给我提供帮助。

   最后希望我们能把我们心中所想的萌宠之家做好,不仅仅是完成作业,希望在之后的课余时间来完善我们的app,给宠物们一个温暖的家。

猜你喜欢

转载自www.cnblogs.com/BFXR/p/10853359.html