0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

応用カリキュラム 06 データベース設計

0
Posted at

ほとんどの場合、サービスはデータベースを持っている。
データを得るために派手な見た目やインターフェースを使っているので
データベースそのものがサービスのメイン。

いつ

データベース設計は開発の最初の段階で行う。
データベース設計は基本的には現実世界の要素をデータに落としこむ作業。
客商売での顧客という概念がエンティティ
顧客の情報が属性
顧客と他の情報との関係性がリレーション

概念

エンティティを定めて、
定めたエンティティに属性を定めて、
エンティティ同士のリレーションを定めて
データベース定義

データベース上では、エンティティ = テーブル
テーブルは2次元表で表す。
テーブルの行がレコードテーブルの列がカラム
レコードがデータ。カラムが属性
テーブル同士の関係性がリレーション

キー

テーブルにおけるキーとはレコードを識別するための特別なカラム。レコード毎にただ一つの値を持っていて被らないようにする。
主キーと外部キーの2種類がある。

 外部キーは異なるテーブルのレコードと関係性(リレーション)を持つ場合に必要なカラム。異なるテーブルにおける主キー。

制約

制約を設けて安全なデータベースにする

  • NOT NULL制約 空の値を受け付けない
  • 一意性制約 登録済みの値を受け付けない
  • 主キー制約
  • 外部キー制約

上記4件の制約をうまく使う。

インデックス

インデックスをつけて検索スピードを上げる。度々検索する主キー、外部キーなどを登録。
検索は早くなるが、登録スピードやサーバー容量が増えてしまう。

railsにおけるマイグレーションファイルで、インデックスが適用できるが、
2つのカラムに一度にインデックスを適用した場合、
2つのカラムでの検索スピードは早くなるが、1つのカラムだけでの検索スピードは早くならない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?