買這商品的人也買了...
-
$550$468 -
$620$490 -
$600$480 -
$1,760$1,672 -
$540$459 -
$620$490 -
$580$493 -
$780$515 -
$590$460 -
$580$458 -
$650$514 -
$480$379 -
$580$383 -
$520$411 -
$650$429 -
$390$308 -
$750$593 -
$450$356 -
$505MySQL 技術內幕-InnoDB 存儲引擎, 2/e
-
$1,980$1,940 -
$780$663 -
$680$537 -
$1,800High Performance MySQL: Proven Strategies for Operating at Scale, 4/e (Paperback)
-
$2,146Introduction to Algorithms, 4/e (Hardcover)
-
$720$612
相關主題
商品描述
This book is intended for IT professionals and students who want to learn how to design, analyze, and understand databases. The material will benefit those who want a better high-level understanding of databases such as proposal managers, architects, project managers, and even customers. The material will also benefit those who will actually design, build, and work with databases such as database designers, database administrators, and programmers. In many projects, these roles overlap so the same person may be responsible for working on the proposal, managing part of the project, and designing and creating the database.
This book is aimed at IT professionals and students of all experience levels. It does not assume that you have any previous experience with databases or programs that use them. It doesn’t even assume that you have experience with computers. All you really need is a willingness and desire to learn.
This book explains database design. It tells how to plan a database’s structure so the database will be robust, resistant to errors, and flexible enough to accommodate a reasonable amount of future change. It explains how to discover database requirements, build data models to study data needs, and refine those models to improve the database’s effectiveness.
The book solidifies these concepts by working through a detailed example that designs a realistic database. Later chapters explain how to actually build databases using two common database products: Access 2007 and MySQL.
The book finishes by describing some of the topics you need to understand to keep a database running effectively such as database maintenance and security.
This book explains database design. It tells how to determine what should go in a database and how the database should be structured to give the best results.
This book does not focus on actually creating the database. The details of database construction are different for different database tools so, to remain as generally as useful as possible, this book doesn’t concentrate on any particular database system. You can apply the techniques described here equally to whatever database tool you use whether it’s Access, SQL Server, Oracle, MySQL, or some other database product.
Most database products include free editions that you can use for smaller projects. For example, SQL Server Express Edition, Oracle Express Edition, and MySQL Community Server are all free.
To remain database neutral, the book does not assume you are using a particular database so you don’t need any particular software or hardware. To work through the Exercises, all you really need is a pencil and some paper. You are welcome to type solutions into your computer if you like but you may actually find working with pencil and paper easier than using a graphical design tool to draw pictures, at least until you are comfortable with database design and are ready to pick a computerized design tool.
-
“Goals of Effective Database Design,” explains the reasons why people and organizations use databases. It explains a database’s purpose and conditions that it must satisfy to be useful. This also describes the basic ACID (Atomicity, Consistency, Isolation, Durability) and CRUD (Create, Read, Update, Delete) features that any good database should have. It explains in high-level general terms what makes a good database and what makes a bad database.
-
“Database Types,” explains some of the different types of databases that you might decide to use. These include flat files, spreadsheets, hierarchical databases (XML), object databases, and relational databases. The relational database is one of the most powerful and most commonly used forms of database so it is the focus of this book, but it is important to realize that there are alternatives that may be more appropriate under certain circumstances. This gives some tips on deciding which kind of database might be best for a particular project.
-
“Relational Database Fundamentals,” explains basic relational database concepts such as tables, rows, and columns. It explains the common usage of relational database terms in addition to the more technical terms that are sometimes used by database theorists. It describes different kinds of constraints that databases use to guarantee that the data is stored safely and consistently.
-
“Understanding User Needs,” explains how to learn about the users’ needs and gather user requirements. It tells how to study the users’ current operations, existing databases (if any), and desired improvements. It describes common questions that you can ask to learn about users’ operations, desires, and needs, and how to build the results into requirements documents and specifications. This explains what use cases are and tells how to use them and the requirements to guide database design and to measure success.
-
“Translating User Needs into Data Models,” introduces data modeling. It explains how to translate the user’s conceptual model and the requirements into other more precise models that define the database design rigorously. This describes several database modeling techniques including user-interface models, semantic object models, entity-relationship diagrams, and relational models.
-
“Extracting Business Rules,” explains how a database can handle business rules. It explains what business rules are, how they differ from database structure requirements, and how you can identify business rules. This explains the benefits of separating business rules from the database structure and tells how achieve that separation.
-
“Normalizing Data,” explains one of the biggest tools in database design: normalization. Normalization techniques allow you to restructure a database to increase its flexibility and make it more robust. This explains the various forms of normalization, emphasizing the stages that are most common and important: first, second, and third normal forms (1NF, 2NF, and 3NF). It explains how each of these kinds of normalization helps prevent errors and tells why it is sometimes better to leave a database slightly less normalized to improve performance.
-
“Designing Databases to Support Software Applications,” explains how databases fit into the larger context of application design and lifecycle. This explains how later development depends on the underlying database design. It discusses multi-tier architectures that can help decouple the application and database design so there can be at least some changes to either without requiring changes to the other.
-
“Common Design Patterns,” explains some common patterns that are useful in many applications. Some of these techniques include implementing various kinds of relationships among objects, storing hierarchical and network data, recording temporal data, and logging and locking.
-
“Common Design Pitfalls,” explains some common design mistakes that occur in database development. It describes problems that can arise from insufficient planning, incorrect normalization, and obsession with ID fields and performance.
-
“User Needs and Requirements,” walks through the steps required to analyze the users’ problem, define requirements, and create use cases. It describes interviews with fictitious customers that are used to identify the application’s needs and translate them into database requirements.
-
“Building a Data Model,” translates the requirements gathered in the previous into a series of data models that precisely define the database’s structure. This builds user-interface models, entity-relationship diagrams, semantic object models, and relational models to refine the database’s initial design. The final relational models match the structure of a relational database fairly closely so they are easy to implement.
-
“Extracting Business Rules,” identifies the business rules embedded in the relational model. It shows how to extract those rules in order to separate them logically from the database’s structure. This makes the database more robust in the face of future changes to the business rules.
-
“Normalization and Refinement,” refines the relational model by normalizing it. It walks through several versions of the database that are in different normal forms. It then selects the degree of normalization that provides a reasonable tradeoff between robust design and acceptable performance.
-
“Microsoft Access,” explains how to build a database with Microsoft Access 2007. This explains enough to get started and to use Access to build non-trivial databases. You can use other versions of Access to work through this, although the locations of menus, buttons, and other Access features are different in different versions.
-
“MySQL,” explains how to build a database with MySQL. This tells where to download a free version of MySQL. It explains how to use the MySQL Command Line Client as well as some useful graphical tools including MySQL Query Browser and MySQL Workbench.
-
“Introduction to SQL,” provides an introduction to SQL (Structured Query Language). It explains how to use SQL commands to add, insert, update, and delete data. By using SQL, you can help insulate a program from the idiosyncrasies of the particular database product that it uses to store data.
-
“Building Databases with SQL Scripts,” explains how to use SQL scripts to build a database. It explains the advantages of this technique, such as the ability to create scripts to initialize a database before performing tests. It also explains some of the restrictions on this method, such as the fact that the user must create and de...
商品描述(中文翻譯)
這本書是為希望學習如何設計、分析和理解資料庫的IT專業人員和學生而編寫的。這些內容將對希望更好地理解資料庫的高層次概念的人士有幫助,例如提案經理、架構師、專案經理,甚至是客戶。這些內容也將對實際設計、建造和使用資料庫的人士有幫助,例如資料庫設計師、資料庫管理員和程式設計師。在許多專案中,這些角色會重疊,因此同一個人可能負責提案、管理專案的一部分,以及設計和創建資料庫。
這本書針對所有經驗水平的IT專業人員和學生。它不假設您有任何先前的資料庫或使用資料庫的程式經驗。它甚至不假設您有使用電腦的經驗。您所需要的只是學習的意願和渴望。
這本書解釋了資料庫設計。它說明了如何規劃資料庫的結構,以使資料庫堅固、抗錯誤,並具有足夠的靈活性以適應合理的未來變更。它解釋了如何發現資料庫需求,建立數據模型以研究數據需求,並精煉這些模型以提高資料庫的有效性。
本書通過詳細的範例來鞏固這些概念,設計一個現實的資料庫。後面的章節解釋了如何使用兩種常見的資料庫產品:Access 2007和MySQL,實際構建資料庫。
本書最後描述了一些您需要了解的主題,以保持資料庫有效運行,例如資料庫維護和安全性。
這本書解釋了資料庫設計。它說明了如何確定資料庫中應該包含什麼,以及資料庫應如何結構化以獲得最佳結果。
這本書不專注於實際創建資料庫。資料庫建設的細節因不同的資料庫工具而異,因此為了保持盡可能通用,本書不集中於任何特定的資料庫系統。您可以將這裡描述的技術同樣應用於您使用的任何資料庫工具,無論是Access、SQL Server、Oracle、MySQL或其他資料庫產品。
大多數資料庫產品都包括免費版本,您可以用於較小的專案。例如,SQL Server Express Edition、Oracle Express Edition和MySQL Community Server都是免費的。
為了保持資料庫中立,本書不假設您使用特定的資料庫,因此您不需要任何特定的軟體或硬體。要完成練習,您所需要的只是鉛筆和一些紙張。如果您願意,也可以將解決方案輸入到電腦中,但您可能會發現使用鉛筆和紙張進行工作比使用圖形設計工具繪製圖形更容易,至少在您對資料庫設計感到舒適並準備選擇計算機化設計工具之前。
-
「有效資料庫設計的目標」解釋了人們和組織使用資料庫的原因。它解釋了資料庫的目的以及必須滿足的條件,以使其有用。這也描述了任何良好資料庫應具備的基本ACID(原子性、一致性、隔離性、持久性)和CRUD(創建、讀取、更新、刪除)特性。它以高層次的通用術語解釋了什麼構成良好的資料庫,什麼又構成不良的資料庫。
-
「資料庫類型」解釋了您可能決定使用的一些不同類型的資料庫。這些包括平面文件、電子表格、層次資料庫(XML)、物件資料庫和關聯資料庫。關聯資料庫是最強大且最常用的資料庫形式之一,因此是本書的重點,但重要的是要意識到在某些情況下可能有更合適的替代方案。這提供了一些決定哪種類型的資料庫可能最適合特定專案的建議。
-
「關聯資料庫基礎」解釋了基本的關聯資料庫概念,例如表格、行和列。它解釋了關聯資料庫術語的常見用法,除了資料庫理論家有時使用的更技術性術語。它描述了資料庫用來保證數據安全和一致性存儲的不同類型的約束。
-
「理解用戶需求」解釋了如何了解用戶的需求並收集用戶需求。它說明了如何研究用戶的當前操作、現有資料庫(如果有的話)和期望的改進。它描述了您可以詢問的常見問題,以了解用戶的操作、願望和需求,以及如何將結果構建成需求文件和規範。這解釋了什麼是用例,並說明了如何使用它們和需求來指導資料庫設計並衡量成功。
-
「將用戶需求轉換為數據模型」介紹了數據建模。它解釋了如何將用戶的概念模型和需求轉換為其他更精確的模型,這些模型嚴格定義了資料庫設計。這描述了幾種資料庫建模技術,包括用戶介面模型、語義物件模型、實體-關係圖和關聯模型。
-
「提取業務規則」解釋了資料庫如何處理業務規則。它解釋了什麼是業務規則,它們與資料庫結構需求的區別,以及如何識別業務規則。這解釋了將業務規則與資料庫結構分開的好處,並說明了如何實現這種分離。
-
「數據正規化」解釋了資料庫設計中的一個重要工具:正規化。正規化技術允許您重構資料庫,以提高其靈活性並使其更堅固。這解釋了各種正規化形式,強調最常見和重要的階段:第一、第二和第三正規形式(1NF、2NF和3NF)。它解釋了這些正規化如何幫助防止錯誤,並說明為什麼有時將資料庫稍微少正規化以提高性能是更好的選擇。
-
「設計支持軟體應用的資料庫」解釋了資料庫如何融入應用設計和生命週期的更大背景。這解釋了後續開發如何依賴於基礎的資料庫設計。它討論了多層架構,這可以幫助解耦應用和資料庫設計,以便在不需要更改另一方的情況下,至少可以對其中一方進行一些更改。
-
「常見設計模式」解釋了一些在許多應用中有用的常見模式。這些技術包括在物件之間實現各種關係、存儲層次和網絡數據、記錄時間數據,以及日誌和鎖定。
-
「常見設計陷阱」解釋了資料庫開發中出現的一些常見設計錯誤。它描述了由於規劃不足、正規化不正確以及對ID字段和性能的過度關注而可能出現的問題。
-
「用戶需求和要求」逐步介紹了分析用戶問題、定義需求和創建用例所需的步驟。它描述了與虛構客戶的訪談,這些訪談用於識別應用的需求並將其轉換為資料庫需求。
-
「構建數據模型」將前面收集的需求轉換為一系列精確定義資料庫結構的數據模型。這構建了用戶介面模型、實體-關係圖、語義物件模型和關聯模型,以精煉資料庫的初步設計。最終的關聯模型與關聯資料庫的結構相當接近,因此易於實施。
-
「提取業務規則」識別嵌入在關聯模型中的業務規則。它顯示了如何提取這些規則,以便將其在邏輯上與資料庫的結構分開。這使得資料庫在面對未來業務規則變更時更具韌性。
-
「正規化和精煉」通過正規化來精煉關聯模型。它逐步介紹了幾個處於不同正規形式的資料庫版本。然後選擇提供堅固設計和可接受性能之間合理權衡的正規化程度。
-
「Microsoft Access」解釋了如何使用Microsoft Access 2007構建資料庫。這提供了足夠的資訊以開始使用Access構建非平凡的資料庫。您可以使用其他版本的Access來進行這項工作,儘管不同版本中菜單、按鈕和其他Access功能的位置不同。
-
「MySQL」解釋了如何使用MySQL構建資料庫。這告訴您在哪裡下載MySQL的免費版本。它解釋了如何使用MySQL命令行客戶端以及一些有用的圖形工具,包括MySQL查詢瀏覽器和MySQL工作台。
-
「SQL簡介」提供了SQL(結構化查詢語言)的介紹。它解釋了如何使用SQL命令來添加、插入、更新和刪除數據。通過使用SQL,您可以幫助隔離程式與其用來存儲數據的特定資料庫產品的特性。
-
「使用SQL腳本構建資料庫」解釋了如何使用SQL腳本來構建資料庫。它解釋了這種技術的優勢,例如能夠創建腳本以在執行測試之前初始化資料庫。它還解釋了這種方法的一些限制,例如用戶必須創建和...