Podstawy języka SQL

advertisement
1.
2. Podstawy języka SQL
a. 1. Cele lekcji
i. a) Wiadomości
Uczeń:

zna podstawowe komendy języka SQL,

wie jak utworzyć prostą bazę danych korzystając z darmowego serwera baz danych MySQL,

wie, w jaki sposób utworzyć bazę danych w języku SQL korzystając z Microsoft Access.
ii. b) Umiejętności
Uczeń:

potrafi wymienić podstawowe komendy języka SQL,

umie utworzyć prostą bazę danych korzystając z darmowego serwera baz danych MySQL,

umie utworzyć bazę danych w Microsoft Access używając języka SQL.
b. 2. Metoda i forma pracy
Dyskusja, ćwiczenie, praca indywidualna.
c. 3. Środki dydaktyczne
Komputer
Internet
Baza danych Microsoft Access
Darmowy serwer baz danych MySQL
Karta pracy
d. 4. Przebieg lekcji
i. a) Faza przygotowawcza
Nauczyciel zapoznaje uczniów z tematem lekcji i uświadamia im cele zajęć. Prosi o włącznie
komputerów. Przed zajęciami nauczyciel przygotowuje kartki z opisem podstawowych komend SQL
(załącznik 1) oraz wycina kartki z zadaniami zawartymi w karcie pracy (załącznik 2). Ważne jest
również wcześniejsze zainstalowanie na komputerach darmowego serwera baz danych MySQL.
Nauczyciel powinien również wcześniej przygotować lub ściągnąć z Internetu przykładową bazę
danych i udostępnić ją w zasobach sieciowych pracowni lub umieszczoną w folderze na dysku
twardym każdego komputera znajdującego się w pracowni.
ii. b) Faza realizacyjna
1. Nauczyciel prosi uczniów o włączenie komputerów, rozdaje kartki z opisem podstawowych
komend SQL (załącznik 1).
2. Następnie omawia zasadę tworzenia prostej bazy danych wspomagając się kartkami z opisem
tworzenia bazy danych w języku SQL (załącznik 1). Jednocześnie uczniowie, korzystając z
udostępnionych im materiałów i słuchając opisów podawanych przez nauczyciela wykonują
krok po kroku przykładową bazę danych.
3. Następnym krokiem jest rozdanie uczniom Kart Pracy (załącznik 2) zawierających określone
zadania do wykonania.
4. Po wytłumaczeniu zawartych w Karcie Pracy zadań nauczyciel prosi uczniów o realizację
zadania nr 1.
5. Po wykonaniu zadania nr 1 uczniowie przedstawiają nauczycielowi efekty swojej pracy.
6. Następnie nauczyciel objaśnia zastosowanie języka SQL w Microsoft Access.
7. Po omówieniu zastosowania SQL w MS Access uczniowie przystępują do realizacji zadania nr
2 zawartego w Karcie Pracy (załącznik 2).
8. Po wykonaniu zadania nr 2 uczniowie przedstawiają nauczycielowi efekty swojej pracy.
9. Na zakończenie zajęć nauczyciel wraz z uczniami omawia zasadność tworzenia baz danych w
języku SQL.
iii. c) Faza podsumowująca
1. Uczniowie nabierają wiedzy o budowie bazy danych opartej na języku SQL.
2. Potrafią utworzyć prostą bazę danych korzystając z poleceń języka SQL.
3. Utrwalają umiejętności logicznego myślenia pozwalającego na poprawne utworzenie bazy
danych.
4. Uwagi dla nauczyciela:

