数据库系统概论

数据库系统概论

文章目录


前言

`针对数据库系统概论期末知识点的复习。


1.绪论

1.1数据库的四个基本概念

数据:数据库中存储的基本对象,描述事物的符号记录,数据的含义称为数据的语义,数据与其语义是不可分的。

数据库:长期存储再计算机内有组织,可共享的大量数据的集合。

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

数据库系统:由数据库,数据库管理系统(及其应用开发工具),应用系统和数据库管理员组成的存储,管理,处理和维护数据的系统。

1.2数据库管理技术的产生和发展

1.人工管理阶段

2.文件系统阶段

3.数据库系统阶段:数据共享性强,数据独立性强

1.3数据独立性

数据的独立性:指应用程序与数据(定义)相分离。包括物理独立性逻辑独立性

物理逻辑性:指用户的应用程序与数据库中数据的物理存储 是相互独立的。

逻辑独立性:指用户的应用程序与数据库中数据的逻辑结构是相互独立的。

1.4数据安全性和完整性

数据的安全性:指保护数据以防不合法使用造成数据泄露和破坏。(防范的是非法用户和非法操作存取数据库中的正确数据)

数据的完整性:指数据的正确性,有效性和相容性。(阻止合法用户通过合法操作向数据库中加入不正确数据)

1.5三大模型

1.5.1层次模型

在层次模型中,每个节点表示一个记录类型,记录类型之间的联系用连线表示,联系为双亲节点与子女节点之间的一对多(一对一)联系。
注:记录是实体的表示。

满足条件:1有且只有一个根节点。2.子节点有且只有一个双亲节点

1.5.2网状模型

网状模型去除了层次模型的两个限制:

1.允许多个节点没有双亲节点

2.且允许多个节点有多个双亲节点

此外,它还允许两个结点有多种联系(如:多对多)

1.5.3关系模型

先了解几个简单概念:

1.元组:表中一行即为一个元组

2.码:表中某一个或一组属性,其值可以唯一确定一个元组。

3.关系模式:对关系的描述,表示:关系名(属性1,属性2,属性3...)

关系模式数据结构是一张二维表:

1.6三级模式结构

数据库采用模式(逻辑模式),外模式和内模式三级模式结构。

模式:也称逻辑模式,是数据库中全体 数据的逻辑结构和特征的描述。是所有 用户的公共数据视图,一个数据库对应一个模式。

外模式:也称子模式或用户模式,是数据库用户能看到的局部 数据的逻辑结构和特征描述。一个数据库可以有多个外模式。

内模式:也称物理模式或存储模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

1.7两级映像

1.外模式/模式映像(多个):因为模式描述的是全局逻辑结构,而外模式是局部的,所以数据库系统会对每一个外模式进行映像,定义外模式和模式之间的关系

2.模式/内模式映像(唯一):内模式和模式都是唯一的,所以也只有一个模式/内模式映像,定义了数据全局逻辑结构与存储结构之间的对应关系。

2.关系模型

2.1关系相关概念

1.候选码:关系模式中,码的真子集不可唯一标识一个元组,则称为候选码。(候选码的诸属性被称为主属性,不包含在任何候选码中的属性称为非主属性)。
注: 一个关系中可能有多个候选码,则选定一个作为主码。且当所有属性都为候选码的时候,称为全码。

2.关系数据库系统:支持关系模型的数据库系统。

3.关系数据库模式:关系数据库中所有关系模式的集合,是对关系数据库的描述。

4.关系数据库:所有关系模式在某一时刻对应的关系的集合。

5.关系三种类型:基本关系(基本表),查询结果和视图。

基本关系:实际存在的表,是实际存储数据的逻辑表示。

查询结果:是查询执行产生的结果对应的临时表。
视图:基本表或其他视图导出的数据的逻辑表示的虚表,不存储实际数据(实际不存在),是关系数据库系统提供给用户多角度观察数据的机制

2.2关系的完整性及其约束

完整性约束是一组完整性规则

1.实体完整性:在create table中使用primary key定义,单属性构成的码定义为列级或表级。

实体完整性约束:若一个属性(或一组属性)是基本关系中的主属性,则不能取空值。

2.参照完整性:在create table中用foreign key 短语定义哪些列为外码,用references短语指明这些外码参照哪些表的主码。

参照完整性约束:若属性(属性组)A是基本关系R的外码,且A对应另一基本关系S主码,则满足:1.或者取空值2.或者等于S中某个主码的值。(即若存在,则必须和S中的值对应上)

实体完整性和参照完整性是关系模型必须满足的完整性约束。

3.用户定义的完整性:对某一具体应用必须满足的语义要求。

2.3关系数据库的基本特征

①元组(行)个数是有限的------元组个数有限性。

②元组(行)均不相同------元组的唯---性。

③元组(行)的次序可以任意交换------元组的次序无关性。

④元组(行)的分量是不可分割的基本特征------元组分量的原子性。

⑤属性(列)名各不相同------属性名唯---性。

⑥属性(列)与次序无关,可以任意交换------属性的次序无关性。

⑦属性(列)的分量具有与该属性相同的值域------分量值域的统---性。

3.SQL

3.1交互式SQL与嵌入式SQL

交互式SQL:指通过用户与数据库系统进行实时的交互,用户可以直接在数据库系统命令行界面中输入sql语句,并得到结果。

嵌入式SQL:指将SQL语句嵌入到程序代码中,通过编程语言的API来执行SQL语句。被嵌入的程序设计语言称为宿主语言。

3.2数据定义,数据查询,数据更新

数据定义语言(DDL):

创建:create schema/table/view/index

删除:drop schema/table/view/index

修改:alter table/index

在删除操作等,需要指定cascade/restrict

cascade:若有关联对象,也全部删除。

restrict:若存在关联对象,则不删除。

数据查询语言(DQL):

select * from 表名

where 条件表达式(不可接聚集函数)

(在where后接select查询结果,则称为嵌套查询,外为父查询,内为子查询)

group by 列名 (having 条件表达式 可接聚集函数)

order by 列名

limit 行数

select... 表名 inner join 表名 on 条件:内连接,返回匹配元组

select... 表名 left (outer) join 表名 on 条件:左外连接,返回左表元组,右表匹配元组。

select... 表名 right (outer) join 表名 on 条件:右外连接,返回右表元组,左表匹配元组。

like:模糊匹配,%匹配任意字符,_匹配单个字符。

is null:空值判断
数据操纵语言(DML):

insert into 表名 列名... values(列值...)

update 表名 set ... where 条件

delete from 表名 where 条件

还有DCL,下文论述

4.数据库安全性

4.1存取控制

自主存取控制:用户对于不同数据库对象有不同存取权限,不同用户对同一对象也有不同权限,用户可以将其拥有的存取权限转授给其他用户。

强制存取控制:每一个数据库对象都被标记一定的密级,每一个用户也被授权某一个级别的许可证,对于任意对象,只有具有合法许可证的用户才可以存取。

主要通过**DCL(数据控制语言)**进行授权和撤销,包括

grant,revoke。

注:大型数据库管理系统都支持自主存取控制

4.2审计

审计系统:提供了一种事后检查的安全机制。

审计功能把用户对数据库的所有操作自动记录下来放入审计日志。

(浪费时间和空间)

5.数据库设计

5.1设计步骤

1.需求分析阶段

2.概念结构设计阶段

3.逻辑结构设计阶段

4.物理结构设计阶段

5.数据库实施阶段

6.数据库运行和维护阶段

相关推荐
从零开始学习人工智能1 小时前
PDF解析双雄对决:Unstructured vs PyMuPDF 深度对比与选型指南
数据库·人工智能·机器学习
W***83201 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
凌~风1 小时前
001-计算机实验报告之数据库原理实验报告
数据库·sql
m***56721 小时前
MySQL 创建新用户及授予权限的完整流程
数据库·mysql
马克学长1 小时前
SSM散酒营销系统w5at6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·企业信息化·ssm 框架·散酒营销系统
踢球的打工仔1 小时前
mysql数据表中数据操作(2)
数据库·mysql
IvorySQL1 小时前
活动预告|IvorySQL 与您相约 COSCon‘25
数据库·postgresql·开源
VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue酒店预约系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
f***01932 小时前
clickhouse-介绍、安装、数据类型、sql
数据库·sql·clickhouse