软件数据库设计
一、引言
1 编写目的
编写本数据库的目的在于有利于后期的维护,其主要读者为后期的系统维护人员。
以便于他们在维护时方便地掌握原数据库环境。
2 背景
a.待开发的数据库名称为:Student.mdb。使用该数据库的系统为:教务管理。
b.本项目是由计算机科学与技术学院08计11班郭琼、王娟、何婷婷、李姣、金欢欢、褚强、孙超为了进行软件测试实训而进行开发的
3 定义
本数据库所用术语为:数据库,表,记录,字段
其中数据库名称和表名为英文词组。数据库名:Student.mdb
表名:如Xs、Js等,表名清晰明了,有利于阅读。
4 参考资料
《中文office 2000》,《VB数据库开发》等。
二、外部设计
1 标识和状态
本系统仅包含一个数据库,所以数据库的唯一标志也是数据库的名字即Student.mdb
该数据库所包含的所有表也都以其表名为唯一标志,而不在存在其他表示方式。
2 使用它的程序
对应系统表单、控件、过程的各个程序和模块,诸如查询,修改,添加,调整等。
3 约定
程序员在利用或修改该数据库时需要注意的是在各个表中,关键字段为表中的学号,教师号,班号,以及用户帐号,程序员在利用数据库时应当优先考虑这些字段的唯一性和完整性。
4 支持软件
该数据库所用的DBMS为SQL server。该数据库管理系统具有操作简便,维护容易的特点,对中小型数据库的管理非常适用。
3、结构设计
1、学生模式设计:
根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:
Bj(Bno,Bname,Bdate,Btea,Bmon,Bparty)
各项含义分别为:班级(班号,班名,建班时间,班主任,班长,团支书)
其中班号是班级表的是主码
Xs(Xno,Bno,Xname,Xbir,Xaddr,Xnation,Xface,Xid,Xcall,Xsno,Xmail,Xdate)
其中各项含义分别为:(学号,班号,学生姓名,性别,出生日期,籍贯,
民族,政治面貌,身份证号,,宿舍号,邮箱,入学日期 )
其中学号是学生表的主码,班号是学生表的外码
A、数据结构:
班级
含义说明:描述了组成班级的信息结构
组成:班号,班名,建班时间,班主任,班长,团支书
学生
含义说明:描述了组成学生的信息结构
组成:学号,班号,学生姓名,性别,出生日期,籍贯,民族,政
治面貌,身份 证号,,宿舍号,邮箱,入学日期
B、数据表
根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统
中主要的数据表如下:
字段名称 | 数据类型 | 可否为空 | 说明 |
班号Bno | Char(8) | 主键 | 4位院系代码+2位班级代码+2位班自由编码 |
班名Bname | Varchar(50) | Not null | 班级名称 |
建班时间Bdate | Datetime(8) | Null | 学生入学时间 |
班主任Btea | Char(10) | Null | 班主任 |
班长Bmon | Char(10) | Null | 班长 |
团支书BParty | Text(6) | Null | 团支书 |
表1:班级基本信息表(Bj)
字段名称 | 数据类型 | 可否为空 | 说明 |
学号Xno | Char(8) | 主键 | 4位院系代码+2位班代码+2位学号代码 |
班号Bno | Char(8) | Not Null | 4位院系代码+2位班级代码+2位班自由编码 |
学生姓名Xname | Char(10) | Not Null | 姓名 |
性别Xsex | Char(2) | Not Null | 性别(男,女) |
出生日期Xbir | Datetime(8) | Null | 出生日期 |
籍贯Xaddr | Varchar(50) | Null | 学生籍贯 |
民族Xnation | Varchar(30) | Null | 民族名称 |
政治面貌Xface | Varchar(50) | Null | 现阶段政治面貌 |
身份证号Xid | Char(20) | Null | 18位身份证号 |
Xcall | Varchar(30) | Null | 手机号或宿舍号 |
宿舍号Xsno | Varchar(30) | Null | 宿舍楼号(2)+房间号(4) |
邮箱Xmail | Varchar(30) | Null | 邮箱号 |
入学日期Xdate | Datetime(8) | Null | 入学日期 |
表2:学生基本信息表(Xs)
2、教师模式
根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型
Kc(Kno,Kname,Jno,Kpno,Kpname,Khour,Kciredit)
其中各项含义分别为:课程(课程号,课程名,教师编号,先修课程号,先
修课程名,学时,学分)
其中课程号是课程表的主码
Cj(Cid,Bno,Xno,Kno,Cscore)
其中各项含义分别为:成绩(成绩id ,班号,学号,课程号,成绩)
其中成绩id是成绩表的主码,班号、学号、课程号是成绩表的外码
A、数据结构
课程表
含义说明:定义一个描述学生所选的课程的信息
组成:课程号,课程名,教师编号,先修课程号,先
修课程名,学时,学分
成绩表
含义说明:定义一个描述学生所选的课程的成绩
组成:成绩id ,学号,课程号,成绩
B、数据表
根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:
字段名称 | 数据类型 | 可否为空 | 说明 |
课程号Kno | Char(8) | 主键 | 4位院系代码+2位课程代码+2位自由编码 |
课程名称Kname | Varchar(50) | Not null | 课程名称(中文或英文) |
教师编号Jno | Char(8) | Not null | 4位院系代码+2位教师代码+2位自由编码 |
先修课程号Kpno | Char(8) | Null | 4位院系代码+2位课程代码+2位自由编码 |
先修课程名称Kpname | Varchar(50) | Null | 课程名称(中文或英文) |
学时Khour | Int(4) | Null | 所学课时 |
学分Kcredit | Float(6) | Not null | 学分 |
表3 课程信息表(Kc)
学生管理系统数据库设计说明书字段名称 | 数据类型 | 可否为空 | 说明 |
成绩Cid | Numeric(9) | 主键 | 标识种子1、自增1 |
班号Bno | Char(8) | 外键 | 4位院系代码+2位班级代码+2位班自由编码 |
学号Xno | Char(8) | 外键 | 4位院系代码+2位班代码+2位学号代码 |
课程号Kno | Char(8) | 外键 | 4位院系代码+2位课程代码+2位自由编码 |
成绩Cscore | Float(8) | Not null | 成绩,默认为0 |
表4 成绩信息表(CJ)
四、安全保密设计
由于本系统要求的保密等级不高,故只在数据库中建立一张用户表,并分别设置超级用户,普通用户标志,在程序中根据用户标志来分别赋予不同权限。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论