2010年01月19日

データベースの基礎(1)


データベースについて、数回(4回の予定)に分けてブログに掲載している予定です。
第1回目はデータベースの基礎です。
---------------------------------------------------------------------------------------
データベースの基礎
(PostgreSQL)
---------------------------------------------------------------------------------------
1、データベース
特定のテーマに沿ったデータを集めて管理し、
検索・抽出などの再利用をできるようにしたもの。
2、DBMS
データベースを構築するために必要なデータベース運用、
管理のためのシステム
3、リレーショナルデータベース
(1) 1970年にE.F.Coddさんが提唱したモデル
(2) 2次元の表の集まりで表現
(3) 集合論のベースとなっている。
(4) SQLを使用してデータベースの操作を行うのが一般的
4、リレーショナルデータベースの主な機能
(1) データベースの管理
(2) トランザクション管理
(3) 同時実行制御
(4) 機密保護管理
(5) 障害回復管理
5、テーブル
(1) データベース・オブジェクトの1つ
(2) 2次元の表示で表現
(3) 1件のデータを1行(レコード)で表現
(4) 1つの属性を1列(カラム)で表現
(5) データ型や制約を定義可能
6、データ型
(1) RDBMSに依存しない型と依存する型がある。
(2) PostgreSQLで利用できるデータ型(一部)
・INTEGER : 整数型
・TEXT : 文字列型
・DATE : 日付型
・TIME : 時刻型
・TIMESTAMP : 日時型(日付+時刻)
7、制約
単一列もしくは複数列に対して条件を指定
(1) NOT NULL
列の値にNULLが設定できない
(2) UNIQUE
列の値に重複した値を設定できない
(3) PRIMARY KEY(主キー)
・1行を特定するために利用できる
・NOT NULL+UNIQUEと同様
(4) REFERENCES (外部キー)
他のテーブルの主キーの値が入る
(5) CHECK
行を追加する時に、許可するかどうかの条件を
付ける制約。例えばある数値以上の値しか値を
指定できないなどの条件設定が可能
posted by rururu at 00:42| Comment(0) | TrackBack(0) | PostgreSQL

ORDER BYにCASE


以下のデータが登録されているテーブルの
データを自分の好きな名前の順番に並び変えたい場合、
----------
id | name
----------
1 | 中村
2 | 加藤
3 | 佐藤
4 | 鈴木
5 | 高橋
6 | 山田

以下のようにORDER BYでCASEを使うことで対応可能です。
あまり、仕事では使うことがないと思いますが・・・

select
id, name
from
test
order by
case name
when '山田' then 1
when '加藤' then 2
when '高橋' then 3
when '鈴木' then 4
when '佐藤' then 5
else 6
end

----------
id | name
----------
6 | 山田
2 | 加藤
5 | 高橋
4 | 鈴木
3 | 佐藤
1 | 中村
posted by rururu at 00:22| Comment(0) | TrackBack(0) | PostgreSQL