Odpowiedzi:
Obaj są autorami kilku książek, ale zamierzam linkować do ich blogów, na wypadek gdybyś chciał czegoś bardziej bezpośredniego.
Louis Davidson: http://drsql.org
Paul Nielsen: http://www.sqlserverbible.com/
SQL Antipatterns jest wart przeczytania, aby uzyskać wskazówki na temat tego, czego nie powinieneś robić i dlaczego nie (iw jakich okolicznościach zasady te można legalnie zignorować).
Dogłębna baza danych: Relacyjna teoria dla praktyków , autor: CJ Date, stanowi świetne, krótkie i bardzo pouczające wprowadzenie do projektowania baz danych.
Ważne jest rozróżnienie między koncepcyjnym, logicznym i fizycznym poziomem projektowania.
Dwa doskonałe i uzupełniające się zasoby to:
Model relacyjny odróżnia się od wszystkich innych modeli danych tym, że jest modelem logicznym, który opisuje logiczną strukturę, za pomocą której można prezentować dane (relację), zestaw operatorów do manipulowania tą logiczną strukturą (algebra relacyjna) oraz zestaw zasad integralności danych, aby zapewnić, że dane przechowywane w DBMS są możliwie wiernie odwzorowane w świecie rzeczywistym. Trzy doskonałe zasoby do nauki o logicznym projektowaniu bazy danych to:
Poziom fizyczny jest jedynymmiejsce, w którym funkcjonuje wydajność, struktura pamięci dyskowej i pamięci oraz skalowalność. Nie specjalizuję się w tej dziedzinie, ale mogę powiedzieć, że opanowanie tego poziomu jest przede wszystkim próbą opanowania danego DBMS, z którym pracujesz. DBMS jest tak zaawansowanym oprogramowaniem, że oszukujesz siebie, jeśli myślisz, że możesz opanować całość, a tym bardziej opanować więcej niż jeden. Z tego powodu zaleciłbym trzymanie się poziomów koncepcyjnych i logicznych i stworzenie solidnego logicznego projektu bazy danych, a następnie współpracę z naprawdę dobrym DBA, który specjalizuje się w docelowym DBMS, aby opracować fizyczny projekt. Jednym z naprawdę dobrych źródeł projektu fizycznego, który określa podstawowe tematy i opcje wspólne dla większości DBMS, jest Sam Lightstone, Toby Teorey i Projekt fizycznej bazy danych Toma Nadeau .
Kolejny dobry:
Teoria SQL i relacyjna: jak pisać dokładny kod SQL - data CJ (2009)
Podgląd dostępny w Książkach Google .
Zanim zagłębisz się w literaturę, ten artykuł może ci się przydać:
All for One, One for All według CJ Date
Celem [tego artykułu] jest określenie dokładnej natury relacji jeden-jeden, wiele-do-jednego, jeden-do-wielu i wiele do wielu. W szczególności próbuje znaleźć dokładne definicje tych pojęć [ponieważ] przegląd literatury z pewnością zdradza zamieszanie i brak systematycznego myślenia w tej dziedzinie