C# 将字符串数组保存到SQL列
我想在SQL数据库中为学校项目创建一个“会话”表。每届会议应包括:C# 将字符串数组保存到SQL列,c#,sql,sql-server,session,visual-studio-2012,C#,Sql,Sql Server,Session,Visual Studio 2012,我想在SQL数据库中为学校项目创建一个“会话”表。每届会议应包括: 会话ID 讲师姓名 时间和日期 模块名 课程名称 学生证列表 学生状态列表(出席、缺席、迟到) 我怎么能代表这样一件事 是否最好创建一个表来表示所有会话,其中每个会话都是一行,并且在每列中都有一个字符串数组来表示学生的姓名、ID和状态 或 为每个新会话创建一个新表 什么更好,请简要说明如何做 请记住,我需要从C#windows应用程序中插入/删除/更新/查看每个表,最大预期会话数仅为100 此外,我正在使用SQL Serve
- 会话ID
- 讲师姓名
- 时间和日期
- 模块名
- 课程名称
- 学生证列表
- 学生状态列表(出席、缺席、迟到)
谢谢我想你应该有三张桌子: 学生
------------------------------------
| StudentID | FirstName | LastName |
|-----------|-----------|----------|
| 4456 | John | Doe |
| 6678 | Billy | Bob |
------------------------------------
---------------------------------------------------------------------
| SessionID | Lecturer | DateTime | Module | Course |
|-----------|----------|----------|------------------|--------------|
| 1 | Mr.Joe | 524523461| Natural Sciences | Oceanography |
---------------------------------------------------------------------
这里StudentID是主键
会话
------------------------------------
| StudentID | FirstName | LastName |
|-----------|-----------|----------|
| 4456 | John | Doe |
| 6678 | Billy | Bob |
------------------------------------
---------------------------------------------------------------------
| SessionID | Lecturer | DateTime | Module | Course |
|-----------|----------|----------|------------------|--------------|
| 1 | Mr.Joe | 524523461| Natural Sciences | Oceanography |
---------------------------------------------------------------------
这里dateTime是Unix时间戳,SessionId是主键
会期趋势
-------------------------------------
| SessionID | StudentID | Status |
|-----------|-----------|-----------|
| 1 | 4456 | 'Late' |
| 1 | 6678 | 'Present' |
-------------------------------------
这里SessionID和StudentID都是主键
原因
在这里,您不需要解析所有考勤和状态列表。查询可能会变得更大一些,但它将为您节省大量解析代码
查询示例:
SELECT SessionID FROM SessionAttendance WHERE StudentID = (SELECT StudentID FROM Students WHERE FirstName = 'John' AND LastName = 'Doe') AND Status = 'Late';
它将获得John Doe迟到的所有课程。很简单,对吧
其他评论
------------------------------------
| StudentID | FirstName | LastName |
|-----------|-----------|----------|
| 4456 | John | Doe |
| 6678 | Billy | Bob |
------------------------------------
---------------------------------------------------------------------
| SessionID | Lecturer | DateTime | Module | Course |
|-----------|----------|----------|------------------|--------------|
| 1 | Mr.Joe | 524523461| Natural Sciences | Oceanography |
---------------------------------------------------------------------
没问题,如果答案有用,请投票。那太好了。谢谢@拳击手