不管我们喜欢与否,我们开发人员中的许多人(如果不是大多数的话)都经常使用数据库,或者有一天可能不得不使用数据库。考虑到大量的误用和滥用,以及每天出现的大量与数据库相关的问题,公平地说,有一些概念是开发人员应该知道的——即使他们今天不设计或使用数据库。

关于数据库,开发人员和其他软件专业人员应该知道的一个重要概念是什么?


当前回答

避免SQL注入以及如何保护您的数据库

其他回答

不要依赖于SQL查询返回的行顺序。

非唯一索引中的列顺序很重要。

第一列应该是其内容(即基数)变化最大的列。

这是为了帮助SQL Server在运行时如何使用索引创建有用的统计数据。

避免SQL注入以及如何保护您的数据库

根据我使用关系数据库的经验,每个开发人员都应该知道:

—不同的数据类型:

为正确的工作使用正确的类型将使您的DB设计更健壮,查询更快,生活更轻松。

—了解1xM和MxM:

这是关系数据库的基本功能。您需要理解一对多和多对多关系,并在适当的时候应用它们。

“K.I.S.S.”原则也适用于DB

简单总是最好的。如果你已经学习了数据库是如何工作的,你将避免不必要的复杂性,这将导致维护和速度问题。

——指数:

光知道它们是什么是不够的。你需要知道什么时候使用,什么时候不使用。


另外:

布尔代数是你的朋友 图像:不要将它们存储在DB上。不要问为什么。 用SELECT测试DELETE

将非正规化视为一个可能的天使,而不是魔鬼,并将NoSQL数据库视为关系数据库的替代方案。

此外,我认为实体-关系模型是每个开发人员必须知道的,即使你不设计数据库。它将让您彻底理解数据库的所有内容。