Database Management Systems Cap 2. Structured Query Language (1)

Documente similare
Laborator02

Baze de date

Microsoft Word - Curs_07.doc

PHP (II)

Managementul Resurselor Umane

Aggregating Data

Laborator5_SQL_an2

PowerPoint Presentation

PowerPoint Presentation

proiectarea bazelor de date

ADRIAN TRIF BAZE DE DATE APLICAŢII ACCESS UTPRESS Cluj-Napoca, 2019 ISBN

Mai multe despre optimizare

Prezentarea calculatorului

Microsoft Word - Curs 11 - PHP.doc

PowerPoint Presentation

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 1. Google Drive, Google Calendar, WeTr

Windows 7

Prezentarea calculatorului

Baze de date-Anul 2 (semestrul 2)

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Microsoft Word - lab_access.doc

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Baze de date - Anul 2 Laborator 8 Limbajul de definire a datelor (LDD) (partea I) În general, instrucţiunile LDD sunt utilizate pentru definirea struc

PowerPoint Presentation

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

aplicatii java

RZOLVARE EXERCITIU ZODII declare cursor distributie_zodie is select nume_zodie, count(*) distributie from zodiac z join utilizatori u on to_date(to_ch

Utilizare Internet

PowerPoint Presentation

2

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N

Microsoft Word - Fisa disciplinei BD_I_IE doc

Inserarea culorilor in tabele

Metode avansate de gestiune a documentelor și a sistemelor de calcul - LABORATOR 1 -

PowerPoint Presentation

1. Depistarea setarilor de retea necesare Primul pas pentru introducerea in retea a DVR-ului este determinarea setarilor de retea cu care lucreaza ret

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

Baze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10)

Windows 7

LABORATOR 1. Stocarea si partajarea fisierelor online cu ajutorul Dropbox, WeTransfer.com PREZENTAREA LUCRĂRII DE LABORATOR Lucrarea de laborator îşi

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Slide 1

Biomedical Wi-Fi data transmissons

PowerPoint Presentation

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Microsoft® Access®

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Laborator 5 - Paradigme de Programare

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode]

Ch

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Resurse (Resources) Aspecte generale Utilizând unealta Resurse (Resources) puteți stoca pe serverul portalului Danubius Online diferite fișiere care c

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Matematici aplicate științelor biologie Lab05 MV

