说我有一列定义为地址。另外,我有一个记录,我们称之为鲁迪的。现在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. ASP.NET将多个值添加到Cookie中
- 3. 将多个值添加到一列
- 4. 将多个值添加到python字典
- 5. 将多个值添加到SQL Server VB.NET数据库
- 6. SQL查询将多个值添加到属性中
- 7. SQL Query - 将值添加到多个唯一ID
- 8. 通过PHP向多个列添加多个值到SQL
- 9. 将多个数组值添加到单个值中
- 10. 批量将引号添加到SQL值
- 11. SQL:将别名添加到列值
- 12. 多个值添加到一个数组
- 13. 将多个SQL查询添加到同一个Datagrid c#WPF
- 14. 将多个document.referral添加到一个cookie
- 15. 将多个值添加到数组时遇到问题
- 16. AngularJS - 将值添加到值
- 17. 将多个值添加到对象中的某个键js
- 18. 如何将多个值添加到同一个阵列
- 19. 将多个值添加到perl hash中的同一个键
- 20. 将多个值添加到mysql中的单个列
- 21. 如何将一组多个值添加到一个键?
- 22. 将多个值添加到Python字典中的单个键
- 23. 如何将多个值添加到一个日期范围
- 24. 将值添加到Parent时,将值添加到子MVC
- 25. 使用多个onclicklistener添加到SharedPreference值
- 26. 添加多个值到数组
- 27. Oracle/SQL - 多次将表添加到同一个表中
- 28. 如何将多个记录从gridview添加到SQL Server表中?
- 29. 如何将多个SQL行添加到PHP数组
- 30. 使用linq将sql项添加到多个表中
知道这个很好的教程? – scifirocket 2010-11-07 22:51:41
@scifirocket - 阅读关于关系数据库和数据库规范化:http://en.wikipedia.org/wiki/Database_normalization。你也可以在YouTube上找到一些不错的例子。 – Novitzky 2010-11-08 00:47:31