La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Progettazione di un database

Presentazioni simili


Presentazione sul tema: "Progettazione di un database"— Transcript della presentazione:

1 Progettazione di un database
di Scaraggi Grazia

2 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

3 Schema Entità-Relazioni
Amici Prestiti 1 : N N N : 1 Libri N

4 Progettazione Concettuale
Entità: Amici Attributi: IdAmici Nome Telefono

5 Progettazione Concettuale
Entità: Libri Attributi: IdLibri Titolo Autore

6 Progettazione Concettuale Definizione 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

7 Progettazione Concettuale Definizione delle relazioni
Tabella: Amici Nome Campo Tipo Campo Dimensione Vincoli Note IdAmici Numerico Intero lungo Primary key Nome Testo 20 Not null Telefono 15

8 Progettazione Concettuale Definizione delle relazioni
Tabella: Libri Nome Campo Tipo Campo Dimensione Vincoli Note IdLibri Numerico Intero lungo Primary key Titolo Testo 20 Not null Autore 15

9 Progettazione Concettuale Definizione delle relazioni
Tabella: Prestiti Nome Campo Tipo Campo Dimensione Vincoli Note IdPrestiti Numerico Intero lungo Primary key FkAmiciPrestiti Foreign key Link alla tabella Amici FkLibriPrestiti Link alla tabella Libri DataRestituzione Data/ora Not null

10 Schema logico

11 Esempio di DML : Query Richiesta:
Si vogliono visualizzare i libri presi in prestito dall’ amica “Grazia”.

12 Esempio di DML : QBE (Query by example)

13 Esempio di DML : Query Sql
SELECT Titolo, Autore FROM Libri, Amici, Prestiti WHERE Nome=“NomeAmico” and IdAmici=FkAmiciPrestiti and IdLibri=FkLibriPrestiti

14 Risultato query

15

16 Esercizio n.2 Pazienti Ricoveri 1 : N N : 1 Medici Reparti 1 : 1

17 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.

18 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

19 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.

20 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.


Scaricare ppt "Progettazione di un database"

Presentazioni simili


Annunci Google