B木とB+木とハッシュ法
データベースでは、キーなどの値を高速に探し出すために、単純なデータが並んだだけのテーブルとは別に、検索専用のデータ構造を別に持たせることが多い。これらの検索用のデータは、インデックスファイルと呼ばれる。 以下に、データベ […]
トランザクション処理
トランザクション処理 トランザクション処理とは、相互に依存関係にある複数の処理を矛盾なく処理することであり、データベースでは、ACID特性(原子性,一貫性,隔離性,耐久性)がもとめられる。この時、直列化可能(様々な順序で […]
データベースの物理設計
データベース後半課題 データベース後半の課題は「卒業研究の対象をデータベースとして設計」とする。 情報系の卒研テーマであれば、処理対象のデータの中にはデータベースで管理するのがふさわしい対象について設計せよ。実験系の卒研 […]
データベースの設計と正規形
データベースの設計において、重要な正規形についての説明 正規形 データベースにおいて、様々な不整合を防ぐために正しい設計が必要であることを 改めて説明し、それには正規形としての条件を満たしている必要があることを説明する。 […]
データベースの設計とER図
データベースの設計 リレーショナル・データベースでは、データは表形式であればなんでも良い訳ではない。 例えば、学生の成績データが以下のような構造であった場合、 ID | name | grade | subject | […]
GROUP BY HAVINGとビューテーブル
GROUP BY HAVING GROUP BY-HAVING では、指定されたカラムについて同じ値を持つレコードがグループ化される。SELECT 文に指定される集約関数は、グループごとに適用される。HAVING は、あ […]
副問合せと相関副問合せと集約関数
SQLの副問い合せ 前節の結合処理は時として効率が悪い。このような場合は、副問い合わせを用いる場合も多い。 SELECT S.業者名, S.所在 FROM S WHERE S.業者番号 IN ( SELECT SG.業者 […]
SQLと結合
前半にSQLの説明の後、後半はSQL実験環境を用いた演習時間とした。 SQLの基礎 前回の講義で、データベースでは、記録されているデータの読み書きは、SQL で行われ、射影・結合・選択を表す処理で構成されることを示した。 […]
SQLの基本
先週の、関係データベースの導入説明を終えて、実際のSQLの説明。 キー 表形式のテーブルの中の各レコードを一意的に指定できるカラムはキーと呼ばれる。 キーは単独であるとは限らず、成績の評価結果であれば、学生と科目をキーと […]
データベースの用語など
データベースの機能 データベースを考える時、利用者の視点で分類すると、(1) データベースの管理者(データベース全体の管理)、(2) 応用プログラマ(SQLなどを使って目的のアプリケーションに合わせた処理を行う)、(3) […]