索引 / 001 ZH-CN
Database Systems: Design, Implementation, and Management(数据库系统:设计、实现与管理) cover

计算机科学

计算机科学

Database Systems: Design, Implementation, and Management(数据库系统:设计、实现与管理)

Carlos Coronel; Steven Morris

英文原名: Database Systems: Design, Implementation, and Management

一本数据库入门教材,讲授如何为企业和组织设计、构建和管理关系数据库。它重视通过数据建模和规范化进行实用的数据库设计,循序渐进地讲解SQL,并把数据库放在数据管理、数据分析、大数据和NoSQL系统的更广阔背景中介绍。

需要的基础: 不要求数据库基础;具备一般计算机使用能力,接触过编程或电子表格会有帮助。

难度等级
入门
学术层次
本科
databasesrelational modelsqldata modelingnormalization教科书

01 / 导读

导读

引用

Coronel, C., & Morris, S. (2026). Database Systems: Design, Implementation, and Management (15th ed.). Cengage.

章节概要

第十五版共六个部分十六章,其后附有十五个在线附录(A–O)。出版社将本书描述为一本实用的数据库设计与实现入门教材,对SQL编程有深入讲解,并称本版对章节作了修订和重组,突出SQL、人工智能对数据库和数据从业者的影响以及数据库伦理。出版社列出的所涉系统为Oracle、MySQL、SQL Server和Microsoft Access,并说明每章中多处嵌入了自测小测验。六个部分依次为:Database Concepts(第1–3章)、Database Programming with SQL(第4–5章)、Design Concepts(第6–9章)、Advanced Database Concepts(第10–14章)、Databases and the Internet(第15章)和Database Administration(第16章)。

第1–3章:Database Systems(数据库系统);Data Models(数据模型);The Relational Database Model(关系数据库模型)

开篇部分介绍数据库系统、作为设计中表示数据之方式的数据模型,以及SQL部分和设计部分所依托的关系模型。

第4–5章:Introduction to Structured Query Language (SQL)(SQL入门);Advanced SQL(高级SQL)

SQL紧接在关系模型之后、设计章节之前。第4章介绍这门语言,第5章进一步讲更高级的用法。

第6章:Entity Relationship (ER) Modeling(实体–联系(ER)建模)

介绍实体–联系建模,即描述实体及其相互联系的技术,后续的设计章节都以此为基础。

第7章:Advanced Data Modeling(高级数据建模)

把ER内容扩展到更复杂的建模情形。

第8章:Normalization of Database Tables(数据库表的规范化)

把规范化作为评估和改进表结构的方法来讲。

第9章:Database Design(数据库设计)

把建模和规范化纳入整个设计流程。

第10–11章:Transaction Management and Concurrency Control(事务管理与并发控制);Database Performance Tuning and Query Optimization(数据库性能调优与查询优化)

这两章从设计转向数据库在使用中的表现:在多用户同时操作时保证事务正确,以及让查询高效执行。

第12章:Distributed Database Management Systems(分布式数据库管理系统)

讨论数据和处理分散在多个站点时的数据库管理。

第13–14章:Business Intelligence and Data Warehouses(商业智能与数据仓库);Big Data Analytics and NoSQL(大数据分析与NoSQL)

转向用于分析而非日常事务的数据,以及面向大规模、多样化数据的非关系型系统。

第15章:Database Connectivity and Web Technologies(数据库连接与Web技术)

讨论应用程序和Web技术如何连接数据库。

第16章:Database Administration and Security(数据库管理与安全)

以组织中管理和保护数据库的工作收尾。

在线附录

附录包括:使用绘图工具(Lucidchart)设计数据库的教程,从概念设计一直做到实现的两部分University Lab案例,把ER模型转换为数据库结构,ER表示法比较,UML,客户/服务器系统,面向对象、层次和网状数据库模型,电子商务中的数据库,用ColdFusion开发Web数据库,数据仓库实施因素,以及MongoDB和Neo4j的上手入门。

核心概念

第一部分:Database Concepts

  • 数据库系统:数据库及管理和使用它的软件与人员的总称(第1章)。
  • 数据模型:为设计数据库而对数据结构及其联系所作的表示(第2章)。
  • 关系模型:以表为基础的模型,SQL和设计章节都以它为依托(第3章)。

第二部分:Database Programming with SQL

  • 结构化查询语言(SQL):定义和查询关系数据库的标准语言,分两章讲授。

