我正在使用代码第一种方法,并希望创建一个名为Classes的表。该表将包含以下信息:
除了上述内容之外,我还想指定课程将要发生的日子:
我不想做上述事情,它似乎效率低下,特别是当我需要根据当前日期调用一个类时(即获取周一出现的所有类)。
那么,我应该拥有什么样的表结构?
由于
答案 0 :(得分:2)
您应创建2个表,1个用于Classes
,1个用于ClassSchedules
。使用ClassId
列加入您的表格。
顺便说一句,BeginTime
和BeginDate
不需要2列,这些列应该存储在同一列中 - EndTime
和EndDate
也是如此。
答案 1 :(得分:1)
您应该尝试以下操作;
CREATE TABLE classes(
Name varchar(255),
Code varchar(255),
Subject varchar(255),
Description varchar(255),
BeginTime date,
EndTime Date,
BeginDate Date,
EndDate Date,
)
CREATE TABLE classdates(
Classname varchar(255),
Classdate varchar(255)
)
Select cl.*,d.classdate from classes cl (nolock)
join classdates d
on d.classname = cl.classname
如果您有一个大型数据库,我会采取第一个建议并添加ClassID和名称,然后在将其作为主键后加入ClassID。