Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >考虑到以下规则,我应该如何最好地设计表和关系?

考虑到以下规则,我应该如何最好地设计表和关系?
EN

Database Administration用户
提问于 2012-10-28 19:55:09
回答 2查看 1.2K关注 0票数 6

在当铺生意中,顾客典当、出售或购买物品。一种合同,它指定客户的信息、项目以及条款和条件,每当客户典当、出售或购买物品时,就会创建该合同。

每项合同最多允许6项。如果有超过6,那么他们必须被分成不同的合同。这一限制的原因是因为每种印刷形式只能存在一个唯一的合同。该表单为8.5乘5.5英寸(半页大小),因此每个表单上只有6个项目描述。我们在法律上不能拥有同一合同的第2页第1页。

属于合同的所有项目都分配了一个批号。这个批号也恰好是合同号。批号增加,不管它是典当,买卖合同。每种类型的合同将保持自己的收据序号。为典当合同设想一个单独的垫子,在右上角有一个收据号码,一个单独的购买垫和一个单独的销售垫。

销售和购买是最终的!

但是,客户可以在其活动典当上支付利息,在这种情况下,客户向出纳员提供其原始收据的副本以及利息支付。然后,为相同的典当项目(即使用相同的lot#)发出新的收据,显示新的到期日,原始或先前的收据被取消并由出纳存档。

当顾客赎回他们的典当时,就不会发出新的收据。客户在收据上签名,声明典当物品已归还给他们,收银员取消收据并将其归档。

当其他客户典当物品或支付利息时,新收据被写入并交给客户。

编辑:如果当铺不会为每次支付利息提供新的收据,而只是更新原始合同的支付日期,金额和新的到期日,那么我们就不会有复杂的!但是,我们有一个典当收据号码,有时会增加,有时不会增加,这取决于每个典当上操作的事务类型。

以下是一段时间内典当交易的一个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    CUSTOMER   TRANSACTION DATE/TIME   TRANSACTION TYPE     RECEIPT#
    --------   ---------------------   ----------------     --------

    Frank      Oct-28-2012,  9:00 am   New Pawn, Lot#501      P12345
    Mark       Oct-28-2012,  9:05 am   New Pawn, Lot#502      P12346
    Jeff       Oct-28-2012,  9:20 am   New Pawn, Lot#503      P12347

    ...
    (several other new pawns, which increment the lot and receipt numbers, and  
     interest payments which only increment the receipt numbers.)

    Mark       Nov-26-2012, 12:30 pm   Pawn Lot#502, Int Pymt P12945
    Frank      Nov-26-2012, 12:32 pm   Pawn Lot#501, Redeemed P12345 (no change)
    Jonathan   Nov-26-2012, 12:35 pm   New Pawn, Lot#600      P12946
    ...

    Jeff       Jan-30-2013, 12:39 pm   Pawn Lot#503, Forfeit  P12347 (no change)

正如您所看到的,典当批号在典当的生死存亡过程中从未改变过,但随着不同客户对现有典当或典当新项目进行利息支付,收讫号也随之增加。如果客户在到期日或到期日之前不支付任何利息或赎回当押物品,则客户将没收当押物品(收条号码保持不变),当铺将将这些物品放入库存。

顺便说一句,当当铺取出一个成熟的典当时,该典当中的每一件物品都被分配给最新的收据号码,在每个合同中以项目号作为后缀。然后他们被转移到当铺的存货里。

因此,当押批号503号中的第二个项目,其收据编号为P12347,将转入库存,库存编号为“P 12347-2”,其中"P“代表当铺,"12347”是当前的收据号,"-2“是该典当合同中的第二项。

我个人不愿使用这个编号方案,但许多在我的树林脖子上的当铺喜欢这样做,因为他们声称,他们可以根据某一特定典当的收件编号来判断最后一次活动是什么时候,再加上他们可以按时间顺序保存所有的典当,这样就可以更容易地提取它们。

因此,鉴于上述规则和示例,使用Informix或MS 2010 JetDB之类的SQL设计这些规则的表和关系的最佳方法是什么?

如果所有的典当、买卖,或者每个单独的合同表都有一个合同表,这是最好的吗?在contracts表上操作的transactions表如何?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-10-30 17:49:12

据我所理解,除了一个客户表之外,您还需要三个表:

  1. 合同-持有关于合同的单一价值数据,不包括收据.它可能记录合同的最新收据编号,但这将是一个优化,存储可衍生数据。主键:合同号(也称批号)。
  2. 合同项目-持有合同的1-6项。主键:批号,批号。批号是指合同的外键。
  3. 收据-保存有关收据的信息。主键:收据号码。外键:合同号再次引用合同。

给定的收据与一份合同相关联;如果一份合同是典当合同,一份合同可能会有多份收据(买卖合同将有一份收据)。

即使在典当合同取消时没有发出新的收据,也需要对合同或收据(或两者都更新)进行数据库更新,以指示合同已被取消。

这里有我遗漏的东西吗?

票数 5
EN

Database Administration用户

发布于 2012-10-28 20:04:07

我会有三个表:一个用于合同(包含合同编号和合同项目的详细信息),一个用于客户(包含客户的个人信息),另一个用于事务(通过许多关系将两者连接起来,还包含交易日期、事务类型--尽管您可能希望为每种类型分别创建表,但这取决于您--以及所涉及的金额)。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/27796

复制
相关文章
你应该知道的网页设计中的规则和禁忌
网页设计是一个棘手的话题。当你创建网站时你需要考虑很多事情。为了简化这个任务,我这里准备了一个列表,每个网页设计师在设计网页时都应该考虑这些注意事项。好消息是,这都是一些简单的设计原则。 让我们开始吧! 应该做什么: 1.不管设备如何,都应该提供相同的用户体验 用户会使用不同的设备来访问你的网站:他们可通过台式电脑或笔记本电脑,平板电脑,手机,音乐播放器甚至手表上访问您的网站。UX设计很关键的一部分是要确保用户应该具有类似的用户体验,不论他们是通过什么来访问你的网站,不论他们是使用什么样的设备。
奔跑的小鹿
2018/03/16
1.4K0
你应该知道的网页设计中的规则和禁忌
[译] 我见过最好最详细的 JavaScript 关系的解释
我无意在Reddit上找到了这个JavaScript meme,它是我见过最好的抽象。
Jimmy_is_jimmy
2019/08/06
5760
[译] 我见过最好最详细的 JavaScript 关系的解释
如何优雅地玩转分库分表
来源:https://www.cnblogs.com/dinglang/p/6076319.html
Bug开发工程师
2019/05/16
5560
如何优雅地玩转分库分表
如何优雅地玩转分库分表
在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战。让人感到担忧的是,他们系统真的就需要“分库分表”了吗?“分库分表”有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议。
Spark学习技巧
2019/05/21
7220
如何优雅地玩转分库分表
如何优雅地优化MySQL大表
除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量。
Bug开发工程师
2018/07/23
1.4K0
如何优雅地优化MySQL大表
如何优雅地玩转分库分表
在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战。让人感到担忧的是,他们系统真的就需要“分库分表”了吗?“分库分表”有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议。
java架构师
2019/05/14
4820
如何优雅地玩转分库分表
如何优雅地玩转分库分表
在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战。让人感到担忧的是,他们系统真的就需要“分库分表”了吗?“分库分表”有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议。
lyb-geek
2019/05/21
5810
【重学MySQL】四、关系型数据库设计规则
关系型数据库设计中,表、记录、字段的设计是至关重要的,它们直接决定了数据库的结构、性能和可维护性.
用户11332765
2024/10/28
910
【重学MySQL】四、关系型数据库设计规则
如何高效地进行网页设计
一、把握中心目标 大多数网页设计是以目标为导向,也就是网页做出来能为用户提供什么、能解决用户的哪些问题。例如电商网站的终极目标是卖出更多的商品,资讯类网站的目标是让用户能更多地阅读最新讯息,目标不同,两类网站在设计上也会有截然不同的差异。
华专网络
2023/03/07
3470
如何高效地进行网页设计
如何设计表结构
在工作中不可避免的就要针对新需求进行表结构设计, 那应该将表结构设计成什么样, 又该依据什么准则设计呢? 带着这些问题, 一起看下如何进行表结构设计. 表结构目的 我们应该带着什么样的目标, 或者说
一个架构师
2022/06/20
1.5K0
Django(15)外键和表关系[通俗易懂]
如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下:
全栈程序员站长
2022/09/19
2.1K0
谈DevOps自动化时,也应该考虑到SOX等法案
【编者按】作者Aaron Volkmann是CERT Division高级研究员,在本文中,他对DevOps自动化违反SOX法案进行了阐述。同时,也简单的提出了如何通过CI来避免这个问题,由OneAPM工程师翻译。 以下为译文 为了解决类似Enron、Worldcom以及Tyco等公司暴露出的财务欺诈丑闻,21世纪初期美国国会颁布了萨班斯-奥克斯利法案(SOX Act)。SOX法案要求上市公司通过一系列内部控制手段,确保向投资者披露正确的财务信息。在一家IT公司中,遵守SOX方案的主要准则之一就在于:确保没
CSDN技术头条
2018/02/11
9520
谈DevOps自动化时,也应该考虑到SOX等法案
如何优雅地设计数据分层
本文主要讲解数据仓库的一个重要环节:如何设计数据分层! 其它关于数据仓库的内容可参考之前的文章。
木东居士
2018/05/25
5K5
百亿关系链,架构如何设计?
粉丝与关注,社交好友,都是典型的“多对多关系”的业务,这类业务的核心服务是好友中心,当关系链达到百亿之后,好友中心架构设计要考虑哪些因素,是本文将要分享的内容。
架构师之路
2020/08/11
2.4K0
百亿关系链,架构如何设计?
设计规则
调用泛型类型的静态成员时,必须指定该类型的类型参数。 当调用不支持推理的泛型实例成员时,必须指定该成员的类型参数。 在上述两种情况下,用于指定类型自变量的语法不同,但很容易混淆。
呆呆
2022/01/09
2K0
表与表之间关系
可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。
星哥玩云
2022/09/15
1.4K0
表与表之间关系
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
SQL FOREIGN KEY 约束用于防止破坏表之间关系的操作。FOREIGN KEY 是一张表中的字段(或字段集合),它引用另一张表中的主键。具有外键的表称为子表,具有主键的表称为被引用表或父表。
小万哥
2023/12/08
2580
SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
网站详情页应该如何设计?
当买家点击宝贝进店后浏览宝贝首先展示给买家的第一屏信息非常重要,决定者买家是不是继续往下浏览宝贝,通常我们叫做首屏论。
华专网络
2022/08/23
5360
网站详情页应该如何设计?
Api接口设计需要考虑到de因素呢
设计接口是一件容易的事,也是件困难的事。设计接口每个人都会,每个人都能设计,也由此产生了各种各样的理念的接口。工作这么多年,我也很有感悟。很多人会说,设计接口多么简单,只要命名好,然后联调通了,上线可以调用就行了。特别是非互联网行业的人,这里没有歧视的意思。因为互联网行业和传统行业太多不一致性决定了这种思想的产生。
php007
2019/08/05
9420
Api接口设计需要考虑到de因素呢
关系型数据库中常用的表设计
*其中dict_code为dict_title的编码,相同dict_title的记录为同一组基础数据,每组基础数据下又有多对dict_value与dict_name.
星哥玩云
2022/08/17
1.6K0
关系型数据库中常用的表设计

相似问题

我应该如何为友谊设计一张关系表?

50

这个设计最好的关系?

10

我应该如何最好地命名我的时间戳字段?

110

我应该重新设计我的“事件”表吗?

40

数据库设计:用户表和关系

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文