![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
添付ファイルのようなフォルダ構成の追加・更新・並び替え・削除をデータベースで実現したいと思います。
そのため、データベースに下記の項目を格納すれば良いのではと思いました。
1. フォルダID
2. フォルダ名
3. 親フォルダID
4. 並び順
ただ上記では並び替えの際に、多くのレコードの更新が必要になりそうで、
考え方として間違っているのではないかと思いました。
そのため、添付ファイルのようなフォルダ構成をデータベースで実現する場合、
どのようにするのが良いかご教示いただければと思います。
以上、よろしくお願いします。
![「フォルダ構造のような仕組みの作り方につい」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/519134_5497dbf881251/M.jpg)
No.2ベストアンサー
- 回答日時:
経路列挙モデルというのを使うといいと思います。
以下サイトで、SQL文でのtable 構築~新規登録、削除、更新方法も載っています。「SQLで木と階層構造のデータを扱う(2)―― 経路列挙モデル」
http://www.geocities.jp/mickindex/database/db_tr …
「経路列挙モデル(準備編):MySQLで階層化データを使う」
http://www.makizou.com/archives/1662
サイトマップに応用した例
http://miztools.so.land.to/php5_list/map/
ご回答ありがとうございます。
ご教示いただいたリンク先を参考にさせていただきたいと思います。
このたびはどうもありがとうございました。
No.1
- 回答日時:
通常の手法として、チェーン構造が良いのでは?
並び順の番号でなく、前のID、次のIDをぞれぞれ保持します。
フォルダ自体も、前のフォルダID、次のフォルダIDを保持し、
親のIDのみでなく、子供の先頭IDでも、上下関係を管理したほうがいいかなぁ?
あとは、先頭場合の前のファイルIDの値、最終の場合の次のフォルダIDの値を予め決めておきます。(-1など)
挿入、削除はチェーンのつなぎ変えのみで行います。
フォルダ名にインデックスを設定すれば、検索も早くなると思います。
階層の番号などは持たせないほうがいいと思います。
まだ不足な点もあるかと思いますが一案として、ご参考になりましたでしょうか?
ご回答ありがとうございます。
自分の中でまだ消化できてない点はありますが、参考にさせていただきたいと思います。
このたびはどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Windows 10 ショートカットの作り方と使い方について教えて下さい。 3 2022/05/27 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) VBプロジェクトでのフォルダ構成について 1 2023/07/22 03:49
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
元のフォルダに矢印キーで帰りたい
-
excel VBA 部分一致の名前をパ...
-
大量のフォルダへのハイパーリ...
-
C:\\Documents and Settingsが...
-
excel VBA 特定の文字列を含む...
-
I386フォルダの役目とは
-
C:\\Windows\\System32はどこ?
-
ディレクトリ数のみを取得する...
-
深い階層かつパスが破損したフ...
-
エクセルVBA、フォルダ選択時の...
-
【マクロ】フォルダを2つのモ...
-
検索でフォルダのみを検索する...
-
フォルダ名とパス名の違うフォ...
-
メールフォルダの折りたたみ・...
-
エクセルVBAで相対パスでフォル...
-
ワード・エクセルのアクセス権
-
Googleドライブのローカル検索...
-
別々のPCのファイル・フォルダ...
-
東方紅魔郷をインストールした...
-
ipad airについて 回答お願い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダのサムネイル画像
-
C:\\Documents and Settingsが...
-
元のフォルダに矢印キーで帰りたい
-
excel VBA 特定の文字列を含む...
-
大量のフォルダへのハイパーリ...
-
撮影後、SDカードに作成される...
-
excel VBA 部分一致の名前をパ...
-
お気に入りフォルダの名前はど...
-
【マクロ】エクセルにかいてあ...
-
【マクロ】フォルダを2つのモ...
-
大量のファイルのファイル名を...
-
【マクロ】フォルダを3つ、PO...
-
I386フォルダの役目とは
-
Windows11でフォルダを開いた時...
-
エクセルVBAで相対パスでフォル...
-
謎のフォルダ「ドネュメント」
-
バッチファイルの親フォルダを...
-
Explorerのフォルダウインドウ...
-
エクスプローラ、「上へ」でフ...
-
お気に入りに追加したのに表示...
おすすめ情報