60

  1 --1
  2 SELECT STUNO,STUNAME
  3 FROM Student
  4 WHERE STUNO='00000001'
  5 --2
  6 SELECT *
  7 FROM Course
  8 --3
  9 SELECT KIND
 10 FROM Course
 11 --4
 12 SELECT DISTINCT KIND
 13 FROM Course
 14 --5
 15 SELECT TOP 6 * FROM Student
 16 --6
 17 SELECT Course.CouNo,Course.CouName,Course.Teacher,Course.SchoolTime,Course.LimitNum,Course.WillNum
 18 FROM Course
 19 --7
 20 SELECT Course.CouName AS '课程名称','课程编号为:',Course.CouNo AS '课程编号'
 21 FROM Course
 22 --8
 23 SELECT *
 24 FROM Course
 25 WHERE Course.Kind='信息技术' AND Course.Credit='2'
 26 --9
 27 SELECT Course.CouName,Course.WillNum/Course.LimitNum
 28 FROM Course
 29 --10
 30 SELECT MIN(Course.WillNum),MAX(Course.WillNum),AVG(Course.WillNum)
 31 FROM Course
 32 --11
 33 SELECT * ,Course.WillNum/Course.LimitNum
 34 FROM Course
 35 ORDER BY Course.WillNum
 36 --12
 37 SELECT Course.Teacher,Course.CouNo,Course.CouName
 38 FROM Course
 39 ORDER BY Course.Teacher DESC,Course.CouNo ASC
 40 --13
 41 SELECT *
 42 FROM Course
 43 WHERE Course.CouNo='004' OR Course.CouNo='007' OR Course.CouNo='013'
 44 --14
 45 SELECT *
 46 FROM Course
 47 WHERE Course.CouNo NOT IN(
 48     '004','007','013'
 49     )
 50 --15
 51 SELECT *
 52 FROM Course
 53 WHERE Course.CouName LIKE 'D%'
 54 --16
 55 SELECT *
 56 FROM Course
 57 WHERE Course.CouName LIKE '%制作'
 58 --17
 59 SELECT *
 60 FROM Student
 61 WHERE Student.StuName LIKE '_宝%' 
 62 --18
 63 SELECT *
 64 FROM Course
 65 WHERE Course.Teacher=NULL
 66 --19
 67 SELECT *
 68 FROM Student
 69 WHERE Student.StuName NOT LIKE '刘%'
 70 --20
 71 SELECT *
 72 FROM Course
 73 WHERE Course.WillNum < '15'
 74 --21
 75 SELECT *
 76 FROM Course
 77 WHERE Course.WillNum > '15' AND Course.WillNum < '25'
 78 --22
 79 SELECT *
 80 FROM Course
 81 WHERE Course.WillNum >= '15' AND Course.WillNum <= '25'
 82 ORDER BY Course.WillNum DESC
 83 --23
 84 SELECT *
 85 FROM Course
 86 WHERE Course.WillNum > 25 OR Course.WillNum < 15
 87 ORDER BY Course.WillNum DESC
 88 --24
 89 CREATE INDEX SEARCH
 90 ON Student (StuName)
 91 --25
 92 SELECT Course.Kind,SUM(Course.WillNum)
 93 FROM Course
 94 GROUP BY Course.Kind
 95 --26
 96 SELECT AVG(Course.WillNum)
 97 FROM Course
 98 WHERE Course.Kind='信息技术'
 99 --27(1)
