1

  1. 熟悉数据表结构及使用特点;
  2. 熟悉使用Management Studio界面方式管理数据表数据;
  3. 熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;
  4. 加深理解视图的定义和数据更新的作用;
  5. 熟悉和掌握索引的创建和使用

以学生管理数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),练习对表中数据的插入、修改和删除的SQL语言命令及视图和索引的创建与管理。

1.将学生、课程、选课三张表中的全部记录复制到student、course、xuanke三张表中;

select *into student from 学生
select *into course from 课程
select *into xuanke from 选课

2.用SQL语句将适量数据分别插入student、course、xuanke三张表中;

insert into student values('012','陈晓楠','20','女','计算机')
insert into course values ('c06','专业英语','大学英语')
insert into xuanke values ('012','c06','90')

3.将平均成绩低于70的学生信息存放在低于70分平均成绩表中;

select * into 低于70分平均成绩表 from student
where 学号 in (select 学号 from xuanke
group by 学号 having avg(成绩)<70 )

4.借助student、course、xuanke三张表,删除“计算机”系全体学生的选课记录及学生记录

delete from xuanke
where 学号 in (select 学号 from student
where 所在系 = '计算机')
delete from student
where 学号 in (select 学号 from student
where 所在系 = '计算机')

5.借助student、course、xuanke三张表,删除学号为“001”的相关信息(包括选课信息及学生信息);

delete from xuanke
where 学号 = '001'
delete from student
where 学号 = '001'

6.将student表中学号为“002”的学生的学号修改为“S002”;

update student set 学号 = 's002' where 学号 = '002'

7.把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_Grade

(Sno,AVG_Grade);
select student.学号,avg(成绩) 平均成绩 into S_grade
from student,xuanke
where student.学号=xuanke.学号 and 性别 = '男'
group by student.学号 having AVG(成绩)>80
select * from S_grade

8.把选修了课程名为“数据结构”的学生的成绩提高10%;

update xuanke set 成绩 = 成绩 * 1.1
where 课程号 in (select 课程号 from course
where 课程名 = '数据结构')

9.把选修了“c02”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;

update xuanke set 成绩 = 成绩 * 1.05
where 成绩<(select avg(成绩) from 选课 where 课程号 = 'c02')
select 课程号,成绩 from xuanke where 课程号 = 'c02'

10.把选修了“c02”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;

delete  from xuanke
where 成绩<(select avg(成绩) from 选课 where 课程号 = 'c02')
select 课程号,成绩 from xuanke where 课程号 = 'c02'

11.求C01和C04课程成绩为80分以上的学生的学号及姓名;

select 学号,姓名 from student where 学号
in (select 学号 from xuanke
where 课程号 in ('c02','c04') and 成绩 > 80)

12.求选修了C1课程又选修了C2课程的学生的学号;

select 学号 from xuanke    where
课程号 = 'c01' and 学号 in (select 学号 from xuanke where 课程号 = 'c02')

13.求每个系的平均年龄,并要求将结果存入数据库中;

select 所在系,AVG(年龄) 平均年龄 into 平均年龄数据库
from student
group by 所在系
select *from 平均年龄数据库

–1

create view StulowGrade
as
select 学号,avg(成绩) as 平均成绩 from 选课 a where exists
(select * from 选课 b where 成绩<60 group by 学号 having count(学号)>2 and b.学号=a.学号)
group by 学号
select * from StulowGrade--2
create view Cstud
as
(select 学号,姓名,性别  from 学生)
insert into Cstud values('019','梨花','男')
select * from Cstud

–14.建立“计算机系”的学生基本情况视图ies_student_view,该视图包括计算机系所有学生的相关信息;

create view ies_student_view1
as
(select * from 学生 where 所在系='计算机')
select * from ies_student_view1

–16.建立课程C01(课编号)的学生名册的视图,该名册包括学生的学号、姓名、所在系名称和这门课的成绩;并查询结果;

create view c01
as
(select 学生.学号,姓名,所在系,成绩 from 学生,选课 where 学生.学号=选课.学号)
select * from c01

–17.建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码。执行视图并观察结果;

create view 不及格视图
as
(select 学生.学号,姓名,课程号,成绩 from 学生,选课 where  成绩<60 and 学生.学号=选课.学号)
select * from 不及格视图

–18.修改视图ies_student_view,使该视图包括所有学生的学号、姓名、所在系。执行ies_student_view视图并观察结果;

alter view ies_student_view1
as
(select * from 学生 )
select * from ies_student_view1

–19.删除视图ies_student_view。并查询结果;

drop view ies_student_view1
select * from ies_student_view1

–20.在student_course表(学生选课表)的学生学号(s_no)列上创建索引sc_sno_index;通过SQL语句查看运行结果。

create  INDEX sc_sno_index ON 选课 (学号)
sp_helpindex 选课

