多级目录数据库设计方案

作者:袖梨 2022-06-30
在实际工作中,经常碰到需要多级目录的情况,例如设计一个论坛,它的版面是分级的,而且为了灵活扩展,这种分级是没有限制的,也就是说设计者,不限制用户设定多少级目录。
针对这种情况,我提出的设计方案如下,先设计如下的Table(以SQL Server为例)

CREATE TABLE [版面表] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[版面名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[版面级别] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[上级版面id] [int] NOT NULL
) ON [PRIMARY]


其中顶级版面的上级版面id就是它自己的版面id
输入如下数据:
id
版面名称 版面级别
上级版面id

1
英语学习
1
1

2
四六级学习
2
1

3
GRE
2
1

4
GRE作文
3
3

5
GRE词汇
3
3

6
GRE阅读
3
3

7
GRE填空
3
3

8
GRE作文互评
4
4

9
GRE作文提纲
4
4

10
TOEFL
2
1

11
TOEFL作文
3
10

12
TOEFL听力
3
10

13
TOEFL阅读
3
10

14
TOEFL语法
3
10

15
体育
1
15

16
足球
2
15

17
中国足球
3
16

18
世界足球
3
16

19
篮球
2
15

20
CBA
3
19

21
NBA
3
19


创建如下的存储过程来读取某版面的所有上级版面id
--创建某版面遍历上级目录的存储过程
CREATE PROCEDURE TraverseByName
@name varchar(30) --版面名称
AS
declare @i int --级别循环变量
declare @str varchar(30)--临时字符串变量

相关文章

精彩推荐