100 SELECT *
101 FROM Course
102 WHERE Course.Kind='信息技术'
103 COMPUTE AVG(COURSE.WILLNUM)
104 --27(2)
105 SELECT * 
106 FROM Course
107 ORDER BY Course.Kind
108 COMPUTE AVG(COURSE.WILLNUM) BY COURSE.KIND
109 --28
110 SELECT *
111 FROM Course 
112 WHERE WillNum >(
113     SELECT AVG(WillNum)
114     FROM Course 
115     )
116 --29
117 SELECT Class.ClassName
118 FROM Class
119 UNION
120 SELECT Department.DepartName
121 FROM Department
122 ORDER BY Class.ClassName DESC
123 --30
124 SELECT Class.ClassNo,Class.ClassName,Department.DepartNo,Department.DepartName
125 FROM Class,Department
126 WHERE Class.DepartNo=Department.DepartNo
127 --31
128 SELECT Student.*,Class.ClassName
129 FROM Student,Class
130 WHERE STUDENT.ClassNo=Class.ClassNo
131 --32
132 SELECT Student.StuName,Course.CouName,StuCou.CouNo
133 FROM Student,Course,StuCou
134 WHERE Student.StuNo=StuCou.StuNo AND Course.CouNo=StuCou.CouNo
135 ORDER BY Course.CouName,StuCou.CouNo
136 --33
137 SELECT Student.StuName,Course.CouName,Course.Teacher
138 FROM Student,Course,StuCou
139 WHERE StuCou.CouNo=Course.CouNo AND Student.StuNo =Student.StuNo AND Course.CouNo IN(
140     SELECT Course.CouNo
141     FROM Course,Department
142     WHERE Course.DepartNo=Department.DepartNo AND Department.DepartName='计算机应用工程系'
143     )
144 --34
145 SELECT Class.ClassName,Course.CouName,Course.Kind,Course.Credit,Course.Teacher,Course.SchoolTime,Course.WillNum
146 FROM Class,Course
147 WHERE Course.DepartNo<>Class.DepartNo
148 --35
149 SELECT DISTINCT C1.CouNo , C1.CouName , C1.Kind ,C1.DepartNo
150 FROM Course C1,Course C2
151 WHERE C1.Kind=C2.Kind AND C1.DepartNo<>C2.DepartNo 
152 ORDER BY C1.CouNo
153 --36
154 SELECT StuCou.StuNo,Course.CouNo,Course.CouName
155 FROM Course LEFT JOIN StuCou
156 ON StuCou.CouNo=Course.CouNo
157 --37
158 SELECT StuCou.StuNo,Course.CouNo,Course.CouName
159 FROM Course RIGHT JOIN StuCou 
160 ON StuCou.CouNo=Course.CouNo
161 --38
162 SELECT StuCou.StuNo,Course.CouNo,Course.CouName
163 FROM StuCou,Course
164 WHERE StuCou.CouNo=Course.CouNo
165 --39
166 SELECT Student.StuName,Course.CouName,StuCou.CouNo
167 FROM Student,Course,StuCou
168 WHERE Student.StuNo=StuCou.StuNo AND Course.CouNo=StuCou.CouNo
169 ORDER BY StuCou.CouNo,Student.StuName
170 --40
171 CREATE INDEX SCH
172 ON Course (CouName)
173 --41
174 --DROP INDEX StuCou.PK_StuCou
175 CREATE UNIQUE CLUSTERED
176 INDEX IX_StuNoCouNo
177 ON StuCou(StuNo,CouNo)
178 --42
179 DROP INDEX StuCou.IX_StuNoCouNo
180 --43
181 --ALTER INDEX SCno RENAME TO SCSno
182 --44
183 CREATE DATABASE EXERCISE
184 CREATE TABLE S(
185     SNO CHAR (10)PRIMARY KEY,
186     SNAME CHAR(20),
187     STATUS CHAR(10),
188     CITY CHAR(20)
189 );
190 INSERT INTO S VALUES('S1','精益','20','天津');
191 INSERT INTO S VALUES('S2','盛锡','10','北京');
192 INSERT INTO S VALUES('S3','东方红','30','北京');
193 INSERT INTO S VALUES('S4','丰泰盛','20','天津');
194 INSERT INTO S VALUES('S5','为民','20','上海');
195 SELECT * FROM S;
196 
197 CREATE TABLE P(
198     PNO CHAR (10)PRIMARY KEY,
199     PNAME CHAR(20),
200     COLOR CHAR(10),
201     WEIGHT CHAR(10)
202 );
203 INSERT INTO P VALUES('P1','螺母','','12');
204 INSERT INTO P VALUES('P2','螺栓','绿','17');
205 INSERT INTO P VALUES('P3','螺丝刀','','14');
206 INSERT INTO P VALUES('P4','螺丝刀','','14');
207 INSERT INTO P VALUES('P5','凸轮','','40');
208 INSERT INTO P VALUES('P6','齿轮 ','','30');
209 SELECT * FROM P;
210 
211 CREATE TABLE J(
212     JNO CHAR (10)PRIMARY KEY,
213     JNAME CHAR(20),
214     CITY CHAR(20),
215 );
216 INSERT INTO J VALUES('J1','三建','北京');
217 INSERT INTO J VALUES('J2','一汽','长春');
218 INSERT INTO J VALUES('J3','弹簧厂','天津');
219 INSERT INTO J VALUES('J4','造船厂','天津');
220 INSERT INTO J VALUES('J5','机车厂','唐山');
221 INSERT INTO J VALUES('J6','无线电厂','常州');
222 INSERT INTO J VALUES('J7','半导体厂','南京');
223 SELECT * FROM J;
224 
225 CREATE TABLE SPJ(
226     SNO CHAR (10),
227     PNO CHAR (10),
228     JNO CHAR (10),
229     QTY CHAR (10)
230 );
231 INSERT INTO SPJ VALUES('S1','P1','J1','200');
232 INSERT INTO SPJ VALUES('S1','P1','J3','100');
233 INSERT INTO SPJ VALUES('S1','P1','J4','700');
234 INSERT INTO SPJ VALUES('S1','P2','J2','100');
235 INSERT INTO SPJ VALUES('S2','P3','J1','400');
236 INSERT INTO SPJ VALUES('S2','P3','J2','200');
237 INSERT INTO SPJ VALUES('S2','P3','J4','500');
238 INSERT INTO SPJ VALUES('S2','P3','J5','400');
239 INSERT INTO SPJ VALUES('S2','P5','J1','400');
240 INSERT INTO SPJ VALUES('S2','P5','J2','100');
241 INSERT INTO SPJ VALUES('S3','P1','J1','200');
242 INSERT INTO SPJ VALUES('S3','P3','J1','200');
243 INSERT INTO SPJ VALUES('S4','P5','J1','100');
244 INSERT INTO SPJ VALUES('S4','P6','J3','300');
245 INSERT INTO SPJ VALUES('S4','P6','J4','200');
246 INSERT INTO SPJ VALUES('S5','P2','J4','100');
247 INSERT INTO SPJ VALUES('S5','P3','J1','200');
248 INSERT INTO SPJ VALUES('S5','P6','J2','200');
249 INSERT INTO SPJ VALUES('S5','P6','J4','500');
250 SELECT * FROM SPJ;
251 
252 SELECT DISTINCT SNO
253 FROM SPJ
254 WHERE JNO='J1'
255 
256 SELECT DISTINCT SNO
257 FROM SPJ
258 WHERE JNO='J1' AND PNO='P1'
259 
260 SELECT DISTINCT SNO
261 FROM SPJ,P
262 WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR=''
263 
264 SELECT SPJ.JNO
265 FROM SPJ
266 WHERE SPJ.JNO NOT IN(
267     SELECT DISTINCT SPJ.JNO 
268     FROM SPJ,P,J
269     WHERE CITY='天津' AND COLOR=''
270     );
271 SELECT SUM(SPJ.QTY),AVG(SPJ.QTY)
272 FROM SPJ
273 GROUP BY SPJ.SNO
274 --
275 SELECT JNO,SUM(QTY)
276 FROM SPJ
277 GROUP BY JNO
278 HAVING SUM(QTY) > 500
279 --45
280 SELECT DISTINCT SNAME,CITY
281 FROM S
282 
283 SELECT PNAME,COLOR,WEIGHT
284 FROM P
285 
286 SELECT DISTINCT JNO
287 FROM SPJ
288 WHERE SNO='S1'
289 
290 SELECT PNAME,QTY
291 FROM SPJ,P
292 WHERE JNO='J2' AND SPJ.PNO=P.PNO
293 
294 SELECT DISTINCT P.PNO
295 FROM S,SPJ,P
296 WHERE CITY='上海' AND S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO
297 
298 SELECT DISTINCT JNAME
299 FROM S,SPJ,J
300 WHERE S.CITY='上海' AND S.SNO=SPJ.SNO AND SPJ.JNO=J.JNO
301 
302 SELECT DISTINCT JNO
303 FROM SPJ
304 WHERE SNO NOT IN(
305     SELECT SNO
306     FROM S
307     WHERE CITY='天津'
308     );
309     
310 UPDATE P
311 SET COLOR=''
312 WHERE COLOR=''
313 SELECT * FROM P;
314 
315 update SPJ
316 SET SNO='S3'
317 WHERE SNO='S5' AND JNO='J4' AND PNO='P6'
318 SELECT * FROM SPJ;
319 
320 DELETE
321 FROM S
322 WHERE SNO='S2'
323 SELECT * FROM S
324 
325 DELETE
326 FROM SPJ
327 WHERE SNO='S2'
328 SELECT * FROM SPJ
329 
330 INSERT INTO SPJ VALUES('S2','J6','P4','200');
331 SELECT * FROM SPJ
332 --46
333 GO
334 CREATE VIEW NIHAO
335 AS
336 SELECT SNO,PNO,QTY
337 FROM SPJ
338 GO
339 --47
340 CREATE TRIGGER T_sc1
341 ON stucou
342 FOR INSERT
343 AS 
344 PRINT('记录已添加!')
345 INSERT INTO STUCOU VALUES('00000007','001',3,'报名','NULL')
346 --48
347 go
348 CREATE TRIGGER T_stu
349 on course
350 for delete
351 as
352 select * from deleted
353 GO
354 DELETE
355 FROM Course
356 WHERE Teacher='李力'
357 --49
358 go
359 create trigger T_course
360 on course
361 for update
362 as
363 if update(Kind)
364 print('课程类别已修改')
365 GO
366 UPDATE Course
367 SET Kind='修改'
368 WHERE Kind='人文'
369 --50
370 GO 
371 CREATE TRIGGER T_stcour 
372 ON StuCou 
373 FOR INSERT, UPDATE, DELETE  
374 AS 
375 UPDATE Course SET WillNum=WillNum+1 WHERE CouNo=(SELECT CouNo FROM INSERTED) 
376 UPDATE Course SET WillNum=WillNum-1 WHERE CouNo=(SELECT CouNo FROM DELETED)
377 GO
378 SELECT * FROM Course WHERE CouNo='005' 
379 INSERT INTO StuCou VALUES('00000007','001',4,'报名','NULL')
380 INSERT INTO StuCou VALUES('00134144','015',2,'报名',Null)
381 select *
382 from StuCou
383 where StuNo='00000007' 
384 --where StuNo='01000037' and CouNo='014' and WillOrder=3
385 go
386 DELETE
387 FROM StuCou
388 WHERE StuNo='00000001' AND WillOrder=5
389 --51
390 --------------
391 --------------
392 --------------
393 --------------
394 --------------
395 --------------
396 --------------
397 --------------
398 --------------
399 --------------
400 --------------
401 --------------
402 --------------
403 --------------
404 --------------
405 --------------
406 --52
407 GO
408 CREATE TRIGGER T_sc2
409 ON stucou
410 FOR INSERT
411 AS
412 PRINT('记录添加二次触发')
413 INSERT INTO STUCOU VALUES('000000005','005',5,'报名','NULL')
414 INSERT INTO STUCOU VALUES('000000009','003',4,'报名',Null)
415 --53
416 --CREATE DATABASE SON
417 --CREATE DATABASE FATHER
418 --CREATE TABLE FATHER.dbo.Class(
419 --    CHAR CNO(2)
420 --)
421 --insert into SON.dbo.Class select * from FATHER.dbo.Class
422 --54
423 GO
424 CREATE VIEW V_elec
425 AS 
426 SELECT DepartName
427 from Department
428 --55
429 --56
430 GO
431 GRANT SELECT 
432 ON V_elec
433 TO user1
434 GO
435 CREATE ROLE USER2
436 REVOKE SELECT ON V_elec FROM user1

