-
Si consideri il seguente schema di base di dati:
Citta(Id, NumeroAbitanti, Provincia)
Ditta(P.IVA, Nome NumeroImpiegati, CapitaleSociale)
HaAvutoSede(P.IVADitta, IdCitta, DaAnno, AAnno)
- Definire opportune chiavi primarie e chiavi esterne per lo schema, indicando per le chiavi esterne la relazione referente e riferita.
- Scrivere i comandi SQL per:
- Creare la tabella HaAvutoSede specificando gli opportuni vincoli di integrità e le opzioni per gestire l’integrità referenziale (motivando le scelte effettuate per la gestione dell’integrità referenziale)
- Aggiungere alla tabella HaAvutoSede un vincolo che impone che la fine del periodo in cui una ditta ha avuto sede in una città non può essere precedente al suo inizio
- Rimuovere dalla tabella Città l’attributo Provincia
-
Si consideri il seguente schema di base di dati:
Persona(CF, Nome, Cognome, DataNascia, Indirizzo, Genere)
Citta(Id, Nome, NumeroAbitanti, Regione)
HaResidenza(CF(persona), Id(citta), DaAnno, AAnno)
E_Nata(CF(persona), Id(citta)
Formulare in SQL le interrogazioni per restituire:
- Il codice delle città in cui non sono mai nate persone che si chiamano Mario Rossi o Lucia Bianchi
- Per le persone che hanno avuto la loro residenza in almeno una regione con quattro città sopra i 100000 abitanti, il loro CF, nome, cognome e la durata massima della loro residenza in una città
- Il nome e cognome delle persone nate dopo il 201 che non hanno mai avuto la loro residenza in una città siciliana.
- Per ogni anno e per ogni identificatore di città, il numero di persone di genere femminile che sono nate in quella città (ad esempio 2020, 123: numero di persone di genere femminile che sono nate nella città con id 123 nel 2020).
-
Si consideri lo schema ER di seguito rappresentato, dove la gerarchia di generalizzazione è totale/condivisa.
Si consideri il seguente carico di lavoro: lettura di a12 20 volte al giorno, lettura di E6 30 volte al giorno)
Si richiede di:
- Illustrare, in linguaggio naturale come si è ristrutturato lo schema, giustificando le scelte in base al carico di lavoro, ove più opzioni siano possibili per la ristrutturazione. Se vengono aggiunte delle entità indicare per ognuna di esse: nome, nome degli attributi e relativi vincoli di cardinalità ed identificatori. Se si aggiungono delle associazioni elencare per ognuna di esse: nome, eventuali attributi, entità che vi partecipano e relativi vincoli di cardinalità. Elencare in linguaggio naturale gli eventuali vincoli derivanti dalla ristrutturazione
- Tradurre lo schema ER ristrutturato ottenuto al punto 1 in uno schema logico equivalente indicando, per ogni relazione, chiavi, chiavi esterne e vincoli di obbligatorietà