数据库系统概论

数据库系统是数据存储、管理和维护的核心,包括数据库、数据库管理系统、用户等组成部分。数据模型是其基础,如关系模型,而SQL是用于操作数据库的标准语言。数据库的完整性确保数据正确性,安全性措施防止非法访问。文章涵盖了从数据冗余问题到恢复策略的全面知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

数据库系统概述

数据

数据:
描述事物的符号记录

数据库

数据库:
数据库是长期储存在系统内部有组织,可共享的大量数据的集合。
数据库储存的是数据和数据之间的联系

数据库中最小的单位是数据项

数据库数据的特点:
具有永久储存、有组织、可共享三个基本特点。还具有较高的独立性、共享性、冗余度低、易扩展。
数据库的特点之一是共享,共享指的是多种应用、多种语言、多个用户互相覆盖地使用数据集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库管理系统

数据库管理系统:
数据库管理系统是一个位于用户和操作系统之间的数据管理软件。

数据库管理系统的主要功能
①数据定义功能
②数据操作功能
③数据库的建立和维护
④数据库的运行管理和事物管理
⑤数据的组织、存储和管理

数据不一致的根本原因

在数据库中,产生数据不一致的根本原因是

  1. 数据冗余
  2. 并发控制不当
  3. 故障和错误造成

数据系统的发展阶段

①人工管理阶段:
         不储存数据,不共享数据,不具有独立性。


② 文件系统阶段
       可以保存数据但是共享性差,数据冗余度大,独立性差


③数据库管理系统阶段
          数据库管理系统的出线使用信息系统以加工数据的程序为中心 转向了以   共享数据库为中心的新阶段。


数据库系统的核心是数据库管理系统

数据库系统的组成

数据库系统是由数据库、数据库管理系统及开发工具、数据库管理员、用户及应用程序组成的储存、管理、处理和维护数据的系统。


数据库系统的特点

① 数据结构化(数据可以共享)也是数据库系统和文件管理系统最本质的区别
② 共享性高、冗余度低且易扩充
③数据独立性高:
        物理独立性:用户应用程序和数据库中的数据的物理储存是相互独立的。
        逻辑独立性:用户应用程序和数据库的逻辑结构是相互独立的。
③数据是由数据库管理系统统一管理和控制的。

数据模型

①数据模型是数据库系统的核心和基础
②数据模型是由数据结构、数据操作、数据的完整性约束条件三部分组成的
数据结构 是对数据系统的静态特性的描述,数据操作是对数据库系统的动态特性的描述。
④数据的约束条件规定数据及其联系的制约和储存制约。

数据模型分为

  1. 概论模型
  2. 逻辑模型和物理模型
              -逻辑模型:按照计算机观点对数据进行建模,主要用于数据库管理系统的实现。
                   --包括层次模型、关系模型、网状模型
              -物理模型:对数据最底层的抽象,主要是描述数据在系统内部表示方法和存取方法。或者在磁盘或磁带的储存方法和存取方法,是面对计算机系统的。

信息世界的基本概念

  1. 实体:客观存在并且相互区别的事物
  2. 属性:实体所具有的某一特征称
  3. 码:能够唯一标识实体的属性集
  4. 实体型:用实体名及其属性名集合来抽象和刻画同类实体。
  5. 实体集: 同一实体的集合
  6. 联系:实体集和实体集之间的关系

概念模型的一种表示方法:实体-联系方法(E-R)

联系

  • 实体之间联系是指不同实体集之间的联系。
  • 实体之间的联系有一对一,一对多,多对多等多种联系。
  • 实体内部的联系通常是指实体各属性之间的联系。

数据库系统结构

①模式是数据库中全体数据的逻辑结构和特征的描述。它仅仅涉及类型的描述,不涉及具体的值。
②模式是相对稳定的,实例是相对变动的。

数据库的三级模式结构

  1. 外模式:
       外模式又叫子模式或者用户模式,它是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述。

  2. 模式:
       模式又叫逻辑模式,是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

  3. 内模式:
       内模式又叫储存模式,一个数据库只可以有一个内模式,它是数据物理结构和储存方法的描述,是数据在数据库内部的组织方式。

数据库的二级映像功能和数据独立性

  1. 外模式/模式映像
           当模式发生改变时,由数据库国管理员对外模式/模式映像做出相应的改变,可以使外模式保持不变,保证了数据和程序的逻辑独立性。
  2. 模式/内模式
           当数据库的储存结构发生改变时,由数据库管理员对模式/内模式做出相应的改变,从而使模式保存不变, 保证了数据和程序的物理独立性。

