学生成绩管理系统数据库设计文档 - (全)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“学生成绩管理”数据库设计文档0、前言(一些必要的说明。)

0、1 数据库说明

数据库名:PXSCJ

逻辑名称:学生成绩数据库

数据文件:PXSCJ、mdf

日志文件:PXSCJ_Log

登录名:admin,密码:123456

0、2表命名说明

Cjb:成绩表,保存选课信息

Cxb:查询表,记录boolean值对应信息,1代表男,0代表女。

Kcb:课程表。

Tjb:统计表,统计成绩段分布。

Xsb:学生表。

Yhb:用户表,保存系统用户信息。

Jsb: 教师表。

Skb:授课表,记录授课信息。

0、3 系统功能模块图

1、 需求分析阶段

说明:学生成绩管理系统需要实现以下功能:一个学生可以选修多门课程,一门课程可以由多个学生选修,学生选修一门课会有一个成绩。一个教师可以教授多个班级,一个教师也可以教授多门课程,一个班级有多个学生,一门课程也可以由多个老师来上,一个老师给一个班级上一门课有确定的时间与地点。不同的用户根据身份不同拥有不同的权限。

(1) 数据流图

老师----成绩管理,学生信息管理,权限管理---学生成绩管理系统—成绩查询--学生

(要求:用visio 实现第一层数据流图,第二层数据流图,第三层数据流图)p121

老师

学生

学生成绩管理系统

成绩管理信息管理

权限管理

成绩查询

修改密码

第一层数据流图

第二层数据流图

第三层数据流图(略) (2)数据字典

(每个实体的详细说明)

2、概念设计阶段

(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

因为不存在传递函数依赖,所以属于3NF

Cxb(xb,xbm)

码:(xbm)

非主属性:xb

因为xb完全依赖于(kch),所以属于2NF

因为不存在传递函数依赖,所以属于3NF

Jsb(jsbh,jsxm,zy,fy,zc,zw,bz)

码:(jsbh)

非主属性:jsxm,zy,fy,zc,zw,bz

因为jsxm,zy,fy,zc,zw,bz完全依赖于(kch),所以属于2NF 因为不存在传递函数依赖,所以属于3NF

Kcb(kch,kcm,kkxq,xs,xf)

码:(kch)

非主属性:kcm,kkxq,xs,xf

因为kcm,kkxq,xs,xf完全依赖于(kch),所以属于2NF

因为不存在传递函数依赖,所以属于3NF

Skb(jsbh,kch,bj,sj,dd)

码:(jsbh,kch,bj)

非主属性:sj,dd

因为sj,dd完全依赖于(jsbh,kch,bj),所以属于2NF

因为不存在传递函数依赖,所以属于3NF

Tjb(kch,rs1,rs2,rs3,rs4,rs5)

码:(kch)

非主属性:rs1,rs2,rs3,rs4,rs5

因为rs1,rs2,rs3,rs4,rs5完全依赖于(kch),所以属于2NF

因为不存在传递函数依赖,所以属于3NF

Xsb(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),所以属于2NF 因为不存在传递函数依赖,所以属于3NF

Yhb(yhbh,yhm,mm,bz)

码:(yhbh)

非主属性:yhm,mm,bz

因为yhm,mm,bz完全依赖于(yhbh),所以属于2NF

因为不存在传递函数依赖,所以属于3NF

4、物理设计

选择合适的DBMS(要求用sql server 2008)

5、实施(把sql语句贴在下面)

(1)创建数据库

(把sql语句贴在下面)

create database pxscj1

on

(

name='pxscj1_data',

='f:\pxscj1_data、mdf',

size=3mb,

=10%

)

log on

(

name='pxscj1_log',

='f:\pxscj1_log、ldf',

size=4mb,

maxsize=6mb,

=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 char(3)not null primary key,

相关文档
最新文档