sql - 我应该创建表还是查询?

标签 sql delphi

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.

6年前关闭。




Improve this question




好的,我有一个 Access 数据库,它有一个项目表和一个包含每月订阅费的学生表,这两个表链接在第三个表“付款”中,它从学生(费用 + 项目)收集数据并将它们相加.但是该表只保留值而不是描述。由于付款是不定期的(学生不需要在同一天全部付款),因此学生的项目债务值(value)需要随着他的付款方式减少,我需要对此进行控制。那么,我应该创建一个新表来复制其他两个表中的数据并在这个新表中进行更改,还是只使用查询来显示数据并在“主”表中进行更改?我对此有点迷茫和困惑,所以很抱歉这个烂摊子。

最佳答案

在进一步研究这个项目之前,您需要阅读有关数据库设计的初学者文本,imo。通过谷歌搜索“关系数据库教程”找到的第一个项目是

http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html

请参阅“创建表之间的关系”部分。网上还有无数其他教程。

通常,您不会将数据从一个表复制到另一个表。像项目描述或用户名这样的信息应该只存储在数据库中的一个位置。当您需要将其与另一个表中的数据相关联时(例如,显示项目表中条目的描述以及费用或付款表中的成本金额),您查找它,而不是复制它。

处理具有任意多个项目的学生的方法是有一个“链接”表,该表主要只存储学生的唯一标识符和项目的唯一标识符。通常,这些将是分配的数字标识符,因为现在将学生/项目/其他实体添加到数据库中。

有一个链接表的要点是对可以与特定学生相关联的项目的数量没有实际限制。

您调用将列添加到链接表以将学生和同一项目的一个或多个实例与特定账单(或订单或您的数据库正在建模的任何内容)相关联。

关于sql - 我应该创建表还是查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35345881/

相关文章:

sql - 如何在 Entity Framework 查询中连接字符串?

SQL Server : Unique Index on single values of two columns (! !!不是组合)

sql - MySql 多次计算同一列

mysql - !=? 上没有索引

delphi - 在64位系统中如何从PID获取系统的进程路径?

c# - 如何将从套接字接收到的字节数组转换为 C# 结构

c# - 该表中的位置没有行的编程问题

delphi - 使用 FFMpeg 播放 MemoryStream 中的视频

delphi - 将<T>类型的值转换为Variant,可能吗?

arrays - Delphi:const 对象的 const 列表