数据库的独立性

  1. 逻辑独立性
  2. 物理独立性

数据库系统三级结构和两层映像的系统结构保证了数据库中的数据具有较高的逻辑独立性和物理独立性


关系数据库

关系模式:对关系的描述

关系就时一张表,一张二维表。

关系的描述称为关系模式,它可以形式化的用一个五元组

在这里插入图片描述
查看R、U、DOM、F的定义

关系数据库系统支持三级模式结构,其中外模式对应于视图或者局部基本表,模式对应于基本表,内模式对应于储存文件


### 关系语言分类
  1. 关系代数语言
  2. 关系演算语言
  3. sql

关系操作

  • 插入
  • 修改
  • 删除
  • 查询
关系操作的特点—集合的操作方式

一次一集合的操作方式

其中查询的操作分为

  • 笛卡尔积
  • 选择
  • 投影
  • 连接

查询的基本操作

  • 笛卡尔积
  • 选择
  • 投影

五种基本的关系运算:

  1. 选择
  2. 投影
  3. 笛卡尔积

关系的完整性

  1. 实体完整性
  2. 参照完整性
  3. 用户定义完整性

关系数据库标准语言sql

sql是结构化查询语言,是一种在数据库系统中查询或者对数据库中的数据进行更改的语言。

sql语言的特点

  1. 高度非过程化
  2. 综合统一
  3. 面向集合的操作方式
  4. 以同一种语言结构提供多种使用方式
  5. 简单易学

数据定义

定义模式

create schema 模式名 authorization 用户名

删除模式

drop schema 模式名<cascade|restrict>

定义基本表

create table 表名(
列名 数据类型 列级完整性约束

表级完整性约束
);

修改基本表

alter table 表名[ add [ colum ] 新列名 数据类型 [ 完整性约束 ] ]
[ add 表级完整性约束 ]
[ drop [ column ] 列名 [ cascade| restrict ] ]
[ drop [ constraint ] 完整性约束 [ restrict | cascade ] ]
[ alter column 列名 数据约束 ]

索引的建立和删除

create index [unique | cluster] 索引名 on 表名 (列名[次序]…)

修改索引名

alter index 旧索引名 rename 新索引名

删除索引

drop index 索引名;

聚簇函数

在这里插入图片描述

数据更新

插入数据

inster into 表名(属性名…) values(值…)

修改数据

update 表名 set 列名=表达式…
where 条件

删除数据

delete from 表名 where 条件

视图

什么是视图?

视图是一个虚表,是从一个或者几个基本表(或者视图)导出的表。它和基本表不同,数据库中只存放视图的定义,不储存对应的数据。

定义语句

create view 视图名 [ 列名… ]
as
子查询
[ with check option ]
with check option 表示进行修改,插入,删除时要满足谓词条件(子查询的条件表达式)

数据库的安全性

数据库的安全性是指?

数据库的安全性是指保护数据库以防止不合法的使用造数据库的数据被泄露、破坏,或者更改。

数据库的不安全因数

  1. 非授权用户对数据库恶意破坏,存取
  2. 数据库中重要或敏感的数据被泄露。
  3. 安全环境的脆弱性

数据库的安全性控制

①保护数据安全的一般方法是设置用户标记和存取控制
②安全性控制的一般方法

  1. 用户身份标识鉴别
            – 静态身份鉴别
            – 动态身份鉴别
            --生物特征鉴别
            --智能卡鉴别
  2. 存取控制
        --主要包括定义用户权限和合法权限检查
        --定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取子系统
        --存取机制分为自主存取控制方法和强制存取控制方法。
        --存取权限包括两方面,要存取的数据对象和对此数据对象进行操作的类型。
  3. 数据加密
        加密就是用算法将原始数据转化为不可识别的格式:主要的方法式替换和置换。
  4. 审计
      对数据库的所有操作记录到审计日志中,然后可以通过日志审查这里面是否有非法操作。
  5. 视图

定义存取权限称为授权

授权:

grant 权限 on 对象 to 用户 with grant option ;

with grant option 标识普通用户被授权后,可以把权限授权给别人。

存取权限:
在这里插入图片描述

回收权限

revoke 权限 on 对象 from 用户

数据库角色

什么是数据库角色?

数据库角色是一组于数据库操作相关权限的集合。

角色的创建

create role 角色名

角色授权

grant 权限 on 对象 to 角色

