精华内容
下载资源
问答
  • 视图和关系 四、MySQL相关操作 一、什么是视图 在数据库独立性模型中,视图属于外模式,其起到了将用户与模式和内模式分开。视图是从一个或者多个基本表(或者视图,但是一般建议不要使用,效率比较低...

    一、什么是视图

    二、什么是表

    三、视图和表的关系

    四、MySQL的相关操作

    一、什么是视图
    在数据库的独立性模型中,视图属于外模式,其起到了将用户与模式和内模式的分开。视图是从一个或者多个基本表(或者视图,但是一般建议不要使用,效率比较低)导出来的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。视图是原始数据库的一种变换,也就是说其实视图就是一组对原表的select操作的集合,视图的定义存在数据库中,但是与此定义相关的数据并没有存放在数据库中。我们可以将视图看成一个窗口,通过这个窗口我们可以看到一些数据,而通过窗口我们所看到的数据存放在基表中(因此称视图为虚拟的表)。

    二、什么是表
    在关系数据库中,用表来表达主体之间的关系,表属于数据库层次模式当中的内模式,也就是与物理储存有关。在关系数据库中,所有的关系被转化为二维表储存。
    三、视图和表的关系
    联系:
    视图是建立在基本表之上建立的虚拟表,它的结构和内容都来自基本表,它一句基本表而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

    区别:
    • 表是在物理空间实际存在的,并且在数据库的字典表中也有基本表的数据,而视图值储存了的定义。
    • 表示内容,视图是窗口
    • 视图是已经编译好的sql语句,而表不是
    • 表示内模式,视图是外模式
    • 视图是查看数据表的一种方式,可以查询数据表中的某些字段构成的数据,只是一些SQL语句的集合。从安全的角度来看,视图可以不给用户接触数据表,从而不知道表结构。
    • 表属于全局模式中的表,视图属于局部模式的表
    • 视图的建立和删除值影响视图的本身,不影响对应的基本表
    • 不能对视图进行update或者insert into操作,一般视图只能进行selet操作


    • 视图的作用:
      1、当一个子查询需要反复使用的时候,视图可以简化代码,直接调用而不是每次都重复写
      2、系统的数据管理员,需要给用户提供数据但是又不希望用户知道其他的任何数据的时候,可以给用户提供视图,也就是看数据的一个窗口,起到保护的作用

      性能分析: 通常来说直接查询和查询视图是没有什么区别的(SQL本身也会进行优化),除非是视图嵌套了视图,或者查询很复杂要计算。但是每次select视图的时候,视图都会重新计算创建它的规则(SQL算法),如果算法复杂,数据量大,就会比较慢,并且表的索引(可以提高速率)对于视图而言是无效的,它是全表扫描。

      四、MySQL中的相关操作
      1、表的创建:
    --------创建表-----------
    --判断表是否存在---
    if exists (select * from sysobjects where name = "S")
    ----存在就把表删除-----
    drop table S
    go
    creat table S
    (
       sno int  primary key,
       name vaechar(20) null
       )
       -----添加数据-----
       insert into S(sno,name) values(01,"张三”);
       insert into S(sno,name) values(02,"李四");
       ------查询数据------
       select * from S
    

    创建视图

    --------判断是否存在-------
    if exists (select * from sysobjects where name ="VIEW_S")
    drop view VIEW_S
    go
    -----创建视图-----
    ------由于视图是基于基表,所以其没有数据的插入环节----
    creat view VIEW_S
    as 
    select * from S where sno=01
    go
    ----使用视图----
    select * from VIEW_S
    
    展开全文
  • 一、举例 dba_objects user_objects all_objects 视图 1.dba_objects 显示整个实例中对象,能否查看去取决于数据库...、oracle数据库中种标准权限; connect resource dba 首先我看查看下这个角色...

    一、举例 dba_objects user_objects all_objects 三种视图

    1.dba_objects    显示的整个实例中的对象,能否查看去取决于数据库用户的权限。

    2.user_objects   只显示当前用户拥有的所有对象,其他的用户和系统的对象不显示。

    3.all_objects       显示当前用户可以访问的所有对象,包含用户拥有的对象。

     

    二、oracle数据库中三种标准的权限;

    connect   resource   dba

    首先我看查看下这三个角色都有什么组成 从视图 dba_sys_privs

    connect 

     

    connect一般给临时用户,只能登陆上来干不了啥事。

     resource

    从图上也看出来了,日常的开发需要用到的基本有了

    dba权限就没有啥好看的 该有的不该有的都有了,一般不要随便给,容易背锅。

     

    三、权限相关视图

    select * from session_privs; 查看当前用户的所拥有的的权限。

    select * from user_sys_privs;  查看当前用户所拥有的系统权限。

    select * from dba_sys_privs;   查看所有用户的系统权限。

    select * from role_sys_privs;   查看某个角色所拥有的系统权限。

    select * from dba_role_privs; 查看所有用户所拥有的角色。

     

    下面链接是百度到的别人写的

    https://www.cnblogs.com/Haihong72H/p/11253741.html

     

     

    展开全文
  • 一:视图的概述:视图的分类:视图的优点和作用四:视图的基本操作和语法五:视图和的区别  数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图...
    
    

     数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生。本篇将通过一些实例来介绍视图的概念,视图的作用,创建视图,查看视图,修改视图,更新和删除视图等SQL Server的数据库知识。

    一:视图的概述

     视图是从一个或者多个表导出的,它的行为与表非常相似,但视图是一个虚拟表,在视图中可以使用SELECT语句查询数据,以及使用insert、update和delete语句修改记录,对于视图的操作最终转化为对基本数据表的操作。视图不仅可以方便操作,而且可以保障数据库系统的安全性。

     视图一经定义便存储在数据库中,与其相对应的数据并没有像表数据那样在数据库中在存储一份,通过视图看到的数据只是存放在基本表中的数据。可以对其进行增删该查,通过视图对数据修改,基本表数据也对应变化,反之亦然。

    二:视图的分类

     SQL Server的视图可以分为3类,分别是:标准视图,索引视图,分区视图

    2.1.标准视图

     标准视图组合了一个或多个表中的数据,可以获得使用视图中的大多数好处,包括重点将放在特定的数据上及简化数据操作。

    2.2.索引视图

     索引视图是被具体化了的视图,即它已经经过计算并存储。可以为视图创建索引,对视图创建一个唯一的聚集索引。索引视图可以显著提高某些类型查询的性能,索引视图尤其适于聚合许多行的查询,但它们不太适于经常更新的基本数据集。

    2.3.分区视图

     分区视图在一台多多台服务器间水平连接一组成员表的分区数据,这样,数据看上去如同来自一个表。连接本地同一个SQL Server实例中的成员表的视图是一个本地区分视图。

    三:视图的优点和作用

    与直接从表中读取数据相比,视图具有一下优点

    3.1.简单化

     看到的就是需要的,视图不仅可以简化用户对数据的理解,也可以简化对它们的操作,那些经常使用的查询可以被定义为视图,从而使得用户不必为以后的每次操作指定全部的条件。

    3.2.安全性

     视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它或表既不可见也不可以访问。如果某一用户想要访问视图的,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。

    3.3.逻辑数据独立性

     视图可以帮助用户屏蔽真实表结构变化带来的影响。

    四:视图的基本操作和语法

    4.1.创建视图

    --语法
    CREATE VIEW view_name
     AS
        SELECT column_name(s) FROM table_name
    WHERE condition

    测试数据准备:

    复制代码
    use sample_db;
    create table studentTable(
        id int identity(1,1)primary key,
        name varchar(20),
        gender char(2),
        age int,
    )
    insert into studentTable (name,gender,age)
    values
        ('刘备','',28),
        ('张飞','',24),
        ('关羽','',26); 
    复制代码
    复制代码
    --创建视图
    if (exists (select * from sys.objects where name = 'student_view'))
        drop view student_view
    go
    --student_view()不实用参数,默认为基础表中的列名称
    create view student_view 
    as
    select name,age from studentTable where age>24;
    --执行视图
    select * from student_view;
    复制代码

    查看视图的信息

    • 使用sp_help存储过程查看视图的定义信息
    • 使用sp_helptext系统存储过程使用来显示规则,默认值,未加密的存储过程,用户定义函数,触发器或视图的文本,语法
    exec  sp_help 'student_view';
    exec sp_helptext 'student_view';

    创建加密视图:

    复制代码
    --加密视图
    if (exists (select * from sys.objects where name = 'student_encryption'))
        drop view student_encryption
    go
    create view student_encryption
    with encryption --加密
    as
        select id, name, age from studentTable
    go
    --view_definition is null
    --查看加密视图
    select * from information_schema.views 
    where table_name like 'student_encryption';
    复制代码

     

      从执行结果可看出view_definition字段为 NULL

    4.2.使用视图修改基本表数据

    (1).通过视图向基本表中插入数据

    复制代码
    --(1).通过视图向基本表中插入数据
    create view stu_insert_view(编号,姓名,性别,年龄)
    as
    select id,name,gender,age from studentTable;
    go
    select * from studentTable;
    ---插入一条数据
    insert into stu_insert_view values('曹操','',40);
    ----查看插入记录之后表中的内容。
    select * from studentTable;   
    复制代码

    (2).通过视图修改基本表的数据

    复制代码
    --(2).通过视图修改基本表的数据
    --查看修改之前的数据
    select * from studentTable;
    --修改数据
    update student_view set age=30
    where name='刘备';
    --查看修改后的数据
    select * from studentTable;
    复制代码

    (3).通过视图删除基本表的数据

    复制代码
    --语法
    delete view_name where condition;
    --例子
    delete student_view where name ='张飞';
    select * from student_view;
    select * from studentTable;
    复制代码

     4.3.修该视图

    --修改视图
    alter view student_view 
    as
    select * from studentTable where age>26;

    4.4.删除视图

     

    --语法
    drop view view_name1,view_name2,......,view_nameN;
    --该语句可以同时删除多个视图,只要在删除各视图名称之间用逗号分隔即可。
    drop view studentTable;

     

    五:视图和表的区别

    1. 视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化表,而表不是;
    2. 视图(除过索引视图)没有实际的物理记录,而基本表有;
    3. 表示内容,视图是窗口;
    4. 表占物理空间,而视图不占物理空间,视图只是逻辑概念的存在;
    5. 视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全角度说,视图可以防止用户接触数据表,从而不知表结构;
    6. 表属于全局模式的表,是实表;视图数据局部模式的表,是虚表;
    7. 视图的建立和删除只影响视图本身,不影响对应的基本表。
    展开全文
  • 信息工程学院实验报告课程名称:《数据库原理》实验项目名称:视图和索引的创建和使用一、实 验 目 的:(1)掌握创建视图的SQL语句的用法。(2)掌握修改视图的方法。(3)熟悉视图更新与基本表更新的区别与联系;认识视图...

    信息工程学院实验报告

    课程名称:《数据库原理》

    实验项目名称:视图和索引的创建和使用

    972c433de8ab2a8661f82468ab9d9d74.png

    一、实 验 目 的:

    (1)掌握创建视图的SQL语句的用法。

    (2)掌握修改视图的方法。

    (3)熟悉视图更新与基本表更新的区别与联系;认识视图的作用。

    (4)熟悉索引的作用,以及不同类型索引的区别。

    (5)学会用T-SQL语句对表创建和删除索引

    二、实 验 设 备 与 器 件

    Win7 +Sql server 2008

    三、实 验 内 容 与 步 骤

    利用备份文件school,还原数据库,然后完成以下实验内容:

    (1)用T-SQL语句,定义信息系学生基本情况视图V_IS。

    (2)用T-SQL语句,将Student,Course 和SC表中学生的学号,姓名,课程号,课程名,成绩定义为

    视图V_S_C_G。

    (3)用T-SQL语句,将各系学生人数,平均年龄定义为视图V_NUM_AVG。

    (4)用T-SQL语句,定义一个反映学生出生年份的视图V_YEAR。

    (5)用T-SQL语句,将各位学生学号、选修课程的门数及平均成绩定义为视图V_AVG_S_G。

    (6)用T-SQL语句,将各门课程的课程号、选修人数及平均成绩定义为视图V_AVG_C_G。

    (7)用T-SQL语句完成以下视图操作,查看结果,并分析原因。

    ①通过视图V_IS,将学号为“200215125”的学生姓名更改为“张小立”,并查看结果;

    ②通过视图V_IS,新增加一个学生记录 ('200215126','黄笑',19, '男','IS'),并查看结果。

    ③通过视图V_IS,新增加一个学生记录 ('200215127','李霞',19, '女','MA'),并查看结果。

    ④通过视图V_IS,删除学号为“200215126”的学生信息,并查看结果。

    ⑤通过视图V_S_C_G,将学号“200215122”的姓名改为“刘晓晨”,能否实现?若无法实现说明原因。

    ⑥通过视图V_AVG_S_G,将学号“200215121”的平均成绩改为90,能否实现?若无法实现说明原因。

    ⑦修改视图V_IS定义,添加WITH CHECK OPTION语句,然后用update语句修改“200215125”的学

    生所在系,改为’MA’, 能否实现?若无法实现说明原因。

    ⑧修改视图V_YEAR,对其进行加密处理,并查看结果。

    (8)写出T-SQL语句:利用表和前面所建视图,查询平均成绩为90分以上的学生学号、姓名和成绩;

    (9)写出T-SQL语句:利用表和前面所建视图,查询成绩大于课程平均成绩的学生学号、课程号和成绩;

    (10)写出T-SQL语句:利用表和前面所建视图,按系分组统计平均成绩80分以上的人数,按降序排列。

    (11)为student表创建一个复合索引i_sdept_sno,以院系升序、学号降序。

    (12)在student表的sname列上建立普通降序索引。

    (13)在course表的cname列上建立唯一索引。

    (14)将sc表的原先在sno,cno列上的聚集索引,改为在sno列上建立。

    (15)用系统过程sp_helpindex查看表student中的索引信息。

    (16)用系统过程sp_rename,将索引i_sdept_sno的名称改为i_s。

    展开全文
  • SQLserver视图、存储过程、事务 ...视图和普通的应用程序端SQL查询的区别:区别一:视图本身就是查询,保存到数据库服务器端,应用程序通过调用命令来执行视图;区别:普通查询保存在应用程序端,需要...
  • 、request对象response对象 、路由系统 一、FBVCBV 1.FBV(function base view)基于函数的视图 2.CBC(class base view)基于类的视图 3.两者区别如下: #FBV def add_author...
  • 文章目录视图的定义与使用一、实验目的、实验要求、实验内容1.定义视图2.使用视图四、实验步骤五、...思考视图和基本表的区别。 注意操作结果的截图与保存,供撰写实验报告使用。 、实验内容 1.定义视图 在EDU
  • 实验八 视图的定义与使用 一.实验目的 熟悉和掌握对数据表中视图的查询操作和SQL语句...思考视图和基本表的区别。 注意操作结果的截图与保存,供撰写实验报告使用。 四.实验内容 1.定义视图 在EDUC数据库中,已
  • Sql Server 视图学习

    2018-10-16 15:48:00
    五:视图和的区别  数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生。本篇将通过一些实例来介绍...
  • 视图基本知识

    2019-01-06 11:09:26
    一、概念 视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列行数据。但是,视图并不在数据库中以存储的数据值集形式存在。...视图与表的区别 (...
  • 数据库-视图

    2018-07-09 10:20:02
    一、实验目的:1.掌握创建视图的SQL语句的用法。...学习灵活熟练的进行视图的操作,认识视图的作用 、实验环境:SQL Server 2014 、实验内容:Part 1 定义视图1.定义计算机系学生基本情况视图V_Co...
  • 、MVS(Multi View Stereo)多视图立体:一系列不同视角图片 一、双目相机重建步骤: 1、双目相机矫正(获得相机内参外参) 2、图像立体矫正(左右两个图片对齐到同一平面) 3、立体匹配(对齐后图片利用极线...
  • 数据库实验之视图

    千次阅读 2018-09-20 22:21:58
    4.熟悉掌握对数据表中视图的更新操作SQL命令的使用,并注意视图更新与基本表更新的区别与联系 5.学习灵活熟练的进行视图的操作,认识视图的作用   、实验环境:       、实验内容: (写出主要的...
  • 数据库实验四 视图

    千次阅读 2018-07-04 19:56:25
    一、实验目的:1.掌握创建视图的SQL语句的用法。2.掌握修改视图的方法。...学习灵活熟练的进行视图的操作,认识视图的作用、实验环境: Windows下的SQL、实验内容:Part 1 定义视图在数据库中,以StudentCour...
  • 实验四 使用视图 一、实验目的 ...理解和掌握视图消解的执行原理,掌握可更新视图和不可更新视图的区别、实验过程 1.准备实验数据 创建数据库s_t和spj,创建学生表student、课程表course、选修表sc、
  • 本博客目录视图

    2020-08-10 14:46:25
    收录了本博客的全部链接,方便查看与记录。...堆的区别(转) C语言数组指针详解(转) 2.qt编程 Qt编程基础(信号槽机制、字符串操作、容器类) 3.shell脚本编程 Linux shell脚本编程总结(一、运算符)
  • 数据库实验--视图

    2019-11-11 21:17:53
    3. 熟悉视图更新与基本表更新的区别与联系 4. 认识视图的作用 、实验内容 使用 SSMS Transact-SQL 语句 CREATE VIEW 创建视图 使用 Transact-SQL 语句 ALTER VIEW 修改视图 学习删除视图的 Transact-SQL ...
  • mvcmvvm的区别

    2020-11-04 21:46:41
    MVC是个单词缩写,分别为:模型(Model),视图(View) 控制(Controller)。 MVC模型目的就是实现Web系统职能分工。 Model层实现系统中业务逻辑,View层用于用交互,Controller层是ModelView沟通...
  • ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作进制数据一个接口。它们都是以数组语法处理进制数据,所以统称为进制数组。 进制数组由类对象组成。 (1)ArrayBuffer对象: ...
  • 数据库实验---视图

    2018-07-05 22:21:52
    一、实验目的:1.掌握创建视图的SQL语句的用法。2.掌握修改视图的方法。...学习灵活熟练的进行视图的操作,认识视图的作用、实验环境: SQL Serve 2017 、实验内容:Part 1 定义视图在数据库中,以Student C...
  • 大框架之,大家应该都不会陌生,都有学习过或者开发中使用。 但是他们到底有啥区别呢?这个就是我们这篇文章所需探讨并学习。 开始! MVC MVVM 首先,来说明下这些字母代表含义 M:Model 模型 V:View ...
  • 了解了以下技巧后会消除您操作图形视图时“不顺手”的感觉。有很多用户在使用RationalDMIS之前有其他CMM软件或者维制图软件的操作经验,习惯了某种操作方式,...同样的视角,打开关闭透视投影观察同一个CAD的区别
  • vuejquery的区别

    2019-04-09 15:35:07
    Vue 核心库只关注视图层,不仅易于上手,还便于与第方库或既有项目整合。另一方面,当与现代化工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂单页应用提供驱动。 vue中两个核心点 ...
  • 用过DEV Gridcontrol的朋友们应该大多数都知道Gridcontrol可以实现多级视图,即通过主视图和视图的主外键关系来达到分级展开的效果。常用的做法一般都是先设定两个表之间的Relation后直接用控件绑定,然后控件自动...
  • 文章目录一. 事务1....视图和的区别三. 变量1.系统变量:2.设置系统变量的值3.全局变量4.会话变量5. 自定义变量6. 局部变量 一. 事务 TCL 事务控制语言 事务: 一个或一组sql语句组成一个执行单元...
  • MySQL索引与视图

    2020-08-07 16:22:38
    唯一索引 : 除了值唯一,基本索引没什么区别。 3.主键索引 : 特殊索引,一个表只能有一个主键,而且不能为空值。 4.组合索引 : 在多个列段上创建索引,只有在查询中使用了创建索引第一个字段时,才会被使用...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 219
精华内容 87
关键字:

二视图和三视图的区别