210 likes | 352 Views
Progettazione di un database. di Scaraggi Grazia. Analisi dei requisiti. Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare i dati relativi a: Amici Libri Prestiti. Schema Entità-Relazioni. Amici. Prestiti. 1 : N. N. N : 1.
E N D
Progettazione di un database di Scaraggi Grazia
Analisi dei requisiti • Si vuole automatizzare la gestione del prestito libri di una biblioteca • A tale scopo bisognerà memorizzare i dati relativi a: • Amici • Libri • Prestiti
Schema Entità-Relazioni Amici Prestiti 1 : N N N : 1 Libri N
Progettazione Concettuale • Entità: • Amici • Attributi: • IdAmici • Nome • Telefono
Progettazione Concettuale • Entità: • Libri • Attributi: • IdLibri • Titolo • Autore
Progettazione ConcettualeDefinizione delle relazioni • Dalla relazione N : N deriva una ulteriore entità (Prestiti) i cui attributi saranno i seguenti: • IdPrestiti • Campo link alla tabella Amici : definisce il nome(o soprannome) della persone che ha preso in prestito il libro • Campo link alla tabella Libri : definisce il libro preso in prestito • DataRestituzione
Progettazione ConcettualeDefinizione delle relazioni • Tabella: • Amici
Progettazione ConcettualeDefinizione delle relazioni • Tabella: • Libri
Progettazione ConcettualeDefinizione delle relazioni • Tabella: • Prestiti
Esempio di DML : Query • Richiesta: • Si vogliono visualizzare i libri presi in prestito dall’ amica “Grazia”.
Esempio di DML : Query Sql • SELECT Titolo, Autore FROM Libri, Amici, Prestiti WHERE Nome=“NomeAmico” and IdAmici=FkAmiciPrestiti and IdLibri=FkLibriPrestiti
Esercizio n.2 Pazienti Ricoveri 1 : N N : 1 Medici Reparti 1 : 1
Le chiavi primarie potrebbero essere: • Cod per l’entità Reparti; • Cod per l’entità Pazienti; • Paziente e Inizio per l’entità Ricoveri; • Matr per l’entità Medici. Nell’ entità Ricoveri poniamo, come chiave, anche la voce Inizio, supponendo che ogni paziente non possa essere ricoverato due volte nello stesso giorno.
Le chiavi secondarie potrebbero essere: • Reparto per l’entità Ricoveri campo link all’entità Reparti • Reparto per l’entità Medici campo link all’entità Reparti • Primario per l’entità Reparti campo link all’entità Medici
I vincoli di integrità referenziale, invece, sono : • tra l’attributo Paziente di Ricoveri e la relazione Pazienti; • tra Reparto di Ricoveri e Reparti; • tra Reparto di Medici e Reparti; • tra Primari di Reparti e Medici.
I valori nulli possono essere inseriti in tutti quei campi diversi dalla chiave primaria, quindi dai seguenti attributi: • Nome di Reparti; • Cognome, Nome di Pazienti; • Fine di Ricoveri; • Nome, Cognome di Medici.