角色授予其他的角色或者用户

grant 角色1 to 角色2 with admin option

角色权限的回收

revoke 权限 on 对象 from 角色

数据库的完整性

数据库的完整性是指数据的正确性和相容性。

数据的完整性式指数据的正确 性、有效性和相容性


### 为了维护数据的完整性,数据库管理系统必须实现以下功能:
  1. 提供定义数据完整性约束条件的机制
  2. 提供完整性检查的方法
  3. 进行违约处理

三大完整性

  1. 实体完整性
  2. 参照完整性
  3. 用户定义完整性

断言

create assertion 断言名 check 子句

删除断言

create assertion 断言名

触发器

触发器又叫事件-条件-动作规则

定义触发器

create trigger 触发器名
{ before |after } 触发器事件 on 表名
referencing new | old row as 变量
for each {row | statement}
[ when 触发条件 ] 触发动作

删除触发器

drop triigger 触发器名

关系数据库理论

R(U,D,DOM,F)

  1. 关系R是符号化的元组语义
  2. U是一组属性
  3. D是属性组U中的属性来自的域
  4. DOM为属性到域的映射
  5. F是属性组U上的一组数据依赖

  6. 跳转至关系模式的五元组(格式)

为什么要引入范式(依赖带来的问题)?

①数据冗余
②更新异常
③插入异常
④删除异常

函数依赖

范式分类

  1. 第一范式
        所有字段的值是不可分的原子值
        或使属性域变成简单域
  2. 第二范式
        非主属性必须完全依赖于主属性,消除了非主属性对主属性的部分依赖
  3. 第三范式
        非主属性必须直接依赖于主属性,消除了传递依赖
  4. BCNF
        消除了每一属性对候选键的传递依赖,消除了主属性对码的部分依赖和传递依赖

数据依赖的公理系统

A1 自反律 若Y属于X,X属于U 为则Y依赖Y是F所蕴函的

A2 增广律 如Y依赖X为F所蕴函 且Z含于U,则YZ依赖XZ为F所蕴含

A3 转递律 如Y依赖X以及Z依赖Y为F的蕴函,则Z依赖X为F所蕴含。

根据A1,A2,A3 有以下推理规则:

  1. 合并规则
        x->y,x->z 有x->yz
  2. 为传递规则
         x->y,wy->z有xw->z
  3. 分解规则
    x->y,以及z含于y,有x->z

什么叫闭包?

闭包就是由一个属性直接或者间接推出的所有属性的集合

如何求属性集的闭包

列如 :
关系R(A,B,C,D) ,关系F={AB→C, C→D, E→A, D→B} 求AB的闭包?

首先 AB的闭包可以推出{AB},也就是AB自身,设x={AB}
再看x中的AB,可以从F中推出什么?有关系F可以知道:AB→C, C→D, D→B,
再把可以推出的加入到x中,由于已经有B,所有只需写一个B,所以x={A,B,C,D}

如何求最小依赖集

①拆除右边多个元素 比如A->BC 拆分为A->B ,A->C
②出去当前元素,求其闭包
③左边最小化

具体的请看
求最小依赖 作者是Mye_Strive

模式分解

模式分解要具有无损连接和保持依赖。

数据库设计概述

① 数据库设计分6个阶段

 需求分析
 概念结构设计
 逻辑结构设计
 物理结构设计
 数据库实施
 数据库运行和维护

② 需求分析和概念设计独立于任何数据库管理系统

③ 逻辑设计和物理设计与选用的数据库管理系统密切相关

数据库编程

数据恢复技术

数据库恢复是将数据库从错误状态恢复到某一已知的正确状态

在这里插入图片描述

事务

事务是数据库的基本工作单位

事务的四大特征:ACID

  1. A: 原子性
  2. C: 一致性
  3. I:隔离性
  4. D:持久性

事务通常以begin transaction 开始 ,以commit 或者rollback 操作结束

在这里插入图片描述
在这里插入图片描述

提交和回滚

在这里插入图片描述

故障种类

  1. 事务故障
  2. 系统故障
  3. 介质故障
  4. 计算机病毒

恢复方式

  1. 数据转储
        对失败事物重新执行
  2. 日志文件
        记录事物对数据的更新操作

恢复策略

  1. 事务故障恢复
          事务异常终止,撤销之前所有操作
  2. 系统故障恢复
           还没完成的事物UND0,丢失的事物RED0
  3. 介质故障恢复
          重装数据库,重做已完成的事物
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值