搜档网
当前位置:搜档网 › 教学管理系统数据库ER图及SQL语句

教学管理系统数据库ER图及SQL语句

教学管理系统数据库ER图及SQL语句
教学管理系统数据库ER图及SQL语句

教学管理系统

一、系统功能需求

学校教务管理系统是针对学校的大量信息处理工作而开发的管理软件,完成的主要功能如下:

(1) 学生基本信息管理:能够对学生基本信息进行输入、删除、修改。学生基本信息包括:

学号、姓名、性别、出生日期、入学成绩、所在系号。

(2) 系部基本信息管理:系部的基本信息输入、修改、删除。系部基本信息包括:系号、

系名称、系的简介。

(3) 课程信息管理:课程信息的输入、修改、删除。课程信息包括:课程号、课程名称、

任课教师号、学时、学分、上课时间、上课地点、考试时间。

(4) 教职工信息管理:教职工信息的输入、修改、删除。教职工信息包括:职工号、姓名、

性别、出身年月、所在系号、职称、技术专长。

(5) 选课管理:学号、学生、课程号、课程名称、上课教师姓名、系号

每学期所选课程的学分不能超过15分。学生可以同时选修一门或多门课程。可以同时为多个学生选修某一门或某几门课程。可以删除和修改选课信息。

(6) 成绩管理可以按课程输入和修改成绩,也可以按学生输入和修改成绩。

(7) 信息查询

可以按学号、姓名、系号查询学生基本信息。

可以按职工号、姓名、系号查询教职工基本信息。

可以按系号、系名称查询系的基本信息。

可以按课程号、课程名称、上课教师姓名查询课程基本信息。

按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。

每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩)。

(8) 统计报表

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

能按课程号、课程名称、教师姓名输出对应课程的成绩报表。

b、能够根据课程、授课教师统计成绩>=90分、>=80分、>=70分、>=60分及不及格学生的人数及比例。

二、任务描述

1、根据需求描述,完成数据概念模型设计,画出E-R图;

2、优化E-R图,给出数据逻辑模型;

3、将逻辑模型转换成物理模型并创建数据库和数据表。要求数据表能尽量实现数

据完整性要求。

4、根据需要,创建适当的索引。

5、为了实现系统功能,使用SQL语句向数据表添加相关数据。

6、写出实现系统管理功能用到的删除、修改操作的SQL语句。

7、写出实现系统需要用到的查询语句。

8、用视图实现成绩报表的生成。

9、为了更好的实现系统,创建合适的存储过程和函数。(至少各一个)。

10、撰写数据库系统设计报告及项目总结。

11、完成答辩。

期末实训评分标准

序号评分内容评分标准分值

1 E-R图和逻辑设计创建适当的E-R图和逻辑设计关系10

2 创建数据库和数据表创建数据库 2 创建合适的数据表15 具有适当的主键 5 具有适当的外键和其他约束 5

3 创建索引创建适当的索引 3

4 添加数据根据系统需求,添加适当的数据 5

5 修改、删除数据正确完成数据的修改、删除 5

6 查询写出系统要求的查询语句15

7 创建视图正确创建视图 4

8 存储过程和函数

正确创建存储过程 3

正确创建函数 3 9 设计报告

设计报告内容合理 5

包含个人心得体会 5 10 答辩根据要求完成答辩15

总计100分

出生日期

学号 性别 姓名 成绩 课程号 成绩管理

学生

所在系号

选课管理

姓名

课程号

学号 教职

技术专长

职工号

性别 学分

所在系号

职称

上课地点 系简介

课程信息 课程号

入学

系号

系部 系名称

出生年月

任职教师

学时

课程名称

上课时间 考试时间

所属

USE market

GO

CREATE TABLE 学生基本信息

(

学号INT PRIMARY KEY,

姓名 V ARCHAR(10) NOT NULL,

性别 V ARCHAR(50),

出生日期 INT ,

入学成绩 INT,

所在系号 INT,

)

GO

USE market

GO

CREATE TABLE 系部基本信息

(

系号 INT PRIMARY KEY,

系名称 V ARCHAR(50) NOT NULL, 系的简介 V ARCHAR(50)

)

GO

USE market

GO

CREATE TABLE 课程信息

(

课程号 INT PRIMARY KEY,

课程名称 V ARCHAR(50) NOT NULL, 任课教师号 INT,

学时 INT ,

学分 INT,

上课时间 V ARCHAR(50),

上课地点 V ARCHAR(50),

考试时间 V ARCHAR(50)

)

GO

USE market

GO

CREATE TABLE 教职工信息

(

职工号 INT PRIMARY KEY,

教师姓名 V ARCHAR(10) NOT NULL,

性别 V ARCHAR(50),

出身年月 INT ,

所在系号 INT,

职称 V ARCHAR(50),

技术专长 V ARCHAR(50)

)

