說我有一列定義爲地址。另外,我有一個記錄,我們稱之爲魯迪的。現在Rudy's有多個地址,所以我需要包含多個地址,以便它們都可以搜索。在SQL中處理解決方案的最佳方法是什麼?將多個值添加到sql
0
A
回答
2
你應該添加一個地址列的子表。地址存儲在子表中時,您將擁有一對多關係。您可以根據需要爲每個用戶添加儘可能多的地址。你也可以添加額外的信息,如地址類型(家庭,工作或小學,中學等)。
我不會去一列地址。如果這是一個郵政地址,最好有更多的專欄,如街道,城鎮,門牌號碼等。那麼你可以在你的列上使用索引。
1
你可以嘗試這樣的事:
CREATE TABLE [dbo].[Person](
[PersonId] [int] IDENTITY(1,1) NOT NULL,
[FullName] [varchar](50) NULL,
CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED ([PersonId] ASC))
GO
CREATE TABLE [dbo].[Addresses](
[AddressId] [int] IDENTITY(1,1) NOT NULL,
[PersonId] [int] NOT NULL,
[AddressLine1] [varchar](50) NULL,
[AddressLine2] [varchar](50) NULL,
[City] [varchar](50) NULL,
[State] [varchar](4) NULL,
[Country] [varchar](50) NULL,
CONSTRAINT [PK_Addresses] PRIMARY KEY CLUSTERED ([AddressId] ASC))
GO
ALTER TABLE [dbo].[Addresses]
WITH CHECK ADD CONSTRAINT [FK_Addresses_Person] FOREIGN KEY([PersonId])
REFERENCES [dbo].[Person] ([PersonId])
GO
ALTER TABLE [dbo].[Addresses] CHECK CONSTRAINT [FK_Addresses_Person]
GO
當然,你可以把它複雜,只要你想,然後按照以前的建議,用於存儲地址類型等
這可能有助於MS下載來自http://sqlserversamples.codeplex.com/的示例並遵循其最佳做法。
相關問題
- 1. 將多個值添加到一列
- 2. 通過PHP向多個列添加多個值到SQL
- 3. 將多個數組值添加到單個值中
- 4. 批量將引號添加到SQL值
- 5. SQL:將別名添加到列值
- 6. 多個值添加到一個數組
- 7. 將多個值添加到數組時遇到問題
- 8. 如何將多個值添加到同一個陣列
- 9. 將多個值添加到perl hash中的同一個鍵
- 10. 如何將多個OldDbParameters值添加到單個OleDbCommand?
- 11. 將多個值添加到對象中的某個鍵js
- 12. 如何將一組多個值添加到一個鍵?
- 13. 將值添加到Parent時,將值添加到子MVC
- 14. 如何將多個python變量添加到SQL數據庫?
- 15. 如何將多個命名參數添加到SQL語句中?
- 16. 如何將多個記錄從gridview添加到SQL Server表中?
- 17. 將列添加到SQL Server
- 18. 將單個sql字段中的值添加到數組中
- 19. 將多個AdView添加到ListView
- 20. 將多個文件添加到WebRequest
- 21. 試圖將多個JPanel添加到JFrame
- 22. 將多個組添加到SignalR ASP.NET
- 23. 將多個文本添加到AVMutableVideoComposition中
- 24. 將多個模型添加到inlineformset_factory
- 25. 將多個數據添加到ggplot?
- 26. 將多個組件添加到Jframe.getcontentpane()
- 27. HtmlTextWriter - 將多個類添加到標記
- 28. 將多個PDF添加到HTML中
- 29. 將多個UIButtons添加到UIView
- 30. 將多個域添加到aws雲端
知道這個很好的教程? – scifirocket 2010-11-07 22:51:41
@scifirocket - 閱讀關於關係數據庫和數據庫規範化:http://en.wikipedia.org/wiki/Database_normalization。你也可以在YouTube上找到一些不錯的例子。 – Novitzky 2010-11-08 00:47:31