database-design相关内容

最好使用一个空值作为一个“”或者为NULL?

数据库架构 我有以下字段: title(string) subtitle description(string) 最好将默认值设置为空字符串“或 NULL ? 解决方案 通常的合同是: NULL 表示“没有可用的信息”。 超出这一点自从 NULL 在任何语言中发明而不仅仅是SQL之后,还有许多哲学讨论。 唯一的技术点这里是:在PostgreSQL N ..
发布时间:2017-03-14 04:48:58 数据库

如何使用唯一复合键

我有一个表 Item(ItemName *,ItemSize *,Price,Notes) 我使用(ItemName,ItemSize)的复合键来唯一标识项目。现在阅读一些关于stackoverflow的回答,建议使用UNIQUE i将其修改为 Item(ItemID *,ItemName,ItemSize, Price,Notes) 但是如何对I ..
发布时间:2017-03-14 04:46:16 其他数据库

分层组的数据库模式

我正在开发一个用于作为更大系统基础的组层次结构的数据库设计。 正在使用的数据库是MS SQL 2005.(虽然工作在MS SQL 2000将是一个奖金;一个解决方案需要MS SQL 2008是不幸的是在这个时候是不可行的)。 有不同类型的组,这些需要动态和可由用户在运行时定义。例如,组类型可以是“客户”,“帐户”,“城市”或“建筑物”,“楼层”,并且每种类型将具有可由用户定义的一组不同 ..
发布时间:2017-03-14 04:44:28 数据库

如何存储.txt文件MySQL数据库?

我可以将数据文件(例如txt文件)存储到MySql服务器吗? 解决方案 您可以使用 LOAD DATA INFILE 读取文件的内容以结构化格式将其存储在数据库的表中。 这比在客户端上读取和解析文件,然后使用多个INSERT语句要快得多。 示例: LOAD DATA INFILE'data.txt'INTO TABLE db2.my_table; ..
发布时间:2017-03-14 04:43:41 数据库

varchar是否会由于数据碎片而导致性能下降?

varchar列如何由数据库引擎内部处理?对于定义为char(100)的列,DBMS在磁盘上分配100个连续字节。然而,对于定义为varchar(100)的列,大概不是这种情况,因为varchar的整个点不会分配比存储列中存储的实际数据值所需的更多空间。因此,当用户将包含空varchar(100)列的数据库行更新为包含80个字符的值时,该80个字符的空间从哪里分配?看来,varchar列必须导致实 ..
发布时间:2017-03-14 04:41:04 其他数据库

数据库供应商如何实现事务?

使用数据库时,通常必须使用事务。例如,我想将一定数量的钱从帐户A转移到帐户B.这涉及两个查询:一个用于减少帐户A中的钱,另一个用于增加帐户B中的钱。 理论上,我可以单独进行查询,但会发生错误。所以,可以肯定的是,我可以在一个事务中打包两个查询,并确保两个操作都定期结束或根本没有改变。没有钱消失或创建。 问题是,在我看来,这只是将责任从我转移到数据库供应商。现在是由数据库来做这两个操作, ..
发布时间:2017-03-14 04:38:37 其他数据库

在SQL的一个查询中更新多个行的多个行

我想在一个查询中为多个行设置多个列,但到目前为止没有运气。 这是我的表格的样子 表:user 我想在user_id IN(3,4,5)上设置'ext_id',还想设置ext_flag = Y和admin_role = admin。在同一行中。 结果表如下所示 我的查询看起来像这样,但由于不熟悉SQL语法,我得到错误。 b $ b 更新使用者 set ext_fl ..
发布时间:2017-03-14 04:34:52 数据库

两个不同数据库中的两个表之间的联接有什么问题?

我对您对连接来自不同数据库的两个或多个表的缺陷感到感兴趣。 假设表 Table1 位于 DatabaseA 数据库和表2 位于 DatabaseB 。假设我有一个视图,在 DatabaseA 中,从 Table1 中取出一些数据, DatabaseA '中的表。 这个视图用于将数据推送到另一个数据库,让我们称之为一个数据库,unimaginatevely, DatabaseC p> ..
发布时间:2017-03-14 04:32:45 数据库

在sql server中存储持续时间(timespans)

我必须在SQL Server 2008数据库中存储持续时间。这通常是如何做的? 例如,我将能够存储像5分钟,8小时,10天等值。 我想把它存储在smalldatetime字段中作为mindatetime + timespan。 任何人都有这方面的经验? 解决方案 如果开始时间很重要(因为你记录了一个事件),那么你总是想把它存储为一个datetime,所以你可以读回它以后, ..
发布时间:2017-03-14 04:32:34 数据库

