数库课程设计报告
题目: 学生成绩理系统数库设计
学 院:
姓 名: 学 号:
专 业:
班 级:
指导教师:
二0二年X月
目录
需求分析 3
11 需求概述 3
12 功简介 3
二数库设计 3
21 确定联系集ER图 3
22 画出ER图 4
23学生成绩理系统总ER图 5
三逻辑数库设计阶段 6
31 班级信息表(Class) 7
32 学生信息表(Student) 7
33 课程信息表(Course) 8
34 成绩表(Score) 8
四建表 8
41 创建数库 8
42 创建数表 9
五数库运行维护 10
51 定义 10
511 基表创建建表语句 10
512 基表删 11
52 数操作 11
521 单表查询: 11
522 连接查询 11
523 操作结果集查询 12
524 嵌套查询 12
53 数库更新操作 13
531 插入数 13
532 修改数 13
533 删数 13
54 数库建立索引 14
541 索引建立 14
542 索引删 14
55 数库安全性 14
56 数库完整性 15
561 实体完整性定义 15
562 参完整性定义 15
六模式求精 15
七总结 16
需求分析
11 需求概述
针江西农成绩理工作量繁杂工处理非常困难学生成绩理系统助计算机强处理力减轻理员工作量提高处理准确性学生成绩理系统开发运实现学生成绩理动化仅广教师繁重成绩理工作中解脱出学校传统成绩理模式中解放出学生成绩判断整理更合理更公正时教师提供准确清晰轻松成绩理环境
12 功简介
够进行数库数定义数操数控制等处理功进行联机处理相应时间短
具体功应包括:系统应该提供课程安排数插入删更新查询成绩添加修改删查询学生教职工基信息查询功
二数库设计
21 确定联系集ER图
根前面系统进行分析已初步解学生成绩理系统数处理流程找出系统关实体相互联系:
①标示实体集:班级课程学生成绩四关系
②标示联系集:
学生班级:班学生组成学生属某班
存属关系:N:1
学生课程:学生选修门课程门课程提供学生选修
存选修关系:NM
关系Score码{studentNocourseNoterm}显然学生学期允许修读门课程次
关系CoursepriorCourse属性参关系码courseNo属性里假设门课程需定义门先修课程
③标示属性集:
班级(班级编号班级名称属学院年级班级数)
课程(课程号课程名学分课时数先修课程)
学生(学号姓名性出生日期籍贯属班级)
成绩(学号课程号开课学期成绩)
22 画出ER图
班级信息图:
Class
classtudentNo
className
Institute
classNum
grade
图221班级实体集ER图
学生信息图:
Student
studentNo
studentName
sex
classtudentNo
native
birthday
图222学生实体集ER图
课程信息图:
Course
courseNo
courseName
creditHour
priorCourse
courseHour
图223课程实体集ER图
成绩信息图:
Score
studentNo
courseNo
score
term
图224成绩实体集ER
23学生成绩理系统总ER图
根面实体联系分析画出ER图
课程
课程号
课程名
学时数
学分
先修课程
选修
属
学生
成绩
班级
学号
姓名
性
班级数数数
年级
属学院
班级名称
班级编号
成绩
开课学期
课程号
学号
出生日期
籍贯
N
1
N
M
1
图225学生成绩理系统总ER图
三逻辑数库设计阶段
逻辑结构独立种数模型信息结构逻辑结构务概念结构设计阶段设计基ER图转化宜选DBMS支持数模型相符合逻辑结构进行优化
ER图关系模型转化解决问题实体型实体间联系转化关系模式确定关系模式属性码
设计学生成绩理数库包括课程学生教师成绩四关系 关系模式中实体定义属性:
课程信息表
Class(班级编号班级名称属学院年级班级数)
学生信息表
Student (学号姓名性出生日期籍贯属班级)
课程信息表
Course (课程号课程名学分课时数先修课程)
成绩表
Score:(学号课程号开课学期成绩)
设计出ER图ER图转换数库模式系统建立数库ScoreDB运行系统时库中建立表分介绍:
31 班级信息表(Class)
字段名
描述
数类型
字段限制
classNo
班级编号
char(10)
Primarykey
className
班级名称
varchar(30)
Not null
institute
属学院
varchar(30)
Not null
grade
年级
smallint
Not null
classNum
班级数
tinyint
Not null
32 学生信息表(Student)
字段名
描述
数类型
字段权限
studentNo
学号
char(10)
Primarykey
studentName
姓名
Varchar(30)
Not null
sex
性
char(2)
Not null
birthday
出生日期
datetime
Not null
native
民族
varchar(30)
Not null
classNo
属班级
varchar(30)
Not null
33 课程信息表(Course)
字段名
属 性
数类型
字段权限
courseNo
课程号
char(10)
Primarykey
courseName
课程名
varchar(30)
Not null
creditHour
学分
numeric
Not null
courseHour
课时数
tinyint
Not null
priorCourse
先修课程
varchar(30)
Not null
34 成绩表(Score)
字段名
属 性
数类型
字段权限
studentNo
学号
char(10)
Primarykey
courseNo
课程号
char(10)
Primarykey
term
开课学期
char(10)
Not null
score
成绩
numeric
Not null
四建表
41 创建数库
开SQL工具查询分析器
查询窗口中键入列SQL语句
create database ScoreDB
执行述SQL语句新建名ScoreDB数库
42 创建数表
完整数库缺少数表干数表集合成数库数表存放定格式记录数表中行称记录列称字段创建数表程实定义字段程
学生成绩理系统中需创建四表班级信息表学生信息表课程信息表成绩表
创建数库ScoreDB数库添加数表步骤
新建查询窗口
查询窗口中键入列SQL语句
create table Class( 创建班级信息表
classtudentNo char(10) primary key 班级编号
classtudentName varchar(30) not null 班级名称
institute varchar(30) Not null 属学院
grade smallint Not null 年级
classNum tinyint Not null 班级数
)
执行述SQL语句创建课程信息表相关表格
create table Student( 创建学生信息表
studentNo char(10) primary key 学号
studentName varchar(30) not null 姓名
sex char(2) not null 性
birthday datetime not null 出生日期
native varchar(30) not null 民族
classtudentNo Char(10) not null 属班级
)
执行述SQL语句创建学生信息表相关表格
create table Course( 创建教师信息表
courseNo char(10) primary key 课程号
courseName varchar(30) not null 课程名
creditHour numeric not null 学分
courseHour tinyint not null 课时数
priorCourse varchar(30) not null 先修课程
)
执行述SQL语句创建教师信息表相关表格
create table Score( 创建成绩表
studentNo char(10) primary key 学号
courseNo char(10) primary key 课程号
term char(10) not null 开课学期
score numeric not null 成绩
)
执行述SQL语句创建成绩表相关表格
五数库运行维护
51 定义
基表创建修改删索引创建删
511 基表创建建表语句
create table Student( 创建学生表
studentNo char(10) not null
studentName varchar(30) not null
sex char(2) not null
birthday datetime not null
native varchar(20) not null
classtudentNo Char(10) not null
constraint studentPK primary key(StudentNO)
constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo)
)
512 基表删
drop table Student
52 数操作
521 单表查询:
查询学号0800006生姓名
select studentName
from Student
where studentNo' 0800006'
结果:
522 连接查询
查询学生学号姓名选课程课程号课程名成绩
Select StudentstudentNoStudentstudentNameClassclassNoClassclassNameScorescore
from StudentClassScoreCourse
Where StudentstudentNoScorestudentNo and StudentclassNoClassclassNo and CoursecourseNoScorecourseNo
结果:
523 操作结果集查询
查询0700003号学0800002号学选修课程
Select courseNo
From Score
Where studentNo'0700003'
Intersect
Select courseNo
From score
Where studentNo'0800002'
查询结果:
524 嵌套查询
查询选修CS0701门课学生学号姓名出生日期籍贯
Select studentNostudentNamebirthdaynative
From Student
Where studentNo in
(select studentNo
From score
Where classNo'CS0701')
查询结果:
53 数库更新操作
531 插入数
Student表中添加项记录:
姓名:叶问学号:0800016性:男出生年月:1992619籍贯:南昌班级编号:CP0802
Insert
Into
Student(studentNostudentName sexbirthdaynativeclassNo)
Values ('0800016'' 叶问' '男''1992619'' 南昌' 'CP0802'
结果:
532 修改数
修改吴敏学号0800019
Update Student
Set StudentNo'0800019'
Where StudentName'吴敏’
533 删数
删金融学院学生记录
Delete
from Class
Where(institute'金融学院')
54 数库建立索引
541 索引建立
create index studentNameSM on Student(studentName)
542 索引删
drop index studentNameSM on Student(studentName)
55 数库安全性
谓计算机系统安全性指计算机系统建立采取种安全保护措施保护计算机系统中硬件软件数防止偶然恶意原系统遭破坏数遭更改泄露等防止户非法数库造成数泄露更改破坏必须采取安全性控制措施保证数库中数安全正确效安全性控制防范象非法户非法操作防止数库数非法存取采户标识鉴定户名户标识号标明户身份
户想数库容进行相关操作必须申请户名户标识号次登陆必须输入该户名相应正确口令然系统进行验证通验证户方数库进行操作
56 数库完整性
561 实体完整性定义:班级表Class中classNo定义码
create table Class( 创建class表
classNo char(10) not null
className varchar(30) not null
institute varchar(30) Not null
grade smallint Not null
classNum tinyint null
constraint ClassPK primary key(classNo)
)
562 参完整性定义:学生成绩表Score中studentNocourseNo定义外码
create table Score(
studentNo char(10) not null
courseNo char(10) not null
term char(10) not null
score numeric(51) default 0 not null
Check(Score between 00 and 1000)
Constraint ScorePK primary key(studentNocourseNo)
Constraint ScoreFK1 foreign key(studentNo)
References Student(studentNo)
Constraint ScoreFK2 foreign key(courseNo)
References Course(courseNo)
六模式求精
通常果仔细分析户需求正确识出实体集联系集ER图生成数库模式需太进步模式求精然果实体集中属性间存函数赖(包括码赖关系)需根函数赖理进行规范化
通分析关系知Course关系模式中存非属性函数赖关系:courseName> priorCourse导致问题数冗余相等级会员需存放priorCourse信息该模式满足BCNF范式需Course进行分解BCNF分解两模式:
NewCourse1(classNocourseNamecreditHourcourseHour)
NewCourse2 (courseNamepriorCourse)
七总结
学生成绩查询系统参课相说较简单课整设计做基掌握课数库基础操作设计程中遇问题学请教程中收获
(1)设计表时应注意正确字段类型(2)建表语句中果表键属性组合键必须作表级完整性进行定义
着学生成绩理类型断增加成绩理求断提高理方面工作量会越越工作件十分烦琐非常容易出错事情样情况实学生成绩理系统必然性果做出完善学生成绩理系统理方面工作量减少
总说通次数库课程设计锻炼操作力实际分析件事较全面数库设计更深解
江西农业学课程设计
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档