数据库系统概论【基础篇】

一、绪论

 数据库的4个基本概念

1、数据(data):描述事物的符号记录称为数据

2、数据库(database,DB):数据库是长期存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。

3、数据库管理系统(DataBase Management System,DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理系统。

         主要功能包括以下几个方面:

          (1)   数据定义功能(Data Definition,DDL):用户通过它可以方便地对数据对象的组成与结构进行定义。

        (2)数据组织、存储、和管理:数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法(如哈希查找、hash查找、顺序查找等)来提高存取效率。

        (3)数据操纵功能(Data Manipulation Language,DML):如查询、插入、删除和修改等。

       (4)数据库的事务管理和运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确性运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

       (5)数据库的建立和维护功能

       (6)其他功能

4、数据库系统(DataBase System,DBS):数据库系统是由数据库。数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。

                |用户|      |用户|   ...........|用户|

                  |................|.....................|

                        [....应用程序...]

                                 |

    DBMS      [ 数据库管理系统]<-----------------[数据库管理员]  DBA

                                |                                                 |

                       [ 操作系统]                                          |

                                |                                                 |

      DB            【数据库】<--------------------------------|

数据库系统的特点

1、数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质的区别。

2、数据的共享性高、冗余度低且以扩充:数据共享可以大大减少数据冗余,节约存储空间。数据共享还能避免数据之间的不相容性与比一致性。

3、数据独立性高

      数据独立性

      物理独立性

      逻辑独立性

4、数据有数据库管理系统统一管理和控制

   (1)、数据的安全性(security)保护

   (2)、数据的完整性(integrity)检查

   (3)、并发(concurrency)控制

   (4)、数据库恢复(recovery)

数据模型:数据模型(data model)它是对现实世界数据特征的抽象。

       两类数据模型:

              概念模型:实体、属性、码、实体集、实体型、

              概念模型表示方法:实体--联系方法,E-R方法

              逻辑模型:层次模型、网状模型、关系模型、面向对象数据模型和对象数据模型、半结构化数据模型等

数据模型的组成要素

       (1)、数据结构:描述数据库的组成对象以及对象之间的联系,例关系模型的数据结构是一个二维表的数据库

       (2)、数据操作:对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则,例关系模型的数据操作主要是查询、插入、删除、和更新数据。

       (3)、数据的完整性约束条件:保证数据的正确性、有效和相容。例关系的完整性约束条件包括:实体完整性、参照完整性和用户定义的完整性。

数据库系统的结构

       数据库系统的三级模式

      【外模式1】                【外模式2】             【外模式3】 它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据用户的数据视图。

              |...................................|..................................|              外模式/模式映像:只有一个外模式/模式映像,当模式改变时,管理员可以对外模式/模式的映像做出改变,可以使外模式保持不变,保证数据与程序的逻辑独立性

                                                  |

                                           【模式】      也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。

                                                  |                  内模式/模式映像:当数据库的存储结构改变时,管理员可以对内模式/模式de 映像做出相应的改变,是模式不变,从而应用程序也不必改变。保证数据与程序的物理独立性。

                                          【内模式】    也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

                                                  |

                                          【数据库】

二、关系数据库

关系数据结构(包括关系的形式化定义及有关概念)

    关系:1域 2、笛卡尔积 3、主码 4、主属性 5、非主属性

关系操作集合

   基本的关系操作:查询(query )、插入(insert)、删除(delete)、修改(updata);查询操作又可以分为选择(select)、投影(project)、链接(join)、除(divide)、并(union)、差(except)、交(intersection)、笛卡尔积等。

   关系代数:是以集合运算为基础的运算。

   关系数据语言的分类:

                                   |  关系代数语言(ISBL)

                                   |                          | 元组关系演算语言(例如ALPHA,QUEL)

          关系数据语言---| --------------------|域关系演算语言(例如:QBE)

                                   |

                                   |---------------------具有关系代数和关系演算双重特点的语言(例如:SQL)

关系的完整性

       实体完整性:(1)、实体完整性规则是针对基本关系而言的(2)、现实世界中的实体是可以区分的,即它们具有某一种唯一的性的标识(3)、主码的主属性不能取空值。

       参照完整性:

       用户定义的完整性:

三、关系数据库标准语言SQL

SQL的特点:

      1、综合统一:模式数据定义语言DDL、外模式数据定义语言、数据存储有关的描述语言DSDL、数据操纵语言DML。

      2、高度非过程化

      3、面向集合的操作方式

     4、以同一种语法结构提供多种使用方式

数据库三级模式结构:

                       SQL

                          |

                      视图1              外模式

                         |

                      基本表              模式

                         |

                  存储文件1           内模式

数据定义

       SQL的数据定义语句

 
    操作对象                      操作方式
  创建 删除    修改
    模式 CREATE SCHEMA DROP SCHEMA               
     表 CREATE TABLE DROP TABLE ALTER TABLE
   视图 CREATE VIEW DROP VIEW  
    索引 CREATE INDEX DROP INDEX ALTER INDEX

             

 定义模式:CREATE SCHEMA<模式名> AUTHORIZATION <用户名>;

 删除模式:DROP SCHEMA<模式名><CASCADE|RESTRICT>

     数据类型

 
数据类型 含义
CHAR(N),CHARACTER(n) 长度为n的定长字符串
VARCHAR(n) 最大长度为n的变长字符串
CLOB 字符串大对象
BLOB 二进制大对象
INI,INTEGER 长整数(4字节)
SMALLINT 短整数(2字节)
BIGINT 大整数(8字节)

修改基本表:

       ALTER TABLE<表名>

       [ADD [COLUMN]<新列名><数据类型>[完整性约束]]

       [ADD<表级完整性约束>]

删除基本表

      DROP TABLE <表名> [RESTRICT|CASCADE];

数据查询

      SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]....

      FROM<表名或视图名>[,<表名或视图名>.....]|(SECLECT 语句)[AS]<别名>

      [WHERE<条件表达式>]

      [GROUP BY<列名1>[HAVING<条件表达式>]]

      [ORDER BY<列名2>[ASC|DESC]];

     常用的查询条件

 
