資料庫樹形菜單
Ⅰ sql server 2005實現樹形菜單顯示的資料庫表怎麼設計
第一種:單表。
列分別為 id、菜單名稱、子菜單id列表;
id:菜單的唯一編號
子菜單id列表:用逗號(或其他分隔符)分割的多個id的字元串,再由程序中進行處理,分割出多個id;
優點:查詢速度非常快。
缺點:不利於維護和拓展,在進行菜單項排序時需要再多寫代碼進行處理。
第二種:單表內連接。
列分別為 id、菜單名稱、父菜單id;
根節點的父菜單id為null或者0等一個可以唯一標志的。在查詢時進行表內連接查詢;
優點:利於表結構的維護和拓展,並且符合設計範式;
缺點:在查詢時會造成一些麻煩,並且性能上會受到影響。
當然還有很多其他的方法,這里只例舉2個比較常用的方法。
Ⅱ 菜單類別樹在資料庫中怎麼設計
樹型結構數據在資料庫中常見的表現方式有兩種:
1. 層級代碼
2. 存儲父ID
例如:
1:
create table tb_menu (
code varchar(32), name varchar(32)
)
insert into tb_menu ('01','File')
insert into tb_menu ('02','Edit')
insert into tb_menu ('03','Tool')
insert into tb_menu ('04','Help')
insert into tb_menu('0101','Open')
insert into tb_menu('0102','Close')
insert into tb_menu('0103','New')
insert into tb_menu('0104','Save')
insert into tb_menu('0201','Undo')
insert into tb_menu('0202','Redo')
insert into tb_menu('0203','Copy')
insert into tb_menu('0204','Cut')
insert into tb_menu('0205','Paste')
insert into tb_menu('0301','Option')
insert into tb_menu('0302','Extend')
2:
create table tb_menu (
id int, name varchar(32), parentid int
)
insert into tb_menu (1,'File', 0)
insert into tb_menu (2,'Edit',0)
insert into tb_menu (3,'Tool',0)
insert into tb_menu (4,'Help',0)
insert into tb_menu(5,'Open',1)
insert into tb_menu(6,'Close',1)
insert into tb_menu(7,'New',1)
insert into tb_menu(8,'Save',1)
insert into tb_menu(9,'Undo',2)
insert into tb_menu(10,'Redo',2)
insert into tb_menu(11,'Copy',2)
insert into tb_menu(12,'Cut',2)
insert into tb_menu(13,'Paste',2)
insert into tb_menu(14,'Option',3)
insert into tb_menu(15,'Extend',3)
Ⅲ 帶資料庫的樹形目錄菜單怎麼製作
就好像http://bbs.mscode.cc/leftmenu.php中的一樣是不是?
http://..com/question/24599829.html將會有相關答案。