[ CZ.2 ]

 


ZADANIA DO WYKONANIA
[ZOBACZ]


KRYTERIA OCENIANIA ON-LINE

 


Temat 1: Zagadnienia bezpiecznej pracy na stanowisku komputerowym

Zobacz przepisy dotyczące bezpiecznej pracy na stanowisku komputerowym zapisane w Rozporządzeniu Ministra Pracy i Polityki Socjalnej z dn. 1.12.1998 (Dz. U. Nr 148, poz. 973)

  BHP w pracowni komputerowej

 


INFO O ZADANIACH DO WYKONANIA

Zasady ogólne dla wersji zajęć on-line:
Frekwencja - sprawdzana jest w danym dniu do godz. 15.00 przez potwierdzenie odebrania maila na Dzienniku 'Vulcan' (system Dziennika automatycznie potwierdzi odbiór po otworzeniu wiadomości)
Zadania są przesyłane wyłącznie przez dziennik elektroniczny "Vulcan". 

Zasady oceniania w czasie zajęć on-line:
Zasady PSO na stronie Kasprzaka.
Zasady WSO (naszych lekcji TIABD) pod linkiem:
https://edukasprzak.blogspot.com/p/ocenianie.html 

Materiały do lekcji będą prezentowane na tej stronie w zakładkach dla cz.1, cz.2, cz.3;  

Potrzebne oprogramowanie:
Do rozwiązania zadań nr. 05-20 potrzebny jest konsolowy serwer "Mini Server" lub inny z konsolą CMD. Można go pobrać z tej strony z działu DOWNLOAD na "Google Drive".
https://sites.google.com/view/eduprojekt

Wszystkie zadania są dostępne na "Dysku Google" w zakładce 'CZ. 2' pod adresem:

https://sites.google.com/view/eduprojekt/zadania

Zadania rozwiązujecie wg instrukcji podanej na lekcji lub przesłanej przez mail na "Dzienniku elektronicznym Vulcan", pracę dokumentujecie zrzutami ekranowymi z odpowiednimi komentarzami, zapisujecie w pliku DOC, pakujecie do pliku ZIP pod nazwą 'nazwisko_klasa_zadanieNR.zip' i przesyłacie na mój adres e-mail.
 
 
OCENY W CZĘŚCI 2:
JS4 - "Tworzenie baz danych w SQL" - ocena za zadania w szkole z tematów 2-19 (mini-kurs MySQL) plus "Praca z mini-serwerem MySQL" - ocena za zadania nr. 1-5;
JS5 - "Ćwiczenia z b.d. w MySQL" - ocena za zadania nr. 6-8;
JS6 - "Projektowanie baz w MySQL" - ocena za zadania z zabezpieczania b.d. nr. 9-10-11 "Dziennik" + Projekt zad.12;
JS7   - "Test z BD"  ocena za zadania 13,14, 15, 16 i 17;
JS8 - "Tworzenie kwerend w bazach danych MySQL" - ocena za zadanie "Firma" 18 do 22;

PP1-PP4 - "Poprawa prac z SQL" - ocena za zadania 23-26;



 

 

BAZY DANYCH MYSQL

 

Temat 2: Instalacja i użytkowanie serwera Mini Server MySQL 

> Zobacz instrukcję

Temat 3: PODSTAWY SQL
 

Skrót SQL oznacza "Structured Query Language" - czyli Strukturalny język zapytań;

SQL stanowi najbardziej popularny mechanizm definiowania poleceń i modyfikacji w relacyjnych systemach baz danych (jest ratyfikowany jako standard języka relacyjnych baz danych).

  • Wszystkie SZBD (ang. DBMS) czyli systemy zarządzania b.d. powinny opierać się na tym standardzie.
  • SQL jest zaimplementowany w takich systemach baz danych (DBMS czyli Database Management System), jak: DB2, Oracle, InterBase, MySQL, dBase, Sybase, Informix, Paradox, MS SQL. Dzięki temu systemy informacyjne można przenosić na inne platformy.
  • Polecenia SQL maja postać zbliżoną do zdań w języku angielskim i są stosowane w celu uzyskania dostępu do danych i sterowania operacjami w bazie danych.
  • Składnię języka SQL dzieli się na trzy typy:
    DML (Data Manipulation Language) - stosowany przez wszystkich użytkowników bazy danych. Służy do wybierania i manipulowania danymi znajdującymi się w bazie. Za jego pomocą, można dodawać, usuwać, wybierać czy uaktualniać dane. Przykłady komend: SELECT- wydobywa dane z tabel, UPDATE- uaktualnia dane w tabeli, DELETE - kasuje dane z tabeli, INSERT INTO - wprowadza dane do tabeli
    DCL (Data Control Language) - stosowany przez administratorów bazy danych. Służy on do zapewnienia bezpieczeństwa dostępu do danych znajdujących się w bazie. Za jego pomocą można przykładowo nadawać lub odbierać uprawnienia poszczególnym użytkownikom, czy całym grupom.
    DDL (Data Definition Language) - czyli język definiowania struktur danych jest wykorzystywany do utrzymywania struktury bazy danych. Dotyczy więc obiektów i poleceń jakie można na nich wykonywać. Przykłady komend: CREATE TABLE - tworzy nową tabelę, ALTER TABLE - zmienia istniejącą tabelę, DROP TABLE - kasuje istniejącą tabelę, CREATE INDEX - tworzy indeks, DROP INDEX - usuwa indeks;