数据库原理(操纵,视图,索引)相关推荐

  1. 数据库原理与应用(SQL Server)笔记 第五章 索引和视图

    目录 前言 一.索引 (一)索引的概念 (二)索引的分类 (三)索引的操作 1.创建 2.查看 2.修改 3.删除 二.视图 (一)视图的概念 (二)视图的分类 (三)视图的操作 1.创建 2.查询 ...

  2. 《数据库原理》实验报告DB4——视图与索引

    一. 实验内容.步骤以及结果 1. 在Student数据库中,用SQL语句创建一个选修了数据库课程并且是2001年出生的学生的视图,视图中包括学号,姓名,性别,成绩.(5分) create view ...

  3. 数据库原理及应用(索引为什么快,数据在磁盘上如何存储)

    引子: 1.数据库有三级模式. 2.物理独立性:数据在磁盘上存储. 3.逻辑独立性:表的逻辑设计. 4.两级映射,表的逻辑不会其物理存储逻辑. 5.视图层:dba给用户展示的部分内容. 一  数据模型 ...

  4. 从千万级数据查询来聊一聊索引结构和数据库原理

    在日常工作中我们不可避免地会遇到慢SQL问题,比如笔者在之前的公司时会定期收到DBA彪哥发来的Oracle AWR报告,并特别提示我某条sql近阶段执行明显很慢,可能要优化一下等.对于这样的问题通常大 ...

  5. Oracle数据库之对象视图、索引、序列、同义词

    Oracle数据库总结: Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 视图: 语法: create ...

  6. 千万级别数据查询优化_从千万级数据查询来聊一聊索引结构和数据库原理

    在日常工作中我们不可避免地会遇到慢SQL问题,比如笔者在之前的公司时会定期收到DBA彪哥发来的Oracle AWR报告,并特别提示我某条sql近阶段执行明显很慢,可能要优化一下等.对于这样的问题通常大 ...

  7. 从视图索引说Notes数据库

    作用和代价 上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论只针对Notes的视图索引,不包含全文索引.).开发人员创建的视图仅仅是存放在数据库里的一条设计文档,数 ...

  8. 索引视图是否物理存储在数据库中以及使用索引视图的一些见解

    索引视图是否物理存储在数据库中以及使用索引视图的一些见解 前言 这个话题我本来是写在文章里没有写在随笔里的,不过赶脚不写在随笔里其他人就看不到了,因为小弟对视图的认识不深 希望写在随笔里让大家也讨论一 ...

  9. rds mysql 视图 索引_数据库 视图 索引

    SQL2K数据库开发二十二之索引操作在视图上创建索引 1.在企业管理器中,右击要创建索引的视图,在弹出的菜单中选择"设计视图"命令进入视图设计器. 2.在视图设计器中显示了视图所包 ...

  10. Linux || 数据库事务 视图 索引

    文章目录 事务 什么是事务 事务四大特性 ACID 隔离级别 事务命令 视图 定义视图 使用视图 更新视图 索引 定义 创建索引 联合索引(复合索引) 最左原则 聚簇索引 innoDB表的聚簇索引 非 ...

最新文章

  1. leetcode python 032 识别最长合法括号
  2. JAVA线程池的分析和使用
  3. AOP、注解实现日志收集
  4. JavaScript设计模式之发布-订阅模式(观察者模式)-Part1
  5. iTerm2 for MacOS(终端模拟器/终端仿真器/命令终端工具)设置详解
  6. ARP:地址解析协议
  7. fastadmin添加定时任务
  8. RHEL 7.2 + Oracle 12cR2 + RAC
  9. 使用phonegap,进行页面跳转
  10. 在软件测试中UT,IT,ST,UAT分别是什么意思
  11. 计算机做游戏软件视频,电脑录屏工具D3DGear录制游戏视频教程
  12. 7-1 厘米换算英尺英寸 (15分)
  13. 滤波电容值得选取-ESR
  14. 考研可以跨计算机专业吗,食品安全的本科生考研,可以跨考计算机专业吗?
  15. Event-B建模(三)——控制桥上汽车,初始模型
  16. 关于全概率和贝叶斯公式的使用场景说明
  17. 通过网络地址下载图片示例
  18. 不用找 手机壁纸素材合集在这
  19. 开放式视觉伺服平台源代码_上位机(初步版本,未对细节做修订)
  20. 【Java编程】调用方法判断一个数是否是素数

热门文章

  1. 工业园区减污降碳与数字赋能(附下载)
  2. (python)变量和简单数据类型
  3. curl 一句命令查看公网出口IP、地址 地址识别还算准确
  4. python 虚拟环境 django.db 报错_django连接mysql数据库
  5. 升级 gmp linux,升级gcc,安装依赖库gmp-4.3.2出现错误,求大神指点
  6. 自学51单片机 - 独立按键实验
  7. dcat-admin扩展开发详细教程
  8. 优梵艺术完成近亿元A轮融资,打造时尚家具品牌
  9. 释放C盘空间,优化电脑性能:如何正确清理和管理C盘文件?
  10. 高德+关键字搜索+java_利用高德地图关键字检索POI-实现仿微信发朋友圈搜索附近位置...