我正在设计一个关于在世界各地都有分店的超市或百货公司的数据库。
我有国家和分支机构的名单。有人能帮我将它们链接到数据库中吗?
像这样的东西?
当然,您的表将包含更多列来存储其他数据——但这将是基本框架。
或者你到底在问什么?你的问题不是很清楚......
生成这个的 T-SQL 代码(适应 MySQL 应该完全没有问题):
CREATE TABLE dbo.Country
(
CountryID int NOT NULL,
CountryName varchar(50) NOT NULL
)
ALTER TABLE dbo.Country
ADD CONSTRAINT PK_Country PRIMARY KEY CLUSTERED (CountryID)
GO
CREATE TABLE dbo.State
(
StateID int NOT NULL,
StateName varchar(50) NOT NULL,
CountryID int NOT NULL
)
ALTER TABLE dbo.State
ADD CONSTRAINT PK_State PRIMARY KEY CLUSTERED (StateID)
ALTER TABLE dbo.State
ADD CONSTRAINT FK_State_Country
FOREIGN KEY(CountryID) REFERENCES dbo.Country(CountryID)
GO
CREATE TABLE dbo.City
(
CityID int NOT NULL,
CityName varchar(50) NOT NULL,
StateID int NOT NULL
)
ALTER TABLE dbo.City
ADD CONSTRAINT PK_City PRIMARY KEY CLUSTERED(CityID)
ALTER TABLE dbo.City
ADD CONSTRAINT FK_City_State
FOREIGN KEY(StateID) REFERENCES dbo.State(StateID)
GO
如果我理解正确,您需要三个带有 id 的表(国家、城市和州)和一个用于引用国家、城市和州的 id 的超市表。
create table country(id int, name varchar);
create table city(id int, name varchar);
create table state(id int, name varchar);
create table supermarket(country int, city int, state int);