商品描述
This textbook examines database systems from the viewpoint of a software developer. This perspective makes it possible to investigate why database systems are the way they are. It is of course important to be able to write queries, but it is equally important to know how they are processed. We e.g. don’t want to just use JDBC; we also want to know why the API contains the classes and methods that it does. We need a sense of how hard is it to write a disk cache or logging facility. And what exactly is a database driver, anyway?
The first two chapters provide a brief overview of database systems and their use. Chapter 1 discusses the purpose and features of a database system and introduces the Derby and SimpleDB systems. Chapter 2 explains how to write a database application using Java. It presents the basics of JDBC, which is the fundamental API for Java programs that interact with a database. In turn, Chapters 3-11 examine the internals of a typical database engine. Each chapter covers a different database component, starting with the lowest level of abstraction (the disk and file manager) and ending with the highest (the JDBC client interface); further, the respective chapter explains the main issues concerning the component, and considers possible design decisions. As a result, the reader can see exactly what services each component provides and how it interacts with the other components in the system. By the end of this part, s/he will have witnessed the gradual development of a simple but completely functional system. The remaining four chapters then focus on efficient query processing, and focus on the sophisticated techniques and algorithms that can replace the simple design choices described earlier. Topics include indexing, sorting, intelligent buffer usage, and query optimization.
This text is intended for upper-level undergraduate or beginning graduate courses in Computer Science. It assumes that the reader is comfortable with basic Java programming; advanced Java concepts (such as RMI and JDBC) are fully explained in the text. The respective chapters are complemented by “end-of-chapter readings” that discuss interesting ideas and research directions that went unmentioned in the text, and provide references to relevant web pages, research articles, reference manuals, and books. Conceptual and programming exercises are also included at the end of each chapter. Students can apply their conceptual knowledge by examining the SimpleDB (a simple but fully functional database system created by the author and provided online) code and modifying it.
商品描述(中文翻譯)
這本教科書從軟體開發者的角度探討資料庫系統。這種觀點使我們能夠調查為什麼資料庫系統會是現在的樣子。當然,能夠撰寫查詢是重要的,但同樣重要的是了解它們是如何被處理的。例如,我們不僅想使用 JDBC;我們也想知道為什麼這個 API 包含了它所擁有的類別和方法。我們需要了解撰寫磁碟快取或日誌功能的難易程度。那麼,資料庫驅動程式到底是什麼呢?
前兩章提供了資料庫系統及其使用的簡要概述。第一章討論了資料庫系統的目的和特性,並介紹了 Derby 和 SimpleDB 系統。第二章解釋了如何使用 Java 撰寫資料庫應用程式。它介紹了 JDBC 的基本知識,這是與資料庫互動的 Java 程式的基本 API。接下來,第三至第十一章探討了一個典型資料庫引擎的內部運作。每一章涵蓋不同的資料庫組件,從最低層的抽象(磁碟和檔案管理器)開始,直到最高層(JDBC 客戶端介面);此外,各章還解釋了與該組件相關的主要問題,並考慮可能的設計決策。因此,讀者可以清楚地看到每個組件提供的服務以及它如何與系統中的其他組件互動。在這部分結束時,讀者將見證一個簡單但完全功能的系統的逐步發展。接下來的四章則專注於高效的查詢處理,並著重於可以取代之前描述的簡單設計選擇的複雜技術和演算法。主題包括索引、排序、智能緩衝區使用和查詢優化。
本書適用於計算機科學的高年級本科或初級研究生課程。它假設讀者對基本的 Java 程式設計感到舒適;高級 Java 概念(如 RMI 和 JDBC)在文本中有充分的解釋。各章節還附有「章末閱讀」,討論文本中未提及的有趣想法和研究方向,並提供相關網頁、研究文章、參考手冊和書籍的參考資料。每章的末尾還包括概念和程式設計練習。學生可以通過檢查 SimpleDB(由作者創建並在線提供的簡單但完全功能的資料庫系統)代碼並進行修改來應用他們的概念知識。
作者簡介
Edward Sciore is a recently retired Associate Professor at the Computer Science Department, Boston College. He is the author of numerous research articles on database systems, which span both theory and practice. His favorite activity, however, is to teach database courses to captive students. These teaching experiences, accumulated over a 35-year period, are what led to the writing of this text.
作者簡介(中文翻譯)
Edward Sciore 是波士頓學院計算機科學系最近退休的副教授。他是多篇關於資料庫系統的研究文章的作者,這些文章涵蓋了理論和實踐。然而,他最喜歡的活動是教導資料庫課程給專注的學生。這些在35年期間累積的教學經驗,促使他撰寫了這本書。