道隐于小成,言隐于荣华

数据库原理与安全笔记:数据库概述

该部分为本科期间数据库原理与安全笔记备份。

几个词汇

Data

  1. symbol to describe the object 描述事物的符号记录.是数据存储的基本单位
  2. Data and semantics can not be divided

Note:数据的形式不能离开数据的内容,必须和语义相结合。

DB

数据库:Collection of interrelated data,contains information about a particular enterprise

DBMS

数据库管理系统:Set of programs to access the data

DBMS介于用户和操纵系统之间的进行数据管理的软件

功能:Provide a way to store and retrieve database information that is both convenient and efficient

特性

  1. 数据结构化
  2. 数据共享性高:节省空间,维护容易,避免数据的不一致性
  3. 数据库独立性:与程序和存储是独立的。程序独立性高:与编程类似。面向对象编程。例如排序,排10个整数,排10个人,排序的算法应该不变。
  4. 数据库中数据的结构改变了,应用程序通过DBMS来操作数据库,可以做到应用程序不变
  5. 数据被DBMS管理、控制:
    • 安全性保护(security):例如学生查成绩
    • 完整性检查:比如选课。必须是允许的才可以。大一的学生不能选。
    • 并发控制(concurrency):飞机售票

DBS

数据库系统:包括DB、DBMS、Applications、DBA

avatar

文件系统的缺陷

  • 数据的组织由程序员自己规定。不同的应用程序如果有部分数据重复的话,必须建立各自的文件,而不能共享相同的数据
  • 不同程序之间的数据,无法进行交叉
  • 应用程序的独立性不高
  • 文件系统不支持以一种方便而高效的方式去获取所需数据

view of data

abstract view

Achieved through several level of abstraction:

Physical level、Logical level、View level

物理模式:描述数据库如何在物理设备上存储。

Three-schema architecture

模式是实例的抽象,实例是模式的具体表现形式

用户定义三级模式,系统自动实现3级模式之间的映像关系

Level of Abstraction

Physical schema(内模式,物理模式)

物理层次。

describes how a record (e.g., customer) is stored

Conceptual schema(模式)

逻辑层次。

是对数据库中全体数据的逻辑结构和特性描述,是所有用户的公共视图。

模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一 的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模 式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。

  1. 数据库系统、底层硬件没有关系
  2. 一个数据库只有一个模式
  3. 与开发环境和语言无关

Sub schema(子模式,外模式)

视图层次。

是数据库用户能够看见和使用的逻辑结构和特征的描述,与某一应用相关的数据的逻辑表示

外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的 数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Lang uage,DML)对这些数据记录进行。外模式反映了数据库的用户观。

多个用户共享同一个数据库。每一个用户只需要其中的一部分。每个用户它可以构造它所需要的数据的一个逻辑结构。管这个叫子模式。

子模式—模式之间也有映射的关系。用户不关心我的数据究竟来源于数据库中的那些表。这个转换也是由数据库管理系统来完成的。对于一个模式,最开始的只有人事管理,教学管理,他们有不同的子模式。

  1. 是模式的子集
  2. 外模式可以为某一个用户的多个应用所使用
  3. 一个应用程序只能使用一个外模式
  4. 是保证数据库安全性的有力措施

宏观上

3种数据抽象,定义了两种数据的独立性。逻辑模式:是数据库的所有的信息。其信息比物理层存放的数据要更抽象一些,更近似于现实。

逻辑模式向外模式的转换、逻辑模式向内模式的转换

avatar

Instances and Schemas

三级模式是对数据的三个抽象级别.

二级映象在DBMS内部实现这三个抽象层次的联系和转换

保证数据的逻辑独立性

  • 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变. 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
    模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
  • 例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的, 该映象定义通常包含在模式描述中

Data Model

A collection of tools for describing

在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。

特点

  1. 通俗地讲数据模型就是现实世界的模拟。
  2. 数据模型应满足三方面要求
  3. 能比较真实地模拟现实世界
  4. 容易为人所理解
  5. 便于在计算机上实现

模型。例如数学建模。管理的数据如何用计算机存下来。

描述数据,数据之间的关系,数据的语义,以及数据的一致性约束的这样的工具。

两个层次:概念模型与物理模型

数据模型构成

Data structure、Operation on the data、Constraint on the data

  1. 数据结构:数据的逻辑结构,数据的存储结构。数据结构是对静态信息的描述,对象类型的集合。
    • 与类型,内容,性质有关的对象
    • 与数据对象联系有关的对象
  2. 数据的操作:如何对数据的形和数据的值进行操作及规则。
    • 对动态特性的描述数据操作的类型:增,删,改,查;
    • 数据值的操作: 例如对成绩的修改。但是必须在操作规则的规定范围之内。有定义的权限。
  3. 数据的约束关系:一组完整性规则的集合。
    • 数据要符合语义的要求。一个学生的年龄,需要是数字,19-25之间。
    • 实体完整性,参照完整性

数据模型举例

数据库涉及的用户很多,在设计的时候,有的时候并不能之间的把信息之间抽象到计算机的角度中表示。

  1. Entity-Relationship data model
    • mainly for database design
  2. Relational model
  3. Other older models:
    • Network model
    • Hierarchical model
  4. Object-based data models
    • Object-oriented
    • Object-relational
  5. Semistructured data model
    • XML

The Entity-Relationship Model

实体:客观存在并可相互区别的对象。

属性: 实体具有的某些特性。

码:唯一标识实体的属性集

Relational Model

Use a collection of tables to represent both data and relationships among those data

行:元组

列:属性

特点

  • 建立在严格的数学概念基础上。
  • 数据结构简单,实体和联系都用表来描述。

Database Languages

Data Definition Language (DDL)

Data Manipulation Language (DML)

DDL

DDL compiler generates tables according to DDL statements and store the schema definitions of these tables in data dictionary

Data dictionary

是一个预留空间,一个数据库,这是用来储存信息数据库本身。

  • Database schema
  • Integrity constraints
  • Authorization

DML

query language

  1. Retrieval of information
  2. Insertion of new information
  3. Deletion of information
  4. Modification of information

Two classes

Procedural: user specifies what data is required and how to get those data

Declarative (nonprocedural): user specifies what data is required without specifying how to get those data

Database Design

  1. Logical Design
  2. Physical Design

Design Approaches

Entity Relationship Model

Normalization Theory

Function of DBMS

  1. view of user:
    • Data definition
    • Data manipulation
    • Data control
    • Data maintenance
  2. the point of system
    • SQL language Compiler
    • Query Engine
    • Data Organization, Storage and Management
    • Transaction Management

数据库控制:安全性控制,完整性控制

Database Users

Naive users:invoke one of the permanent application programs that have been written previously

Application programmers:write application programs,interact with system through DML calls

Sophisticated users: interact with the system without writing programs

Database Designer and Analyzer:设计数据库的模式与模型

Database Administrator(DBA)

have central control of the database system, coordinates all the activities of the database system

Has a good understanding of the enterprise’s information resources and needs

参考

chapter1.ppt

posted @ 2022-05-06 10:47  FrancisQiu  阅读(5)  评论(0)    收藏  举报