Zasady ogólne
=============

  • Język SQL nie rozróżnia małych i wielkich liter w słowach kluczowych i nazwach (baz danych, tabel, indeksów i kolumn).
  • Język SQL rozróżnia litery w nazwach danych, trzeba pamiętać, że muszą być pisane dokładnie tak jak są umieszczone w tabeli.
  • Legalne są nazwy zbudowane ze znaków alfanumerycznych, nie zaczynające się od cyfry. Nie są dozwolone nazwy składające się wyłącznie z cyfr.
  • Nie należy w nazwach stosować znaków przestankowych i "@";
  • Każda komenda SQL kończy się średnikiem (;) i może składać się z wielu linii tekstu;
  • Wartości napisowe podaje się tak: "napis", lub tak: 'napis';
  • Wartości liczbowe zapisuje się w "zwykły'' sposób, ewentualnie z kropką dziesiętną lub w notacji wykładniczej (np. -32032.6809e+10), gdy chodzi o wartości zmiennoprzecinkowe.
  • Polecenie języka SQL składa się z dwóch rodzajów słów:
  • Zarezerwowanych – pisanych z dużych liter, które są integralną częścią języka i nie mogą być zmieniane ani dzielone pomiędzy wierszami.
  • Zdefiniowanych przez użytkownika - pisanych małymi literami, które reprezentują nazwy różnych obiektów bazy danych takich jak: indeksy, widoki, tabele, kolumny, relacje.
TYPY DANYCH W SQL




  
 MINI KURS MYSQL



Temat 4: Tworzenie baz danych z zastosowaniem języka SQL

Jeżeli zainstalowany został mini_serwer, uruchom serwer plikiem mysql_start.bat

Zaloguj się do serwera SQL

Z:\bin\mysql --user=root --password=root

Serwer potwierdzi zalogowanie.

mysql>

Testowanie serwera mySQL

mysql> SHOW DATABASES;

Znajdujemy bazę pod nazwą mysql i podłączamy się do niej:

mysql> USE mysql;

mysql> SHOW TABLES;

Widzimy wszystkie tabele w bazie mysql

Mini_serwer wyłączamy komendą QUIT, następnie wychodzimy z konsoli EXIT i obowiązkowo wyłączamy serwer Apache za pomocą pliku mysql_stop.bat


 

Temat 5: Tworzymy pierwszą bazę o nazwie "klasa4x".

mysql> create database klasa4x;

Po stworzeniu bazy, możemy przejść do tworzenia tabel. Jednak samo stworzenie bazy, nie oznacza że staje się ona bazą bieżącą i możemy na niej wykonywać operacje.

Aby móc korzystać z konkretnej bazy, należy wybrać ją jako bazę bieżącą:

mysql> USE klasa4x;

Po poprawnym wykonaniu polecenia, serwer MySQL powinien zwrócić komunikat:

Database changed


 

Temat 6: Tworzymy tabele.

Stworzymy teraz tabelę dane, w której będziemy przechowywać dane odnośnie użytkowników.

mysql> create table dane

 -> (

 -> imie varchar(15) not null,

 -> nazwisko varchar(20) not null,

 -> email varchar(50) null,

 -> ulica varchar(50) null,

 -> miasto varchar(50) null,

 -> data_ur date null default '0000-00-00'

 -> );

Aby sprawdzić czy tabela została stworzona poprawnie wykonujemy poniższe polecenie:

mysql> describe dane;

Instrukcja DESCRIBE (można ją używać skrótowo desc) pokazuje informacje odnośnie podanej struktury tabeli.


 

Temat 7: Dodawanie nowych rekordów.

Stworzyliśmy bazę klasa4x i tabelę dane. Teraz zajmijmy się wprowadzeniem kilku rekordów do tabeli z danymi użytkowników. Dane mogą zawierać polskie znaki (sprawdź czy są one prawidłowo wpisane)

Dane dodawanego usera:

imię: Piotr,

nazwisko: Walczak

email: walus@plus.pl

ulica: Lesna

miasta: Warszawa

data urodzenia: 1980-02-25

A więc wprowadzamy dane:

mysql> insert into dane

 -> values('Piotr','Walczak','walus@plus.pl','Lesna','Warszawa','1980-02-25');

Dodajmy jeszcze pięciu dowolnych użytkowników.


 

Temat 8: Pobieranie informacji.

Instrukcja SELECT pozwala pobierać i wyświetlać informacje z tabel, ogólnie lub bardzo szczegółowo.

Ogólna postać instrukcji SELECT jest następująca:

SELECT co_pobrać

FROM tabela lub tabele

WHERE warunki_które_muszą_spełniać_dane

Aby wyświetlić całą zawartość tabeli wykonujemy:

mysql> select * from dane;

Można wybrać tylko jedną kolumnę z tabeli (np. email):

mysql> select email from dane;

A także kilka kolumn:

mysql> select ulica,miasto from dane;

Można także przestawiać kolejność kolumn, a także podawać kilka razy jedną kolumnę.

mysql> select miasto,email,imie from dane;


 

Temat 9: Określenie kryteriów pobierania danych.

Aby ograniczyć zbiór pobranych rekordów przez instrukcję SELECT, należy użyć klauzuli WHERE, która określa kryteria wyboru wierszy.

Wybierzmy osoby, które urodziły się przed 01-01-1970.

mysql> select imie,nazwisko from dane where data_ur<'1970-01-01';

W kolejnym przykładzie spróbujmy wybrać osoby zamieszkałe w Warszawie.

mysql> select imie,nazwisko from dane where miasto='warszawa';

A teraz połączmy dwa poprzednie przykłady i wybierzmy osoby zamieszkałe poza Warszawą

i urodzone po 01-01-1970.

mysql> select imie,nazwisko,miasto,data_ur from dane

 -> where data_ur>'1970-01-01'

 -> and miasto <> 'Warszawa';


Przy wyborze danych możemy stosować operatory arytmetyczne, porównania i logiczne.

Operatory arytmetyczne:

+ dodawanie

- odejmowanie

* mnożenie

/ dzielenie

Operatory porównania:

< mniejsze niż

<= mniejsze niż lub równe

= równe

!= lub <> nierówne

>= większe niż lub równe

> większe niż

Operatory logiczne:

AND logiczne „i” czyli koniunkcja

OR logiczne „lub” czyli alternatywa

