The forum of the Computer Science students of the University of Pisa

Domande orale Turini

Orale 8/06/2017
-clausola order by
-join naturale
-join in algebra relazionale
-cos'è un'algebra
-B+tree
-per cosa li abbiamo usati

Domande dell'altro ragazzo
-clausola group by
-having
-buffer
-problema dei buffer (rimpiazzamento) e politiche viste
-buffer manager

Orale 21/07/17
- Distinct
- Join : cosa fa e complessità costruzione
- Concetto selezione, proiezione...
- Hash table
- Group By : cosa fa
- Vincolo di tupla
- Relazioni molti a molti, sia nel modello concettuale che logico (passaggio da uno all'altro)
- Foreign key
- Database graph
- (collegato a precedente) Definizione modello relazionale
- Join in SQL + Prodotto cartesiano ( di questo anche "concetto" matematico sugli insiemi)
- Cardinalità, concetto e esempi
- B tree, definizione, differenza b+ tree e utilizzo
- Normal form Boyce Codd
- Intersezione (in/all)
- Vincolo d'integrità, alias Integrità referenziale
- Famiglie di colonne
- Strutture di memorizzazione db relazionale (seq, hash, tabelle, tree...)
- Algebra relazionale
- Vincolo not null
- SuperChiave e chiave
- Gestione del buffer
- Transazioni: ACID
- Exist/all

Guigno 2017
- Group By, semantica ed esempio
- traduzione delle associazioni molti a molti (ha dilungato su qualcosa quando ho dato la risposta, sinceramente non ho idea di cosa volesse)
- "la riga che collega due tabelle cosa è?"
Credo la risposta sia una Join, ma lì per lì ho avuto un vuoto enorme in quanto a lezione è sempre stata chiamata solo come "collegamento"
- NoSQL (scena muta, anche perché n s'è praticamente nemmeno fatto) e .. qualcosa inerente al Grafo sempre presente in quelle slides, ma quest'ultime non erano ovviamente sufficienti per rispondere

Orale 05/07/2017
Le domande non sono tutte perché non le ricordo, siamo andati anche un po' fuori parlando di logica e qualche definizione matematica
- Algebra relazionale.
- Da cosa è formato un database relazionale.
- Come esprimeresti l'intersezione dell'algebra relazionale senza utilizzare l'operatore intersezione.
- Sintassi e semantica group by.
- Cosa sono i database NOSQL.
- Document Data Model ( mi ha fatto una domanda collegata ai db relazionali per arrivare a questo che non ricordo).
- Forma normale di Boyce-Codd.
- Definizione di dipendenza funzionale.
- Definizione di funzione (matematica) e da cosa si differenzia da una relazione.
- Collegamento tra dipendenze funzionali e chiavi.
- Definizione di transazione.
- ACID.

Orale del 5 luglio.
- Selezione e proiezione (sintassi in sql e algebra relazionale)
- Forma normale di boyce&codd - Perché se in forma normale non c'è anomalia di inserimento
- Strutture di memorizzazione db relazionale (seriale, sequenziale, procedurali, tabellare)
- Transazioni ACID cosa significa la D

orale del 31 gennaio.
-selezione e proiezione (sintassi e semantica)
-no sql(aggregati e grafi)
-group by (sintassi e semantica)
-cardinalita' progettazione logica e fisica
-se relazione molti a molti perche' bisogna fare una tabella aggiuntiva( perche' nel sql abbiamo solo tabelle e non liste ad esempio)

Orale del 13 giugno.
-sintassi e semantica GROUP BY, HAVING
-cosa fa l'ottimizzatore
-operatore di ridenominazione in algebra relazionale
-perché serve una tabella aggiuntiva per le relazioni molti a molti
-proprietà algebriche della JOIN
-json (descrizione generale)

Orale del 18 luglio 2018
-ACID
-Order By
-modello e sintassi dell'Entity relationship


-proprietà algebriche dell'algebra relazionale (commutatività e associatività del join)
-Transitività delle dipendenze funzionali
-Indici
-NoSql
-Strutture sequenziali

IlDave
Ho provato a fare un PDF con le domande qui raccolte e per ognuna ho messo una risposta. Non prendetelo come la bibbia, molto probabilmente ci sono vari errori e inesattezze. Segnalatemeli e provvederò a correggerli
DomandeTurini.pdf
(152.58 KiB) Scaricato 67 volte
Orale 10/07/2019:

Mi ha fatto tre domande:
-Cardinalitá relazione
-MongoDB (al mio appello l'ha chiesto quasi a tutti), in particolare come differisce da SQL (non abbiamo le join perché sono già implementate a livello del db)
-Definizione di transazione e comandi transazionali (begin, rollback, end, commit)

Era tranquillissimo e faceva battute, dopo neanche dieci minuti ha visto che sapevo le cose e mi ha mandato via con 30.
-Che cos'è JSon? (definizione e le varie caratteristiche che mi venivano in mente)
-Mismatch (Difficoltà nel convertire oggetti creati in un determinato linguaggio in una tabella usata del DB relazionale a causa della sua struttura poco flessibile)
-Sintassi e semantica della selezione e della proiezione (definizione formale di entrambe, poi mi sono ricollegato alla select e alla where dicendo le varie operazioni che vengono fatte(nella select vengono fatte proiezione,ridenominazione e si usa la key word distinct e nella where viene fatta la selezione e quindi vengono tolte le tuple che non rispettano la condizione))
-Definizione di transazione
-Acid

Orale molto tranquillo, è durato 2 minuti.
Orale del 25/07

-Equi join
-Identificatori, relative casistiche e rappresentazione grafica
-Come si implementa un database relazionale su un cluster e come si comporta quando viene fatta una query
-Somiglianze fra MongoDB e database relazionale (memoria interna di MongoDB e buffer)
-Definizione chiave esterna e cosa rappresenta
-Vincolo d'integrità relazionale
-Chiave e superchiave
-Dipendenza funzionale
Orale appello Luglio:

L'orale è andato bene, da 21 a 23. Il Turini, questa volta, è stato buono anche se mi ha chiesto un argomento fuori programma a cui non sapevo cosa rispondere.

Domande:

-Modello E-R, da cosa è costituito

-Quando si verificano dei problemi di passaggio da modello E-R a modello Logico?
(quando abbiamo una relazione molti-a-molti, dato che dobbiamo creare una tabella ausiliaria che contiene le chiavi esterne delle tabelle a cui è collegata)

-Perchè si verifica questa necessità?
(non ricordo la risposta ma credo avesse a che fare con un problema di spazio)

-Cosa fa l'ottimizzatore?
(Gli ho risposto vagamente dicendogli che fa delle trasformazioni algebriche ed ha voluto scavare chiedendomi il tipo di trasformazioni algebriche, tipo sfruttando le proprietà del join, scrivendomi una formula in algebra relazionale A (join) B (join) C e chiedendomi come ottimizzerebbe quella formula. Praticamente usando le proprietà associativa e commutativa del join spostando le relazioni nella formula in base alla loro grandezza. Non so perchè questa cosa)

-MongoDB, cos'è, a che serve?

(Leggete le slides)

-Quando e perchè si preferisce un DB NoSQL piuttosto che uno Relazionale?

(Nei clusters, perchè salvare più relazioni su più macchine porterebbe a un dispendio di efficienza dovuta al join)