3

我正在实施一个贷款系统,并想找出用于贷款记录的最有效/数据库标准结构技术。让我从基础开始:

我有两张桌子:

Customer_Record (id, f_name, l_name, p_number)

Loaner_Pool (id, model, serial_n, status)

这个想法是,借用池由一系列设备组成,例如:鼠标/键盘/笔记本电脑/电池/相机/等。状态表示项目是否已预订。我想知道的是如何设计将保存客户个人贷款的贷款记录表。我有两个这样做的想法

理念一

有一个记录条目,其中有一个名为“gear_list”的列,该列将保存客户预订的所有齿轮的 ID,用“,”之类的符号分隔,例如:

:贷款(id、customer_id、gear_list、日期、状态)

示例贷款

贷款[102, 30001, "23, 34, 949, 293", 时间戳, "out"]

有了这个想法,我一直保持我的进入低。但是,我必须每次在 PHP 中处理“gear_list”列,以便分离借出的齿轮的 id 值,然后执行单独的 SELECT 获取数据。

想法 2

将客户想要借出的每件商品作为单独的条目放在表中。该表看起来与想法 1 相同,但“gear_list”只会为每个借出的项目保存一个 id。

:贷款(id、customer_id、loan_pool_id、日期、状态)

贷款示例:贷款[102, 30001, "23", timestamp, "out"]

贷款[102, 30001, "34", 时间戳, "out"]

贷款[102, 30001, "949", 时间戳, "out"]

贷款[102, 30001, "293", 时间戳, "out"]

对于这个想法,在处理了许多贷款后,记录的数量将增加很多。列“gear_list”变为“loan_pool_id”,因为它只包含一个 id。好处是能够在“loan_pool”中只有一个 id 以便于操作/报告。

有没有更好的方法来处理这种情况?

提前致谢!

4

1 回答 1

3

您的第二个选择是关系数据库系统的正确选择。

您正在确定数据库需要存储的关键实体,然后使用正确的属性设计它们。

第一种方法是在单个字段中存储多个内容,这通常表明设计不佳。

于 2012-05-05T21:23:29.323 回答