まえがき
本日はテーブルを作成・削除する部分の実装について記載していきます。
- テーブルを作成する(←今回)
- データを挿入する(Done)
- データを取得する(Done)
- データを更新する(Done)
- データを削除する(Done)
- テーブルを削除する(←今回)
テーブルを作成する
テーブルの作成は、テーブル名とカラム名のみ指定できます。カラムのドメインやPK、制約などは設定できません。テーブル作成時は、テーブル名やカラム名をあとから参照したりできるようシステムテーブルに登録します。Oracleを真似て、ms_tablesとms_tab_columnsにテーブル名とカラム名をそれぞれ登録します。
したがって、テーブル作成は下記の手順になります。
- データを入れるためのオブジェクトを作成する
- ms_tablesというシステムテーブルに登録する
- 各カラムごとにカラムインデックスを入れるためのオブジェクトを作成する
- ms_tab_columnsというシステムテーブルにカラムを登録する
テーブルを削除する
テーブルの作成とは反対に、テーブル削除は下記の手順になります。
- ms_tablesからテーブル情報を削除する
- テーブルデータを入れるオブジェクトを削除する
- 削除するテーブルに定義されたカラムを全てms_tab_columnsから削除する
- カラムインデックスを削除する
まとめ
テーブルの作成・削除は特に難しいところはないですね。
明日はシンプルデータベースのソースを公開します。Erlang得意な人はぜひ指摘をお願いします。
明後日はシンプルデータベースに対して命令を出すクライアントソースについて説明し、シンプルデータベースのテストをし、性能を測っていきたいと思います。