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

  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 图)

学生选课

教师课程授课

班级

n

m m

n

p

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',

filename='f:\pxscj1_data.mdf',

size=3mb,

filegrowth=10%

)

log on

(

name='pxscj1_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 char(3)not null primary key, kcm char(16)not null,

kkxq tinyint,

xs tinyint,

xf tinyint

)

create table cjb(

相关文档
最新文档