Bartosz Gierlach, KGiIS Technologie informacyjne 2016/2017 LIBRE OFFICE BASE – WPROWADZENIE DO SQL SQL (Structured Query Language) – strukturalny język zapytań, służący do tworzenia i modyfikowania baz danych oraz umieszczania i pobierania danych z bazy. Został opracowany w latach ‘60-tych przez firmę IBM, a w 1986 stał się oficjalnym standardem wspieranym przez ISO i ANSI. Jest podstawą działania edytorów baz danych oraz stron internetowych wykorzystujących bazy danych. Sposoby wprowadzania kodu SQL w LibreOffice Base: • „Utwórz kwerendę SQL” - tylko dla zapytań pobierających dane (polecenie SELECT) • Narzędzia > SQL Podstawowe polecenia: 1. Definiowanie struktur (Data Definition Language) ◦ CREATE – tworzenie baz danych lub tabel, np. CREATE TABLE „Osoby” ( „Imię” Varchar(20), „Nazwisko” Varchar(20), „Pesel” Integer) ◦ DROP – usuwanie struktury, np. DROP TABLE „Osoby” ◦ ALTER – modyfikacja tabeli, np. dodanie nowej kolumny do tabeli lub jej usunięcie: ALTER TABLE „Osoby” ADD „Telefon” Integer ALTER TABLE „Osoby” DROP „Telefon” 2. Modyfikacja danych (Data Manipulation Language) ◦ INSERT – dodawanie nowego rekordu, np. INSERT INTO „Osoby” VALUES (‘Jan’, ‘Kowalski’,’85041238490’,’600800795’) ◦ UPDATE – modyfikacja istniejącego rekordu, np. UPDATE „Osoby” SET „Miasto”=’Kraków’ WHERE „Rejestracja”=’KR’ Słowo WHERE określa które z rekordów mają zostać zmienione, jeśli zostanie pominięte – zmienione zostaną wszystkie rekordy. ◦ DELETE – usuwanie rekordów, np. DELETE FROM „Osoby” WHERE „Miasto”=’Kraków’ Bez warunku z WHERE usunięte zostaną wszystkie rekordy tabeli! Bartosz Gierlach, KGiIS Technologie informacyjne 2016/2017 3. Kontrola nad danymi (Data Control Language) – nadawanie uprawnień do obiektów 4. Definiowanie zapytań (Data Query Language) ◦ SELECT – odpowiednik kwerendy wbudowanej w Base, np.: SELECT * FROM „Osoby” WHERE „Imię”=’Jan’ - wyświetla wszystkie pola (*) z tabeli Osoby dla rekordów w których pole Imię = ‘Jan’ SELECT „Imię”, „Nazwisko” FROM „Osoby” ORDER BY „Nazwisko”– wyświetla pola Imię i Nazwisko z tabeli Osoby dla wszystkich rekordów i sortuje po polu Nazwisko SELECT „Imię”, „Nazwisko” FROM „Osoby” WHERE „Miasto”=’Kraków’ OR „Miasto”=’Warszawa’ - pola Imię i Nazwisko dla rekordów w których pole Miasto jest równe Kraków lub Warszawa SELECT „Osoby”.”Nazwisko” AS „Osoba”, „Miasta”.”Województwo” FROM „Osoby”, „Miasta” WHERE „Osoby”.”Miasto”=”Miasta”.”Miasto” - w tym przypadku słowo WHERE pozwala na określenie relacji łączącej tabele Osoby i Miasta, słowo „AS” określa alias, czyli nazwę pola w kwerendzie Operatory dla wyrażenia WHERE: = równy <> różny >, < większy, mniejszy >=, <= większy lub równy, mniejszy lub równy BETWEEN w przedziale otwartym, np. BETWEEN 0 AND 1 LIKE wzorzec, np. LIKE ‘%a’ (% zastępuje dowolny ciąg znaków), LIKE ‘____’ (_ zastępuje pojedynczy znak) , LIKE J[uó]rek ([uó] zastępuje jedną z liter podanych w nawiasie) IN wartość zawarta w pewnym zbiorze, np.: IN (1, 3, 5, 8) AND, OR koniunkcja, alternatywa NOT negacja Bartosz Gierlach, KGiIS Technologie informacyjne 2016/2017 ZADANIA (do wykonania za pomocą SQL) 1. Utwórz tabelę „Uczelnie” z polami: „Nazwa” (varchar, 100znaków), „Miasto” (varchar, 20 znaków), „Skrót” (varchar, 10 znaków). Aby zobaczyć utworzoną tabelę, wciśnij Widok>Odśwież tabele. 2. Wprowadź kilka rekordów do tabeli „Uczelnie” 3. Do tabeli „Osoby” dodaj pole „Uczelnia” i „Płeć” 4. Wypełnij ręcznie pole „Uczelnia” skrótami nazw uczelni (może być normalnie, nie w SQL) 5. Do pola „Płeć” wpisz ‘k’ lub ‘m’ w zależności od tego czy imię kończy się na ‘a’ 6. Wyświetl wszystkie osoby studiujące na którejś z uczelni (wszystkie pola) 7. Wyświetl imię i nazwisko oraz pełną nazwę uczelni (jako „Uczelnia”) dla wszystkich osób (wprowadź relację) 8. Wyświetl województwa z jakich pochodzą studenci poszczególnych uczelni (ma zostać wyświetlona pełna nazwa uczelni i nazwa województwa, jeden wpis dla każdej osoby)