家教中心管理系统数据设计说明书.docx
《家教中心管理系统数据设计说明书.docx》由会员分享,可在线阅读,更多相关《家教中心管理系统数据设计说明书.docx(17页珍藏版)》请在冰豆网上搜索。
家教中心管理系统数据设计说明书
家教中心管理系统
数据库设计说明书
组号:
______________________
成员:
________
_________
1、总体ER图设计
2、数据库逻辑结构
2.1命名规则
1、表命名:
使用英文字母(可以使用汉语拼音)。
单词首字母大写。
2、列命名:
使用英文字母(可以使用汉语拼音)。
单词首字母大写。
3、约束命名:
使用表名或列名组合及约束类型,中间使用“_”连接。
2.2关系分析
1.用户信息表
Users(User_id,User_name,User_pwd,Type)
分析:
因为User_id是主键,而且User_name不允许重复,所以主键只有一个属性,不存在部分依赖,又因为User_idUser_name,所以不存在非主属性对主键User_id的传递依赖,所以该关系属于3NF。
2.学员信息表
Student(Sno,SUser_id,SName,SSex,Birthday,Town,Other,Phone,Pname,School,Grade,Study)
分析:
因为只有Sno是主键,所以不存在部分依赖,因此该关系属于2NF。
但存在非主属性Pname通过Phone对主键Sno的传递依赖,所以该关系不属于3NF。
3.教员信息表
Teacher(Tno,Tuser_id,Tname,Tsex,Birthday,Photo,Station,Introduction,Degree,School,Major)
分析:
因为只有Tno是主键,且不存在部分依赖跟传递依赖,所以该关系也属于3NF。
4.课程信息表
Course(Cno,Cname)
分析:
从这表可以很明显地看到,只有Cno是主键,且不存在部分依赖跟传递依赖,所以该关系也属于3NF。
5.学员/教员课程信息表
STC(STCno,User_id,Cno,Money,Day)
分析:
此表只有STCno是主键,则不存在部分依赖,又不存在非主属性对主键的传递依赖,所以该关系属于3NF。
6.教授情况表
Jiaoshou(Jno,Sno,Tno,Cno,Ano,Type)
分析:
此表中Jno是主键,除此之外其他都不是主键,且又不存在非主属性对主键的传递依赖,所以该关系属于3NF。
7.协议表
Agreement(Ano,Content,Time,Limit)
分析:
这表中只有Ano是主键,所以不存在部分依赖,又不存在非主属性对主键Ano的传递依赖,所以这关系也属于3NF。
8.公告信息表
Placard(Pno,Title,Content,Time)
分析:
此表主键只有Pno是而已,且不存在部分依赖跟传递依赖,所以此关系也属于3NF。
9.服务反馈表
ServiceInfo(Sino,User_id,Time,Mangyidu,Advice)
分析:
因为只有Sino是主键,所以不存在部分依赖,又不存在非主属性对主键Sino的传递依赖,所以此关系属于3NF。
10.费用表
Fee(Fno,FeeType,Price)
分析:
因为只有Fno是主键,所以肯定不存在部分依赖,且又不存在传递依赖,所以这关系属于3NF。
11.教学评价表
Evaluate(Eno,Sno,Tno,Scale,Remark,Time)
分析:
此表中只有Eno是主键,又不存在部分依赖跟传递依赖,所以此关系属于3NF。
12.匹配信息表
Matching(Mno,Sno,Tno,Time,Limit)
分析:
因为只有Mno是主键,所以不存在部分依赖,又不存在非主属性对主键Mno的传递依赖,所以此关系属于3NF。
13.缴纳信息表
Pay(Pno,Sno,Fno,Time,Remark,Way)
分析:
因为只有Pno是主键,所以不存在部分依赖,又不存在非主属性对主键Pno的传递依赖,所以此关系属于3NF。
2.3表信息
2.3.1表汇总
表名
功能说明
Users
存储用户的基本信息
Stuent
存储学员信息的表
Teacher
存储教员信息的表
Course
存储课程信息的表
STC
存储学员/教员选择课程信息的表
Jiaoshou
存储试教/授教情况的表
Agreement
存储学员跟教员签订协议信息的表
Placard
存储公告信息的表
ServiceInfo
存储服务反馈的表
Fee
存储缴纳费用的表
Evaluate
存储教学评价的表
Matching
存储匹配信息的表
Pay
存储缴纳信息的表
2.3.2用户信息表
用户信息表:
Users
字段名称
含义
数据类型
是否允许空
主外键
其他约束
User_id
用户编号
Numeric(6)
否
主键
从1开始自增
User_name
用户名
Varchar(8)
否
唯一
User_pwd
密码
Varchar(16)
否
Type
类型
char(6)
默认学员
2.3.3学员信息表
学员信息表:
Student
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Sno
学员编号
Numeric(6)
否
主键
从1开始自增
Suser_id
用户编号
Numeric(6)
否
外键
Sname
姓名
Varchar(8)
否
Ssex
性别
Char
(2)
默认男
Birthday
出生年月
smalldatetime
否
Town
镇
Varchar(10)
否
Other
补充地址
Varchar(20)
Phone
联系电话
Numeric(11)
否
Pname
联系人姓名
Varchar(8)
否
School
就读学校
Varchar(15)
否
Grade
就读年级
Varchar(10)
否
Study
学习情况
Varchar(300)
2.3.4教员信息表
教员信息表:
Teacher
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Tno
教员编号
Numeric(6)
否
主键
从1开始自增
Tuser_id
用户编号
Numeric(6)
否
外键
Tname
姓名
Varchar(8)
否
Tsex
性别
Char
(2)
否
默认男
Birthday
出生年月
smalldatetime
否
Phone
联系电话
Numeric(11)
否
Station
身份
Varchar(10)
默认在校老师
Introduction
个人简介
Varchar(300)
否
Degree
学历
Varchar(6)
否
School
学校
Varchar(15)
Major
专业
Varchar(15)
2.3.5课程信息表
课程信息表:
Course
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Cno
课程编号
Char(6)
否
主键
从1开始自增
Cname
课程名
Varchar(10)
否
唯一
2.3.6学员/教员课程信息表
学员/教员课程信息表:
STC
字段名称
含义
数据类型
是否允许空
主外键
其他约束
STCno
编号
Numeric(6)
否
主键
从1开始自增
User_id
用户编号
Numeric(6)
否
外键
Cno
课程编号
Char(6)
否
外键
Money
授课时费
Money
否
Day
授课星期
Varchar(10)
否
2.3.7教授情况表
教授情况表:
Jiaoshou
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Jno
教授号
Numeric(6)
否
主键
从1开始自增
Sno
学员编号
Numeric(6)
否
外键
Tno
教员编号
Numeric(6)
否
外键
Cno
课程编号
Char(6)
否
外键
Ano
协议号
Numeric(6)
否
外键
Type
类型
Varchar(6)
默认试教
2.3.8协议表
协议表:
Agreement
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Ano
协议号
Numeric(6)
否
主键
从1开始自增
Content
协议内容
Varchar(500)
否
Time
签订时间
Datetime
Limit
确认期限
Datetime
否
2.3.9公告信息表
公告信息表:
Placard
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Pno
公告编号
Numeric(6)
否
主键
从1开始自增
Title
公告标题
Varchar(20)
否
Content
公告内容
Varchar(300)
否
Time
发布时间
Datetime
2.3.10服务反馈表
服务反馈表:
ServiceInfo
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Sino
反馈编号
Numeric(6)
否
主键
从1开始自增
User_id
用户编号
Numeric(6)
否
外键
Time
反馈时间
Datetime
Mangyidu
满意度
Varchar(8)
默认非常满意
Advice
反馈建议
Varchar(100)
2.3.11费用表
费用表:
Fee
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Fno
费用编号
Numeric(6)
否
主键
从1开始自增
Feetype
费用类型
Varchar(10)
否
Price
费用金额
Money
否
2.3.12教学评价表
教学评价表:
Evaluate
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Eno
评价编号
Numeric(6)
否
主键
Sno
学员编号
Numeric(6)
否
外键
Tno
教员编号
Numeric(6)
否
外键
Scale
评价等级
Varchar(10)
否
默认非常好
Remark
备注
Varchar(100)
Time
评价时间
Datetime
2.3.13匹配信息表
匹配信息表:
Matching
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Mno
匹配编号
Numeric(6)
否
主键
Sno
学员编号
Numeric(6)
否
外键
Tno
教员编号
Numeric(6)
否
外键
Time
匹配时间
Datetime
Limit
确认期限
Datetime
否
2.3.14缴纳信息表
缴纳信息表:
Pay
字段名称
含义
数据类型
是否允许空
主外键
其他约束
Pno
缴纳编号
Numeric(6)
否
主键
Sno
学员编号
Numeric(6)
否
外键
Fno
费用编号
Numeric(6)
否
外键
Time
缴纳时间
Datetime
Remark
备注
Varchar(100)
Way
缴纳方式
Varchar(10)
否
3、数据库的创建
3.1数据库的建立
CREATEDATABASEteaching
ON
(NAME=teaching,
FILENAME=‘D:
\sql_data\teaching.mdf‘,
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=10%)
LOGON
(NAME=teaching_log,
FILENAME=‘D:
\sql_data\teaching_log.ldf‘,
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
3.2数据表的创建
1、用户信息表的创建
createtableUsers
(User_idnumeric(6)identitynotnullprimarykey,
User_namevarchar(8)notnullunique,
User_pwdvarchar(16)notnull,
Typechar(6)nulldefault('学员')
)
2、学员信息表的创建
createtableStudent
(Snonumeric(6)identitynotnullprimarykey,
Suser_idnumeric(6)notnullconstraintS_ForeforeignkeyreferencesUsers(User_id),
Snamevarchar(8)notnull,
Ssexchar
(2)nulldefault('男'),
Birthdaysmalldatetimenotnull,
Townvarchar(10)notnull,
Othervarchar(20)null,
Phonenumeric(11)notnull,
Pnamevarchar(8)notnull,
Schoolvarchar(15)notnull,
Gradevarchar(10)notnull,
Studyvarchar(300)null
)
3、教员信息表的创建
createtableTeacher
(Tnonumeric(6)identitynotnullprimarykey,
Tuser_idnumeric(6)notnullconstraintT_ForeforeignkeyreferencesUsers(User_id),
Tnamevarchar(8)notnull,
Tsexchar
(2)nulldefault('男'),
Birthdaysmalldatetimenotnull,
Photoimagenull,
Phonenumeric(11)notnull,
Stationvarchar(10)nulldefault('在校教师'),
Introductionvarchar(300)notnull,
Degreevarchar(6)notnull,
Schoolvarchar(15)null,
Majorvarchar(15)null
)
4、课程信息表的创建
createtableCourse
(Cnochar(6)notnullprimarykey,
Cnamevarchar(10)notnullunique
)
5、学员/教员课程信息表的创建
createtableSTC
(STCnonumeric(6)identitynotnullprimarykey,
User_idnumeric(6)notnullconstraintSTC_id_ForeforeignkeyreferencesUsers(User_id),
Cnochar(6)notnullconstraintSTC_cno_ForeforeignkeyreferencesCourse(Cno),
Moneymoneynotnull,
Dayvarchar(5)notnull,
Start_timedatetimenull,
End_timedatetimenull
)
6、教授情况表的创建
createtableJiaoshou
(Jnonumeric(6)identitynotnullprimarykey,
Snonumeric(6)notnullconstraintJ_Sno_ForeforeignkeyreferencesStudent(Sno),
Tnonumeric(6)notnullconstraintJ_Tno_ForeforeignkeyreferencesTeacher(Tno),
Cnochar(6)notnullconstraintJ_Cno_ForeforeignkeyreferencesCourse(Cno),
Anonumeric(6)notnullconstraintJ_Ano_ForeforeignkeyreferencesAgreement(Ano),
Typevarchar(6)nulldefault('试教')
)
7、协议表的创建
createtableAgreement
(Anonumeric(6)identitynotnullprimarykey,
Contentvarchar(500)notnull,
Timedatetimenull,
Limitdatetimenotnull
)
8、公告信息表的创建
createtablePlacard
(Pnonumeric(6)identitynotnullprimarykey,
Titlevarchar(20)notnull,
Contentvarchar(300)notnull,
Timedatetimenull
)
9、服务反馈表的创建
createtableServiceInfo
(Sinonumeric(6)identitynotnullprimarykey,
User_idnumeric(6)notnullconstraintSI_ForeforeignkeyreferencesUsers(User_id),
Timedatetimenull,
Mangyiduvarchar(8)nulldefault('非常满意'),
Advicevarchar(100)null
)
10、费用表的创建
createtableFee
(Fnonumeric(6)identitynotnullprimarykey,
Feetypevarchar(10)notnull,
Pricemoneynotnull)
11、教学评价表的创建
createtableEvaluate
(Enonumeric(6)identitynotnullprimarykey,
Snonumeric(6)notnullconstraintE_Sno_ForeforeignkeyreferencesStudent(Sno),
Tnonumeric(6)notnullconstraintE_Tno_ForeforeignkeyreferencesTeacher(Tno),
Scalevarchar(10)nulldefault('非常好'),
Remarkvarchar(100)null,
Timedatetimenull
)
12、匹配信息表的创建
createtableMatching
(Mnonumeric(6)identitynotnullprimarykey,
Snonumeric(6)notnullconstraintM_Sno_ForeforeignkeyreferencesStudent(Sno),
Tnonumeric(6)notnullconstraintM_Tno_ForeforeignkeyreferencesTeacher(Tno),
Timedatetimenull,
Limitdatetimenotnull
)
12、缴纳信息表的创建
createtablePay
(Pnonumeric(6)identitynotnullprimarykey,
Snonumeric(6)notnullconstraintPay_Sno_ForeforeignkeyreferencesStudent(Sno),
Fnonumeric(6)notnullconstraintPay_Fno_ForeforeignkeyreferencesFee(Fno),
Timedatetimenull,
Remarkvarchar(100)null,
Wayvarchar(10)notnull
)