528 pág.
Pré-visualização | Página 1 de 50
Shelve in Databases/General User level: Beginning–Advanced RELATED BOOKS FOR PROFESSIONALS BY PROFESSIONALS ® Database Systems Database Systems: A Pragmatic Approach provides a comprehensive, yet concise introduction to database systems. It discusses the database as an essential component of a software system, as well as a valuable, mission critical corporate resource. The book is based on lecture notes that have been tested and proven over several years, with outstanding results. It also exemplifies mastery of the technique of combining and balancing theory with practice, to give students their best chance at success. Upholding his aim for brevity, comprehensive coverage, and relevance, author Elvis C. Foster’s practical and methodical discussion style gets straight to the salient issues, and avoids unnecessary fluff as well as an overkill of theoretical calculations. The book discusses concepts, principles, design, implementation, and management issues of databases. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. It adopts a methodical and pragmatic approach to solving database systems problems. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes a number of Foster’s original methodologies that add clarity and creativity to the database modeling and design experience while making a novel contribution to the discipline. Everything combines to make Database Systems: A Pragmatic Approach an excellent textbook for students, and an excellent resource on theory for the practitioner. Foster Godbole SOURCE CODE ONLINE www.apress.com 9 781484 208786 56999 ISBN 978-1-4842-0878-6 For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. v Contents at a Glance About the Authors �������������������������������������������������������������������������xxvii Preface ������������������������������������������������������������������������������������������xxix Acknowledgments ������������������������������������������������������������������������xxxv Part A: Preliminary Topics ■ ���������������������������������������������� 1 Chapter 1: Introduction to Database Systems ■ �������������������������������� 3 Chapter 2: The Database System Environment ■ ���������������������������� 13 Part B: The Relational Database Model ■ ������������������������ 29 Chapter 3: The Relational Model ■ �������������������������������������������������� 31 Chapter 4: Integrity Rules and Normalization ■ ������������������������������ 57 Chapter 5: Database Modeling and Design ■ ����������������������������������� 83 Chapter 6: Database User Interface Design ■ �������������������������������� 119 Chapter 7: Relational Algebra ■ ����������������������������������������������������� 129 Chapter 8: Relational Calculus ■ ��������������������������������������������������� 149 Chapter 9: Relational System — a Closer Look ■ �������������������������� 163 Part C: The Structured Query Language ■ ��������������������� 169 Chapter 10: Overview of SQL ■ ������������������������������������������������������ 171 Chapter 11: SQL Data Definition Statements ■ ������������������������������ 177 Chapter 12: SQL Data Manipulation Statements ■ ������������������������� 219 Chapter 13: SQL Views and System Security ■ ����������������������������� 259 ■ Contents at a GlanCe vi Chapter 14: The System Catalog ■ ������������������������������������������������ 279 Chapter 15: Some Limitations of SQL ■ ����������������������������������������� 291 Part D: Some Commonly Used DBMS Suites ■ ��������������� 299 Chapter 16: Overview of Oracle ■ �������������������������������������������������� 301 Chapter 17: Overview of DB2 ■ ������������������������������������������������������ 311 Chapter 18: Overview of MS SQL Server ■ ������������������������������������� 321 Chapter 19: Overview of MySQL ■ ������������������������������������������������� 335 Chapter 20: Overview of Delphi ■ �������������������������������������������������� 345 Part E: Advanced Topics ■ ��������������������������������������������� 353 Chapter 21: Database Administration ■ ���������������������������������������� 355 Chapter 22: Distributed Database Systems ■ �������������������������������� 367 Chapter 23: Object Databases ■ ���������������������������������������������������� 379 Chapter 24: Data Warehousing ■ ��������������������������������������������������� 387 Chapter 25: Web-Accessible Databases ■ ������������������������������������� 403 Part F: Final Preparations ■ ������������������������������������������� 413 Chapter 26: Sample Exercises and Examination Questions ■ ������� 415 Part G: Appendices ■ ����������������������������������������������������� 447 Appendix 1: Review of Trees ■ ������������������������������������������������������ 449 Appendix 2: Review of Hashing ■ �������������������������������������������������� 451 Appendix 3: Review of Information Gathering Techniques ■ ��������� 493 Index ���������������������������������������������������������������������������������������������� 509 Part a Preliminary Topics This preliminary division of the course is designed to cover some fundamentals. The objectives are to define and provide a rationale for database systems;• to identify the many objectives, advantages, and desirable • features of a database system; to discuss the salient features of a database system • environment. The division consists of two chapters: Chapter 1 — Introduction to Database Systems• Chapter 2 — The Database System Environment• 3 Chapter 1 Introduction to Database Systems Welcome and congratulations on your entry to this course in database systems. The fact that you are in this course means that you have covered several fundamental topics in programming, data structures, user interface, and software engineering. Now you want to learn about databases — their significance, the underlying theoretical principles that govern them, how they are constructed, and their management. You are at the right place. This chapter addresses the first issue: the significance of database systems. Topics covered include the following: Definition and Rationale• Objectives of a Database System• Advantages of a Database System• Approaches to Database Design• Desirable Features of a Database System• Database Development Life Cycle• Summary and Concluding Remarks• 1.1 Definitions and Rationale A database system (DBS) is a computerized record keeping system with the overall purpose of maintaining information and making it available whenever required. The database typically stores related data in a computer system. Chapter 1 ■ IntroduCtIon to database systems 4 A database management system (DBMS) is a set of programs that allow for the management of a database. Starting in chapter 2 and extending to subsequent chapters, we will cover several of the critical functions of a DBMS. Some of the more obvious ones are the following: Data definition (relation, dependencies, integrity constraints, • views, etc.) Data manipulation (adding, updating, deleting, retrieving, • reorganizing, and aggregating data) Data security and integrity checks• Programming language support• Components of a DBS include: Hardware and operating system• DBMS• Database• Related software systems and/or applications• End users• End users communicate with