大二上学期数据库原理与应用的大作业是自行设计一个较为完善的数据库结构系统,选题花了我很长的时间才定下来。考完回头再看我当初设计的数据库,一开始思考的就不是很完善导致我之后又修改了很多次表结构,不过还需要改进,我将我画的ER图和表结构的代码po上来,希望对之后看到的学弟学妹们有帮助。
ER图我画的比较满意,是用AxGraph在word里面自带的软件画出来的。
系统功能模块图如上
//建表 (1)会员信息表 CREATE table member ( 会员姓名 varchar(20)NOT NULL, 会员id varchar(20)
NOTNULL, 性别 varchar(10) check(性别='男' or 性别='女') NOT NULL, 电话号码 varchar(20)NOT
NULL, 办卡日期 date, PRIMARY KEY(会员id) ); (2)会员登记表 CREATE table Mregister ( 会员姓名
varchar(20)NOT NULL, 会员id varchar(20)NOT NULL, 锻炼日期 date, 锻炼内容 varchar(100)NOT
NULL, FOREIGN KEY(会员id) REFERENCES member(会员id) ); (3)健身私教人员表 CREATE table
trainer ( 教练姓名 varchar(20)NOT NULL, 教练id varchar(20)NOT NULL, 教练级别 varchar(20)
NOTNULL CHECK( 教练级别 IN ('初级','中级','高级') ), 训练方向 varchar(20)NOT NULL CHECK( 训练方向
IN ('塑形','减脂','增肌') ), 课程价格 int NOT NULL, 教练工资 number NOT NULL CHECK(教练工资 >=
4000), PRIMARY KEY(教练id) ); (4)私教课程登记表 CREATE table Tregister ( 会员id varchar(20)
NOTNULL, 会员姓名 varchar(20)NOT NULL, 教练id varchar(20)NOT NULL, 购买节数 int, FOREIGN
KEY(教练id) REFERENCES trainer(教练id), FOREIGN KEY(会员id) REFERENCES member(会员id) );
(5)锻炼器材表 CREATE table equip ( 器材名称 varchar(20)NOT NULL, 器材编号 varchar(20)NOT
NULL, 可用个数 int, PRIMARY KEY(器材编号) ); (6)器材借用表 CREATE table BorrowEquip ( 器材名称
varchar(20)NOT NULL, 器材编号 varchar(20)NOT NULL, 会员id varchar(20)NOT NULL, 会员姓名
varchar(20)NOT NULL, FOREIGN KEY(器材编号) REFERENCES equip(器材编号), FOREIGN KEY(会员id)
REFERENCESmember(会员id) ); (7)会员卡信息表 CREATE table Mcard ( 会员id varchar(20)NOT
NULL, 卡号id varchar(20)NOT NULL, 会员姓名 varchar(20)NOT NULL, 会员等级 varchar(20)NOT
NULL CHECK( 会员等级 IN ('普通会员','VIP会员')), 会员卡余额 number, PRIMARY KEY(卡号id), FOREIGN
KEY(会员id) REFERENCES member(会员id) ); (8)健身房公告表 CREATE table post ( 帖子编号 varchar(
20)NOT NULL, 帖子标题 varchar(40)NOT NULL, 帖子主体 varchar(200)NOT NULL, 发贴时间 date,
PRIMARYKEY(帖子编号) );