-2
A
回答
1
檢查這個link。我想這就是你要問的問題
2
這樣的事情?
當然,你的表將包含更多的列來存儲額外的數據 - 但是這將是基本骨架。
或者你到底在問什麼?你不是在你的問題非常清楚....
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
+0
@marc_c給了你一個很好的答案,但我希望在應用它之前,你要確保需要規範化的數據,因爲有些情況下非規範化的模式是有益的。 – Kane
+0
@Kane:總是從**規範化的**數據模型開始 - 這是正確的做法!如果規範化的模型受到傷害(例如表演或其他),我只會非規範化。 –
1
如果我理解正確,你需要三個表(國家,城市和州)與一個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);
相關問題
- 1. 實體關係 - DB設計
- 2. 問題與實體框架/ DB關係
- 3. JPA實體之間的關係。如何使實體從DB只從關係表
- 4. 實體框架:我應該提供雙面關係配置嗎?
- 5. 實體關係
- 6. 實體關係
- 7. 實體關係
- 8. 實體關係
- 9. 實體關係
- 10. 實體關係
- 11. '提供'在Gradle中的依賴關係
- 12. 實體關係圖中的實體
- 13. json數據中的關係與db中的實際關係
- 14. eclipselink jpa實體沒有作爲db表提供
- 15. Apigee中的實體關係
- 16. POCO實體中的關係
- 17. 關係在實體框架
- 18. JayData實體關係
- 19. 實體關係圖
- 20. Grails實體關係
- 21. Doctrine2實體關係
- 22. 實體關係圖
- 23. 實體關係Abiguity
- 24. 實體關係圖
- 25. 與Symfony2中兩個不同供應商捆綁關係顯示「未找到實體」的實體關係
- 26. Symfony2,Doctrine,在關係中的空實體
- 27. MVC - 如何在DB和EDMX中最好地實現與TPT派生實體(DB優先)的多對多關係
- 28. 在ConnectionString中未指定OLE DB提供程序。 「提供商= SQLOLEDB;
- 29. 實體關係 - CodeFirst - 多重關係
- 30. 實體關係模型:三元關係
閱讀關於數據庫和數據模型模式的書籍。去amazon.com –