Tag: 数据库

为什么你在数据库中创build一个视图?

什么时候和为什么有人决定他们需要在他们的数据库中创build一个视图? 为什么不运行一个正常的存储过程或select?

每张桌子都应该有一个主键?

我正在创build一个数据库表,我没有分配给它的逻辑主键。 所以,我正在考虑把它放在没有主键的地方,但是我对此感到有些愧疚。 我是不是该? 每张桌子都应该有一个主键? 编辑:好的,好的…我已经创build了主键! 你现在高兴了? 🙂

首次数据库devise:我是否过度工作?

背景 我是CS的一年级学生,我兼职为爸爸做小生意。 我在现实世界的应用程序开发方面没有任何经验。 我已经在Python中编写脚本,在C中做了一些课程,但没有这样的。 我父亲有一个小型的培训业务,目前所有课程都通过外部networking应用程序进行安排,logging和跟进。 有一个导出/“报告”function,但它是非常通用的,我们需要特定的报告。 我们没有访问实际的数据库来运行查询。 我被要求build立一个自定义的报告系统。 我的想法是创build通用的CSV导出和导入(可能用Python)到每天晚上在办公室托pipe的MySQL数据库中,从那里我可以运行所需的特定查询。 我没有数据库方面的经验,但了解非常基础。 我已经读了一些关于数据库创build和正常forms。 我们可能会很快开始有国际客户,所以我希望数据库在发生这种情况时不会发生爆炸。 我们目前也有一些大公司作为客户,有不同的部门(如ACME母公司,ACME保健部门,ACME人体保健部门) 我提出的模式如下: 从客户angular度来看: 客户是主桌 客户与他们工作的部门有联系 部门可以分散在一个国家:伦敦的人力资源部门,斯旺西的市场部门等等。 部门与公司的分工有关 部门与母公司有联系 从课堂angular度看: 会议是主桌 每个课程都有一位老师 每个会话都有一个statusid。 例如0 – 完成,1 – 取消 会话被分组为任意大小的“包” 每个包都分配给一个客户 我在一张纸上“devise”(更像是潦草的)图案,试图使其保持归一化到第三种forms。 然后我把它插入到MySQL Workbench中,这对我来说非常有用: ( 点击这里查看全尺寸图片 ) 替代文字http://maian.org/img/schema.png 示例查询我将会运行 哪些还有信用的客户是不活跃的(未来没有上课的客户) 每个客户/部门/部门的出席率是多less(由每个会话中的状态ID来衡量) 一个月里老师有几堂课 举报率低的国旗客户 HR部门的定制报告,其分部的人员出席率 问题(S) 这是过度工程还是我正确的方式? 是否需要为大多数查询连接多个表导致性能下降? 我已经为客户添加了“lastsession”列,因为这可能是一个常见的查询。 这是一个好主意,还是应该保持数据库严格标准化? 谢谢你的时间

将SQL Server数据库脱机的极度等待时间

我试图在我的开发数据库上执行一些脱机维护(从活动备份开始数据库恢复),但是通过SQL Server Management Studio执行的“脱机”命令的执行速度非常慢,大约在30分钟以上。 我只是在我的智慧结束,我似乎无法find任何网上提到什么可能会导致速度问题,或如何解决它。 一些网站build议开放连接到数据库导致这种放缓,但使用这个数据库的唯一应用程序是我的开发机器的IIS实例,服务停止 – 没有更多的开放连接。 有什么可能导致这种放缓,我能做些什么来加速呢?

将sql dump导入到postgresql数据库中

我们正在交换主机,而旧的提供了我们网站的postgresql数据库的sql转储。 现在我试图在本地的wamp服务器上设置这个testing。 唯一的问题是,我不知道如何导入这个数据库的postgresql 9我已经成立。 我试过pgAdmin III,但我似乎无法find一个“导入”function。 所以我刚刚打开SQL编辑器,将转储的内容粘贴在那里并执行它,它创build表格,但是当他试图把数据放在里面的时候,我总是给我一些错误。 ERROR: syntax error at or near "t" LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view… The lines: COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin; t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view nl … 我也试过这个命令提示符,但我不能真正find我需要的命令。 如果我做 psql mydatabase < C:/database/db-backup.sql; 我得到错误 ERROR: syntax error at or […]

什么是数据库的正常forms,你怎么能轻松地应用它们,你可以举个例子吗?

在关系数据库devise中,存在数据库规范化或简单规范化的概念,这是组织列(属性)和表(关系)以减less数据冗余和提高数据完整性的过程。 (如维基百科上所写)。 由于大多数文章都是技术性的,因此难以理解,所以我要求某人根据关于1NF,2NF,3NF,甚至3.5NF(Boyce-Codd)的含义以及某人可能如何思考的例子,写一个更容易理解的解释以便随时应用这些基本规则,因为在devise关系数据库时,它们似乎是要记住的最重要的事情。

字符集和整理是什么意思?

我可以阅读MySQL文档,这很清楚。 但是,如何决定使用哪个字符集呢? 什么数据sorting有效? 我要求解释两者,以及如何select它们。

如何在MySQL数据库中显示表的模式?

从MySQL控制台,什么命令显示任何给定的表的架构?

unit testing数据库驱动应用程序的最佳策略是什么?

我使用了很多由后端数据库驱动的Web应用程序。 通常,有一个独立于业务和表示逻辑的ORM层。 这使得对业务逻辑进行unit testing相当简单; 事情可以在离散模块中实现,并且testing所需的任何数据都可以通过对象模仿来伪造。 但是testingORM和数据库本身一直充满着问题和妥协。 多年来,我尝试了一些策略,其中没有一个能完全令我满意。 用已知数据加载testing数据库。 针对ORM运行testing,并确认正确的数据返回。 这里的缺点是您的testing数据库必须跟上应用程序数据库中的任何模式更改,并且可能会不同步。 它也依赖于人造的数据,并且可能不会暴露由于愚蠢的用户input而发生的错误。 最后,如果testing数据库很小,则不会像缺less索引那样显示效率低下。 (好吧,最后一个unit testing应该不是什么用处,但是并没有受到影响。) 加载生产数据库的副本并进行testing。 这里的问题是,你可能不知道什么是在生产数据库在任何时候; 如果数据随时间变化,您的testing可能需要重写。 有人指出,这两种策略都依赖于具体的数据,unit testing只能testingfunction。 为此,我已经看到了build议: 使用模拟数据库服务器,并检查ORM是否正在发送正确的查询来响应给定的方法调用。 你用什么策略来testing数据库驱动的应用程序? 最适合你的是什么?

数据库字段的标准长度列表

我正在devise一个数据库表,并再次问自己一个愚蠢的问题: firstname字段应该多长时间? 有没有人有最常用的字段 ,如名字,姓氏和电子邮件地址的合理长度的列表 ?