《数据库系统:设计、实现与管理(第5版)(英文版)》是数据库领域的经典著作,内容系统全面,实用性强,被世界多所大学选为数据库相关课程的教材。《数据库系统:设计、实现与管理(第5版)(英文版)》主要内容有:数据库系统和数据库设计的基本知识;关系模型和关系语言;数据库分析和设计的主要技术;数据库设计方法学;数据库安全、事务管理、查询处理与优化;分布式DBMS与数据复制技术;面向对象数据库技术;DBMS与Web技术的结合,半结构化数据与XML;与商务智能有关的一些日益重要的技术,包括数据仓库、联机分析处理和数据挖掘以及数据库架构等。
Background
The history of database research over the past 30 years is one of exceptional productivity that has led to the database system becoming arguably the most important development in the field of software engineering. The database is now the underlying framework of the information system and has fundamentally changed the way many organizations operate. In particular, the developments in this technology over the last few years have produced systems that are more powerful and more intuitive to use. This development has resulted in increasing availability of database systems for a wider variety of users. Unfortunately, the apparent simplicity of these systems has led to users creating databases and applications without the necessary knowledge to produce an effective and efficient system. And so the software crisis?or, as it is sometimes referred to, the software depression?continues.
The original stimulus for this book came from the authors?work in industry, providing consultancy on database design for new software systems or, as often as not, resolving inadequacies with existing systems. In addition, the authors?move to academia brought similar problems from different users students. The objectives of this book, therefore, are to provide a textbook that introduces the theory behind databases as clearly as possible and, in particular, to provide a methodology for database design that can be used by both technical and nontechnical readers.
The methodology presented in this book for relational Database Management Systems (DBMSs) the predominant system for business applications at present has been tried and tested over the years in both industrial and academic environments. It consists of three main phases: conceptual, logical, and physical database design. The first phase starts with the production of a conceptual data model that is independent of all physical considerations. This model is then refined in the second phase into a logical data model by removing constructs that cannot be represented in relational systems. In the third phase, the logical data model is translated into a physical design for the target DBMS. The physical design phase considers the storage structures and access methods required for efficient and secure access to the database on secondary storage.
The methodology in each phase is presented as a series of steps. For the inexperienced designer, it is expected that the steps will be followed in the order described, and guidelines are provided throughout to help with this process. For the experienced designer, the methodology can be less prescriptive, acting more as a framework or checklist. To help the reader use the methodology and understand the important issues, the methodology has been described using a realistic worked example, based on an integrated case study, DreamHome. In addition, three additional case studies are provided in Appendix B to allow readers to try out the methodology for themselves.
UML (Unified Modeling Language)
Increasingly, companies are standardizing the way in which they model data by selecting a particular approach to data modeling and using it throughout their database development projects. A popular high-level data model used in conceptual/ logical database design, and the one we use in this book, is based on the concepts of the Entity-Relationship (ER) model. Currently there is no standard notation for an ER model. Most books that cover database design for relational DBMSs tend to use one of two conventional notations:
● Chen notation, consisting of rectangles representing entities and diamonds representing relationships, with lines linking the rectangles and diamonds; or
● Crow Feet notation, again consisting of rectangles representing entities and lines between entities representing relationships, with a crow誷 foot at one end of a line representing a one-to-many relationship.
……
PART 1 Background
CHAPTER 1 Introduction to Databases
1.1 Introduction
1.2 Traditional File-Based Systems
1.2.1 File-Based Approach
1.2.2 Limitations of the File-Based Approach
1.3 Database Approach
1.3.1 The Database
1.3.2 The Database Management System (DBMS)
1.3.3 (Database) Application Programs
1.3.4 Components of the DBMS Environment
1.3.5 Database Design: The Paradigm Shift
1.4 Roles in the Database Environment
1.4.1 Data and Database Administrators
1.4.2 Database Designers
1.4.3 Application Developers
1.4.4 End-Users
1.5 History of Database Management Systems
1.6 Advantages and Disadvantages of DBMSs
Chapter Summary
Review Questions
Exercises
CHAPTER 2 Database Environment
2.1 The Three-Level ANSI-SPARC Architecture
2.1.1 External Level
2.1.2 Conceptual Level
2.1.3 Internal Level
2.1.4 Schemas, Mappings, and Instances
2.1.5 Data Independence
2.2 Database Languages
2.2.1 The Data Definition Language (DDL)
2.2.2 The Data Manipulation Language (DML)
2.2.3 Fourth-Generation Languages (4GLs)
2.3 Data Models and Conceptual Modeling
2.3.1 Object-Based Data Models
2.3.2 Record-Based Data Models
2.3.3 Physical Data Models
2.3.4 Conceptual Modeling
2.4 Functions of a DBMS
Chapter Summary
Review Questions
Exercises
CHAPTER 3 Database Architectures and the Web
3.1 Multi-user DBMS Architectures
3.1.1 Teleprocessing
3.1.2 File-Server Architecture
3.1.3 Traditional Two-Tier Client-Server Architecture
3.1.4 Three-Tier Client-Server Architecture
3.1.5 N-Tier Architectures
3.1.6 Middleware
3.1.7 Transaction Processing Monitors
3.2 Web Services and Service-Oriented Architectures
3.2.1 Web Services
3.2.2 Service-Oriented Architectures (SOA)
3.3 Distributed DBMSs
3.4 Data Warehousing
3.5 Components of a DBMS
3.6 Oracle Architecture
3.6.1 Oracle誷 Logical Database Structure
3.6.2 Oracle誷 Physical Database Structure
Chapter Summary
Review Questions
Exercises
PART 2 The Relational Model and Languages
CHAPTER 4 The Relational Model
4.1 Brief History of the Relational Model
4.2 Terminology
4.2.1 Relational Data Structure
4.2.2 Mathematical Relations
4.2.3 Database Relations
4.2.4 Properties of Relations
4.2.5 Relational Keys
4.2.6 Representing Relational Database Schemas
4.3 Integrity Constraints
4.3.1 Nulls
4.3.2 Entity Integrity
4.3.3 Referential Integrity
4.3.4 General Constraints
4.4 Views
4.4.1 Terminology
4.4.2 Purpose of Views
4.4.3 Updating Views
Chapter Summary
Review Questions
Exercises
CHAPTER 5 Relational Algebra and Relational Calculus
5.1 The Relational Algebra
5.1.1 Unary Operations
5.1.2 Set Operations
5.1.3 Join Operations
5.1.4 Division Operation
5.1.5 Aggregation and Grouping Operations
5.1.6 Summary of the Relational Algebra Operations
5.2 The Relational Calculus
5.2.1 Tuple Relational Calculus
5.2.2 Domain Relational Calculus
5.3 Other Languages
Chapter Summary
Review Questions
Exercises
CHAPTER 6 SQL: Data Manipulation
6.1 Introduction to SQL
6.1.1 Objectives of SQL
6.1.2 History of SQL
6.1.3 Importance of SQL
6.1.4 Terminology
6.2 Writing SQL Commands
6.3 Data Manipulation
6.3.1 Simple Queries
6.3.2 Sorting Results (ORDER BY Clause)
6.3.3 Using the SQL Aggregate Functions
6.3.4 Grouping Results (GROUP BY Clause)
6.3.5 Subqueries
6.3.6 ANY and ALL
6.3.7 Multi-table Queries
6.3.8 EXISTS and NOT EXISTS
6.3.9 Combining Result Tables (UNION, INTERSECT, EXCEPT)
6.3.10 Database Updates
Chapter Summary
Review