数据库实验练习题

 

1. Student表中查询学号为“000000001”同学的学号和姓名。

2. 从课程表中查询所有的课程信息。

3. 从课程表中查询课程类别的信息。

4. 从课程表中查询课程类别,要求消除值相同的那些行。

5. 从学生表中查询所有的信息,要求只显示查询结果的前6行数据。

6. 查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数。

7. 查询课程表的信息,要求给出查询结果为:

课程名称                               课程编号

SQL Server实用技术    课程编号为:          001

……

 

8. 在课程表中查询课程类别为“信息技术”而且学分为2的课程信息。

9. 查询课程表的课程、报告人数与限选人数之比。

10. 查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。

11. 查询课程信息、报名人数与限选人数之比。要求查询结果按照报名人数升序排序

12. 查询课程表的教师名、课程编号、课程名,要求查询结果首先按照教师名降序排序,教师名相同时,则按照课程编号升序排序。

13. 查询课程编号为004”、“007”、“013”的课程信息。

14. 查询课程表号不为004”、“007”、“013”的课程信息和课程名称。

15. 查询课程名以字母D开始的课程信息。

16. 查询课程名以“制作”两字结尾的课程信息。

17. 查询姓名第二字为“宝”的学生信息。

18. 查询不姓“刘”的学生信息。

