[ 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:
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.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.
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.
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:
https://sites.google.com/view/eduprojekt/zadania
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)
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 :)
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).
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.
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”.
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
ZADANIE 10
ZADANIE 11
alter | 3 |
4M | |
cascade | 3 |
4M | |
containstable | 3 |
4M | |
declare | 3 |
4M | |
flush | 3 |
4M |
Zgodnie ze spisem (tabelą) dostępnym na stronie:
https://edukasprzak.blogspot.com/p/zadanie-forum.html
ZADANIE 13
Temat 26: SQLite3 - zastosowanie biblioteki dll/pliku programu exeZADANIE 14
ZADANIE 15
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.
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"
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. 18: zad18_cz2_firma.zip
Strona do pobrania plików zadań z zakładki 'CZ. 2'
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.
[!] Wskazówki do zadań 18-22 (modyfikacja SQL) znajdują się na Forum EduPlus [ZOBACZ]
ZADANIE [23]
Temat 34: Poprawa z baz danych MySQL (zadanie obowiązkowe dla wszystkich)
ZADANIE [24]
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.