Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースと応用システム:SQL(1)表の作成と整合性制約
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
自然言語処理研究室
May 24, 2013
Education
1
530
データベースと応用システム:SQL(1)表の作成と整合性制約
自然言語処理研究室
May 24, 2013
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
400
データサイエンス13_解析.pdf
jnlp
0
510
データサイエンス12_分類.pdf
jnlp
0
360
データサイエンス11_前処理.pdf
jnlp
0
490
Recurrent neural network based language model
jnlp
0
140
自然言語処理研究室 研究概要(2012年)
jnlp
0
150
自然言語処理研究室 研究概要(2013年)
jnlp
0
110
自然言語処理研究室 研究概要(2014年)
jnlp
0
140
自然言語処理研究室 研究概要(2015年)
jnlp
0
220
Other Decks in Education
See All in Education
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
10
11k
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
2.9k
外国籍エンジニアの挑戦・新卒半年後、気づきと成長の物語
hypebeans
0
740
卒論の書き方 / Happy Writing
kaityo256
PRO
54
28k
Node-REDで広がるプログラミング教育の可能性
ueponx
1
270
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
AIでキミの未来はどう変わる?
behomazn
0
110
Leveraging LLMs for student feedback in introductory data science courses (Stats Up AI)
minecr
1
180
悩める リーダー達に 届けたい書籍|レジリエントマネジメント 書籍イントロダクション-260126
mimoza60
0
330
滑空スポーツ講習会2025(実技講習)EMFT学科講習資料/JSA EMFT 2025
jsaseminar
0
240
HyRead2526
cbtlibrary
0
200
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
18k
Featured
See All Featured
Scaling GitHub
holman
464
140k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
53
A Modern Web Designer's Workflow
chriscoyier
698
190k
Designing Powerful Visuals for Engaging Learning
tmiket
0
240
Side Projects
sachag
455
43k
Raft: Consensus for Rubyists
vanstee
141
7.3k
The untapped power of vector embeddings
frankvandijk
1
1.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Transcript
(c)長岡技術科学大学 電気系 1 データベースと応用システム SQL(1) ~表の作成と整合性制約~ 山本和英 長岡技術科学大学 電気系
(c)長岡技術科学大学 電気系 2 SQLの概要 • IBMが開発した関係データモデルに基づくデータ ベース言語 • JIS規格(JIS X
3005) • ほとんどのRDBMSで採用されている • アクセスだけでなくテーブルなどの管理機能も標 準化されている • 条件を満たすデータに対して一括処理が可能
(c)長岡技術科学大学 電気系 3 SQLの2言語 • データ定義言語(Data Definition Language, DDL) –
テーブルやビューの作成、権限の定義 – CREATE, DROP, GRANT, REVOKE など • データ操作言語(Data Manipulation Language, DML) – データの参照・更新・追加・削除など – SELECT, UPDATE, INSERT, DELETE など ※青字部分をデータ制御言語(Data Control Language, DCL)として3言語とする分類もある。
(c)長岡技術科学大学 電気系 4 表定義 CREATE TABLE 商品 ( 商品コード CHAR(4) PRIMARY
KEY, 商品名 NCHAR(10) NOT NULL, 単価 INT, 仕入先コード CHAR(4), FOREIGN KEY (仕入先コード) REFERENCES (仕入先), CHECK (単価 <= 500) ) 商品コード 商品名 単価 仕入先コード 1320 マウス 300 P200 【商品】
(c)長岡技術科学大学 電気系 5 表定義 CREATE TABLE 商品 ( 商品コード CHAR(4) PRIMARY
KEY, 商品名 NCHAR(10) NOT NULL, 単価 INT, 仕入先コード CHAR(4), FOREIGN KEY (仕入先コード) REFERENCES (仕入先), CHECK (単価 <= 500) ) 商品コード 商品名 単価 仕入先コード 1320 マウス 300 P200 【商品】 主キーである 4文字の文字列 必ず値がある 整数である 【仕入先】の仕入れ先コードが 外部キーである 単価に制約をかける
(c)長岡技術科学大学 電気系 6 表の削除 DROP TABLE テーブル名 例: DROP TABLE
商品
(c)長岡技術科学大学 電気系 7 整合性制約 • データがデータベース管理者の想定している通りに 入力されることを保証するための仕組み • 表定義時に(CREATE文中に)一緒に定義する。 •
テーブルに対しての制約(テーブル制約)とテーブ ル中の列に対しての制約(列制約)がある。
(c)長岡技術科学大学 電気系 8 形式制約 入力するデータの型(数字/文字)や文字数(桁)を 指定する。 • 数値型 – INT:大整数、SMALLINT:小整数、NUMERIC(n,m):全
桁数nで小数点以下m桁、DECIMAL:NUMERICと同じ • 文字列型 – CHAR(n):固定長文字列n桁(nは省略可能) – VARCHAR(n):可変長文字列n桁(nは省略可能) • 日付型 – DATE:年月日、TIMESTAMP:年月日と時刻
(c)長岡技術科学大学 電気系 9 デフォルト値 • データを追加する時に値を指定しないと、この値が 設定される。 ... 電話番号 CHAR(15)
DEFAULT '0258-46-6000', ... ※デフォルト値は整合性制約ではないが、記述方法が同じ ためここで紹介しています。
(c)長岡技術科学大学 電気系 10 非ナル(NOT NULL)制約 • ある列にNULL値が入らないようにする。 ... 電話番号 CHAR(15)
NOT NULL, ...
(c)長岡技術科学大学 電気系 11 一意性(UNIQUE)制約 • 指定列が一意である (=同一なものが存在 しない)ことを強制す る。 •
列に対して: ... 電話番号 UNIQUE, ... • テーブルに対して: CREATE TABLE 商品 (商品名 NCHAR(20), … UNIQUE(商品名), ...
(c)長岡技術科学大学 電気系 12 主キー制約 • 指定した列、または列の 組み合わせに一つだけ主 キーとしての指定をする。 • 主キー制約
= 一意性制 約 + 非ナル制約 • 列制約: CREATE TABLE 受注 (受注ID CHAR(5) PRIMARY KEY, … • テーブル制約 CREATE TABLE 受注明細 (受注ID CHAR(5), 連番 CHAR(2), ... PRIMARY KEY(受注ID, 連番), …
(c)長岡技術科学大学 電気系 13 検査(CHECK)制約 • 指定した列の内容に条件 を加える。 • 列制約: ...
単価 INT CHECK(単価>=100), ... • テーブル制約 CREATE TABLE 商品 (単価 INT, ... CHECK(単価>=100) ...
(c)長岡技術科学大学 電気系 14 参照制約(外部キー制約) • 複数の表に参照関係がある場合の制約。以下、A 表のある列がB表のある列を参照しているとする。 • A表にデータを追加する際はB表にある値かNULLし か追加できない
• B表のデータを削除や更新する際は、A表にその値 が存在しない時にのみ可能となる
(c)長岡技術科学大学 電気系 15 参照制約の例 • 列制約: CREATE TABLE 受注 (得意先ID
CHAR(5) REFERENCES 得意先(得 意先ID), ... • テーブル制約 CREATE TABLE 受注 (得意先ID CHAR(5), ... FOREIGN KEY (得意先 ID) REFERENCES 得意先(得 意先ID), ...
(c)長岡技術科学大学 電気系 16 参照制約:オプション • NO ACTION – 参照元にあると参照先を削除・更新できない –
デフォルト • CASCADE – 参照元にあると参照先も連携して削除する • SET NULL – 参照元にあると参照先も連携して削除し、参照元の列 にNULLを設定する
(c)長岡技術科学大学 電気系 17 参照制約オプションの例 CREATE TABLE 受注 (得意先ID CHAR(5), ...
FOREIGN KEY (得意先ID) REFERENCES 得意先(得意先ID), ON DELETE SET NULL ...
(c)長岡技術科学大学 電気系 18 その他の制約 • 存在制約 – あるデータが存在するためには、別のデータが必要で ある •
更新制約 – 値を更新する場合、適当な値を入力しなければならな い(例:月の欄は1~12) • 表明 – 複数の表にまたがる複雑な制約を定義できる