应用程序配置或应用程序选项设置的最佳表设计?

我需要在数据库中存储一系列配置值。 我认为存储它们的几种方法是:一个表有2列(名称,值)和每一对的行,或者一个表,每列配置参数和1行? 第一个我只需要添加另一行添加一个配置值,第二个我需要添加一个列到表。有任何问题,我应该考虑吗?是一个比另一个更有效吗? 解决方案 对于配置数据,我将使用键/值结构,每个配置项有一行。您可能会读取此数据一次并缓存它,因此性能不是问题。正如你所指出的,每次 ..
发布时间:2017-03-14 04:30:56 其他数据库

一个用于处理多个应用程序数据库的用

我管理的是一个相当大的数据库,它在单个应用程序数据库中的复杂性和设计。现在有一个计划,添加第五个应用程序,它带有自己的模式和特定的数据。我一直在研究SSO解决方案,但这不是我真正的后果。我的目标是拥有一个客户注册,登录和授权点。 理想情况下,每个应用程序都会请求身份验证,并授权多个应用程序,连接到适当的数据库进行操作。我没有第一手经验处理这种程度的分离,因为一个数据库已经无瑕疵地多年流失。 ..
发布时间:2017-03-14 04:25:07 数据库

创建数据库表NULL的最佳实践

当我有一个表,其中两个字段有时填充,在行中创建很多NULL值时,不确定什么最佳做法是处理NULL值。 是否应将这两个字段移动到单独的表,创建两个没有NULL值的表? 在这两个表中只返回一个结果,它等于我的原始表与NULL的,所以有什么意义? 似乎没有意义, 任何想法欢迎,谢谢。 解决方案 纯粹理论上,NULL应该是指“未知值”。所以,再次,纯粹是理论上,你应该设 ..
发布时间:2017-03-14 04:21:35 其他数据库

PostgreSQL:在大型数据库上定义主键

我正在规划一个数据库来存储大量的文本。 (博客帖子,新闻文章等)数据库需要有标题,内容(最多50k个字符),日期,链接和语言字段。相同的内容不能发生在一个链接上。旧内容(例如旧的30天)将被删除。 现在,问题是主键。我可以设置一个自动递增(SERIAL类型)字段并将其用作主键。但是,它似乎愚蠢和浪费光盘空间,因为字段不会用于任何目的,但是作为主键。 (并且字段可能最终用完,或者不是?)并且总 ..
发布时间:2017-03-14 04:19:28 其他数据库

为什么我们需要数据库表中的审计列?

我看到许多数据库设计在所有表上都有以下审核列... 创建者 创建DateTime 更新者 创建日期时间 b $ b 从一个角度来看,我看到以下视图中的表... 实体表: 很适合用于审核列) 参考表: 可能需要或可能不需要审核列。在某些情况下,根本不需要最后更新信息,因为记录永远不会被修改。) 参考数据表 与国家名称,实体状态等相似。可能不需要 ..
发布时间:2017-03-14 04:19:17 其他数据库

SQL主键,INT还是GUID或..?

有什么原因我不应该使用整数作为我的表的主键? 数据库是SQL-CE,每年约有50,000个条目的两个主表和一些次表。只有两个连接将不断地存在于数据库中。但更新将通过多个TCP套接字连接触发,因此将有许多交叉线程访问和使用相同的数据库连接。虽然活动非常低,因此同时更新是不太可能,但可能会发生,可能是每天最多两次。 可能会将LINQ2SQL用于DAL或类型化的数据集。 不确定这些信息 ..
发布时间:2017-03-14 04:16:29 数据库

用于存储食谱的数据库设计

我想创建一个我喜欢的食谱数据库,但我在设计它时遇到麻烦。我想要至少有两个表: 食谱表(有说明,配料, 成分表(成分类型,其他属性等) 将两个表关联在一起?我需要第三个表来存储从一个食谱到多个成分的几个关系吗? 你可能会说,我对这个东西比较新,只是试图找出正确的方法做第一次尝试。 谢谢! 解决方案 这里是一个相当高级的链接: http://www.databa ..
发布时间:2017-03-14 04:16:17 其他数据库

如果表中有太多的列,是否会降低性能?

如果我的数据库中的一个表有大量的列,是否有一些性能损失?让我们假设我有一个有30列的表。 我应该考虑将表分成几个更小的表还是确定? 每个数据库表的建议最大列数是多少? 谢谢。 解决方案 如果你真的需要所有这些列(即,它不只是一个标志,你有一个设计不好的表),然后通过一切手段保持它们。 这不是一个性能问题,只要你 在需要用来选择行的列上使用适当的索引 如果 ..
发布时间:2017-03-14 04:11:59 数据库