NOT logiczne "nie" czyli negacja


 

Temat 10: Sortowanie wyników zapytania.

Aby uporządkować pobierane rekordy, należy użyć klauzuli ORDER BY.

Na początek spróbujmy posortować pobierane dane według nazwiska (od A do Z).

mysql> select imie,nazwisko from dane order by nazwisko;

Możemy określić w jaki sposób sortować rekordy, czy w kierunku rosnącym ASC lub malejącym DESC (domyślnie jest ASC).


 

Temat 11: Ograniczanie wyników zapytań.

Gdy rezultatem zapytania jest bardzo dużo wierszy (rekordów), możemy ograniczyć wynik używając klauzuli LIMIT. Klauzula LIMIT pozwala ograniczyć wynik zapytania do n wierszy całego rezultatu.

W naszej tabeli mamy 6 rekordów. Ograniczmy wynik zapytania do 3 rekordów:

mysql> select imie,email from dane limit 3;

Możemy wyświetlić wynik zapytania począwszy od jakiegoś rekordu, w naszym przypadku wyświetlmy rekordy począwszy od 2 (pierwszy rekord ma numer 0, nie 1), wyświetlając dwa kolejne rekordy:

mysql> select imie,email from dane limit 1,2;



Temat 12: Łączenie i nazywanie wartości kolumn wyjściowych - funkcja CONCAT().

Wybierzmy z naszej tabeli imiona i nazwiska, połączmy je w jedną kolumną o nazwie Imię – Nazwisko.

mysql> select concat(imie," ",nazwisko) as "Imie - Nazwisko" from dane;


 

Temat 13: Praca z datami (zastosowanie funkcji DATE).

Aby sprawdzić lub pobrać część daty, można użyć funkcji takich jak YEAR(), MONTH(), DAYOFMONTH() i wiele innych.

mysql> select imie,data_ur from dane where month(data_ur) = 9;

mysql> select imie,data_ur from dane where year(data_ur) > 1970;

ĆWICZENIE 1

Utwórz zapytanie obliczające wiek danej osoby.


 

Temat 14: Dopasowanie do wzorca.

Przy wybieraniu rekordów możemy wykonać operację dopasowania do wzorca, w ten sposób można wybrać rekordy bez podawania dokładnej wartości.

Aby wykonać operacje dopasowania należy użyć specjalnych operatorów LIKE lub NOT LIKE i określić ciąg znaków zawierających znaki zastępcze.

mysql> select imie,nazwisko from dane where nazwisko like 'w%';

Znak % oznacza dopasowanie do jakiejkolwiek sekwencji znaków.

mysql> select imie,email from dane where imie like '_____';

Znak _ określa pojedynczy znak. W powyższym przykładzie aby wybrać imiona składające się z pięciu liter należy podać znak _ pięć razy.

ĆWICZENIE 2

 Wyszukaj wszystkie osoby których nazwisko nie należy do nazwisk zakończonych na "ski" lub "cki";


 

Temat 15: Tworzenie podsumowań.

Aby odrzucić w wyniku zapytania wszystkie wiersze, które się powtarzają używamy słowa kluczowego DISTINCT.

Polecenie bez użycia powyższego słowa kluczowego da nam wynik z wieloma powtórzeniami. Gdy użyjemy słowa kluczowego DISTINCT, zapytanie zwróci nam wynik:

mysql> select distinct miasto from dane;

czyli odrzuci rekordy, które się powtarzają.

Bardzo przydatna jest funkcja COUNT(), która zlicza liczbę wierszy otrzymanych w wyniku zapytania.

Poniższe polecenie zwróci nam ilość wszystkich rekordów w tabeli dane:

mysql> select count(*) from dane;

Możemy obliczyć ile osób pochodzi z Warszawy:

mysql> select count(*) from dane where miasto = 'warszawa';

I jeszcze jeden przykład, w którym obliczymy ile osób mieszka w danym mieście:

mysql> select miasto, count(*) from dane group by miasto;

Ważna uwaga. W takim zapytaniu musimy użyć przed zliczeniem miast, grupowania wyników według miasta, gdyż w przeciwnym przypadku zapytanie zwróci nam błąd.

Oprócz funkcji matematycznej - zliczającej COUNT(), mamy również dostępne inne funkcje matematyczne wbudowane w strukturę języka SQL - MIN(), MAX(), SUM() i AVG() i wiele innych.

Wybierzmy teraz najstarszego użytkownika;

mysql> select min(data_ur) as "NAJSTARSZY" from dane;



ĆWICZENIE 3

Napisz zapytanie liczące ilość mężczyzn i kobiet w Twojej bazie. Zastanów się, czy proste odfiltrowanie imion żeńskich jest w pełni zasadne?

 

Temat 16: Pobieranie informacji z wielu tabel.

Aby wykonać takie zapytanie, musimy stworzyć drugą tabelę. Będzie ona miała nazwę ‘skrzynka’ powiedzmy, że będziemy w niej przechowywać dane odnoście ilości wiadomości e-mail, jakie dany użytkownik ma w swojej skrzynce.

mysql> create table skrzynka

 -> (

 -> email varchar(50) not null,

 -> listy int

 -> );

Teraz wprowadzamy dane przy pomocy polecenia INSERT INTO SKRZYNKA values (……)

Przy wybieraniu danych z dwóch tabel nasze zapytanie będzie różniło się od dotychczasowych zapytań pod dwoma względami:

1. w klauzuli FROM musimy wymienić więcej niż jedną tabelę, gdyż dane mają być pobierane z więcej niż jednej tabeli;

FROM dane,skrzynka

2. w klauzuli WHERE określa się, że tabele dane i skrzynka są złączone przez dopasowanie wartości email w każdej tabeli:

WHERE . . . dane.email = skrzynka.email.

Wybierzmy teraz z tabeli dane - imię, nazwisko i email usera oraz z tabeli skrzynka – ilość listów jakie ma dany user:

