首页 / 知识
数据库模式
2023-04-14 05:39:00

Database Patterns本问题已经有最佳答案,请猛点这里访问。
有谁知道论文/书籍/等。数据库的那个文档模式?例如,一个普遍的经验法则是,每个表都应有一个主键,并且该键应没有信息内容。所以我想知道是否有人写过一本书或发表过有关设计关系数据库的设计模式的论文? @Gaius, 这是数据库设计人员需要权衡的问题-数据库结构的可能稳定性是什么?在很长一段时间内,没有什么是稳定的。换句话来说,在很长一段时间内,一切都会发生变化。代理键(理论上)永远不要更改其含义,因为它永远都没有意义。 我猜在该特定设计方案中要考虑的另一件事是谁将看到主键?如果主键是最终用户实际需要参考的东西,那么使其成为他们可以理解的东西是有意义的。但是我无法想到最终用户需要看到主键的许多情况。通常,存在主键是为了允许数据库引擎加快某些操作的速度。 我提出这个问题的最初想法是找到数据库设计模式,这些模式是由比我本人更有经验的数据库设计人员编写的,从而希望避免一些容易避免的错误。如果有人曾经编纂数据库设计反模式,那将是很有趣的阅读。 具体来说,关于键:我强烈不同意这个奇怪的想法,即键必须没有意义。总的来说,我认为数据库是事实的集合。一旦开始向其中添加任意数字(如生成的键)和其他不相关的信息,它应该是一个警告信号。我建议乔·塞尔科(Joe Celko)巧妙地提出有关密钥的更多信息。 更一般的注意事项:
针对不同业务的架构设计/数据模型的建议:
也许不是很像模式,但是仍然非常好:
我可以推荐的另一个:
有关数据建模的系统教科书:
也许您实际上正在寻找"样式指南"?在这种情况下: 最明显的答案是E.F. Codd和C.J. Date的书。我没有读过这本书,但我对作者很熟悉,它可能相当不错。 Lexx de Haan和Toon Koppelaars为数据库专业人员提供的应用数学。 实际上,我认为经验法则通常是尽可能使用自然键而不是替代键... 因此,例如,如果我有一个Invoice表和一个InvoiceDetail表,则可以在第一个表上使用InvoiceNumber作为主键。它已经存在于我们的数据中,并且(我认为?)将是唯一的。对于第二张表,我们可能会需要使用代理键,但是,无论它是否以复合形式连接到发票号。 无论如何,回到最初的问题... hometoast的链接应该可以帮助您入门。 -凯文·费尔柴尔德(Kevin Fairchild) Bill Karwin撰写的SQL Anti-Patterns非常易于阅读(不干涩),并且以相当清晰的术语解释了许多不同的潜在陷阱,如何使用它们以及如何/为什么做正确的事情。 要确切回答:是的。在"好的"数据库设计上有成千上万的信息。尽管您的经验法则当然值得怀疑。 使用具有业务含义的主键("自然键")当然有其优点,但是它会使重构数据库变得非常困难。请谨慎使用,尤其是在有任何理由相信数据库结构会随着时间而改变的情况下。 |
最新内容
相关内容
linux回到命令行模式?
linux回到命令行模式?,系统,密码,状态,工具,电脑,终端,界面,环境,地方,命令,切换Linux系统下图形界面与Linux命令行模式1、手工切换:在图形界面linux命令模式联网?
linux命令模式联网?,网络,系统,工具,软件,密码,地址,最新,信息,工作,数据,linux下配置网络连接1、Linux 系统中,可以通过以下几种方法配置网络:linux数据库查找命令?
linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,在linux中如何用命令查找文件在哪使用查找命令 “find”命令允许linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux命令模式全屏?
linux命令模式全屏?,系统,工具,电脑,数据,位置,命令,虚拟机,分辨率,字符串,窗口,linux命令行模式满屏如何翻页或dmesg |less more命令的翻页按linux中回到命令模式?
linux中回到命令模式?,系统,密码,情况,状态,终端,环境,信息,首页,界面,命令,“linux”怎么返回输入命令的状态?1、如果在命令行下使用gedit, 关linux命令行模式6?
linux命令行模式6?,系统,设计,信息,工作,终端,首页,庞大,服务,地方,环境,linux的运行模式1、Disable工作模式(关闭模式)在Disable模式中,SELinulinux怎么用命令模式?
linux怎么用命令模式?,工作,地址,系统,信息,管理,命令,目录,情况,图形界面,终端,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、llinux建立数据库命令?
linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服务,linux中在shell中怎么创建一个数据库1、以下的文章主要讲述的是linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安linux插入命令模式?
linux插入命令模式?,工作,系统,地址,管理,信息,时间,命令,目录,平均,项目,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录的命令行模式登陆linux?
命令行模式登陆linux?,密码,系统,工作,信息,终端,环境,状态,地址,工具,服务,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信