MVTS-NET.COM

Category: 未分類

Database09 解答

課題一覧

問題を開始するにあたり、サーバ(ZPC) は管理者権限、クライアント(DellPC) は各自のユーザー権限でログインすること。以後、管理者の操作(権限の発行等) はサーバ側(ZPC) から、今回作成する各自のユーザー権限の操作はクライアント(DellPC) から行うこととする。
また、今回の実習ではサーバ、クライアントともにクエリを実行する。IPMessenger が非常に便利なのでインストールしておくことを薦める。

  1. 各自のユーザー権限のログインアカウントを作成する。最初にこのユーザーがログインできないことを確認しなさい。その後ログインアカウントを作成して、再度ログインできるか確認しなさい。
  2. 各自のユーザー権限に通常実習で使用しているデータベースの接続許可をあたえる。最初にこのユーザーがデータベースに接続できないことを確認しなさい(確認にはUSE…を使用)。その後接続許可を与えて、再度接続できるか確認しなさい。
  3. 各自のユーザー権限で生産表のデータを全て表示させるコマンドを発行した後、テーブルのオブジェクト権限を確認しなさい。
    オブジェクト権限の確認については使用するデータベース内で

    EXEC sp_helprotect NULL, 'MVTS-NET¥bell-tree'

    で確認すること。

  4. 生産表について各自のユーザー権限にSELECT 権限を付与し、テーブルのオブジェクト権限を確認しなさい。
  5. 各自のユーザー権限で生産表にデータ(‘F5′,’S2′,20,’Matsuyama’) を挿入するコマンドを発行し、それが成功したかどうか全データを表示させることで確認しなさい。
  6. 生産表について各自のユーザー権限にINSERT 権限を付与し、テーブルのオブジェクト権限を確認しなさい。
  7. 各自のユーザー権限で生産表にデータ(‘F5′,’S2′,20,’Matsuyama’) を挿入するコマンドを発行し、それが成功したかどうか確認しなさい。
  8. 各自のユーザー権限に製品表に対する全権限を付与し、オブジェクト権限を確認しなさい。
  9. 各自のユーザー権限を使用して、鈴木のサーバ(ISCSV00) へログインしなさい。
  10. 「MVTS-NET¥isc11users」グループ(各自のユーザー権限は「MVTS-NET¥isc10users」グループに含まれる)におけるsuzuki DB の在庫表のオブジェクト権限について確認しなさい。
  11. 全てのコマンドを実行し、reset.sql を使用してデータを元の状態に戻しておく。

Continue reading

Database08 解答

課題一覧

  1. トランザクションの開始を宣言した後、生産表から製品番号S1 のデータを削除し、SELECT 文によって削除が成功していることを確認しなさい。更にトランザクションをロールバックし、生産表の製品
    番号S1 のデータがどうなったか確認しなさい。
  2. トランザクションの開始を宣言した後、生産表から製品番号S1 のデータを削除し、SELECT 文によって削除が成功していることを確認しなさい。更にトランザクションをコミットし、生産表の製品番号S1 のデータがどうなったか確認しなさい。
  3. データを前実習で作ったreset.sql により初期化し、SSMSE でクエリウィンドウを新たに1 つ開く(最初に開いてあったクエリウィンドウQuery1、新たに開いたものをQuery2 と呼ぶことにする。)。両クエリで表2 のデッドロック操作を行え(Query1 でTRANSACTION 1 を行い、Query2 でTRANSACTION2 を行うこと)。ロールバックさせられるのはTRANSACTION 1 か、2 のどちらか。
    確認の後、両トランザクションをロールバックしなさい。
  4. 表2 のデッドロック操作において、TRANSACTION 2 をBEGIN した直後に、生産表の全データを表示させる、クエリを実行しなさい。
    その後、TRANSACTION 1 をコミットしなさい。どのようになるか答えなさい。
  5. データを前実習で作ったreset.sql により初期化し、製品表の全カラム、全データを単価の高い順に持つカーソルcur_seihin を定義しなさい。
  6. cur_seihin からデータを1 つずつ、計3 個取り出せ。その後、そこから3 つ後のデータを取り出せ。さらに前方に向かって(PRIOR)cur_seihin からデータを1 つずつ、計3 個取り出しなさい。
  7. cur_seihin を閉じ、削除しなさい。
  8. 生産表の工場番号と工場住所を重複なく(工場番号を重複なく表示すれば工場住所は重複ないものとする)、工場番号順に持つカーソルを2 つ定義しなさい(同じもの)。
  9. cur_seisan1、cur_seisan2 を定義後、工場番号F1 のデータをF9 に変更した場合(cur_seisan1 についてはOPEN 後、cur_seisan2 についてはOPEN 前に変更)、FETCH によって取り出されるデータの違いについて(実際に全データを順に取り出し、なぜそうなるか) 答えなさい。また、cur_seisan1、cur_seisan2 を閉じ、削除しなさい。
  10. 名古屋で在庫している製品の製品番号とそれを生産している工場番号からなるカーソルcur_nagoya を定義し、データを1 つずつ最後まで自動的に取り出すFETCH 文を実行しなさい。また、cur_nagoyaを閉じ、削除しなさい。
  11. 全てのコマンドを実行した後、reset.sql を使用してデータを元の状態に戻しておく

Continue reading

Copyright © 2019 MVTS-NET.COM

Theme by Anders NorenUp ↑