Curs de formare Informatică și TIC pentru clasa a V-a Portofoliu pentru evaluarea finală Tema: ELEMENTE DE INTERFAŢĂ ALE UNUI SISTEM DE OPERARE (DESKT

A.E.F. - suport laborator nr.5 sem.ii Analiza suprafețelor prin utilizarea elementelor 2D În acest laborator sunt atinse următoarele aspecte: realizar

Sistemul de Gestiune a Bazelor de Date Access

PowerPoint Presentation

Anexa nr. 2 FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior UNIVERSITATEA DE VEST TIMISOARA 1.2 Facultatea FIZICA 1.3 De

PowerPoint Presentation

Microsoft Word - Curs_10.doc

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Top

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

RainbowCrack Rodocea Madalina Grupa Martie 2016

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Informație și comunicare

A.E.F. - suport laborator nr.10 sem.ii Analiza stării de contact între elemente 3D În acest laborator sunt atinse următoarele aspecte: analiza contact

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 4. Dezvoltarea site-urilor si blog-uri

Entrepreneurship and Technological Management

Microsoft Word - cap2.2.UNIX-NOS.doc

Windows 7

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Microsoft Word - Catalin Vrabie_Elemente de IT paginat VOL. II.doc

Microsoft Word - 6 FD_Informatica SGBD II CIG 2017.doc

Cursul 10 - Shell scripting

Microsoft Word - CarteC.doc

Cursul 10 - Shell scripting

EVALEDIT - EDITOR ON-LINE DE TESTE GRILA Cristea BOBOILĂ * EvalEdit reprezintă o aplicaţie tip Internet al cărei scop este evaluarea on-line şi editar

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

Addendum Syllabus 6 Microsoft Excel 2010 REF Syllabus 6.0 Crearea unui nou registru de calcul pe baza unor șabloane disponibile local sau online

PowerPoint Presentation

Microsoft Word - MI_05_009_Prescriere_1.doc

Laborator 3

Introducere în limbajul JavaScript

FIŞA DISCIPLINEI

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Addendum Syllabus 6 Microsoft Word 2016 REF Syllabus 6.0 Crearea unui document nou pe baza unor șabloane disponibile local sau online Microsoft

Transcriere:

Database Management Systems Cap 2. Structured Query Language (1) March 8, 2017 Database Management Systems March 8, 2017 1 / 86

1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 2 / 86

Introducere 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 3 / 86

Introducere SQL sequel suportat de toate sistemele comerciale majore standardizat, sunt multe features adăugate de-a lungul timpului în principal standardul SQL 92 utilizare interactivă folosind un GUI (mysql-workbench), sau embedded în programe (cea mai comună folosire) limbaj declarativ, bazat pe algebra relaţională; se descrie ce se doreşte de la DB, query-urile nu au nevoie să descrie cum se obţin datele din DB query optimizer: preia întregul query şi determină modul optim (cel mai rapid) de execuţie a sa în DB Database Management Systems March 8, 2017 4 / 86

Introducere Categorii DDL crearea tabelelor, drop table, crearea index-urilor şi a view-urilor DML creare query-urilor (select), modificarea DB (insert, update, delete) alte comenzi indecşi, constraints, views, triggers, transactions, autorizări etc. Database Management Systems March 8, 2017 5 / 86

Introducere SELECT (3) Select A 1, A 2,..., A n /* de fapt proiecţia */ (1) From R 1, R 2,..., R m /* relaţiile ce se compun */ (2) Where condition /* condiţia, filtrarea */ π A1,...,A n (σ condition (R 1... R m )) limbajele de interogare relaţionale sunt compoziţionale Database Management Systems March 8, 2017 6 / 86

Declaraţia SELECT 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 7 / 86

Declaraţia SELECT Database schema Relaţiile sunt (cu cheile): College(cName, state, enroll) Student(sID, sname, GPA, sizehs) Apply(sID, cname, major, decision) Database Management Systems March 8, 2017 8 / 86

Declaraţia SELECT Query 1 query simplu Database Management Systems March 8, 2017 9 / 86

Declaraţia SELECT Query 2 query fără coloana gpa Database Management Systems March 8, 2017 10 / 86

Declaraţia SELECT Query 3 natural join (condiţia e necesară) ; multiset (duplicate) Database Management Systems March 8, 2017 11 / 86

Declaraţia SELECT Query 4 eliminarea duplicatelor din multiset (ca în alg. relaţională) Database Management Systems March 8, 2017 12 / 86

Declaraţia SELECT Query 5 aplicanţi de la un liceu mic Database Management Systems March 8, 2017 13 / 86

Declaraţia SELECT Query 6 numele colegiilor unde s-a aplicat de ce nu funcţionează? Database Management Systems March 8, 2017 14 / 86

Declaraţia SELECT Query 7 numele colegiilor unde s-a aplicat duplicatele se pot elimina (cum?) Database Management Systems March 8, 2017 15 / 86

Declaraţia SELECT Query 8 toate aplicările (odinea e aleatoare; de ce există duplicate?) Database Management Systems March 8, 2017 16 / 86

Declaraţia SELECT Query 9 ordine descrescătoare Database Management Systems March 8, 2017 17 / 86

Declaraţia SELECT Query 10 mai multe criterii de sortare Database Management Systems March 8, 2017 18 / 86

Declaraţia SELECT Query 11 căutare după un substring Database Management Systems March 8, 2017 19 / 86

Declaraţia SELECT Query 12 select * (toate atributele) Database Management Systems March 8, 2017 20 / 86

Declaraţia SELECT Query 13 câte tuple vor fi, şi cum se numeşte operaţia (... join)? Database Management Systems March 8, 2017 21 / 86

Declaraţia SELECT Query 14 folosirea calculelor Database Management Systems March 8, 2017 22 / 86

Declaraţia SELECT Query 15 asignare de nume noului atribut (rename, ρ) Database Management Systems March 8, 2017 23 / 86

Relaţii şi operatori 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 24 / 86

Relaţii şi operatori Relaţii şi operatori 1 relaţii în clauza FROM numirea tabelelor redenumirea lor ca variabile (rename, ρ) 2 operatori care produc seturi Union ( ) Intersect ( ) Except ( ) Database Management Systems March 8, 2017 25 / 86

Relaţii şi operatori Query 1 natural join, 19 tuple Database Management Systems March 8, 2017 26 / 86

Relaţii şi operatori Query 2 creşterea lizibilităţii prin redenumire (variabile) Database Management Systems March 8, 2017 27 / 86

Relaţii şi operatori Query 3 perechile de studenţi care au aceeaşi notă cum scoatem perechea cu ambii studenţi identici? Database Management Systems March 8, 2017 28 / 86

Relaţii şi operatori Query 4 ce nu e totuşi în regulă? cum rezolvăm? Database Management Systems March 8, 2017 29 / 86

Relaţii şi operatori Query 5 toate cele 8 tuple Database Management Systems March 8, 2017 30 / 86

Relaţii şi operatori Query 6 reuniune, cu atribut redenumit Database Management Systems March 8, 2017 31 / 86

Relaţii şi operatori Query 7 cu tot cu duplicate Database Management Systems March 8, 2017 32 / 86

Relaţii şi operatori Query 8 MySQL nu are intersect Database Management Systems March 8, 2017 33 / 86

Relaţii şi operatori Query 9 doi studenţi au aplicat la ambele Database Management Systems March 8, 2017 34 / 86

Relaţii şi operatori Query 10 o altă variantă, numai că va trebui să eliminăm duplicatele Database Management Systems March 8, 2017 35 / 86

Relaţii şi operatori Query 11 studenţi care au aplicat la CS dar nu şi la EE MySQL nu are operator except ce nu este în regulă? Database Management Systems March 8, 2017 36 / 86

Relaţii şi operatori Query 12 doar doi sudenţi Database Management Systems March 8, 2017 37 / 86

Subquery-uri în clauza WHERE 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 38 / 86

Subquery-uri în clauza WHERE Query 1 studenţii care au aplicat la CS la vreun colegiu Database Management Systems March 8, 2017 39 / 86

Subquery-uri în clauza WHERE Query 2 variantă cu natural join de unde vin duplicatele? Database Management Systems March 8, 2017 40 / 86

Subquery-uri în clauza WHERE Query 3 numele studenţilor care au aplicat la CS nu e un duplicat! Database Management Systems March 8, 2017 41 / 86

Subquery-uri în clauza WHERE Query 4 numele studenţilor care au aplicat la CS, cu de unde vin duplicatele? cum pot fi eliminate? Database Management Systems March 8, 2017 42 / 86

Subquery-uri în clauza WHERE Query 5 atenţie unde punem distinct! Database Management Systems March 8, 2017 43 / 86

Subquery-uri în clauza WHERE Query 6 difference, studenţi care au aplicat la CS dar nu şi la EE Database Management Systems March 8, 2017 44 / 86

Subquery-uri în clauza WHERE Query 7 colegiile pentru care există un alt colegiu în acelaşi stat construcţie nouă: correlated reference ce mai trebuie adăugat? Database Management Systems March 8, 2017 45 / 86

Subquery-uri în clauza WHERE Query 8 sunt doar două colegii pentru care există un alt colegiu în acelaşi stat Database Management Systems March 8, 2017 46 / 86

Subquery-uri în clauza WHERE Query 9 aflarea celei mai mari valori pentru enroll Database Management Systems March 8, 2017 47 / 86

Subquery-uri în clauza WHERE Query 10 aflarea studenţilor cu cea mai mare notă de ce sunt totuşi mai multe tuple? Database Management Systems March 8, 2017 48 / 86

Subquery-uri în clauza WHERE Query 11 încercăm acelaşi lucru fără subquery cum găsim maximul? Database Management Systems March 8, 2017 49 / 86

Subquery-uri în clauza WHERE Query 12 gpa mai mare decât toate gpa-urile Database Management Systems March 8, 2017 50 / 86

Subquery-uri în clauza WHERE Query 13 query ce nu presupune că există doar un singur student cu maxim gpa Database Management Systems March 8, 2017 51 / 86

Subquery-uri în clauza WHERE Query 14 acelaşi lucru, dar folosind clauza any Database Management Systems March 8, 2017 52 / 86

Subquery-uri în clauza WHERE Query 15 ce generează acest subquery? Database Management Systems March 8, 2017 53 / 86

Subquery-uri în clauza WHERE Query 16 formă echivalentă pentru studenţii care vin de la licee mai numeroase Database Management Systems March 8, 2017 54 / 86

Subquery-uri în clauza WHERE Query 17 am dori să aflăm studenţii ce au aplicat la CS dar nu şi la EE de ce nu este în regulă formularea? Database Management Systems March 8, 2017 55 / 86

Subquery-uri în clauza WHERE Query 18 două variante corecte Database Management Systems March 8, 2017 56 / 86

Subquery-uri în FROM şi SELECT 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 57 / 86

Subquery-uri în FROM şi SELECT Query 1 găsirea studenţilor cu abateri de la GPA mai mari ca 1 Database Management Systems March 8, 2017 58 / 86

Subquery-uri în FROM şi SELECT Query 2 calcularea abaterii într-un sub-query Database Management Systems March 8, 2017 59 / 86

Subquery-uri în FROM şi SELECT Query 3 nota cea mai mare pe fiecare colegiu; cum scăpăm de duplicate? Database Management Systems March 8, 2017 60 / 86

Subquery-uri în FROM şi SELECT Query 4 folosind subquery în SELECT Database Management Systems March 8, 2017 61 / 86

Subquery-uri în FROM şi SELECT Query 5 Error Code: 1242. Subquery returns more than 1 row întotdeauna subquery-ul din SELECT va trebui să întoarcă un singur rezultat! Database Management Systems March 8, 2017 62 / 86

Context 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 63 / 86

Context Pornirea serverului MySQL Porniţi VirtualBox şi adăugaţi Fedora22.vdi ca imagine La Devices, Shared Folder Settings... adăugaţi un nou folder în secţiunea Machine folders. La Folder Path alegeţi calea Windows pe care maşina virtuală va pune fişierele, de exemplu D:. La Folder Name puneţi winshare. Asiguraţi-vă că opţiunile Auto-mount şi Make Permanent sunt checked. Porniţi maşina virtuală şi deschideţi un terminal. Luaţi drepturi de root, folosind comanda sudo su -. Nu există parolă de root Porniţi serviciul mysqld şi inspectaţi starea: [root@cbook ~]# systemctl start mysqld.service [root@cbook ~]# systemctl status mysqld.service... Feb 29 14:48:17 cbook systemd[1]: Starting MySQL Server... Feb 29 14:48:18 cbook systemd[1]: Started MySQL Server. Database Management Systems March 8, 2017 64 / 86

Context Crearea userului şi a bazei de date Abandonaţi prompt-ul root cu exit, sau Ctrl-D. NU LUCRAŢI NICIODATĂ CA ROOT! Porniţi consola de administrare MySQL, sub credenţialele user-ului user. Parola este OpQw120- : [user@cbook]$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.... mysql> Creaţi DB-ul: mysql> create database userdb; Query OK, 1 row affected (0.00 sec) Creaţi utilizatorul (va eşua dacă aveţi deja unul creat): > create user user @ localhost identified by OpQw120- ; Query OK, 0 rows affected (0.00 sec) Database Management Systems March 8, 2017 65 / 86

Context Crearea userului şi a bazei de date Acordaţi-i drepturi depline pe această bază şi comiteţi modificările cu flush : mysql> grant all on userdb.* to user @ localhost ; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye Porniţi MySQL Workbench Database, Connect to Database, schimbaţi utilizatorul la user, apăsaţi OK şi introduceţi aceeaşi parolă Database Management Systems March 8, 2017 66 / 86

Context Copierea fişierelor Dintr-un terminal, copiaţi fişierele laboratorului în directorul curent: $ cp /media/sf_winshare/create.py. $ cp /media/sf_winshare/seedb.py. $ cp /media/sf_winshare/rating.sql. Verificaţi conexiunea cu baza: $ python seedb.py Database version : 5.7.11 Script-ul create.py conţine baza ca să puteţi rula exemplele de la curs. În SQL Workbench, File, Open SQL script şi alegeţi rating.sql. Adăugaţi la început use database userdb; şi rulaţi script-ul ( Execute everything, primul thunderbolt ) Database Management Systems March 8, 2017 67 / 86

Exerciţii 1 Introducere 2 Declaraţia SELECT 3 Relaţii şi operatori 4 Subquery-uri în clauza WHERE 5 Subquery-uri în FROM şi SELECT 6 Context 7 Exerciţii Database Management Systems March 8, 2017 68 / 86

Exerciţii Exerciţiul 1 Găsiţi titlurile tuturor filmelor regizate de Steven Spielberg. Database Management Systems March 8, 2017 69 / 86

Exerciţii Exerciţiul 1 - răspuns Răspuns: E.T Raiders of the Lost Ark Database Management Systems March 8, 2017 70 / 86

Exerciţii Exerciţiul 2 Găsiţi toţi anii care au un film care a primit un rating de 4 sau 5, şi sortaţi-i în ordine crescătoare. Database Management Systems March 8, 2017 71 / 86

Exerciţii Exerciţiul 2 - răspuns Răspuns: 1937 1939 1981 2009 Database Management Systems March 8, 2017 72 / 86

Exerciţii Exerciţiul 3 Găsiţi titlurile tuturor filmelor care nu au rating. Database Management Systems March 8, 2017 73 / 86

Exerciţii Exerciţiul 3 - răspuns Răspuns: Star Wars Titanic Database Management Systems March 8, 2017 74 / 86

Exerciţii Exerciţiul 4 Unii revieweri nu au furnizat o dată a review-ului lor. Găsiţi numele tuturor reviewer-urilor care au ratinguri asociate cu o valoare NULL pentru dată. Database Management Systems March 8, 2017 75 / 86

Exerciţii Exerciţiul 4 - răspuns Răspuns: Chris Jackson Daniel Lewis Database Management Systems March 8, 2017 76 / 86

Exerciţii Exerciţiul 5 Scrieţi un query care întoarce ca rezultat rating-urile într-o formă citibilă: numele reviewer-ului, titlul filmului, stars, ratingdate. De asemenea, sortaţi rezultatul, mai întâi după numele reviewer-ului, apoi după titlul filmului, iar apoi după numărul de stele. Database Management Systems March 8, 2017 77 / 86

Exerciţii Exerciţiul 5 - răspuns Ashley White E.T. 3 2011-01-02 Brittany Harris Raiders of the Lost Ark 2 2011-01-30 Brittany Harris Raiders of the Lost Ark 4 2011-01-12 Brittany Harris The Sound of Music 2 2011-01-20 Chris Jackson E.T. 2 2011-01-22 Chris Jackson Raiders of the Lost Ark 4 NULL Chris Jackson The Sound of Music 3 2011-01-27 Daniel Lewis Snow White 4 NULL Elizabeth Thomas Avatar 3 2011-01-15 Elizabeth Thomas Snow White 5 2011-01-19 James Cameron Avatar 5 2011-01-20 Mike Anderson Gone with the Wind 3 2011-01-09 Sarah Martinez Gone with the Wind 2 2011-01-22 Sarah Martinez Gone with the Wind 4 2011-01-27 Database Management Systems March 8, 2017 78 / 86

Exerciţii Exerciţiul 6 Pentru toate cazurile în care acelaşi reviewer a notat un film de două ori şi i-a dat un rating mai mare a doua oară, returnaţi numele reviewer-ului şi titlul filmului. Database Management Systems March 8, 2017 79 / 86

Exerciţii Exerciţiul 6 - răspuns Răspuns: Sarah Martinez Gone with the Wind Database Management Systems March 8, 2017 80 / 86

Exerciţii Exerciţiul 7 Pentru fiecare film care are cel puţin un rating, găsiţi cel mai mare număr de stele pe care l-a primit filmul. Returnaţi titlul filmului şi numărul de stele. Sortaţi după titlul filmului. Database Management Systems March 8, 2017 81 / 86

Exerciţii Exerciţiul 7 - răspuns Răspuns: Avatar 5 E.T. 3 Gone with the Wind 4 Raiders of the Lost Ark 4 Snow White 5 The Sound of Music 3 Database Management Systems March 8, 2017 82 / 86

Exerciţii Exerciţiul 8 Pentru fiecare film, returnaţi titlul şi rating spread, adică diferenţa dintre cel mai mare şi cel mai mic rating al filmului. Sortaţi după acest rating spread de la cel mai mare spre cel mai mic, apoi după titlul filmului. Database Management Systems March 8, 2017 83 / 86

Exerciţii Exerciţiul 8 - răspuns Răspuns: Avatar 2 Gone with the Wind 2 Raiders of the Lost Ark 2 E.T. 1 Snow White 1 The Sound of Music 1 Database Management Systems March 8, 2017 84 / 86

Exerciţii Exerciţiul 9 Găsiţi diferenţa dintre media rating-urilor filmelor lansate înainte de 1980 şi media rating-urilor filmelor lansate după 1980. Asiguraţi-vă că veţi calcula media rating-ului pentru fiecare fim, apoi media acestor medii pentru filmele de dinainte de 1980 şi pentru filmele după. Nu calculaţi doar media totală înainte şi după 1980. Database Management Systems March 8, 2017 85 / 86

Exerciţii Exerciţiul 9 - răspuns Răspuns: 0.0555555555556 Database Management Systems March 8, 2017 86 / 86