程序员教程-6章-数据库基础知识
Posted liunianfeiyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员教程-6章-数据库基础知识相关的知识,希望对你有一定的参考价值。
目录结构:
6.1 基本概念
6.1.1 数据库系统
6.1.2 数据库管理技术的发展
1 人工管理阶段
2 文件系统阶段
3 数据库系统阶段
6.1.3 大数据
1 大数据产生背景
2 大数据的特征
3 理解大数据
4 大数据产生的安全风险
6.2 数据模型
6.2.1 数据模型的基本概念
6.2.2 数据模型的三要素
6.2.3 E-R模型
1 E-R方法
2 实体
3 联系
4 属性
5 实例分析
6.2.4 基本的数据模型
1 层次模型
2 网状模型
3 关系模型
6.3 DBMS的功能和特征
6.3.1 DBMS的功能
6.3.2 DBMS的特征与分类
1 DBMS的特征
2 DBMS分类
6.4 数据库模式
6.4.1 模式
1 概念模式
2 外模式
3 内模式
6.4.2 三级模式两级映射
6.5 关系数据库与关系运算
6.5.1 关系数据库的基本概念
1 属性和域
2 笛卡儿积与关系
3 主要术语
4 关系的性质
5 关系的3种类型
6.5.2 关系数据库模式
6.5.3 完整性约束
6.5.4 关系代数运算
6.6 关系数据库SQL语言简介
6.6.1 SQL概述
1 SQL的特点
2 SQL支持三级模式结构
3 SQL的基本组成
6.6.2 SQL数据定义
1 创建表
2 修改表和删除表
3 定义和删除索引
4 定义、删除、更新视图
6.6.3 SQL数据查询
1 SELECT基本结构
2 简单查询
3 连接查询
4 子查询与聚集函数
5 分组查询
6 使用别名
7 字符串操作
8 视图的查询
6.6.4 SQL数据更新
1 插入语句
2 删除语句
3 修改语句
6.6.5 SQL的访问控制
1 授权语句的格式
2 收回权限语句格式
6.6.6 嵌入式SQL
6.7 数据库设计
1 数据库设计的基本步骤
2 数据库的实施与维护
时间有限,每一点尽量一两句话说下,挑自己熟悉的内容说下
数据库技术是计算机软件领域的一个重要分支
6.1 基本概念
6.1.1 数据库系统
数据是描述事物的符号记录,它具有多种表现形式,可以是文字、图形、图像、声音和语言等。信息是对现实世界事物的存在方式或状态的反映。数据是经过组织的位集合,而信息是具有特定释义和意义的数据。
数据库系统由数据库、硬件、软件和人员四大部分组成
每一部分内容:略
6.1.2 数据库管理技术的发展
数据处理是对各种数据进行收集、存储、加工和传播的一系列活动。数据管理是数据处理的中心问题,是对数据进行分类、组织、编码、存储检索和维护
数据管理技术发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段
1 人工管理阶段:早期的数据处理都是通过手工进行的
特点:略
2 文件系统阶段:文件系统是操作系统中的一个子系统,它按一定的规则将数据组织成一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。
特点:略
3 数据库系统阶段
数据库系统是由计算机软件、硬件资源组成的系统,它实现了大量关联数据有组织地、动态地存储,方便多用户访问
特点:略
6.1.3 大数据
1 大数据产生背景
(1)数据来源和承载方式的变革
(2)全球数据量出现爆炸式增长
(3)大数据已经成为一种自然资源
(4)大数据日益重要,不被利用就是成本
2 大数据的特征:大量化,多样化,价值密度低,快速化
3 理解大数据
(1)高并发数据存取的性能要求及数据存储的横向扩展问题
(2)实现大数据资源化、知识化、普适化的问题
(3)非结构化海量信息的智能化处理问题
4 大数据产生的安全风险
(1)网络攻击的显著目标
(2)加大了隐私泄漏风险
(3)威胁现有的存储和安防措施
(4)成为黑客的攻击手段
(5)成为高级可持续攻击的载体
(6)为信息安全提供新支撑
6.2 数据模型
6.2.1 数据模型的基本概念
模型是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象
最常用的数据模型分为概念数据模型和基本数据模型
(1)概念数据模型:也称信息模型,是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象
(2)基本数据模型:按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现
从事物的客观特性到计算机中的具体表示涉及3个数据领域:现实世界,信息世界和机器世界
6.2.2 数据模型的三要素:数据结构,数据操作和数据的约束条件
6.2.3 E-R模型:实体联系模型
1 E-R方法:略
2 实体:现实世界中可以区别于其他对象的“事件”或“物体”
3 联系:分为实体内部的联系和实体与实体之间的联系
1)两个不同实体之间的联系:一对一,一对多,多对多
2)两个以上不同实体集之间的联系:略
3)同一实体集内的二元联系:也存在1:1,1:n,m:n的联系
4 属性:属性是实体某方面的特性
属性的分类:简单属性和复合属性,单值属性和多值属性,NULL属性,派生属性
5 实例分析:略
6.2.4 基本的数据模型
1 层次模型:树型结构
2 网状模型:网络结构
3 关系模型:略
6.3 DBMS的功能和特征
6.3.1 DBMS的功能
DBMS主要实现共享数据有效的组织、管理和存取
6大功能:数据定义,数据库操作,数据库运行管理,数据组织、存储和管理,数据库的建立和维护,其他功能
6.3.2 DBMS的特征与分类
1 DBMS的特征:数据结构化且统一管理,有较高的数据独立性,数据控制功能:数据库的安全性保护,数据的完整性,并发控制,故障恢复
2 DBMS分类:关系数据库系统,面向对象的数据库系统,对象关系数据库系统
6.4 数据库模式
一般采用三级模式
6.4.1 模式:三级模式和两级映像
1 概念模式:也称模式,数据库中全部数据的逻辑结构和特征的描述
2 外模式:也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述
3 内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
6.4.2 三级模式两级映射
两级映射:模式/内模式的映像,外模式/模式的映像
模式/内模式的映像:实现概念模式到内模式之间的相互转换
外模式/模式的映像:实现外模式到概念模式之间的相互转换
数据的独立性包括数据的物理独立性和数据的逻辑独立性
6.5 关系数据库与关系运算
6.5.1 关系数据库的基本概念
1 属性和域:属性:事物的特征;域:属性的取值范围
2 笛卡儿积与关系:略,关系:笛卡儿集的子集叫作在域上的关系,类似(D1,D2,D3,...Dn),称关系R为n元关系
3 主要术语:
目或度:属性个数
候选码:即通常说的键
主码:即通常说的主键
主属性:成键的属性
非码属性:不成键的属性
外码:即外键
全码:所有属性组成关系模式的键,所有的属性称为全码
另有第一范式,第二范式,第三范式
第一范式(无重复的列) 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性
第二范式(属性完全依赖于主键),在第一范式的基础上
第三范式(属性不能传递依赖于主属性) 定义:满足第二范式前提,如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
4 关系的性质:分量必须取原子值,列是同质的,属性不能重名,行列的顺序无关,任何两个元组不能完全相同
5 关系的3种类型:基本关系,查询表,视图表
6.5.2 关系数据库模式
R(U,D,dom,F)
R:关系名;U:组成该关系的属性名集合;D:属性的域;dom:属性向域的映像集合;F:属性间数据的依赖关系集合
简记为R(U)或R(A1,A2,A3,...,An)
6.5.3 完整性约束
完整性规则保证授权用户对数据库进行修改不会破坏数据的一致性
(1)实体完整性:主属性不能取空值
(2)参照完整性:引用完整性,外键约束
(3)用户定义的完整性:用户定义与特定数据库有关的约束条件
6.5.4 关系代数运算
并,差,笛卡儿积,投影和选择是5种基本的运算,其他运算可以由基本运算导出
交,连接,
6.6 关系数据库SQL语言简介
6.6.1 SQL概述
1 SQL的特点:综合统一,高度非过程化,面向集合的操作方式,两种使用方式
核心功能:
数据查询:SELECT
数据定义:CREATE DROP ALTER
数据操纵:INSERT UPDATE DELETE
数据控制:GRANT REVOKE
2 SQL支持三级模式结构:视图对应外模式,基本表对应模式,存储文件对应内模式
3 SQL的基本组成:数据定义语言,交互式数据操纵语言,事务控制,嵌入式SQL和动态SQL,完整性控制和权限管理
6.6.2 SQL数据定义
1 创建表:约束条件:NULL UNIQUE,另外还有主键和外键
2 修改表和删除表
3 定义和删除索引
4 定义、删除、更新视图
6.6.3 SQL数据查询
数据操纵功能包括SELECT INSERT DELETE UPDATE
1 SELECT基本结构
SELECT XXXX
FROM XXXX
WHERE XXXX
GROUP BY XXXX
ORDER BY XXXX
2 简单查询
SELECT XXXX
FROM XXXX
WHERE XXXX
3 连接查询
查询涉及两个以上的表,称为连接查询
4 子查询与聚集函数
子查询也称嵌套查询,即嵌入SELECT子句,允许多重嵌套
聚集函数:以一个值的集合为输入,返回单个值的函数
用聚集函数实现子查询通常比直接用ALL或ANY查询效率要高
5 分组查询
1)GROUP BY子句
2)HAVING子句:用在GROUP BY之后,可以使用聚集函数
元组含有空值:
(1)空值在任何聚集操作中被忽略
(2)NULL值又可以在分组属性中看作是一个一般的值
6 使用别名:as
7 字符串操作:LIKE _ % ESCAPE
8 视图的查询:
6.6.4 SQL数据更新
1 插入语句
INSERT INTO ... VALUES ...
INSERT INTO ... SELECT ...
6.6.5 SQL的访问控制
分为授权语句和收回权限语句
1 授权语句的格式
GRANT 权限
ON 对象类型 对象名
TO 用户
WITH GRANT OPTION
2 收回权限语句格式
REVOKE 权限
ON 对象类型 对象名
FROM 用户
6.6.6 嵌入式SQL
SQL语句嵌入某种高级语言中的使用方式:略
6.7 数据库设计
指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之有效地存储数据,满足各种用户的需求
数据库应用系统的生命周期:数据库规划,需求描述与分析,数据库设计与应用程序设计,数据库系统实现,测试阶段,运行维护
1 数据库设计的基本步骤
(1)用户需求分析
(2)概念结构设计
(3)逻辑结构设计
(4)物理结构设计
2 数据库的实施与维护
(1)数据库实现阶段的工作
(2)其他有关的设计工作
(3)运行与维护阶段的工作
以上是关于程序员教程-6章-数据库基础知识的主要内容,如果未能解决你的问题,请参考以下文章
SQL基础教程(第2版)第6章 函数谓词CASE表达式:6-1 函数