Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
80 / 114 ツリー <前へ | 次へ>

〔327〕ACFinder 060620版 kabe (06/06/20 23:21)

〔353〕Re:テーブルの構成 Hidemi Oya (06/06/25 15:53)

〔353〕Re:テーブルの構成
 Hidemi Oya WEB  (06/06/25 15:53)

引用なし
   kabe さん、こん**は。hidemi Oya です。

>なんでだ〜と思ったのですが、kihon テーブルの登録番号は有効成分の数だけ同じ登録番号が存在するので、その分、レコード数が増えてしまいます。
 確かに、kihon テーブルをそのまま LEFT JOIN するとそうなりますね。SQLite は検索速度があまり落ちないので、すっかり見落としてました(^_^;)。
 だから、ひとつの ID に対して複数の行が存在する場合は、テーブルを分けるってのが原則なんでしょうから。

>本来のマスターテーブルとして登録番号をプライマリーキーにした、テーブルを作る必要がありますね。
 原則は原則として、検索速度に問題がなければ、下記のように有効成分を抜いて登録番号でグループ化するビューを作って、それを新 tekiyo ビューに LEFT JOIN するって手もありますね。

CREATE VIEW nkihon AS
SELECT
 bango, shurui, meisho, tsusho, ryakusho, kongo, yoto, zaikei
FROM kihon
GROUP BY bango;

CREATE VIEW tekiyo AS
SELECT
 a.bango AS bango,
 nkihon.yoto AS yoto,
 nkihon.zaikei AS zaikei,
 nkihon.shurui AS shurui,
 nkihon.meisho AS meisho,
 nkihon.tsusho AS tsusho,
 nkihon.ryakusho AS ryakusho,
 nkihon.kongo AS kongo,
 a.sakumotsu AS sakumotsu,
 a.basho AS basho,
  :
 a.kaisu5 AS kaisu
FROM compact_tekiyo AS a
LEFT JOIN nkihon ON a.bango = nkihon.bango;

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
80 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.