数据库树形菜单
Ⅰ 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将会有相关答案。