1. 使用SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。
CREATE VIEW v_stu_c(`学号`,`姓名`,`课程编号`)
AS
SELECT grade.`学号`,`姓名`,`课程编号`
FROM grade,student_info
WHERE grade.`学号`='0003' AND
grade.`学号`=student_info.`学号`;
  1. 使用SQL语句为curriculum表的课程编号创建唯一性索引,命名为cno_idx。
CREATE UNIQUE INDEX cno_idx ON curriculum(`课程编号`);
  1. 使用SQL语句为grade表的“分数”字段创建一个普通索引,命名为grade_idx。
CREATE  INDEX grade_idx ON grade(`分数`);
  1. 基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图包括所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的课程平均分。
创建视图:
CREATE VIEW v_stu_g(`学号`,`姓名`,`课程名称`,`分数`)
AS
SELECT grade.`学号`,`姓名`,`课程名称`,`分数`
FROM student_info,curriculum,grade
WHERE curriculum.`课程编号`=grade.`课程编号`
AND grade.`学号`=student_info.`学号`;
查询视图:
SELECT `学号`,  AVG(`分数`) AS '课程平均分'
FROM v_stu_g
WHERE `学号`='0001';
  1. 使用SQL语句修改视图v_stu_g,显示学生的学号、姓名、性别。
ALTER VIEW v_stu_g
AS
SELECT `学号`,`姓名`,`性别`
FROM student_info
WITH CHECK OPTION;

6.利用视图v_stu_g为student_info表添加一行数据:学号为0010、姓名为陈婷婷、性别为女。

INSERT INTO v_stu_g
VALUES('0010','陈婷婷','女');

7.利用视图v_stu_g删除学号为0010的学生记录。

DELETE FROM  v_stu_g
WHERE `学号`='0010';

8.利用视图v_stu_g修改姓名为张青平的学生的高等数学的分数为87。

UPDATE v_stu_g
SET `分数`='87'
WHERE `课程名称`='高等数学';

9.使用SQL语句删除视图v_stu_c和v_stu_g。

DROP VIEW v_stu_c;
DROP VIEW v_stu_g;
  1. 在本地主机创建用户账号st_01,密码为123456。
CREATE USER 'st_01'@'localhost'IDENTIFIED by '123456';
  1. 使用studentsdb数据库中的student_info表。
    (1)授予用户账号st_01查询表的权限。
GRANT SELECT on student_infoto 'st_01'@'localhost';

(2)授予用户账号st_01更新家庭住址列的权限。

GRANT UPDATE(`家庭住址`)on student_infoto 'st_01'@'localhost';

(3)授予用户账号st_01修改表结构的权限。

GRANT ALL
on *
to st_01@localhost;
  1. 撤消用户账号st_01所有权限.
REVOKE all
on student_info
FROM st_01@localhost;
  1. 使用studentsdb数据库中的student_info表。
    (1)创建本地机角色student。
CREATE role student;

(2)授予角色student查询student_info表的权限。

GRANT SELECT
ON TABLE student_info
to student;

(3)创建本地机用户账号st_02,密码为123。

CREATE USER 'st_02'@'localhost'IDENTIFIED by '123';

(4)授予用户账号st_02角色student的权限。

GRANT student to st_02;

(5)以用户账号st_02连接MySQL服务器,查看student_info表信息。

USE st_02 SELECT *FROM student_info;

(6)撤消用户账号st_02角色student的权限。

REVOKE ON student FROM st_02@localhost;

(7)删除角色student。

drop role 'student';

12.删除用户账号st_01、st_02。

DROP USER 'st_01'@'localhost';
DROP USER 'st_02'@'localhost';

二、实验思考

  1. 建立索引的目的。什么情况下不适于在表上建立索引。
    1、在经常需要搜索的列上,可以加快搜索的速度。
    2、在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构。
    3、在经常用于连接两张表的列上,这些列主要是一些外键,可以加快连接的速度。
    4、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。
    5、在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。
    6、在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
    不适合建立索引:
    1、表记录太少。
    2、经常增删改的表。
    3、数据重复且分布平均的表字段,因此应该只为最经常查询和经常排序的数据列建立索引(如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果)。
  2. 能否在视图上建立索引。
    可以在视图上建立索引。
  3. 想通过视图修改表中数据,视图应具备哪些条件。
    视图知识单表的投影。
  4. 视图的作用。
    (1)提高了重用性,视图就像一个函数。
    (2) 对数据库重构,却不影响程序的运行。
    (3) 提高了安全性能。可以对不同的用户,设定不同的视图。
    (4) 让数据更加清晰。想要什么样的数据,就创建什么样的视图。
  5. 用户账号、角色和权限之间的关系是什么?没有角色能给用户授予权限吗?
    1.一个用户表可以有一个角色表,一个角色表可以有多个用户
    2.角色表和权限表是多对多的关系
    3.查询拥有某角色的用户信息
    4.查询某用户的对应的角色。
    5.查询拥有某权限的角色
    6.查询某角色拥有的权限。
    7.查询某用户拥有的权限,先查找用户和角色的信息,在通过角色查询权限

