投稿

1月, 2021の投稿を表示しています

1月22日(金)2コマ目

今日、やったこと 確認テスト(おもにview) 今日の確認テスト 解答例をあげときます。 問1 とくにややこしいところはないと思います。 CREATE OR REPLACE VIEW 蔵書一覧(蔵書ID, 蔵書名, ジャンル名) AS SELECT 蔵書マスタ.ID, 蔵書マスタ.タイトル, ジャンルマスタ.ジャンル名 FROM 蔵書マスタ, ジャンルマスタ WHERE 蔵書マスタ.ジャンルID = ジャンルマスタ.ID; 問2 未返却=返却日列がnull です。 ヒントに書いてますが、「xx列がnull」はwhere句で xx is null です。nullか否かの判断には残念ながら=は使えません。 create or replace view 貸出中一覧(貸出ID, 会員名, 蔵書名, 貸出日) as select 貸出.ID, 会員マスタ.名前, 蔵書マスタ.タイトル, 貸出詳細.貸出日 from 蔵書マスタ, 会員マスタ, 貸出, 貸出詳細 where 会員マスタ.ID=貸出.会員ID and 貸出.ID=貸出詳細.貸出ID and  蔵書マスタ.ID=貸出詳細.蔵書ID and  貸出詳細.返却日 is null; 問3 またまた未返却が出てきます。 create or replace view ジャンル別貸出中蔵書数(ジャンル名, 貸出冊数) as select ジャンルマスタ.ジャンル名, count(*) from ジャンルマスタ, 蔵書マスタ, 貸出詳細 where ジャンルマスタ.ID=蔵書マスタ.ジャンルID and  蔵書マスタ.ID=貸出詳細.蔵書ID and 返却日 is null group by ジャンルマスタ.ジャンル名; 問4 create or replace view 会員別貸出中蔵書数(会員名, 貸出蔵書冊数) as select 会員マスタ.名前, count(*) from 会員マスタ, 貸出, 貸出詳細 where 会員マスタ.ID=貸出.会員ID and 貸出.ID=貸出詳細.貸出ID gro...

1月15日(金)2コマ目

今日、やったこと ビューのおさらい課題 その1、その2 今日の課題 解答例をあげておきます。 ビューのおさらい課題 その1 テーブル作成 商品マスタ create table 商品マスタ( ID number(2), 商品名  nvarchar2(64) not null, 定価 number(5), constraint pk_商品 primary key(ID), constraint chk_商品定価 check(定価>=0) ); 顧客マスタ create table 顧客マスタ( ID number(2), 氏名 nvarchar2(64) not null, constraint pk_顧客 primary key(ID) ); 売上データ create table 売上データ( ID number(4), 商品ID number(2), 顧客ID number(2), 数量 number(4), 売上日 date, constraint pk_売上データ primary key(ID, 商品ID), constraint fk_売上_商品 foreign key(商品ID) references 商品マスタ(ID), constraint fk_売上_顧客 foreign key(顧客ID) references 顧客マスタ(ID), constraint chk_売上数量 check(数量 >= 0) ); ビュー作成 商品別販売回数 create or replace view 商品別販売回数(商品名, 販売回数) as  select 商品名, count(*)  from 商品マスタ, 売上データ where 商品マスタ.ID=売上データ.商品ID group by 商品名; 顧客別商品購入回数 create or replace view 顧客別商品購入回数(顧客名, 商品名, 購入回数) as  select 氏名, 商品名, count(*) from 商品マスタ, 顧客マスタ, 売上データ where 商品マスタ.ID=売上データ.商品ID and 顧客マスタ.ID=売上データ.顧客ID group by 氏名, 商品名 order by 氏名, 商品名; 商品別販売...