19. 查询课程表中教师姓名未定的课程信息。

20. 查询报告人数少于15人的课程信息。

21. 查询报名人数少于25并且多于15人的课程信息。

22. 查询报名人数小于等于25并且大于等于15人的课程信息,要求查询结果按照报名人数降序排序。

23. 查询报名人数多于25或者少于15人的课程信息。要求查询结果按照报名人数降序排序。

24. 用户需按照学生姓名查询信息,希望提高查询速度,请建立查询。

25. 按课程类别分组统计各类课程的报名人数。

26. 查询“信息技术”类课程的平均报名人数。

27. 请在Sql server 系统中查询 compute compute by的用法并完成以下查询:

(1) 查询课程表中“信息技术”类课程信息,并计算平均报名人数。

(2) 按类别显示课程信息,并计算各类课程的平均人数。

28. 查询报名人数大于平均人数的课程信息

29. 从班级表中查询班级名,从系部表中查询系部名,合并后显示结果。并按降序显示。

30. 查询班级信息,要求显示班级编号,班级名称,班级所在的系部编号和系部名称。

31. 查询学生的信息显示信息包括学生基本信息和班级名称。

32. 查询学生选课信息,要求显示姓名,课程名称,志愿号并按姓名和志愿号排序。

33. 查询学生报名“计算机应用工程系”开设的选修课程情况,显示信息包括学生姓名,课程名称和授课老师。

