skillup

技術ブログ

Database

DBの基礎 テーブルとは

投稿日:

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

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

テーブルとは?

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

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

テーブルの構成要素

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

メモ

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

 

-Database
-

執筆者:


comment

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

関連記事

no image

cake sql系+リレーション+ヘルパー

先月末に引き続いてcakeネタをもりっといきます。 といっても自分用の小ネタリンク集です。 Contents1 sql系の小ネタ1.1 findとread1.2 find(‘count&# …

no image

データクレンジング

リレーショナルデータベースでデータを管理する前に、しなくてはいけないことはデータをデータベースに登録できる形に整形することです。 このことをデータクレンジングといいます。 これを行わずに何も考えずにデ …

no image

サブクエリ 分析関数の代替案として

今回は分析関数系のネタです。 以前にも分析関数を少し学習しましたがMySQLにはないので、サブクエリを使い書くことになります。 下記のような入出金講座があるとします。 Accounts prc_dat …

no image

NOT EXISTSの利用2

今回もNOT EXISTSの利用です。 前回の問題にプラスアルファし、列が一緒でないと連続でも意味ない仕様にします。 例えば下記のようなテーブルがあるとします。 seat | row_id | sta …

no image

netbeansのJPQL補助機能

JPAでは基本的に生のSQLではなく、JPQLを使って書きます。 SQLでもタイプミスにイライラさせられることは多いのですが、JPQLはもっとですね・・・爆 そこで使えるのがNetbeansの入力補助 …