Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
pp:2024:tema2 [2024/04/09 13:20] alexandra.udrescu01 |
pp:2024:tema2 [2024/04/23 23:06] (current) alexandra.udrescu01 [Operatii cu una sau mai multe Tabele] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| <note important> | <note important> | ||
| - | **DEADLINE TODO** | + | **DEADLINE 5 MAI 23:59** |
| * Temele trebuie submise pe curs.upb.ro, in assignment-ul numit ''Tema 2 Scala''. | * Temele trebuie submise pe curs.upb.ro, in assignment-ul numit ''Tema 2 Scala''. | ||
| Line 15: | Line 15: | ||
| * **var** (**val** este ok!) | * **var** (**val** este ok!) | ||
| </note> | </note> | ||
| - | <note>Scheletul se poate găsi la: TODO</note> | + | <note>Scheletul se poate găsi la:{{:pp:2024:skel2.zip|}}</note> |
| ==== Scopul Temei ==== | ==== Scopul Temei ==== | ||
| Line 97: | Line 97: | ||
| </code> | </code> | ||
| - | **1.4.** Definiti operatia de sortare a liniilor din tabel dupa o anumita coloana. TODO: keep it? | + | **1.4.** Definiti operatia de sortare a liniilor din tabel dupa o anumita coloana. |
| <code scala> | <code scala> | ||
| def sort(column: String): Table = ??? | def sort(column: String): Table = ??? | ||
| Line 166: | Line 166: | ||
| **2.2.** Pentru a simplifica definirea conditiilor de filtrare, vom defini cateva operatori care sa ne permita sa scriem cod mai concis. | **2.2.** Pentru a simplifica definirea conditiilor de filtrare, vom defini cateva operatori care sa ne permita sa scriem cod mai concis. | ||
| Vom folosi urmatorii operatori ce extind clasa FilterCond: | Vom folosi urmatorii operatori ce extind clasa FilterCond: | ||
| - | - == - pentru a verifica egalitatea a doua conditii de filtrare. | + | - === - pentru a verifica egalitatea a doua conditii de filtrare. |
| - && - pentru a face conjunctia a doua conditii de filtrare. | - && - pentru a face conjunctia a doua conditii de filtrare. | ||
| - || - pentru a face disjunctia a doua conditii de filtrare. | - || - pentru a face disjunctia a doua conditii de filtrare. | ||
| Line 212: | Line 212: | ||
| </code> | </code> | ||
| - | **3.1.**. Implementati functia create, care primeste numele unei tabele si o lista de coloane si creeaza o noua tabela cu acele coloane doar daca numele tabelei nu exista deja in baza de date. Daca numele tabelei exista, functia va intoarce baza de date nemodificata. | + | **3.1.**. Implementati functia create, care primeste numele unei tabele si creeaza o noua tabela doar daca numele tabelei nu exista deja in baza de date. Daca numele tabelei exista, functia va intoarce baza de date nemodificata. |
| <code scala> | <code scala> | ||
| - | def create(tableName: String, columns: List[String]): Database = ??? | + | def create(tableName: String): Database = ??? |
| </code> | </code> | ||
| Line 250: | Line 250: | ||
| * Numele coloanei utilizate pentru join in tabelul final va fi preluat din primul tabel. | * Numele coloanei utilizate pentru join in tabelul final va fi preluat din primul tabel. | ||
| * Se va intoarce eroare cand unul din tabele nu exista. Daca un tabel este gol, se va intoarce celălalt tabel. | * Se va intoarce eroare cand unul din tabele nu exista. Daca un tabel este gol, se va intoarce celălalt tabel. | ||
| + | * Liniile din rezultat sunt in ordinea: linii ce au intrări in ambele tabele, linii doar in prima tabela, linii doar in a2a tabela. | ||
| <hidden Exemplu> | <hidden Exemplu> | ||