导图社区 数据库系统
这是一篇关于数据库系统的思维导图,数据库部分的基础知识和扩充知识。希望对小伙伴有所帮助哦~
编辑于2022-09-09 15:37:46 山东省数据库管理系统
1.1 数据库系统概述
1.1.1 数据库的4个基本概念
数据(Data)
数据的定义
描述事物的符号记录(物理符号);是数据库中存储的基本对象
数据的种类
数字、文字、图形、图像、音频、视频、学生的档案记录等
数据库(Database)
数据库的定义
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的数据集合。
数据库的基本特征
数据按一定的数据模型组织、描述和储存
冗余度较小
数据独立性较高
易扩展
可为各种用户共享
数据库管理系统(DBMS)
什么是数据库管理系统
是对数据库进行管理的系统软件;位于用户与操作系统之间的一层数据管理软件
数据库管理系统的主要功能
数据定义功能
数据组织、存储和管理
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护功能
数据库的传输
数据库管理系统的组成
模式翻译(提供数据定义语言DDL)、应用程序的编译、交互式查询、数据的组织与存取、事物运行管理、数据库的维护
数据库管理系统的层次结构 从高到低依次
应用层
语言翻译处理层
数据存取层
数据存储层
操作系统
常见数据库管理系统118
关系型
MYCQL、access
非关系型
NOSQL泛指非关系型数据库
Redis 、HBase
特点
容易扩展
大数据量高性能
灵活的数据模型
高可用性
Oracle、Microsoft SQL Server、Visual FoxPro、Microsoft Access MySQL、DB2
数据库系统(DBS)
本质是计算机系统
概念
数据库系统是指拥有数据库技术支持的计算机系统
数据库系统的构成 4部分
硬件系统
系统软件
操作系统
数据库管理系统DBMS
以DBMS为核心的应用程序开发工具
数据库接口的高级语言及编译系统
数据库应用软件
为特定应用开发的数据库应用软件
各类人员
包括数据库管理人员、系统分析员、应用程序员和最终用户
1.1.2 数据管理技术的产生和发展
什么是数据管理
数据管理技术的发展过程
人工管理阶段(20世纪50年代中之前)
数据不进行保存
没有专门的数据管理软件
数据面向应用
只有程序的概念
文件系统阶段(20世纪50年代末--60年代中)
数据可以长期保存在磁盘上
文件系统提供了数据与程序之间的存取方法
数据冗余量大重复
文件之间缺乏共享性,相对孤立
数据库系统阶段(20世纪60年代末--现在)
数据结构化(根本)
数据共享性好
数据独立性好
数据存储粒度小,数据由数据库管理系统统一管理和控制
数据库的新的分支
数据仓库系统
所谓数据仓库,是对长期数据的存储(历史数据),这些数据来自于多个异种(异构)数据源
XML数据库
XML-可扩展标记语言
XML是一类文档数据库,Json数据库,半结构化
1.2 数据模型
1.2.3 数据模型的组成要素
数据结构
描述数据库的组成对象,以及对象之间的联系
描述的内容
数据结构是对系统静态特性的描述
数据操作
对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
数据操作的类型
查询
更新(包括插入、删除、修改)
数据操作是对系统动态特性的描述
1.2.4 常用的数据模型
层次模型(Hierarchical Model)
网状模型(Network Model)
关系模型(Relational Model))
面向对象数据模型(Object Oriented Data Model)
对象关系数据模型(Object Relational Data Model)
半结构化数据模型(Semistruture Data Model)
1.2.5 层次模型
层次模型是数据库系统中最早出现的数据模型
层次模型用树形结构(倒立的树)来表示各类实体以及实体间的联系
满足下面两个条件的基本层次联系的集合为层次模型
1. 有且只有一个结点没有双亲结点,这个结点称为根结点
2. 根以外的其它结点有且只有一个双亲结点
层次模型中的几个术语
根结点,双亲结点,兄弟结点,叶结点
优点
缺点
1.2.6 网状模型
满足下面两个条件的基本层次联系的集合:
1. 允许一个以上的结点无双亲;
2. 一个结点可以有多于一个的双亲。
表示方法(与层次数据模型相同)
网状模型与层次模型的区别
网状模型允许多个结点没有双亲结点
网状模型允许结点有多个双亲结点
网状模型允许两个结点之间有多种联系(复合联系)
网状模型可以更直接地描述现实世界
层次模型实际上是网状模型的一个特例
优点
缺点
1.2.7 关系模型 E-R关系
关系模型把世界看作由实体E和联系R构成
联系分为三种
一对一的联系
eg.一个班级只有一个班长
一对多的联系
相同性别有多个人
多对多的联系
一个人选多门课,一门课被多个人选
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
关系必须是规范化的,满足一定的规范条件
每一列中的分量是类型相同的数据
行、列的顺序可以是任意的
表中的任意两行不能完全相同
最基本的规范条件:表中的分量是不可分割的最小数据项即表中不允许有子表
图1.15中工资和扣除是可分的数据项 ,不符合关系模型要求 ,列族数据库可以
关系数据库的基本概念
关系(Relation)
一个关系就是一张二维表,但一张二维表不一定是一个关系
在access中一个关系就是数据库文件中的一个表对象
元组(Tuple)
二维表中水平方向的行称为元祖有时也叫做一条记录
不允许出现相同的元祖(行),元祖(行)的次序可以任意交换
属性(Attribute)
表中的一列即为一个属性,属性也称为字段,属性名也叫字段名
不同的属性可以有相同的值域
分量
元组中的一个属性值。
域(Domain)
是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
码(关键字)
二维表中的某个属性(列)或属性组
他若唯一标识了一个元组则称该属性或属性组为候选码
若一个关系中有多个候选码,则选定其中一个为主码也称为主键
不设置可以没有,但设置了至少一个 ,主键/主码不能为空、不能重复
主键可以由一个或多个字段构成
关系模式
对关系的描述
关系名(属性1,属性2,…,属性n)
eg .学生(学号,姓名,年龄,性别,系名,年级)
关系运算
看看这部分的运算题
传统的集合运算
并、差、交、广义笛卡尔积
专门的关系运算
选择
从关系中选择满足某些条件的记录,是行选(元组)
投影
列选(属性)
连接
从两个或多个关系的笛卡尔集中选取属性间满足一定条件的元组(行)
等值连接
自然连接
自然连接是特殊的等值连接。在结果中把重复的属性列去掉
SQL语句 (结构化查询语言)
SQL 对大小写不敏感
是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统
是一种非过程化的编程语言,用户只需提出干什么无需具体指明怎么干。
数据操作语言 (DML)
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
中英对照
SELECT 列名称 FROM 表名称
必须有的部分
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表)
SELECT LastName,FirstName FROM Persons
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
如果只希望选取居住在城市 "Beijing" 中的人
SELECT * FROM Persons WHERE City=‘’Beijing‘’
SQL AND & OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
ORDER BY 字段
根据指定的列对结果集进行排序(按照制定字段排序),默认升序ASC DESC降序
GROUP BY字段
按照制定字段分组
HAVING条件
设置分组条件
INTO目标表
将查询结果输入到新表中
SELECT 列名称、INTO目标表、 FROM 表名称、WHERE 列 运算符 值、ORDER BY 字段、GROUP BY字段、HAVING条件
UPDATE - 更新数据库表中的字段
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 旧值
DELETE - 从数据库表中删除记录
DELETE FROM 表名称 WHERE 列名称 = 值
INSERT INTO - 向数据库表中插入记录
INSERT INTO 表名称 VALUES (值1, 值2,....)
数据定义语言 (DDL)
创建或删除表格
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
都是全拼,不能简写
Access2016简单介绍
是一种关系型数据库管理系统RDBMS
Access 2016数据库中包含表、查询、窗体、报表宏与模块等数据库对象
任何时刻只能打开并运行一个数据库,但每个数据库中可以拥有众多的表、查询、窗体、报表宏与模块
这些数据库对象都存储在同一个以.accdb扩展名的数据库文件中
表
表示有结构的数据的集合;数据库的最基本的对象
表用于存储基本数据,是其他数据库对象的基础
在表中,数据是由行和列存储的,相当于行和列组成的二维表格
一行称为一个记录;一列称为一个字段
表的构成
表结构
数据类型(12种)文本(最多255),备注,数字,日期/时间,货币,自动编号,超链接,附件,计算,查找向导,OLE对象,是/否
字段名称(长度≤64、不能包括![] .第一个字符不能是空格 不可重名)
表内容
表有两个视图
设计视图(结构)
数据表视图(内容)
查询
用于从表或其他查询中按要求查找到需要的内容(数据来源是多个表)
查询中并没有实际保存数据,所有数据都保存在表对象中。可以把表对象称为“物理表”而把查询对象称为“虚拟表”。
可以综合运用多种关系运算,如选择(行选)、投影(列选)、连接等
查询可分为6类
选择查询
交叉表查询
统计值(计数、平均值)
生成表查询
追加查询
添加
更新查询
利用查询功能进行批量更改
删除查询
类似于“空替换”
后4个属于操作查询
第一层
窗体
也称为表单。用户可以通过该对象对表中的数据进行编辑和浏览
数据库与用户进行交互操作;交互式界面
数据来源:表和查询
报表
用户只能通过报表浏览数据不能编辑数据
打印格式显示
按照节来设计
第二层
宏
一系列操作的集合
自动执行一系列操作相当于批处理文件
模块
其功能同 宏 类似,但更为强大。进行更为精准和精确的控制
第三层
这些数据库对象都存储在同一个以.accdb扩展名的数据库文件中
使用SQL语言作为他的数据库语言
常见的关系型数据库
Oracle、Iformaix、VisualFoxpro、DB2
关系数据库的设计方法
创建数据库和数据表
创建和打开数据库:1.使用模板创建数据库 2.从空白开始创建数据库
创建表:1.在新数据库中创建表 2.使用设计视图创建表 3.通过导入来创建表
在表中添加新字段和删除字段
设置字段属性
数据类型(Access2010定义了12种数据类型)
文本(最多255),备注,数字,日期/时间,货币,自动编号,超链接,附件,计算,查找向导,OLE对象,是/否
选择数据格式
改变字段大小(可以修改数字和文本数据类型字段的大小)
输入掩码(像格式,可应用文本,日期,身份证号邮政编码)
设置有效性规则(范围、非法数据的输入)和有效性文本(错误提示)
设定表的主键(主键是数据表中的某一个字段,不能为空或重复,通过该字段的值可在表中唯一的确定一条记录,不是表的必备项)
设置索引(提高查询速度)
其他字段属性
查询对象视图
设计视图:用于创建新的查询对象,或者修改已有的查询对象
数据表视图:可以以二维表的形式显示查询结果
数据透视表视图:以表格形式对查询结果进行进一步的多维分析
数据透视图视图:以图形方式显示,对比查询结果
SQL视图:用于查看查询对象所对应的SELECT命令,该命令属于SQL语句
查询种类
选择查询:创建单表查询、创建连接查询
操作查询:更新查询、生成表查询、追加查询、删除查询
SQL查询
SELECT语句(查询)
通用格式:SELECT...(查询字段)FROM…(表名)WHERE..(查询条件)可删
基本格式:SELECT字段名表[INTO目标表],FROM(表名)[WHERE 条件][ORDER BY字段][GROUP BY字段][HAVING 条件] ORDERBY字段:按指定字段排序 GROUPBY字段:按指定字段分组 HAVING条件:设置分组条件 INTO目标表:将查询结果输入到指定目标表
UPDATE语句(字段内容已更新)
基本格式:UPDATE表名 SET字段=表达式【WHERE条件】 字段=表达式:更新后的值 条件:更新前的值
INSERT语句(插入记录)
基本格式:INSERT INTO 表名(字段名表)VALUES(内容列表)
DELETE语句(删除记录)
基本格式:DELETE FROM 表名【WHERE条件】参数查询交叉表查询
NOSQL数据库 不仅仅是SQL
是一类非关系型数据库。指主体符合非关系型、分布式、开放源码(免费)和具有横向扩展能力的下一代数据库
特点
不容易维护数据的完整性
大规模数据存储
数据模型非常灵活
弱存储模式,简化了约束,加快速度,
没有事物处理机制
分类
健值数据库
轻量级:数据存储结构简单,数据库规模小;以内存为主要的运行快速
设计原则是以提高数据处理速度为第一目标
基本构成要素
键:唯一索引值,确保每个键值结构的数据记录的唯一性
两者的类型都可以是不同的,但都必须是唯一的
值:值的数据类型是任意的
键值对:键和值的组合
命名空间:若干键值对构成的集合
常见的:redis;memcached
文档数据库
以硬盘操作为主
首先考虑读写性能的优化
基本元素:键值对(数据和格式组成,分别为值和键的两个部分,放在一个字段中); 文档;集合;数据库
特点
没有数据存储结构的严格要求,缺少约束,简单
分布式处理,查询功能强大
常见:MongoDB ;couchbase
XML是一类文档数据库,Json数据库,半结构化
列族数据库
为解决大数据存储问题,引入分布式处理技术;同时采用去规则化去约束化的思路
基本要素:
命名空间:相当于传统关系数据库的表名
行键:用于唯一确定不同行的数据(类似主键)
列族数据库的行是虚的,只表示逻辑关系,因为列族数据库以列为单位存取,行键是分区地址指引的作用
列:存放单个数值的数据结构,带有时间戳,区分值的不同版本
说明可以有子表
列族
特点
大数据处理
行键、列族、命名空间都需预先定义,列无需预先定义,可随时增加
图数据库
“图”并不是图片而是图结构
主要作用是存储各种类型的图结构
基本元素:结点(实体)、边(有向无向)、属性(描述节点和边的关系、图(数据结构)
特点
处理各种具有图结构,社交互联网、地图应用、相关性分析
常见:Neo4j,Orient DB
因字符数量较多不适合建立索引的是-备注
是一个文档中不允许重复的键值对
开发数据库应用系统时,应先建立表结构,再往里看放数据
*代表所有字段
数据库用数据模型对世界进行抽象
E-R图只要完成于概念结构阶段
所以条件以文本形式必须➕“ ”
记录
行
字段
列
DBS
DBMS
是数据库系统的核心
DB