主キーとは、その値でデータを特定できるもののこと。
外部キー(FK)とは、ほかのテーブルの主キー。
第1正規形はテーブルの列がそれ以上分割できない値のみをもつテーブル。
つまり、列の値が、一つの行に複数含まれている場合は、ほかのテーブルに分割する。
第2正規形はテーブルが第1正規形であり,なおかつ主キーである列の値によって主キーではない列の値が一意に特定できるテーブル。
つまり、主キーによって決まるんなら重複いらんやん、別テーブルでええやんて考え。
第3正規形は,テーブルが第2正規形であり,なおかつ,主キーではない列が関数従属性をもたないテーブル。
つまり、主キーじゃない列によってほかの値が決まるんなら重複いらんやん、別テーブルでええやん、て考え。
で、つづいてデータ型の設計。数値データ型、文字データ型、日付・時刻データ型、ビット・バイナリデータ型、論理値データ型などがある。
制約について。
検査制約。正の値のみ、の例CREATE TABLE products (
id integer,
name text,
price integer CHECK (price > 0)
);非NULL制約 CREATE TABLE products (
id integer NOT NULL,
name text NOT NULL,
price integer NOT NULL CHECK (price > 0)
);
一意制制約
CREATE TABLE products (
id integer UNIQUE NOT NULL,
name text NOT NULL,
price integer NOT NULL CHECK (price > 0)
);
主キー制約(一意制制約と非NULL制約の合わせ技)
CREATE TABLE products (
id integer PRIMARY KEY, name text NOT NULL,
price integer NOT NULL CHECK (price > 0)
);
外部キー制約。外部キーとしてどう振る舞うか。
CREATE TABLE order_details (
order_id integer REFERENCES order (id),
product_id integer REFERENCES product (id),
quantity integer CHECK (quantity > 0),
PRIMARY KEY (order_id, product_id)
);
結合とかトランザクションとかその辺はまた今度。
今日は終わり。
0 件のコメント:
コメントを投稿