What should every developer know about databases? [fechadas]

Quer queiramos ou não, muitos, se não a maioria de nós, desenvolvedores trabalham regularmente com bancos de dados ou podem ter que trabalhar com um dia. E considerando a quantidade de uso indevido e abuso na natureza, e o volume de perguntas relacionadas a banco de dados que surgem todos os dias, é justo dizer que há certos conceitos que os desenvolvedores devem conhecer - mesmo que eles não projetem ou trabalhem com bases de dados hoje. Assim:


Quais são os conceitos importantes que desenvolvedores e outros profissionais de software devem saber sobre bancos de dados?


Diretrizes para respostas:

Mantenha sua lista curta.
Um conceito por resposta é o melhor.

Seja específico.
"Modelagem de dados" pode ser um importantehabilidade, maso que isso significa precisamente?

Explique seu raciocínio.
Por que seu conceito é importante? Não diga apenas "use índices". Não caia nas "melhores práticas". Convença seu público a aprender mais.

Votos positivos com as quais você concorda.
Leia as respostas de outras pessoas primeiro. Uma resposta de alto nível é uma afirmação mais efetiva do que duas de baixa classificação. Se você tiver mais para adicionar, adicione um comentário ou faça referência ao original.

Não faça downvote alguma coisa só porque não se aplica a você pessoalmente.
Nós todos trabalhamos em diferentes domínios. O objetivo aqui é orientar os novatos do banco de dados a obter um entendimento bem fundamentado e bem estruturado do design do banco de dados e do desenvolvimento orientado ao banco de dados, não para competir pelo título de mais importante.

questionAnswers(29)

yourAnswerToTheQuestion