skillup

技術ブログ

Database

DBの基礎 テーブルとは

投稿日:

CSSを学習したあとはデータベースの学習などを。

参考図書:「達人に学ぶDB設計指南書」基本的にはこれを読んでいきます。が、現状よくわからないところは飛ばしていきます・・・

テーブルとは?

まずは基本的なところから行きます。

  • プロジェクトの概念を論理的に表現したもの
  • 共通属性をもったレコードの集合体
  • テーブル名はすべて英語の名詞(複数形)で書くことができる。もしできなければどこかが間違っている。

テーブルの構成要素

  • 全ての属性をカラムとして表現できる
  • 主キー(一意に識別できる)を必ず持つ。通常番号や半角英数字の記号(固定長文字列)が入ることが一般的.
  • 複数列の組み合わせで作られる複合キーというものも存在することあり。例:会社ID+社員ID。
  • 通常は外部レコードと接続する外部キーが必要になることが多い。互いに関連している(参照整合性制約)。
  • 外部キーは人間の親子関係のようなもの。互いに関連しているので一方を削除する場合は互いを削除する必要がある。削除順は子→親としなければいけない(合わせて削除する行為をカスケードという。)
  • キーには通常番号や半角英数字などの固定長文字列が入ることが一般的。
  • 外部キーには参照整合性以外にもNOT NULL制約、一意制約、CHECK制約(値の範囲を決める)などが入ることがある。

メモ

  • まずプロジェクトの概念図→そこから論理モデル→物理モデルへと落とす。この物理モデルを実体化したものがテーブル
  • 全ての属性をカラムとして持たせる
  • テーブル間同士が1:1、1:Nになるかいなかをしっかり把握

 

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

外部結合について 行列変換

今回から外部結合について学習します。 これはCASE式でもやった集合の考え方が大事になってきます。 例えば下記のようなテーブルCoursesとがあるとします。 name | course &#8212 …

no image

MySQLのメモリ設定

実務で結構サーバーをヘビーに使われるお客さんがいて、SQLが遅くなったりとしています。 なんとか対策しないといけないので、いろいろと調査をいます。 それで今回はMySQLのメモリ問題など。 MySQL …

no image

CASE式のすすめ

SQL実践入門を7割がたぐらい終えたところで同著者の方の「達人に学ぶSQL徹底指南書」を学習しようと思っています。 この方の著書は気づいたら結構読んでましたね。 Contents1 CASE式での注意 …

no image

SQL 集計関数の利用

先日同様、ある程度複雑な問題のSQLに関して。出典はSQL実践入門。 問題 下記のようなテーブル(テーブル名)で より古い年のデータが存在しない場合 NULL 直近の年のデータより売り上げが伸びた場合 …

no image

データ構造の基礎知識 後編 木構造

データベースの学習をしていたときの復習です。 データ構造の基礎知識 前編 メモリとポインタ、配列と連結リスト データ構造の基礎知識 中編 ハッシュ 今回はもう少し複雑な「木構造」について考えてみます。 …

アーカイブ