てぃぐれのプログラマwiki

ワクワクに従う

RDB

【SQLアンチパターン3】 IDリクワイアド (とりあえず ID)

1, IDリクワイアド (とりあえず ID) どのテーブルにもとりあえずIDを入れて主キーにしよう! →はい、アンチパターン 問題 ・交差テーブルみたいなテーブルにIDは冗長になる ・考えなしにテーブル構成をするなということが言いたい(思考停止するな) ・IDという…

B+Treeをざっくり理解したい この木なんの木

経緯 RDBのドキュメントを見るとよく出てくる木。 この木なんの木? どんな木か知っておきたい。 木 バランス木のデータ構造の一つ。 バランス木についてはまた今度、掲載していきたい。 リーフノード同士が繋がっているため、範囲検索に適している。DBに適し…

SQLアンチパターン1 信号無視するな

SQLアンチパターン1 Bill Karwin著のSQLアンチパターンを心のノートに。 1, ジェイウォーク(信号無視) 交差テーブルを使え 多:1から多:多の関係にしたい。 じゃあ、カンマで区切って入れちゃおー →はい、アンチパターン 問題 ・数値を文字列から検索しずらい…

データベースの正規形を片隅に

RDB

データベースの正規形 普段の業務では、正規形など意識しなくても、正規化してるので、第一とか言われても。。 しかし、DWHの世界では第二正規形で留めるということがあるので、改めて正規形を言語化しておきたい。 第一形態(正規形) 同一の項目(カラム)の削…

動的パラメータにSPFILE=BOTHつけて変更したら

ORACLEデータベースで初期化パラメータを変更したい!っていう時、そのパラメータが動的か静的かによって変更の仕方が異なりますよね。 例えば、動的初期化パラメータの場合、単純に下記のようにSQLを叩くと変更が即座に適用されます。 ALTER SYSTEM SET PGA_…

ORACLE 勝手に作られる索引

ORACLEデータベースには勝手とは言わないまでも、自動で作成される索引があるのは知っていましたか?。ちなみに19cのAutomatic indexingの話ではありません。それはテーブル制約である、主キーもしく一意制約を付けると自動的に索引が作成されるのです。実際…