《学生成绩管理系统数据库设计文档-(全)》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库设计文档-(全)(19页珍藏版)》请在金锄头文库上搜索。
1、 .“学生成绩管理”数据库设计文档0、前言(一些必要的说明。)0.1 数据库说明数据库名:PXSCJ 逻辑名称:学生成绩数据库数据文件:PXSCJ.mdf日志文件:PXSCJ_Log登录名:admin,密码:1234560.2表命名说明Cjb:成绩表,保存选课信息Cxb:查询表,记录boolean值对应信息,1代表男,0代表女。Kcb:课程表。Tjb:统计表,统计成绩段分布。Xsb:学生表。Yhb:用户表,保存系统用户信息。Jsb: 教师表。Skb:授课表,记录授课信息。0.3 系统功能模块图1、 需求分析阶段说明:学生成绩管理系统需要实现以下功能:一个学生可以选修多门课程,一门课程可以由多个
2、学生选修,学生选修一门课会有一个成绩。一个教师可以教授多个班级,一个教师也可以教授多门课程,一个班级有多个学生,一门课程也可以由多个老师来上,一个老师给一个班级上一门课有确定的时间和地点。不同的用户根据身份不同拥有不同的权限。(1) 数据流图老师-成绩管理,学生信息管理,权限管理-学生成绩管理系统成绩查询-学生(要求:用visio实现第一层数据流图,第二层数据流图,第三层数据流图)p121第一层数据流图第二层数据流图第三层数据流图(略)(2) 数据字典(每个实体的详细说明)数据库编号:pxscj基表编号:f1基表英文名称:yhb基表中文名称:用户表字段编号英文字段名中文字段名字段类型备注1Yh
3、bh用户编号Char(6)2yhm用户名Char(8)3sf身份Varcha(20)4mm密码Char(6)5bz备注Varcha(50)说明: 数据库编号:pxscj基表编号:f2基表英文名称:cjb基表中文名称:成绩表字段编号英文字段名中文字段名字段类型备注1Xh学号Char(6)2Kch课程号Char(3)3Cj成绩Int说明:xh参照学生表的xh;kch参照课程表的kch;cj介于0-100之间。数据库编号:pxscj基表编号:f3基表英文名称:kcb基表中文名称:课程表字段编号英文字段名中文字段名字段类型备注1Xh学号Char(6)2XM姓名Char(8)3XB性别Bit4CSSJ出
4、生时间Datetime5Bj班级Varchar(50)6Zy专业Char(12)7ZXH总学分Int8Lxfs联系方式Varchar(50)9zp照片Varbinary(MAX)10BZVarchar(500)说明:xh参照学生表的xh;kch参照课程表的kch;cj介于0-100之间。xb参照查询表的xb数据库编号:pxscj基表编号:f4基表英文名称:jsb基表中文名称:教师表字段编号英文字段名中文字段名字段类型备注1Jsbh教师编号Char(6)2Jsxm教师姓名Char(8)3zy专业Varchar(30)4Fy分院Varchar(30)5Zc职称Varchar(20)6Zc职务Var
5、char(20)7BzVarchar(50)说明:xh参照学生表的xh;kch参照课程表的kch;cj介于0-100之间。数据库编号:pxscj基表编号:f5基表英文名称:kcb基表中文名称:课程表字段编号英文字段名中文字段名字段类型备注1KCH课程号Char(3)2KCM课程名Char(16)3Cj成绩Int说明:xh参照学生表的xh;kch参照课程表的kch;cj介于0-100之间。数据库编号:pxscj基表编号:f6基表英文名称:cjb基表中文名称:课程表字段编号英文字段名中文字段名字段类型备注1Xh学号Char(6)2Kch课程号Char(3)3KKXQTinyint4XS学生tiny
6、int5XF学分tinyint说明:xh参照学生表的xh;kch参照课程表的kch; 数据库编号:pxscj基表编号:f7基表英文名称:skb基表中文名称: 授课表字段编号英文字段名中文字段名字段类型备注1Jsbh教师编号Char(6)2Kch课程号Char(3)3Bj班级Varchar(50)4Sj时间Varchar(50)5dd地点Varchar(50)说明: jsbh参照教师表的jsbh;kch参照课程表的kch;数据库编号:pxscj基表编号:f8基表英文名称:CXB基表中文名称: 查询表字段编号英文字段名中文字段名字段类型备注1XB性别Bit2XBM性别名Char(4)说明: 2、
7、概念设计阶段(1) 分ER图(两个分ER图,1)学生和课程,2)教师,课程,班级)(2) 总ER图(由分ER图画出总ER图)3、 逻辑设计阶段(1) 表关系图(看是否可以画出)(2) 表结构图Xsb结构Kcb结构Cjb结构Yhb结构Jsb结构Skb结构Tjb结构Cxb结构(3) 表优化(判断每个关系是否达到3NF要求,如果没有达到,则继续规范)按照(1nf-2nf-3nf进行判断和优化)Cjb(xh,kch,cj)码:(xh,kch)非主属性:cj因为cj完全依赖于(xh,kch),所以属于2NF因为不存在传递函数依赖,所以属于3NFCxb(xb,xbm)码:(xbm)非主属性:xb因为xb完
8、全依赖于(kch),所以属于2NF因为不存在传递函数依赖,所以属于3NFJsb(jsbh,jsxm,zy,fy,zc,zw,bz)码:(jsbh)非主属性:jsxm,zy,fy,zc,zw,bz因为jsxm,zy,fy,zc,zw,bz完全依赖于(kch),所以属于2NF因为不存在传递函数依赖,所以属于3NFKcb(kch,kcm,kkxq,xs,xf)码:(kch)非主属性:kcm,kkxq,xs,xf因为kcm,kkxq,xs,xf完全依赖于(kch),所以属于2NF因为不存在传递函数依赖,所以属于3NFSkb(jsbh,kch,bj,sj,dd)码:(jsbh,kch,bj)非主属性:s
9、j,dd因为sj,dd完全依赖于(jsbh,kch,bj),所以属于2NF因为不存在传递函数依赖,所以属于3NFTjb(kch,rs1,rs2,rs3,rs4,rs5)码:(kch)非主属性:rs1,rs2,rs3,rs4,rs5因为rs1,rs2,rs3,rs4,rs5完全依赖于(kch),所以属于2NF因为不存在传递函数依赖,所以属于3NFXsb(xh,xm,xb,cssj,bj,zy,zxf,bz,lxfs,zp)码:(xh)非主属性:xm,xb,cssj,bj,zy,zxf,bz,lxfs,zp因为xm,xb,cssj,bj,zy,zxf,bz,lxfs,zp完全依赖于(xh),所以属
10、于2NF因为不存在传递函数依赖,所以属于3NFYhb(yhbh,yhm,mm,bz)码:(yhbh)非主属性:yhm,mm,bz因为yhm,mm,bz完全依赖于(yhbh),所以属于2NF因为不存在传递函数依赖,所以属于3NF4、物理设计 选择合适的DBMS(要求用sql server 2008)5、实施(把sql语句贴在下面)(1)创建数据库(把sql语句贴在下面)create database pxscj1on( name=pxscj1_data, filename=f:pxscj1_data.mdf, size=3mb, filegrowth=10%)log on( name=pxscj
11、1_log, filename=f:pxscj1_log.ldf, size=4mb, maxsize=6mb, filegrowth=1mb)(2)创建表 (把sql语句贴在下面)create table xsb(xh char(6) not null primary key,xm char(8) not null,xb bit,cssj datetime,bj varchar(50) not null,zy char(12),zxf int,bz varchar(500),lxfs varchar(50),zp varbinary(max)create table kcb (kch cha
12、r(3) not null primary key,kcm char(16) not null,kkxq tinyint,xs tinyint,xf tinyint)create table cjb(xh char(6),kch char(6),cj int,constraint c1 primary key(xh,kch)create table yhb(yhbh char(6) primary key not null,yhm char(8),sf varchar(20),mm char(6),bz varchar(5)create table jsb(jsbh char(6) not n
13、ull primary key,jsxm char(8),zy varchar(30),fy varchar(30),zc varchar(20),zw varchar(20),bz varchar(50)create table skb(jsbh char(6) not null,kch char(3) not null,bj varchar(50) not null,sj varchar(20),dd varchar(50),constraint c2 primary key(jsbh,kch,bj)create table tjb(kch char(3) primary key not null,rs1 int,rs2 int,rs3 int,rs4 int,rs5 int) create table cxb(xb bit not null,xbm char(4) not null