10/2

  • 外部キーを見ただけでは何を示すかはわからない。
  • 外部キーに対応する主キーが設定されているテーブルを見ることで、外部キーの番号が何を示しているのかがわかる。参照整合性。
  • エンティティとは、サービスの中で管理する必要のある概念(情報)
  • entity ; 実体 ; E-R図のE
  • エンティティ:テーブルと考えてよい
  • id ; 識別子
  • インデックスを設定することをインデックスを貼るという

10/1

concat関数(concatenate ; 鎖状につなぐ)

サブクエリとは、ある検索結果を使用して別のSQL文を実行する仕組みのこと

 

Railsのアプリケーションとmysql等のDBの間でインピーダンスミスマッチと言われるギャップが生じる。これは、現実世界の物事に即したデータモデルであるオブジェクトと検索やCRUDなどの処理に最適化されたデータモデルであるリレーショナルDBの設計思想の違いによるものである。

このギャップを変換器の役割があるオブジェクト関係マッピング(以下、ORM)を用いて解決していく。
ORMとは、RDBのレコードをオブジェクトとして直感的に扱えるようにするものである。また、RDBにアクセスするプログラムを書く際の煩雑な処理を軽減させ、プログラマSQLを意識することなくプログラムを書ける。

RailsにおけるORMがActive Recordである。
基本的に、1つのクラスがDBの1テーブルに対応している。
Railsに適合するルールに従っていれば、Active Recordモデルを作成するときに、設定のために書かなければならないコードは最小限で済みます。

このルールに従うためにCoCが大切である。

9/30

デフォルト値を設定していないカラムのデフォルト値はNULLとなる

ターミナルからではなくSequelProからSQL文を実行する理由。

・検索は長いSQL文を要するが、タイプミスをしたときにその部分だけを直せば再実行が出来る
・検索は場合によって非常に多くの出力を伴うが、それによって実行したSQL文が流れることがないため見やすい
SQL文の文末に " ; "(セミコロン)を付ける必要がない

 

 

9/29

  • variable character ; 定められいない文字(可変長文字列)
  • SELECT句において、アスタリスクは"全てのカラムを取得する"というワイルドカード
  • 情報処理において、検索する際にどんなパターンにもマッチする特殊文字
  • 文字の代わりとして使うことが出来る記号

9/28

SQL

データを定義するDDL(Data Definition Language)

データを操作するDML(Data Manipulation Language)

SQLはどんな種類のリレーショナルデータベースに対しても、基本的に同じ文法で操作をすることが出来る

SQLはISO(国際標準化機構)で規格化が行われているため。

 

rake db:migrateが実行される裏側では、このCREATE TABLEというSQL文が動いていた