GO

USE market

GO

INSERT 学生基本信息(学号,姓名,性别,出生日期,入学成绩,所在系号) V ALUES ('1','王晓明','男','','278','4')

INSERT 学生基本信息

V ALUES ('2','吴小丽','女','','276','4')

INSERT 学生基本信息

V ALUES ('','章明敏','女','','281','4')

INSERT 学生基本信息

V ALUES ('','王孝亚','男','','273','4')

INSERT 学生基本信息

V ALUES ('','李明月','女','','263','4')

INSERT 学生基本信息

V ALUES ('','任心','女','','267','4')

INSERT 学生基本信息

V ALUES ('','吴佳丽','女','','294','4')

INSERT 学生基本信息

V ALUES ('','王丽','女','','287','4')

INSERT 学生基本信息

V ALUES ('','朱明','男','','278','4')

INSERT 学生基本信息

V ALUES ('','章自强','男','','290','4')

GO

USE market

GO

INSERT 系部基本信息(系号,系名称,系的简介)

V ALUES ('1','经济贸易学院','经济贸易')

INSERT 系部基本信息

V ALUES ('2','会计经融学院','会计经融')

INSERT 系部基本信息

V ALUES ('3','旅游管理学院','旅游管理')

INSERT 系部基本信息

V ALUES ('4','信息工程学院','信息工程')

INSERT 系部基本信息

V ALUES ('5','商务外语学院','商务外语')

INSERT 系部基本信息

V ALUES ('6','电子工程学院','电子工程')

INSERT 系部基本信息

V ALUES ('7','机电工程学院','机电工程')

INSERT 系部基本信息

V ALUES ('8','艺术设计学院','艺术设计')

GO

USE market

GO

INSERT 课程信息(课程号,课程名称,任课教师号,学时,学分,上课时间,上课地点,考试时间) V ALUES ('1','数学','1','40','2','周一、四','教3-A209','06-29')

INSERT 课程信息

V ALUES ('2','体育','2','40','2','周一','体育馆','06-24')

INSERT 课程信息

V ALUES ('3','商业应用文写作','3','40','2','周一','教3-A408','06-24')

INSERT 课程信息

V ALUES ('4','实用英语','4','40','2','周二、五','教3-C304','06-30')

INSERT 课程信息

V ALUES ('5','影视鉴赏','5','16','2','周一','教3-A408','06-02')

INSERT 课程信息

V ALUES ('6','音乐鉴赏','6','16','2','周五','教3-C304','06-06')

GO

USE market

GO

INSERT 教职工信息(职工号,教师姓名,性别,出身年月,所在系号,职称,技术专长)

V ALUES ('1','王明','女','','4','教师','数学')

INSERT 教职工信息

V ALUES ('2','李丽','女','','4','教师','体育')

INSERT 教职工信息

V ALUES ('3','徐新','女','','2','教师','语文')

INSERT 教职工信息

V ALUES ('4','王曦','女','','4','教师','英语')

INSERT 教职工信息

V ALUES ('5','王翔','男','','2','教师','影视')

INSERT 教职工信息

V ALUES ('6','李雨','男','','2','教师','音乐')

GO

建立外键

Alter table 课程信息

add

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

go

USE market

GO

CREATE TABLE 选课信息

(

学号 INT PRIMARY KEY,

教师姓名 V ARCHAR(10) NOT NULL,

课程号 INT,

课程名称 V ARCHAR(10) ,

平时成绩 INT,

考试成绩 INT,

总评成绩 INT

)

GO

USE market

GO

INSERT 选课信息(学号,姓名,课程号,课程名称,平时成绩,考试成绩,总评成绩) V ALUES ('1','王晓明','6','音乐鉴赏','70','80','75')

INSERT 选课信息

V ALUES ('2','吴小丽','5','影视鉴赏','50','60','55')

INSERT 选课信息

V ALUES ('','章明敏','6','音乐鉴赏','55','65','60')

INSERT 选课信息

V ALUES ('','王孝亚','5','影视鉴赏','80','80','80')

INSERT 选课信息

V ALUES ('','李明月','5','影视鉴赏','90','90','90')

INSERT 选课信息

V ALUES ('','任心','6','音乐鉴赏','90','80','85')

INSERT 选课信息

V ALUES ('','吴佳丽','5','影视鉴赏','65','65','65')

INSERT 选课信息

V ALUES ('','王丽','6','音乐鉴赏','55','65','60')

INSERT 选课信息

V ALUES ('','朱明','6','音乐鉴赏','95','95','95')

INSERT 选课信息

