数据库系统概述
0、数据库的安全性https://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html
将现有登录名映射成为某一个数据库的用户,然后给你用户授权,让用户具有操作数据的权限。
1、数据管理系统中的DDL,DML
数据库系统的结构
分为单用户结构,主从结构,分布式结构,客户-服务器、浏览器-应用服务器/数据库服务器多层结构。
主从结构:https://zhidao.baidu.com/question/89873922.html。(多终端是指仅有一台主机,并在此主机上部署数据库与应用程序,多个用户通过多个终端进行访问,其中多终端是指一个主机处理任务,多组显示器显卡等外设构建多台虚拟与此主机计算能力相同的主机)
解释1:https://blog.youkuaiyun.com/github_36268254/article/details/52781284
解释2:https://blog.youkuaiyun.com/yuan_flysky/article/details/9228633
层次模型不能直接表示多对多联系,为什么?可采用哪些方法进行多对多联系的表示
层次模型采用树型结构表示数据与数据间的联系。在层次模型中, 每一个节点表示记录类型(实体), 记录之间的联系用节点之间的连线表示,并且根节点以外的其他节点有且仅有一个双亲节点。层次模型不能直接表示多对多联系,若要表示多对多的联系,若要表示多对多的联系,可采用如下两种方法:
冗余节点法——两个实体的多对多的 联系转换为两个一对多的联系,该方法的优点是节点清晰, 允许节点改变 存储位置,缺点是需要额外的 存储空间,有潜在的数据不一致性。
虚拟节点分解法——将冗余节点转换为虚拟节点,虚拟节点是一个指引元,指向所代替的节点,该方法的优点是减少对存储空间的浪费,避免数据不一致性, 缺点是改变存储 位置可能所引起虚拟节点中指针的修改。
————————————————
版权声明:本文为优快云博主「幽香飞狐」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_40307919/article/details/83154191
数据库系统的三级模式:外模式(视图或者某些表),内模式(数据库的物理结构和存储方式),模式。
其中模式是指:将一个事物的逻辑结构(E-R图)进行转化成能够存储在数据库中的数据形式,则此数据形式称为模式。
一个应用程序只能使用一个外模式,原因为:若应用程序使用1个以上的外模式表示其将看到不该他看到的东西。注意:外模式(有1个及以上的表或视图构成的模式的子集)
关系数据库
注意:关系数据库的中的表要求表中的每个属性是不可分的,其原因为若表中有表则会是后续针对关系表的代数运算变的更加复杂。
数据库中的内模式
数据库中的内模式所描述的数据在物理介质上的存储方式和物理结构,其中存储方式指的是存储文件中数据是以堆存储还是按照某个属性值的升(降)序存储,而物理结构为具体存储文件的大小,是否可以跨物理页,数据是否加密等。
概念结构设计
数据的库中的内模式指的是:物理机构(数据库中索引文件和表文件具体存储在那个磁盘)和存储方式(例如顺序存储 ,B+,Hash等)
1、DBMS中的数据字典由SQL语句在运行过程中产生并存储于数据库系统中,是SQL运行的重要依据。DBMS中的数据字典不同于需求分析中的数据字典,需求分析中的数据字典称为数据的描述,称为元数据而非数据的本身,是数据的数据。
2、实体与实体间的关系是重点(1:1,1:n, n:m)。
3、实体和属性的划分原则:能作为属性对待的尽量作为属性对待
(1)作为属性应是不可再分的数据项
(2)作为属性不可与其他实体具有联系
4、利用规范化理论消除冗余(学完第6章后回来考虑此问题)
5、E-R图的集成
(1)设计各个子系统的分E-R图
(2)消除冲突、进行集成
数据库逻辑设计
注意1:联系为m:n的实体关系在向关系模型转换的过程中无法将一端的关系模式合并到另外一端的关系模式(直译就是无法在一个表中添加另外一个实体的码)例如:学生好老师是多对多,那么如果在学生表中添加教师的码,则会出现一个学生对应多个教师则会出现大量的数据冗余。因此针对m:n形联系需要重新构建关系模式。
疑问:如何确定数据依赖,以及关系范式。何为水平分解和垂直分解
6、在一般的DBMS中会给主码默认设置唯一索引
注:在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树
注意:何为等值连接和等值比较。
注意2:DBMS中的数据字典
数据库的重组和重构
1、重组:在重组时会停止前端业务,把数据库里表的数据放到磁盘的空闲空间上,删除原有的表或索引,重建空的表或索引后,再把数据导入新表或索引中,这个过程无误即数据库重组成功.但也有导入数据失败的情况,所以数据库重组的风险也比较大。
2、重构:重构:是对数据库模式的简单变更,在保持原有的行为语义和信息语义的情况下改进数据库设计。简单理解为既不添加新功能也不减少原有功能,既不添加新数据也不改变原有数据的含义。数据库模式包括结构(比如表和视图)和功能(比如触发器和存储过程)。重构要保持需求上的原有性,即在信息使用者的角度上数据库不能有所变动,重构包括不同种类:结构重构、数据质量重构、参照完整性重构、架构重构、方法重构和转换。
数据库中模式和基本表的关系
https://blog.youkuaiyun.com/qq_35043757/article/details/53424695
7、当游标定义中的select语句带有union或order by子句,或者该select语句相当于定义了一个不可更新的视图时,不能使用current形式的update语句和delete语句。
解释:其中如果游标的select 子句中包含有order by子句,DBMS将把游标限制为read only,因此不能在相同的游标select语句中同时有order by子句和for update子句。也就是说,只要游标的select子句中包含有order by子句,那么该游标就是不可更新的,也就不能使用定位delete语句或者定位update语句对其源表进行删除或更新操作。
————————————————
版权声明:本文为优快云博主「xiang37」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/xiang37/article/details/84054004