数据库系统

出版时间:2005-12  出版社:高等教育出版社  作者:基弗  页数:238  

前言

此教材的第二版将会发行两个版本:本书的版本,主要是入门性内容,适合本科生或研究生的数据库初级课程。另一个版本则是完全版,适合以下三方面的课程。数据库入门课程,面向本科生或研究生。事务处理方面的课程,面向学习过数据库入门性课程的本科生或研究生。关于数据库的本科生高级课程或者研究生初级课程,面向学习过数据库入门性课程的学生。我们的目标之一就是减少入门版本的篇幅,使学生更容易接受。另一个目标是在使用本书第一版所获经验的基础上,尽量使本版本更加完善。本书的章节不仅仅是完全版的子集。我们认为讲授数据库入门课程的教师应该选择增加对象数据库和XML(完全版中许多章节详细叙述的主题),以丰富这门课程的内容。因此在本书中,我们新加了两章,第16章“对象数据库绪论”和第17章“xML与Web数据绪论”,都是从本书完全版中经过适当挑选出来的内容。为了使本书能与迅速发展的技术保持同步,我们在本书两个版本的许多章节中加入了大量关于UML的内容,并且新加了一章关于数据库优化的内容(第12章)。正如第一版,我们主要关注如何利用数据库来创建应用程序,而不是如何创建数据库管理系统本身。我们相信,开发应用程序的学生比创建DBMs的学生要多得多。因此,本书加入了大量关于通过事务访问数据库的语言(如嵌入式SQL、ODB和API的内容。尽管本书涵盖了许多关于数据库和事务处理应用程序的实用内容,但是我们更关心这些主题的基本概念,而不是特定的商用系统或应用程序的细节。因此,我们把重点集中在关系和对象数据模型的概念上。即使在SQL过时很久之后,这些概念仍然是数据库处理的基础。为了加强学生对技术内容的理解,我们增加了一个事务处理应用程序的案例,即贯彻全书的“学生注册系统”。尽管一个学生注册系统可能并不吸引人,但它有一个独特的优势,即所有学生都曾作为用户和这样的系统进行过交互。更重要的是,“麻雀虽小,五脏俱全”,因此我们可以用它来阐述在数据库设计、查询处理和事务处理等方面的诸多问题。本书的一个重要特点就是将“学生注册系统”作为例子,介绍了用来实现事务处理应用程序所需的软件工程概念。由于许多信息系统的实现因为项目管理不善和软件工程的欠缺而最终夭折,因此我们认为这些内容应成为学生教育中一个重要组成部分。由于许多学生还需要在这方面另修专门的课程,因此本书对软件工程问题的处理是简明扼要的。然而,我们相信,如果学生们看到这些内容在信息系统实现中会涉及,他们能更好地理解并应用它。由于在Stony Brook使用本教材的课程不是软件工程课程,因此我们上课时不涉及这些内容。事实上,我们要求学生课后阅读并在他们的课程项目中很好地利用软件工程实践。我们在课堂上会介绍“学生注册系统”的特点,以说明关于数据库和事务处理的重要问题。

内容概要

  《数据库系统:面向应用的方法(第2版影印版)》讲解了数据库系统的基本知识,介绍了数据库设计与实现的原理及其应用。主要内容包括数据库与事务概述、关系数据模型、实体–关系图数据库概念建模与UML语言、关系代数与SQL、关系正则理论的数据库设计、触发与活动数据库、SQL应用、物理数据组织与索引、查询处理基础、查询优化概述、数据库调制、事务处理概述、软件工程需求与规范、数据库设计、编码与测试、对象数据库概述、XML与网络数据概述。《数据库系统:面向应用的方法(第2版影印版)》提供了从多角度了解数据库知识的途径。《数据库系统:面向应用的方法(第2版影印版)》配有各章电子教案、图稿电子文档、在线习题解答、参考资料链接、作业与测试题。《数据库系统:面向应用的方法(第2版影印版)》适用于高等院校本科计算机及相关专业的数据库系统课程。

作者简介

作者:(美)基弗 伯恩斯坦 刘易斯

书籍目录

PrefacePART ONE Introduction1 Overview of Databases and Transactions1.1 What Are Databases and Transactions?1.2 Features of Modern Database and Transaction Processing Systems1.3 Major Players in the Implementation and Support of Databaseand Transaction Processing Systems1.4 Decision Support Systems——-OLAP and OLTP2 The Big Picture2.1 Case Study:A Student Registration System2.2 Introduction to Relational Databases2.3 What Makes a Program a Transaction——The ACID PropertiesBibliographic NotesExercisesPART Two Database Management3 The RelationaI Data ModeI3.1 What Is a Data Model?3.2 The Relational Model3.2.1 Basic Concepts3.2.2 Integrity Constraints3.3 SQData Definition Sublanguage3.3.1 Specifying the Relation Type3.3.2 The System Catalog3.3.3 Key Constraints3.3.4 Dealing with Missing Information3.3.5 Semantic Constraints3.3.6 User.Defined Domains3.3.7 Foreign.Key Constraints3.3.8 Reactive Constraints3.3.9 Database Views3.3.10 Modifying Existing Definitions3.3.11 SOL.Schemas3.3.12 Access ControlBibliographic NotesExercises4 Conceptual Modeling of Databases with Entity-Relationship Diagrams and the Unified Modeling Language4.1 Conceptual Modeling with the E-R Approach4.2 Entities and Entity Types4.3 Relationships and Relationship Types4.4 Advanced Features in Conceptual Data Modeling4.4.1 Entity Type Hierarchies4.4.2 Participation Constraints4.4.3 The Part.of Relationship4.5 From E.R Diagrams to Relational Database Schemas4.5.1 Representation of Entities4.5.2 Representation of Relationships4.5.3 Representing IsA Hierarchies in the Relational Model4.5.4 Representation of Participation Constraints4.5.5 Representation of the Part—of Relationship4.6 UML:A New Kid on the Block4.6.1 Representing Entities in UML4.6.2 Representing Relationships in UML4.6.3 Advanced Modeling Concepts in UML4.6.4 Translation to SQL4.7 A Brokerage Firm Example4.7.1 An Entity-Relationship Design4.7.2 A UML Design4.8 Case Study:A Database Design for the Student Registration System4.8.1 The Database Part of the Requirements Document4.8.2 The Database Design4.9 Limitations of Data Modeling MethodologiesBibliographic NotesExercises5 Relational Algebra and SQL5.1 Relational Algebra: Under the Hood of SQL 5.1.1 Basic Operators 5.1.2 Derived Operators5.2 The Query Sub]ansuage of SQL5.2.1 Simple SQL Queries 5.2.2 Set Operations  5.2.3 Nested Queries 5.2.4 Quantified Predicates 5.2.5 Aggregation over Data 5.2.6 Join Expressions in the FROM Clause 5.2.7 A Simple Query Evaluation Algorithm 5.2.8 More on Views in SQL 5.2.9 Materialized Views 5.2.10 The Null Value Quandary 5.3 Modifying Relation Instances in SQL5.3.1 Inserting Data 5.3.2 Deleting Data 5.3.3 Updating Existing Data5.3.4 Updates on Views Bibliographic Notes Exercises 6 Database Design with the Relational Normalization Theory  6.1 The Problem of Redundancy6.2 Decompositions 6.3 Functional Dependencies6.4 Properties of Functional Dependencies 6.5 Normal Forms 6.5.1 The Boyce-Codd Normal Form 6.5.2 The Third Normal Form 6.6 Properties of Decompositions 6.6.1 Lossless and Lossy Decompositions 6.6.2 Dependency-Preserving Decompositions6.7 An Algorithm for BCNF Decomposition6.8 Synthesis of 3NF Schemas 6.8.1 Minimal Cover 6.8.2 3NF Decomposition through Schema Synthesis 6.8.3 BCNF Decomposition through 3NF Synthesis 6.9 The Fourth Normal Form6.10 Advanced 4NF Design6.10.1 MVDs and Their Properties 6.10.2 The Difficulty of Designing for 4NF 6.10.3 A 4NF Decomposition How-To 6.11 Summary of Normal Form Decomposition 6.12 Case Study: Schema Refinement for the Student Registration System 6.13 Tuning Issues: To Decompose or Not to Decompose? Bibliographic Notes Exercises 7 Triggers and Active Databases7.1 What Is a Trigger? 7.2 Semantic Issues in Trigger Handling 7.3 Triggers in SQL:1999 7.4 Avoiding a Chain ReactionBibliographic Notes Exercises 8 Using SQL in an Application8.1 What Are the Issues Involved?8.2 Embedded SQL 8.2.1 Status Processing 8.2.2 Sessions, Connections, and Transactions8.2.3 Executing Transactions 8.2.4 Cursors 8.2.5 Stored Procedures on the Server 8.3 More on Integrity Constraints 8.4 Dynamic SQL 8.4.1 Statement Preparation in Dynamic SQL 8.4.2 Prepared Statements and the Descriptor Area8.4.3 Cursors 8.4.4 Stored Procedures on the Server 8.5 JDBC and SQLJ 8.5.1 JDBC Basics 8.5.2 Prepared Statements 8.5.3 Result Sets and Cursors8.5.4 Obtaining Information about a Result Set 8.5.5 Status ProcessingprocessingPART THREE Optimizing DBMS Performance and Traansaction ProcessingPART FOUR Software Engineering lssues and documentationPART FIVE Advanced topics in databasesBibliographyIndex

