sql - 数据库设计-如何在同一个表中拥有主键的外键?

标签 sql sql-server-2008

我的数据库必须存储我公司的所有可用部门。

某些部门是另一个现有部门的子部门。我决定这样解决这个问题:

Departments
ID Description HeadOfDepartment ParentDepartment

ParentDepartment 可以为空,表示它是根部门。如果它有父级,我将采取相应的行动,我的问题是如何在 Microsoft SQL 中对此进行编码?

最佳答案

CREATE TABLE Departments 
(
    ID integer primary key, 
    Description varchar(255), 
    HeadOfDepartment varchar(255), 
    ParentDepartment integer references Departments(ID)
);

关于sql - 数据库设计-如何在同一个表中拥有主键的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2852558/

相关文章:

php - 如何获取每个类别中具有特定百分比的数据

mysql - django 模型中的大型 json 数据会减慢任何查询速度

sql - 获取 SQL Server 中 datetimeoffset 的偏移量

sql - 表中列的类型不能用作索引中的键列

c# - SQL Server 2008 回归时间的 DATE 数据类型!

sql - "tempdb.mdf"由于 SQL 查询增加到天文大小(即 800GB)

c# - Lucene.Net 创建空索引

sql - 在 Sql 服务器表变得丑陋之前,我可以在其中存储多少条记录?

mysql - 在 SQL 中使用 Group By 函数时遇到问题

PHP和MySQL基于两个字段的搜索