by Abraham Silberschatz, Henry F. Korth and S. Sudarshan. The most important concept in this chapter is that database systems allow data appreciate the concepts described here, but should be able to do so by the end. Branch: master. aobd_eadw/aobd/Database System Concepts 6e By Abraham Silberschatz, Henry Korth and S musicmarkup.info Find file Copy path. Fetching. Database System. Concepts. Sixth Edition. Abraham Silberschatz • Henry F. Silberschatz, Korth, and Sudarshan's Database System Concepts is one of the.
|Language:||English, Spanish, Portuguese|
|Genre:||Business & Career|
|ePub File Size:||29.74 MB|
|PDF File Size:||9.41 MB|
|Distribution:||Free* [*Sign up for free]|
DATABASE. SYSTEM CONCEPTS. SIXTH EDITION. Abraham Silberschatz. Yale University. Henry F. Korth. Lehigh University. S. Sudarshan. Avi Silberschatz · Henry F. Korth · S. Sudarshan We also provide zip files of the all Powerpoint files, PDF files, and all figures used in the text. Copyright Note. The slides and figures below are copyright Silberschatz, Korth. for use in conjunction with a course for which Database System Concepts is the prescribed text. Trove: Find and get Australian resources. Books, images, historic newspapers, maps, archives and more.
Korth Lehigh University S. Silberschatz, H. Korth, and S. Sudarshan Copyright Contents Chapter 1 Introduction. Korth and S.
Beyond these two major changes, we revised the material in each chapter, bringing the older material up-to-date, adding discussions on recent developments in database technology, and improving descriptions of topics that students found difficult to understand. We have also added new exercises and updated references. Many instructors use SQL as a key component of term projects see our Web site, www.
In order to give students ample time for the projects, particularly for universities and colleges on the quarter system, it is essential to teach SQL as early as possible.
These chapters also discuss variants supported by different database systems, to minimize problems that students face when they execute queries on actual database systems.
Only our discussion of query optimization in Chapter 13 depends on the relational algebra coverage of Chapter 6. We adopted a new schema, which is based on university data, as a running example throughout the book.
This schema is more intuitive and motivating for students than the earlier bank schema, and illustrates more complex design trade-offs in the database-design chapters. To facilitate following our running example, we list the database schema and the sample relation instances for our university database together in Appendix A as well as where they are used in the various regular chapters.
This encourages students to run example queries directly on a database system and to experiment with modifying those queries. The chapter also makes good use of the new university database schema to illustrate more complex design trade-offs.
Chapter 8 now has a more readable style, providing an intuitive understanding of functional dependencies and normalization, before covering functional dependency theory; the theory is motivated much better as a result. Chapter 10 has been updated with new technology, including expanded coverage of flash memory.
Chapter 13 has new material on advanced query-optimization techniques. Chapter 14 provides full coverage of the basics for an introductory course, with advanced details following in Chapters 15 and Chapter 14 has been expanded to cover the practical issues in transaction management faced by database users and databaseapplication developers.
The chapter also includes an expanded overview of topics covered in Chapters 15 and 16, ensuring that even if Chapters 15 and 16 are omitted, students have a basic knowledge of the concepts of concurrency control and recovery. Preface xxi Chapters 14 and 15 now include detailed coverage of snapshot isolation, which is widely supported and used today, including coverage of potential hazards when using it.
Chapter 16 now has a simplified description of basic log-based recovery leading up to coverage of the ARIES algorithm. We now cover cloud data storage, which is gaining significant interest for business applications. Cloud storage offers enterprises opportunities for improved costmanagement and increased storage scalability, particularly for Web-based applications. We examine those advantages along with the potential drawbacks and risks.
Multidatabases, which were earlier in the advanced transaction processing chapter, are now covered earlier as part of the distributed database chapter. Although object-oriented languages and XML are widely used outside of databases, their use in databases is still limited, making them appropriate for more advanced courses, or as supplementary material for an introductory course.
These topics have therefore been moved to later in the book, in Chapters 22 and Apago PDF Enhancer All topics not listed above are updated from the fifth edition, though their overall organization is relatively unchanged. Review Material and Exercises Each chapter has a list of review terms, in addition to a summary, which can help readers review key topics covered in the chapter.
The exercises are divided into two sets: practice exercises and exercises. The solutions for the practice exercises are publicly available on the Web site of the book. Students are encouraged to solve the practice exercises on their own, and later use the solutions on the Web site to check their own solutions. Many chapters have a tools section at the end of the chapter that provides information on software tools related to the topic of the chapter; some of these tools can be used for laboratory exercises.
SQL DDL and sample data for the university database and other relations used in the exercises are available on the Web site of the book, and can be used for laboratory exercises.
These sections may be omitted if so desired, without a loss of continuity. It is possible to design courses by using various subsets of the chapters. Some of the chapters can also be covered in an order different from their order in the book.
We expect most courses will cover at least Section 5.
Alternatively, this chapter may be omitted from an introductory course. We recommend covering Section 6. However, Sections 6. You might choose to use Chapters 14 and 17, while omitting Chapters 15, 16, 18 and 19, if you defer these latter chapters to an advanced course.
Alternatively, they can be used as an illustration of concepts when the earlier chapters are presented in class. Model course syllabi, based on the text, can be found on the Web site of the book. Answers to the practice exercises. The five appendices. An up-to-date errata list. Laboratory material, including SQL DDL and sample data for the university schema and other relations used in exercises, and instructions for setting up and using various database systems and tools.
We would appreciate it if you would notify us of any errors or omissions in the book that are not on the current list of errata. We would be glad to receive suggestions on improvements to the book. We also welcome any contributions to the book Web site that could be of use to other readers, such as programming exercises, project suggestions, online labs and tutorials, and teaching tips.
Acknowledgments Many people have helped us with this sixth edition, as well as with the previous five editions from which it is derived. Sarda for feedback that helped us improve several chapters, in particular Chapter 11; Vikram Pudi for motivating us to replace the earlier bank schema; and Shetal Shah for feedback on several chapters.
Lu, Alex N. Napitupulu, H.
Kaplan, Graham J. The developmental editor was Melinda D. The project manager was Melissa Leick. The marketing manager was xxvi Preface Curt Reynolds. The production supervisor was Laura Fuller. The book designer was Brenda Rolwes. The cover designer was Studio Montage, St. Louis, Missouri. The copyeditor was George Watson. The proofreader was Kevin Campbell. The freelance indexer was Tobiah Waldron. The Aptara team consisted of Raman Arora and Sudeshna Nandy Personal Notes Sudarshan would like to acknowledge his wife, Sita, for her love and support, and children Madhur and Advaith for their love and joie de vivre.
Hank would like to acknowledge his wife, Joan, and his children, Abby and Joe, for their love and understanding. Avi would like to acknowledge Valerie for her love, patience, and support during the revision of this book. The collection of data, usually referred to as the database, contains information relevant to an enterprise.
The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient. Database systems are designed to manage large bodies of information. Management of data involves both defining structures for storage of information and providing mechanisms for the manipulation of information. In addition, the database system must ensure the safety of the information stored, despite system crashes or attempts at unauthorized access.
If data are to be shared among several users, the system must avoid possible anomalous results. Because information is so important in most organizations, computer scientists have developed a large body of concepts and techniques for managing data. These concepts and techniques form the focus of this book. This chapter briefly introduces the principles of database systems.
Apago PDF Enhancer 1. Airlines were among the first to use databases in a geographically distributed manner. As the list illustrates, databases form an essential part of every enterprise today, storing not only types of information that are common to most enterprises, but also information that is specific to the category of the enterprise.
Over the course of the last four decades of the twentieth century, use of databases grew in all enterprises. In the early days, very few people interacted directly with database systems, although without realizing it, they interacted with databases indirectly—through printed reports such as credit card statements, or through agents such as bank tellers and airline reservation agents.
Then automated teller machines came along and let users interact directly with databases. The Internet revolution of the late s sharply increased direct user access to databases. Organizations converted many of their phone interfaces to databases into Web interfaces, and made a variety of services and information available online.
For instance, when you access an online bookstore and browse a book or music collection, you are accessing data stored in a database. When you enter an order online, your order is stored in a database. When you access a Web site, informa- 1. Furthermore, data about your Web accesses may be stored in a database.
The importance of database systems can be judged in another way—today, database system vendors like Oracle are among the largest software companies in the world, and database systems form an important part of the product line of Microsoft and IBM. As an example of such methods, typical of the s, consider part of a university organization that, among other data, keeps information about all instructors, students, departments, and course offerings.
One way to keep the information on a computer is to store it in operating system files. New application programs are added to the system as the need arises. For example, suppose that a university decides to create a new major say, computer science. As a result, the university creates a new department and creates new permanent files or adds information to existing files to record information about all the instructors in the department, students in that major, course offerings, degree requirements, etc.
The university may have to write new application programs to deal with rules specific to the new major. New application programs may also have to be written to handle new rules in the university.
Thus, as time goes by, the system acquires more files and more application programs. This typical file-processing system is supported by a conventional operating system.
The system stores permanent records in various files, and it needs different application programs to extract records from, and add records to, the appropriate files. Before database management systems DBMSs were introduced, organizations usually stored information in such systems. Since different programmers create the files and application programs over a long period, the various files are likely to have different structures and the programs may be written in several programming languages.
Moreover, the same information may be duplicated in several places files. For example, if a student has a double major say, music and mathematics the address and telephone number of that student may appear in a file that consists of student records of students in the Music department and in a file that consists of student records of students in the Mathematics department.
This redundancy leads to higher storage and access cost. In addition, it may lead to data inconsistency; that is, the various copies of the same data may no longer agree. For example, a changed student address may be reflected in the Music department records but not elsewhere in the system.
Suppose that one of the university clerks needs to find out the names of all students who live within a particular postal-code area. The clerk asks the data-processing department to generate such a list.
Because the designers of the original system did not anticipate this request, there is no application program on hand to meet it. There is, however, an application program to generate the list of all students. The university clerk has now two choices: either obtain the list of all students and extract the needed information manually or ask a programmer to write the necessary application program. Both alternatives are obviously unsatisfactory.
Suppose that such a program is written, and that, several days later, the same clerk needs to trim that list to include only those students who have taken at least 60 credit hours.
As expected, a program to generate such a list does not exist. Again, the clerk has the preceding two options, neither of which is satisfactory. The point here is that conventional file-processing environments do not allow needed data to be retrieved in a convenient and efficient manner. Thus, the chapter motivates what the student will be studying in the rest of the course.
The idea of abstraction in database systems deserves emphasis throughout, not just in discussion of Section 1. The overview of the structure of databases is, of necessity, rather brief, and is meant only to give the student a rough idea of some of the concepts.
The student may not initially be able to fully appreciate the concepts described here, but should be able to do so by the end of the course. These models can be used in Chapter 1 to reinforce the concept of abstraction, with syntactic details deferred to later in the course. If students have already had a course in operating systems, it is worthwhile to point out how the OS and DBMS are related.
Exercises 1. Answer: Physical data independence is the ability to modify the physical scheme without making it necessary to rewrite application programs. For each re- sponsibility, explain the problems that would arise if the responsibility were not discharged. If these responsibilities were not met by a given DBMS and the text points out that sometimes a responsibility is omitted by design, such as concur- rency control on a single-user DBMS for a micro computer the following problems can occur, respectively: a.
Unauthorized users may access the database, or users authorized to access part of the database may be able to access parts of the database for which they lack authority. Data could be lost permanently, rather than at least being available in a consistent state that existed prior to a failure.
Consistency constraints may be violated despite proper integrity en- forcement in each transaction. Answer: a. Declarative languages are easier for programmers to learn and use and even more so for non-programmers.
Updates to the building name and budget may get performed on some of the copies but not others, resulting in an inconsistent state where it is not clear what is the actual building name and budget of a department. Ideally, we would like to have the department information in the database irrespective of whether the department has an associated instructor or not, without resorting to null values. Which is better suited for Web applications?
Answer: In a two-tier application architecture, the application runs on the client machine, and directly communicates with the database system running on server. The three-tier archicture is better suited for Web applications. Answer: Some possible tables are: a. A content table containing user provided content, such as text and images, associated with the user who uploaded the content.
Exercises 5 c. A friends table recording for each user which other users are connected to that user. The kind of connection may also be recorded in this table. A permissions table, recording which category of friends are allowed to view which content uploaded by a user.
For example, a user may share some photos with family but not with all friends. In particular, the chapters on SQL do not require any further knowl- edge of relational algebra. However, courses that cover internals, in particular query processing, require a more detailed coverage of relational algebra, which is provided in Chapter 6.
Exercises 2. What are the appropriate primary keys? Given your choice of primary keys, identify appropriate foreign keys. The primary keys of the various schema are underlined.
We allow customers to have more than one account, and more than one loan. The foreign keys are as follows i. For loan: branch name referencing branch.