数据库第三次实验报告相关推荐

  1. 数据库应用开发技术实验报告

    "数据库应用开发技术"实验报告 2020-2021学年 第二学期 实验名称: 学生姓名: 学 号: 专业班级: 所在学院: 指导教师: 职 称: 完成日期: 实验1 sql ser ...

  2. 数据库原理及应用实验报告-实验8-参照完整性

    数据库原理及应用实验报告 实验题目  实验8参照完整性 实验目的 学习建立外键,以及利用FOREIGN KEY-REFERENCES子句以及各种约束保证参照完整性. 实验内容 为演示参照完整性,建立表 ...

  3. c语言程序设计编程解读,C语言程序设计第三次实验报告解读

    <C语言程序设计第三次实验报告解读>由会员分享,可在线阅读,更多相关<C语言程序设计第三次实验报告解读(15页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计实验报告专业 ...

  4. 第三次实验报告MapReduce

    第三次实验报告MapReduce(编程调试wordcount程序 生成jar包在虚拟机上运行) 实验目的: MapReduce原理及操作 1.MapReduce原理 Ma和 Reduce,当向 Map ...

  5. 数据库原理及应用实验报告-实验10-触发器

    数据库原理及应用实验报告 实验题目  实验10触发器 10.1 实验目的 通过实验使学生加深对数据完整性的理解,学会理解.创建和使用触发器. 10.2 实验内容  (用实验9的Teacher表) (1 ...

  6. 20162329 张旭升 实验三:实验报告

    实验三:实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 张旭升 学号:20162329 指导教师:娄嘉鹏 王志强 实验日期:5月12日 实验密级: 非密级 预习程度: 已预习 必修/选修 ...

  7. 计算机网络技术实验报告三,计算机网络第三次实验报告

    计算机网络第三次实验报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机网络第三次实验报告实验一:网络常用命令的使用一. 实验目 ...

  8. 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...

    <江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...

  9. c语言数据结构二叉树实验报告,数据结构实验三二叉树实验报告.doc

    数据结构实验三二叉树实验报告 数据结构实验报告 实验名称: 实验三--二叉树 学生姓名: XX 班 级: 班内序号: 学 号: 日 期: 1.实验要求 1.1实验目的 通过选择下面两个题目之一进行实现 ...

  10. mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句

    实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...

最新文章

  1. 怎么导入字体ttf_教程小字体制作精品教程(简化版)丨精致小字体
  2. linux非交互式脚本,Linux expect非交互式执行脚本
  3. android6.0源码分析之Camera API2.0简介
  4. 计算机网络-思维导图(3)数据链路层
  5. (11)FPGA跨时钟域处理(第3天)
  6. 【引用】在VB6.0中实现弹出式菜单的几种方法
  7. php readfile cookie,python处理cookie详解
  8. 使用激活工具后主页被篡改为hao123
  9. AD转换器输入之前接一个电压跟随器是为什么
  10. hadoop工作原理
  11. matlab复数的使用,关于MATLAB在复数方面的应用
  12. Word删除连续分节符
  13. 双活数据中心架构分析及优缺点
  14. 淘宝旺旺号转userid 或 uid 接口与方法
  15. 领导的沉默,背后到底隐藏着什么?
  16. Android录制音频方式AudioRecorder和MediaRecorder
  17. 爱因斯坦的超级问题(人工智能实验二报告)
  18. php简单的日历代码,php日历制作代码分享
  19. 用CSS3实现放大效果
  20. frcnn系列错误: TypeError: 'numpy.float64' object cannot be interpreted as an index 的解决方案

热门文章

  1. matplotlib 绘制直方图
  2. 树莓派pico--PIO入门
  3. matlab hist 横坐标,matlab中hist函数的用法_matlab中hist函数 将EXCEL 中的日期 时间 导入到MATLAB坐标轴中...
  4. html中图片旋转木马,css3的图片3D旋转图片旋转木马
  5. Nginx的stub_status模块的作用及配置文件修改
  6. wed是什么意思在计算机应用基础中,卡西欧wed什么意思
  7. XTU,C语言,Digit String
  8. 计算机课安全管理制度,微机室安全管理制度.doc
  9. 基于VC 6.0实现简单的微信打飞机
  10. jQuery插件应用之--- 选项卡插件的使用(10级学员 韩晓爽课堂笔记)