diff --git a/src/lab5.json b/src/lab5.json index 43e0b9444d09c24ec7d958406e0be3aca8e69728..4482d292e88954f6fc427b4910f912532a8bd7c2 100644 --- a/src/lab5.json +++ b/src/lab5.json @@ -1,42 +1,34 @@ [ { "description": "bazy przechowujÄ cej zamĂłwienia sklepu internetowego. Baza ĹledziÄ ma konta uĹźytkownikĂłw i zĹoĹźone przez nich zamĂłwienia. PamiÄtaj, Ĺźe kaĹźde zamĂłwienie skĹada siÄ z moĹźliwie wielu pozycji, oraz informacji rozliczeniowych, transportowych (wraz z pĹatnoĹciÄ za transport).", - "min_tables": "3", - "min_fields": "5" + "sql": "wszystkich nazw towarĂłw zamĂłwionych kiedykolwiek przez konkretnego uĹźytkownika" }, { "description": "bazy przechowujÄ cej wizyty pacjentĂłw w przychodni POZ. Baza ma ĹledziÄ pacjentĂłw, lekarzy, recepcjonistek oraz umĂłwione terminy wizyt. PamiÄtaj Ĺźe to recepcjonistka umawia wizytÄ konkretnego pacjenta do konkretnego lekarza na konkretny termin.", - "min_tables": "4", - "min_fields": "4" + "sql": "listÄ wszystkich terminĂłw wizyt konkretnego pacjenta, wraz z nazwiskiem lekarza i recepcjonistki" }, { "desciption": "bazy rejestrujÄ cej rezerwacjÄ miejsc w kinach. Baza ma ĹledziÄ sale kinowe, seanse oraz rezerwacje miejsc.", - "min_tables": "3", - "min_fields": "5" + "sql": "listÄ wszystkich rezerwacji w historii danej sali, wraz z nazwÄ seansu" }, { "description": "bazy rejestrujÄ cej wypoĹźyczenia ksiÄ Ĺźek. Baza ma ĹledziÄ ksiÄ Ĺźki, czytelnikĂłw oraz wypoĹźyczenia. Czym róşni siÄ ksiÄ Ĺźka jako pozycja wydawnicza od ksiÄ Ĺźki jako fizycznego bytu?", - "min_tables": "3", - "min_fields": "5" + "sql": "listÄ wszystkich wypoĹźyczeĹ konkretnego czytelnika, wraz z tytuĹami ksiÄ Ĺźek" }, { "description": "bazy rejestrujÄ cej rezerwacjÄ sal na egzaminy. Baza ma ĹledziÄ przedmioty, sale i rezerwacjÄ tychĹźe. Upewnij siÄ, aby jeden termin w sali nie mĂłgĹ zostaÄ zarezerwowany wiÄcej niĹź jeden raz!", - "min_tables": "3", - "min_fields": "5" + "sql": "listÄ wszystkich terminĂłw egzaminu na konkretny przedmiot, wraz z informacjÄ w ktĂłrej sali siÄ odbywa" }, { "description": "bazy komputerowego dziennika szkolnego. Baza ma ĹledziÄ klasy, uczniĂłw, oceny i przedmioty.", - "min_tables": "4", - "min_fields": "4" + "sql": "listÄ wszystkich ocen danego ucznia, wraz z nazwami przedmiotĂłw" }, { "description": "bazy przechowujÄ cej informacje o kierowcach, pojazdach oraz mandatach. Musi ona ĹledziÄ kierowcĂłw, pojazdy, mandaty oraz przeglÄ dy techniczne pojazdĂłw.", - "min_tables": "4", - "min_fields": "3" + "sql": "listÄ wszystkich mandatĂłw konkretnego kierowcy" }, { "description": "bazy rejestrujÄ cej sprzedaĹźe w hipermarkecie. Musi ona zawieraÄ informacjÄ o towarach, ktĂłre market oferuje, a takĹźe o datach konkretnych paragonĂłw i ich zawartoĹciach. Dane na temat klientĂłw z oczywistych wzglÄdĂłw nie sÄ dostÄpne.", - "min_tables": "3", - "min_fields": "3" + "sql": "listÄ wszystkich paragonĂłw, na ktĂłrych figuruje dany towar" } ] diff --git a/src/lab5.md b/src/lab5.md index 7b2cfd81a051c4e4047afa20dd75722c7b72b7a3..057866efc67e79696c000f45534470d1b65101e8 100644 --- a/src/lab5.md +++ b/src/lab5.md @@ -54,19 +54,55 @@ Kliknij Tabele, a nastÄpnie _UtwĂłrz tabelÄ_. Tu postÄpuj juĹź zgodnie z wyty BÄdziesz musiaĹ zapoznaÄ siÄ z tabelÄ typĂłw PostgreSQL. Zestawienie takie moĹźna znaleĹşÄ chociaĹźby [tu](http://student.agh.edu.pl/~winiczuk/postgres.html). Upewnij siÄ, Ĺźe ustawiasz klucz podstawowy. Kluczami obcymi na razie siÄ nie przejmuj. + Skonfiguruj wszystkie zaprojektowane przez siebie tabele. + + ZamieĹÄ w sprawozdaniu definicjÄ tabel przy uĹźyciu poleceĹ CREATE TABLE. + Wykonaj to jako zadanie domowe. + Po wykonaniu zadania, przejdĹş dalej. + # Dodawanie rekordĂłw Po dodaniu tabeli bÄdzie ona widoczna na liĹcie po lewej stronie. Kliknij na tabelÄ, na nastÄpnie na *Wstaw*. W ten sposĂłb -dodaÄ moĹźesz kilka rekordĂłw. UzupeĹnij wszystkie tabele przynajmniej po 3 rekordami, a wybranÄ 10 rekordami. +dodaÄ moĹźesz kilka rekordĂłw. + + UzupeĹnij wszystkie tabele przynajmniej po 3 rekordami, a wybranÄ 10 rekordami. + + ZamieĹÄ w sprawozdaniu komendy SQL dodajÄ ce rekordy (INSERT ..) + Wykonaj to jako zadanie domowe. + +# Zapytanie! + +Zapytania SQL pozwalajÄ wybraÄ konkretne dane. Na przykĹad `SELECT * FROM tabela` pokazuje nam zawartoĹÄ +caĹej tabeli. KaĹźde zapytanie SQL jest zawsze skierowane do **jakiejĹ** bazy danych, tak wiÄc najpierw wybierz +swojÄ , a nastÄpnie kliknij SQL. + + SprĂłbuj wybraÄ wszystkie rekordy ze swojej tabeli. ZrĂłb to zapytaniem `SELECT * FROM nazwatabeli`. + +Twoim celem na tym laboratorium jest napisanie zapytania SQL ktĂłre umoĹźliwi pobranie $sql$. +Wymagane bÄdzie uĹźycie klauzuli **JOIN**. Dodawaj rekordy tak, aby w wyniku otrzymaÄ +przynajmniej 6 rekordĂłw. + +Przydatne zasoby: + +* [jak dziaĹa JOIN](http://www.sqlpedia.pl/laczenie-tabel-sql/) +* [jak dziaĹa JOIN bis](http://funkcje.net/nsc/4/2867/3/38/page.html) +* [przykĹady JOIN w PostgreSQL](http://home.agh.edu.pl/~ligeza/wiki/_media/bazydanych:sql-wyzwalacze-reguly-funkcje.pdf?id=bazydanych%3Awyklady&cache=cache) +(oraz masy innych rzeczy, dla nas nieistotnych) + + + Przygotuj i wykonaj takie zapytanie. + + ZamieĹÄ w sprawozdaniu zapytanie i zrzut ekranu z wynikiem. **Zanim zakoĹczysz pracÄ, skonsultuj swoje wyniki z prowadzÄ cym!** # WyĹlij sprawozdanie -_Fast fertig_! Zapisz i wyĹlij swoje sprawozdanie. JeĹli masz problem z wklejeniem zdjÄcia zrobionego +_Fast fertig_! Zapisz swoje sprawozdanie. NiektĂłre zadania musisz wykonaÄ w domu. +JeĹli masz problem z wklejeniem zdjÄcia zrobionego z telefonu to wyĹlij sprawozdanie później. JeĹli nie masz takiego telefonu, wykorzystaj kolegÄ. WyĹlij je na adres sprawozdania@henrietta.com.pl. @@ -77,20 +113,11 @@ z telefonu to wyĹlij sprawozdanie później. JeĹli nie masz takiego telefonu, wiÄc nie pisz "Projekt Adam Nowak". PodejĹcie takie bÄdzie aktywnie penalizowane. -Twoim zadaniem domowym jest nauczenie siÄ jÄzyka SQL. NauczyÄ musisz siÄ przynajmniej poleceĹ: - -* `SELECT` -* `INSERT` -* `UPDATE` -* `DELETE` -* `CREATE TABLE` - -SzczegĂłlnÄ uwagÄ poĹwiÄÄ klauzulom `WHERE` oraz `LEFT JOIN`. - -Ich znajomoĹÄ bÄdzie sprawdzona na przyszĹych zajÄciach, gdzie bÄdziesz implementowaÄ swĂłj schemat -bazy w jÄzyku SQL oraz pisaÄ do niej zapytania. +Baza danych i interfejs bÄdÄ dostÄpne po zajÄciach. Przez ile - pytaj prowadzÄ cego. -Teraz idĹş korzystaÄ z dobrej/zĹej pogody, bo na weekendzie ma kropiÄ. +Na nastÄpnym spotkaniu (1.06) mamy zaliczenie. Zagadnienia obejmujÄ wszystko to, +co byĹo ujÄte w instrukcjach. W szczegĂłlnoĹci gwarantowane sÄ zadania z: +* napisania prostego programu w C++ +* napisaniu prostego zapytania SQL -_"Uczmy siÄ kochaÄ papier, tak szybko odchodzi"_