Template per Schema Database Relazionale e DDL
Serve a backend developer e data engineer che devono trasformare requisiti di dominio in uno schema dati solido. Concreto: descrivi le entita e le regole e ottieni il modello logico (tabelle con colonne, tipi, chiavi primarie/esterne, vincoli), l'elenco delle relazioni e degli indici e il DDL SQL eseguibile, con scelte di normalizzazione motivate.
Esempio di output
# Schema database - [Dominio] ## 1. Dizionario tabelle ### Tabella: clienti | Colonna | Tipo | Vincoli | Descrizione | |---|---|---|---| | id | BIGINT | PK, auto-increment | Identificativo | | email | VARCHAR(255) | NOT NULL, UNIQUE | Email cliente | | creato_il | TIMESTAMP | NOT NULL DEFAULT now() | Data creazione | ### Tabella: ordini | Colonna | Tipo | Vincoli | Descrizione | |---|---|---|---| | id | BIGINT | PK | Identificativo | | cliente_id | BIGINT | FK -> clienti(id), NOT NULL | Cliente | | totale | DECIMAL(10,2) | NOT NULL, CHECK (totale >= 0) | Importo | ## 2. Relazioni - clienti 1 --- N ordini (un cliente ha molti ordini) ## 3. Indici - idx_ordini_cliente_id su ordini(cliente_id) - join frequenti ## 4. Note di normalizzazione Schema in 3NF. Nessuna denormalizzazione. ## 5. DDL (PostgreSQL) ```sql CREATE TABLE clienti ( id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, creato_il TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE ordini ( id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, cliente_id BIGINT NOT NULL REFERENCES clienti(id), totale DECIMAL(10,2) NOT NULL CHECK (totale >= 0) ); CREATE INDEX idx_ordini_cliente_id ON ordini(cliente_id); ```
Domande frequenti
Si: progetta almeno in terza forma normale (3NF) eliminando ridondanze e dipendenze transitive, e segnala esplicitamente eventuali denormalizzazioni proposte con la relativa motivazione (es. performance di lettura).
Si: produce CREATE TABLE con tipi, PRIMARY KEY, FOREIGN KEY, vincoli NOT NULL/UNIQUE/CHECK e indici, per il dialetto SQL che indichi (es. PostgreSQL/MySQL). Se non lo indichi usa SQL ANSI e lo segnala.
No: modella solo le entita e gli attributi che derivano dai requisiti forniti. Dove un tipo o una cardinalita non e chiaro usa [DA CHIARIRE] invece di assumere.
Vuoi un template su misura?
Costruiscine uno in poche domande — con la struttura corretta per il tuo standard.