mysql> select dane.imie,dane.nazwisko,dane.email,skrzynka.listy

 -> from dane,skrzynka

 -> where dane.email = skrzynka.email;



Temat 17: Zmiana struktury tabel i ustawienie klucza PRIMARY KEY.

Jeżeli nasze tabele są już stworzone, a my dowiadujemy się, że w tabeli dane powinniśmy byli umieścić jeszcze pole numer_id, które by nadawało unikatowy numer każdemu z użytkowników (co jest elementarną zasadą tworzenia tabel w bazach danych). W takiej sytuacji wcale nie musimy kasować tabeli, tworzyć jej jeszcze raz, teraz już z polem numer_id i wprowadzać do niej dane.

W takim przypadku możemy posłużyć się instrukcją ALTER TABLE, dzięki której możemy dodawać i usuwać kolumny, zmieniać typ kolumn itp.

Dodajmy kolumnę numer_id:

mysql> alter table dane add numer_id int unsigned not null auto_increment primary key;

RELACJA MIĘDZY TABELAMI - KLUCZ PRIMARY KEY

W poleceniu mamy zmianę struktury tabeli - dodane zostało nowe pole 'numer_ID' oraz ustawiony został na tym polu klucz główny PRIMARY KEY z automatycznym, niepowtarzalnym numerowaniem.

W taki oto sposób wyznacza się relację między tabelami: przez utworzenie pola o charakterystycznej nazwie 'IDx...x' oraz ustawienie na tym polu klucza PRIMARY KEY. Takie pola, o wspólnej nazwie winny być utworzone w obu tabelach, a na tych polach winien być ustawiony klucz główny.

Teraz jeżeli przejrzymy dane w tabeli zauważymy, że kolumna numer_id została dodana i automatycznie zostały stworzone numery dla wszystkich naszych użytkowników. Sprawdź!

mysql> select * from dane;


 

Temat 18: Usuwanie i aktualizacja istniejących rekordów.

UWAGA! Wykonaj kopię bazy danych przez spakowanie plików na serwerze z folderu 'klasa4x' !

W poniższych przykładach można zastosować warunek odwołania się do pola numer_ID. Tym sposobem precyzyjnie określimy, które rekordy mają być zaktualizowane lub usunięte z bazy.

Do usuwania rekordów stosujemy instrukcję DELETE:

DELETE FROM nazwa_tabeli WHERE które_rekordy_usunąć;

Jeżeli nie podamy klauzuli WHERE wykasowane zostaną wszystkie rekordy z wskazanej tabeli.

Klauzulą WHERE wybieramy rekordy, które chcemy skasować.

Usuńmy z tabeli dane wszystkie dane userów, którzy mieszkają w Warszawie.

mysql> delete from dane where miasto = 'Warszawa';

Usuńmy z tabeli skrzynka wszystkich, którzy mają więcej niż 10 e-maili.

mysql> delete from skrzynka where listy > 10;


Aby zmodyfikować rekordy, należy użyć instrukcji UPDATE.

UPDATE nazwa_tabeli SET które_kolumny_zmienić WHERE które_rekordy_zmienić;

Dodajmy najpierw nowego usera:

Imie: Darek

Nazwisko: Burczymucha

mysql> insert dane(imie,nazwisko) values('Darek','Burczymucha');

OK. A teraz załóżmy, że chcemy dopisać jeszcze jego miejsce zamieszkania i e-mail:

Miasto: Lódź

e-mail: daras@sklep.kasza.pl

mysql> update dane set miasto = 'Lodz', email = 'daras@sklep.kasza.pl'

 -> where imie = 'Darek' and nazwisko = 'Burczymucha';


 

Temat 19: Zaawansowane polecenia.

Kurs, przez który przebrnęliście to tylko podstawy, dla wszystkich tych, którzy zaczynają dopiero pracę z MySQL [Zobacz mini kurs SQL]

ĆWICZENIE 4

Zadanie do samodzielnego opracowania:

Opracuj pisemnie różnicę pomiędzy komendami języka SQL - DROP, TRUNCATE i DELETE

UWAGA! nie wykonuj tych poleceń na swojej bazie gdyż możesz stracić w ten sposób dane lub całą bazę danych. Wykonaj kopię bazy danych. Teraz można przetestować te trzy polecenia.



 ZADANIA Z BAZ DANYCH MYSQL

 

 Temat 20: Proste ćwiczenia SQL na gotowej bazie danych

 

Wszystkie zadania są dostępne na dysku "Google Drive" w zakładce 'cz.2' pod adresem:

Download

https://sites.google.com/view/eduprojekt/zadania


IMPORT DANYCH DO BAZY MYSQL

Import pliku do bazy na serwerze mini_serwer realizujemy zgodnie z poniższą wskazówką:

z:\bin\mysql --user=root --password=root ksiegarnia4x (nazwa bazy dla danej klasy czwartej) < Z:\data\ksiegarnia.sql (pełna ścieżka dostępu do pliku b.d. sql) 


Z:\bin\mysql --user=root --password=root nazwa_bazy < Z:\data\plik.sql

 

 ZADANIE 1

Nazwa pliku do pobrania: zad01_cz2_sql.zip [PLIK DO POBRANIA]

Do wykonania: kilka instrukcji wstawiania informacji do bd. W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami. Pamiętaj, że struktura bazy zostanie zmieniona. Plik zapisz jako „nazwisko_klasa_zad1”. Do oceny oddaj ten plik. Zadanie z kategorii 'Łatwe'.

 ZADANIE 2

Nazwa pliku do pobrania: zad02_cz2_sql.zip [PLIK DO POBRANIA]

Do wykonania: kilka instrukcji modyfikowania danych w bd. W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami. Pamiętaj, że struktura bazy zostanie zmieniona. Plik zapisz jako „nazwisko_klasa_zad2”. Do oceny oddaj ten plik. Zadanie z kategorii 'Łatwe'.

 ZADANIE 3

