软件工程综合实践专题课程团队作业——项目ER图和数据表设计
根据之前对项目的设想和分析,设计出项目的ER图:
将上面的ER图作为依据,进行逻辑设计,得出如下五张数据表:
用户数据表
名称 |
类型 |
约束 |
HistoryPic |
BLOB |
Primary Key |
PicNo |
Integer |
Foreign Key |
动物图片数据表
名称 |
类型 |
约束 |
AnimalsNo |
Integer |
Foreign Key/Not NULL |
AnimalsPic |
BLOB |
Not NULL |
PicNo |
Integer |
Primary Key/Not NULL |
宠物店/医院数据表
名称 |
类型 |
约束 |
Name |
String |
Primary Key/Not NULL |
PositionX |
Double |
Not NULL |
PositionY |
Double |
Not NULL |
动物信息数据表
名称 |
类型 |
约束 |
AnimalsNo |
Interger |
Primary Key/Not NULL |
Name |
String |
Not NULL |
Introduction |
Text |
Not NULL |
FeedMethod |
Text |
Not NULL |
Feeder |
Text |
Not NULL |
管理员数据表
名称 |
类型 |
约束 |
ID |
String |
Primary Key/Not NULL |
Passwords |
String |
Not NULL |
完成数据表的设计后,对数据表进行分析,检查设计的数据表是否合理。经分析,首先这些数据表都符合第一范式,因为它们的属性都不可再分;其次,它们也都满足第二范式,因为上面数据表的主键都由单一字段构成,一定满足数据表里的所有非主属性都和该数据表的主键有完全依赖关系;最后,除了动物信息数据表中Introduction 字段也可以依赖于Name字段,不属于第三范式外,其它的数据表都符合第三范式,不存在传递依赖。因此,上述的数据表设计相对合理。