Photo by Samuel Mann
こんにちは。谷口です。
「SQLは何となく書けるけど、DB設計はしたことない…」「DB設計について一度ちゃんと学んでおきたい…」という人は多いですよね。
DB設計とは、DBのデータモデル(DBの構成など)を作成する作業です。
DBを一から作ったり、テーブルを追加したりする際は、当然ですが「今あるデータが何となく格納できればそれでOK」ではありません。
テーブルは正規化できていないといけませんし、データの整合性も取れないといけません。また、効率よくデータが取れる構造になっているかどうかも重要です。
一から設計に取りかかるようなケースは少ないかもしれませんが、DBを取り扱うことがあるなら、こうしたDB設計の基本は知っておいて損はありません。むしろ自分が扱うDBの構造はきちんと知っておかないと、「なんか適当にSQL投げたらデータ取れたけど、正しく取れてるのかどうかよくわかんないな」というふうにブラックボックス化してしまいます。
DB設計の基本を学んでおくと、サービス内容や開発言語にかかわらず、役に立つ知識となるはずです。
そこで今回は、DB設計について学べるサイトと書籍をご紹介します。
■新入社員必読、データベースの基本を理解しよう
『書き込み式SQLのドリル 』の作者の方による日経XTECHの連載記事です。DB入門者向けに、書籍から抜粋された内容が掲載されています。
もちろんDBについてさらに詳しく知りたい人やSQLの練習をしたい人は、『書き込み式SQLのドリル 』を読んでみるのもおすすめです。
■書き込み式SQLのドリル
- 作者: 山田祥寛
- 出版社/メーカー: 日経BP
- 発売日: 2013/04/18
- メディア: 単行本
- この商品を含むブログ (2件) を見る
■達人に学ぶSQL
CodeZineの連載記事です。記事自体は無料で読めますが、加筆・再編集された書籍『達人に学ぶ SQL徹底指南書』のほうが実例豊富でわかりやすくておすすめです。
■達人に学ぶ SQL徹底指南書
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2008/02/07
- メディア: 単行本(ソフトカバー)
- 購入: 54人 クリック: 1,004回
- この商品を含むブログ (78件) を見る
なお、初心者を抜け出したい人や中級者向けの内容になってはいますが、さらに詳しくDBについて学びたい人には、続編の『達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ』もおすすめです。
■達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 21人 クリック: 316回
- この商品を含むブログ (24件) を見る
■SQLアンチパターン
- 作者: Bill Karwin,和田卓人,和田省二,児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/01/26
- メディア: 大型本
- 購入: 9人 クリック: 698回
- この商品を含むブログ (46件) を見る
SQLの記述方法だけでなく、DB設計の段階から、様々な場面で陥りやすいアンチパターンについて解説されています。アンチパターンというのは「やってはいけない、避けたいパターン」ということです。知らないとついついやってしまうアンチパターンですが、「なぜやってしまうのか、どうすれば防げるのか」がわかりやすく書かれています。
DB設計の経験がある人向けの書籍だとは思いますが、DBを使うことになった新人の人にもおすすめです。
■まとめ
前述の通り、DB設計の基本はサービス内容や開発言語にかかわらず役に立つ知識です。
DBを取り扱うようになると「そうだ、SQL学ぼう」とはなると思いますが、DB設計についても勉強しておいて損はありません。
ちなみにSQLに関しては、paizaラーニングで「DB/SQL入門編」というレッスンも公開しています。
SQLのオンライン実行環境と構築済みのデータベースが用意されているので、面倒な環境構築やデータベースの準備などをしなくても、動画と演習問題を通して楽しくSQLの使い方が学べます。
このように、自分で手を動かして実際のSQL文を打ち込んでみたり、結果を確認したりできます。
paizaラーニングの「DB/SQL入門編」について、詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら