v

您的位置:VeryCD图书计算机与网络

图书资源事务区


《SQL 反模式》(SQL Antipatterns)文字版[PDF]

  • 状态: 精华资源
  • 摘要:
    图书分类软件
    出版社The Pragmatic Bookshelf
    发行时间2010年
    语言英文
  • 时间: 2012/03/07 00:18:30 发布 | 2012/03/07 14:54:58 更新
  • 分类: 图书  计算机与网络 

[该用户已屏蔽]

精华资源: 77

全部资源: 79

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名SQL 反模式
原名SQL Antipatterns
作者Bill Karwin
图书分类软件
资源格式PDF
版本文字版
出版社The Pragmatic Bookshelf
书号ISBN: 9781934356555
发行时间2010年
地区美国
语言英文
简介


IPB Image

内容简介

  Each chapter in this book helps you identify, explain, and correct a unique and dangerous antipattern. The four parts of the book group the antipatterns in terms of logical database design, physical database design, queries, and application development.
  
   The chances are good that your application's database layer already contains problems such as Index Shotgun , Keyless Entry , Fear of the Unknown , and Spaghetti Query . This book will help you and your team find them. Even better, it will also show you how to fix them, and how to avoid these and other problems in the future.
  
   SQL Antipatterns gives you a rare glimpse into an SQL expert's playbook. Now you can stamp out these common database errors once and for all.
  
   Whatever platform or programming language you use, whether you're a junior programmer or a Ph.D., SQL Antipatterns will show you how to design and build databases, how to write better database queries, and how to integrate SQL programming with your application like an expert. You'll also learn the best and most current technology for full-text search, how to design code that is resistant to SQL injection attacks, and other techniques for success.  

作者简介

  Bill Karwin has been a software engineer for over twenty years, developing and supporting applications, libraries, and servers such as Zend Framework for PHP 5, the InterBase relational database, and the Enhydra Java application server. Throughout his career, Bill has shared his knowledge to help other programmers achieve success and productivity. Bill has answered thousands of questions, giving him a unique perspective on SQL mistakes that most commonly cause problems.

内容截图

IPB Image



目录

