Tag: 数据库

为日历应用程序布置数据库模式

我想写一个日历应用程序。 这是真正反复出现的项目,在数据库模式的作品中引发了一场风波。 我会喜欢一些关于如何组织这个的input。 如果用户创build一个事件,并input它重复每个星期一,永远? 我怎么能把所有的数据存储在数据库中? 我无法创造无限的事件。 我只是简单地把一张桌子放在那里,有相关的信息,所以我可以计算出所有事件发生的地方? 如果是这样,每次用户查看日历的新部分,我将不得不计算它们。 如果他们翻阅了几个月,但他们有很多经常性的项目呢? 此外,模式需要处理,当用户点击一个项目,并说“编辑序列中的这一个”不是序列中的所有项目。 然后我把这个项目从序列中分离出来吗? 更新1 我还没有看过iCal。 为了清楚起见,我认为保存可以计算重复项目的信息,并且将不同于顺序的项目分开是一种很好的方式来存储它,以便能够传输它。 但是我认为,在一个应用程序中,这太慢了,要把date算到所有的地方。

什么ORM与Scala一起工作良好?

我即将编写一个依赖于MySQL数据库的Scala命令行应用程序。 我一直在四处寻找ORM,并且很难find一个能够正常工作的。 Lift ORM看起来不错,但我不确定它可以从整个Lift Web框架中分离出来。 ActiveObjects也看起来不错,但作者说,它可能不适用于Scala。 我不是从Java来的Scala,所以我不知道所有的select。 有没有人使用Scala的ORM,如果是的话,你使用了什么,它有多好?

是否有可能得到postgres中查询的历史logging

是否有可能得到在postgres中查询的历史? 是否有可能获得每个查询花费的时间? 我目前正在尝试识别正在处理的应用程序中的慢查询。 我正在使用Postgres 8.3.5

使用JPA Hibernate自动保存子对象

我有父和子表之间的一对多关系。 在父对象中,我有一个 List<Child> setChilds(List<Child> childs) 我在Child表中还有一个外键。 这个外键是引用数据库中父行的ID。 所以在我的数据库configuration中,这个外键不能为NULL。 此外键也是父表中的主键。 所以我的问题是,我可以通过做这样的事情自动保存子对象: session.save(parent); 我试过以上,但我得到一个数据库错误抱怨Child表中的外键字段不能为NULL。 有没有办法告诉JPA自动将这个外键设置为Child对象,以便它可以自动保存子对象? 提前致谢。

为什么没有数据库完全支持ANSI或ISO SQL标准?

如果我在devise一个炼油厂,我不会期望来自不同供应商的材料不会以微妙而重要的方式遵守公布的标准。 来自一个供应商的pipe道,阀门和其他部件可能会带有符合ANSI标准的法兰和壁厚,同样来自任何其他供应商的部件也是如此。 因此互操作性和系统安全性得到保证。 那么为什么常见的数据库对于他们所遵守的标准的哪些部分是如此挑剔,以及为什么没有100%符合标准的系统脱颖而出呢? 标准是否被打破,缺乏范围或难以devise? 得出这个结论; ANSI(或ISO)定义SQL标准的重点是什么? 编辑: 常用数据库之间的实现差异列表

如何模拟testing数据库(Java)?

我用Java编程,我的应用程序正在使用数据库。 因此,能够轻松testing我的数据库使用对我来说非常重要。 数据库testing是关于什么的? 对我而言,他们应该提供两个简单的要求: validationSQL语法。 更重要的是,根据给定的情况,检查数据是否被正确select/更新/插入。 那么,看来,我需要的只是一个数据库。 但实际上,我不喜欢,因为使用数据库进行testing几乎没有什么困难: “给自己一个testing数据库,可能有多难? – 那么,在我的工作地点,有一个个人testing数据库是不可能的。 你必须使用“公共”数据库,这是每个人都可以访问的。 “这些testing肯定不是很快……” – 数据库testing往往比平常testing慢。 有慢testing真的不是理想的。 “这个程序应该处理任何情况!” – 尝试和模拟数据库中的每个案例都变得有些恼人,甚至是不可能的。 对于每种情况,应该进行一定数量的插入/更新查询,这是烦人的,需要时间。 “等一下,你怎么知道那桌上有542排?” – testing中的主要原则之一是能够以与testing代码不同的方式testingfunction。 在使用数据库时,通常有一种方法可以做某些事情,因此testing与核心代码完全相同。 所以,当涉及到testing的时候,我可能会发现我不喜欢DB(当然,我将不得不在某些时候想到这个),但是在我的testing中,当我发现大多数的bug其余的testing方法)。 但是我在找什么? 我正在寻找一种方法来模拟数据库,模拟数据库,使用文件系统或只是虚拟内存。 我想也许有一个Java工具/包,它允许简单地构造(使用代码接口)每个testing的数据库模拟,模拟的表和行,SQLvalidation,并用一个代码接口来监视其状态(而不是使用SQL )。 你熟悉这种工具吗? 编辑:谢谢你的答案! 虽然我是在问一个工具,但是你也向我提供了一些关于这个问题的提示:)我需要一些时间来检查你的报价,所以我现在不能说你的答案是否令人满意。 无论如何,这里是我正在寻找的更好的视图 – 想象一下名为DBMonitor的类,它的一个特性就是查找表中的行数。 这里是我想用JUnittesting该function的一个想象的代码: public class TestDBMonitor extends TestCase { @Override public void setUp() throws Exception { MockConnection connection = new MockConnection(); this.tableName […]

为什么SQL数据库在命令日志中使用预写日志?

我读了关于Voltdb的命令日志 。 命令日志logging事务调用,而不是像提前logging中的每一行更改。 通过仅logging调用,命令日志将保持最低限度,从而限制磁盘I / O对性能的影响。 任何人都可以解释为什么Voltdb使用命令日志的背后的数据库理论,为什么标准的SQL数据库,如Postgres,MySQL,SQLServer,甲骨文使用预写日志?

使用SQL Server 2008在Visio中进行数据库图表反向工程

我需要对Microsoft SQL Server 2008进行反向工程,才能创buildMicrosoft Visio 2007数据库模型图。 所以我从“数据库”菜单中select“反向工程”连接到数据库。 我configuration了Microsoft SQL Server Visio驱动程序,以便使用SQL Server Native Client 10.0作为ODBC驱动程序。 之后,我创build了一个连接到我的数据库的用户DSN。 这个DSN的作品(至less提供的testing是成功的)。 单击反向工程向导中的下一步后,Visio请求我的凭据,我正确提供,但单击确定后,我收到以下消息: 当前选定的Visio驱动程序与数据源不兼容。 我尝试使用旧的SQL Server ODBC驱动程序,当然也重新configurationVisio驱动程序。 这也不起作用。

如何在java中testingjdbc代码?

我想为连接到数据库的一些代码编写一些unit testing,运行一个或多个查询,然后处理结果。 (没有实际使用数据库) 另一位开发人员编写了我们自己的DataSource,Connection,Statement,PreparedStatement和ResultSet实现,它们将根据xmlconfiguration文件返回相应的对象。 (我们可以使用伪造的数据源,并对它返回的结果集运行testing)。 我们在这里重新发明轮子吗? 像unit testing已经存在这样的事情吗? 还有其他更好的方法来testingjdbc代码吗?

在除以2之后select余数(模)为1的行?

在选项中有一列包含一个整数。 我只想在该值为%2 = 1时select该行。 我知道这可以在2个查询中完成,但是可以在1中完成吗?