Questions tagged «database»

该标签用于一般数据库问题。如果您对SQL有疑问,请改用该标记。

4
保持枚举和表格同步
我正在制作一个将数据发布到数据库的程序,并且遇到了我确定熟悉的模式:一个最有可能(很可能)固定值的简短表,它用作枚举。因此,假设下表名为Status: 状态 编号说明 -------------- 0未处理 1个待处理 2已处理 3错误 在我的程序中,我需要确定另一个表的状态ID,或者可能用新的状态ID更新记录。 我可以在一个枚举中对状态ID进行硬编码,并希望没人能更改数据库。或者,我可以预取基于上述说明的值(从而硬编码即代替)。 保持这两个枚举和表同步的正确方法是什么?
11 database  enum 

3
您如何使数据库在线?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 关于Web开发,我有一个非常初学者的问题。 我在使用JSP,Hibernate和MAMP方面有一些经验,可以创建一个简单的系统来跟踪库存和销售。但这一切都是在一台计算机上本地完成的。 这次,我想创建一个可以在线访问的系统。这是为了帮助我的母亲无论走到哪里都可以跟踪她的生意。因此会有类似的方面,例如跟踪库存和销售。我知道您必须拥有一台服务器来托管所有文件。但是我不知道如何在线访问数据库。或应使用哪种类型的应用程序或产品。 目前,我数据库的主机是localhost。如何使其联机以使您仍然可以进行CRUD操作?有任何指南可以做到这一点吗?

11
连续创建和删除表是否表明存在体系结构缺陷?
最近,我与一位开发人员进行了讨论,该开发人员提到在程序开发过程中,他们会定期创建和删除表和列,同时使用新功能和合理的工作,并说使用敏捷开发过程是正常的。 由于我的大部分背景都是在瀑布式开发环境中进行的,所以我想知道这在敏捷开发中是否被认为是正确的,或者这可能是潜在问题的征兆,无论是程序体系结构还是遵循敏捷过程。

10
RDBMS如何被视为一种时尚?
我于2003年完成了计算机A级学习,并于2007年获得了计算机学位,并且在一家使用大量SQL的公司中学习了自己的交易,因此我想到了将关系数据库用于存储的想法。 因此,尽管相对较不熟悉开发,我还是吃了一惊(在/software//q/89994/12436上)读到的评论说: [一些开发人员]鄙视[SQL],并认为它和RDBMS是一时的流行 显然,有能力的开发人员将使用正确的工具来完成正确的工作,并且在例如适用于平面文件或其他存储解决方案的情况下,不会创建关系数据库,但是RDBM在很多情况下都非常有用,因此如何被认为是一种时尚?

3
最佳实践:数据库应用程序编程模式
到目前为止,我已经写了许多数据库(MySQL)Web应用程序,但是我始终认为我的结构有点笨拙。我想改善我使用的编程/设计模式,希望在这里提供一些建议。特别是,我找不到一种可以补充OOP方法的结构,该方法封装了数据库的实现(模式)。一世 认为我的问题可以用例子来最好地解释。我现在使用2种方法说我有一个发票对象/类: 首先是使用静态成员函数 class Invoice { int id; string ref; int customer_id; date created; date due; static id create(); static bool update(id, field1, field2, ...); static bool delete(id); static bool get(id); }; 第二种方法是将所有内容放入数据库对象中: class Database extends ProprietaryDBConnecter, Singleton { id createInvoice(); bool updateInvoice(id, field1, field2, ...); bool deleteInvoice(id); bool getInvoice(id); …
11 database 

2
定价产品的数据库架构(打包,促销,基于数量,限时提供…)
我正在为一家公司提供新的销售点,该公司根据产品组合提供不同的价格。 所有产品都有底价。 为了解释我的问题,我将使用以下信息: Product Category Price A 1 45 B 1 70 Q 2 20 R 2 27 S 2 15 X 3 17 Y 3 22 Z 3 16 该公司有Packages,例如Package“ Combo”:对于产品A或B,如果选择Q或R中的1个以及X,Y或Z中的1个,则可享受$ 20的折扣。 案例A:有时客户在下订单时会添加基本产品,例如:他们不使用产品A,而是在其中添加产品Q和产品P以创建打折的包装。然后,他们可能会补充说,他们想要1个具有1 R和1 Z的乘积B。 情况B:有时客户会添加1 A和2 B,2 Q,1 S,2 X和1Z。根据“组合”程序包规定的规则,由于S不是组合项目,因此仅适用2个组合。 其他促销取决于数量,因此,如果您购买2件B,您将获得20%的折扣和/或取决于时间,该促销仅在下午5点之后有效,或者如果在上午10点之前折扣10%之前有效。另一个促销活动可能取决于您上次购买的时间或您在Y时间范围内的购买金额是否超过$ X。 我的问题: 1)如何构造表,以便以非常灵活的方式创建不同的包装或促销以添加具有不同要求的不同类型的促销? 2)当他们像案例B(或案例A和案例B的混合商品)那样订购时,如何构造查询,以便测试订单中有哪些商品组合,并相应地更新价格/说明?最终,此查询的最佳结果将返回满足要求的包装和促销,从而给客户带来最大的利益(即,他们订购的产品满足促销1和促销3的要求,但是促销3的价格更低。必须与多个促销一起使用)。 先谢谢您的帮助! 更新1 为了更好地描述手头的问题并更新迄今为止为解决这些问题而完成的工作,我将产品模型的ERD限于影响该问题的实体和属性(即,此处没有库存,因此没有库存)实体存在)。 …

