我在存储地理数据的表之间有一个自然的层次结构Region -> Country -> City -> Location
:
CREATE TABLE Regions
(
ID INT PRIMARY KEY,
Name NVARCHAR(MAX)
)
CREATE TABLE Countries
(
ID INT PRIMARY KEY,
Name NVARCHAR(MAX),
RegionID INT NOT NULL REFERENCES Regions(ID)
)
CREATE TABLE Cities
(
ID INT PRIMARY KEY,
Name NVARCHAR(MAX),
CountryID INT NOT NULL REFERENCES Countries(ID)
)
CREATE TABLE Locations
(
ID INT PRIMARY KEY,
Name NVARCHAR(MAX),
CityID INT NOT NULL REFERENCES Cities(ID)
)
在创建新的Location
尺寸时,选择Locations
表, Visual Studio 建议添加父表City
,Country
和Region
,但不建议或创建层次结构。