キムラデービーブログ

オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。
<< ピザカプリチョーザ@恵比寿ダ・パスクワーレ(Da Pasquale) | main | いまごろ「スラムドッグ$ミリオネア」をみる >>
[書評] SQL Antipatterns
0
    JUGEMテーマ:コンピュータ


    SQL Antppaterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers)

    [2014-04-06 追記] 邦訳が2013-01に発売されました。詳細はこちらのブログで紹介しています

    購入前に題名から想像したのはSQLクエリのみ(イメージはIII Query Antipatternだけの内容)かと思っていましたが、データベースに関するかなり広い範囲でのアンチパターンの本でした。例えば木構造をあつかう(3.Native Trees)では、具体的な解決策としてのモデル(Path Enumeration, Nested Set, Closure Table)があげられており結構広く、必要に応じて深い内容となっています。(とりあえず、見出しを以下に記述します)

    1.Introduction
    I Logical Database Design Antipatterns
    2.Jaywalking
    3.Native Trees
    4.ID Required
    5.Keyless Entry
    6.Entitiy-Attribute-Value
    7.Polymorphic Associations
    8.Multicolumn Attributes
    9.Metadata Tribbles
    II Physical Database Design Antipatterns
    10.Rounding Errors
    11.31 Flavors
    12.Phantom Files
    13.Index Shotgun
    III Query Antipatterns
    14.Fear of the Unknown
    15.Ambiguous Groups
    16.Random Selection
    17.Poor Man's Search Engine
    18.Spaghetti Query
    19.Implicit Columns
    IV Application Development Antipatterns
    20.Readable Passwords
    21.SQL Injection
    22.Pseudokey Neat-Freak
    23.See No Evil
    24.Diplomatic Immunity
    25.Magic Beans
    V Appendixes
    A.Rules of Normalization
    B.Bibliography

    データベースを含む開発(アプリ側含む)のアンチパターンを広く収録していますし、実際の動作は商用御三家、OSSDB御三家での動作結果も収録されていますので(Firebird 2.1も!)、便利に使えてなかなかグッドです。このような本はありそうでありませんでした。

    [2011-06-12 追記] High Performance MySQL著者の一人Baronの書評が公開されています。BillはBaronの同僚だそうです。

    A review of SQL Antipatterns by Bill Karwin (Xaprb)


    なお、同著者のプレゼンが下記にて公開されています。芸風や内容をざっと確認して、これでチェックしてから、さらに知りたい場合には上記の本を買う、という目安にするのにイイと思います。

    SQL Antipatterns(Bill Karwin)

    以下に内容と、書籍との対応を下記に記述します。おおまかな作りは書籍と同じです。

    I Logical Database Design Antipatterns(p.4に見出し)
    1.Comma-Separated Lists(->書籍I-2.Jaywalking)
    2.Multi-Column Attributes(->書籍I-8.Multicolumn Attributes)
    3.Entitity-Attribute-Value(->書籍I-6.Entity-Attribute-Value)
    4.Metadata Tribbles(->書籍I-9.Metadata Tribbles)

    II Physical Database Design Antipatterns(p.56に見出し)
     5.ID Required(->書籍I-4.ID Required)
    6.Phantom Files(->書籍II-12.Phantom Files)
    7.FLOAT Antipattern(->書籍II-10.Rounding Errors)
    8.ENUM Antipattern(->書籍II-11.31 Flavors)
    9.Readable Password(->書籍IV-20.Readable Password)

    III Query Antipatterns(p.113に見出し)
    10.Ambiguous GROUP BY(->書籍III-15.Ambiguous Groups)
    11.HAVING antipattern
    12.Poor Man's Search Engine(->書籍III-17.Poor Man's Search Engine)
    13.Implicit columns in SELECT and INSERT(->書籍III-19.Implicit Columns)

    IV Application Development Antipatterns(p.150に見出し)

    14.User-supplied SQL
    15.SQL Injection(->書籍IV-21.SQL Injection)
    16.Parameter Facade
    17.Pseudokey Neat-Freak(->書籍IV-22.Pseudokey Neat-Freak)
    18.Session Coupling
    19.Phantom Side Effects
    | meijik | データベース | 03:50 | comments(0) | trackbacks(0) | - | - |









    トラックバック機能は終了しました。
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
    << July 2020 >>
    + RECOMMEND
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊
    100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 (JUGEMレビュー »)

    100人のうちの一人としてミックさんの本を推薦しています。
    + RECOMMEND
    MySQL 5.1 Plugin Development
    MySQL 5.1 Plugin Development (JUGEMレビュー »)
    Andrew Hutchings,Sergei Golubchik
    MySQL 5.1 のプラグインを作るならこれ!
    + RECOMMEND
    AWKを256倍使うための本 (Ascii 256倍)
    AWKを256倍使うための本 (Ascii 256倍) (JUGEMレビュー »)
    志村 拓,鷲北 賢,西村 克信
    ここにきてまさかの復刊。15〜16年前の本ですが、いまでも十分役立ちますよ!!
    + RECOMMEND
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
    Linux-DB システム構築/運用入門 (DB Magazine SELECTION) (JUGEMレビュー »)
    松信 嘉範
    Linux-DB システム構築の新スタンダード。DB Magazine人気連載、待望の書籍化です!!
    + RECOMMEND
    + RECOMMEND
    超・極める!MySQL
    超・極める!MySQL (JUGEMレビュー »)
    坂井 恵,志村 和彦,ひろせ まさあき,松信 嘉範
    内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。
    + RECOMMEND
    The Root of .NET Framework
    The Root of .NET Framework (JUGEMレビュー »)
    荒井 省三
    .NETの根っこをつかむ、か?
    + RECOMMEND
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
    エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド (JUGEMレビュー »)
    奥野 幹也
    これまでにない構築、そして構築後のMySQLのための本。
    + RECOMMEND
    Database Management Systems
    Database Management Systems (JUGEMレビュー »)
    Raghu Ramakrishnan,Johannes Gehrke
    ミックさん連載の参考書籍です。
    + RECOMMEND
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series)
    Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series) (JUGEMレビュー »)
    W. Richard Stevens,Stephen A. Rago
    必読! といいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。
    + RECOMMEND
    + RECOMMEND
    + RECOMMEND
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE
    Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE (JUGEMレビュー »)

    DELL SX260の換装用に購入。今はコチラのほうが安いですね。
    + RECOMMEND
    情熱プログラマー ソフトウェア開発者の幸せな生き方
    情熱プログラマー ソフトウェア開発者の幸せな生き方 (JUGEMレビュー »)
    Chad Fowler
    OSC2010神戸に出展されたジュンク堂で買いました。
    + RECOMMEND
    Software Design 総集編 【2000~2009】(DVD付)
    Software Design 総集編 【2000~2009】(DVD付) (JUGEMレビュー »)

    メガトン級の過去記事。売り切れる前にお店に急げ!
    + RECOMMEND
    + RECOMMEND
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2
    玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2 (JUGEMレビュー »)

    Aspire 1410 HDD換装後、昔のHDDはこれにいれます。
    + RECOMMEND
    + RECOMMEND
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22
    acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22 (JUGEMレビュー »)

    色違い黒(他に青と白があります): メモリは最大4GBとあるが、がんばれば8GBいけるらしい。
    + RECOMMEND
    Firebird 徹底入門
    Firebird 徹底入門 (JUGEMレビュー »)
    木村 明治,はやし つとむ,坂井 恵
    Firebird日本ユーザ会のはやしさん、そしてMyNAから拝借(?) してきた坂井さんとともに書きました。まだ誰も知らないFirebird 2.5や、いままでドキュメントのなかったツール類についてもソースを確認してとりあげた本です。是非ご活用ください。
    + SELECTED ENTRIES
    + RECENT COMMENTS
    • たまたま「プリントヘッドの種類が違います」エラーから復活@MG6230
      meijik (11/20)
    • [ミュージシャンに聴かせたい・弾かせたい!] (4) 山田元気様
      meijik (07/27)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (03/03)
    • 2019年の木村明治
      田中尚 (01/08)
    • 使い慣れたSQLに潜む実装依存: Firebirdの場合(6) 文字列との結合演算子
      noname (12/10)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      Moriaki_ (01/05)
    • 2015年版 InterBaseの歩み
      nakagami (12/06)
    • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
      meijik (11/22)
    • 分散DB本読書会第46回メモ「STOP AFTER 10」
      masudahidehiko (09/01)
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + MOBILE
    qrcode
    + LINKS
    + PROFILE