章节摘录

插图:In contrast to non-exclusive part-of relationships, the exclusive ones are repre-sented within the E-R approach using the special machinery of weak entity typesand identifying relationships. Weak entities represent subparts and identifying re-lationships are the corresponding exclusive part-of relationships. In our examples,PROGRAM and DEPENDENT are weak entity types that are related through identi-fying relationships to their master entity types (which represent whole entities),UNWERSITY and EMPLOYEE. In E-R diagrams, weak entities and their identifying re-lationships are represented using double boxes and double diamonds, respectively. Observe that weak entities always participate in their identifying relationshipsand that each such entity is related to a single master object. Thus, there is alwaysa thick arrow going from a weak entity to its identifying relationship, as shown inFigure 4.11. Sometimes designers choose to strip weak entity types of their key attributesand have the entities identified through their relationship with the master entity.For example, the DEPENDENT entity might have the Name attribute, but not the SSBattribute. To find a dependent entity, one would have to first find the correspondingmaster (an EMPLOYEE entity) and then follow the identifying relationship. Note that the identifying relationship is not the only kind of relationship inwhich a weak entity can take part. For instance, PROGRAM in Figure 4.11 can berelated to another entity type, EMPLOYEE, via the relationship PROGRAMDIRECTOR.This relationship would not be identifying for PROGRAM (since a program mightnot have a director), and thus it would be represented using a single diamond. Itis also conceivable (although not common) that a weak entity type can participate

编辑推荐

《数据库系统:面向应用的方法(第2版影印版)》是一流的品质,优惠的价格。

图书封面

评论、评分、阅读与下载


    数据库系统 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7