削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎表定義: <source lang="sql">
M編集の要約なし
2 行
== ようこそ ==
ようこそ、SQLの世界へ。 2007年現在。RDBMS<ref name="ABBREVIATION_RDBMS">(略語)'''R'''elational'''D'''ata'''B'''ase'''M'''anagement'''S'''ystem - データベースの独立性、分散データとの連携、アクセスの単純化を追求したデータベースをいう。</ref>(リレーショナルデータベース管理システム)……いわゆるデータベースは、世界中に広く使用されています。
え? 見た事もない? いえいえ。貴方の預金口座もデータベースですし、プリペイドICカードの残高も、先日注文したショッピングサイトの注文履歴も、すべてデータベースで管理されています。
『データの蓄積』という行為がある限り、RDBMSは、貴方の生活とは切っても切り離せないものなのです。
 
9 行
 
なので、おそれる事はありません、SQLなんて。『箱を作る、捨てる』『データを入れる』『データを書き換える』『データを引っ張り出す』『データを捨てる』ぐらいで大半の事は済ませられます。
大掛かりで面倒で大変そうだと感じるのは……SQLではなく、データベースのセットアップだとかです。データベース'''そのもの'''についてのメンテナンスが大変なだけなのです。
 
そんなのは、DBA<ref name="ABBREVIATION_DBA">(略語)'''D'''ata'''B'''ase'''A'''dministrator - データベース管理者。データベースのパフォーマンスや記憶媒体領域の確保、SQLの妥当性検証等、神経を使っている方々。</ref>の連中に任せて。 私達は、手早く簡単に、IT社会における膨大な情報を、お片づけしましょう。
ようこそ。膨大な情報を素早く操る術を身につける事を志す者よ。
 
23 行
== 主なRDBMS(概要)==
=== [[MySQL]] ===
[http[w://ja.wikipedia.org/wiki/LAMP |L.A.M.P.]] (Linux,Apache,MySQL,PHP) という用語が定着している通り、MySQLは一定の評価を得ているオープンソースのデータベース(2007年現在)である。機能よりも検索速度重視で開発が進められてきたがMySQL5を境に、機能面の充実が図られている。
 
=== [[PostgreSQL]] ===
41 行
=== 表定義 ===
表定義とは、実際にデータの出納を行う物理的な定義を意味する。
本稿では以下のテーブルを用いて以後の説明を行う。
{|class="wikitable"
|+個人情報テーブル(テーブル名:personal)
65 ⟶ 66行目:
|}
:記述例
<sourcesyntaxhighlight lang="sql">
CREATE TABLE personal (
ID番号 integer(20) not null,
77 ⟶ 78行目:
UNIQUE(ユーザID)
);
</syntaxhighlight>
</source>
==== 整合性制約 ====
データベースに格納されるデータの整合性を保つ為に、スキーマで指定する制約事項。
 
* PRIMARY KEY(主キー、PKとも)
:該当行そのものを示す。 PKであればUNIQUEとの混同やNOT NULLが自動的注意付与されるが、逆は成り立たない
 
* FOREIGN KEY(外部キー、FKとも)
88 行
 
* NOT NULL
:キーをNULLにすることができなくなる。
:該当フィールドには、値の無指定 (NULL) が不可である。ただし空文字列の指定は可能。
 
* UNIQUE
:該当フィールドには、同一テーブル内で重複した値を持つ事が出来ない。PRIMARY KEYと混同しそうだが。例えば PRIMARY KEYが会員ID。 UNIUQEにログインIDが指定されている、と考えると分かりやすいかもしれない。
 
* CHECK
:指定した条件に当てはまる値のみを受け入れる。
 
=== ビュー定義 ===