Nazwa pliku do pobrania: zad03_cz2_quiz.zip [PLIK DO POBRANIA]

Do wykonania: 10 zapytań do wyszukania informacji w bd. Postępuj zgodnie z instrukcją. Wyniki, wraz z zrzutami i komentarzami zamieść w dokumencie tekstowym o nazwie „nazwisko_klasa_zad3”.  Do oceny oddaj ten plik. Zadanie z kategorii 'Łatwe'.

 ZADANIE 4 

 Nazwa pliku do pobrania: zad04_s2_samochody.zip [PLIK DO POBRANIA]

Do wykonania: 10 zapytań do wyszukania informacji w bd. W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami. Plik zapisz jako „nazwisko_klasa_zad4”. Zadanie z kategorii 'Łatwe'.

 ZADANIE 5

Nazwa pliku do pobrania: zad05_s2_wypozyczalnia.zip [PLIK DO POBRANIA]

Postępuj zgodnie z instrukcją. Jest 5 zapytań do wyszukania informacji w bd. W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami. Plik zapisz jako „nazwisko_klasa_zad5”. Zadanie z kategorii 'Egzaminacyjne' (Matura-informatyka).

Wstępne ćwiczenia do wykonania: 

 1. Importowanie danych z plików txt na serwer mysql. Sprawdź, czy ta czynność jest w ogóle możliwa. Najpierw utwórz bazę danych 'wypozyczalnia'. Utwórz tabelkę o strukturze podobnej do pierwszej linii z plików txt. W celu importu danych, skorzystaj z poniższej wskazówki z instrukcją Load data.

Wskazówka 

Zamiast wpisywać wszystkie dane ręcznie, możemy je zgromadzić w pliku, z którego dane możemy wczytać do tabeli instrukcją LOAD DATA:

mysql>load data local infile ”dane.txt” into table dane;

Domyślnie instrukcja Load Data zakłada, że wartości kolumn będą ograniczone przez tabulatory i że wiersze będą się kończyć przy użyciu znaków końca wierszy. Zakłada również, że wartości występują w kolejności, w której kolumny są przechowywane w tabeli. Plik "dane.txt" powinien być umieszczony w folderze 'data' na serwerze SQL. Rozważ podanie pełnej ścieżki dostępu do tego pliku.
Możliwe jest zdefiniowanie innego formatu pliku lub określenie innego porządku kolumn, ale takie rozwiązanie jest już dość skomplikowane. Programu do importu nie ma na mini_serwer.

2. Prawdopodobnie próby importu danych z plików txt zakończyły się niepowodzeniem. Zgłoś ten problem na lekcji. Z poprzednich ćwiczeń wynika, że jest możliwy import danych z pliku SQL. Jak go utworzyć? Czy jest możliwość wykorzystania innych programów np. MS Access, MS Excel do wykonania "konwertowania" danych z plików TXT do SQL?

3. Sprawdź, czy struktura tabel jest zapisana zgodnie ze specyfikacją języka MySQL. Jeżeli nie, popraw ją. Zapisz plik i spróbuj zaimportować na mini_serwer.

4. Jeżeli nie uda się zaimportować danych na mini_serwer, znaczy to, że przyszła pora na zmianę oprogramowania i sprawdzenie, czy ten problem z importem dotyczy tylko serwerów, które nie posiadają wyznaczonego programu do importu: mysqlimport.exe (nie ma takiego na mini_serwer). Program mysqlimport.exe jest dostępny w repozytoriach serwera XAMPP. Zobacz temat nr.21 - instalacja serwera XAMPP oraz temat nr.22 - sposób "konwertowania" plików txt na odpowiedni format, czytelny dla programu mysqlimport serwera XAMPP;

UWAGA! Zadanie nr. 5 kończy zestaw zadań w ramach mini kursu SQL. Za realizację tematów 4-19 z podstaw MySQL w postaci dokumentu tekstowego z zrzutami i odpowiednimi komentarzami będzie wystawiona ocena JS4. Do oceny JS 4 wliczone są zadania 01 - 05 - terminy rozliczenia się z zadań będą podane na lekcji lub w wiadomości Dziennika Vulcan. Proszę o uzupełnienie zaległości.

 


KONIEC MINI KURSU SQL

 


Temat 21: Praca z serwerem XAMPP. Zastosowanie programu mysqldump

A. Instalacja oprogramowania Serwera XAMPP [zobacz instrukcję] [pobierz wersję portable]

B. Zastosowanie programu mysqldump  

Program narzędziowy o nazwie mysqldump.exe z katalogu mysql>BIN służy do tworzenia zrzutu bazy danych lub kolekcji baz danych jako kopii bezpieczeństwa lub też w celu przeniesienia danych na inny serwer (niekoniecznie MySQL) Oczywiście ten inny serwer musi „umieć” odczytać pliki przygotowane przez mysqldump). Zrzut zawiera instrukcje SQL tworzące tabele i wypełniające je danymi oraz relacje.
 

Istnieją trzy podstawowe sposoby uruchomienia programu.
Szczegóły powinieneś samodzielnie doczytać w dokumentacji:
 

mysqldump [options] db_name [tbl_name ...]
mysqldump [options] --databases db_name ...
mysqldump [options] --all-databases


Teoretycznie, zrzut naszej bazy do formatu pliku SQL wykonujemy na naszym mini-serwerze:
shell> mysqldump <databases> --user=root --password=root > Z:\data\naszplik.sql
(pełna ścieżka dostępu, może być również do wirtualnego dysku Z:\)



Temat 22 - Konstruowanie zapytań w bazach danych MySQL przy użyciu phpMyAdmin (XAMPP)

Potrzebne oprogramowanie: serwer Apache i MySQL (czyli oprogramowanie XAMPP);

Przygotowanie plików z danymi do importu na serwer XAMPP

