基本的なSQL命令のための集約関数などの追加を説明のうえ、演習課題に取り組んでもらう。来週も後半を演習時間とする予定。節の中で使える特殊な条件演算子を紹介する。射影部分で使える関数で、出力対象となった項目に対して、COUNT(),SUM(),AVG()といった計算を行うもの。集合差などの処理を行う。'東京'実験環境で集合計算(学内のみ)演習課題SQLの実験環境を使って、自分で考えたSQLの命令を2つ実行すること。実行した命令とその意味を説明し、出力された結果と一致することを確認すること。この実行と同じ結果が出力される様なC言語のプログラムを作成し、おなじく結果を確認すること。サンプルプログラム考察として、SQLで書いたプログラムとCで書いたプログラムの違いや便利な点や、Cでのプログラムの速度を早めるにはどう書くと良いかを比較検討すること。表す処理で構成されることを示した。言語で書いたらどうなるのかを示す。データを構造体宣言で書いてみる。テーブルは省略可能である。直積と結合処理ここで、SQLの最も便利な機能は、直積による結合処理。複数の表を組み合わせる処理。単純な表形式の関係データベースで、複雑なデータを表現できる基本機能となっている。節に複数のテーブルを書くと、それぞれのテーブルの直積(要素の全ての組み合わせ)を生成する処理が行われる。この機能が結合となる。ような選択を記載する。最後に、結果として欲しいデータを抽出する射影を記載する。printfの表示内容が射影に相当している。射影の処理では、データの一部分を抽出することから、1件の抽出レコードが同じになることもある。使われていると、昇順に処理が行われない場合も多い。記載する直積のための結合では、2つ以上のテーブルを指定しても良い。言語のプログラムを書き換えると、以下のように表せる。}}このような、複数の表の実体と関係を対応付けた検索を、データベースの専門の人は「データを串刺しにする」という言い方をすることも多い。このようなイメージの繰り返し処理を、数行で分かりやすく記述できている。プライマリキーなら、B木やハッシュなどを用いた検索が行われるが、SQLの記述するときにはあまり考えなくて良い。SQLの副問い合せ前節の結合処理は時として効率が悪い。このような場合は、副問い合わせを用いる場合も多い。比較演算子は、◯が{...}の中に含まれていれば、真となる。中が副問い合わせである。関係する要素が含まれない。この場合、副問い合わせ(商品番号がG2で在庫量が200以上)は先に実行される。{(S1,G2,200),(S2,G2,400),(S3,G2,200),(S4,G2,200)}が該当し、その業者番号の{S1,S2,S3,S4}が副問い合わせの結果となる。含まれており、単純に()内を先に実行することはできない。いった副問い合わせは、相関副問い合わせと呼ばれる。WHERE節の判定を行う。WHERE節の選択で残った結果について、射影で商品名,色,価格が抽出される。先週の、関係データベースの導入説明を終えて、実際のSQLの説明。表形式のテーブルの中の各レコードを一意的に指定できるカラムはキーと呼ばれる。キーは単独であるとは限らず、成績の評価結果であれば、学生と科目をキーとして成績というカラムが1つに絞られる場合もある。キーのうち、データを一意に識別するためのキーは、プライマリーキーと呼ばれる。プライマリーキーである。学生,科目のキーとなっている。このようなキーは外部キーと呼ばれる。学生のテーブルに存在しないものが指定されてはいけない。いった制約は外部キー制約と呼ばれる。使われる命令は、以下のものに分類される。Language)で行う。"パスワード"grantテーブルに対する権限を与える命令。データベースシステム全体に関わる権限をユーザに与える。作られたテーブルなどのオブジェクトに関する権限を与える。オブジェクトへの権限を剥奪する。table実際にテーブルを宣言する命令。構造体の宣言みたいなものと捉えると分かりやすい。KEY(要素名,...)をつける。これによりKEYに指定した物は、重複した値を格納できない。型には、以下の様なものがある。要素に対応する値をそれぞれ代入する。指定した条件の列の値を更新する。指定した条件の列を削除する。(3)複数のテーブルの直積を処理する結合から構成される。;理解確認キー・プライマリキー・外部キーについて説明せよ。select文における、射影,結合,選択について説明せよ。改良して、ユーザ名を入力してもらい、その名前のデータを表示するプログラムに改造する。年齢を入力したら、指定した年齢以上の人のデータを表示するプログラムに改良する。先週の、関係データベースの導入説明を終えて、実際のSQLの説明。表形式のテーブルの中の各レコードを一意的に指定できるカラムはキーと呼ばれる。キーは単独であるとは限らず、成績の評価結果であれば、学生と科目をキーとして成績というカラムが1つに絞られる場合もある。キーのうち、データを一意に識別するためのキーは、プライマリーキーと呼ばれる。プライマリーキーである。学生,科目のキーとなっている。このようなキーは外部キーと呼ばれる。学生のテーブルに存在しないものが指定されてはいけない。いった制約は外部キー制約と呼ばれる。使われる命令は、以下のものに分類される。Language)で行う。"パスワード"grantテーブルに対する権限を与える命令。データベースシステム全体に関わる権限をユーザに与える。作られたテーブルなどのオブジェクトに関する権限を与える。オブジェクトへの権限を剥奪する。table実際にテーブルを宣言する命令。構造体の宣言みたいなものと捉えると分かりやすい。KEY(要素名,...)をつける。これによりKEYに指定した物は、重複した値を格納できない。型には、以下の様なものがある。要素に対応する値をそれぞれ代入する。指定した条件の列の値を更新する。指定した条件の列を削除する。(3)複数のテーブルの直積を処理する結合から構成される。;理解確認キー・プライマリキー・外部キーについて説明せよ。先週のPHPの予備実験に引き続き、データベースの説明とそのプログラムで演習を行う。miniOrange。