3
每个数据库表的模型?
我正在使用codeigniter,并且发现自己处于类似的情况,在其中我重复了Model方法。我正在为每个控制器创建一个模型。但是我会为每个数据库表创建一个模型是一种好习惯吗?这样,方法不会被编写两次。 而不是每个控制器的模型或共享的几个小模型。 例如,如果我有一个模型方法get_user($ user_id),我可以在users_models.php上写它。 我看到的缺点之一是,我可能不得不调用多个模型,而不仅仅是controllername_models.php。 加载可能无法使用控制器几种方法的多个模型会影响性能和速度吗?解决这个问题的最佳方法是什么? 注意:也有类似的问题,但是它们没有涵盖每个数据库表的Model基础。

4
类复制模式?
我目前是我当前项目的独立开发人员。我从另一个离开公司的开发商那里继承了这个项目。它是C#中的模型视图控制器样式的Web应用程序。它使用实体框架进行对象关系映射。域模型中的类型有两组不同的类。一组用于与ORM进行交互,另一组用作MVC系统中的模型。例如,可能有两个类别,如下所示: public class Order{ int ID{get;set;} String Customer{get;set;} DateTime DeliveryDate{get;set;} String Description{get;set;} } 和 public class OrderModel{ String Customer{get;set;} DateTime DeliveryDate{get;set;} String Description{get;set;} public OrderModel( Order from){ this.Customer= from.Customer; // copy all the properties over individually } public Order ToOrder(){ Order result =new Order(); result.Customer = this.Customer; // copy all …

5
我是否真的需要关系数据库的触发器,例如PostgreSQL?
我知道触发器可以用来验证存储的数据以保持数据库的一致性。但是,为什么不先在应用程序端对数据进行验证,然后再将其存储到数据库中呢? 例如,我们存储客户,并且我们想要执行一些在DDL级别上不容易完成的验证。 https://severalnines.com/blog/postgresql-triggers-and-stored-function-basics 另一个例子是审计。 更新资料 触发器和数据库事务如何一起工作。例如,如果我想对插入的数据进行验证。它是在事务内部完成的。之前发生了什么:事务已提交或触发器已执行?

4
如果微服务架构需要每个微服务单独的数据库,那么它的成本太高且难以管理。为什么我们甚至需要它?
我读到有关微服务的信息,对于每个服务创建一个单独的DB来实现隔离似乎不合逻辑。我可以仅使用Web服务和单个数据库来实现相同的目的。为什么我们甚至需要它?分开数据库的东西是无聊的。还是我明明是错?你能指导我吗?

4
当您无法添加唯一索引时,有哪些可能的方法来避免重复
我陷入了并发问题。 用户发送2 o 3事务来保留某些不应在数据库中重复的数据是一个典型的问题,如果有重复的记录,您应该返回一个错误。 当您仅可以向存储哈希的列添加索引(唯一)时,此问题就很容易。 但是在这种情况下,我有一个巨大的表(可能有数百万条记录),而我不能只修改该表。 实际上,我们有一列存储数据的散列,该散列不应重复但未设置唯一索引。 我正在尝试在我的Java代码上检查是否在刷新之前存在,仍然会重复。 我对此可能的解决方案是: 创建一个触发器,以检查我要插入的哈希表上是否已经存在。 创建另一个表来存储该表的唯一索引,并将外键添加到主表。 坐在胎位上哭

