コース情報のビュー

SQLBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、MySQL におけるデータベースビューの作成と使用方法を学びます。データベースビューは、仮想テーブルであり、基になるデータのカスタマイズされた視点を提供し、特定のデータ処理をユーザーに隠し、データアクセスを簡素化します。

👀 プレビュー

MariaDB [edusys]> SELECT * FROM comp_spring_2018_taylor;
+-----------+-------------+
| course_id | room_number |
+-----------+-------------+
| CS-319    | 3128        |
+-----------+-------------+
1 row in set (0.00 sec)

🎯 タスク

このプロジェクトでは、以下を学びます。

  • MySQL サーバーを起動し、データベースをインポートする方法
  • 特定の学期、場所、学部で提供されるすべての主要コースの教室番号を表示するビューを定義する方法
  • 前のビューの結果をフィルタリングして、特定の建物にあるコースのみを含めるビューを定義する方法

🏆 成果

このプロジェクトを完了すると、以下ができるようになります。

  • データベースビューの概念と利点を理解する
  • データアクセスを簡素化し、不要な複雑さを隠すためのカスタムビューを作成する
  • SQL クエリの知識を適用して、実際のシナリオでビューを定義して使用する

MySQL を起動してデータベースをインポートする

このステップでは、MySQL サーバーを起動してedusys.sqlデータベースをインポートする方法を学びます。

  1. 次のコマンドを使用して MySQL サーバーを起動します。
sudo service mysql start
  1. 次のコマンドを使用して MySQL コマンドラインインターフェイスにアクセスします。
sudo mysql
  1. 次のコマンドを使用してedusys.sqlデータベースをインポートします。
source /home/labex/project/edusys.sql;

これにより、edusysデータベースが MySQL サーバーにインポートされます。

comp_spring_2018 ビューを定義する

このステップでは、comp_spring_2018 ビューを定義する方法を学びます。

  1. ~/project ディレクトリに comp_spring_2018_taylor.sql ファイルを作成します。
  2. 次の SQL クエリを使用して comp_spring_2018 ビューを作成するためのコードをファイルに追加します。
CREATE VIEW comp_spring_2018 AS
SELECT course.course_id, building, room_number
FROM section, course
WHERE course.course_id = section.course_id AND semester = 'Spring' AND year = 2018 AND dept_name = 'Comp. Sci.';

このビューは、2018 年の春学期に「情報科学」学科が提供するすべてのコースの course_id建物、および 教室番号 を表示します。

comp_spring_2018_taylor ビューを定義する

このステップでは、comp_spring_2018_taylor ビューを定義する方法を学びます。

  1. comp_spring_2018_taylor.sql ファイルを開きます。
  2. 前のステップで追加したコードの後に、次の SQL クエリを使用して comp_spring_2018_taylor ビューを作成します。
CREATE VIEW comp_spring_2018_taylor AS
SELECT course_id, room_number
FROM comp_spring_2018
WHERE building = 'Taylor';

このビューは、2018 年の春学期に「情報科学」学科が提供し、「テイラー」ビルにあるすべてのコースの course_idroom_number を表示します。

ソリューションを検証する

ソリューションを検証するには、次の SQL クエリを実行できます。

source /home/labex/project/comp_spring_2018_taylor.sql;
SELECT * FROM comp_spring_2018_taylor;

これにより、次の出力が表示されるはずです。

+-----------+-------------+
| course_id | room_number |
+-----------+-------------+
| CS-319    | 3128        |
+-----------+-------------+
1 row in set (0.00 sec)

おめでとうございます!あなたはこのプロジェクトを成功裏に完了しました。

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習