您在我的数据库中为此用例建议了哪些字段类型?

时间:2010-08-06 20:00:35

标签: sql-server-2008

我必须有一张表格,可以保存有关我大学课程的信息。

我需要保存课程的名称,开放的月份以及时间。

我应该使用内置Microsoft SQL server数据类型的内容吗?我将使用Linq2SQL作为我的ORM。

3 个答案:

答案 0 :(得分:1)

int for ID
string for Course_Name

因为您使用的是SQLS2K8,所以您可以分割DATE和TIME字段。

Date for Opening_Month
Time for Opening_Hour

答案 1 :(得分:1)

varchar如果名称只能是ascii,nvarchar表示unicode名称,date表示月份,time表示时间。看起来像this的是SQL Server类型

答案 2 :(得分:0)

如果您只需要月份(不是日期或年份)和时间,那么您可以使用月份的int和时间的时间。您也可以使用DateTime,并制定一个忽略日期的日期和年份方面的约定。

我建议使用nvarchar或varchar作为名称。如果您预计将来有一点需要支持可能包含varchar不支持的unicode字符的外语,请使用nvarchar。我会看一下我预期需要的最长的名字,加倍它的长度然后向上舍入到最接近的50.所以如果在48处“部分微分方程的介绍”那么我会把它变成varchar(100)。

使它变得更大的目的是允许未来的价值观。如果我只使用varchar(48)来容纳当前最大的值,我可能会稍后使用大于此的coursename,因此必须修改数据库结构和应用程序以适应这个更大的大小!通过使其成为varchar(100),我们有足够的空间容纳将来可能出现的更大的课程名称。