34. 查询每个班级可以选修的、不是自己所在系部开设的选课的信息,显示信息包括班级、课程名、课程类别、学分、老师、上课时间和报名人数。

35. 查询课程类别相同但开课系部不同的课程信息,要求显示课程号、课程名称、课程类别他系部编号,并按照课程编号升序排序查询结果。

36. 查询所有学生报名选课课程的详细情况,要求包括已报名选修课程的学生,也包括未报名选修课程的学生情况,显示内容为学号、课程编号和课程名称。

37. 使用右连接查询学生已报名和未报名的课程信息(课程编号、课程名称、学号)

38. 使用全连接查询学生报名信息(课程编号、课程名称、学号)

39. 查询学生选课信息,要求显示姓名、课程名称、志愿号,并按志愿号和姓名显示。

40. 在表Course中的课程名称列上建立唯一索引

41. StuCou表上创建名为IX_StuNoCouNo的聚集、唯一的复合索引,该索引基于StuNo列和CouNo列创建

42. 删除StuCou表中的IX_StuNoCouNo索引,练习删除student中的主键索引,然后再回复主键。

43. 请学习使用显示索引信息

sp_helpindex table_name

重命名索引

 sp_rename table_name.old_index_name, new_index_name

44. 如果你的数据库中已建立了P70页第6的表P,表J,表S和表SPJ,可省略第一小题。

(1) 用命令创建表P,表J,表S和表SPJ, 并用primary key 定义主键,用foreign key reference 定义表SPJ的外键。

(2) insert命令向各表添加数据,注意数据添加的顺序。表SPJ应最后添加。

(3) 查询每个供应商供应零件的总量和平均量。

(4) 查询项目零件供应总量大于500的项目号,零件供应总量。

(5) 请完成本题1-5的查询。

45. 请完成P130页第5题的查询。

46. 请完成P130页第9题的视图的建立。

47. 创建一个触发器T_sc1,要求每当在stucou表中插入数据时,向客户端显示一条记录已添加!的消息。

48. 创建一个触发器T_stu,要求每当用户删除student表的记录时,自动显示被删除记录的内容

49. 利用IF UPDATE建立一个触发器T_course,在course表上修改课程类别时,显示信息课程类别已修改

50. 创建触发器T_stcour,实现当插入、更新和删除stucou表的选课数据行时,能同时更新Course表中相应的选课人数WillNum.

51. 若批量插入、更新和删除stucou表的选课数据行时,修改上题的触发器

52. 创建一个触发器T_sc2,要求每当在stucou表中插入数据时,向客户端显示一条记录添加二次触发的消息。(知识点:多个触发器)

53. 创建一个数据库stuxk,XK数据库中的表导入其中。

