数据库项目设计总结

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

篇一:《数据库系统设计报告及项目总结》

数据库系统设计报告及项目总结

我对数据库的制作是为了能够更方便更快捷的对学生基本信息、系部基本信息、课程信息、教职工信息以及学生成绩进行查询。

数据库的最终效果是能够按学号、姓名、系号查询学生基本信息;按职工号、姓名、系号查询教职工基本信息;按系号、系名称查询系的基本信息;按课程号、课程名称、上课教师姓名查询课程基本信息;按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩);能按课程号、课程名称、教师姓名输出对应课程的成绩报表;能够根据课程、授课教师统计成绩>=90分、>=80分、>=70分、>=60分及不及格学生的人数及比例。内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩。

我建立了学生基本信息表,系部基本信息表,课程信息表,教职工信息表,选课信息表以及没门课程的成绩表。课程包括音乐鉴赏、影视鉴赏、体育、数学、

商业应用文写作、实用英语这几门课程。学生基本信息表的内容及数据类型如下学号INT PRIMARY KEY,姓名VARCHAR(10) NOT NULL,性别VARCHAR(50),出生日期INT ,入学成绩INT,所在系号INT。系部基本信息表内容及数据类型如下系号INT PRIMARY KEY,系名称VARCHAR(50) NOT NULL,系的简介VARCHAR(50)。课程信息表内容及数据类型如下课程号INT PRIMARY KEY,课程名称VARCHAR(50) NOT NULL,任课教师号INT,学时INT ,学分INT,上课时间VARCHAR(50),上课地点VARCHAR(50),考试时间VARCHAR(50)。教职工信息表内容以及数据类型如下职工号INT PRIMARY KEY,教师姓名VARCHAR(10) NOT NULL,性别VARCHAR(50),出身年月INT ,所在系号INT,职称VARCHAR(50),技术专长VARCHAR(50)。将课程信息中的任课教师号与教职工信息表的职工号。选课信息表内容以及数据类型如下学号INT PRIMARY KEY,教师姓名VARCHAR(10) NOT NULL,课程号INT,课程名称VARCHAR(10) ,平时成绩INT,考试成绩INT,总评成绩INT。

我创建数据库是在图形界面下进行的,数据库的名称为market,一些查询语句是通过SQL语句进行的。我创建了视图方便对学生成绩进行查询,在创建视图过程中用到了COUNT函数和AVG函数和存储过程。因为在创建成绩报表关于不同分值的人数和比例时,需要这些函数和存储过程,可以先利用COUNT函数求出不同分值之间的人数在创建存储过程,接着在利用AVG函数和存储过程求出不同分值间的人数所占比例,最后在创建视图,一个有关成绩报表的视图就建立成功了。

在数据库的设计过程中,我也遇到了一些问题,例如,创建表时没有注意各表之间的联系,所以在设计数据库时应先对各表之间的联系进行全面的了解。其次要注意创建和查询时的SQL语句的正确运用,输入字母和数字时要在英文输入法的状态下,有时要注意各字段之间的空格间距,创建多表之间的链接时要注意写出各表之间的相同项目之间的链接。

所做任务如下

建立外键

Alter table 课程信息

add

constraint Fk_课程信息_教职工信息foreign key (任课教师号)

REFERENCES 教职工信息(职工号)

go

修改语句

USE market

GO

UPDATE 学生基本信息

SET 姓名='王晓明', 出生日期='19930721' WHERE 学号=12432201

GO

删除语句

USE market

GO

DELETE 学生基本信息

WHERE 学号=12432210

GO

a、成绩报表内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩USE market

GO

CREATE VIEW 成绩报表

AS

SELECT 课程信息.课程号,课程信息.课程名称, 课程信息. 任课教师号,课程信息.学时,课程信息.学分,教职工信息.教师姓名, 选课信息.学号, 选课信息.平时成绩, 选课信息.考试成绩, 选课信息.总评成绩, 学生基本信息.性别

FROM

课程信息INNER JOIN 教职工信息

ON 课程信息.课程号=教职工信息.职工号

INNER JOIN 选课信息

On 选课信息.课程号=课程信息.课程号

INNER JOIN 学生基本信息

On 学生基本信息.学号=选课信息.学号

group by 课程信息.课程号,课程信息.课程名称, 课程信息. 任课教师号,课程信息.学时,课程信息.学分,教职工信息.教师姓名, 选课信息.学号, 选课信息.平时成绩, 选课信息.考试成绩, 选课信息.总评成绩,学生基本信息.性别

go

USE market

GO

--建立信息的存储过程

CREATE PROCEDURE ordershu1

SELECT * FROM 数学成绩信息WHERE 总评成绩>=90

--比较运算符

USE market

GO

--建立信息的存储过程

CREATE PROCEDURE order1renshu1 SELECT D90人数=COUNT(ALL 学号) FROM ordershu1

USE market

相关文档
最新文档