c# - 如何在 C# .net 中管理图书馆管理系统中的学生和图书发行关系?

标签 c# .net sql-server

在图书馆管理系统中,如何让学生在拿书时完成交易....我有两个表学生和书有一对多的关系...现在如果任何学生发行 5 本不同的书那么如何此信息存储在数据库中??请帮忙

最佳答案

一个Student可以借到零个或多个Books,一本书被零个或多个Students借走。这是教科书上的多对多关系,它需要第三张表

所以你需要一个结构如下的借用表

Create Table Borrows
( 
  IDBook int not null, 
  IDStudent int not null,
  BorrowDate smalldatetime not null,
  ReturnDate smalldatetime null,
  BookStatusBefore nvarchar(32) not null, 
  BookStatusAfter nvarchar(32) not null
)

-- Primary key on IDBook+IDStudent....
ALTER TABLE Borrows ADD CONSTRAINT PK_Borrows PRIMARY KEY CLUSTERED 
(
IDBook,
IDStudent
) 

现在您可以注册一个借阅事件并跟踪一本书的下落以及有关该事件本身的其他历史信息。

关于c# - 如何在 C# .net 中管理图书馆管理系统中的学生和图书发行关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41333703/

相关文章:

c# - [DatabaseGenerated(DatabaseGenerationOption.Computed)] 数据注释有什么作用?

c# - 是否可以检查字符串编码?

sql-server - 时间戳转 Bigint (MSSQL) 与 DT_BYTES 转 DT_I8 (SSIS)

sql - 使用 Dapper 将 SQL 查询转换为 IList<T>

c# - 在带有 Entity Framework 的 ASP.NET MVC 中,此上下文仅支持原始类型或枚举类型

c# - 如何在Asp核心Web应用(MVC)上创建和使用Docker卷

c# - 请求和处理包含字节 [] 文件的 Web-API 响应的最佳方式?

c# - 如何在 sandcaSTLe xml 文档构建中排除不可浏览的成员

c# - 关于visual studio Express 2008速成版高级编译器设置的问题

sql-server - 在sql server 2012中调试时查看表变量的内容