1 Introduction
1.1 Who This Book Is For
1.2 What’s in This Book
1.3 What’s Not in This Book
1.4 Conventions
1.5 Example Database
1.6 Acknowledgements
Logical Database Design Antipatterns
2 Jaywalking
2.1 Objective: Store Multi-Value Attributes
2.2 Antipattern: Format Comma-Separated Lists
2.3 How to Recognize the Antipattern
2.4 Legitimate Uses of the Antipattern
2.5 Solution: Create an Intersection Table
3 Naive Trees
3.1 Objective: Store and Query Hierarchies
3.2 Antipattern: Always Depend on One’s Parent
3.3 How to Recognize the Antipattern
3.4 Legitimate Uses of the Antipattern
3.5 Solution: Use Alternative Tree Models
4 ID Required
4.1 Objective: Establish Primary Key Conventions
4.2 Antipattern: One Size Fits All
4.3 How to Recognize the Antipattern
4.4 Legitimate Uses of the Antipattern
4.5 Solution:Tailored to Fit
5 Keyless Entry
5.1 Objective: simplify database architecture
5.2 Antipattern: leave out the constraints
5.3 How to Recognize the Antipattern
5.4 Legitimate Uses of the Antipattern
5.5 Solution:declare constraints
6 Entity-Attribute-Value
6.1 Objective: Support Variable Attributes
6.2 Antipattern: Use a Generic Attribute Table
6.3 How to Recognize the Antipattern
6.4 Legitimate Uses of the Antipattern
6.5 Solution:Model the Subtypes
7 Polymorphic Associations
7.1 Objective: Reference Multiple Parents
7.2 Antipattern: Use Dual-Purpose Foreign Key
7.3 How to Recognize the Antipattern
7.4 Legitimate Uses of the Antipattern
7.5 Solution:Simplify the Relationship
8 Multi-Column Attributes
8.1 Objective: Store Multi-Value Attributes
8.2 Antipattern: Create Multiple Columns
8.3 How to Recognize the Antipattern
8.4 Legitimate Uses of the Antipattern
8.5 Solution:Create Dependent Table
9 Metadata Tribbles
9.1 Objective:Support Scalability
9.2 Antipattern:Clone Tables or Columns
9.3 How to Recognize the Antipattern
9.4 Legitimate Uses of the Antipattern
9.5 Solution:Partition and Normalize
II Physical Database Design Antipatterns
10 Rounding Errors
10.1 Objective: Use Fractional Numbers Instead of Integers
10.2 Antipattern:Use FLOAT DataType
10.3 How to Recognize the Antipattern
10.4 Legitimate Uses of the Antipattern
10.5 Solution:Use NUMERIC DataType
11 Flavors
11.1 Objective: Restrict a Column to Specific Values
11.2 Antipattern: Specify Values in the Column Definition
11.3 How to Recognize the Antipattern
11.4 Legitimate Uses of the Antipattern
11.5 Solution:Specify Values in Data
12 Phantom Files
12.1 Objective: Store Images or Other Bulky Media
12.2 Antipattern: Assume You Must Use Files
12.3 How to Recognize the Antipattern
12.4 Legitimate Uses of the Antipattern
12.5 Solution: Use BLOB Data Types As Needed
13 Index Shotgun
13.1 Objective:OptimizePerformance
13.2 Antipattern: Using Indexes Without a Plan
13.3 How to Recognize the Antipattern
13.4 Legitimate Uses of the Antipattern
13.5 Solution:MENTOR Your Indexes
III Query Antipatterns
14 Fear of the Unknown
14.1 Objective: Distinguish Missing Values
14.2 Antipattern: Use Null as Ordinary Value or Vice Versa
14.3 How to Recognize the Antipattern
14.4 Legitimate Uses of the Antipattern
14.5 Solution:Use Null as a Unique Value
15 Ambiguous Groups
15.1 Objective: Get Row with Greatest Value per Group
15.2 Antipattern: Reference Non-Grouped Columns
15.3 How to Recognize the Antipattern
15.4 Legitimate Uses of the Antipattern
15.5 Solution: Use Columns Unambiguously
16 Random Selection
16.1 Objective:FetchASampleRow
16.2 Antipattern:SortDataRandomly
16.3 How to Recognize the Antipattern
16.4 Legitimate Uses of the Antipattern
16.5 Solution:In No Particular Order
17 Poor Man’s Search Engine
17.1 Objective:FullTextSearch
17.2 Antipattern: Pattern Matching Predicates
17.3 How to Recognize the Antipattern
17.4 Legitimate Uses of the Antipattern
17.5 Solution:Use the Right Tool for the Job
18 Spaghetti Query
18.1 Objective:DecreaseSQLQueries
18.2 Antipattern: Solve a Complex Problem in One Step
18.3 How to Recognize the Antipattern
18.4 Legitimate Uses of the Antipattern
18.5 Solution:Divide and Conquer
19 Implicit Columns
19.1 Objective:ReduceTyping
19.2 Antipattern: a Short Cut That Gets You Lost
19.3 How to Recognize the Antipattern
19.4 Legitimate Uses of the Antipattern
19.5 Solution:Name Columns Explicitly
IV Application Development Antipatterns
20 Readable Passwords
20.1 Objective: Recover or Reset Passwords
20.2 Antipattern: Store Password in Plain Text
20.3 How to Recognize the Antipattern
20.4 Legitimate Uses of the Antipattern
20.5 Solution: Store a Salted Hash of the Password
21 SQL Injection
21.1 Objective: Write Dynamic SQL Queries
21.2 Antipattern: Execute Unverified Input As Code
21.3 How to Recognize the Antipattern
21.4 Legitimate Uses of the Antipattern
21.5 Solution:Trust No One
22 Pseudokey Neat-Freak
22.1 Objective:Tidy Up the Data
22.2 Antipattern:Filling in the Corners
22.3 How to Recognize the Antipattern
22.4 Legitimate Uses of the Antipattern
22.5 Solution:Get Over It
23 See No Evil
23.1 Objective:Write Less Code
23.2 Antipattern: Making Bricks Without Straw
23.3 How to Recognize the Antipattern
23.4 Legitimate Uses of the Antipattern
23.5 Solution: Recover from Errors Gracefully
24 Diplomatic Immunity
24.1 Objective:Employ Best Practices
24.2 Antipattern: Make SQL a Second-Class Citizen
24.3 How to Recognize the Antipattern
24.4 Legitimate Uses of the Antipattern
24.5 Solution: Establish a Big-Tent Culture of Quality
25 Magic Beans
25.1 Objective:Simplify Mode ls in MVC
25.2 Antipattern: The Model Is an Active Record
25.3 How to Recognize the Antipattern
25.4 Legitimate Uses of the Antipattern
25.5 Solution: The Model Has an Active Record
V Appendixes
A Rules of Normalization
A.1 What Does Relational Mean?
A.2 Myths About Normalization
A.3 What Is Normalization?
A.4 Common Sense
B Bibliography
Index

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有41网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。