- ベストアンサー
「データベースを設計する」←?
興味からデータベースを勉強してみたいと思っている者です。 今までデータベースは、MySQLでjavaから呼んで単純に一つテーブルを作って挿入、削除、などを実装したくらいの知識しかありません。 しかし、その一方でデータベースのみを扱った本などを読むと、正規系、ERモデル、スキーマなど読んでもよくわからないことが多く出てきます。 その二つがつながらないのですが、それは経験的に簡単なデータしか扱ったことがないからでしょうか?また、データベースのことが分かるようになるような、具体的な勉強ルートみたいなものについて、アドバイスがいただけると嬉しいです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
****************************** 全ては、量の蓄積かと思います。 ****************************** 四国の片田舎のアパレル工場でデザイナの仕事をしています。 さて、データベースと言った場合、やはり、基本はサーバ・クライアントシステムかと思います。 私の場合、Sony から News というワークステーションが発売されたのがキッカケです。 データベース言語としては、Informix を選びました。 ところで、機器が搬入されて、そのマニュアルの分量の大きさにビックリ。 UNIXとInformixのマニュアルを横一列に並べると2m近くありました。 しかし、当時のマニュアルは実に懇切丁寧に書かれていましたね。 リレーショナル・データベースとは何か? SQL文の初歩から応用までのサンプルと解説。 テーブル設計から入力、出力までの雛形と解説。 それから16年が経過した2005年、SQL Server 2000 でのサーバ・クライアントシステムの構築にも挑戦。 1、メニュー構造をメモ帳で編集し、それに基づいてデータベースメニューを表示する。 2、テーブル定義書をメモ帳で編集し、それに基づいてデータベースを構築する。 3、SELECT、INSERT、UPDATE、DELETE のSQL文を発行しデータベースを変更・参照する。 4、データベースの保守計画の立案とテスト。 これらは、全て、UNIX版 Informix のメニューシステム、テーブル作成システム、テーブル参照システムの再現。 ここまでの仕組みを構築するのに、SQL Server 2000 のヘルプ文も入門書も読む必要はなかったですね。 傍らに置いていたのは、当時の Informix のマニュアルだけでした。 (4だけは、SQL専門サイトの解説を熟読しました。) ところで、今、 SQL Server 2000 のオンライン・マニュアルを開くと、実に、当時のマニュアルにない記述が多いです。 そのマニュアルを当時のマニュアルに戻すには、インターネット関連の箇所を全て捨象する必要があります。 しかし、それだけでは、当時のマニュアルは出現しないですね。 そのためには、Access のヘルプ文も紐解く必要があります。 ですから、Access のヘルプ文→SQL Server 2000 のオンライン・マニュアルという攻め方が一番良いと思います。 これは、オラクルであっても通用する攻め方ではないでしょうか? そういう意味では、実践的には、なんら入門書、解説書の類は一切読む必要はないです。 およそ開発する上で必要なことは、全て、ヘルプ文とオンラインマニュアルに記載されています。 膨大なヘルプ文とオンラインマニュアを掌に乗せた時、霧が晴れるがごとくデータベースの全体像が見えてきます。 いわゆる、「量から質への転化」という訳ですね。 全ては、量の蓄積かと思います。 なお、あくまでも、たった一人でDBに挑んできた素人の経験知にしか過ぎませんので適当に読み流して下さい。
その他の回答 (1)
- toshih2000
- ベストアンサー率22% (120/541)
情報処理技術者試験のテクニカルエンジニア(データベース)の本なら、データベースの基本から勉強できるのでは無いかと思います。 ERはエンティティリレーションの略で、エンティティはテーブルのことです。要はテーブル間の関係を指します。 スキーマという呼び方はデータベースソフトによって微妙に異なったりします。一般的に共通な言葉では無いかもしれません。 正規化についてはデータベースの本だったら、必ず載っています。設計には欠かせないことです。まずは正規化かな? とりあえず、データベースの基礎みたいな本から勉強したら良いと思います。