当前位置: 首页 > news >正文

青海城乡住房建设厅网站/seo的中文意思

青海城乡住房建设厅网站,seo的中文意思,by wordpress 博客,电子商务网站建设的步骤作者:天山老妖S 链接:http://blog.51cto.com/9291927 一、视图简介 1、视图简介 视图是由SELECT查询语句所定义的一个虚拟表,是查看数据的一种非常有效的方式。视图包含一系列有名称的数据列和数据行,但视图中的数据并不真实在于数…

作者:天山老妖S

链接:http://blog.51cto.com/9291927

 

一、视图简介

1、视图简介

视图是由SELECT查询语句所定义的一个虚拟表,是查看数据的一种非常有效的方式。视图包含一系列有名称的数据列和数据行,但视图中的数据并不真实在于数据库中,视图返回的是结果集。

2、创建视图的目的

视图是存储在数据中的查询的SQL语句,创建视图主要出于两种原因:

A、实现安全。视图可设置用户对视图的访问权限。

创建查询是JAVA班学生成绩的视图javaview、NET班学生成绩的视图netview,授权java能够访问javaview视图,授权net可以访问netview视图。

create view javaviewasselect a.StudentID,a.sname,email,c.subJectName,a.class,b.mark from TStudent a join TScore b on a.StudentID=b.StudentIDjoin TSubject c on b.subJectID=c.subJectID where a.class='JAVA';create view netviewasselect a.StudentID,a.sname,email,c.subJectName,a.class,b.mark 

授权java用户访问schoolDB.javaview视图

grant select on schoolDB.javaview to 'java'@'%' identified by '123456';

授权net用户访问schoolDB.netview视图

grant select on schoolDB.netview to 'net'@'%' identified by '123456';

使用SQL  Manager客户端连接数据库时,java、net用户分别可以访问javaview视图和netview视图。

B、隐藏数据复杂性。视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等。视图就像一个视口,从视口中只能看到过滤后的某些数据列。

3、视图的优点

A、视图能简化用户操作

视图机制使用户可以将注意力集中在所关心地数据上。如果数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的数据查询操作。例如,定义了若干张表连接的视图,就将表与表之间的连接操作对用户隐藏。用户所作的只是对一个虚表的简单查询,而虚表是怎样来的,用户无需了解。

B、视图使用户能以多种角度看待同一数据

视图机制能使不同的用户以不同的方式看待同一数据,当许多不同种类的用户共享同一数据库时。

C、视图对重构数据库提供了一定程度的逻辑独立性

数据的物理独立性是指用户的应用程序不依赖于数据库的物理结构。数据的逻辑独立性是指当数据库重构时,如增加新的关系或对原有的关系增加新的字段,用户的应用程序不会受影响。层次数据库和网状数据库一般能较好地支持数据的物理独立性,而对于逻辑独立性则不能完全的支持。

在关系数据库中,数据库的重构造往往是不可避免的。重构数据库最常见的是将一个基本表“垂直”地分成多个基本表。例如:将学生关系student(sid,name,sex,age,dept,leader),分为studentinfo(sid,sname,sex,age) 和deptinfo(sid,dept)两个关系。原表student为studentinfo表和deptinfo表自然连接的结果。如果建立一个视图student:

CREATE VIEW student(sid,sname,sex,age,dept) 
AS SELECT studentinfo.sid,studentinfo.sname,studentinfo.sex,studentinfo.age,
deptinfo.dept FROM studentinfo, deptinfo WHERE studentinfo.sid=deptinfo.sid;

尽管数据库的逻辑结构变为studentinfo和deptinfo两个表,但应用程序不必修改,因为新建立的视图定义为用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。

视图只能在一定程度上提供数据的逻辑独立,比如由于视图的更新是有条件的,因此应用程序中修改数据的语句可能仍会因为基本表构造的改变而改变。

D、视图能够对机密数据提供安全保护

在设计数据库应用系统时,可以对不同的用户定义不同的视图,使机密数据不出现在不应该看到机密数据的用户视图上。如student表涉及全校15个院系学生数据,可以在其上定义15个视图,每个视图只包含一个院系的学生数据,并只允许每个院系的主任查询和修改本院系学生视图。

E、适当的利用视图可以更清晰地表达查询

例如经常需要执行这样的查询“对每个学生找出他获得最高成绩的课程号”。可以定义一个视图,求出每个同学获得的最高成绩。

4、创建视图的语法

CREATE VIEW viewname(列1,列2...) AS SELECT (列1,列2...) FROM ...;

创建学生信息的视图:

create view studentview as select studentID, sname, sex from TStudent;

二、视图的操作

1、视图的使用

视图的使用和普通表一样。

select * from studentview;

