20
Progettazione di un database di Scaraggi Grazia 1

Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

Embed Size (px)

Citation preview

Page 1: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

1

Progettazione di un database

di Scaraggi Grazia

Page 2: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

2

Analisi dei requisitiSi vuole automatizzare la gestione del

prestito libri di una biblioteca

A tale scopo bisognerà memorizzare i dati relativi a:AmiciLibri Prestiti

Page 3: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

3

Schema Entità-Relazioni

Amici

Libri

Prestiti

N

N

1 : N

N :

1

Page 4: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

4

Progettazione ConcettualeEntità:

Amici

Attributi:IdAmiciNomeTelefono

Page 5: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

5

Progettazione ConcettualeEntità:

Libri

Attributi:IdLibriTitoloAutore

Page 6: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

6

Progettazione ConcettualeDefinizione delle relazioniDalla relazione N : N deriva una ulteriore entità

(Prestiti) i cui attributi saranno i seguenti:IdPrestitiCampo 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

Page 7: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

7

Progettazione ConcettualeDefinizione delle relazioniTabella:

Amici

Nome Campo

Tipo Campo

Dimensione

Vincoli Note

IdAmici Numerico Intero lungo

Primary key

Nome Testo 20 Not null

Telefono Numerico 15 Not null

Page 8: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

8

Progettazione ConcettualeDefinizione delle relazioniTabella:

Libri

Nome Campo

Tipo Campo

Dimensione

Vincoli Note

IdLibri Numerico Intero lungo

Primary key

Titolo Testo 20 Not null

Autore Testo 15 Not null

Page 9: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

9

Progettazione ConcettualeDefinizione delle relazioniTabella:

Prestiti

Nome Campo Tipo Campo

Dimensione

Vincoli Note

IdPrestiti Numerico

Intero lungo

Primary key

FkAmiciPrestiti

Numerico

Intero lungo

Foreign key

Link alla tabella Amici

FkLibriPrestiti Numerico

Intero lungo

Foreign key

Link alla tabella Libri

DataRestituzione

Data/ora Not null

Page 10: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

10

Schema logico

Page 11: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

11

Esempio di DML : QueryRichiesta:

Si vogliono visualizzare i libri presi in prestito dall’ amica “Grazia”.

Page 12: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

12

Esempio di DML : QBE(Query by example)

Page 13: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

13

Esempio di DML : Query SqlSELECT Titolo, Autore

FROM Libri, Amici, PrestitiWHERE Nome=“NomeAmico”and IdAmici=FkAmiciPrestitiand IdLibri=FkLibriPrestiti

Page 14: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

14

Risultato query

Page 15: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

15

Page 16: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

16

Esercizio n.2

Reparti

Pazienti

Medici

Ricoveri

1 : NN

: 1

1 : 1

Page 17: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

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.

Page 18: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

18

Le chiavi secondarie potrebbero essere:Reparto per l’entità Ricoveri campo link

all’entità RepartiReparto per l’entità Medici campo link

all’entità RepartiPrimario per l’entità Reparti campo link

all’entità Medici

Page 19: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

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.

Page 20: Di Scaraggi Grazia 1. Analisi dei requisiti Si vuole automatizzare la gestione del prestito libri di una biblioteca A tale scopo bisognerà memorizzare

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.