Testo canonico su progettazione di database?

Ho trovato la costruzione di software orientata agli oggetti di Bertrand Meyer, descritta nella risposta a questa domanda , che ha un valore inestimabile nel venire gradualmente a galla OOP. Ha cambiato il modo in cui ho pensato di scrivere codice, e ha influenzato indirettamente la maggior parte di ciò che ho scritto da allora.

Ho bisogno di utilizzare alcuni database di medie dimensioni in alcuni progetti su cui sto lavorando e spero di avere lo stesso tipo di epifania sui database relazionali. Comprendo i concetti di base: le tabelle contengono righe di dati organizzate in colonne, alcune colonne svolgono una funzione speciale agendo come una chiave, le chiavi sono utilizzate per build relazioni tra righe di tabelle diverse, ecc., Ma sono interessato ad ottenere una maniglia sulla teoria che determina le migliori pratiche di progettazione di database.

C’è un testo canonico che potrei leggere per ottenere questo tipo di comprensione? C’è qualcosa che ogni DBA professionale ha letto? Userò un ORM – SQLAlchemy – per questi progetti, ma sono interessato all’apprendimento di concetti in modo agnostico rispetto alla piattaforma, poiché ho scoperto che la maggior parte dei tutorial di SQLAlchemy si concentra più sulla meccanica di SQLAlchemy che sui fondamenti dei database .

EDIT: I seguenti non sono un consenso sul settore. Ma i primi due autori sono associati a un testo introduttivo classico di 8 anni di 40 anni e il terzo a una famiglia di metodi noti rilevanti.

Di questi libri, il primo il più.

Hugh Darwen:

Un’introduzione alla teoria del database relazionale

Esercitazioni sulla teoria del database relazionale

SQL: un’indagine comparativa

Chris Date:

Teoria relazionale per i professionisti del computer: quali database relazionali sono davvero tutti a proposito

Database Design e Relational Theory: Normal Forms e All That Jazz

Teoria SQL e relazionale: come scrivere codice SQL accurato, 2a edizione

Terry Halpin:

Database di informazioni e di modelli relazionali, seconda edizione

(Object role modeling (ORM 2), l’argomento del libro, sfortunatamente produce modelli con qualche inutile cruft in cima al modello relazionale e coinvolge altri equivoci relazionali, ma questo è il migliore degli approcci di modellazione delle informazioni del database.)

Ahimè, sei già danneggiato: le chiavi non sono necessarie per l’interrogazione, indicano vincoli sugli stati del database. E ogni super-chiave di ogni espressione di tabella (base, vista e query) corrisponde a qualche quadro. E le entity framework sono sopravvalutate.

Sfortunatamente l’ORM (mapping oggettuale-relazionale) fraintende fondamentalmente il modello relazionale.

In circa tre minuti questa domanda verrà chiusa come off-topic: i migliori libri di database per gli sviluppatori [chiusi] .

Forse il lavoro di Codd “il modello relazionale per la gestione del database”

È probabilmente più teoria di quanto tu voglia.