Prawdopodobnie import danych z plików TXT do XAMPP/mini_serwer lub innego serwera zakończy się niepowodzeniem. Jeżeli tak się stanie, to pozostał inny sposób na dostarczenie danych do XAMPP. Do tego można wykorzystać program MS Excel. Kopiujemy dane do Excel'a i zapisujemy jako pliki OpenOffice ODS. Pamiętamy, by zmienić domyślną nazwę Arkusza na nazwę tworzonej tabeli. Zapisujemy plik pod nazwą tabeli. Następnie dane z tych plików ODS importujemy na serwer XAMPP. Jest to prawdopodobnie jedyny sposób na rozwiązanie zadania z zastosowaniem plików tekstowych (które prawie zawsze dostarczone są jako pliki zadań egzaminacyjnych) do importu danych do serwera XAMPP/MySQL i dobry pomysł na rozwiązanie zadań maturalnych z Informatyki :) 

PLIK DO POBRANIA


 ZADANIE 6

Nazwa pliku do pobrania: zad06_cz2_kodyean.zip

Do wykonania: Zadanie praktyczne z bd. Baza składa się z trzech tabel. Do każdej tabeli jest plik TXT do zaimportowania z niego danych do bazy (sposób importu podałem powyżej). Rozwiąż zadania (wykonaj bazę oraz opracuj 5 zapytań zgodnie z instrukcją w pliku pdf), wykorzystując dostępne narzędzia informatyczne. Wyniki, wraz z zrzutami zamieść w dokumencie tekstowym o nazwie „nazwisko_klasa_zad6”.  Do oceny oddaj ten plik oraz komputerową realizację rozwiązania (plik programu w którym zrealizowałeś BD lub plik SQL). 

 PLIK DO POBRANIA

 ZADANIE 7

Nazwa pliku do pobrania: zad07_cz2_rosliny.zip

Do wykonania: Zadanie praktyczne z konstruowania zapytań do bazy danych. Wykorzystując  dane  zawarte  w  plikach  osoby.txt,  rosliny.txt, zamowienia.txt,  wykonaj  polecenia  za  pomocą  dowolnego programu  obsługującego  bazy  dane.  Odpowiedzi  zapisz  do  pliku „nazwisko_klasa_zad7”. Dołącz plik wynikowy z wybranego programu BD.

 PLIK DO POBRANIA

 ZADANIE 8

Nazwa pliku do pobrania: zad08_cz2_seriale.zip

Sprawdź, czy wszystkie polecenia są zgodne ze standardem języka MySQL. Jeżeli znajdziesz błędy, popraw je na właściwe instrukcje zgodne ze standardem MySQL. W przeciwnym wypadku zobacz opracowanie na forum dotyczące tego problemu (rozwiązanie dotyczy zadania pracownicy/firma, ale rozwiązanie jest podobne do zadania "seriale") Zobacz nasze Forum EduPlus

Do wykonania: 8 zapytań do wyszukania informacji w bd. Postępuj zgodnie z instrukcją. Wyniki, wraz z zrzutami i opisami zamieść w dokumencie tekstowym o nazwie „nazwisko_klasa_zad8”. 

 

UWAGA! Za zadania 06, 07, 08 wystawiona będzie ocena JS5 - terminy rozliczenia się z zadań będą podane na lekcji lub w wiadomości Dziennika Vulcan.
 

ZADANIE 9

Temat 23: Kwerendy SQL

 Oprogramowanie: Edytor tekstowy, program MySQL, XAMPP etc.

Wszystkie pliki tzn. plik eksportu w sql oraz dokumentację z wykonanych operacji
- zapisz do pliku archiwum pod nazwą: nazwisko_klasa_zad9.zip i prześlij na maila.

Nazwa pliku do pobrania: zad09-cz2-dziennik_sql.zip

PLIK ZADANIA


ZADANIE 10

Jest to kontynuacja zadania nr. 9
Oprogramowanie: Edytor tekstowy, MySQL, XAMPP etc.
Zadanie do wykonania (z plikiem bazy w sql i instrukcją zadania w pdf):

Wszystkie pliki tzn. plik eksportu w sql oraz dokumentację z wykonanych operacji 
- zapisz do pliku archiwum pod nazwą: nazwisko_klasa_zad10.zip i prześlij na maila.
 
Nazwa pliku do pobrania: zad10-cz2-dziennik_sql.zip


ZADANIE 11

Temat 24: Podsumowanie informacji z programowania w jęz. SQL

Zadanie polega na:
1. Zalogowaniu się w domu na FORUM EDUPLUS pod adresem edukasprzak.ugu.pl
2. Założeniu konta użytkownika i potwierdzeniu aktywacji (kliknięcie w link w przesłanym z forum mailu aktywacyjnym - autoryzacja może przebiegać dłużej, nawet 24h)
3. Założeniu wątku pod tytułem jak niżej (przeczytaj zasady zamieszczania treści i zdjęć)
4. Opracowaniu na forum TIABD w dziale 'MYSQL' zgodnego z listą tematu z zakresu programowania w SQL i podpisaniem się pod postem.

Poniżej w linku znajduje się lista tematów do opracowania.
 
Zasada doboru tematu jest następująca: 
- wybierasz temat, który odpowiada twojemu numerowi na liście grupy danej klasy. Jest po 5 tematów do opracowania, podzielonych na klasy czwarte; Możecie umówić się wewnątrz klasy jak rozdzielicie tematy między sobą. Należy kierować się zasadą każdy uczeń realizuje inny temat (lub grupę tematów). Przykładowo: jesteś z klasy 4M i masz numer 4 na liście, do opracowania masz 5 tematów (instrukcji w języku MySQL) to jest: 

alter 3
4M
cascade 3
4M
containstable 3
4M
declare 3
4M
flush 3
4M
 
Te tematy szczegółowo opracowujesz na FORUM TIABD w dziale MYSQL.
 
