g

Data utworzenia: 2025-02-13 11:45:22
Znajdź w bazie: 1. Pytanie nr 15 2. Pytania, w których poprawną odpowiedzią jest "a" 3. Pytania z roku 2007 4. Pytania z programowania z roku 2009 5. Tylko treści pytań i 4 odpowiedzi z roku 2010 6. Pytania ułożone alfabetycznie wg treści 7. Treści pytań o numerach 10-12 8. Pytania zaczynające się od słów “Jak” 9. Pytania zawierające frazę "C++" 10. Pytania z programowania oraz systemów operacyjnych i sieci z roku 2012 Odpowiedzi: 1. SELECT * FROM pytania WHERE id=15 2. SELECT * FROM pytania WHERE answer="a" 3. SELECT * FROM pytania WHERE rok=2007 4. SELECT * FROM pytania WHERE kategoria="programowanie" AND rok=2009 5. SELECT tresc, odpa, odpb, odpc, odpd FROM pytania WHERE rok=2010 6. SELECT * FROM pytania ORDER BY tresc ASC 7. SELECT id,tresc FROM pytania WHERE id>=10 AND id<=12 lub Select id, tresc FROM pytania WHERE BETWEEN 10 AND 12 8. SELECT * FROM pytania WHERE tresc LIKE "jak%" 9. SELECT * FROM pytania WHERE tresc LIKE '%C++%' OR odpa LIKE '%C++%' OR odpb LIKE '%C++%' OR odpc LIKE '%C++%' OR odpd LIKE '%C++%' 10.SELECT * FROM pytania WHERE (kategoria="programowanie" OR kategoria="systemy operacyjne i sieci") AND rok=2012 Znajdź w bazie: 1. Książki ułożone alfabetycznie wg tytułu 2. Najdroższą książkę w bazie 3. Wszystkie wysłane zamówienia 4. Wszystkich klientów o nazwisku Rutkowski 5. Książki zawierające wyrażenie "PHP" w tytule 6. Zamówienia ułożone od ostatnio dokonanego 7. Wyjmij dla wszystkich zamówień: imię i nazwisko klienta zamawiającego, id zamówienia, datę zamówienia 7a. Jak w punkcie 7, ale z aliasami (przezwiskami) dla tabel 8. Imiona i nazwiska osób, które zamówiły kiedykolwiek książkę nr 2 9. Jakie książki (tytuł, autor) zamówiła osoba: Jan Nowak? 10. Zamówienia dokonane przez osoby o nazwisku Rutkowski ułożone wg daty od najpóźniej dokonanych (imię i nazwisko osoby zamawiającej, id, datę i status zamówienia, tytuł zamówionej książki) Odpowiedzi: 1. SELECT * FROM ksiazki ORDER BY tytul ASC 2. SELECT * FROM ksiazki ORDER BY cena DESC LIMIT 1 3. SELECT * FROM zamowienia WHERE status="wyslano" 4. SELECT * FROM klienci WHERE nazwisko="Rutkowski" 5. SELECT * FROM ksiazki WHERE tytul LIKE "%PHP%" 6. SELECT * FROM zamowienia ORDER BY data DESC 7. SELECT klienci.imie, klienci.nazwisko, zamowienia.idzamowienia, zamowienia.data FROM klienci,zamowienia WHERE klienci.idklienta = zamowienia.idklienta 7*. SELECT k.imie, k.nazwisko, z.idzamowienia, z.data FROM klienci AS k,zamowienia AS z WHERE k.idklienta=z.idzamowienia 8. SELECT klienci.imie, klienci.nazwisko FROM klienci, zamowienia WHERE zamowienia.idksiazki=2 AND zamowienia.idklienta = klienci.idklienta 8*. SELECT k.imie, k.nazwisko FROM klienci AS k, zamowienia AS z WHERE z.idksiazki=2 AND z.idklienta = k.idklienta 9. SELECT ksiazki.tytul, ksiazki.imieautora, ksiazki.nazwiskoautora FROM ksiazki, zamowienia WHERE zamowienia.idklienta=2 AND zamowienia.idksiazki = ksiazki.idksiazki 9*. SELECT k.tytul, k.imieautora, k.nazwiskoautora FROM ksiazki AS k, zamowienia AS z WHERE z.idklienta=2 AND z.idksiazki = k.idksiazki 10. SELECT klienci.imie, klienci.nazwisko, zamowienia.idzamowienia, zamowienia.status, zamowienia.data, ksiazki.tytul FROM klienci, zamowienia, ksiazki WGERE klienci.nazwisko="Rutkowski" AND zamowienia.idksiazki = ksiazki.idksiazki AND klienci.idklienta = zamowienia.idklienta ORDER BY zamowienia.data DESC 10*. SELECT k.imie, k.nazwisko, z.idzamowienia, z.status, z.data, ks.tytul FROM klienci AS k, zamowienia AS z, ksiazki AS ks WHERE k.nazwisko="Rutkowski" AND z.idksiazki = ks.idksiazki AND k.idklienta = z.idklienta ORDER BY z.data DESC Praca domowa: 1. Imię i nazwisko (tylko te dwie dane) klienta numer 4. 2. Wszystkie dane samochodów z rocznika 2010. 3. Wszystkie dane na temat samochodów marki Ford posiadanych przez nas (innymi słowy: "jakie mamy auta marki Ford w firmie i co o nich wiemy?"). 4. Samochody o numerach w bazie od 2 do 4 włącznie. 5. Imiona i nazwiska klientów, którzy mieszkają w Katowicach na ulicy Rolnej (pod dowolnym numerem). 6. Samochód w bazie (marka, model), którego ubezpieczenie jest najdroższe z wszystkich aut. 7. Samochód (idauta, marka, model), który został najwcześniej wypożyczony (decyduje datawyp). 8. Imiona i nazwiska osób, które wypożyczyły kiedykolwiek samochód nr 1. 9. Jakie auta (marka, model) kiedykolwiek wypożyczyła u nas osoba nr 4? 10. Jakie auta (marka, model) kiedykolwiek wypożyczyła u nas osoba o nazwisku "Pastewniak"? Odp: 1. SELECT imie,nazwisko FROM klienci WHERE idklienta=4 2. SELECT * FROM auta WHERE rocznik=2010 3. SELECT * FROM auta WHERE marka='Ford' 4. SELECT * FROM auta WHERE idauta BETWEEN 2 and 4 5. SELECT imie,nazwisko FROM klienci WHERE klienci.miasto='Katowice' AND klienci.adres LIKE 'Rolna%' 6. SELECT marka,model FROM auta ORDER BY ubezpieczenie DESC LIMIT 1 7. SELECT auta.idauta,auta.marka,auta.model FROM auta, wypozyczenia ORDER BY wypozyczenia.datawyp ASC LIMIT 1 8. SELECT klienci.imie, klienci.nazwisko FROM klienci, wypozyczenia WHERE klienci.idklienta=wypozyczenia.idklienta AND wypozyczenia.idauta=1 9. SELECT auta.model, auta.marka FROM auta JOIN wypozyczenia ON auta.idauta=wypozyczenia.idauta WHERE wypozyczenia.idklienta=4 10. SELECT auta.marka, auta.model FROM auta, klienci, wypozyczenia WHERE klienci.nazwisko='Pastewniak' AND klienci.idklienta=wypozyczenia.idklienta Update insert: 1.Zmien nazwisko klienta nr 4 na wartosc:="Psikuta" 2.Zwieksz cene wszystkich ksiazek zgromadzonych w bazie o 10% 3.zmniejsz cene najdrozszeh ksiazki o 10zl 4.zmien imie i nazwisko klientki annt kareniny (idklienta=10) na wartosc: joanna dostojewska 5.zmien status zamowien o wartosciach idzamowienia rownych 4 i 5 na "wyslano" 6.dodaj nowego klienta do bazy: Franciszek Janowski z Chorzowa 7.Dodaj nowe zamówienie: Artur Rutkowski kupił książkę "HTML5. Tworzenie witryn"1 8.Wstaw do bazy książkę o tytule: "Symfonia C++" autora o nazwisku "Grębosz", ale nie wstawiaj jeszcze imienia autora ani ceny książki 9.Dodaj dwóch nowych klientów za pomocą jednego zapytania 10.Wstaw nowa osobe do bazy uzywajac alternatywnego zapisu z klauzula SET Odp. 1.UPDATE klienci SET nazwisko="Psikuta" WHERE idklienta=4 2.UPDATE ksiazki SET cena=round(cena*1.1,2) 3.UPDATE ksiazki SET cena=cena-10 ORDER BY cena DESC LIMIT1 4.UPDATE klienci SET imie="joanna", nazwisko="dostojewska" WHERE idklient=10 5.UPDATE zamowienia SET status="wyslano" WHERE idzamowienia BETWEEN 4 AND 5 6.INSERT INTO klienci VALUES (NULL,"Franciszek","Janowski","Chorzów") 7.INSERT INTO zamowienia (idzamowienia, data, status, idklienta, idksiazki) VALUES (NULL, "2016-01-01","oczekiwanie",7,3) 7*.INSERT INTO zamowienia VALUES (NULL, 7, 3, "2001-09-11", "wyslano") 8.INSERT INTO ksiazki(idksiazki,nazwiskoautora,tytul)VALUES(NULL,"Grębosz","Symfonia C++") 8*.INSERT INTO zamowienia VALUES(NULL, " ","Grębosz","C++"," ") 9.INSERT INTO klienci VALUES(NULL,"Manlyin","Marocco","Los angeles"),(NULL,"John","Pork","Los santos") 10.INSERT INTO klienci SET idklienta=NULL, imie="Steve",nazwisko="McQueen, miejscowosc="Los Angeles" Model danych - integralny zbiór zasad, opisujący dane i powiązania pomiędzy nimi oraz określający ograniczenia nakładane tak na dane, jak i na operacje na nich wykonywane. Model danych spełnia 3 zasadnicze role: rola strukturalna - określenie sposobu przechowywania danych (w sposób uporządkowany) - rola integralna - zagwarantowanie stabilności systemu przechowywanych danych - rola manipulacyjna - zapewnienie możliwości bezpiecznej modyfikacji danych oraz ewentualnych zmian struktury danych Struktury danych są zaawansowanymi pojemnikami na dane, które gromadzą je i układają w odpowiedni sposób: - ich różnorodność jest ogromna, a dla każdej znaleziono wiele zastosowań - powszechnie spotykane jest używanie jednych struktur danych do przetwarzania informacji zgromadzonych w innych - są one fundamentalnym narzędziem programisty i ich znajomość jest niezbędna w profesjonalnym programowaniu DBMS = Database Management System SZBD = System zarządzania bazą danych Model jednorodny - używamy w nim tylko jednego zgromadzenia danych (np. tabeli, kartoteki, spisu, katalogu). Model ten cechuje się konceptualną prostotą, lecz jego wadą jest trudność odnalezienia niektórych danych oraz możliwa redundancja (nadmiarowość) związana z próbami usprawnienia wyszukiwania rekordów bądź atrybutów. Model hierarchiczny - oparty na drzewiastych (hierarchicznych) strukturach danych, charakteryzujących się stosowaniem związków nadrzędny - podrzędny. Wadą tego modelu jest brak elastyczności w operacjach na danych - wstawianie rekordów podrzędnych wymaga powiązania z nadrzędnym, zaś usuwanie rekordów nadrzędnych powoduje usunięcie wszystkich podrzędnych. Model obiektowy - oparty na podejściu, które znamy z programowania obiektowego: rzeczywistość reprezentowana jest przez obiekty, które rozumiemy jako instancje klas. Klasę zaś (encję) rozumiemy jako zestaw atrybutów i metod (czyli funkcji, procedur). Dostęp do obiektów zapewniamy więc jedynie poprzez udostępniony interfejs metod, zapewniających danym bezpieczeństwo i integralność. Obiektowy język zapytań to OQL (ang. Object Query Language). Model sieciowy - modyfikacja modelu hierarchicznego, oparta na typach kolekcji oraz typach rekordów, zaś reprezentacja powiązań przyjmowała postać tzw. grafu zorientowanego, który nazywano siecią (i stąd nazwa: model sieciowy). Model relacyjno - obiektowy - model mieszany, w którym mechanizm przechowywania danych jest relacyjny, jednak w operowaniu na danych możemy użyć interfejsu metod wykorzystujących mechanizmy obiektowe. Zmiana zawartości pola w tabeli = UPDATE W przypadku "usunięcia" nazwiska do pola w tabeli wkładamy po prostu pusty łańcuch "Wójcik" =====>"" = = update 1.UPDATE klienci SET nazwisko ="" WHERE idklienta=3 Usunięcie STRUKTURY tabeli (lub calej bazy) realizujemy z uzyciem klauzuli DROP "Usuwanie" DANYCH -Zmiana zawartosci pola w tabeli=UPDATE -Kasowanie jednego lub wielku REKORDOW w tabeli=DELETE -Skasowanie WSZYSTKICH REKORODW tabeli=TRUNCATE -Kasowanie STRUKTURY w bazie danych=DROP 2.Usun zamowienie o id=2 DELETE FROM zamowienia WHERE idzamowienia = 2 Operacja TRUNCATE jest szybsza, ponieważ nie usuwa rekordów kolejno, lecz zamiast tego tabela jest najpierw zdropowana (usunięta) z bazy, a potem odtworzona na nowo skladnia: TRUNCATE TABLE nazwa_tabeli 3.Usun z tabeli klienci 5 ostatnio zarejestrowanych osob DELETE FROM klienci ORDER BY idklienta DESC LIMIT 5 4.Usun baze danych ksiegarnie DROP DATABASE ksiegarnia 5.usun tabele klienci DROP TABLE klienci DROP TABLE IF EXIST klienci -bezpieczne usuwanie 6.usun klienta o id 4 z tabeli klienci DELETE FROM klienci WHERE idklienta=4 7.usun 3 pierwsze wpisane ksiazki z tabeli ksiazki DELETE FROM ksiazki ORDER BY idksiazki ASC LIMIT 3 8.usun tytul ksiazki o id4 z tabeli ksiazki UPDATE ksiazki SET tytul ="" WHERE tytul="Urządzenia techniki komputerowej" 9.usun nazwisko autora ksiazki o id5 z tabeli ksiazki UPDATE ksiazki SET nazwiskoautora="" WHERE nazwiskoautora="Pasternak" GRUPOWANIE COUNT()-zlicza ilość rekordow SUM()- zsumuje wartości danego rekordu AVG()- wyznacza srednia z wartości atrybutu MIN()- najmniejsza wartość atrybutu MAX() - najwieksza wartość atrybutu -kolejność po słowie FROM: WHERE....GROUP BY....ORDER BY 1.Ile państw znajduje się na każdym kontynencie? SELECT Continent, COUNT(Code) AS IlePanstw FROM country GROUP BY Continent ORDER BY IlePanstw DESC 2.Ktore państwa (oficjalne, urzędowe) sa używane przez najwięcej państw europejskich? SELECT LANGUAGE, COUNT(CountryCode) AS IlePanstwUzywa FROM countrylanguage, country WHERE IsOfficial="T" AND Continent="Europe" AND country.Code=countrylanguage.CountryCode GROUP BY LANGUAGE ORDER BY IlePanstwUzywa DESC 3.Podaj do każdego państwa w Ameryce Południowej łączną liczbę bywateli, mieszkających w dużych miastach, o populacji wynoszącej co najmniej 100k mieszkańców? SELECT country.Name, SUM(city.Population) AS IluObywateli FROM city, country WHERE Continent="South America" AND city.Population>=100000 AND country.Code=city.CountryCode GROUP BY country.name ORDER BY IluObywateli DESC Aliasy: SELECT co.Name, SUM(c.Population) AS IluObywateli FROM city AS c, country AS co WHERE Continent="South America" AND c.Population>=100000 AND co.Code=c.CountryCode GROUP BY co.name ORDER BY IluObywateli DESC; 4.ile ptaków należących do każdego gatunku zaobserwowano? Ptaków którego gatunku było najwięcej? SELECT nazwa_zwyczajowa, SUM(Liczebnosc) AS IlePtakow FROM gatunki, obserwacje WHERE gatunki.ID_gatunku=obserwacje.ID_gatunku GROUP BY nazwa_zwyczajowa ORDER BY IlePtakow DESC Aliasy: SELECT g.nazwa_zwyczajowa , SUM(Liczebnosc) AS IlePtakow FROM gatunki AS g, obserwacje AS o WHERE g.ID_gatunku=o.ID_gatunku GROUP BY g.nazwa_zwyczajowa ORDER BY IlePtakow DESC 5.jakich 10 gatunkow ptakow było obiektem najczęściej prowadzonych obserwacji przez ornitologów w powiecie gdanskim? SELECT `nazwa_zwyczajowa`, COUNT(poczatek) as 'ileobserwacji' FROM `gatunki` as g, obserwacje as o, lokalizacje as l WHERE g.ID_gatunku=o.ID_gatunku AND l.ID_lokalizacji=o.ID_lokalizacji AND powiat like 'gdanski' GROUP BY nazwa_zwyczajowa ORDER BY `ileobserwacji` DESC Limit 10 6.W którym powiecie liczba zaobserwowanych ptakow z gatunku dzięcioł (lecz tylko tych osobników, które żerują w lesie jest największa, a w którym najmniejsza? Najwieksza: SELECT powiat, SUM(liczebnosc) AS ZerujacychWLesieDzieciolow FROM gatunki, lokalizacje, obserwacje WHERE zachowanie="zeruje" AND nazwa_zwyczajowa LIKE "dzieciol%" AND opis LIKE "%las%" AND gatunki.ID_gatunku = obserwacje.ID_gatunku AND lokalizacje.ID_lokalizacji = obserwacje.ID_lokalizacji GROUP BY powiat ORDER BY ZerujacychWLesieDzieciolow DESC LIMIT 1; Najmniejsza: SELECT powiat, SUM(liczebnosc) AS ZerujacychWLesieDzieciolow FROM gatunki, lokalizacje, obserwacje WHERE zachowanie="zeruje" AND nazwa_zwyczajowa LIKE "dzieciol%" AND opis LIKE "%las%" AND gatunki.ID_gatunku = obserwacje.ID_gatunku AND lokalizacje.ID_lokalizacji = obserwacje.ID_lokalizacji GROUP BY powiat ORDER BY ZerujacychWLesieDzieciolow ASC LIMIT 1; 7. Wyswietl ile w każdym państwie Europy jest miast powyżej 300k ludności? SELECT co.Name, COUNT(ci.Name) FROM country AS co, city AS ci WHERE co.Code=ci.CountryCode AND co.Continent LIKE 'Europe' and ci.Population>300000 GROUP BY co.Name; 8.Wyswielt srednia liczebność każdego gatunku ptaku SELECT g.nazwa_zwyczajowa, round(AVG(o.liczebnosc)) as srednia FROM gatunki g, obserwacje o WHERE o.ID_gatunku=g.ID_gatunku GROUP BY g.nazwa_zwyczajowa ORDER BY srednia DESC; 9.wyswietl srednia oczekiwana dlugosc zycia na każdym z kontynetow SELECT Continent, round(AVG(LifeExpectancy), 1) FROM `country` GROUP BY Continent; 10.wyswietl populacje ludności na każdej z kontynentow SELECT `Continent`, SUM(Population) FROM `country` GROUP BY Continent; 11.ile razy w każdym powiecie dokonano obserwacji ptakow (wyświetl w kolejności malejącej) SELECT l.powiat, COUNT(o.poczatek) AS LiczbaObserwacji FROM `lokalizacje` AS l, obserwacje AS o WHERE l.ID_lokalizacji=o.ID_lokalizacji GROUP BY l.powiat ORDER BY LiczbaObserwacji DESC 12.jaka powierzchnie zajmuje każdy z kontynentow? ELECT `Continent`, SUM(SurfaceArea) FROM `country` GROUP BY `Continent`; 13.jaki kontynent ma najwieksza powierzchnie? SELECT Continent, ROUND(SUM(`SurfaceArea`)) AS powierzchnia FROM `country` GROUP BY Continent ORDER BY powierzchnia DESC LIMIT 1
Powrót