美文网首页程序员
《数据库系统概念》1-数据抽象、模型及SQL

《数据库系统概念》1-数据抽象、模型及SQL

作者: zhixin9001 | 来源:发表于2017-11-06 21:55 被阅读0次

DBMS(database-management

system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便、高效的方式,此外对大多数企业来说,数据是非常重要的,所以DBMS还要保证数据的安全,比如在系统奔溃或收到未授权访问请求的时候。

一、数据抽象

a) 数据库系统隐藏了数据在存储、维护方面的细节,以视图的形式为用户提供数据。数据库系统必须能满足高效地查询数据的需求,为此设计者将数据库系统抽象为三层:物理层、逻辑层、视图层

b) 物理层,描述了数据在物理存储介质的实际存储方式;

逻辑层,描述了数据在数据库的存储方式以及数据之间的逻辑关系,尽管为了实现这些逻辑关系需要复杂的物理关系,逻辑层为用户隐藏了这些复杂性。

视图层,是对数据库最高级别的抽象,虽然逻辑层隐藏了物理层的复杂度,但对于一个完整的数据库所储存的信息来说,逻辑层仍然是非常复杂的,除了DBA有时可能直接操作逻辑层,普通用户往往只需要访问其中的一部分数据,视图层就是为了简化普通用户与数据库的交互而存在的。同一个数据库可以有多份视图。

c) 随着数据的增删改,数据库会不断变化。在某一刻数据库中所有信息的集合称为Instance;而数据库的整体结构称为Schema,Schema很少发生变化。用程序来类比的话,Schema相当于预先声明的变量,Instance则相当于变量的值。

数据库有不同的分层,对应就有不同的Schema,视图层甚至有多个subschema。

二、数据模型

数据模型是用于描述数据、数据关系、数据语义、一致性约束的一系列工具的集合。数据模型可以从物理、逻辑、视图的层面描述数据库的设计,有多种类型:

a) Relational Model

关系模型用表来描述数据及相互关系,每张表有多个列,每个列有唯一的名称,表和表之间又存在一定的关系。关系模型是一种基于记录的模型,采用这种模型记录的数据都有固定数量的字段或属性(列),这种模型的使用最为广泛。

b) Entity-Relationship Model

E-R模型用了实体和实体间关系这样的概念,实体对应于现实世界的对象。这种模型也被广泛使用。

c) Object-Based Data Model

由于面向对象的编程语言成为主流,基于对象的数据模型也应运而生,这种模型结合和关系模型和E-R模型的特性,并增加了封装、方法等面向对象的思想。

d) Semistructured Data Model

在XML等半结构化的数据模型中,允许数据有不同的字段,这与之前的模型都不相同。

三、数据库语言

SQL包含DDL(data-definition language)和DML(data-manpulate language)。

a) DML

DML用于对数据的操作如增删改查,分为过程化DML和非过程化DML,前者在使用时要指定需要操作的数据以及操作的方式,后者只需要指定需要的数据就可以了,剩下的交给数据库系统(将查询语句翻译成对物理层的操作),所以后者更容易学习和使用。

b) DDL

DDL用于定义数据的schema、存取方式、约束等。

域约束(domain constraints):对数据类型的约束,每次插入数据都会检查

参照完整性(referential ingegrity):要保证被关联的对象是存在的,比如course表中dept_name与department表的某列关联,那么dept_name的值必须是department实际存在的。数据库的修改有可能会破坏参照完整性,这时应该阻止操作以避免破坏参照完整性。

断言(assertions):是数据库在任何时候都必须满足的条件,域约束和参照完整性是特殊的断言。一般的对类似“每个部门必须提供至少5个节目”这样的限制就可以创建断言,然后每次对数据改动前都会检查是否满足断言。

权限(authorization):常见的权限类型有读取、插入、更新、删除等,可以控制用户拥有某几项权限。

DDL语句执行的结果为数据字典,这种数据字典可以看作是只能被数据库系统维护的特殊表。数据库在进行数据的查询、操作前都会先查阅数据字典。

学习资料:Database System Concepts, by Abraham Silberschatz, Henry F.Korth, S.Sudarshan

相关文章

  • 《数据库系统概念》1-数据抽象、模型及SQL

    DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标...

  • 数据库原理复习3

    1.3数据抽象的级别 1.数据抽象的过程 根据抽象的级别定义了四种模型: 1)概念数据模型 2)逻辑数据模型 3)...

  • 软件设计师考试 | 第九章 数据库技术基础 | 数据模型

    (一)基本概念 模型是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。 常用的数据模型为: 概念数...

  • 大纲

    (一)数据库基本概念和原理 1、考试内容: 数据模型,数据库系统结构,数据库系统组成 2、考试要求: 掌握数据库、...

  • 数据库设计(〇)计划

    1. 数据库概述 2. 数据模型 3. 数据库系统结构 4. 关系模型和关系数据库 5. SQL 6. 数据库完整...

  • 【1】SQL基础——初识

    1.SQL 与 数据库系统之间的关系: SQL是用于访问和处理数据库的标准的计算机语言 SQL可以与数据库系统协同...

  • 数据库基础---关系数据库简介和关系代数8种运算方法及例题

    关系数据库 关系数据模型 关系是一个数学概念。当把关系的概念引入到数据库系统作为数据模型的数据结构时,既有所限定和...

  • 数据模型

    1、概念数据模型 概念数据模型:按用户的观点来对数据和信息建模。用于组织信息世界的概念,表现从现实世界中抽象出来的...

  • 数据安全小知识

    一、数据模型: 是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的模拟,是数据库系统的核心和基础;...

  • 数据仓库与数据挖掘技术—建模过程

    数据仓库的建模,首先要将现实的决策分析环境,抽象成一个概念数据模型,然后将此概念模型逻辑化、建立逻辑数据模型,最后...

网友评论

    本文标题:《数据库系统概念》1-数据抽象、模型及SQL

    本文链接:https://www.haomeiwen.com/subject/eplnpxtx.html