精华内容
下载资源
问答
  • 数据库如何创建视图创建视图的理想步骤:一般来说,视图创建可以分为五步走:第一步:先考虑select语句的编写。我们知道,视图其实就是一个select语句的集合,所以,我们建立视图的第一步,就是考虑这个select语句的...

    数据库如何创建视图

    创建视图的理想步骤:

    一般来说,视图创建可以分为五步走:

    第一步:先考虑select语句的编写。我们知道,视图其实就是一个select语句的集合,所以,我们建立视图的第一步,就是考虑这个select语句

    的如何编写。这个select语句编写的是否合理,执行效率的高低直接影响着这个视图的性能,在Select语句中,可能还会有格式的控制、内容的编排等

    等。如在Select语句中,可以把一些字段合并成一个字段;也可以把相关的内容进行倒置等等。这些功能都是Select语句完成的。所以可以这么

    说,Select语句的编写是视图建立的基础。

    第二步:对这个Select语句进行测试。当我们编写好Select语句之后,就需要在数据库中执行这条语句,看其能否查询到我们想要的值。在对

    Select语句进行测试的时候,需要注意一个问题,有时候Select查询语句可以查到准确的数据,但是在以这条语句建立视图的时候,可能就会通不过。

    如在一些表之间的连接查询的时候,如果两个表中有个字段名相同,是可以的。因为他们除了字段名字之外,还有表名一起来定义这个字段。如A.name与

    B.name。这是不算重名的。但是,若在建立视图的时候,这就会被认为是重复的列明,需要对其中的一个列名进行重定义。这一点在数据库视图建立的时候,

    要特别的注意。

    第三步:考虑查询结果的准确性。通过查询语句把我们想要的结果查询出来后,我们就需要看看这个结果是否满足我们的需要。在这个过程中,我们主要注意两

    点。一是形式字段是否齐全。在一些应用系统中,若数据库的视图要能够被前台的应用程序调用的话,则必须包含一些形式字段。如笔者以前在设计一个

    ERP系统的时候,若前台系统要调用数据库中的视图的时候,必须包含记录更新时间、更新者、记录创建时间、创建者等相关信息。若缺乏这些信息的话,则前台

    调用这张视图的时候,就会出现错误。故在考虑查询结果准确性的问题的时候,就要考虑到前台应用程序的需要,看看这些形式字段是否齐全。二是实体内容的完整

    性。我们到底需要显示表中的哪些字段呢,这个我们在这里要确认清楚。若显示内容太多的话,则会影响视图的执行效率,而且也会降低视图的安全性作用;但是,

    若字段内容显示不足的话,则以后要添加字段的话,会比较麻烦,有一定的工作量。所以在这个检验的时候,需要根据视图的实际功用,确定视图需要显示的内容。

    第四步:视图的修饰。有时候,为了阅读的方便,我们需要对查询结果进行一些修饰。如现在有两张表,一张是员工基本信息表,这表中有员工姓名、员工职位编号

    等等;另一张表是职位基本信息表,在这表中有职位编号、职位名称。我们希望在视图中能够如下显示:“职位:员工名字”,如数据库工程师:Victor。也

    就是说,把两个字段合并起来,并且在中间加入一个冒号。这些格式性的内容都是在查询的时候实现的。所以,我们确认查询的结果没有错误之后,接下来就要确认

    格式问题。若能够在视图中规范这些格式问题,则前台的程序设计就会相对来说比较简单

    第五步:建立视图。等到上面四步都确认无误后,我们就要根据上面的查询语句来建立视图了。不过在这一步过程中,也有一些问题需要注意。一是视图名字的命

    名规格。我们除了遵循数据库的强制命名格式之外,如不能以数字开头等等,还需要遵循一些软规则。如视图最好能够以V开头,跟基础表进行隔开;另外在视图命

    名中,能够根据应用模块的不同,来进行分类,并体现在视图的名字中。这对于我们后续视图的查找都具有非常现实的意义。二是虽然可以在视图中直接更新基础

    表,不过,为了安全与数据统一的考虑,我们这些过来人一般都不建议通过视图来直接更新基础表中的数据。虽然数据库提供了类似的功能。若要更改相关数据的

    话,则直接去更改基础表的内容为好。在建立视图的时候,默认情况下是不能够通过视图直接更新基础表。

    展开全文
  • 数据库如何创建视图 创建视图的理想步骤: 一般来说,视图创建可以分为五步走: 第一步:先考虑select语句的编写。我们知道,视图其实就是一个select语句的集合,所以,我们建立视图的第一...

    数据库如何创建视图

       

    创建视图的理想步骤:
    一般来说,视图创建可以分为五步走:
    第一步:先考虑select语句的编写。我们知道,视图其实就是一个select语句的集合,所以,我们建立视图的第一步,就是考虑这个select语句 的如何编写。这个select语句编写的是否合理,执行效率的高低直接影响着这个视图的性能,在Select语句中,可能还会有格式的控制、内容的编排等 等。如在Select语句中,可以把一些字段合并成一个字段;也可以把相关的内容进行倒置等等。这些功能都是Select语句完成的。所以可以这么 说,Select语句的编写是视图建立的基础。

    第二步:对这个Select语句进行测试。当我们编写好Select语句之后,就需要在数据库中执行这条语句,看其能否查询到我们想要的值。在对 Select语句进行测试的时候,需要注意一个问题,有时候Select查询语句可以查到准确的数据,但是在以这条语句建立视图的时候,可能就会通不过。 如在一些表之间的连接查询的时候,如果两个表中有个字段名相同,是可以的。因为他们除了字段名字之外,还有表名一起来定义这个字段。如A.name与 B.name。这是不算重名的。但是,若在建立视图的时候,这就会被认为是重复的列明,需要对其中的一个列名进行重定义。这一点在数据库视图建立的时候, 要特别的注意。

     第三步:考虑查询结果的准确性。通过查询语句把我们想要的结果查询出来后,我们就需要看看这个结果是否满足我们的需要。在这个过程中,我们主要注意两 点。一是形式字段是否齐全。在一些应用系统中,若数据库的视图要能够被前台的应用程序调用的话,则必须包含一些形式字段。如笔者以前在设计一个 ERP系统的时候,若前台系统要调用数据库中的视图的时候,必须包含记录更新时间、更新者、记录创建时间、创建者等相关信息。若缺乏这些信息的话,则前台 调用这张视图的时候,就会出现错误。故在考虑查询结果准确性的问题的时候,就要考虑到前台应用程序的需要,看看这些形式字段是否齐全。二是实体内容的完整 性。我们到底需要显示表中的哪些字段呢,这个我们在这里要确认清楚。若显示内容太多的话,则会影响视图的执行效率,而且也会降低视图的安全性作用;但是, 若字段内容显示不足的话,则以后要添加字段的话,会比较麻烦,有一定的工作量。所以在这个检验的时候,需要根据视图的实际功用,确定视图需要显示的内容。

    第四步:视图的修饰。有时候,为了阅读的方便,我们需要对查询结果进行一些修饰。如现在有两张表,一张是员工基本信息表,这表中有员工姓名、员工职位编号 等等;另一张表是职位基本信息表,在这表中有职位编号、职位名称。我们希望在视图中能够如下显示:“职位:员工名字”,如数据库工程师:Victor。也 就是说,把两个字段合并起来,并且在中间加入一个冒号。这些格式性的内容都是在查询的时候实现的。所以,我们确认查询的结果没有错误之后,接下来就要确认 格式问题。若能够在视图中规范这些格式问题,则前台的程序设计就会相对来说比较简单

     第五步:建立视图。等到上面四步都确认无误后,我们就要根据上面的查询语句来建立视图了。不过在这一步过程中,也有一些问题需要注意。一是视图名字的命 名规格。我们除了遵循数据库的强制命名格式之外,如不能以数字开头等等,还需要遵循一些软规则。如视图最好能够以V开头,跟基础表进行隔开;另外在视图命 名中,能够根据应用模块的不同,来进行分类,并体现在视图的名字中。这对于我们后续视图的查找都具有非常现实的意义。二是虽然可以在视图中直接更新基础 表,不过,为了安全与数据统一的考虑,我们这些过来人一般都不建议通过视图来直接更新基础表中的数据。虽然数据库提供了类似的功能。若要更改相关数据的 话,则直接去更改基础表的内容为好。在建立视图的时候,默认情况下是不能够通过视图直接更新基础表。

    转载于:https://www.cnblogs.com/zhengah/p/4532145.html

    展开全文
  • 通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立性,试图...

    视图:是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。

    视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。

    视图的优点:

    1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。

    2.用户通过简单的查询可以从复杂查询中得到结果。

    3.维护数据的独立性,试图可从多个表检索数据。

    4.对于相同的数据可产生不同的视图。

    视图分为简单视图和复杂视图:

    1、简单视图只从单表里获取数据,复杂视图从多表;

    2、简单视图不包含函数和数据组,复杂视图包含;

    3、简单视图可以实现DML操作,复杂视图不可以。

    创建视图语法结构:

    CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
        [(alias[, alias]...)]
    
    AS subquery
         [WITH CHECK OPTION [CONSTRAINT constraint]]
         [WITH READ ONLY]

    语法解析:

    OR REPLACE    :若所创建的试图已经存在,则替换旧视图;

    FORCE:不管基表是否存在ORACLE都会自动创建该视图(即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用);

    NOFORCE  :如果基表不存在,无法创建视图,该项是默认选项(只有基表都存在ORACLE才会创建该视图)。

    alias:为视图产生的列定义的别名;

    subquery  :一条完整的SELECT语句,可以在该语句中定义别名;

    WITH CHECK OPTION  :插入或修改的数据行必须满足视图定义的约束;

    WITH READ ONLY       :默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

    例如:

    CREATE 
    	OR REPLACE VIEW test_view ( PROJECT_ID, CONTRACT_ID,DEPT_NAME ) 
    	AS SELECT p.PROJECT_ID,p.CONTRACT_ID,t.DEPT_NAME
    FROM
    	PINFO_CONTRACTS p
    	LEFT JOIN T_SALE_CONTRACT_LIST_ALL t ON p.CONTRACT_ID = t.SALE_CONTRACT_ID
    	WHERE t.DEPT_NAME = '卫生健康事业部'
        

    实际:生成了对应的视图,数据也查询出来了。如下图:

    总结:

    1.视图一般用于封装复杂的查询数据如来源多个表的关联数据,单个表一般用处不是很大。

    2.视图数据属于临时数据一般是不能直接修改的,对于单个表创建的视图可以添加with read only 防止真实数据被修改。

    3.视图如果是多表关联创建,如果想改视图数据可以使用替代触发器实现。


    参考:https://www.cnblogs.com/zl520/p/10245633.html


    ❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

    ❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

    ❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】

    ❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)

    展开全文
  • 可以方便用户对数据的操作,那如何在已有的数据库表上创建视图,并且查看创建视图的信息,具体操作如下:1.为了不影响其他的数据库表,新建一张数据库表t_worker_info,代码如下:create table t_worker_info(id int...

    视图是在一张或多张表导出的虚拟表,是一张虚拟表;可以方便用户对数据的操作,那如何在已有的数据库表上创建视图,并且查看创建视图的信息,具体操作如下:

    8c31d7e067aba3b99d4fe3780309a068.png

    1.为了不影响其他的数据库表,新建一张数据库表t_worker_info,代码如下:create table t_worker_info(

    id int(8) primary key not null auto_increment,

    w_id int(10) not null,

    w_name varchar(20) not null,

    w_age int(3),

    w_sex varchar(10),

    w_birth varchar(20)

    );

    如下图所示:

    6dc4d68cdcb4a749ff0bc7739b82543a.png

    2.创建t_worker_info后,查看一下数据结构,代码如下:desc t_worker_info;

    如下图所示:

    ac4514f2e181e69102a9db85de32d37b.png

    3.双击选中的数据库,在Views鼠标右键“Create View...”,打开编辑窗口,并在窗口中输入代码,代码如下:CREATE VIEW `view_worker_info` AS

    SELECT * FROM t_worker_info;

    如下图所示:

    b4980969e53d560a80632c14ec64b583.png

    75f1bded9d53f6e568127c46ac2316ac.png

    4.查看创建视图的基本信息,利用desc或describe语句,代码如下:desc view_worker_info;

    如下图所示:

    adc6c182a5c5e19eef7f82a777c785b9.png

    5.查看视图信息,如存储引擎、数据长度等,如果上述指标都为null,说明视图是虚表,代码如下:show table status like 'view_worker_info';

    如下图所示:

    3eb7b1f47e99d6a09b452a1a4d522acb.png

    6.查看创建视图的详细信息,需要用到show create view 视图名,代码如下:show create view view_worker_info;

    如下图所示:

    26ef09f4e359c7faed266eb93a6c1031.png

    说明

    注意MySQL中视图与表的区别

    了解如何创建视图

    展开全文
  • 2、表可以及时对它进行修改,但视图只能有创建的语句来修改 3、表是内容,视图是窗口 4、表只用物理空间而视图不占用物理空间,可以理解为计算机中的文件。 视图只是逻辑概念的存在,没有实际的物理记录,是...
  • 需求:创建视图,包含4列,按TEST2中的ID字段分组,合计PRICE字段,计数PRICE字段,用每组的合计数除以每组的数量 做出来的样子如下: 名称 合计价格 数量 单价(合计/数量) 电脑 600 3 200 笔记本 300 3 100 问题...
  • MySQL如何创建视图?本篇文章小编给大家分享一下MySQL创建视图代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。基本语法可以使用 CREATE VIEW 语句来...
  • 从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图可以使用户操作方便,并保障数据库系统...
  • MySQL如何创建视图

    2021-01-19 21:47:29
    可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 ...
  • 创建或修改视图: create(alter) view abc as select  l.id as lId,  cast(l.password as int) as password, 字符串 ---> int  cast(l.age as int) as ag
  • 方法如下: Create View ViewName As Select Cast(Null As Varchar(10)) ColumnA From Table_Name
  • 创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。基本语法可以使用 CREATE VIEW 语句来创建视图。语法格式如下:CREATE VIEW AS 语法说明如下。:指定视图的...
  • 1、创建订单信息视图 create view 视图名(列名,...) as select 语句[with check point]; create view v_order(oid,odate,memo,uid,zip,address,name,pid,pname,price,quantity) as select ob.oid, ob.odate...
  • 创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。基本语法可以使用 CREATE VIEW 语句来创建视图。语法格式如下:CREATE VIEW AS 语法说明如下。...
  • 创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。基本语法可以使用 CREATE VIEW 语句来创建视图。语法格式如下:CREATE VIEW AS 语法说明如下。...
  • oracle如何创建视图

    万次阅读 2018-06-11 11:17:30
    数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立性,试图可从多个表检索数据。 4.对于相同的数据可产生不同的视图。 ...
  • mysql如何创建视图

    2021-01-12 11:53:41
    视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。 mysql视图可以使用SQL CREATE VIEW命令创建。...
  • SQL 如何创建视图

    2017-08-10 11:28:14
    本章讲解如何创建、更新和删除视图。 SQL CREATE VIEW 语句 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库...
  • Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。表和视图Oracle中...
  • 1、为什么要使用视图  1.进行多表联合查询时,编写程序时每调用一次需编写一次,不太现实,容易出错;  这时把所需的数据集于视图...//在SQL Sever数据库创建表 create table tb_stu (  stuNo int primar...
  • 基本语法可以使用 CREATE VIEW 语句来创建视图。语法格式如下:CREATE VIEW AS 语法说明如下。:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。:指定创建视图的 SELECT 语句,可用于查询...
  • 视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。mysql视图可以使用SQL CREATE VIEW命令创建。...
  • Navicat for MySQL如何创建视图

    千次阅读 2018-06-16 20:38:06
    当然也可以选择navicat for mysql视图创建工具来创建。如图,把表一个一个的挪过去,如果你的表设计主外键的关联关系没问题的话,它们就会自动的连上线了。然后如图所示为你要展示的内容打上勾,点击保存就可以了。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,681
精华内容 672
关键字:

数据库如何创建视图