- Ricerca per Reparto: scelto un Reparto, il numero di libri “Da non perdere” ed il numero di libri “I più venduti” con i relativi dettagli
Ipotizziamo che la scelta del reparto avvenga tramite il nome (R_nome). Sono necessarie 4 tabelle: LIBRO, REPARTO, CATEGORIA, APPARTIENE
Con questa prima interrogazione otteniamo il numero di libri “Da non perdere” di un determinato reparto:
SELECT count(*) AS [Numero_Libri]
FROM Libro, Reparto, Categoria, Appartiene
WHERE (
L_Reparto=R_codice
AND
C_codice=A_Categoria
AND
A_Libro=L_codice
AND
R_nome=[Nome del reparto]
AND
C_descrizione="Da non perdere"
);
(analogo discorso per i libri “I più venduti”)
Per ottenere il dettaglio dei libri (in questo caso presentiamo solo autore e titolo:
SELECT L_autore, L_titolo
FROM Libro, Reparto, Categoria, Appartiene
WHERE (
L_Reparto=R_codice
AND
C_codice=A_Categoria
AND
A_Libro=L_codice
AND
R_nome=[Nome del reparto]
AND
C_descrizione="Da non perdere"
);
(analogo discorso per i libri “I più venduti”)
- Ordini: gli ordini in corso, con dettagli, di un dato utente,
- con accesso riservato agli utenti registrati, la composizione degli ordini in corso.
L’accesso è riservato agli utenti registrati che quindi possono consultare solo i propri ordini, ipotizziamo quindi che durante la fase di login venga memorizzato il codice utente (COD_UTENTE), l’attributo O_stato della tabella Ordini è utilizzato per individuare gli ordini in corso.
SELECT O_numero AS [N. Odine], L_autore AS [Autore], L_titolo AS [Titolo], I_numero_copie AS [copie]
FROM Ordine, Incluso, Libro
WHERE (
I_Ordine=O_numero
AND
I_Libro=L_codice
AND
O_Utente=COD_UTENTE
AND
O_stato="in corso"
);
Nessun commento:
Posta un commento