54. 为某个系创建一个视图V_elec.

55. 为数据库stuxk创建三个用户user1user2user3

56. 将视图V_elec的查询权限给用户user2user3.

57. 现有几个EXECL表,如下:

 

供应商:  

供应商代码

姓名

所在城市

联系电话

S1

北京供应商

北京

0108888888

S2

天津供应商

天津

0228888888

S3

重庆供应商

重庆

0238888888

S4

上海供应商1

上海

0218888888

S5

广州供应商

广州

0208888888

S6

上海供应商2

上海

0216666666

工程:

工程代码

工程名

负责人

预算

J1

工程1

丁一

200000

J2

工程2

赵二

60000

J3

工程3

张三

70000

J4

工程4

李四

80000

J5

工程5

王五

150000

零件:

零件代码

零件名

规格

产地

颜色

P1

螺丝

济南

红色

P2

主板

集成

深圳

绿色

P3

显卡

独立

香港

蓝色

P4

声卡

集成

天津

红色

P5

网卡

100M

上海

黑色

P6

鼠标

无线

上海

黑色

供应零件:

供应商代码

工程代码

零件代码

数量

S1

J2

P4

50

S1

J3

P5

100

S2

J2

P6

500

S4

J1

P3

150

S4

J5

P1

200

S5

J4

P6

100

S6

J4

P2

90

将这几个表导入到SQL SERVER数据库中。

58. 请下载PowerDesign软件,创建57题的概念模型图(CDM图)

59. 58题的概念模型图转换为物理模型图

60. 59题物理模型图导出SQL SERVERMYSQL 或其他的数据库语句创建代码。

数据库实验练习题

 

1. Student表中查询学号为“000000001”同学的学号和姓名。

2. 从课程表中查询所有的课程信息。

3. 从课程表中查询课程类别的信息。

4. 从课程表中查询课程类别,要求消除值相同的那些行。

5. 从学生表中查询所有的信息,要求只显示查询结果的前6行数据。

6. 查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数。

7. 查询课程表的信息,要求给出查询结果为:

课程名称                               课程编号

SQL Server实用技术    课程编号为:          001

……

 

8. 在课程表中查询课程类别为“信息技术”而且学分为2的课程信息。

9. 查询课程表的课程、报告人数与限选人数之比。

10. 查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。

11. 查询课程信息、报名人数与限选人数之比。要求查询结果按照报名人数升序排序

12. 查询课程表的教师名、课程编号、课程名,要求查询结果首先按照教师名降序排序,教师名相同时,则按照课程编号升序排序。

13. 查询课程编号为004”、“007”、“013”的课程信息。

14. 查询课程表号不为004”、“007”、“013”的课程信息和课程名称。

15. 查询课程名以字母D开始的课程信息。

16. 查询课程名以“制作”两字结尾的课程信息。

17. 查询姓名第二字为“宝”的学生信息。

18. 查询不姓“刘”的学生信息。

19. 查询课程表中教师姓名未定的课程信息。

20. 查询报告人数少于15人的课程信息。

21. 查询报名人数少于25并且多于15人的课程信息。

22. 查询报名人数小于等于25并且大于等于15人的课程信息,要求查询结果按照报名人数降序排序。

23. 查询报名人数多于25或者少于15人的课程信息。要求查询结果按照报名人数降序排序。

24. 用户需按照学生姓名查询信息,希望提高查询速度,请建立查询。

25. 按课程类别分组统计各类课程的报名人数。

26. 查询“信息技术”类课程的平均报名人数。

27. 请在Sql server 系统中查询 compute compute by的用法并完成以下查询:

(1) 查询课程表中“信息技术”类课程信息,并计算平均报名人数。

(2) 按类别显示课程信息,并计算各类课程的平均人数。

28. 查询报名人数大于平均人数的课程信息

29. 从班级表中查询班级名,从系部表中查询系部名,合并后显示结果。并按降序显示。

30. 查询班级信息,要求显示班级编号,班级名称,班级所在的系部编号和系部名称。

31. 查询学生的信息显示信息包括学生基本信息和班级名称。

32. 查询学生选课信息,要求显示姓名,课程名称,志愿号并按姓名和志愿号排序。

33. 查询学生报名“计算机应用工程系”开设的选修课程情况,显示信息包括学生姓名,课程名称和授课老师。

