# DGED Laboratoria nr 3 - Raport ## Agata Lenz - 444426 ### Zadanie 3 #### Pytanie 1: jaka jest liczba unikalnych wartości: daty, klientów, regionów, towarów Przy pomocy następującego zapytania SQL: ``` SELECT COUNT(DISTINCT data) AS daty, COUNT(DISTINCT klient) AS klienci, COUNT(DISTINCT region) AS regiony, COUNT(DISTINCT sprzet) AS towary FROM dbo.frania200507 ``` uzyskałam wynik liczby unikalnych wartości: daty - 28, klientów - 10, regionów - 9 oraz towarów - 17. #### Pytanie 2: Czy cena hurtowa jest stałą cechą towaru czy zmienia się w czasie? Poniższe zapytanie SQL zwraca sprzęty, których cena hurtowa zmieniała się w czasie: ``` SELECT F1.sprzet FROM dbo.frania200507 F1 INNER JOIN dbo.frania200507 F2 ON F1.sprzet = F2.sprzet AND F1.cena_hurt != F2.cena_hurt GROUP BY F1.sprzet ``` Otrzymałam wynik: ``` 1 lodowki kombi 2 zamrazarki 3 piekarniki 4 lodowki dwudrzwiowe ... 16 kuchnie 17 okapy meblowe ``` Są to wszystkie wartości, jakie występują w kolumnie ```sprzet```, dlatego cena hurtowa żadnego z nich nie jest cechą stałą. #### Pytanie 3: Czy istnieje zależność między klientem a regionem? (np. czyli klienci łączą się w regiony?) Po pierwsze, sprawdziłam ile różnych klientów powiązanych jest z każdym z regionów: ``` SELECT region, COUNT(DISTINCT klient) AS 'liczba klientów' FROM dbo.frania200507 GROUP BY region ``` co dało wynik: ``` Meblarze 2 Others 1 Polnoc 4 Poludnie 5 Południe 3 Sieci 5 Wschod 5 Zachod 6 Zachód 4 ``` Następnie sprawdziałam sytuację odwrotną - ile różnych regionów jest związanych z danym klientem: ``` SELECT klient, COUNT(DISTINCT region) AS 'liczba regionów' FROM dbo.frania200507 GROUP BY klient ``` co z kolei zwróciło wynik: ``` 8 AVANS 5 BRW-SA 1 E-WORLD 1 G7 5 MEDIA EXPERT 6 MEDIA MARKT 1 NEONET 2 OKAY 1 PARTNER 5 ``` Na tej podstawie stwierdziłam, że między tymi kolumnami nie istnieją zależności. ### Zadanie 4 #### Zweryfikuj wysokość obrotu względem przychodu (ilosc * cena_hurt), procentowo; posortuj względem tego stosunku. ``` SELECT grupa, podgrupa, sprzet, ilosc, cena_hurt, ilosc * cena_hurt AS 'przychód', obrot, obrot * 100 / (ilosc * cena_hurt) AS 'obrót względem przychodu' FROM dbo.frania200507 ``` W wyniku powyższego polecenia otrzymałam stosunek obrotu do przychodu przyjmujący wartości od 0,06% do 100%. Dla lepszej wizualizacji danych, utworzyłam zestawienie średniego stosunku dla poszczególnych sprzętów: ``` SELECT sprzet, AVG(obrot * 100 / (ilosc * cena_hurt)) AS 'średni obrót względem przychodu' FROM dbo.frania200507 GROUP BY sprzet ORDER BY 'średni obrót względem przychodu' DESC ``` Wyniki: ``` okapy meblowe 82,9895 okapy uniwersalne 82,2433 okapy teleskopowe 82,1779 lodowki dwudrzwiowe 82,142 lodowki kombi 81,228 kuchnie do zabudowy 80,8952 piekarniki 80,7167 chlodziarki 80,4666 kuchnie 80,0568 zmywarki 60 79,9714 mikrofalowki mechanicznie 79,0029 plyty grzejne 78,532 mikrofalowki elektronicznie 78,3457 zmywarki 45 78,3061 zamrazarki 77,6963 pralki front 76,572 okapy kominowe 76,327 ``` ### Zadanie 5 Polecenie, którego użyłam do uspójnienia danych: ``` UPDATE dbo.frania200507 SET dbo.frania200507.region = ISNULL(Regiony_Mapa.nazwa_poprawna, dbo.frania200507.region) FROM dbo.frania200507 INNER JOIN Regiony_Mapa ON dbo.frania200507.region = Regiony_Mapa.nazwa_wersja ```