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

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

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

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

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

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

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

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

THE END
1.(附源码)Express宠物领养系统计算机毕设27656该系统旨在为宠物领养者和宠物收养机构提供一个便捷、高效的平台,实现宠物的匹配和领养流程的管理。采用Express框架构建后端服务器,并使用Node.js作为后端开发语言。采用RESTful API设计。宠物领养系统主要包括以下模块:用户管理模块、宠物管理模块和领养流程管理模块。用户可以注册账户并登录系统,查看和编辑个人信息。宠物收养...https://blog.csdn.net/VXbishe/article/details/143744616
2....领养平台管理系统设计和实现51CTO博客个人中心,个人信息修改,填写领养信息,宠物交流论坛,宠物新闻,提交寄养信息,查看公告,查看宠物领养信息,查看我的寄养信息,查看领养信息,用户注册,用户登录,留言板块,首页等功能。 管理员角色包含以下功能: 发布宠物信息,寄样信息管理,新闻资讯管理,用户管理,留言管理,管理员登陆,类别管理,系统公告管理,论坛版块管理,领养...https://blog.51cto.com/u_14304894/5240524
3.mysql数据库宠物商店系统mysql宠物商店本系统地描绘了整个网上宠物管理系统的设计与实现,主要实现的功能有以下几点:管理员;首页、个人中心、宠物分类管理、商品分类管理、宠物用品管理、宠物商店管理、宠物领养管理、用户管理、宠物寄存管理、用户领养管理...、宠物挂失管理、论坛管理、管理员管理、系统管理、订单管理,前台首页;首页、宠物用品、宠物商店、宠物...https://cloud.tencent.com/developer/information/mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%A0%E7%89%A9%E5%95%86%E5%BA%97%E7%B3%BB%E7%BB%9F
4.vetlog:SpringBoot宠物管理系统源码案例你可以领养宠物 宠物登记 作为用户, 我想注册我的宠物 ,以便获得宠物记录 验收标准 宠物记录必须包含: 爱称 出生日期 类型(猫、狗、鸟、啮齿动物、蜘蛛、蛇) 品种(应按类型分类) 如果已驱虫 如果已经消毒了 它已接种疫苗 宠物的形象 除了: 宠物需要一个唯一的ID ...https://www.jdon.com/71347.html