数据库原理与设计第一章知识点总结

数据库原理与设计

第1章 数据库系统概述

1.1 数据库管理系统出现的背景

​ 数据库的出现,由实际应用需求推动

根源:基于文件系统的应用系统存在缺陷,如大容量数据存储、多用户并发访问、故障恢复、数据一致性(完整性)、数据安全性等。

大数据量带来的问题
  1. 内存不够
  2. 32位计算机直接访问的地址为4GB
  3. 大数据量下的查询速度

1.2 数据库管理系统基本功能

​ 通过将数据存储于DBMS中而不是文件系统中,可以以一种强壮、高效的方式进行数据的管理,其优点为:

  1. 数据独立性(Data Independence):指应用程序独立于数据的表示(逻辑)与存储(物理),通过将数据的定义与存储从程序中独立出来实现。
  2. 高效数据访问(Efficient Data Access):DBMS利用许多复杂的技术来高效存储和检索数据,这对存于外部存储设备上的数据相当重要。
  3. 数据完整性与安全性(Data Integrity andSecurity):DBMS通过数据的完整性约束或限制(Integrity Constraints)、访问控制来完成。
  4. 数据管理(Data Administration):数据的集中管理可减少冗余。
  5. 并发访问与故障恢复(Concurrent Access and Crash Recovery):并发访问可使用户感到好象只有他一个人在使用某个数据。
  6. 缩 短 应 用 开 发 时 间 (Reduced Application Development Time):有许多重要的数据管理及其相关的任务由DBMS来完成,而非App。
不使用RDBMS的环境

(1)苛刻的实时(Real Time)环境,如:前端控制;

(2)操作少,代码要求精炼;

(3)操纵的数据(半结构化、非结构化)不被SQL语言支持,如文档数据、图像、音频/视频。

DBMS的基本功能
  1. 数据独立性
  2. 安全性
  3. 完整性
  4. 故障恢复
  5. 并发控制

1.3 数据库管理系统抽象层次

如图所示为数据库系统的三级抽象层次结构,有时也称作数据库的三级模式结构。

在这里插入图片描述

抽象层次举例,进一步理解抽象层次

在这里插入图片描述

​ 抽象层次体现的正是数据库设计的过程与步骤

​ 各过程阶段中使用不同的设计工具

​ 视图抽象与概念抽象阶段——高级数据模型(如:ERM),也称概念数据模型语义数据模型

​ 物理抽象阶段——低级数据模型(如:关系/层次/网状模型——3个传统数据模型),也叫逻辑数据模型

1.4 数据抽象、数据模型及数据模式之间的关系

数据抽象(Data Abstraction) 即是将数据抽象化、逻辑化,是对数据的抽取过程。在数据库系统中,有三种

级别的数据抽象,即:视图级抽象、概念级抽象和物理级抽象。

数据模型(Data Model) 即是对数据进行抽象化表示的工具,主要使用逻辑概念(如对象、对象属性、对象联

系等)来表示数据。

​ 由于抽象级别的存在,数据模型也存在相应的级别。如:概念数据模型、逻辑数据模型、物理数据模型等。对于抽象级别高的概念数据模型我们叫它语义(Semantic)数据模型,如ER模型。

数据模式(Data Schema) 利用数据模型组织抽取的数据所得的结果,也即是数据抽象的结果。

1.5 数据库语言与SQL语言

数据定义子语言(Data Definition Language, DDL)用来定义数据库模式。

数据操纵子语言(Data Manipulation Language, DML)用来表示用户对数据库的操作请求。由于数据库语言其主要的功能是查询数据库中的信息,故经常称之为数据查询语言

SQL(Structured Query Language,结构化查询语言)是一种集数据定义和数据操纵子语言为一体的、标准化(80年代后期)的关系型数据库语言。目前应用最普遍的标准化版本为SQL-92,被ANSI(American National Standards Institute) 、 ISO(International Standards Organization)采纳。

​ SQL语言的第一个版本是由IBM公司SAN JOSE实验室为SYSTEM R关系数据库管理系统设计的。

​ SQL语言既可以作为交互式(Interactive)数据库语言使用,也可以嵌入(Embedded)到程序设计语言中作为 其子语言使用,这时前者称为宿主语言 (Host Language),如:C/C++语言、PowerBuilder、Delphi等。

