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.

【ふくだ学習録】SQLアンチパターン part2【16日目】

Posted at

ふくだ学習録とは?

ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。

読了した本

データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]
ゼロから作るDeepLearning
PHPフレームワーク CakePHP 3入門

今読んでいる本

SQLアンチパターン

SQLアンチパターンを読んで

SQLは宣言型プログラミング言語

SQLでは「集合」を基本的なデータ構造として使用する、宣言型プログラミング言語。
現在の状態どのように解決するか、について「関数を作成する」ではなく「もともと用意されている関数をどのように用いるのか」といった観点で考えていかなければいけない。

プログラミングパラダイムとは

blob型とは?

blob(ブロブ)型とは、バイナリデータを扱うデータ型。
格納できるデータのサイズは指定しない。

BLOB型とTEXT型

NUMERIC型とは?

NUMERIC(ニューメリック)型とは、非常に大きな数値を扱う型。
正確な計算を行うことができるため、通貨金額やその他正確性が求められる数量を保存する時は特に、この型が推奨される。
その代わりに、整数型、もしくは浮動小数点データ型に比較し、計算が非常に遅くなってしまう。

BIGINT型とは?

BIGINT(ビッグイント)型とは、広範囲整数。8バイトまでで表される数字。

UNSIGEDとは?

「負の数を表さない符号のない長い整数」を定義できるもの。
これを設定すると、シンプルに使える正の整数の範囲が倍になる。

ジェイウォーク(信号無視)

開発者が「多対多」の関連を表現する交差テーブルを避けて、カンマ区切りなどのリストを用いる。
こういったintersection(交差/交差点)を避けるアンチパターンを、**ジェイウォーク(信号無視)**と例えることがる。

外部キーを文字列連結させて一つのフィールドに格納するべきではない。

クエリを作ることが難しくなるから。理由としては。等価性による比較ができなくなるため、何らかの文字列パターンに対するパターンマッチが必要になってしまうから。

今日の一言

鼻水ジュルジュルやから今日はここまで!病院行ってきます!

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?