Database 在数据库的记录中存储表

Database 在数据库的记录中存储表,database,database-design,relational-database,database-schema,Database,Database Design,Relational Database,Database Schema,我正在考虑创建一些东西来帮助财务或类似的东西,就像一个小项目来帮助我的web开发技能一样,但有一件事我在规划阶段无法动脑 假设我有多个用户,每个用户都会显示一个表,其中包括每周/每月以及他们的支出、税收等。如何将其存储在数据库中?我是否能够在记录中嵌入某种类型的表,还是必须使用多对多关系 如果有人知道一个好的解决方案,我很乐意听到 我将有一个用户表(id、用户名、密码、电子邮件…)和一个财务表(id、用户id、日期、交易、金额、详细信息…),单个财务表将负责收入和支出,只需+/-金额。这是一个一

我正在考虑创建一些东西来帮助财务或类似的东西,就像一个小项目来帮助我的web开发技能一样,但有一件事我在规划阶段无法动脑

假设我有多个用户,每个用户都会显示一个表,其中包括每周/每月以及他们的支出、税收等。如何将其存储在数据库中?我是否能够在记录中嵌入某种类型的表,还是必须使用多对多关系

如果有人知道一个好的解决方案,我很乐意听到

我将有一个用户表(id、用户名、密码、电子邮件…)和一个财务表(id、用户id、日期、交易、金额、详细信息…),单个财务表将负责收入和支出,只需+/-金额。这是一个一对多的关系(一个用户有许多财务记录),然后您可以大致如下查询

SELECT * FROM tblFinance WHERE user_id = foo AND date BETWEEN NOW()-7 AND NOW()

当然,您可以在查询中聚合etc,希望这有助于您避免嵌入表。您混淆了数据的存储方式和显示方式

假设您使用的是关系数据库,则将数据存储在多个数据库表中。例如,您可能有一个包含以下列的数据库表(解释过于简单)

然后,此表将存储所有用户的费用


现在,为了显示在网页上,应用程序将从数据库表中获取数据并将其呈现在网页上。如何显示它取决于您的要求。您的应用程序将负责对从数据库中获取的数据进行整理、聚合和筛选,然后再将其显示给用户。

从您所描述的小部分中,您的支出表将与您的Person表建立多对一关系。支出表中的每一行都可以包含日期字段以及有关支出的其他信息。你需要多对多关系的唯一原因是,如果许多人与一项支出挂钩。您可能想读一本关于数据建模的好书

userid, expense_type, expense_description, amount, date_of_expenditure