Ważne jest aby uświadomić uczniom, że bazę danych, tworzoną w języku SQL, można napisać
nie tylko korzystając z komercyjnego oprogramowania jakim jest Microsoft Access. Dlatego
ważnym aspektem jest nauka tworzenia prostej bazy danych korzystając z darmowego serwera
baz danych MySQL.
e. 5. Bibliografia
1. Koba G., Informatyka dla liceum ogólnokształcącego, Migra, Wrocław 2003.
2. Broda P., Smołucha D., Informatyka, Operon, Gdynia 2006.
3. Wilton P., Colby J., SQL. Od podstaw, Helion, Gliwice 2005.
f. 6. Załączniki
i. a) Karta pracy ucznia
załącznik 1.
SQL, Structured Query Language, standardowy język zapytań do obsługi relacyjnej bazy danych.
Język programowania baz danych i ich sieciowych serwerów. Pierwowzorem SQL był opracowany
przez IBM we wczesnych latach siedemdziesiątych XX w. język SEQUEL (E. F. Codd).
Dalsza inicjatywa należała do firmy Oracle, która od 1977 upowszechnia systemy zarządzania bazami
danych oparte na SQL. W 1982 podjęto prace standaryzacyjne (ANSI X3H2), zakończone w 1986
(SQL1). Drugi standard SQL pochodzi z ISO (1987). Rok 1989 zaowocował dodatkiem do obu
standardów (SQL-89). Rozszerzony standard języka, o nazwie SQL2 (SQL-92), został zatwierdzony
przez ANSI i ISO w 1992. Najnowsze rozszerzenia języka opatrzono nazwą SQL3. Niezależnie od
specyficznych właściwości standardów język SQL pozwala formułować działania na tabelach w formie
zbliżonej do zdań w języku angielskim.
MySQL jest bardzo popularnym bazodanowym systemem zarządzania, opartym o licencję Open
Source SQL Baza danych SQL może mieć różnoraką strukturę oraz zawartość: od prostych list
informacyjnych, poprzez galerie obrazków aż po zaawansowane, korporacyjne zastosowania w dużych
przedsiębiorstwach. Aby zarządzać, administrować oraz modyfikować danymi umieszczonymi w bazie
danych musimy mieć zainstalowany w systemie serwer bazodanowy MySQL Server. Współczesne
komputery bardzo dobrze dają sobie radę ze skomplikowanymi obliczeniami związanymi ze
współczesnymi bazami danych i bezproblemowo pozwalają na pełnienie centralnej roli serwera
bazodanowego w standardowym zastosowaniu i typowych ustawieniach .
W tym opracowaniu zakładam, że na w komputerze mamy poprawnie zainstalowany MySQL Server
oraz pracujemy w systemie Windows XP lub Windows 2000. Wersja MySQL użyta w tym
opracowaniu to 4.1.7.
Po zainstalowaniu serwera bazy danych MySQL w systemie Windows należy uruchomić ją w
następujący sposób:
Menu start
Programy
MySQL
MySQL Server
MySQL Command Line Client
Po uruchomieniu widzimy okno logowania. Podajemy hasło i naciskamy <ENTER>. Po zalogowaniu
(przyjmujemy, że mamy jednego użytkownika root i pracujemy jako root) widzimy następujące okno:
Aby utworzyć bazę o nazwie baza 1 wydajemy polecenie:
create database baza1;
Następnie możemy sprawdzić czy nasza baza została utworzona oraz jakie bazy mamy już utworzone
(standardowo po zainstalowaniu są tworzone samoczynnie bazy „mysql” oraz „test”. Polecenie służące
do wyświetlania wszystkich baz to:
show databases;
Jak widzimy mamy do dyspozycji 3 bazy. My będziemy pracować w bazie o nazwie „baza1”. W tym
celu wydajemy polecenie:
use baza1;
aby rozpocząć pracę w konkretnej bazie (w tym przypadku w bazie o nazwie „baza1”).
Po wejściu do naszej bazy możemy wydać polecenie
show tables;
które pozwoli nam na wyświetlenie jakie mamy tabele w naszej bazie.
W naszym przypadku serwer wyświetlił informację, że baza jest pusta, więc teraz możemy przystąpić
do utworzenia tabeli. W tym celu wydajemy polecenie
create table nazwa(i_ucz int PRIMARY KEY AUTO_INCREMENT);
gdzie:
nazwa – jest to nazwa naszej tabeli;
i_ucz – jest to identyfikator;
int – (ang. integeer) – jest to liczba całkowita, wg. której nastąpi numerowanie identyfikatora. Można
również użyć polecenia „char”, które pozwoli nam na zastąpienie cyfr literami;
PRIMARY KEY AUTO_INCREMENT – oznacza, że będzie to nasz klucz podstawowy wraz z
autonumerowaniem;
Sumując, jeżeli chcemy w bazie „baza1” utworzyć tabelę o nazwie „uczniowie” o identyfikatorze
„i_ucz” powinniśmy wydać polecenie:
create table uczniowie(i_ucz int PRIMARY KEY AUTO_INCREMENT);
Wówczas możemy ponownie wydać polecenie :
show tables;
pokazujące nam efekty naszej pracy
Polecenie
explain uczniowie:
Wyświetli nam strukturę tabeli o nazwie „uczniowie”
Wszystkie zmiany robimy poleceniem
alter table;
Przykładem może być wstawienie kolumny zawierającej „imie” o długości do 30 znaków, „login” o
długości do 10 znaków oraz „pass” o długości do 10 znaków (jest to przykład utworzenia konta o
określonej nazwie wraz z loginem oraz hasłem). W tym celu musimy wydać polecenie:
alter table uczniowie add column(imie varchar(30), login varchar(10), pass varchar(10));
Następnie poleceniem
explain uczniowie;
możemy wyświetlić schemat naszej tabeli
Informacje zawarte w naszej tabeli nie mają jeszcze wprowadzonych danych. Robimy to poleceniem
insert
Aby wprowadzić dane do tabeli o użytkowniku „Jan” posiadającym login „janek” i haśle „janusz”
wpisujemy następującą komendę:
insert into uczniowie values(‘’,’Jan’,’janek’,’janusz’);
Zwróć uwagę na fakt , iż wszystkie dane w nawiasie zostały umieszczone pomiędzy znakami apostrofa
‘ oraz dodatkowo umieszczono jedno puste pole przed nazwą użytkownika (czyli przez ‘Jan’). Owo
puste pole ma na celu zapewnienie miejsca identyfikatorowi (i_ucz), który będzie samoczynnie
wstawiany. Wpisz więc powyższą komendę. Następnie możesz powtórzyć komendę wpisując tym
razem nowego użytkownika. Przyjmijmy, że nowym użytkownikiem będzie Wojtek mający login
„Wojciech” a hasło „wojtek”. Następnie wpisz polecenie
select * from uczniowie;
które wyświetli nam dane znajdujące się w tabeli „uczniowie”
Jeżeli chcemy dokonać zmiany w konkretnej komórce wydajemy polecenie
update
Przykładowo, chcemy zmienić imię z Wojtka na Karola u użytkownika z identyfikatorem o numerze 2.
W tym celu musimy wydać polecenie
update uczniowie set imie=”Karol” where i_ucz=2;
Zwróć uwagę, że wpisujemy w poleceniu tylko nowe imię posługując się jedynie numerem
identyfikatora (dokładne tłumaczenie polecenia wygląda następująco: zaktualizuj tabelę uczniowie
zamieniając w kolumnie „imie” poprzednie słowo słowem „Karol” u użytkownika posiadającego
identyfikator o numerze 2). Po wpisaniu komendy wydaj polecenie:
select * from uczniowie;
aby zaobserwować zmiany
Oczywiście, każde z poleceń możemy rozwijać dopisując określone parametry. I tak, np.:
select i_ucz,imie,login,pass from uczniowie order by imie; - wyświetli nam zawartość tabeli sortując
dane alfabetycznie według kolumny „imie” (ma to oczywiście sens w przypadku większej ilości
danych)
select * from uczniowie where imie like ‘J’; - wyszuka nam dane według kolumny „imie” w
imionach zaczynających się od litery „J”.
Aby usunąć dane z naszej tabeli (np. kolumnę) musimy wydać polecenie
alter table nazwa_tabeli drop column nazwa_kolumny;
gdzie „nazwa_tabeli” jest nazwą naszej tabeli (w tym przypadku „uczniowie”) a „nazwa_kolumny” jest
nazwą kolumny, którą chcemy usunąć. Przyjmijmy więc, że usuwamy kolumnę „pass”. W tym celu
należy wydać polecenie
alter table uczniowie drop column pass;
Po wydaniu komendy wpiszmy polecenie
select * from uczniowie;
i sprawdźmy co zmieniło się w naszej tabeli.
Podobnie możemy postąpić chcąc usunąć tabelę czy nawet całą bazę. Celem usunięcia całej bazy
danych wpisujemy polecenie
drop database nazwa_bazy;
gdzie „nazwa_bazy” jest nazwą usuwanej przez nas bazy. Zmiany oczywiście możemy zobaczyć
wydając polecenie
show databases;
Polecenie, które kończy pracę z bazą danych MySQL to (w zależności od wersji)
exit;
lub
quit;
Po wydaniu tego polecenia automatycznie zamyka się okno konsoli zarządzania bazą danych serwera
MySQL.
W przedstawionym tutaj krótkim opisie MySQL dokonaliśmy kilku najczęściej wykonywanych rzeczy.
Oczywiście, możliwości MySQL są o wiele większe, jednakże jest to temat tak rozległy, że starcza on
do napisania bardzo grubej książki. Nie chodziło tutaj o szczegółowe poznanie wszystkich możliwości
bazy danych MySQL, lecz o zapoznanie się z ogólnym wyglądem oraz podstawowymi funkcjami oraz
zastosowaniem MySQL.
załącznik 2.
Zadanie 1. Utwórz prostą bazę danych korzystając z darmowego serwera baz danych MySQL. W bazie
danych ma znaleźć się lista 10. najbliższych ci kolegów / koleżanek. Poszczególne kolumny muszą
zawierać klucz, imię, nazwisko, wiek, płeć, datę urodzenia, telefon. Pamiętaj o zasadach tworzenia
bazy danych. Możesz pomagać sobie materiałami otrzymanymi na lekcji.
Zadanie 2. Wiedząc już jak utworzyć prostą bazę danych korzystając z darmowego serwera baz danych
MySQL oraz w jaki sposób wprowadzać dane do bazy danych dokonaj następujących modyfikacji w
istniejącej bazie danych w Microsoft Access (możliwe jest wprowadzanie informacji tylko przy użyciu
języka SQL):

dodaj do istniejącej kwerendy adresy osób,

ułóż alfabetycznie kolejność gości obierając za klucz ich imiona,

utwórz kwerendę wyświetlającą gości, zawierającą ich imiona, nazwiska, adresy i numery
telefonów domowych.
ii. b) Notatki dla nauczyciela
Menu wyboru widoku SQL w Microsoft Access
Przykładowe okno kwerendy o nazwie ADRESY wyświetlającej listę osób według imienia, nazwiska,
numeru telefonu domowego i numeru telefonu komórkowego
Przykład kwerendy z tabeli ADRESY wyświetlającej imiona, nazwiska, numery domowe telefonów i
numery komórkowe telefonów według kolejności numerów telefonów komórkowych.
g. 7. Czas trwania lekcji
4 x 45 minut
h. 8. Uwagi do scenariusza
Darmowy serwer baz danych MySQL można ściągnąć ze strony:
http://pliki.webhelp.pl/index.php?action=file&roz=php&id=364
lub
http://www.download.net.pl/3764/MySQL/
Download