查询条件 谓词
比较 =,>,<,>=,<=,!=,<>,!>,!<,;NOT+上述比较运算符号
确定范围 BETWEEN AND,NOT BETWEEN AND
确定集合 IN,NOT IN
字符匹配 LIKE,NOT LIKE
空置 IS NULL,IS NOT NULL
多重条件(逻辑运算) AND,OR, NOT

       

         

  聚集函数

             COUNT(*)          统计元组个数;等等

            嵌套查询,带有ANY(SOME)或ALL谓词的子查询,集合查询。

数据更新

        插入数据:INSERT INTO <表名>[(属性列1)[,<属性列2>]......]

                          VALUES(<常量1>[,<常量2>]...);

        修改数据:UPDATE<表名>

                         SET<列名>=<表达式>[,<列名>=<表达式>]。。。

                          [WHERE<条件>];

       删除数据:DELETE

                       FROM<表名>

                      [WHERE<条件>];

四、数据库的安全性

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

 数据库安全性控制

       (1)、用户身份鉴别:静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别。

存取控制

      自主存取控制方法: 定义存取权限成为授权(authorization)

               授权:授予与收回

              1、GRANT

                   格式:GRANT<权限>[,<权限>].....

                              ON<对象类型><对象名>[,<对象类型><对象名>].....

                               TO<用户>[,<用户>]....

                              [WITH GRANT OPTION];

               2、REVOKE

                  格式:REVOKE<权限>[,<权限>]....

                                ON<对象类型><对象名>[,<对象类型><对象名>]....

                                FROM<用户>[,<用户>]...[CASCADE|RETRICT];

五、数据库完整性

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

         实体完整性:关系模式的实体完整性在CREATE TABLE中用PRIMARY KEY定义。

        参照完整性:关系模式的参照完整性在CREATE TABLE中用FOREIGN KEY短语定义那些列为外码,用REFERENCES短语指明这些外码参照那些表的主码。

        用户定义的完整性:(1)属性上的约束条件1、不允许取空值 2、列值唯一    (2)元组上的约束条件  1、元组上约束条件的定义 2、元组上约束条件的检查和违约处理

               

原文地址:https://www.cnblogs.com/enochgong/p/10327744.html