【2022-06-05】【知识梳理】数据库系统概念 第一章 简介(docx)

本文介绍了数据库管理系统(DBMS)的基本概念,包括数据的高价值、多用户访问、并发控制和安全性需求。强调了数据库系统的目的在于解决数据冗余、不一致等问题,提供数据抽象以简化用户交互。讨论了数据库的视图级别抽象,包括物理级、逻辑级和视图级,以及数据模型的类型,如关系模型、实体-关系模型等。还概述了数据库语言(DDL、DML),特别是SQL的作用,以及数据库引擎的组成部分,如存储管理器、请求处理器和事务管理器。最后,提到了数据库用户和管理员的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建议先修课程:数据结构、操作系统、计算机组成原理。
配套教材:
Database System Concepts 7th Edition Abraham Silberschatz Henry F. Korth S. Sudarshan
参考书目:
1、数据库系统概论(第5版) 王珊 萨师煊


链接: https://pan.baidu.com/s/10Q7QWqINfMEBtNhL15__Og?pwd=yen1


一 简介

数据库管理系统(database management system,DBMS),是相互关联的数据和访问这些数据的程序集构成的集合。数据的集合通常叫做数据库(database)。数据库管理系统的目标是:提供一种方式,方便而高效地存储与检索(retrieve)数据库信息。
数据库系统针对管理大量的信息而设计。这些管理包括定义信息存储的结构和提供信息操纵的机制。此外,数据库系统必须确保在系统崩溃和非授权访问的条件下的存储信息的安全。如果数据为多用户共享,系统还必须避免异常的结果。
1.1 数据库系统应用
数据库系统源于1960年代,最初用于计算机化的商业数据管理。相比如今的数据库应用程序,当时的应用程序相对简单,不同如今这般高度复杂。
所有数据库应用程序,无论旧或新,都具有重要的共同点。这些程序的核心并不是计算,而是数据本身。今天,一些最有价值的公司之所以最有价值,并非由于它们的物理财产,而是因为拥有的数据。如果银行没有账户与客户的数据,社交网络失去了用户的连接,这些企业的价值就几乎完全清零。
数据库系统用于管理这样的数据:高价值;数量相对庞大;被多个用户和应用程序(同时)访问。
最初的数据库应用程序只有简单的、格式精确的、结构化的数据。现如今,数据库应用程序可以含有具有复杂关系和结构多变的数据。学生或课程信息、火车或飞机的时刻表、产品信息之类的数据,其结构相对标准或固定,相关的数据库应用可以追溯到数据库系统最初诞生的时代。但对于社交网络等应用场景,情况就不同了:社交网络用户回发布不同类型的信息,例如文本、图片、视频、链接等。这些数据在结构上的共同点有限。然而,这些应用程序都有着数据库的相同特性。
现代数据库系统充分运用了数据结构来提升效率,也允许访存弱结构或格式高度可变的数据。于是,数据库系统成为了一个巨大而繁杂的软件系统,其任务为管理量大而复杂的数据。
抽象(abstraction)是一个非常关键的概念。抽象允许人们在不清楚复杂设备或系统的构建细节时依然能够使用它们。在驾驶时,并不需要得知发动机是如何制造出来的。类似地,数据库系统提供信息的一个简单而抽象的视图,令用户不需了解数据如何存储和组织的底层细节就能访问数据。
使用数据库的各种领域
销售 顾客、产品、购买信息。
会计:支出、收据、账户结余、资产、其它账户信息。
人力资源(HR):雇员、工资、税、收益、支票生成。
生产 供应链管理、工厂生产产品的追踪、仓储管理、产品订单。
银行与金融 银行:顾客信息、账户、借贷、银行交易。
信用卡交易:信用卡购买、每月报表的生成。
金融:股票和债券等金融商品的持有与销售、实时市场数据的存储(用于在线交易与自动化交易)。
大学 学生信息、课程注册、成绩、人力资源、会计。
航空 航班预定与调度信息。航空是率先使用分布数据库的行业。
通信 通话、短信、移动数据使用情况的记录、月度账单的生成、预付卡的结余、通信网络的信息存储。
Web服务 社交媒体:记录用户信息与用户间的连接(例如:好友或关注)、用户发表的帖子、评分和点赞等信息。
线上零售商:记录销售数据和订单、追踪用户的产品评价与搜索关键词等、为用户推荐商品。
线上广告:记录点击历史、产品简易、新闻文章等。人们进行Web搜索、在线购买、访问社交媒体网站时,会访问这类数据库。

