database-design相关内容

如何检查查询是否使用索引

我使用SQL Server,我没有足够的数据集来测试查询的性能。 我想分析查询,看看索引是否被利用。如何检查 解决方案 在SQL Management Studio中,只需输入查询,并按Control-L计划)。在那里,您将能够看到是否正在使用任何索引。 “表扫描”表示不使用索引。 “索引扫描”表示使用索引。 ..
发布时间:2017-03-14 02:41:56 数据库

良好的数据库和结构来存储同义词

如果您可以选择所需的数据库,并必须存储(查询和更新)词同义词,那么您将选择什么数据库?你怎么储存它们?让我们假设会有很多同义词(但我想数据大小在这里不会有问题)。 解决方案 保持它非常简单,你可以创建一个词表和一个关系表的同义词。您可以考虑添加一个限制,如 WordID1 ..
发布时间:2017-03-14 02:39:44 其他数据库

列排序是否影响Microsoft SQL Server 2012中的性能?

我读过,varchar字段应该作为列放在数据库表的末尾 - 至少在MySQL中。原因是varchar字段具有可变长度,并且可能会减慢查询速度。 我的问题:这是适用于MSSQL 2012还是不是? 我应该设计表格,让每个数据库行的末尾都有文本数据吗? 解决方案 与数据库设计(实体,属性和关系),事务设计和查询设计的性能影响相比,表中列的顺序对性能的影响非常小。 要判断差异是否不可忽 ..
发布时间:2017-03-14 02:34:00 数据库

MySQL自动递增自定义值

我想在一个mysql数据库中创建一个列,自动从1增加,但从0-Z,然后滚动。 例如 ...,009,00A,00B,...,00Z,010,...,0ZZ,...,100。 我想让数据库通过自动递增字段创建列。 我的想法是: 为从0-36开始的每个字符创建一列,然后自动增加行N(其中N是最低有效数字)。然后在每列上添加一个触发器以添加1 创建一个包含36行的表,其中每行 ..
发布时间:2017-03-14 02:27:13 数据库

本地主键还是自动生成的?

通常使用原生主键(即现有列或列组合)更好,还是将主键设置为自动生成整数行? EDIT: 已经指出,这非常类似于这个问题。 这里的共识是使用代理键,这是我的自然倾向,但我的老板告诉我我也应该尽可能使用自然钥匙。他的建议可能是最好的这个特定的应用程序,因为行中的名称唯一标识它,我们需要保持查看旧数据的能力,因此对名称/规则的任何更改将意味着新的唯一行。 虽然这里的答案都有帮助, ..
发布时间:2017-03-14 02:21:02 其他数据库

表中有多少字段是“太多”?

我有一个同事计划一个新的应用程序的数据库,将有几个表,每个超过30字段。这是过多吗?也许我只是没有足够的理解。 编辑:另外,很多字段都是选项类型的东西(比如在请求表单上,你希望你的部件是黄色还是绿色,有一个字段为'color'与枚举)。很可能这些将被添加或删除随着时间的推移。我没有真正做数据库设计,并试图远离它自己,所以也许我是完全愚蠢的,但肯定有一个更好的方法这样做?? 解决方案 ..
发布时间:2017-03-14 02:11:10 其他数据库

外键引用多个表

我有一个具有uniqueidentifier的列,可以引用四个不同的表中的一个。我已经看到这样做有两种方式,但是两者看起来都是坏的做法。 首先,我看到一个ObjectID列没有明确声明它作为外键一个特定的表。然后你可以推你想要的任何uniqueidentifier。这意味着您可以从不是我想要的4个表的一部分的表中插入ID。 其次,因为数据可以来自四个不同的表,也看到人做了4个不同的外键 ..

哪个是我的导航的最好的数据库模式?

我正在创建一个网站,所有网页都悬挂在数据库驱动的树层次结构之上。 除一个节点外,所有节点都有父节点。节点可以具有基于角色的读取权限。一些节点可能有特殊的规则(例如:不在导航菜单中显示)。 节点可能表示到其他节点的链接(如Windows中的快捷方式)。节点通常代表页面。 页面呈现HTML内容或执行编程。某些网页可能是子树的根(备用母版和样式表)。 请帮助我在Microsoft ..
发布时间:2017-03-14 02:07:34 C#/.NET

规范化数据库对资源的影响是什么?

当从相对非规范化的形式获取数据库并将其标准化时,资源利用率中可能会出现什么(如果有)变化? 例如,规范化通常意味着从更少的表创建更多的表,这意味着数据库现在具有更多的表,但是其中许多表非常小,允许经常使用的表更好地适应内存。 表的数量越多,还意味着需要更多的连接(潜在地)来获取被抽出的数据,所以人们会期望来自更高数量的连接的某种影响系统需要做。 那么,对资源使用(即什么会改变)的 ..
发布时间:2017-03-14 02:04:08 其他数据库

将图像存储在数据库或文件系统中

