Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pp:2025:scala:t02 [2025/04/13 09:44]
razvang [Tema 2 PP 2024]
pp:2025:scala:t02 [2025/04/28 09:44] (current)
razvang [Query]
Line 1: Line 1:
 ====== Tema 2 PP 2025 ====== ====== Tema 2 PP 2025 ======
 +
 +<note important>​
 +Schelet: ​ {{:​pp:​2025:​scala:​skel_tema2.zip|}}
 +</​note>​
  
 <note important>​ <note important>​
Line 219: Line 223:
   - && - 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.
-  - !- pentru a nega o conditie de filtrare.+  - ! (operator unar) - pentru a nega o conditie de filtrare.
 <code scala> <code scala>
  
Line 225: Line 229:
 def &&​(other:​ FilterCond) = ??? def &&​(other:​ FilterCond) = ???
 def ||(other: FilterCond) = ??? def ||(other: FilterCond) = ???
-def !! = ??+def unary_! = ??
 // Puteti sa adaugati mai multi operatori :) // Puteti sa adaugati mai multi operatori :)
 </​code>​ </​code>​
Line 239: Line 243:
 </​code>​ </​code>​
  
-==== Operatii ​cu una sau mai multe Tabele =====+==== Op 
 +eratii ​cu una sau mai multe Tabele =====
  
 O baza de date contine mai multe tabele, pe care putem aplica o serie de operatii: O baza de date contine mai multe tabele, pe care putem aplica o serie de operatii:
Line 291: Line 296:
 </​code>​ </​code>​
  
-==== Query ====+==== Que 
 +ry ====
  
 Testati structurile folosite executand niste query-uri, ce ar putea fi operatii necesare intr-un backend. **Query-urile ar trebuie sa fie one-linere, fara sa folositi ''​val''​ intermediare,​ dar puteti defini functii auxiliare (pentru filtre)** Testati structurile folosite executand niste query-uri, ce ar putea fi operatii necesare intr-un backend. **Query-urile ar trebuie sa fie one-linere, fara sa folositi ''​val''​ intermediare,​ dar puteti defini functii auxiliare (pentru filtre)**
Line 309: Line 315:
 </​code>​ </​code>​
  
-**4.3** Selectati din tabelele ''​Customers''​ si ''​Orders''​ cine a facut comenzii cu ''​Cost''​ peste o valoare data. Returnati ​''​CustomerName'', ​''​OrderID'',​ ''​EmployeeID''​ si ''​Cost'',​ ordonat dupa ''​EmployeeID''​ crescator.+**4.3** Selectati din tabela ​''​Orders''​ cine a facut comenzii cu ''​Cost''​ peste o valoare data. Returnati ''​OrderID'',​ ''​EmployeeID''​ si ''​Cost'',​ ordonat dupa ''​EmployeeID''​ crescator.
 <code scala> <code scala>
 def query_3(db: Database, minCost: Int): Option[Table] = { def query_3(db: Database, minCost: Int): Option[Table] = {
Line 316: Line 322:
 </​code>​ </​code>​
  
-==== Testare ​====+==== Te 
 +stare ====
  
 ''​Scalatest''​ este o biblioteca de testare pentru Scala care suporta mai multe stiluri de scriere a testelor, inclusiv testarea traditionala unitara. ​ ''​Scalactic''​ este o biblioteca destinata sa faciliteze scrierea de cod mai clar si mai intretinabil in Scala, utilizata in combinatie cu Scalatest pentru a imbunatati claritatea si precizia testelor. ''​Scalatest''​ este o biblioteca de testare pentru Scala care suporta mai multe stiluri de scriere a testelor, inclusiv testarea traditionala unitara. ​ ''​Scalactic''​ este o biblioteca destinata sa faciliteze scrierea de cod mai clar si mai intretinabil in Scala, utilizata in combinatie cu Scalatest pentru a imbunatati claritatea si precizia testelor.