目 录 译者序 第7版序言 第一部分 基础知识 第1章 数据库管理概述 1 1.1 引言 1 1.2 什么是数据库系统 3 1.3 什么是数据库 6 1.4 为什么用数据库 10 1.5 数据独立性 12 1.6 关系系统及其他 15 1.7 小结 17 练习 17 参考文献和简介 19 部分练习答案 19 第2章 数据库系统体系结构 22 2.1 引言 22 2.2 三级体系结构 22 2.3 外模式 24 2.4 概念模式 26 2.5 内模式 26 2.6 映象 27 2.7 数据库管理员 27 2.8 数据库管理系统 28 2.9 数据通信管理器 31 2.10 客户/服务器体系结构 31 2.11 工具 33 2.12 分布式处理 33 2.13 小结 35 练习 35 参考文献和简介 36 第3章 关系数据库介绍 38 3.1 引言 38 3.2 关系模型概述 38 3.3 关系和关系变量 41 3.4 关系的含义 42 3.5 优化 44 3.6 数据字典 45 3.7 基本关系变量和视图 46 3.8 事务 49 3.9 供应商和零件数据库 49 3.10 小结 51 练习 52 参考文献和简介 53 部分练习答案 54 第4章 SQL概述 55 4.1 引言 55 4.2 综述 56 4.3 目录 58 4.4 视图 59 4.5 事务 59 4.6 嵌入式SQL 59 4.7 SQL是不完美的 66 4.8 小结 66 练习 67 参考文献和简介 68 部分练习答案 73 第二部分 关系数据模型 第5章 域、关系和基本关系变量 77 5.1 引言 77 5.2 域 79 5.3 关系值 86 5.4 关系变量 90 5.5 SQL的支持 93 5.6 小结 96 练习 97 参考文献和简介 98 部分练习答案 101 第6章 关系代数 106 6.1 引言 106 6.2 关系封闭性 107 6.3 语法 109 6.4 语义 110 6.5 举例 117 6.6 关系代数的作用 119 6.7 附加的操作符 120 6.8 分组与分组还原 125 6.9 关系比较 127 6.10 小结 128 练习 129 参考文献和简介 131 部分练习答案 133 第7章 关系演算 140 7.1 引言 140 7.2 元组演算 141 7.3 举例 147 7.4 关系演算与关系代数的比较 149 7.5 计算能力 152 7.6 域演算 153 7.7 SQL语言 155 7.8 小结 162 练习 163 参考文献和简介 165 部分练习答案 167 第8章 完整性 179 8.1 引言 179 8.2 类型约束 180 8.3 属性约束 181 8.4 关系变量约束 182 8.5 数据库约束 182 8.6 黄金法则 183 8.7 静态约束和动态约束 184 8.8 码 185 8.9 SQL对完整性的支持 191 8.10 小结 194 练习 194 参考文献和简介 196 部分练习答案 201 第9章 视图 209 9.1 引言 209 9.2 视图的用途 211 9.3 视图检索 213 9.4 视图更新 214 9.5 快照 225 9.6 SQL对视图的支持 226 9.7 小结 227 练习 228 参考文献和简介 229 部分练习答案 232 第三部分 数据库设计 第10章 函数依赖 238 10.1 引言 238 10.2 基本概念 239 10.3 平凡的函数依赖和非平凡的函数 依赖 241 10.4 依赖集的闭包 241 10.5 属性集的闭包 242 10.6 最小函数依赖集 244 10.7 小结 245 练习 246 参考文献和简介 247 部分练习答案 249 第11章 进一步规范化Ⅰ:1NF、2NF、 3NF和BCNF 252 11.1 引言 252 11.2 无损分解和函数依赖 254 11.3 第一、第二和第三范式 257 11.4 保持函数依赖 262 11.5 BOYCE/CODD范式 264 11.6 具有关系值属性的关系变量 268 11.7 小结 270 练习 270 参考文献和简介 272 部分练习答案 274 第12章 进一步规范化Ⅱ:高级范式 282 12.1 引言 282 12.2 多值依赖与第四范式 282 12.3 连接依赖与第五范式 285 12.4 规范化过程小结 289 12.5 逆规范化 291 12.6 正交设计 292 12.7 其他的规范化形式 295 12.8 小结 296 练习 296 参考文献和简介 297 部分练习答案 302 第13章 语义建模 306 13.1 引言 306 13.2 总体方法 307 13.3 E/R模型 309 13.4 E/R图 312 13.5 基于E/R模型的数据库设计 313 13.6 简单分析 317 13.7 小结 319 练习 320 参考文献和简介 321 第四部分 事务管理 第14章 恢复 333 14.1 引言 333 14.2 事务 334 14.3 事务恢复 335 14.4 系统恢复 337 14.5 介质恢复 338 14.6 两阶段提交 338 14.7 SQL对事务的支持 339 14.8 小结 340 练习 341 参考文献和简介 341 部分练习答案 345 第15章 并发 347 15.1 引言 347 15.2 三个并发问题 347 15.3 锁 349 15.4 重提三个并发问题 350 15.5 死锁 352 15.6 可串行性 353 15.7 隔离级别 354 15.8 意向锁 355 15.9 SQL的支持 357 15.10 小结 358 练习 359 参考文献和简介 360 部分练习答案 365 第五部分 高级专题 第16章 安全性 369 16.1 引言 369 16.2 自主存取控制 371 16.3 强制存取控制 375 16.4 统计数据库 377 16.5 数据加密 381 16.6 SQL的支持 384 16.7 小结 386 练习 387 参考文献和简介 388 部分练习答案 390 第17章 优化 394 17.1 引言 394 17.2 一个启发性的例子 395 17.3 查询处理概述 396 17.4 表达式变换 399 17.5 数据库统计信息 403 17.6 分而治之的策略 404 17.7 关系操作的实现算法 406 17.8 小结 410 练习 411 参考文献和简介 413 部分练习答案 430 第18章 信息空缺 432 18.1 引言 432 18.2 3VL方法概述 433 18.3 上述方案所造成的某些结果 437 18.4 空值和码 440 18.5 外连接 442 18.6 特殊值 444 18.7 SQL的支持 444 18.8 小结 447 练习 448 参考文献和简介 449 部分练习答案 452 第19章 类型继承 454 19.1 引言 454 19.2 类型的层次结构 457 19.3 多态性和可置换性 459 19.4 变量与赋值 462 19.5 约束特化 465 19.6 比较 467 19.7 操作、版本和签名 470 19.8 一个圆是一个椭圆吗 473 19.9 约束特化—再次讨论 476 19.10 小结 478 练习 479 参考文献和简介 480 部分练习答案 481 第20章 分布式数据库 484 20.1 引言 484 20.2 一些预备知识 484 20.3 十二个目标 487 20.4 分布式系统面对的问题 493 20.5 客户/服务器系统 502 20.6 DBMS独立性 504 20.7 SQL的支持 508 20.8 小结 509 练习 509 参考文献和简介 510 第21章 决策支持 518 21.1 引言 518 21.2 决策支持的特征 519 21.3 决策支持的数据库设计 520 21.4 数据准备 525 21.5 数据仓库和数据集市 527 21.6 联机分析处理 530 21.7 数据挖掘 535 21.8 小结 536 练习 537 参考文献和简介 538 部分练习答案 540 第22章 时态数据库 541 22.1 引言 541 22.2 时态数据 542 22.3 问题是什么 544 22.4 时间间隔 548 22.5 间隔类型 549 22.6 间隔上的标量操作符 551 22.7 间隔上的聚集操作符 551 22.8 与间隔有关的关系操作符 552 22.9 间隔上的约束 557 22.10 间隔上的更新操作符 559 22.11 关于数据库设计 560 22.12 小结 562 练习 563 参考文献和简介 563 部分练习答案 565 第23章 基于逻辑的数据库 567 23.1 引言 567 23.2 综述 567 23.3 命题演算 569 23.4 谓词演算 572 23.5 数据库的证明理论观点 577 23.6 演绎数据库系统 580 23.7 递归查询过程 583 23.8 小结 588 练习 589 参考文献和简介 590 部分练习答案 596 第六部分 对象和对象/关系数据库 第24章 对象数据库 599 24.1 引言 599 24.2 对象、类、方法和消息 602 24.3 进一步的分析 605 24.4 一个详实的例子 611 24.5 混合性问题 618 24.6 小结 624 练习 626 参考文献和简介 627 部分练习答案 634 第25章 对象/关系数据库 637 25.1 引言 637 25.2 第一个根本性错误 639 25.3 第二个根本性错误 644 25.4 实现上的问题 645 25.5 真正融合的好处 647 25.6 小结 648 参考文献和简介 649 附 录 附录A SQL表达式 657 附录B SQL3概览 666 附录C 缩略语和符号 678
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值