野鳥データベースシステム作り始める。(4)
データベースの構造について
アドレスが変わりましたのでデータベースが見たい方はこちらです。
http://www.kurionesan.com/birds_db/
FREEのデータベースエンジンにはPotageSqlやmysql、SqlLiteなどがあります。データベースの構造が簡単なSqlLiteを使いたかったのですがセットアップが良くわからなかったので既にセットアップしてあるMySqlを使ってます。このブログのデータベースエンジンはSqlLiteなのに変ですよね。(笑)
でも、Mysqlは商用のオラクルエンジンやSQLサーバーと比べて、機能的に劣る部分もあるようですが趣味の世界で使うのは十分すぎる機能をもっています。普通に使う分には商用データベースエンジンなどは必要ありませんね。これがFREEで使えるのですから凄いです!
データベースはテーブルの構造とテーブルのリレーション関係などをきめていくのですが今回は単純にテーブルだけを作っています。当然、リレーション関係の定義もしていません。
トランザクション処理もするつもりもありません。趣味の世界ですからデータの不整合があっても被害はありませんかんら・・・・
データテーブルは野鳥基礎データテーブルとLifeListテーブルの2つだけです。
ただ、基礎データテーブルの項目は最終的にどうするのかは固まっていません。
もちろん、LifeListについても流動的です。増やしたい項目は沢山有るのですが項目を増やすとその分だけデータの入力項目が増えてしまうのでとてもデータを入れる自信が無いんですよ。
現在の基礎データテーブルは平凡社出版「日本の野鳥590」を参考にして有り、レッドデータなどの項目も入れてありますが使っていません。そのほかにはLifeListフラグ、Index画像、データ更新日付を付加してます。
基礎データテーブルのエディタ画面は2画面あって、基礎情報入力専用と全てのデータ入力用です。
(この画面は基礎情報入力専用画面)
(基礎データテーブル全データ入力用画面)
LifeListテーブルの項目は下記項目のみで学術的な項目は付加していません。良く解らないと言う事が正しいのですが。あくまでも写真の掲載をメインとしています。
(名前、画像ファイル形式、画像ファイル名、画像データ、見た日付、見た場所、見た状況、撮影機材、データ入力日付、公開非公開フラグ)
(LifeList入力画面)
LifeListのエディタには公開非公開のフラグがあり、これを非公開にするとINDEX画面ではLifelist画面は見れなくなります。
また、この情報が編集されると自動的にINDEX画面に(NEW)のマークと更新日付が付加されます。
最終更新日から30日以上経過するとこのマークは表示されません。
こんなとこかな??
EXIF情報については画像データにEXIFが入っていれば、PHPの関数でEXIF情報を読み取れるのですがデータベースから直接、PHPの関数では読めないので今回は見送りにしています。EXIFのデータ構造はわかっているのでプログラムを組むだけなのですがこれは後回しです。
とにかく、データをシコシコと打ち込まなくてはならないので今回はここまで

