最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
多级目录数据库设计方案
时间:2022-06-30 10:21:29 编辑:袖梨 来源:一聚教程网
在实际工作中,经常碰到需要多级目录的情况,例如设计一个论坛,它的版面是分级的,而且为了灵活扩展,这种分级是没有限制的,也就是说设计者,不限制用户设定多少级目录。
针对这种情况,我提出的设计方案如下,先设计如下的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)--临时字符串变量
针对这种情况,我提出的设计方案如下,先设计如下的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)--临时字符串变量
相关文章
- 光遇12.23每日任务怎么做 光遇12月23日每日任务做法攻略 12-23
- 光遇12.23大蜡烛在哪里 光遇12月23日大蜡烛位置攻略 12-23
- 光遇12.23免费魔法有什么 光遇12月23日免费魔法收集攻略 12-23
- 《流放之路2》寻找熔炉任务攻略分享 12-23
- 《流放之路2》德雷文打法技巧分享 12-23
- 《流放之路2》永恒裁判者德雷文具体位置介绍 12-23