% !TEX root = ../main.tex \textbf{Schema logico relazionale in formato testuale} \begin{verbatim} Giornali(\underline{IdEdizione*}, ComuneStampa) SitiWeb(\underline{IdEdizione*}, Url) Edizioni(\underline{IdEdizione}, Titolo, Direttore, AnnoFondazione) Articoli(\underline{IdArticolo}, IdEdizione*, Titolo, Sottotitolo, DataPubblicazione, Premium) Visite(\underline{IdVisita}, IdArticolo*, TempoLettura, IdUtente*) Utenti(\underline{IdUtente}, Nome, Cognome, Indirizzo) Abbonamenti(\underline{IdUtente*, IdEdizione*, DataSottoscrizione}, DataScadenza) ArticoliGiornalisti(\underline{IdArticolo*, IdGiornalista*}) Giornalisti(\underline{IdGiornalista}, NumeroAlbo, Cognome, Nome) GiornalistiDipendenti(\underline{IdGiornalista*}, CodiceInps) GiornalistiFreeLance(\underline{IdGiornalista*}, PartitaIva) \end{verbatim} %\textbf{Dipendenze funzionali} %\begin{itemize} %\item Per ogni tabella la chiave primaria (sottolineata) determina ciascuno degli attributi della tabella ($\{IdEdizione \to Titolo, IdEdizione \to Direttore, \textellipsis\}$) %\item Nella tabella Giornalisti, vale inoltre che $\{NumeroAlbo \to Nome;$ $NumeroAlbo \to Cognome;$ $NumeroAlbo \to IdGiornalista\}$: NumeroAlbo è una chiave naturale (l’Ordine dei Giornalisti si cura di non attribuire lo stesso numero di iscrizione all’albo a due giornalisti diversi), ho scelto di aggiungere la chiave artificiale IdGiornalista prevedendo possibili errori di inserimento da parte della segreteria della catena editoriale: in queto modo, il NumeroAlbo può essere modificato senza problemi in caso di errori. Discorso analogo per CodiceInps e PartitaIva. %\end{itemize}