Download presentation
Presentation is loading. Please wait.
1
SQL データベース論 第11回
2
きょうの内容 SQLの概要を知る。
3
リレーショナルデータベースの仕組み 「データベース」は、「テーブル」から構成される 「テーブル」は、「行」から構成される
「行」は、「項目」から構成される no title author publisher 42377 伽藍とバザール 山形浩生訳 光芒社 42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク
4
SQL リレーショナルデータベースを操作するための言語。
5
テーブルの作成 (1) create table テーブル名 ( 項目名 データ型, ..... );
6
テーブルの作成 (2) create table books ( ndc varchar(10),
tyosya_hyouji varchar(2), id int, title varchar(50), author varchar(50), publisher varchar(30), constraint pk_books primary key(id) );
7
データ型 データにはSQL標準の型がある。 他にも、データベースごとに独自のデータ型がある。 char(n) 固定長の文字列 (長さ n)
varchar(n) 可変長の文字列 (長さ n) int 符号付き整数 float(p) 浮動小数点 (p は精度) date 日付 time 時刻 他にも、データベースごとに独自のデータ型がある。
8
制約 (1) 制約とは何か テーブルの項目に入る値の条件 制約には2通りある。 列制約 ひとつの列に制約を加える
テーブル制約 複数の列に同時に制約を加える
9
制約 (2) 主キー制約 主キーを指定する 列制約 create table books ( ndc varchar(10),
tyosya_hyouji varchar(2), id int primary key, title varchar(50), author varchar(50), publisher varchar(30) ); テーブル制約 create table books ( ndc varchar(10), tyosya_hyouji varchar(2), id int, title varchar(50), author varchar(50), publisher varchar(30), primary key (id) );
10
制約 (3) not null 制約 列に null を許さない
create table books ( ..... title varchar(50) not null, );
11
制約 (4) unique 制約 データの重複を許さない
create table students ( ..... varchar(50) unique, );
12
制約 (5) check 制約 指定した論理式をチェック
create table books ( ..... id int check (0 <= id and id < ), );
13
制約 (6) 制約名 (列制約) create table books ( ndc varchar(10),
制約 (6) 制約名 (列制約) create table books ( ndc varchar(10), tyosya_hyouji varchar(2), id int constraint pk_books primary key, title varchar(50), author varchar(50), publisher varchar(30) );
14
制約 (7) 制約名 (テーブル制約) create table books ( ndc varchar(10),
制約 (7) 制約名 (テーブル制約) create table books ( ndc varchar(10), tyosya_hyouji varchar(2), id int, title varchar(50), author varchar(50), publisher varchar(30), constraint pk_books primary key (id), constraint check_id check (0 <= id and id < ) );
15
制約 (8) 外部キーの設定 (1) create table テーブル名 ( 項目名 データ型 .....
項目名 データ型 ..... constraint 制約名 foreign key(項目名) references 参照テーブル名(項目名) );
16
制約 (9) 外部キーの設定 (2) create table books (
id int constraint pk_books primary key, ..... ); create table keywords ( id int, keyword varchar(30), constraint fk_id foreign key(id) references books(id)
17
テーブルの削除 drop table テーブル名 例) drop table books;
18
データの検索 (1) select 項目のリスト from テーブルのリスト where 検索条件
19
データの検索 (2) select title from books; select id, title from books;
テーブル books 中のすべてのデータから、title という項目を取り出す select id, title from books; テーブル books 中のすべてのデータから、id と title という2つの項目を取り出す select * from books; テーブル books 中のすべてのデータから、すべての項目を取り出す
20
データの検索 (3) select id, title from books where id < 30000;
select title, publisher from books where publisher = ‘八千代出版’; 出版社が「八千代出版」のものを検索
21
データの検索 (4) select id, title from books
where <= id and id < 43000; Id が 以上かつ 未満のものを検索 where between and 43000; こう書くこともできる
22
データの検索 (5) select title, author, publisher from books
where publisher = ‘群像社’ or publisher = '八千代出版'; 出版社が「群像社」か「八千代出版」のものを検索
23
データの検索 (6) select title from books where title like 'Java%';
24
データの検索 (7) select title from books
where title like '%Java%' or title like '%Perl%'; タイトルに「Java」か「Perl」を含む本を検索
25
データの検索 (8) あるタイトルの本のキーワードを知りたい。 テーブルは正規化によって分割されている。 no タイトル 著者 出版社
42872 Java言語で学ぶデザインパターン入門 結城浩 著 ソフトパンク no keyword 42672 Java デザインパターン あるタイトルの本のキーワードを知りたい。 テーブルは正規化によって分割されている。
26
データの検索 (9) 複数のテーブルを使う場合、項目名の指定は次の形になる。
テーブル名.項目名 検索条件として、それぞれのテーブルの id が一致している必要がある。 select books.title, keywords.keyword from books, keywords where books.id = keywords.id
27
データの登録 insert into テーブル名 values (値1, 値2, ...) 例)
insert into books values ( '361', 'M', '41439', '情報メディア論', '丸山不二夫 編著', '八千代出版' );
28
データの更新 update テーブル名 set 項目名 = 式 where 更新条件 例) update books
set author = '丸山不二夫 編著 / 植田龍男 ほか著' where id = '41439';
29
データの削除 delete from テーブル名 where 削除条件 例)
delete from books where id = '41439';
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.