可能重复: 在DB中存储图片 - 是或否? 在文件系统中存储图像更快,更可靠,或者应该将它们存储在数据库中吗? 假设图像不大于200 MB。目标是快速,可靠的访问。 一般来说,人们如何决定在文件系统或数据库中存储文件(例如图像,PDF) / p> 解决方案 个人意见:我总是在文件系统上存储图像,并且只在数据库中存储文件路径。在许多情况下,数据库存储在快速(读取:昂贵 ..
发布时间:2017-03-14 02:03:10 其他数据库

多个数据库与单个数据库

我在看一个现有的网站,他们正在使用单独的数据库。数据库的设置方式如下: 一般类型(user_type,language,age等) 会员数据(注册信息和登录) 网站配置 从安全角度看,我可以看到人们不能访问错误的数据,但在这个网站上将有管理员(大约10%的网站上的用户),将需要访问所有的数据库,进行跨数据库搜索。 做单独数据库的原因是什么? (网站位于PHP和MySQL中。) ..
发布时间:2017-03-14 01:59:09 其他数据库

每个DBMS的所有保留字

我正在设计一个数据库。现在它在MySQL上,但明天可以迁移到另一个DBMS。所以我必须注意不要使用保留字(对于MySQL和可能为任何其他DBMS)作为字段名称。我不想使用保留字作为字段名称,用引号或方括号括起来! 有一个网站,我可以找到所有保留字对于每个DBMS?或至少对最常用的。如果存在一个工具,你会把一个单词,它给你所有的DBMS,它是一个保留字,如果有的话,这将是巨大的。 如果没 ..
发布时间:2017-03-14 01:57:35 其他数据库

查询与视图

我想知道查询和视图在性能方面的区别。如果视图的代价很大,除了查询以外,我还能做什么来提高性能? 解决方案 视图和即席查询,在简单的情况下,在性能上几乎相同。所以,当你用视图编程时,你应该想象它的视图定义的文本被剪切和粘贴到你的父查询。 HLGEM在他的回答中指出,SQL Server的某些版本允许您“索引”视图 - 在这种情况下,SQL Server保持相同的结构 在SQL Serv ..
发布时间:2017-03-14 01:51:12 其他数据库

分层数据 - 嵌套集模型:MySql

我只是学习如何实现嵌套集合模型,但仍然与其涉及可能是多个类别的一部分的项目的某个方面混淆。在下面的示例中,从 此处 中提取,镜子很多其他例子我遇到了... 当您添加Apples时,如何避免在DB中出现重复,因为它们是多色的(即红色,黄色,绿色)? 嵌套集模型只是一种有效的方法推送和遍历树结构在关系DB中。它不是数据结构本身。它在MySQL用户中更受欢迎,因为MySQL缺少处理树结构的功 ..

varchar值如何存储在SQL Server数据库中?

我的同事程序员有一个奇怪的要求从他的团队领导;他坚持创建长度为16 * 2 n 的 varchar 列。 这种限制的要点是什么? 我可以假设短字符串(例如小于128个字符)直接存储在表的记录中,从这一点该限制将有助于对齐记录中的字段,较大的字符串存储在数据库“heap”中,只有对该字符串的引用保存在表记录中。 是吗? 这个要求有合理的背景吗? BTW,DBMS是SQL ..

如何在关系数据库中处理m..n关系?

让我们来看一个例子 - 书。一本书可以有1..n作者。作者可以有1..m的书。什么是表示一本书的所有作者的好方法? 我想出了创建一个Books表和一个Authors表。 Authors表具有作者姓名的主AuthorID键。图书表具有主图书ID和有关图书的元数据(标题,出版日期等)。然而,需要有一种方法将图书与作者和作者联系起来。这是问题所在。 我们假设我们有三本书。然而,在一本书上,他 ..
发布时间:2017-03-14 01:46:04 其他数据库

无法连接到pc-name\SQLEXPRESS

尝试通过sql management studio 2005连接到sql server 2005标准版时出现以下错误 我尽我所能解决这个问题,但没有解决方案。在堆栈溢出时,在以下post链接 如何连接到SQL Server 2008 Express的本地实例 在此帖子的一个答案我找到此屏幕拍摄 当我看到我的连接到服务器对话框,我发现差异像 问题是什么。如何解决请帮助我 ..
发布时间:2017-03-14 01:44:48 数据库

数据库死锁

我们有数据库死锁的一个经典原因是两个事务以不同的顺序插入\更新表。 例如。事务A在表A中插入,然后在表B中插入表B 和事务B插入,其后是A 一个场景总是存在数据库死锁的风险(假设您没有使用可序列化的隔离级别) 我的问题是 A)您在设计中遵循什么样的模式,以确保所有事务以相同的顺序插入\updating。 我正在阅读的一本书 - 有一个建议,你可以按照表的名称对语句进 ..
发布时间:2017-03-14 01:35:50 其他数据库