赞
踩
【说明】
某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运
作活动。
【需求分析结果】
(1)商场需要记录的信息包括商场编号(编号唯一),商场名称,地址和联系电话。某
商场信息如下表所示。
(2)每个商场包含有不同的部门,部门需要记录的信息包括部门编号(集团公司分配),
部门名称,位置分布和联系电话。某商场的部门信息如下表所示。
(3)每个部门雇用多名员工处理日常事务,每名员工只能隶属于一个部门(新进员工
在培训期不隶属于任何部门)。员工需要记录的信息包括员工编号(集团公司分配),姓名,
岗位,电话号码和工资。员工信息如下表所示。
(4)每个部门的员工中有一名是经理,每个经理只能管理一个部门,系统需要记录每
个经理的任职时间。
【说明】
某公司拟开发一套小区物业收费管理系统。初步的需求分析结果如下:
【需求分析结果】
(1)业主信息主要包括:业主编号、姓名、房号、房屋面积、工作单位、联系电话等。
房号可唯一标识一条业主信息,且一个房号仅对应一套房屋;一个业主可以有一套或多套的
房屋。
(2)部门信息主要包括:部门号、部门名称、部门负责人、部门电话等;一个员工只
能属于一个部门,一个部门只有一位负责人。
(3)员工信息主要包括:员工号、姓名、出生年月、性别、住址、联系电话、所在部
门号、职务和密码等。根据职务不同,员工可以有不同的权限:职务为“经理”的员工具有
更改(添加、删除和修改)员工表中本部门员工信息的操作权限;职务为“收费”的员工只
具有收费的操作权限。
(4)收费信息包括:房号、业主编号、收费日期、收费类型、数量、收费金额、员工
号等。收费类型包括物业费、卫生费、水费和电费,并按月收取,收费标准如表 2-1 所示。
其中:物业费=房屋面积(平方米)×每平米单价,卫生费=套房数量(套)×每套房单价,
水费=用水数量(吨)×每吨水单价,电费=用电数量(度)×每度电单价。
(5)收费完毕应为业主生成收费单,收费单示例如表 2-2 所示
【说明】
某电视台拟开发一套信息管理系统,以方便对全台的员工、栏目、广告和演播厅等进行
管理。
【需求分析结果】
(1)系统需要维护全台员工的详细信息、栏目信息、广告信息和演播厅信息等。员工
的信息主要包括:工号、姓名、性别、出生日期、电话、住址等。栏目信息主要包括:栏目
名称、播出时间、时长等。广告信息主要包括:广告编号、价格等。演播厅信息包括:房间
号、房间面积等。
(2)电视台根据调度单来协调各档栏目、演播厅和场务。一销售档栏目只会占用一个
演播厅,但会使用多名场务来进行演出协调。演播厅和场务可以被多个栏目循环使用。
(3)电视台根据栏目来插播广告。每档栏目可以插播多条广告,每条广告也可以在多
档栏目插播。
(4)一档栏目可以有多个主持人,但一名主持人只能支持一档栏目。
(5)一名编辑人员可以编辑多条广告,一条广告只能由一名编辑人员编辑。
【说明】
某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管
理系统。
【需求分析结果】
(1)快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和
地址。每个分公司可以有多名员工处理分公司的日常业务,每位员工只能在一个分公司工作。
每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。
(2)员工信息包括员工号、姓名、岗位、薪资、手机号和家庭地址。其中,员工号唯
一标识员工信息的每一个元组。岗位包括经理、调度员、业务员等。业务员根据客户提交的
快件申请单进行快件受理事宜,一个业务员可以受理多个客户的快件申请,一个快件申请只
能由一个业务员受理。调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的
业务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。
(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银
行账号。其中,客户号唯一标识客户信息的每一个元组。当客户要寄快件时,先要提交快件
申请单,申请号由系统自动生成。快件申请信息包括申请号、客户号、发件人、发件人电话、
快件名称、运费、发出地、收件人、收件人电话、收件地址。其中,一个申请号对应唯一的
一个快件申请,一个客户可以提交多个快件申请,但一个快件申请由唯一的一个客户提交。
【说明】
某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、
家电厂商和客户等进行管理。
【需求分析结果】
(1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等。
员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门
经理和客服等。客户信息主要包括:客户 ID、姓名、身份证号、电话、住址、账户余额。家
电信息主要包括:家电条码、家电名称、价格、出厂日期、所属厂商。家电厂商信息包括:
厂商 ID、厂商名称、电话、法人代表信息、厂址。
(2)电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电。每个家电厂
商只能由一名部门经理负责。
(3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购
买。
/*******************************
创建数据库,数据表
*******************************/
/*创建数据库s_c综合题*/
USE MASTER
GO
IF db_id('s_c综合题') IS NOT NULL
DROP DATABASE s_c综合题
GO
CREATE DATABASE s_c综合题
GO
USE s_c综合题
--院系表
create table department(
dno char(6) primary key, --院系编号
dname char(8) not null, --院系名称
dhome varchar(40), --院系地址
dzipcode char(6), --院系邮编
dtel varchar(40) --院系电话
)
GO
--学生表
create table student(
sno char(8) not null primary key, --学号
sname char(8) not null, --学生姓名
sex char(2), --性别
native char(20), --籍贯
birthday datetime, --出生日期
pno char(4), --专业代码
dno char(6), --院系编号
classno char(4), --班级号
entime datetime, --入学时间
home varchar(40), --家庭住址
tel varchar(40) --电话
foreign key(dno) references department(dno)
)
GO
--课程表
create table course(
cno char(10) primary key, --课程号
cname char(20) not null, --课程名
cpno char(10), --先修课程号
experiment tinyint, --实验学时
lecture tinyint, --授课学时
semester tinyint, --开课学期
credit tinyint, --学分
foreign key (cpno) references course(cno)
)
GO
--学生选课成绩表
create table student_course(
sno char(8), --学号
cno char(10), --课程号
score tinyint, --成绩
primary key(sno,cno),
foreign key(sno) references student(sno),
foreign key(cno) references course(cno)
)
GO
--教师表
create table teacher(
tno char(8) primary key, --教师编号
tname char(8) not null, --教师姓名
sex char(2), --性别
birthday datetime, --出生日期
dno char(6), --院系编号
post char(20), --职称
home varchar(40), --家庭住址
zipcode char(6), --邮政编码
tel varchar(40), --电话
email varchar(40), --邮箱
foreign key(dno) references department(dno)
)
GO
--教师上课课表
create table teacher_course(
tcid smallint primary key, --上课编号
tno char(8), --教师编号
classno char(4), --教室编号
cno char(10) not null, --课程号
semester char(6), --学期
schoolyear char(10), --学年
classtime varchar(40), --上课时间
classroom varchar(40), --上课地点
weektime tinyint, --上课周学时数
foreign key(tno) references teacher(tno),
foreign key(cno) references course(cno)
)
GO
INSERT INTO department
VALUES('3','法政学院','河北省石家庄市裕华区南二环东路20号','50024','80788100');
INSERT INTO department
VALUES('2','教育学院','河北省石家庄市裕华区南二环东路20号','50024','80788101');
INSERT INTO department
VALUES('1','软件学院','河北省石家庄市裕华区南二环东路20号','50024','80788102');
INSERT INTO department
VALUES('4','数信学院','河北省石家庄市裕华区南二环东路20号','50024','80788103');
insert into student
values ('20101001','张三','男','河北沧州','2002-03-15',2,1,2,'2022-09-01','河北省沧州市',NULL);
insert into student
values ('20101002','张强','男','河北邢台','2003-05-01',2,1,2,'2022-09-01','河北省邢台市','13145322345');
insert into student
values ('20101003','张小兵','男','山东济南','2003-05-02',1,2,4,'2022-09-01','河北省唐山市','NULL');
insert into student
values ('20101004','李燕','女','山东济南','2003-05-02',NULL,2,1,'2022-09-01','山东省济南市','15194598762');
insert into student
values ('20101005','李晓','女','山东德州','2003-05-02',1,2,4,'2022-09-01','山东省德州市','15394598762');
insert into student
values ('20101006','上官青','女','陕西西安','2005-05-02',3,3,1,'2022-09-01','陕西省西安市','NULL');
insert into student
values ('20101007','李晓芳','女','陕西西安','2005-05-02',3,1,1,'2022-09-01','陕西省西安市','15867598762');
insert into student
values ('20101008','上官文宏','女','北京市','2004-05-02',NULL,3,3,'2022-09-01','北京市','15897598762');
insert into student
values ('20101009','上官文宏','女','河北保定','2004-05-02' ,3,3,1,'2022-09-01','山东省青岛市','15897598762');
insert into student
values ('20101010','张倩','女','河北保定','2004-11-02',1,2,3,'2022-09-01','河北省保定市','13897595671');
insert into student
values ('20101011','刘英伟','男','河北保定','2004-11-02',NULL,3,2,'2022-09-01','河北省保定市','15197595671');
insert into student
values ('20101012','刘伟','男','河北保定','2002-11-02',1,2,2,'2022-09-01','河北省保定市','15397595671');
insert into student
values ('20101013','翟南','男','上海市','2002-11-21',3,4,3,'2022-09-01','上海市','137093837332');
insert into student
values ('20101014','窦士厝','男','云南昆明','2004-10-02',3,4,1,'2022-09-01','云南省昆明市','131311948930');
insert into course
values ('5','c语言程序设计',NULL,18,72,2,3);
insert into course
values ('6','WEB开发',NULL,28,54,1,3);
insert into course
values ('7','计算机导论',NULL,10,32,1,1);
insert into course
values ('3','数据结构','5',30,72,2,4);
insert into course
values ('4','c++程序设计','5',15,72,2,4);
insert into course
values ('1','数据库系统概论','3',20,72,1,3);
insert into course
values ('2','100%掌握财务报表','7',30,54,1,2);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','1',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','2',70);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','3',95);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','4',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','5',88);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','6',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101001','7',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101002','2',65);
INSERT INTO STUDENT_COURSE
VALUES ('20101002','4',89);
INSERT INTO STUDENT_COURSE
VALUES ('20101002','6',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101003','2',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101003','3',89);
INSERT INTO STUDENT_COURSE
VALUES ('20101003','4',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101004','2',65);
INSERT INTO STUDENT_COURSE
VALUES ('20101004','4',87);
INSERT INTO STUDENT_COURSE
VALUES ('20101004','5',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101004','6',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101005','4',92);
INSERT INTO STUDENT_COURSE
VALUES ('20101005','6',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101007','4',90);
INSERT INTO STUDENT_COURSE
VALUES ('20101007','5',88);
INSERT INTO STUDENT_COURSE
VALUES ('20101007','6',NULL);
INSERT INTO STUDENT_COURSE
VALUES ('20101009','2',80);
INSERT INTO STUDENT_COURSE
VALUES ('20101010','3',75);
INSERT INTO STUDENT_COURSE
VALUES ('20101010','5',88);
INSERT INTO STUDENT_COURSE
VALUES ('20101009','7',80);
INSERT INTO STUDENT_COURSE
VALUES ('20101004','7',70);
INSERT INTO STUDENT_COURSE
VALUES ('20101003','7',86);
INSERT INTO TEACHER
VALUES ('836001','董青','男','1985-04-26','1','讲师','河北省石家庄市','50000','13798789765','dong@gmail.com');
INSERT INTO TEACHER
VALUES ('836002','李亮','男','1976-04-27','1','副教授','河北省石秦皇岛市','66000','15198789765','liliang@gmail.com');
INSERT INTO TEACHER
VALUES ('836003','李晓亮','男','1987-04-28','1','讲师','河北省石家庄市','50000','13898789765','lix1@gmail.com');
INSERT INTO TEACHER
VALUES ('836004','项天','男','1978-04-29','2','副教授','河北省石家庄市','50000','13138789765','xy23@gmail.com');
INSERT INTO TEACHER
VALUES ('836005','余孝天','男','1979-04-30','2','教授','北京市','100000','13845649765','yugong@gmail.com');
INSERT INTO TEACHER
VALUES ('836006','鲁婵娟','女','1975-05-01','3','副教授','河北省石家庄市','50000','15145249765','chanjuan@gmail.com');
INSERT INTO TEACHER
VALUES ('836007','李冉冉','女','1986-05-02','3','讲师','河北省唐山市','63000','15145249765','ranran@gmail.com');
INSERT INTO TEACHER
VALUES ('836008','庄文','男','1977-05-03','2','教授','河北省唐山市','63000','13845649765','zw1985@gmail.com');
INSERT INTO TEACHER
VALUES ('836009','李晓璐','女','1988-05-04','3','讲师','河北省石家庄市','50000','15875649765','lxl@sina.com');
INSERT INTO TEACHER
VALUES ('836010','范娜','女','1989-05-05','3','讲师','山东省济南市','250000','13693020392','fn@gmail.com');
INSERT INTO TEACHER
VALUES ('836011','萧不语','男','1984-05-06','2','讲师','新疆自治区乌鲁木齐市','830000','13098333290','xby@163.com');
insert into teacher_course
values(1,'836001','1','1','1','2022','8:00-11:00','公教楼305',3);
insert into teacher_course
values(2,'836001','1','2','1','2022','8:00-11:00','公教楼305',3);
insert into teacher_course
values(3,'836002','2','2','1','2022','8:00-11:00','c301',3);
insert into teacher_course
values(4,'836002','2','3','1','2022','8:00-10:00','c302',2);
insert into teacher_course
values(5,'836003','2','1','1','2022','14:00-17:00','c302',3);
insert into teacher_course
values(6,'836003','1','3','1','2022','8:00-11:00','c302',3);
insert into teacher_course
values(7,'836003','3','4','1','2022','14:00-16:00','c304',3);
insert into teacher_course
values(8,'836004','2','3','3','2022','8:00-10:00','c204',3);
insert into teacher_course
values(9,'836005','2','3','2','2022','14:00-17:00','c204',3);
insert into teacher_course
values(10,'836006','2','3','1','2022','14:00-17:00','c301',3);
insert into teacher_course
values(11,'836007','2','3','2','2022','14:00-17:00','c201',3);
insert into teacher_course
values(12,'836007','3','4','2','2022','14:00-17:00','c204',3);
insert into teacher_course
values(13,'836007','3','5','2','2022','14:00-17:00','c201',3);
insert into teacher_course
values(14,'836006','3','4','8','2022','14:00-17:00','c201',3);
insert into teacher_course
values(15,'836006','3','5','9','2022','14:00-17:00','c201',3);
insert into teacher_course
values(16,'836006','3','6','8','2022','14:00-17:00','c201',3);
insert into teacher_course
values(17,'836005','3','5','7','2022','14:00-17:00','c302',3);
insert into teacher_course
values(18,'836004','3','4','6','2022','14:00-17:00','c201',3);
insert into teacher_course
values(19,'836003','3','5','5','2022','14:00-17:00','c201',3);
insert into teacher_course
values(20,'836003','2','5','4','2022','14:00-17:00','c201',3);
select *from department;
select *from student;
select *from course;
select *from student_course;
select *from teacher;
select *from teacher_course;
/*
一、单表查询练习
1 查询在c201教室上课的教师编号
2 查询软件学院的办公电话
3 查询学生成绩在60-90分的学生的学号和课程号
4 查询在教学楼C座上课的教师的编号
5 查询有先行课的课程编号及课程名
6 查询学号为‘20101001’的学生选修的课程号及成绩,结果按成绩升序排列
7 查询所有课程的基本信息,结果按授课学时降序排列,学时相同按学分升序排列
8 查询选修2号课程学生成绩的最大值和最小值
9 查询各个职称及其教师人数
10 查询选课人数超过5人的课程编号
二、多表查询-简单连接查询练习
11 查询所有学生的基本信息以及所在学院的名称和学院联系电话
12 查询教师李晓亮的上课时间、上课地点和每周学时数
13 查询每门课程号及其被选修的人数
14 查询至多有两名男生的班级号(假设所有班级都有男生)
15 查询选修了数据库系统概论或数据结构的学生的学号和姓名
三、嵌套查询部分练习(可以尝试使用两种方式查询)
16 查询至少有一名教授的学院的信息
17 查询籍贯是河北省的教师所教的课程信息
18 查询班级人数最多的班的学生情况
19 查询张姓学生选修的课程号、课程名
20 查询男学生选修课程的平均分
21 查询哪些学生选修了授课学时为54的课程
22 查询比软件学院学生年龄都小的其他系学生的信息。
23 查询比数信学院学生年龄大的教育学院学生信息。
24 查询班级号为1的班的学生c语言程序设计成绩的平均成绩
25 查询计算机导论平均成绩最高的班级。
26 查询选修人数最多的课程是哪个老师教的,显示教师号,教师姓名
27 查询余孝天老师所教各门课程的平均成绩
28 查询鲁婵娟老师所教课程的学生的成绩
29 查询有多少人选修了《数据结构》课程的先修课。
30 查询未授课教师的姓名和系
31 按职称显示软件学院的教师人数。
32 查询成绩高于《数据结构》平均成绩的学生信息。
33 查询法政学院教师第一学期所带班级
34 查询法政学院的学生各科平均成绩,显示课程名、平均成绩。
35 查询选修了全部课程的学生的信息。
36 查询和张小兵同一个班级的其他学生的信息
37 查询和刘英伟同年出生的学生信息(参考sql日期操作函数)
38 查询选修了3门以上课程学生信息
39 查询至少有2名女生的班级的学生信息
40 查询软件学院年龄小于25岁的老师的信息
41 查询低于该门课程平均分的学生的成绩信息。
四、集合查询
42 年龄小于38岁的女老师和女学生的信息
43 查询不教课的老师信息。
44 查询班级号为3,且性别为女的学生的信息
五、数据库的更新
45 将年龄小于18岁的男同学的年龄都增大1岁
46 将李冉冉老师的联系电话改为83421236。
47 将“数据结构”课程的上课地点改为“D403”。
48 将“100%掌握财务报表”课程成绩在70分以下的加5分。
49 将所有软件学院学生的“c++程序设计”课的成绩加10分。
50 将所有数信学院学生的联系电话删除。
51 删除没有成绩的选课记录。
52 删除学生中姓名有“强”的记录。
53 删除数信学院女同学的记录。
54 删除软件学院所有教师的上课记录。
55 将平均成绩最高的课程学分加1。
56 将实验时数为36的课程的成绩加上10%
57 将所有没有上课的教师记录删除。
六、视图
58 将女教师的基本情况定义为视图。
59 将数信学院班级号为3的学生的学号、姓名、性别和专业号定义为视图。
60 将各个学院的学生人数定义为视图,包括学院编号、人数。
61 将平均成绩大于90分的课程定义为视图,包括课程号、课程名和平均成绩。
62 将各个教师所教课程的选课人数定义为视图,包括教师编号、选课人数。
63 查询人数超过500人的学院名称。
64 查询选修董青老师所教课程的人数。
*/
- /*******************************
- 创建数据库,数据表
- *******************************/
- /*创建数据库s_c综合题*/
- USE MASTER
- GO
- IF db_id('s_c综合题') IS NOT NULL
- DROP DATABASE s_c综合题
- GO
- CREATE DATABASE s_c综合题
- GO
- USE s_c综合题
-
- --院系表
- create table department(
- dno char(6) primary key, --院系编号
- dname char(8) not null, --院系名称
- dhome varchar(40), --院系地址
- dzipcode char(6), --院系邮编
- dtel varchar(40) --院系电话
- )
- GO
- --学生表
- create table student(
- sno char(8) not null primary key, --学号
- sname char(8) not null, --学生姓名
- sex char(2), --性别
- native char(20), --籍贯
- birthday datetime, --出生日期
- pno char(4), --专业代码
- dno char(6), --院系编号
- classno char(4), --班级号
- entime datetime, --入学时间
- home varchar(40), --家庭住址
- tel varchar(40) --电话
- foreign key(dno) references department(dno)
- )
- GO
- --课程表
- create table course(
- cno char(10) primary key, --课程号
- cname char(20) not null, --课程名
- cpno char(10), --先修课程号
- experiment tinyint, --实验学时
- lecture tinyint, --授课学时
- semester tinyint, --开课学期
- credit tinyint, --学分
- foreign key (cpno) references course(cno)
- )
- GO
- --学生选课成绩表
- create table student_course(
- sno char(8), --学号
- cno char(10), --课程号
- score tinyint, --成绩
- primary key(sno,cno),
- foreign key(sno) references student(sno),
- foreign key(cno) references course(cno)
- )
- GO
- --教师表
- create table teacher(
- tno char(8) primary key, --教师编号
- tname char(8) not null, --教师姓名
- sex char(2), --性别
- birthday datetime, --出生日期
- dno char(6), --院系编号
- post char(20), --职称
- home varchar(40), --家庭住址
- zipcode char(6), --邮政编码
- tel varchar(40), --电话
- email varchar(40), --邮箱
- foreign key(dno) references department(dno)
- )
- GO
- --教师上课课表
- create table teacher_course(
- tcid smallint primary key, --上课编号
- tno char(8), --教师编号
- classno char(4), --教室编号
- cno char(10) not null, --课程号
- semester char(6), --学期
- schoolyear char(10), --学年
- classtime varchar(40), --上课时间
- classroom varchar(40), --上课地点
- weektime tinyint, --上课周学时数
- foreign key(tno) references teacher(tno),
- foreign key(cno) references course(cno)
- )
- GO
- INSERT INTO department
- VALUES('3','法政学院','河北省石家庄市裕华区南二环东路20号','50024','80788100');
- INSERT INTO department
- VALUES('2','教育学院','河北省石家庄市裕华区南二环东路20号','50024','80788101');
- INSERT INTO department
- VALUES('1','软件学院','河北省石家庄市裕华区南二环东路20号','50024','80788102');
- INSERT INTO department
- VALUES('4','数信学院','河北省石家庄市裕华区南二环东路20号','50024','80788103');
-
-
- insert into student
- values ('20101001','张三','男','河北沧州','2002-03-15',2,1,2,'2022-09-01','河北省沧州市',NULL);
- insert into student
- values ('20101002','张强','男','河北邢台','2003-05-01',2,1,2,'2022-09-01','河北省邢台市','13145322345');
- insert into student
- values ('20101003','张小兵','男','山东济南','2003-05-02',1,2,4,'2022-09-01','河北省唐山市','NULL');
- insert into student
- values ('20101004','李燕','女','山东济南','2003-05-02',NULL,2,1,'2022-09-01','山东省济南市','15194598762');
- insert into student
- values ('20101005','李晓','女','山东德州','2003-05-02',1,2,4,'2022-09-01','山东省德州市','15394598762');
- insert into student
- values ('20101006','上官青','女','陕西西安','2005-05-02',3,3,1,'2022-09-01','陕西省西安市','NULL');
- insert into student
- values ('20101007','李晓芳','女','陕西西安','2005-05-02',3,1,1,'2022-09-01','陕西省西安市','15867598762');
- insert into student
- values ('20101008','上官文宏','女','北京市','2004-05-02',NULL,3,3,'2022-09-01','北京市','15897598762');
- insert into student
- values ('20101009','上官文宏','女','河北保定','2004-05-02' ,3,3,1,'2022-09-01','山东省青岛市','15897598762');
- insert into student
- values ('20101010','张倩','女','河北保定','2004-11-02',1,2,3,'2022-09-01','河北省保定市','13897595671');
- insert into student
- values ('20101011','刘英伟','男','河北保定','2004-11-02',NULL,3,2,'2022-09-01','河北省保定市','15197595671');
- insert into student
- values ('20101012','刘伟','男','河北保定','2002-11-02',1,2,2,'2022-09-01','河北省保定市','15397595671');
- insert into student
- values ('20101013','翟南','男','上海市','2002-11-21',3,4,3,'2022-09-01','上海市','137093837332');
- insert into student
- values ('20101014','窦士厝','男','云南昆明','2004-10-02',3,4,1,'2022-09-01','云南省昆明市','131311948930');
-
- insert into course
- values ('5','c语言程序设计',NULL,18,72,2,3);
- insert into course
- values ('6','WEB开发',NULL,28,54,1,3);
- insert into course
- values ('7','计算机导论',NULL,10,32,1,1);
- insert into course
- values ('3','数据结构','5',30,72,2,4);
- insert into course
- values ('4','c++程序设计','5',15,72,2,4);
- insert into course
- values ('1','数据库系统概论','3',20,72,1,3);
- insert into course
- values ('2','100%掌握财务报表','7',30,54,1,2);
-
-
-
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','1',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','2',70);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','3',95);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','4',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','5',88);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','6',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101001','7',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101002','2',65);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101002','4',89);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101002','6',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101003','2',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101003','3',89);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101003','4',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101004','2',65);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101004','4',87);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101004','5',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101004','6',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101005','4',92);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101005','6',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101007','4',90);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101007','5',88);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101007','6',NULL);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101009','2',80);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101010','3',75);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101010','5',88);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101009','7',80);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101004','7',70);
- INSERT INTO STUDENT_COURSE
- VALUES ('20101003','7',86);
-
- INSERT INTO TEACHER
- VALUES ('836001','董青','男','1985-04-26','1','讲师','河北省石家庄市','50000','13798789765','dong@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836002','李亮','男','1976-04-27','1','副教授','河北省石秦皇岛市','66000','15198789765','liliang@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836003','李晓亮','男','1987-04-28','1','讲师','河北省石家庄市','50000','13898789765','lix1@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836004','项天','男','1978-04-29','2','副教授','河北省石家庄市','50000','13138789765','xy23@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836005','余孝天','男','1979-04-30','2','教授','北京市','100000','13845649765','yugong@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836006','鲁婵娟','女','1975-05-01','3','副教授','河北省石家庄市','50000','15145249765','chanjuan@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836007','李冉冉','女','1986-05-02','3','讲师','河北省唐山市','63000','15145249765','ranran@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836008','庄文','男','1977-05-03','2','教授','河北省唐山市','63000','13845649765','zw1985@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836009','李晓璐','女','1988-05-04','3','讲师','河北省石家庄市','50000','15875649765','lxl@sina.com');
- INSERT INTO TEACHER
- VALUES ('836010','范娜','女','1989-05-05','3','讲师','山东省济南市','250000','13693020392','fn@gmail.com');
- INSERT INTO TEACHER
- VALUES ('836011','萧不语','男','1984-05-06','2','讲师','新疆自治区乌鲁木齐市','830000','13098333290','xby@163.com');
-
-
- insert into teacher_course
- values(1,'836001','1','1','1','2022','8:00-11:00','公教楼305',3);
- insert into teacher_course
- values(2,'836001','1','2','1','2022','8:00-11:00','公教楼305',3);
- insert into teacher_course
- values(3,'836002','2','2','1','2022','8:00-11:00','c301',3);
- insert into teacher_course
- values(4,'836002','2','3','1','2022','8:00-10:00','c302',2);
- insert into teacher_course
- values(5,'836003','2','1','1','2022','14:00-17:00','c302',3);
- insert into teacher_course
- values(6,'836003','1','3','1','2022','8:00-11:00','c302',3);
- insert into teacher_course
- values(7,'836003','3','4','1','2022','14:00-16:00','c304',3);
- insert into teacher_course
- values(8,'836004','2','3','3','2022','8:00-10:00','c204',3);
- insert into teacher_course
- values(9,'836005','2','3','2','2022','14:00-17:00','c204',3);
- insert into teacher_course
- values(10,'836006','2','3','1','2022','14:00-17:00','c301',3);
- insert into teacher_course
- values(11,'836007','2','3','2','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(12,'836007','3','4','2','2022','14:00-17:00','c204',3);
- insert into teacher_course
- values(13,'836007','3','5','2','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(14,'836006','3','4','8','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(15,'836006','3','5','9','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(16,'836006','3','6','8','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(17,'836005','3','5','7','2022','14:00-17:00','c302',3);
- insert into teacher_course
- values(18,'836004','3','4','6','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(19,'836003','3','5','5','2022','14:00-17:00','c201',3);
- insert into teacher_course
- values(20,'836003','2','5','4','2022','14:00-17:00','c201',3);
-
-
- select *from department;
- select *from student;
- select *from course;
- select *from student_course;
- select *from teacher;
- select *from teacher_course;
- /*
- 一、单表查询练习
- 1 查询在c201教室上课的教师编号
-
- 2 查询软件学院的办公电话
-
- 3 查询学生成绩在60-90分的学生的学号和课程号
-
- 4 查询在教学楼C座上课的教师的编号
-
- 5 查询有先行课的课程编号及课程名
-
- 6 查询学号为‘20101001’的学生选修的课程号及成绩,结果按成绩升序排列
-
- 7 查询所有课程的基本信息,结果按授课学时降序排列,学时相同按学分升序排列
-
- 8 查询选修2号课程学生成绩的最大值和最小值
-
- 9 查询各个职称及其教师人数
-
- 10 查询选课人数超过5人的课程编号
-
-
- 二、多表查询-简单连接查询练习
-
- 11 查询所有学生的基本信息以及所在学院的名称和学院联系电话
-
- 12 查询教师李晓亮的上课时间、上课地点和每周学时数
-
- 13 查询每门课程号及其被选修的人数
-
- 14 查询至多有两名男生的班级号(假设所有班级都有男生)
-
- 15 查询选修了数据库系统概论或数据结构的学生的学号和姓名
-
-
- 三、嵌套查询部分练习(可以尝试使用两种方式查询)
-
-
- 16 查询至少有一名教授的学院的信息
-
- 17 查询籍贯是河北省的教师所教的课程信息
-
- 18 查询班级人数最多的班的学生情况
-
- 19 查询张姓学生选修的课程号、课程名
-
- 20 查询男学生选修课程的平均分
-
- 21 查询哪些学生选修了授课学时为54的课程
-
- 22 查询比软件学院学生年龄都小的其他系学生的信息。
-
- 23 查询比数信学院学生年龄大的教育学院学生信息。
-
- 24 查询班级号为1的班的学生c语言程序设计成绩的平均成绩
-
- 25 查询计算机导论平均成绩最高的班级。
-
- 26 查询选修人数最多的课程是哪个老师教的,显示教师号,教师姓名
-
- 27 查询余孝天老师所教各门课程的平均成绩
-
- 28 查询鲁婵娟老师所教课程的学生的成绩
-
- 29 查询有多少人选修了《数据结构》课程的先修课。
-
- 30 查询未授课教师的姓名和系
-
- 31 按职称显示软件学院的教师人数。
-
- 32 查询成绩高于《数据结构》平均成绩的学生信息。
-
- 33 查询法政学院教师第一学期所带班级
-
- 34 查询法政学院的学生各科平均成绩,显示课程名、平均成绩。
-
- 35 查询选修了全部课程的学生的信息。
-
- 36 查询和张小兵同一个班级的其他学生的信息
-
- 37 查询和刘英伟同年出生的学生信息(参考sql日期操作函数)
-
- 38 查询选修了3门以上课程学生信息
-
- 39 查询至少有2名女生的班级的学生信息
-
- 40 查询软件学院年龄小于25岁的老师的信息
-
- 41 查询低于该门课程平均分的学生的成绩信息。
-
-
-
-
- 四、集合查询
-
- 42 年龄小于38岁的女老师和女学生的信息
-
- 43 查询不教课的老师信息。
-
- 44 查询班级号为3,且性别为女的学生的信息
-
-
-
-
- 五、数据库的更新
-
- 45 将年龄小于18岁的男同学的年龄都增大1岁
-
- 46 将李冉冉老师的联系电话改为83421236。
-
- 47 将“数据结构”课程的上课地点改为“D403”。
-
- 48 将“100%掌握财务报表”课程成绩在70分以下的加5分。
-
- 49 将所有软件学院学生的“c++程序设计”课的成绩加10分。
-
- 50 将所有数信学院学生的联系电话删除。
-
- 51 删除没有成绩的选课记录。
-
- 52 删除学生中姓名有“强”的记录。
-
- 53 删除数信学院女同学的记录。
-
- 54 删除软件学院所有教师的上课记录。
-
- 55 将平均成绩最高的课程学分加1。
-
- 56 将实验时数为36的课程的成绩加上10%
-
- 57 将所有没有上课的教师记录删除。
-
-
- 六、视图
-
- 58 将女教师的基本情况定义为视图。
-
- 59 将数信学院班级号为3的学生的学号、姓名、性别和专业号定义为视图。
-
- 60 将各个学院的学生人数定义为视图,包括学院编号、人数。
-
- 61 将平均成绩大于90分的课程定义为视图,包括课程号、课程名和平均成绩。
-
- 62 将各个教师所教课程的选课人数定义为视图,包括教师编号、选课人数。
-
- 63 查询人数超过500人的学院名称。
-
- 64 查询选修董青老师所教课程的人数。
- */
其它省略XXXX
1和2部分通过选定题目的需求分析描述,提取该系统具有哪些功能,对每部分系统功能进行描述,不同种类用户需要完成什么处理功能,需要从数据库中获得哪些数据。结合绘制系统功能结构图与数据流图或流程图进行标识。
1-针对数据库系统原理课程设计题目中提出的五个题目,任选其一。结合模版报告写出,不需要程序,只需要报告即可。
2-数据库选择使用SQL Server 2012,撰写报告时需要提供流程图、E-R图等模板中需要的元素。
3-SQLServer第三章练习题则是根据数据完成对应的习题即可,会提供SQL Server下的数据库语句与截图。
欢迎大家点赞、收藏、关注、评论、批评啦 、查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。