第三部分:Design Concepts

  • 实体–联系(ER)建模:用图表示实体及其相互联系,作为概念设计的基础。
  • 规范化:改进表结构,减少冗余及其引起的异常。
  • 数据库设计:把建模、规范化和实现结合在一起的整体流程。

第四至六部分:高级概念、互联网与管理

  • 事务管理与并发控制:在把操作组合起来并同时执行时保持数据一致。
  • 查询优化:结合数据库性能调优,使查询高效执行。
  • 数据仓库与商业智能:为分析和决策而存储、组织数据。
  • NoSQL:与大数据相联系的非关系型数据库系统,MongoDB和Neo4j在附录中讲解。
  • 数据库管理与安全:把数据库作为组织资源加以管理和保护。

评析

优点

  • 一本书覆盖面很广。 目录从基本概念、SQL和设计一直延伸到事务、性能、分布式数据库、数据仓库、NoSQL、Web连接和管理,一本教材就能支撑整门入门课程以及通常随后学习的主题。
  • 实践与真实产品挂钩。 出版社强调本书涵盖Oracle、MySQL、SQL Server和Microsoft Access,在线附录还提供MongoDB和Neo4j的上手材料以及绘图教程,适合有上机实验的课程。
  • SQL出现得早。 本版把SQL放在紧接关系模型之后的第二部分,学生在进入篇幅较长的设计章节之前就能开始写查询。
  • 设计讲得充分。 第三部分用四章讲ER建模、高级建模、规范化和设计流程,并有附录中的University Lab案例和ER表示法比较作为补充。
  • 新话题与学习辅助。 出版社突出了对人工智能和数据库伦理的新关注,以及章内的自测小测验。

局限

  • 数据库系统的实现不是重点。 章节标题涉及数据库的使用、设计和管理,没有关于存储结构或数据库引擎如何构建的章节,这些内容由本课程中的计算机科学教材讲授。
  • 部分内容放在网上。 十五个附录(包括主要案例和NoSQL教程)以在线形式提供,不在印刷版中;出版社的自动评分实验属于另行销售的MindTap平台。
  • 篇幅与广度。 全书六个部分十六章,一门课需要有所取舍;高级概念和管理部分超出了多数第一门课程的范围。

在课程中的定位

在数据库这门课的书单中,本书是一本面向应用型和商科方向学习的综合性入门教材。Hernandez 的 Database Design for Mere Mortals 范围更窄:只逐步讲逻辑设计,不涉及SQL。觉得 Coronel 与 Morris 的设计章节节奏太快的读者,可以把 Hernandez 与第三部分配合使用,按更慢的方法学习;需要SQL、事务或数据仓库内容的读者,则只能在本书中找到。

Silberschatz、Korth 与 Sudarshan 的 Database System Concepts 以及 Elmasri 与 Navathe 的 Fundamentals of Database Systems 内容与本书有重叠,但面向计算机科学专业学生,在理论和数据库系统实现方面走得更深。Ramakrishnan 与 Gehrke 的 Database Management Systems 以及 Gray 与 Reuter 的 Transaction Processing 适合在本书之后用来学习查询处理的内部机制和事务系统的工程实现;本书第10–11章可以作为这些主题的初步入门。

如何使用本书

两位作者都在中田纳西州立大学:Coronel 负责商学院的计算机实验室,Morris 讲授过数据库设计、SQL和信息系统课程;出版社也把本书定位为帮助学生为数据库设计与管理方面的职业做准备。本书适合信息系统和应用计算方向的第一门数据库课程,也适合想上手真实数据库产品的读者。第一部分从什么是数据库系统讲起,因此不需要先修过数据库课程;对电子表格或编程有些了解,会让SQL章节更容易上手。

一学期入门课程的安排建议:

  • 核心: 第1–3章(概念与关系模型)、第4–5章(SQL)以及第6–9章(建模、规范化与设计)。
  • 常见补充: 讲事务与并发的第10章,再根据课程偏向分析还是NoSQL,选第13章或第14章。
  • 第二门课或专题: 第11–12章和第15–16章,涉及性能、分布式、Web连接和管理。
  • 附录: University Lab案例(附录B–C)是第三部分的好帮手;把ER图转换成表时可参考附录D;附录N–O是上手文档数据库和图数据库的实用起点。

建议安装书中涉及的一种数据库系统,在读第4–5章时把每个SQL示例都亲手输入一遍。学习第三部分时,自己设计一个小型数据库并在同一系统中实现,然后回到SQL章节编写它需要的查询。想更形式化地学习规范化或查询执行原理的学生,可以在本书之后接着读本课程中的计算机科学教材。