【发布时间】:2012-10-13 19:15:32
【问题描述】:
我正在设计一个关于在世界各地都有分店的超市或百货公司的数据库。
我有国家和分支机构的列表。谁能帮我把它们链接到数据库中。
【问题讨论】:
-
阅读一本关于数据库和数据模型模式的书。继续访问 amazon.com
标签: mysql sql database database-design
我正在设计一个关于在世界各地都有分店的超市或百货公司的数据库。
我有国家和分支机构的列表。谁能帮我把它们链接到数据库中。
【问题讨论】:
标签: mysql sql database database-design
这样的?
当然,您的表将包含更多列来存储额外数据 - 但这将是基本框架。
或者你到底在问什么?你的问题不是很清楚......
生成这个的 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);
【讨论】: