东软数据库三级项目_3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统
1. 需求描述
设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信
息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的
应用充分的结合起来。
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
2. 概念结构设计
3. 逻辑结构设计
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:
课程信息表
Class:(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:(学号,姓名,性别,年龄,专业,系别)
成绩表
Score:(学号号,课程名,成绩)
教师表
Teacher1:(教师号,教师名,教师性别,教师系别)
2、学生信息表(student1)
4. 物理设计
A.创建索引:
(1) 在class表的cno列上创建非聚集索引。
Create index classrname ON class (cno)
(2) 在student1表的sno列上创建非聚集索引。
Create unique index student1no ON Student1 (sno)
(3) 在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Create index student1no ON student1(sno ASC)
B.删除索引:
(1)删除student1表中的student1no 索引。
Drop index student1no
5. 数据库实施
1、创建数据库
(1)打开SQL工具“查询分析器”
(2)在查询窗口中键入下列SQL语句
create database ScoreSystem
执行上述SQL语句即可新建一名为ScoreSystem的数据库
2、创建数据表
创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
create table Class( //创建课程信息表
cno char(10) primary key, //课程号
cname char(10) not null, //课程名
teano char(10) Not null //教师号
credit char(4), Not null //学分
ctime char(50), Not null //学时
)
执行上述SQL语句即可创建课程信息表相关表格
create table student1( //创建学生信息表
sno char(10) primary key, //学号
sname char(10) not null, //姓名
ssex char(2) not null, //性别
Sage char(2) not null, //年龄
Major char(10) not null, //专业
Depart char(10) not null, / /系别
)
执行上述SQL语句即可创建学生信息表相关表格
create table teacher1( //创建教师信息表 tno char(10) primary key, //教师号
tname varchar(50) not null, //教师名
tsex char(2), //教师性别
tdepart varchar(50) //教师系别
)
执行上述SQL语句即可创建教师信息表相关表格
create table score( //创建成绩表
sno char(10), //学号
cno char(10), //课程号
)
执行上述SQL语句即可创建成绩表相关表格
学生信息相关表格
课程信息相关表格
成绩信息表
教师信息表
6. 数据库运行
(1)查询sno为0811080101学生的sname
select sname
from student1
where sno=' 0811080101'
结果:
(2)查询ssex为’女’并且sdepart为’工商’的sname select sname
from student1
where ssex ='女' and
sdepart ='工商'
结果:
(3)查询depart为数学系的sname。
select sname
from student1
where depart ='数学系'
结果:
(4)查询所有学生所在院系名称
select distinct depart
from student
结果:
(5)查询0811080102号同学和0811080103号同学共同选修的课程
Select cno
From score
Where sno='0811080102'
Intersect
Select cno
From score
Where sno='0811080103'
查询结果
(6)查询选修了0306这门课的所有学生的学号、姓名、年龄、院系
Select sno,sname,sage,depart
From student1
Where sno in
(select sno
From score
Where cno=’0306’)
查询结果
7. 数据库维护
1.数据库更新操作
(1).插入数据
向Student1表中添加一项记录:
姓名:叶问,学号:0811080201,性别:男,年龄:36专业:信息管理,系别:工商Insert
Into
Student1(Sno,Sname, Ssex,sage,major,depart)
Values('0811080201',' 叶问','男',' 36',' 信息管理','工商')