视图

  • 隐藏特定的数据

    • 例如职员查看教师表时,不应看到工资。
  • 虚关系:不需要预先存储执行结果。

    • 执行select * from s where ⋯ ⋯ \cdots会计算出查询结果并存储下来。
    • 当底层元组改变,存储的结果将与现结果不匹配。
  • 当定义一个视图时,数据库系统存储视图的定义本身,而非存储执行结果

    • 但需要注意:用于定义视图的关系被修改,视图将过期。
  • 定义视图

create view faculty(ID,name,dept_name) as
select ID,name,dept_name
from instructor2;
  • 两个关系创建视图,存在插入问题

    • 向视图中插入一条元组

      • 关系表1插入一条元组
      • 关系表2插入一条元组
  • with check option

    • 视图定义的末尾包含with check option子句来定义视图。
    • 解决问题:如果向视图中插入一条不满足视图的where子句条件的元组,数据库系统将拒绝插入操作。
select *
from instructor2
where dept_name='math' with check option;

事务

  • 查询和更新语句的序列组合

  • commit work:提交当前事务

  • rollback work:回滚当前事务(事务执行过程中出错)

  • 一个事务在完成所有步骤后提交,不能完成所有动作时回滚

  • 默认情况下每个sql语句自成一个事务,执行完提交

  • 实例

授权

  • SQL标准包括select、insert、update和delete权限。

  • 授予权限

grant 权限 on 关系名 to 用户;
grant select on department to Amit,Satoshi;
  • 回收权限
revoke 权限 on 关系名 from 用户;
revoke select on department from Amit,Satoshi;

索引

  • 加了主键的表:聚集索引
create index 索引名 on 关系名(属性);
create index studentID_index on student(ID); 
  • 内部使用平衡树,数据库查询数据的速度增快,写入数据(增、删)的速度下降,保持平衡树的平衡状态。

    • B树、B+树

      • B树每个磁盘块不仅存储主键,还存储主键之外的数据。
      • B+树非叶子结点的每个磁盘块仅存储主键
      • B+树的磁盘读写的代价更低。B+树内部结点没有指向关键字具体信息的指针,内部结点相对于B树更小。
      • B+树查询更加稳定。非终端结点不存储数据信息,仅是叶子结点中关键字的索引,每一个关键字和其数据的查询均是从根到叶子的路径,查询长度相同,效率相当。
      • 参考:https://blog.csdn.net/qq_26768741/article/details/53164202
      • 参考:https://blog.csdn.net/zwz2011303359/article/details/63262541
  • 聚集索引

    • 包含记录的文件按照某个搜索码指定的顺序排序。
  • 非聚集索引

    • 搜索码指定的顺序与文件中记录的物理排序不同的索引。
  • 稠密索引

    • 文件中的每一个搜索码值都有一个索引项。
  • 稀疏索引

    • 只为搜索码的某些值建立索引。
  • 只有索引是聚集索引时才能使用稀疏索引。

  • 索引项:由一个搜索码值和指向具有该搜索码值的一条或多条记录的指针构成。

  • 稠密索引比稀疏索引更快的定位一条记录。

  • 稀疏索引占空间较小,插入和删除时所需的维护开销小。

范式

  • 第一范式:所有域都是原子的。

  • 第二范式:完全依赖

    • AB是主键 AB->C , A->C(部分依赖)
  • 第三范式:不存在传递依赖

    • A->B , B->C(传递依赖)
  • BCNF范式:一般不要求。

数据库设计阶段

  • 概念设计阶段:实体—联系模型

  • 逻辑设计阶段:关系数据模型

  • 物理设计阶段:文件组织格式和索引结构选择

事务

另一篇博文有介绍:https://blog.csdn.net/weixin_40087851/article/details/81878307