Wiązanie krawata

 
Termin wykonania tego zadania: 
- zgodnie z terminem przesłanym w wiadomości dziennika Vulcan.

Tematy do opracowania:

Zgodnie ze spisem (tabelą) dostępnym na stronie:

https://edukasprzak.blogspot.com/p/zadanie-forum.html

 
 
UWAGA! ZADANIE ALTERNATYWNE
 
ZADANIE ALTERNATYWNE Z SQL (jest to kontynuacja zadania 9/10 "Dziennik_SQL"):

Plik do pobrania: zad11_cz2_test.zip




 
PROJEKTOWANIE BAZ DANYCH
 
[Zadanie 12 - Projekt bazy danych]
 
Projekt baz danych jest kontynuacją projektu z cz. 1 (baza MS Access). Przypomnę, w części 1 utworzona została baza danych Access wraz z dokumentacją. Obecny projekt polegać będzie na modyfikacji poprzedniego oraz na odpowiednim "konwertowaniu" bazy MS Access/OO Base na format bazy MySQL.
 
[!] Przypomnę, że projekt realizowany był wg listy, każdy uczeń realizował własną bazę danych (jeżeli nie pamiętasz jaki to temat zgłoś się do nauczyciela). Pliki projektu poszukaj na swoim koncie e-mail albo, w celu ich otrzymania, zgłoś się do nauczyciela.
 
 
Sposób modyfikacji i "konwertowania" bazy MS Access na MySQL opracowujecie sami zgodnie z informacjami zdobytymi podczas ostatnich ćwiczeń lub wg informacji i sposobów znalezionych w sieci Internet. Cały proces "konwertowania" opisujecie w dokumentacji, w pkt. 7 "Podsumowanie". Po ostatnim punkcie dodajecie tytuł: "Aneks" w którym umieszczacie kod w języku SQL tworzący waszą bazę wraz z relacjami. Wykonaj wszystkie kwerendy w wersji MySQL (w odpowiedzi zapisz instrukcję oraz odpowiedź i ewentualnie zrzut ekranu, sprawdź otrzymany wynik z wynikiem z kwerendy MS Access);

UWAGA! Ostatecznie, jeżeli nic nie znalazłeś lub nie masz dokumentacji, projekt bazy wykonujesz od podstaw zgodnie z zasadami tworzenia projektu.

Rozliczenie z tego zadania projektu: proszę o przesłanie na e-mail dwóch plików: plik tekstowy z uzupełnionymi punktami projektu utworzony w dowolnym edytorze tekstu oraz bazę danych w wersji MySQL, wyeksportowaną z serwera XAMPP, w pliku tekstowym SQL. Plik do oceny pod nazwą: nazwisko_klasa_projekt.zip


PS. Jest to ostatnie zadanie z modyfikacji baz danych SQL.
Proszę o uzupełnienie brakujących prac (zadanie 9, 10, 11 plus "projekt czyli zad. 12") zgodnie z informacją otrzymaną na lekcji lub terminem podanym w wiadomości dziennika Vulcan.
Z wymienionych prac będzie wystawiona do dziennika elektronicznego ocena 'JS6'.


ZADANIE 13

Temat 26: SQLite3 - zastosowanie biblioteki dll/pliku programu exe

Oprogramowanie: program sqlite3.exe z pakietu XAMPP -> MercuryMail

Plik do pobrania: zad13_cz2_sqlite3.zip




ZADANIA TESTOWE Z BAZ DANYCH MYSQL



 ZADANIE 14

Temat: Tworzenie zapytań w bazach danych MySQL (test z powtórzeniem)

W poniższych zadaniach postępuj zgodnie z punktami umieszczonymi w pliku zip.

Plik SQL zawiera gotową bazę danych

Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_klasa_zad14.zip i wyślij do oceny przez mail.
 
Nazwa pliku do pobrania: zad14-cz2-hurtownia.zip 



 ZADANIE 15

Temat: Funkcje grupujące w bazie danych MySQL

Postępuj zgodnie z punktami umieszczonymi w pliku zip.

Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_klasa_zad15.zip i wyślij do oceny przez mail. 
 
Nazwa pliku do pobrania: zad15-cz2-studenci.zip

 

 
 ZADANIE 16  
 
Nazwa pliku do pobrania: zad16-cz2-sekretariat.zip

To zadanie jest pierwszą częścią z dwóch zadań. Jest 25 pytań do realizacji, traktowanych jako zadania testowe z tworzenia bd w SQL Postępuj zgodnie z punktami umieszczonymi w pliku zip.
 
Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_klasa_zad16.zip i wyślij do oceny przez mail.
.
 

 
 ZADANIE 17  
 
Nazwa pliku do pobrania: zad17-cz2-sekretariat.zip
 
To zadanie jest kontynuacją zadania 16. Jest 25 pytań do realizacji, traktowanych jako zadania testowe z tworzenia bd w SQL. Postępuj zgodnie z punktami umieszczonymi w pliku zip.
 
Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_klasa_zad17.zip i wyślij do oceny przez mail. 

 
  
UWAGA!
Za zadania nr. 13-14-15-16-17, które są traktowane jako test praktyczny z SQL wystawiona będzie ocena JS7

UWAGA! W bloku prac testowych nr. 13-17, nie ma dodatkowego terminu przyjmowania prac zaległych. Zadania realizuje się wyłącznie na lekcji i rozlicza z nich w dniu ich wykonania.



Temat 27: Doskonalenie operacji na bazie danych mysql

Oprogramowanie: serwer XAMPP, mini_serwer lub inne;

ZADANIE 18, 19, 20, 21, 22

Ćwiczenia SQL z bazą danych pracownicy "Firma"

Zakres ćwiczeń do wykonania to numer zadania: 18, 19, 20, 21 i 22;
Materiał teoretyczny: mini kurs i in. https://edukasprzak.blogspot.com/p/pomoc.html