不能在一张由多张关联表连接而成的视图上做同时修改两张表的操作;

视图与表是一对一关系情况:如果没有其它约束(如视图中没有的字段,在基本表中是必填字段情况),可以进行增删改数据操作。

2、删除视图

drop view studentview;

3、通过视图修改数据

如果视图的基表是一张表。可以通过视图向基表插入记录,要求视图中的没有的列允许为空。

A、通过视图插入数据到表

insert into studentview(studentID,sname,sex) values('01001','孙悟空','男');

查询插入的记录,可以看到通过视图没有的列,值为空或默认值。

B、通过视图删除表中记录

视图的基表只能有一张表,如果有多张表,将不知道从哪一张表删除。

delete from studentview where studentid = '01001';

C、通过视图修改表中记录

只能修改视图中有的列。

update studentview set sname = '孙悟空' where studentid = '00001';

4、查看视图的信息

查看视图的信息

describe viewname; desc scoreview;

查看所有的表和视图

show tables;

查看视图的信息

show fields from scoreview;

5、修改视图

CREATE OR REPLACE VIEW viewname AS SELECT [...] FROM [...];alter view studentview 
as select studentID as 学号, sname as 姓名, sex as 性别 from TStudent;

6、WITH CHECK OPTION

如果在创建视图的时候指定了“WITH CHECK OPTION”,更新数据时不能插入或更新不符合视图限制条件的记录。

三、视图实例

1、使用视图创建视图

创建视图的查询的表称为基表,基表可以是视图和表。

create view sview as select studentID, sname, sex from studentview where studentID>990 and sex='男';

2、创建学生成绩表的视图

创建一个视图,视图包含学生 学号、姓名、学科和成绩。

create view view1 as select a.StudentID, a.Sname, c.subJectName, b.mark from TStudent a join TScore b on a.StudentID = b.StudentID join TSubject c on b.subJectID = c.subJectID;

 创建成绩视图,包含学号、姓名、计算机网络课程成绩、数据结构成绩、JAVA开发成绩。

create view scoreview as select stduentid 学号, sname 姓名, AVG(case subjectname when '计算机网络' then mark END) 计算机网络,AVG(case subjectname when '数据结构' then mark END) 数据结构,AVG(case subjectname when 'Java开发' then mark END) JAVA开发 from view1 group by 学号;

 

喜欢的小伙伴们可以搜索我们个人的微信公众号“程序员的成长之路”点击关注或扫描下方二维码

转载于:https://www.cnblogs.com/cxydczzl/p/9908728.html

http://www.lbrq.cn/news/1068049.html

相关文章:

  • 站长之家alexa排名/品牌推广的方式
  • wordpress obj cache/上海百度seo公司
  • 给一个网站/汽车品牌推广策划方案
  • 古典风格网站模板/怀来网站seo
  • 网站做图尺寸/百度网盘搜索引擎入口哪里
  • 云南省人防工程建设网站/手机网站建设价格
  • 深圳网站建设信科便宜/知乎关键词排名工具
  • 怎么用手机开发app/上海外贸网站seo
  • 注册一个做网站的公司好/好的seo平台
  • 安徽网站建设服务平台/代推广app下载
  • 网站建设优化服务精英/郑州疫情最新动态
  • 简述网站的建设流程图/市场营销咨询
  • 局网站建设工作/百度竞价sem
  • 网站相册源码/广告策划方案范文
  • 家在深圳业主论坛/福州百度快速优化
  • 做yield网站多少钱/重庆二级站seo整站优化排名
  • 创同盟做网站/国产搜什么关键词最好看
  • 做网站发布网/seo培训公司
  • 武汉自媒体公司/seo站群优化技术
  • 装饰公司起名字寓意好的字/高级seo课程
  • 搞个网站要多少钱/建站优化公司
  • 长沙如何优化排名/seo数据是什么
  • 扁平化网站建设公司/杭州百度公司在哪里
  • 分销网站/seo公司优化
  • 做网站九州科技/友情链接地址
  • 中国住房和城乡建设部网站注册中心/百度网站推广费用多少
  • 哪家做网站/网站分析工具
  • 工商局网站做年报/建设企业营销型网站
  • 网站建设有什么工作/网站及搜索引擎优化建议
  • 模板网站建设信息/seo外链网
  • 飞算科技:用自主创新技术,为行业数字化转型按下 “加速键”
  • Qt-vs加载exe图标
  • 苍穹外卖项目学习——day1(项目概述、环境搭建)
  • 广东省省考备考(第六十五天8.3)——判断推理:图形推理(数量规律题目总结)
  • WSUS服务器数据库维护与性能优化技术白皮书
  • 决策树学习全解析:从理论到实战