数据库基础知识汇总(二)相关推荐

  1. SQL Server数据库基础知识汇总

    目录 目录 一.数据库概念 1.1 什么是数据库 1.2 为什么用数据库 1.3 数据库的发展历史 1.4 数据库分类 1.5 DBMS数据库管理系统 二. SQL(Structured Query ...

  2. 数据库基础知识汇总(一)

    五个基本的关系代数操作 并.差.笛卡尔积.选择.投影 数据库语言四大类 DQL(Data Query Language):数据库查询语言. DDL(Data Definition Language): ...

  3. Oracle数据库基础知识(二)

    视图 ---视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表. ---查询语句创建表 create table emp as select * from scott.emp; select ...

  4. 数据库基础知识汇总!

    主流的数据库软件都有哪些?开原可以跨平台的数据库都有哪些? 甲骨文:orcale IBM:DB2 微软:SQL server 开原的可以跨平台的: Mysql:开源切跨平台:           Or ...

  5. 数据库基础知识(二)数据库分表技术

    数据库分表技术: 1. 分表技术 a). 水平分割(分表) 将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,MYI索引文件,frm表 ...

  6. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  7. 一幅长文细学GaussDB(二)——数据库基础知识

    文章目录 2 数据库基础知识 2.1 数据库管理简介 数据库管理 数据库管理工作范围 对象管理 制定数据库对象命名规范 备份和恢复 灾难恢复 备份方式 数据库安装 数据库卸载 数据库迁移 数据库扩容 ...

  8. 脑科学与脑电基础知识汇总

    点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑科学与脑电基础知识汇总 该部分汇总了社区分享的部分脑科学.EEG.fNIRS.BCI.人机交互等相关知识. 脑电与情绪 ...

  9. oracle数据库基础知识总结,oracle数据库基础知识学习笔记

    oracle数据库基础知识学习笔记 一.oracle数据库类型: Char:  字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...

  10. 网络基础知识汇总学习

    一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...

最新文章

  1. 页面切换语言包使用session不用cookie
  2. MySQL 配置数据库编码
  3. shell脚本——字符串 数组
  4. 摩托罗拉能否追回逝去的那些年?
  5. mysql page_一文理解MySQL中的page页
  6. 解决VS2019窗体设计器不显示
  7. 《那些年啊,那些事——一个程序员的奋斗史》——79
  8. php 文件指定位置添加内容,C++_VC++在TXT文件指定位置追加内容的方法,本文实例讲述了VC++操作文本文 - phpStudy...
  9. 杂谈!了解一些额外知识,让你的前端开发锦上添花
  10. promise.prototype.catch()
  11. K进制 nyoj882
  12. 2017 Material design 第三章第四节《字体与排版》
  13. matlab设置脚本,MATLAB脚本和功能
  14. Typora安装主题方法
  15. 12.21 linux前戏
  16. VaR的应用:选择5家上市商业银行的股票交易致据(最近3年)使用 Weibull分布法估计其90天周期95%置信水平的VaR序列,并面出VaR时序图,计算每支股票最近3年内肤幅超过VaR预测园值的次
  17. paip 破解网站手机验证码
  18. Ubuntu安装“启动引导器”的设备选哪一项,选默认还是选/boot分区?
  19. SuperData最新报告:2017年VR硬件营收将达到36亿美元
  20. 网络工程师月入五万难不难?

热门文章

  1. spring boot 01 项目
  2. 你知道年薪百万的程序员是如何对时间管理吗?
  3. [通俗易懂]无线通信读书笔记05(统计多径信道模型)
  4. 机器学习作业-线性回归 南京房价预测
  5. Local Solver 超大规模数学优化器/求解器介绍和试用
  6. scala+spark: 创建RDD时,显示类型不匹配,Type mismatch。
  7. 流量回放-SandboxRepeater
  8. phrases practice_LEVEL UP | 看完这篇,帮你摆脱用英文讲电话的恐惧
  9. 网卡自动下线了?别怕,先看看这里!(实测有效)
  10. 如何用纯 CSS 绘制一个充满动感的 Vue logo