怎样设计树形目录的数据库用SQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样设计树形目录的数据库用SQL相关的知识,希望对你有一定的参考价值。

下面的图形的数据库

参考技术A 首先你要确定你所使用的DBMS产品,因为在ORACLE和SQL SERVER等DBMS的SQL语法有局部的不同,但大体上语句是一样的。
CREATE TALBE tmpDB (
tid int identity(1,1) primary key, --表主键,可以不用加not null一般使用了primary key就可默认为not null
tname varchar(100) not null, --节点名称
fatherID int --父节点ID
)
GO

生成树形数据结构
select
*
from
table
start with id = ?
connect by prior id = ?
参考技术B 数据库表应该包含以下几个关键字段
级次
父级名称
本级名称
关键是级次,有了这个字段,就能知道是第几级,不用根据父级一点点判断了,程序会很简单
参考技术C create table catelog(
id int identity(1,1) not null primary key,
description nvarchar(50),
parent_id int -- 存放父节点的ID
)
go
-- 建索引提高查询性能。
create index ix_catelog_parent on catelog(parent_id)
go

SQL Server中怎样设置id号自动增长

create table 表名      --第一种用sql建表 identity(1,1)为每次递增1位 primary key为主键
(
   id int identity(1,1) primary key
)

--第二种用设计器来操作
--鼠标对准你需要操作的表名右击 => 设计 => 
选中你需要操作的列名然后在下方有一个列属性 => 选择标识规范 => 
将标识增量此选项选为(是) 下面有一个标识种子默认为1(每次递增1,可修改)

参考技术A 新建一列为id 然后 identity(1,1)就会从1开始每次自增1了

以上是关于怎样设计树形目录的数据库用SQL的主要内容,如果未能解决你的问题,请参考以下文章

怎么往数据库里插入一个树形结构的表,并且用一句SQL语句将其遍历出来

pl/sql如何现实像sqlserver中的树形结构目录界面,就是能查看表视图那样的界面。

sqlserver查询树形结构的所有子节点

Oracle数据库,怎样使用connect by实现树形结构中数值的累加

MySQL怎样做递归查询

怎样访问公网上的sqlserver