現在、Open Hammerheadで仮の植物写真集をデータベース形式で登録しています。これらの写真集を基に、Web検索図鑑の作成をするつもりです。
Open Hammerheadでは、検索条件をラジオボタンやチェックボックスで固定表示させる事ができないため、それが可能なデータベースを容易に作れそうなツールを探していて、検索からWeb表示まで統合環境で作成できるCMONOS.JPに辿り着きました。
現在は、ImageMagickが使える、レンタルサーバーに申し込み中で、CMONOS.JPを稼働させるまでに至っていませんので、マニュアルやフォーラムなどでどういうテーブルを作るのが良いかを調べている最中です。
前置きが長くなりましたが、テーブル項目とレコードの作り方で、適切な手段をご教授戴きたいと思います。
具体的な検索項目の一つですが、「草丈・樹高」という検索項目で、「20cm以下」、「20-50cm」、・・・、「4m以上」、「蔓(つる)」、「水中または水面」という条件選択項目があります。
実際の図鑑では、草丈が30cmから80cmというような者も多く、2つの条件にマッチします。これを検索しやすいテーブル構造にするのには、フィールド構成をどうするのが良いでしょうか?
例えば、草丈:20-50cmというフィールドが必要になりますか? もしそうであれば、レコードの内容はYes/Noを示すものだけになります。
「草丈・樹高」というフィールドだけで良いとしたら、草丈が30-80cmの場合、「20-50cm」と「50-1m」がマッチ条件になりますので、その両者をレコードに記述します。ただし、厳密には「草丈・樹高」にはならない、「蔓」なども対象にしたいのです。
他の検索項目でも、生育地域:北海道、東北地方、・・、小笠原といった項目などを挙げたいので、それぞれをフィールドに設定するとフィールド数が非常に多くなります。この生育地域の場合、沖縄・小笠原を除く日本全土という様なケースもあります。フィールドが「生育地域」で良いなら、該当レコードには、地域名を列挙することになります。
1からプログラミングして、最も効率的なテーブルを作れるならそれぞれの検索条件のYes/Noをビット割付にして、数値でテーブルに登録するのが良いでしょうが、それが出来る力量はありません(^^;
設定可能なフィールド属性の「選択ボタン」を見落としていました。これで項目から「どれか一つ」でも「これ」と「これ」と「・・・」のどれかのどちらでも検索できるということでしょうか?
ご質問ありがとうございます。
これまでお使いのウェブデータベースの仕様がわかりませんので、おっしゃっていることがいまひとつ把握しきれていない部分がありますことをあらかじめお詫びいたします。
草丈に関しては、「範囲」フィールドタイプをお使いになるとよいように思いました。ただし、単位を統一する必要がありますのでご注意ください。
80cm-1m という設定はできません。80cm-100cm でしたら可能です。
蔓の扱いについては、想定されている挙動がよくわかりませんでした。。。
生育地域については、「選択ボタン」フィールドタイプを「チェックボックス」で使用すると、複数の項目を選択できます。「メニュー」フィールドタイプでもよいと思います。
以上参考になりましたら幸いです。
ご回答、有り難うございます。
「蔓」に付いては、長さは1m位とか言えても、草丈1mとは言えません。藤や蔦などは長さも5m以上とかいうことになってしまうため、「草丈・樹高」フィールドの中で定義できないものの集合の一つと捉えて選択肢を用意することにしました。なお、選択肢は単位指定を外し、文字列の中で50cm-1mというような記述にします。
2点程、追加でお聞きしたいことがあります。
最後に、mySQLなどの汎用データベースを使うにしても、YES/NOをビット割付で数値化してデータ格納を行ったとき、チェックボックス指定で検索をおこなうためのクエリを生成するプログラム作りが厄介だなと想像していましたが、それに相当する部分も含めてテーブルに格納できることは、驚きでした。このような開発環境を提供して戴けることは感謝至極です。
データベースへの登録とWeb表示のシステム作りよりも、格納する中身作りに時間を割きたいので。
ご返信ありがとうございます。
CMONOS.JP には変わったフィールドタイプが用意されていますので、またインストールされましたらいろいろとお試しいただければと思います。
- CSVファイルでデータをアップロードするとしたら、レコード内でのフィールドのセパレータ(セル内での項目のセパレータ)は何を使えば良いのですか。
改行になります。Excelのセル内で改行したものを CSV に書き出すと、おそらく項目ごとにダブルクォートで囲まれると思います。CMONOS.JP はExcelが書き出す CSV の読み込み/書き出しに対応しています。
- デフォルトでキーに設定したフィールドでソート表示としておけばレコードの追加時期とは無関係に挿入が行われた表示が出来ると理解して良いのでしょうか?
はい。そうなります。
弊社プロダクトがお役に立てましたら光栄です。
ただ、CMONOS.JP のテーブルメーカーは、単純にひとつひとつマッチするかどうかレコードを順番に見ていきます。
一カテゴリーあたり万単位のレコードを扱うようになると動作が重くなると思います。またアクセスが多いサイトでも使用に問題が出るかもしれません。
その点ちゃんとしたデータベースよりも劣っています。とは言え、さまざまな便利なフィールドタイプが用意されていますし、数千程度までのレコード数であれば十分に機能します。
適材適所ということでご活用いただけましたらありがたいですm(_ _)m。