数据库学习的一天(4)

第七讲

1.(NOT)IN子查询:,检查是否是集合中的元素

2.非相关子查询:

3.相关子查询:

4. θ sone(子查询),θ all(子查询):前者要求子查询的集合部分满足,而后者要求全部满足。

5.θ any:因为其模糊性,而被弃用。

6. = some()等同于 in()  but <>some ()不同于 not in()~ <>all()      

7.(not)exist(子查询):用来检查子查询是否存在元组,核心思想: not exist 即通过关联子查询,搜索是否有相应的元组,所有=不存在一个没有

8.select 展示的类目:列属性,常量,运算式,聚集函数,

9.聚集函数一共有5: 

扫描二维码关注公众号,回复: 9704761 查看本文章

   错误例子分析:count(*)用于判断元组的格式,而where是针对单一元组的判定,count(*)可用在having里

10,分组+分组过滤:

11.区分having和where:在其作用域上,前者作用在一个元组的组中,而后者作用在单个元组当中

12.并,交,查操作:

     当带有all的时候是包的运算,而不带all的时候是集合的运算,集合没有相同的元素,而包会有相同的元素。

13.上述三种操作用于查询后的元组集合。

14.何为空值:即不存在,不知道的值,而不是0,会影响到聚集函数,算术运算。 空检测

15.要点总结:

16.内连接外连接:

   内连接:即相当于形成笛卡尔积,全外连接保存左右所有的元组  非自然连接时可选择相应的连接条件  using则为削弱版的自       然连接,用于指定相同列中的子集。

17.视图:包含外模式与E-C映像,E为外,C为概念模式(概念模式的形式为基本表)

18.视图公式:,check option用于检查当对视图进行insert,delete,update操作时的元组是否满足条件。

19.用select语句就能直接访问查询视图。

20.

错题纠正

   分析:DML四大操作,增删改查公式的操作后面不用带table,DDL,创改扔,的要带

分析:不排除有些同学没有成绩,所以取补集要考虑进去

count(*),不能放在where中,这是错误的用法

带上all就是集合行为了,取差应为0

因为是非关联子查询,exist皆满足,所以所有student的元组都能返回

第八讲

1.完整性:维持数据库正确性,有效性,一致性的特性

2.完整性区分:(语义完整性亦可称作用户自定义完整性)

3.完整性约束条件:(p:约束的具体条件   A:在什么操作前后启动)

4.完整性分类:①对象->    域:关系=前者关注与单一域内的数值,后者则关注与域之间数值的关系

                         ②来源->    结构:内容=前者关注与依赖约束,主键约束,非空约束,而后者关注与内容,如值区间

                         ③状态->   静态:动态=前者关注于数据的本身,后者关注于数据变更的操作

5.列约束:(只能针对一个列)

   cascade和set null的差别:前者当被参照源消失则会顺带一起消失,而后者则是将引用设为空

6.表约束:(针对一个表,可以约束列之间的关系,元组之间的关系)

7.断言:即一个谓语表达式,在每一次的更新中都会自行去检查是否有违反断言。

8.Trigger触发器:用来实现动态约束,实现过程完整性

      ATOMIC:原子性,即操作为一原子操作,中间没间断的执行,没有其他操作可以插入。

用来定义操作前后的表或元组,方便之后的操作。

9.安全性:DBMS应该保证的一种特性->免受非法,非授权的用户的使用,泄露,更改,破坏

10.数据安全的级别:

11.数据库系统的安全级别:

12.安全机制的划分:

13.DBMS如何实现自主安全性:

DCL!!!!

14.安全性访问规则:

15.安全性控制示例:①存储矩阵(按名控制,即标明某用户对某属性的权限)②视图(按内容控制,即标明某用户所能访问的         视图,以此来约束用户所能访问到的数据)

16.用户级别,和差别

最普通的关系用户:只能进行select操作

账户级别:能进增删改操作,还能进性创建表,约束,视图

DBA:进行一切操作,        高级用户掌控低级用户的所有

17.授权命令的公式:

18.收回授权命令公式:

19.授权轨迹:

首先由DBA给予权限->而创建表的用户自然获得账户级别->可以授予他人以自己表的关系级别

若赋予权限时,还有标明了WITH GRANT OPTION,那么被授权者也能给别人授权

19.强制安全性机制:

高级用户可以阅读低级数据,但高级用户不能写低级数据。

问题分析:

安全性约束有DCL语句控制

发布了24 篇原创文章 · 获赞 3 · 访问量 1908

猜你喜欢

转载自blog.csdn.net/z1261203654/article/details/104484078