搜档网
当前位置:搜档网 › 学生成绩管理系统数据库设计文档---(全)

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

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

“学生成绩管理”数据库设计文档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(

xh char(6),

kch char(6),

cj int,

constraint c1primary 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 null 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,

相关主题