51得票5回答
如何设计一个用于存储排序列表的数据库?

我正在寻找一种将有序列表存储在数据库中的方法。我希望能够高效地执行以下操作: 1. Insert(x) - 将记录x插入到表中 2. Delete(x) - 从表中删除记录x 3. Before(x, n) - 返回在有序列表中位于记录x之前的n条记录 4. After(x, n) - 返回...

50得票3回答
我应该为一个表创建哪些索引,如何知道呢?

有没有办法让我找出为表创建哪些索引是最佳的方法?

49得票5回答
我可以添加一个忽略现有违规的唯一约束吗?

我有一张表,其中一个列目前存在重复的值。 我无法删除这些错误的重复项,但我希望防止添加其他非唯一值。 我能创建一个不检查现有符合性的“UNIQUE”吗? 我尝试使用“NOCHECK”,但没有成功。 在这种情况下,我有一张将许可信息与“CompanyName”关联的表。 编辑:拥有多个...

47得票5回答
嵌套视图是一种良好的数据库设计吗?

我很久以前在某个地方读到过一本书。这本书说我们不应该在SQL Server中使用嵌套视图。我不确定为什么不能这样做,或者我可能记错了。 学生们 SELECT studentID, first_name, last_name, SchoolID, ... FROM students CR...

46得票12回答
如何让数据库管理员更加“友好”于程序员?

对于问题"在数据库层中放置应用逻辑的论据是什么?"的dba.se版和programmers.se版上的答案和评论,揭示了DBA和程序员在某些工作场所之间的分歧。 DBA应该如何与程序员在这类问题上更好地合作呢? 我们应该: 学习我们的程序员使用的工具和语言,以理解他们面临的困难,尤其是...

46得票9回答
在数据库中,应该如何处理删除操作?

我想在一个网络应用中实现一个“撤销删除”功能,使用户可以改变主意并恢复已删除的记录。对于如何实现这一点,我有一些想法。我考虑过的一些选项是实际上删除相关记录,并将更改存储在单独的审计表中,或者不删除记录,而是使用一个布尔型的“已删除”列来标记它为已删除。后一种解决方案需要额外的应用逻辑,在正常...

45得票5回答
如何列出或搜索我的数据库中的所有列名?

我想在数据库中的列名中搜索一个字符串。 我正在进行一个维护项目,我处理的一些数据库有超过150个表,所以我正在寻找一种快速的方法来做这个。 你有什么建议?

44得票2回答
数据库模型包括用户、角色和权限。

我有一个数据库模型,其中包含用户表和角色表。我想要控制对最多10个不同元素的访问权限。这些访问权限可以授予角色或单个用户。 以下是用户、角色和项目的表定义: CREATE TABLE users ( id serial NOT NULL PRIMARY KEY, username c...

44得票3回答
是否可以接受具有循环外键引用?如何避免这种情况发生?

两个表之间的外键字段是否可以存在循环引用是可以接受的吗? 如果不行,如何避免这种情况发生? 如果可以,如何插入数据? 以下是一个例子,我认为在这种情况下循环引用是可以接受的: CREATE TABLE Account ( ID INT PRIMARY KEY IDENTITY,...

44得票6回答
常见个人字段的最佳实践(姓名、电子邮件、地址、性别等)

常见字段(例如:)的长度和数据类型上有哪些最常见的最佳实践? 名字 姓氏 地址 电子邮件 性别 州/省 城市 国家 电话号码 等等...