无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(1)表结构

简介: 无限分类是一个老生常谈的话题了,网上有很多解决方案,可以分成二个流派,一种利用递归,一种利用非递归(当然需要其它一些辅助手段判断节点层次),但核心表结构都差不多,有三个关键字段(ID主键,ParentId上级类id,ClassName类名--理论上讲,如果用递归,这三个字段就足够了),完整表结构如下 Create TABLE [dbo].

无限分类是一个老生常谈的话题了,网上有很多解决方案,可以分成二个流派,一种利用递归,一种利用非递归(当然需要其它一些辅助手段判断节点层次),但核心表结构都差不多,有三个关键字段(ID主键,ParentId上级类id,ClassName类名--理论上讲,如果用递归,这三个字段就足够了),完整表结构如下


Create TABLE [dbo].[T_Class](
 [F_ID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_T_Class_F_ID]  DEFAULT (newid()),
 [F_ClassName] [nvarchar](256) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_F_ClassTest_F_ClassName]  DEFAULT (''),
 [F_ShortName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 [F_ParentID] [uniqueidentifier] NULL CONSTRAINT [DF_T_Class_F_ParentID]  DEFAULT (newid()),
 [F_Depth] [int] NULL CONSTRAINT [DF_F_ClassTest_F_Depth]  DEFAULT ((0)),
 [F_RootID] [int] NULL CONSTRAINT [DF_F_ClassTest_F_RootID]  DEFAULT ((0)),
 [F_Orders] [int] NULL CONSTRAINT [DF_F_ClassTest_F_Orders]  DEFAULT ((0)),
 [F_ParentIDStr] [nvarchar](300) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_F_ClassTest_F_ParentIDStr]  DEFAULT (''),
 [F_ParentNameStr] [nvarchar](300) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_F_ClassTest_F_ParentNameStr]  DEFAULT (''),
 [F_ReadMe] [nvarchar](250) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_F_ClassTest_F_ReadMe]  DEFAULT (''),
 [F_AddTime] [datetime] NULL CONSTRAINT [DF_F_Class_F_AddTime]  DEFAULT (getdate()),
 [F_Type] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 [F_MaxPage] [int] NULL CONSTRAINT [DF_T_Class_F_MaxPage]  DEFAULT ((0)),
 [F_No] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 [F_isShow] [tinyint] NULL CONSTRAINT [DF_T_Class_F_isShow]  DEFAULT ((0)),
 [F_AutoId] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_T_Class] PRIMARY KEY CLUSTERED
(
 [F_ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

目录
相关文章
|
13天前
|
存储 算法 Java
算法系列之递归反转单链表
递归反转链表的基本思路是将当前节点的next指针指向前一个节点,然后递归地对下一个节点进行同样的操作。递归的核心思想是将问题分解为更小的子问题,直到达到基本情况(通常是链表末尾)。
33 5
算法系列之递归反转单链表
|
4月前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
91 2
|
5月前
|
算法 搜索推荐 Shell
数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
这篇文章介绍了希尔排序、快速排序和归并排序三种排序算法的基本概念、实现思路、代码实现及其测试结果。
96 1
|
5月前
|
存储 SQL 数据库
SQL Server 临时存储过程及示例
SQL Server 临时存储过程及示例
82 3
|
5月前
|
存储 SQL 关系型数据库
MySql数据库---存储过程
MySql数据库---存储过程
76 5
|
6月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
5月前
|
算法 定位技术
数据结构与算法学习九:学习递归。递归的经典实例:打印问题、阶乘问题、递归-迷宫问题、八皇后问题
本文详细介绍了递归的概念、重要规则、形式,并展示了递归在解决打印问题、阶乘问题、迷宫问题和八皇后问题等经典实例中的应用。
86 0
|
7月前
|
存储 SQL 安全
【数据库高手的秘密武器:深度解析SQL视图与存储过程的魅力——封装复杂逻辑,实现代码高复用性的终极指南】
【8月更文挑战第31天】本文通过具体代码示例介绍 SQL 视图与存储过程的创建及应用优势。视图作为虚拟表,可简化复杂查询并提升代码可维护性;存储过程则预编译 SQL 语句,支持复杂逻辑与事务处理,增强代码复用性和安全性。通过创建视图 `high_earners` 和存储过程 `get_employee_details` 及 `update_salary` 的实例,展示了二者在实际项目中的强大功能。
70 1
|
7月前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
7月前
|
算法
【算法】递归、搜索与回溯——汉诺塔
【算法】递归、搜索与回溯——汉诺塔

热门文章

最新文章