3
如果使用Firebase,在哪里放置业务逻辑?
我将开始开发一个单页面Web应用程序,该应用程序非常简化了多用户文档系统。前端可能会使用Angular2。 该项目的期限很短,因此我一直在寻找“捷径”,即使用各种现成的服务,而不是从头开始实现所有内容。 我将需要某种后端来存储应用程序数据。我环顾四周,发现Firebase,它似乎取消了创建单独的后端和API以与前端通信的工作。 但这也意味着我必须将业务逻辑放在Angular2 Web应用程序的前端,对吗? 因此,如果我将来某天想做一个移动应用程序的前端,我是否必须复制业务逻辑代码? 我想替代方案是创建一个包含业务逻辑并使用Firebase进行数据存储的后端,但这似乎有点不可思议(我不能只在后端使用ORM或其他东西来获得相同的结果,而无需还有很多工作吗?) 例如,如果人们想使用Firebase,人们通常如何构造这类应用程序?

1
2v2游戏的数据库结构
我经常与12个朋友一起玩2v2游戏,我想要一个数据库来跟踪球员,球队,得分和比赛,以创建排名系统。 既然我们定期更换球队,我想出来的表格players,teams并games在那里比赛有两支球队(TEAM1和TEAM2)和队由两名队员(PLAYER1和player2)。 这会引起很多问题-例如,如果我选择两个球员(让他们分别称为A和B)一起玩,我必须检查是否已经存在一个其中Player1为A且Player2为B或Player1为B和Player2的球队是A。 表格和表格中都有列games和wins,但这是因为我既要查看玩家赢得了多少场比赛,又要查看玩家在不同团队中的兼容性(玩家与团队合作获胜的频率)其他特定玩家)。playersteams 排名记分牌(我可能会使用Elo评分系统) 为每个球员提供的统计信息页面,其中包括评分,获胜,比赛,最近的比赛统计信息以及与他最兼容的球员。 我强烈怀疑其中许多内容违反了数据库规范化的某些原则,并且我很乐意就如何实施数据库设计提出一些建议。

2
谁设计Web开发中的数据库?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 在Web开发的背景下,谁设计数据库?尽管有大量的信息将后端Web开发人员与服务器端处理,数据建模等相关联,但方程式的数据库设计方面似乎并不存在。 我不是在说谁设置物理数据库,而是在说谁设计数据库的逻辑模型,进行用户故事采访以获取有关需要哪些字段,这些字段规范是什么等信息。 。 我已经意识到(PROPER数据库)的设计是不小的任务(我在读这 672寻呼机),并可以很容易地是整个行业。但是,在Internet上上下搜索对于预期在Web开发环境中负责此任务的人员而言,收效甚微。

4
使用数据结构的算法与使用数据库的算法之间有什么区别?
一般问题 使用数据结构的算法与使用数据库的算法之间有什么区别? 一些背景 这个问题困扰了我一段时间,而我却无法给出令人信服的答案。 目前,我正在努力加深对当然会大量涉及数据结构的算法的理解。这些是基本结构,例如袋,队列,堆栈,优先级队列和堆。 我还每天使用数据库来存储最终用户已处理和提交或程序处理过的数据。我通过DAL检索和提交数据,该DAL具有自己的数据结构,该结构是根据数据库中的表生成的。 当我可以选择使用数据库对数据进行排序以按升序/降序将其发送回给我或检索并将数据加载到我的逻辑中,在优先级队列中处理此数据并进行堆排序时,我的问题就来了所有的。或者另一种方法是使用数据库搜索记录,而不是加载记录的子集并使用诸如二进制搜索之类的方法来查找我感兴趣的一个或多个记录。 在我看来,由于通信成本很高,因此在发送数据库端之前,我将尝试在数据库端进行尽可能多的操作。这也使我想知道您何时使用严格在自己的逻辑内定义的算法和数据结构,而不是处理数据库而不是数据库的数据? 所以这是问题... 问题 数据结构和数据库之间有什么区别? 我们什么时候使用的算法仅使用您自己的逻辑而不是数据库逻辑定义的数据结构? @Harvey发表:什么时候数据库中的方法变得比您自己的逻辑中的方法效率低? @mirculixx帖子:什么使方法有效? @Harvey帖子:处理具有数据结构的数据比在数据库中处理数据更快? 澄清说明 @Grant帖子:我通常使用的数据库是关系数据库,这些问题来自于它们的使用。但是,我确实认为这些问题适用于任何持久性框架(当我说框架时,我的意思是最一般的意义)。 我知道没有特定上下文的答案很难。我正在寻找有想法的食物,建议或讨论要点,将不胜感激!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.