SQL标准有: SQL-86 、 SQL-89 、 SQL-92 、SQL:1999、SQL:2003/2006/2008/2011。其中,SQL-86和SQL-89属SQL1(表示SQL版本1),SQL-92属SQL2,而SQL:1999则属SQL3。

1.6 数据库系统总体结构

1.6.1 总体结构

数据库管理系统的原理与数据库应用系统的设计与开发的联系是紧密相关的。

在这里插入图片描述

数据库系统总体结构图

1.6.2 C/S模式

在这里插入图片描述

​ 客户/服务器(client/server,C/S)模式是一种分布式的计算模式,与传统的、基于主机的结构相比,具有较好的可伸缩性和较优的性价比。

1.6.3 B/S模式

在这里插入图片描述

​ B/S模式即浏览器/服务器(browser/server,B/S)模式。

产生环境:随着应用系统规模的扩大,C/S的某些缺陷表现非常突出,如客户端软件的安装、维护、升级和发布等以及用户的培训等问题。而随着Internet的迅速普及,B/S(浏览器/服务器)模式有效地解决了这一系列问题。

1.6.4 ODBC

​ ODBC(Open Database Connectivity) 开放数据库连接

​ 中间件:通过屏蔽不同产品之间的差异,以统一的方式访问/连接不同的产品,数据库中间件/通信中间件/消息中间件……

​ 利用ODBC,程序编制人员不必像嵌入式SQL那样,使用RDBMS厂商的专用工具来编写代码,而是利用ODBC提供的数据库访问函数,直接操纵数据库中的数据。

在这里插入图片描述

1.6.5 JDBC

​ JDBC(Java Database Connectivity)是一种执行SQL语句的Java API。

在这里插入图片描述

​ JDBC保持了ODBC的基本设计特征。

1.7 数据库系统中的基本概念

注:★代表重点

数据(Data)是描述现实世界中各种具体事物或抽象概念的可存贮并具有明确意义的信息。

数据库(Database, DB) 是相互关联的数据集合。

数据库管理系统(Database Management System,DBMS) 是一个通用的软件系统,由一组计算机程序构成。它能对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等;同时,它也为用户提供了一个软件环境,使其能够方便快速地创建、维护、检索、存取和处理数据库中的信息。

数据库系统(Database System, DBS) 由数据库和数据库管理系统构成,更广义的构成则为“DB+DBMS+数据库管理员(DataBase Administrator, DBA)+应用程序+用户”。

数据字典(Data Dictionary, DD) 是数据库系统中的一个特殊文件,用于存储数据库的一些说明信息,这些说

明信息称为元数据(Meta Data)

​ ★数据库操作(Database Operation) 在数据库应用中,最常见的数据库操作有:增加、删除、修改和查询。

​ ★视图

原始定义:一个人看一个对象所形成的图像。

数据库定义:不同用户对同一数据库的一种理解,称为该数据库的一个视图。

​ 数据库为一个全局的事物,而每一种理解则是局部的图像,这样,一个视图就是一个数据库的子集。(相当于从整个数据库中提取某些表中的某些行列并映射出来,形成一个视图)

在这里插入图片描述


数据模型

数据模型的三个评价标准

  1. 比较真实地描述现实世界;
  2. 易为用户所理解;
  3. 易于在计算机上实现。

数据模型的三要素

  1. 数据结构。它用于描述现实系统中数据的静态特性。
  2. 数据操作。它用于描述数据的动态特性。
  3. 数据约束。它用于描述对数据的约束。

数据模型的分类

​ 概念数据模型、逻辑数据模型、物理数据模型。


数据模式 详见上方

​ ★传统数据模型 一般情况下,将层次数据模型、网状数据模型、关系数据模型统称为传统数据模型。

数据库系统用户 1.最终用户 2.数据库应用开发人员 3.数据库管理员 4.其他与数据库系统有关的人员

1.8 数据库技术的发展

第二代数据库系统

​ 即关系数据库管理系统(Relational DBMS,RDBMS)

Edgar Frank Codd,关系数据库之父,数据库界的第二位图灵奖得主(1981)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值