还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
视图与查询视图是基于基础表创建的虚拟表视图可以简化查询、限制对数据的访问、提高数据安全性什么是视图
1.虚拟表自定义数据视图视图是一种虚拟表,它基于一个视图允许用户定义他们自己的数或多个基础表中的数据视图本据视图,只显示他们需要的信息身不存储数据,而是从基础表中,而无需访问整个基础表检索数据简化数据访问通过定义视图,可以简化对数据的访问,并隐藏数据的复杂性,使用户更容易理解和使用数据视图的优点简化查询提高数据安全性增强数据一致性灵活的数据访问视图可以将复杂查询封装成简视图可以限制用户对数据的访视图可以保证数据一致性,避视图可以根据需要创建不同的单易懂的语句,方便用户使用问权限,只允许查看特定数据免重复数据或错误数据数据视图,方便用户从不同角,提高安全性度查看数据视图的局限性数据结构限制查询性能影响设计复杂度视图基于基本表,无法直接修改视图数据视图的查询语句会被嵌入主查询语句中,可设计和维护视图需要额外的工作量,增加了能会降低查询效率数据库管理的复杂性视图的创建
2.视图是基于底层表或其他视图定义的虚拟表,它存储的是查询结果集的描述,而不是实际数据创建视图的过程实际上是将一个查询语句定义为视图,并赋予它一个名称创建视图的语法CREATE VIEW视图名称AS SELECT语句创建视图的关键字用户定义的视图名称指定视图的定义定义视图的数据来源视图的命名规则
11.唯一性
22.合法性视图的名称必须在数据库中是视图的名称必须符合数据库的唯一的,不能与其他表、视图命名规则,例如不能包含特殊或其他数据库对象同名字符,不能以数字开头等
33.描述性
44.易读性视图的名称应该能够清晰地描视图的名称应该简洁明了,易述视图所包含的数据和功能,于记忆和理解,便于开发人员方便理解和维护使用视图的操作
3.视图是数据库中的一种重要结构,它允许用户以特定方式查看数据视图的操作包括修改视图和删除视图修改视图视图更新结构调整权限管理修改视图定义,更新视图内容调整视图的列、条件、排序等,满足新的需修改视图访问权限,控制用户对数据的访问求级别删除视图
11.删除语句
22.依赖关系使用DROP VIEW语句删除视如果其他视图或存储过程依赖图需要指定视图的名称于要删除的视图,则无法删除该视图
33.权限控制用户需要拥有删除视图的权限才能执行DROP VIEW语句视图的实现原理
4.视图的实现原理可以分为两种,一种是物化视图,另一种是虚拟视图物化视图是将视图的数据实际存储在数据库中,而虚拟视图则是在查询时动态生成数据物化视图预先计算物化视图将查询结果预先计算并存储,以提高查询速度它包含实际数据,而不是指向原始数据的指针数据更新虚拟视图动态创建高效查询虚拟视图在查询时才生成,不存仅执行查询语句时才生成,无需储实际数据预先定义和创建灵活应用可根据需要动态创建视图,满足各种查询需求视图的应用场景视图在数据库设计和管理中发挥着重要作用,提供了一种灵活且强大的方式来访问和操作数据视图可以用于简化数据访问、增强数据安全性、实现数据抽象和提高数据一致性权限管理数据访问控制视图可以用于限制用户对数据的访问权限,例如,限制用户只能查看特定表中的某些列数据安全通过将敏感数据隐藏在视图中,可以防止用户直接访问原始数据,提高数据安全性角色划分可以为不同角色的用户创建不同的视图,以满足不同角色的特定需求数据抽象隐藏复杂性视图将底层数据表隐藏起来,简化数据访问提供定制视图视图可以根据需求进行定制,提供特定数据和格式数据保护视图限制用户访问权限,保护底层数据安全什么是查询查询是数据库中最基本的操作之一通过查询,用户可以从数据库中获取需要的信息查询语句的组成SELECT子句FROM子句指定要检索的列指定要检索的数据源WHERE子句GROUP BY子句筛选符合条件的行根据指定列分组数据查询的处理过程解析1数据库系统首先解析查询语句优化2优化器根据查询条件生成最佳执行计划执行3执行器根据执行计划访问数据并返回结果数据库系统会对查询语句进行解析、优化和执行,最终返回查询结果解析阶段将查询语句转换为内部表示形式;优化阶段会生成最佳执行计划,以提高查询效率;执行阶段则根据执行计划访问数据并返回结果语句SELECTSELECT语句是数据库查询的核心它用于从数据库表中检索数据SELECT语句定义了要检索的列,以及检索数据的条件子句SELECT数据选择列名或表达式结果展示SELECT子句用于指定要检索的列名或表达可以使用星号*表示所有列,或者列出具SELECT子句确定了查询返回的列,从而决式,决定查询结果中包含哪些数据体列名,也可使用表达式进行计算或筛选定结果集中数据的格式和内容聚合函数统计计算数据分组聚合函数用于对一组数据进行统计计算,聚合函数通常与GROUP BY子句结合使用例如求和、平均值、最大值、最小值等,将数据分组后,再对每个组进行统计计算例如,可以使用SUM函数计算所有订单例如,可以将学生按照年级分组,然后分的总金额,使用AVG函数计算所有学生别计算每个年级的平均成绩的平均成绩子句WHEREWHERE子句用于筛选满足特定条件的记录,它就像一个条件过滤器,过滤掉不符合条件的数据比较运算符
11.等于
22.不等于用于比较两个值是否相等,符号为“=”用于比较两个值是否不相等,符号为“!=”或“”
33.大于
44.小于用于比较两个值的大小关系,符号为“”用于比较两个值的大小关系,符号为“”
55.大于等于
66.小于等于用于比较两个值的大小关系,符号为“=”用于比较两个值的大小关系,符号为“=”逻辑运算符1AND运算符2OR运算符如果所有条件都为真,则结果如果至少一个条件为真,则结为真例如,年龄大于18且果为真例如,年龄大于18具有驾驶执照或具有驾驶执照3NOT运算符取反操作符例如,年龄不等于18子句GROUP BYGROUP BY子句用于对数据进行分组,便于对分组后的数据进行统计和分析在GROUP BY子句中,需要指定要分组的列名,例如GROUPBY姓名,年龄分组聚合分组汇总细粒度分析数据透视根据一个或多个列对数据进行分组,然后计通过对数据进行分组,可以更深入地了解数分组聚合可以帮助用户从不同角度查看数据算每个组的统计信息,例如总和、平均值、据背后的趋势和模式,例如不同地区的销售,从而获得更全面的洞察最大值和最小值情况条件HAVING过滤分组条件表达式HAVING子句用于过滤满足特定条件的分组HAVING子句包含一个条件表达式,通常使用聚合函数和比较运算符它类似于WHERE子句,但作用于分组结果,而不是原始数据例如,可以根据分组的平均值、最大值或总和筛选结果子句
10.ORDER BYORDER BY子句用于对查询结果进行排序ORDER BY子句指定要排序的列和排序顺序,可以是升序(ASC)或降序(DESC)排序方式升序按照数据从小到大排列,例如按年龄从小到大排序降序按照数据从大到小排列,例如按成绩从高到低排序字母顺序按照字母顺序排序,例如按姓名首字母排序多列排序多列排序排序方向多个列进行排序,使用多个列名可以使用ASC(升序)或DESC进行排序,多个列排序时,以第(降序)关键字指定排序方向一个列排序为主,如果第一个列值相同,则根据第二个列排序,以此类推示例ORDERBY列名1ASC,列名2DESC。
个人认证
优秀文档
获得点赞 0