34. 查询每个班级可以选修的、不是自己所在系部开设的选课的信息,显示信息包括班级、课程名、课程类别、学分、老师、上课时间和报名人数。

35. 查询课程类别相同但开课系部不同的课程信息,要求显示课程号、课程名称、课程类别他系部编号,并按照课程编号升序排序查询结果。

36. 查询所有学生报名选课课程的详细情况,要求包括已报名选修课程的学生,也包括未报名选修课程的学生情况,显示内容为学号、课程编号和课程名称。

37. 使用右连接查询学生已报名和未报名的课程信息(课程编号、课程名称、学号)

38. 使用全连接查询学生报名信息(课程编号、课程名称、学号)

39. 查询学生选课信息,要求显示姓名、课程名称、志愿号,并按志愿号和姓名显示。

40. 在表Course中的课程名称列上建立唯一索引

41. StuCou表上创建名为IX_StuNoCouNo的聚集、唯一的复合索引,该索引基于StuNo列和CouNo列创建

42. 删除StuCou表中的IX_StuNoCouNo索引,练习删除student中的主键索引,然后再回复主键。

43. 请学习使用显示索引信息

sp_helpindex table_name

重命名索引

 sp_rename table_name.old_index_name, new_index_name

44. 如果你的数据库中已建立了P70页第6的表P,表J,表S和表SPJ,可省略第一小题。

(1) 用命令创建表P,表J,表S和表SPJ, 并用primary key 定义主键,用foreign key reference 定义表SPJ的外键。

(2) insert命令向各表添加数据,注意数据添加的顺序。表SPJ应最后添加。

(3) 查询每个供应商供应零件的总量和平均量。

(4) 查询项目零件供应总量大于500的项目号,零件供应总量。

(5) 请完成本题1-5的查询。

45. 请完成P130页第5题的查询。

46. 请完成P130页第9题的视图的建立。

47. 创建一个触发器T_sc1,要求每当在stucou表中插入数据时,向客户端显示一条记录已添加!的消息。

48. 创建一个触发器T_stu,要求每当用户删除student表的记录时,自动显示被删除记录的内容

49. 利用IF UPDATE建立一个触发器T_course,在course表上修改课程类别时,显示信息课程类别已修改

50. 创建触发器T_stcour,实现当插入、更新和删除stucou表的选课数据行时,能同时更新Course表中相应的选课人数WillNum.

51. 若批量插入、更新和删除stucou表的选课数据行时,修改上题的触发器

52. 创建一个触发器T_sc2,要求每当在stucou表中插入数据时,向客户端显示一条记录添加二次触发的消息。(知识点:多个触发器)

53. 创建一个数据库stuxk,XK数据库中的表导入其中。

54. 为某个系创建一个视图V_elec.

55. 为数据库stuxk创建三个用户user1user2user3

56. 将视图V_elec的查询权限给用户user2user3.

57. 现有几个EXECL表,如下:

 

供应商:  

供应商代码

姓名

所在城市

联系电话

S1

北京供应商

北京

0108888888

S2

天津供应商

天津

0228888888

S3

重庆供应商

重庆

0238888888

S4

上海供应商1

上海

0218888888

S5

广州供应商

广州

0208888888

S6

上海供应商2

上海

0216666666

工程:

工程代码

工程名

负责人

预算

J1

工程1

丁一

200000

J2

工程2

赵二

60000

J3

工程3

张三

70000

J4

工程4

李四

80000

J5

工程5

王五

150000

零件:

零件代码

零件名

规格

产地

颜色

P1

螺丝

济南

红色

P2

主板

集成

深圳

绿色

P3

显卡

独立

香港

蓝色

P4

声卡

集成

天津

红色

P5

网卡

100M

上海

黑色

P6

鼠标

无线

上海

黑色

供应零件:

供应商代码

工程代码

零件代码

数量

S1

J2

P4

50

S1

J3

P5

100

S2

J2

P6

500

S4

J1

P3

150

S4

J5

P1

200

S5

J4

P6

100

S6

J4

P2

90

将这几个表导入到SQL SERVER数据库中。

58. 请下载PowerDesign软件,创建57题的概念模型图(CDM图)

59. 58题的概念模型图转换为物理模型图

60. 59题物理模型图导出SQL SERVERMYSQL 或其他的数据库语句创建代码。

猜你喜欢

转载自www.cnblogs.com/DixinFan/p/9174792.html
60
C60