找回密码
 注册
搜索
热搜: java php web
查看: 1012|回复: 8

Beginning Database Design Solutions

[复制链接]
发表于 2009-8-21 07:03:29 | 显示全部楼层 |阅读模式
本帖最后由 石头 于 2009-8-21 07:06 编辑





作者:Rod Stephens
出版日期:November 10, 2008
出版社:Wrox Press
页数:552
ISBN:ISBN-10: 0470385499 ISBN-13: 978-0470385494
文件格式:PDF



This book is intended for IT professionals and students who want tolearn how to design, analyze, and understand databases. The materialwill benefit those who want a better high-level understanding ofdatabases such as proposal managers, architects, project managers, andeven customers. The material will also benefit those who will actuallydesign, build, and work with databases such as database designers,database administrators, and programmers. In many projects, these rolesoverlap so the same person may be responsible for working on theproposal, managing part of the project, and designing and creating thedatabase.
This book is aimed at IT professionals and students of allexperience levels. It does not assume that you have any previousexperience with databases or programs that use them. It doesn’t evenassume that you have experience with computers. All you really need isa willingness and desire to learn.
This book explains database design. It tells how to plan adatabase’s structure so the database will be robust, resistant toerrors, and flexible enough to accommodate a reasonable amount offuture change. It explains how to discover database requirements, builddata models to study data needs, and refine those models to improve thedatabase’s effectiveness.
The book solidifies these concepts by working through a detailedexample that designs a realistic database. Later chapters explain howto actually build databases using two common database products: Access2007 and MySQL.
The book finishes by describing some of the topics you need tounderstand to keep a database running effectively such as databasemaintenance and security.
This book explains database design. It tells how to determine whatshould go in a database and how the database should be structured togive the best results.
This book does not focus on actually creating the database.The details of database construction are different for differentdatabase tools so, to remain as generally as useful as possible, thisbook doesn’t concentrate on any particular database system. You canapply the techniques described here equally to whatever database toolyou use whether it’s Access, SQL Server, Oracle, MySQL, or some otherdatabase product.
Most database products include free editions that you can usefor smaller projects. For example, SQL Server Express Edition, OracleExpress Edition, and MySQL Community Server are all free.
To remain database neutral, the book does not assume you are using aparticular database so you don’t need any particular software orhardware. To work through the Exercises, all you really need is apencil and some paper. You are welcome to type solutions into yourcomputer if you like but you may actually find working with pencil andpaper easier than using a graphical design tool to draw pictures, atleast until you are comfortable with database design and are ready topick a computerized design tool.
  • “Goals of Effective Database Design,” explains the reasons whypeople and organizations use databases. It explains a database’spurpose and conditions that it must satisfy to be useful. This alsodescribes the basic ACID (Atomicity, Consistency, Isolation,Durability) and CRUD (Create, Read, Update, Delete) features that anygood database should have. It explains in high-level general terms whatmakes a good database and what makes a bad database.
  • “Database Types,” explains some of the different types of databasesthat you might decide to use. These include flat files, spreadsheets,hierarchical databases (XML), object databases, and relationaldatabases. The relational database is one of the most powerful and mostcommonly used forms of database so it is the focus of this book, but itis important to realize that there are alternatives that may be moreappropriate under certain circumstances. This gives some tips ondeciding which kind of database might be best for a particular project.
  • “Relational Database Fundamentals,” explains basic relationaldatabase concepts such as tables, rows, and columns. It explains thecommon usage of relational database terms in addition to the moretechnical terms that are sometimes used by database theorists. Itdescribes different kinds of constraints that databases use toguarantee 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 desiredimprovements. It describes common questions that you can ask to learnabout users’ operations, desires, and needs, and how to build theresults into requirements documents and specifications. This explainswhat use cases are and tells how to use them and the requirements toguide database design and to measure success.
  • “Translating User Needs into Data Models,” introduces datamodeling. It explains how to translate the user’s conceptual model andthe requirements into other more precise models that define thedatabase design rigorously. This describes several database modelingtechniques including user-interface models, semantic object models,entity-relationship diagrams, and relational models.
  • “Extracting Business Rules,” explains how a database can handlebusiness rules. It explains what business rules are, how they differfrom database structure requirements, and how you can identify businessrules. This explains the benefits of separating business rules from thedatabase structure and tells how achieve that separation.
  • “Normalizing Data,” explains one of the biggest tools in databasedesign: normalization. Normalization techniques allow you torestructure a database to increase its flexibility and make it morerobust. This explains the various forms of normalization, emphasizingthe stages that are most common and important: first, second, and thirdnormal forms (1NF, 2NF, and 3NF). It explains how each of these kindsof normalization helps prevent errors and tells why it is sometimesbetter to leave a database slightly less normalized to improveperformance.
  • “Designing Databases to Support Software Applications,” explainshow databases fit into the larger context of application design andlifecycle. This explains how later development depends on theunderlying database design. It discusses multi-tier architectures thatcan help decouple the application and database design so there can beat least some changes to either without requiring changes to the other.
  • “Common Design Patterns,” explains some common patterns that areuseful in many applications. Some of these techniques includeimplementing various kinds of relationships among objects, storinghierarchical and network data, recording temporal data, and logging andlocking.
  • “Common Design Pitfalls,” explains some common design mistakes thatoccur in database development. It describes problems that can arisefrom insufficient planning, incorrect normalization, and obsession withID fields and performance.
  • “User Needs and Requirements,” walks through the steps required toanalyze the users’ problem, define requirements, and create use cases.It describes interviews with fictitious customers that are used toidentify the application’s needs and translate them into databaserequirements.
  • “Building a Data Model,” translates the requirements gathered inthe previous into a series of data models that precisely define thedatabase’s structure. This builds user-interface models,entity-relationship diagrams, semantic object models, and relationalmodels to refine the database’s initial design. The final relationalmodels match the structure of a relational database fairly closely sothey are easy to implement.
  • “Extracting Business Rules,” identifies the business rules embeddedin the relational model. It shows how to extract those rules in orderto separate them logically from the database’s structure. This makesthe database more robust in the face of future changes to the businessrules.
  • “Normalization and Refinement,” refines the relational model bynormalizing it. It walks through several versions of the database thatare in different normal forms. It then selects the degree ofnormalization that provides a reasonable tradeoff between robust designand acceptable performance.
  • “Microsoft Access,” explains how to build a database with MicrosoftAccess 2007. This explains enough to get started and to use Access tobuild non-trivial databases. You can use other versions of Access towork through this, although the locations of menus, buttons, and otherAccess features are different in different versions.
  • “MySQL,” explains how to build a database with MySQL. This tellswhere to download a free version of MySQL. It explains how to use theMySQL Command Line Client as well as some useful graphical toolsincluding MySQL Query Browser and MySQL Workbench.
  • “Introduction to SQL,” provides an introduction to SQL (StructuredQuery Language). It explains how to use SQL commands to add, insert,update, and delete data. By using SQL, you can help insulate a programfrom the idiosyncrasies of the particular database product that it usesto store data.
  • “Building Databases with SQL Scripts,” explains how to use SQLscripts to build a database. It explains the advantages of thistechnique, such as the ability to create scripts to initialize adatabase before performing tests. It also explains some of therestrictions on this method, such as the fact that the user must createand de…From the Back CoverBeginning Database Design Solutions
    Databases play a critical role in the business operations of mostorganizations; they’re the central repository for critical informationon products, customers, suppliers, sales, and a host of other essentialinformation. It’s no wonder that the majority of all business computinginvolves database applications.
    With so much at stake, you’d expect most IT professionals would havea firm understanding of good database design. But in fact most learnthrough a painful process of trial and error, with predictably poorresults.
    This book provides readers with proven methods and tools fordesigning efficient, reliable, and secure databases. Author RodStephens explains how a database should be organized to ensure dataintegrity without sacrificing performance. He shares procedures fordesigning robust, flexible, and secure databases that provide a solidfoundation for all of your database applications. The methods andtechniques in this book can be applied to any database environment,including Oracle®, Microsoft Access®, SQL Server®, and MySQL®. You’lllearn the basics of good database design and ultimately discover how todesign a real-world database.?
    What you will learn from this book
    • How to identify database requirements that meet users’ needs
    • Ways to build data models using a variety of modeling techniques,including entity-relational models, user-interface models, and semanticobject models
    • Tips for understanding the different types of databases, includingrelational databases, flat files, spreadsheets, XML and object databases
    • How to refine and tune the design to improve database performance
    • Techniques for understanding the relationship between good application design and database design
    • Methods for designing flexible and robust databases that can adapt to business change and growth
    • Ways to design for ease of maintenance and support
    • How to avoid common database design mistakes
    Who this book is for
    This book is for anyone interested in learning to design, build,analyze, and understand databases. No previous experience withdatabases or programs is required.
    Wrox Beginning guides are crafted to make learning programminglanguages and technologies easier than you think, providing astructured, tutorial format that will guide you through all thetechniques involved.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-8-26 15:27:10 | 显示全部楼层
我最喜欢这本书了。

评分

1

查看全部评分

回复

使用道具 举报

发表于 2009-11-26 12:52:30 | 显示全部楼层
From Novice to Professional

评分

1

查看全部评分

回复

使用道具 举报

发表于 2010-5-4 11:17:27 | 显示全部楼层
非常期望能够看一次
回复

使用道具 举报

发表于 2010-6-7 07:03:37 | 显示全部楼层
路过,支持一下,呵呵,顶你啊
不顶也不行
.........................................................
回复

使用道具 举报

发表于 2010-6-12 02:15:51 | 显示全部楼层
一直在找这本书 比较有价值的参考书
回复

使用道具 举报

发表于 2010-9-6 23:30:55 | 显示全部楼层
Great !Thanks
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-11-13 09:25

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表