《數據庫系統:設計、實現與管理(第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