V ALUES ('','章自强','5','影视鉴赏','70','80','75')

GO

USE market

GO

CREATE TABLE 数学成绩信息

(

课程号 INT,

学号 INT,

姓名 V ARCHAR(10) NOT NULL,

平时成绩 INT,

考试成绩 INT,

总评成绩 INT

)

GO

数学成绩信息

USE market

GO

INSERT 数学成绩信息(课程号,学号,姓名,平时成绩,考试成绩,总评成绩) V ALUES ('1','1','王晓明','70','80','75')

INSERT 数学成绩信息

V ALUES ('2','2','吴小丽','50','60','55')

INSERT 数学成绩信息

V ALUES ('3','','章明敏','55','65','60')

INSERT 数学成绩信息

V ALUES ('4','','王孝亚','80','80','80')

INSERT 数学成绩信息

V ALUES ('5','','李明月','90','90','90')

INSERT 数学成绩信息

V ALUES ('6','','任心','90','80','85')

INSERT 数学成绩信息

V ALUES ('7','','吴佳丽','65','65','65')

INSERT 数学成绩信息

V ALUES ('8','','王丽','55','65','60')

INSERT 数学成绩信息

V ALUES ('9','','朱明','95','95','95')

INSERT 数学成绩信息

V ALUES ('10','','章自强','70','80','75')

GO

USE market

GO

CREATE TABLE 体育成绩信息

(

课程号 INT,

学号 INT ,

姓名 V ARCHAR(10) NOT NULL,

平时成绩 INT,

考试成绩 INT,

总评成绩 INT

)

GO

体育成绩信息

USE market

GO

INSERT 体育成绩信息(课程号,学号,姓名,平时成绩,考试成绩,总评成绩) V ALUES ('1','1','王晓明','70','80','75')

INSERT 体育成绩信息

V ALUES ('2','2','吴小丽','50','60','55')

INSERT 体育成绩信息

V ALUES ('3','','章明敏','55','65','60')

INSERT 体育成绩信息

V ALUES ('4','','王孝亚','80','80','80')

INSERT 体育成绩信息

V ALUES ('5','','李明月','90','90','90')

INSERT 体育成绩信息

V ALUES ('6','','任心','90','80','85')

INSERT 体育成绩信息

V ALUES ('7','','吴佳丽','65','65','65')

INSERT 体育成绩信息

V ALUES ('8','','王丽','55','65','60')

INSERT 体育成绩信息

V ALUES ('9','','朱明','95','95','95')

INSERT 体育成绩信息

V ALUES ('10','','章自强','70','80','75')

GO

USE market

GO

CREATE TABLE 商业应用文写作成绩信息

(

课程号 INT,

学号 INT ,

姓名 V ARCHAR(10) NOT NULL,

平时成绩 INT,

考试成绩 INT,

总评成绩 INT

)

GO

商业应用文写作成绩信息

USE market

GO

INSERT 商业应用文写作成绩信息(课程号,学号,姓名,平时成绩,考试成绩,总评成绩) V ALUES ('1','1','王晓明','70','80','75')

INSERT 商业应用文写作成绩信息

V ALUES ('2','2','吴小丽','50','60','55')

INSERT 商业应用文写作成绩信息

V ALUES ('3','','章明敏','55','65','60')

INSERT 商业应用文写作成绩信息

V ALUES ('4','','王孝亚','80','80','80')

INSERT 商业应用文写作成绩信息

V ALUES ('5','','李明月','90','90','90')

INSERT 商业应用文写作成绩信息

V ALUES ('6','','任心','90','80','85')

INSERT 商业应用文写作成绩信息

V ALUES ('7','','吴佳丽','65','65','65')

INSERT 商业应用文写作成绩信息

V ALUES ('8','','王丽','55','65','60')

INSERT 商业应用文写作成绩信息

V ALUES ('9','','朱明','95','95','95')

INSERT 商业应用文写作成绩信息

V ALUES ('10','','章自强','70','80','75')

GO

USE market

GO

CREATE TABLE 实用英语信息

(

课程号 INT,

学号 INT ,

姓名 V ARCHAR(10) NOT NULL,

平时成绩 INT,

考试成绩 INT,

总评成绩 INT

)

GO

实用英语信息

USE market

GO

INSERT 实用英语信息(课程号,学号,姓名,平时成绩,考试成绩,总评成绩) V ALUES ('1','1','王晓明','70','80','75')

INSERT 实用英语信息

V ALUES ('2','2','吴小丽','50','60','55')

INSERT 实用英语信息

V ALUES ('3','','章明敏','55','65','60')

INSERT 实用英语信息

V ALUES ('4','','王孝亚','80','80','80')

INSERT 实用英语信息

V ALUES ('5','','李明月','90','90','90')

