投稿

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

1月22日(木)3コマ目

イメージ
今日、やったこと [確認テスト 解説]確認テスト2 [練習問題]シーケンス 今日のホワイトボード [確認テスト 解説]確認テスト2 0.必要なテーブル作成 問題にはないが、ビュー作成の際に必要になるテーブルたち。 〇ジャンルマスタ 図 ジャンルマスタテーブル 作成 〇蔵書マスタ 図 蔵書マスタテーブル 作成 〇会員マスタ 図 会員マスタテーブル 作成 問1 貸出データテーブル 作成 図 貸出データテーブル 作成 問2 蔵書一覧ビュー 作成 図 蔵書一覧ビュー 作成 問3 貸出中蔵書数ビュー 作成 図 貸出中蔵書数ビュー 作成 問4 会員別貸出蔵書数ビュー 作成 図 会員別貸出蔵書数ビュー 作成 問5 蔵書別貸出回数ビュー 作成 図 蔵書別貸出回数ビュー 作成 採点して気になったこと うっかりミスだと思うが原点対象なので。 テーブルの結合条件の間違い 結合条件は多くの場合、参照整合性制約のとおり。 うっかりミスだと思いたい。  X where 蔵書マスタ.id=ジャンルマスタ.id  〇 where 蔵書マスタ.ジャンルid=ジャンルマスタ.id 列名のまちがい 問題文を読んでいただければ。会員マスタテーブルには名前列はあるが、氏名列はない。  × select 会員マスタ.氏名  〇 select 会員マスタ.名前  [おねがい]回答の際、改行してほしい どこまでも1行で書かないでほしい。  × create table 貸出データ(会員ID number(6), 蔵書ID char(6), 貸出日 date・・  〇 上記の回答例をみてほしい (前にも話したような気がする)count()関数の使い方 引数が*なら、表全体を見て何行あるか数える。 引数に列名を指定すると、指定列の非nullなら行数をカウント。 図 count()関数 引数は*でほぼことは足りると思う。 次回は テーブル作成+ビュー作成の確認テストその2をやります。 [練習問題]シーケンスのつづき。  

1月15日(木)3コマ目

イメージ
今日、やったこと [確認テスト]確認テスト2 シーケンス 今日のホワイトボード シーケンス シーケンスは、主キーの値のような、オンリーワンになる値を生成したいときに使う。 もし、下図のようなテーブルを作って、新たに主キーの値が必要なときに テーブルロック テーブル検索 検索値+1で更新 テーブルロック解除 を行って値を取得すると、アクセスが集中した場合、ロック解除待ちのユーザーが発生し、アクセス速度が遅くなる。 図 アクセスが集中すると シーケンスはこのようなケースに対応するために用意されたモノ。 シーケンス作成 まず、商品マスタテーブル作成。 図 商品マスタテーブル作成 この商品マスタにデータを登録する際、ID列(=主キー列)の値をシーケンスから採番する。 商品マスタテーブルのID列に新しい値を採番するためのseq_商品IDシーケンスを作成。 図 シーケンス作成 シーケンスから採番する① 商品マスタテーブルに新たに商品を登録する際、ID列の値は作成したseq_商品IDシーケンスから採番する。 図 商品マスタ登録 1件目(ID列はseq_商品IDから採番) シーケンスから採番するには、   シーケンス名.nextval で取得できる。 商品マスタテーブルを検索して、採番された値を確認。 図 商品マスタテーブルを確認 はじめてseq_商品IDから採番したため、初期値の1が採番されている。 シーケンスから採番する② 商品マスタテーブルに2件目のデータを登録する。 このとき、seq_商品IDシーケンスから採番される値は  初期値(=1) + 増分(=1)×1 = 2 となる。 図 商品マスタ登録 2件目(ID列はseq_商品IDから採番) 商品マスタテーブルを検索して、採番された値を確認。 図 商品マスタテーブルを確認 予想通り、ID列には2が登録されている。 直近に採番した値を取得したい 直近に採番した値は   シーケンス名.currval で取得できる。 図 シーケンス名.currvalで直近採番値を取得 [まとめ]シーケンスを使う シーケンスから 新たに値を採番 するには  シーケンス名.nextval  で取得できる。 シーケンスから 直近に採番した値 を取得するには  シーケンス名.currval  で取得できる。 図 シーケンスを使う cycleとnocycl...

1月8日(木)3コマ目

イメージ
今日、やったこと [練習問題]ビューおさらい 今日の練習問題 ユーザー情報 以下のsiroユーザーを作成して、テーブル作成、ビュー作成を行うこと。 図 ユーザー情報 ユーザー作成・システム権限付与 ユーザー作成 図 siroユーザー作成 システム権限付与 図 siroユーザーにシステム権限付与 ここまではsystemユーザーで実行。 ここから先は作成したsiroユーザーで接続して行うこと。 テーブル作成 テーブル名:学生マスタ 図 学生マスタ テーブル作成 テーブル名:授業マスタ 図 授業マスタ テーブル作成 テーブル名:欠席データ 図 欠席データ テーブル作成 ビュー作成 ビュー名:欠席一覧 図 欠席一覧ビュー 作成 ビュー名:学生別欠席時間 図 学生別欠席時間 ビュー作成 ビュー名:学生授業別欠席時間 図 学生授業別欠席時間 ビュー作成 ビュー名:一般教養学生授業別欠席時間 図 一般教養学生授業別欠席時間 ビュー作成 ビュー名:欠席危険学生 図 欠席危険学生 ビュー作成 ビュー名:最多欠席回数学生 図 最多欠席回数学生 ビュー作成 次回は ビューの確認テストをします。