【发布时间】:2017-02-08 16:58:48
【问题描述】:
问题
我需要为培训中心的讲师制定时间表。
我创建了表,但我无法创建关系。
instructor_course 表 class 表和 section 表之间有什么关系? (我必须有一个来自表类和表部分的外键吗?我必须将表类的 ClassID FK 和表部分的 SectionID 添加到表 Inst_Courses 表吗?)
表格详情
我需要在周日至周四的一周内显示讲师课程的时间表。
例如周日凌晨 2 点到 4 点,讲师 Michel 在 A 教室教授 C# 课程 B节
所以我创建了以下表格:
Courses (like c#,access,SQL)
Instructor(Teacher)
Int_Courses
Class( Lab or class room)
Section(group of student take courses classified to a,b,c,c2)
我已经在第三张表 Inst_Courses 表中建立了 Instructor 表和 Courses 表之间的多对多关系。
预期结果
数据库架构
CREATE TABLE [dbo].[Courses](
[CourseID] [int] IDENTITY(1,1) NOT NULL,
[CourseName] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_dbo.Courses] PRIMARY KEY CLUSTERED
(
[CourseID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Class](
[ClassID] [int] IDENTITY(1,1) NOT NULL,
[ClassName] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_dbo.Class] PRIMARY KEY CLUSTERED
(
[ClassID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Instructor](
[InstructorID] [int] IDENTITY(1,1) NOT NULL,
[IstructorName] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_dbo.Instructor] PRIMARY KEY CLUSTERED
(
[InstructorID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[InstructorCourses](
[CourseID] [int] NOT NULL,
[InstructorID] [int] NOT NULL,
CONSTRAINT [PK_dbo.InstructorCourses] PRIMARY KEY CLUSTERED
(
[CourseID] ASC,
[InstructorID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Section](
[SecID] [int] IDENTITY(1,1) NOT NULL,
[SecName] [nvarchar](50) NOT NULL,
[Active] [bit] NOT NULL,
CONSTRAINT [PK_dbo.Section] PRIMARY KEY CLUSTERED
(
[SecID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Instructor_Class](
[ClassID] [int] NOT NULL,
[InstructorID] [int] NOT NULL,
CONSTRAINT [PK_dbo.Instructor_Class] PRIMARY KEY CLUSTERED
(
[ClassID] ASC,
[InstructorID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
【问题讨论】:
-
太宽泛了。请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。
-
你能发布数据库模式和一些示例数据吗?以及您期望的结果
-
请解释什么是(学生?)小组,什么是(班级?)部分以及您的图片表格告诉我们什么。写得好像我们不了解事物的组织方式,因为我们不了解。请为尽可能多的表提供 DDL。 PS你关于米歇尔的那句话不符合表格。
-
你不清楚。请尽可能多地展示您的餐桌。请描述你想做什么。是什么阻止你设计桌子?你的意思是你想设计一个看起来像图像的report?还是包含该信息的table? PS“我创建了表,但关系做不到。”不清楚。什么是“关系”?你是说“桌子”吗?你是说“关系”吗?这通常但错误地用于“外键”。你的意思是“外键”吗?
标签: database sql-server-2008 database-design relational-database erd