INSERT 实用英语信息

V ALUES ('6','','任心','90','80','85')

INSERT 实用英语信息

V ALUES ('7','','吴佳丽','65','65','65')

INSERT 实用英语信息

V ALUES ('8','','王丽','55','65','60')

INSERT 实用英语信息

V ALUES ('9','','朱明','95','95','95')

INSERT 实用英语信息

V ALUES ('10','','章自强','70','80','75')

GO

修改语句

USE market

GO

UPDATE 学生基本信息

SET 姓名='王晓明', 出生日期='19930721'

WHERE 学号=

GO

删除语句

USE market

GO

DELETE 学生基本信息

WHERE 学号=

GO

查询

可以按学号、姓名、系号查询学生基本信息。

USE market

GO

SELECT 学号,姓名,所在系号

FROM 学生基本信息

可以按职工号、姓名、系号查询教职工基本信息。

USE market

GO

SELECT 职工号,教师姓名,所在系号

FROM 教职工信息

可以按系号、系名称查询系的基本信息。

USE market

GO

SELECT 系号,系的简介

FROM 系部基本信息

可以按课程号、课程名称、上课教师姓名查询课程基本信息。

SELECT a.课程号,a.课程名称,b.教师姓名

FROM 课程信息 AS a INNER JOIN 教职工信息 AS b

ON a.课程号=b.职工号

按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩)。

体育

USE market

GO

SELECT 课程信息.课程号,课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,体育成绩信息.学号,体育成绩信息.平时成绩,体育成绩信息.考试成绩,体育成绩信息.总评成

FROM

课程信息 INNER JOIN 教职工信息

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

INNER JOIN 体育成绩信息

on 体育成绩信息.课程号=课程信息.课程号

group by 课程信息.课程号, 课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,体育成绩信息.学号,体育成绩信息.平时成绩,体育成绩信息.考试成绩,体育成绩信息.总评成绩

order by 体育成绩信息.总评成绩 desc

数学

USE market

GO

SELECT 课程信息.课程号,课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,数学成绩信息.学号,数学成绩信息.平时成绩,数学成绩信息.考试成绩,数学成绩信息.总评成绩 FROM

课程信息 INNER JOIN 教职工信息

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

INNER JOIN 数学成绩信息

on 数学成绩信息.课程号=课程信息.课程号

group by 课程信息.课程号, 课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,数学成绩信息.学号,数学成绩信息.平时成绩,数学成绩信息.考试成绩,数学成绩信息.总评成绩

order by 数学成绩信息.总评成绩 desc

商业应用文写作

USE market

GO

SELECT 课程信息.课程号,课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,商业应用文写作成绩信息.学号,商业应用文写作成绩信息.平时成绩,商业应用文写作成绩信息.考试成绩,商业应用文写作成绩信息.总评成绩

FROM 课程信息 INNER JOIN 教职工信息 ON 课程信息.课程号=教职工信息.职工号INNER JOIN 商业应用文写作成绩信息on 商业应用文写作成绩信息.课程号=课程信息.课程号

group by 课程信息.课程号, 课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,商业应用文写作成绩信息.学号,商业应用文写作成绩信息.平时成绩,商业应用文写作成绩信息.考试成绩,商业应用文写作成绩信息.总评成绩

order by 商业应用文写作成绩信息.总评成绩 desc

实用英语

USE market

GO

SELECT 课程信息.课程号,课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,实用英语信息.学号,实用英语信息.平时成绩,实用英语信息.考试成绩,实用英语信息.总评成绩

FROM 课程信息 INNER JOIN 教职工信息 ON 课程信息.课程号=教职工信息.职工号INNER JOIN 实用英语信息on 实用英语信息.课程号=课程信息.课程号

group by 课程信息.课程号, 课程信息.课程名称,教职工信息.姓名,教职工信息.所在系号,实用英语信息.学号,实用英语信息.平时成绩,实用英语信息.考试成绩,实用英语信息.

总评成绩

order by 实用英语信息.总评成绩 desc

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 order1

SET @SelectKey = '课程号'

AS

SELECT * FROM 数学成绩信息 INNER JOIN 选课信息INNER JOIN 体育成绩信息INNER JOIN 商业应用文写作成绩信息INNER JOIN 实用英语信息

WHERE 总评成绩>= 90

--比较运算符

--调用存储过程

EXECUTE order1

USE market

GO

--建立信息的存储过程

CREATE PROCEDURE order1

SELECT >=90人数=COUNT(ALL >=90)

FROM order1 renshu

USE market

GO

--建立信息的存储过程

CREATE PROCEDURE order1 bili

AS

SELECT >=90分所在比例 =A VG(distinct 10) FROM order1 renshu

相关主题