Do wykonania: Zestaw zadań nr. 18 do 22 (ćwiczenia wymagają modyfikacji pliku źródłowego SQL wg standardów MySQL; pliki dostępne są w zakładce 'CZ. 2'
Nazwa pliku do pobrania dla zad. 18zad18_cz2_firma.zip
Nazwa pliku do pobrania dla zad. 19zad19_cz2_firma.zip
Nazwa pliku do pobrania dla zad. 20zad20_cz2_firma.zip
Nazwa pliku do pobrania dla zad. 21zad21_cz2_firma.zip
Nazwa pliku do pobrania dla zad. 22zad22_cz2_firma.zip
 
Import pliku do bazy na serwer konsolowy realizujemy zgodnie z poniższą wskazówką (najpierw plik wymaga modyfikacji zgodnych ze specyfikacją MySQL):
mysql --user=root --password=root firma4x (nazwa bazy dla danej klasy czwartej) < Z:\data\pracownicy.sql (pełna ścieżka dostępu do pliku b.d.) 

Strona do pobrania plików zadań
 z zakładki 'CZ. 2'
Termin i forma oddania pracy: dokument tekstowy zawierający zrzuty wraz z komentarzami,
spakowany w plik o nazwie nazwisko_klasa_zadNR.zip. Można dołączyć poprawiony plik SQL (wymagana jest modyfikacja tego pliku aby móc zaimportować go na serwer MySQL)
Plik proszę przesłać na podany adres e-mail.

 
Termin oddania prac i wystawienia oceny, w tym uzupełnienie prac zaległych będzie przesłany w wiadomości przez dziennik VULCAN.

[!] Wskazówki do zadań 18-22 (modyfikacja SQL) znajdują się na Forum EduPlus [ZOBACZ]


PS. Jest to ostatnie zadanie z zabezpieczania baz danych SQL.
Proszę o uzupełnienie brakujących prac (zadanie 18 do 22) zgodnie z terminem podanym na lekcji lub przesłanym w wiadomości przez dziennik Vulcan.
Z wymienionych prac będzie wystawiona do dziennika elektronicznego ocena 'JS8'.

 







ZADANIA (23 do 26) NA POPRAWĘ OCENY KOŃCOWEJ Z TIABD
 

[TYLKO ONLINE] Jeżeli nie wykonałeś zadania na Forum to masz do uzupełnienia ćwiczenie: Zalogowanie się na FORUM i opracowanie zagadnienia zgodnie z tematem podanym na Forum EduPlushttp://edukasprzak.ugu.pl/showthread.php?tid=2;

ZADANIE [23]

Temat 34: Poprawa z baz danych MySQL (zadanie obowiązkowe dla wszystkich)

Postępuj zgodnie z punktami umieszczonymi w pliku zadanie_praktyczne_kl4.pdf.

Plik wypozyczalnia.sql zawiera gotową 3 tabelową bazę danych. Masz również dostępne repozytoria bazy.

Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_zad23_klasa.zip i wyślij mailem do oceny. 
To zadanie jest częścią z czterech zadań, traktowanych jako zadania poprawkowe z tworzenia bd w SQL.
 
Nazwa pliku do pobraniazad23-cz2-poprawa.zip

OCENA: Za zadanie nr. 23 będzie wystawiona ocena zgodnie z zasadami oceniania prac poprawkowych i wstawiona do dziennika Vulcan jako PP1



ZADANIE [24]
 
Temat 35: Funkcje grupujące w bazie danych MySQL

Postępuj zgodnie z punktami umieszczonymi w pliku zadanie_magazyn.pdf.

Plik magazyn.sql zawiera gotową bazę danych. Skrypt zawiera 1 tabelę z danymi.

Dokumentację w postaci pliku tekstowego ze zrzutami i komentarzami zapisz jako nazwisko_zad24_klasa.zip i wyślij mailem do oceny. 
To zadanie jest częścią z czterech zadań, traktowanych jako zadania poprawkowe z tworzenia bd w SQL.
 
Nazwa pliku do pobrania: zad24-cz2-poprawa.zip

OCENA: Za zadanie nr. 24 będzie wystawiona ocena zgodnie z zasadami oceniania prac poprawkowych i wstawiona do dziennika Vulcan jako PP2
 
 

Zadania poprawkowe 25 oraz 26

To zadanie jest częścią z czterech zadań 23-26, traktowanych jako zadania poprawkowe z tworzenia b.d. w SQL.
 
[ZADANIE 25 
 
Nazwa pliku do pobrania: zad25-cz2-poprawa.zip 

OCENA: Za zadanie nr. 25 będzie wystawiona ocena zgodnie z zasadami oceniania prac poprawkowych i wstawiona do dziennika Vulcan jako PP3 
 
To zadanie jest częścią z czterech zadań 23-26, traktowanych jako zadania poprawkowe z tworzenia b.d. w SQL.
 
[ZADANIE 26 
 
 To zadanie zawiera plik z danymi demografia.txt. Jest typowym zadaniem maturalnym z informatyki. Spróbuj zaimportować dane z tego pliku na serwer XAMPP. Jeżeli będą problemy to poszukaj rozwiązania w cz. 2 gdyż takie problemy w tym semestrze były już rozwiązywane;
 
Nazwa pliku do pobraniazad26-cz2-poprawa.zip

OCENA: Za zadanie nr. 26 będzie wystawiona ocena zgodnie z zasadami oceniania prac poprawkowych i wstawiona do dziennika Vulcan jako PP4
 
 
 
UWAGA!
OCENY PP1-PP4 "Poprawa prac z SQL" - oceny za zadania 23, 24, 25, 26 (razem można otrzymać 4 dodatkowe, i tylko dobre oceny ;)

 

Na tym zakończyły się zadania przewidziane w części 2,
a mieszczące się w ramach semestru 2 pt. "Bazy danych MySQL". 
Te dwie średnie z sem.1 i sem.2 stanowią podstawę do wystawienia oceny rocznej.