NULL::something

Login via flickr, はてな, TypeKey.

2006-06-23

SQL わかんね

ビューって何。つまり、使うと何が嬉しいのかよくわからない。パフォーマンスのために云々っぽいけど、実際どういうケースで使うんだろう。


最近分かったこと。というか教えてもらったこと。

カラムに配列 (のようなもの) を突っ込みたいときは、配列の要素をテーブルにして、元の行の id とデータを複数突っ込むらしい。

/* この例だと当たり前な感じがするなぁ。 */

CREATE TABLE entries (
  id INT PRIMARY KEY,
  body TEXT,
  ...
);

CREATE TABLE comments (
  id INT PRIMARY KEY,
  entry_id INT,
  body TEXT
);

多対多な関係の場合は仲介テーブルを作るみたい。

CREATE TABLE ideas (
  id INT PRIMARY KEY,
  body TEXT
);

CREATE TABLE users (
  id INT PRIMARY_KEY,
  name VARCHAR(60)
);

CREATE TABLE votes (
  id INT PRIMARY KEY,
  idea_id INT,
  user_id INT
);

Comments (0)

Trackback URI: http://lowreal.net/logs/2006/06/23/2.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。