程序员教程-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 函数

程序员教程-5章-软件工程基础知识

20200109 《jQuery基础教程》归档

《python基础教程》第4章字典:当索引不好用时 读书笔记

程序员教程-1章-计算机系统基础知识1

python基础教程(第二版)