[ CZ.3 ]
ZADANIA DO WYKONANIA
KRYTERIA OCENIANIA ON-LINE
Zasady ogólne w czasie zajęć on-line:
Frekwencja - sprawdzana jest w danym dniu do godz. 15.30 przez potwierdzenie odebrania maila na Dzienniku 'Vulcan' (system Dziennika automatycznie potwierdzi odbiór po otworzeniu wiadomości).
Zadania do realizacji 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ą zamieszczone na tej stronie w zakładkach dla cz. 1, 2, 3;
Potrzebne oprogramowanie:
Do rozwiązania 25 -ciu zadań nr. 27-51 z przedmiotu administracji bazami mysql potrzebny jest serwer XAMPP lub inny podobny. Można go pobrać z działu DOWNLOAD z dysku Google (wersja bez instalacji).
https://sites.google.com/view/eduprojekt
Zadania są dostępne na dysku "Google Drive" w zakładce 'cz.3' pod adresem:
https://sites.google.com/view/eduprojekt/zadania
Zadania rozwiązujecie wg instrukcji, dokumentujecie zrzutami ekranowymi z odpowiednimi komentarzami, zapisujecie w pliku pod nazwą 'nazwisko_klasa_zadanieNR.zip' i przesyłacie na mój adres e-mail.
OCENY W CZĘŚCI 3
JS9 - Rozwiązywanie zadań z BD - zad. 27-30;
JS10 - Zabezpieczanie BD - zad. 31-33;
JS11 - Projekt BD - zad.34;
JS12 - 3 zadania testowe - zad.35-37;
JS13 - Zadania egzaminacyjne nr. 38-42;
JS14 - Zadania egzaminacyjne nr. 43-47;
JS15 - Zadania egzaminacyjne nr. 48-51
PP1 - Poprawa zad. 52
AL - Ocena za "Aktywność" - nie ma wpływu na ocenę końcową, jest wyłącznie oceną informacyjną za bieżące rozliczenie się z zadań i ćwiczeń;
ŻYCZĘ POWODZENIA!
ADMINISTRACJA BAZAMI DANYCH MYSQL
ZADANIE 27
Temat 28: Naprawa kodowania (strona kodowa) w bazie danych. Baza danych Ekstraklasa
Zaimportuj bazę danych na serwer XAMPP, pamiętaj o kodowaniu w bazie (ISO-8859-2 czyli latin2) oraz domyślnym kodowaniu na serwerze (latin1) Próbuj zaimportować bazę ekstraklasa do utworzonej wcześniej bazy na serwerze z ustalonym kodowaniem.
Konwertowanie kodowania w pliku można również wykonać w programie Notatnik+, zapisać i zaimportować tak zmieniony plik na serwer (wybrać kodowanie UTF-8)
Wykonaj kwerendy:
1. Wyświetlić całą zawartość tabeli Klubów piłkarskich
2. Wybierz piłkarzy, którzy mają na koncie mniej niż 5 strzelonych bramek
3. Wybrać kluby z Krakowa
4. Wybierz piłkarzy z poza Warszawy z więcej niż 5 strzelonych bramek
5. Posortować pobierane dane według nazwiska (od A do Z)
6. Wybierz dane z tabeli TPilkarze, połącz je w jedną kolumną o nazwie Imię – Nazwisko.
7. Wszyscy piłkarze, którzy mają strzelonych bramek między 6-9
8. Wszystkie osoby, które mają na imię Maciej i Janek
9. Ile bramek strzelili piłkarze wpisani w bazie?
10. Wszystkie osoby, których nazwisko kończy się na –ski
11. Wszystkie osoby, których imię składa się, z co najmniej 5 liter
12. Ile jest piłkarzy w bazie?
13. Ile piłkarzy pochodzi z klubów Warszawskich?
14. Ile piłkarzy gra w danym klubie?
15. Wyświetl najlepszego strzelca
Wykonane kwerendy dokumentujemy zrzutami ekranowymi z krótkim komentarzem i umieszczamy wszystko w odpowiednio sformatowanym dokumencie tekstowym!
Plik bazy danych z instrukcją można pobrać z Google Drive
Nazwa pliku do pobrania: zad27_cz3_ekstraklasa.zip
TEMAT 29: ZAAWANSOWANE MODYFIKACJE W BD MYSQL
ZADANIE 28
Nazwa pliku do pobrania: zad28_cz3_zwierzeta.zip
Zadanie z kategorii 'Trudne'.
Do wykonania: Sprawdź, czy wszystkie polecenia są zgodne ze standardem języka MySQL.
Napisz 10 zapytań do wyszukania informacji w b.d. Postępuj zgodnie z instrukcją.
W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami.
Plik zapisz jako „nazwisko_klasa_zad28”.
ZADANIE 29
Nazwa pliku do pobrania: zad29_cz3_albumy.zip
Zadanie z kategorii 'Trudne'.
Do wykonania: Sprawdź, czy wszystkie polecenia są zgodne ze standardem języka MySQL.
Napisz 8 zapytań do wyszukania informacji w b.d. Postępuj zgodnie z instrukcją.
W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami.
Plik zapisz jako „nazwisko_klasa_zad29”.
ZADANIE 30
Nazwa pliku do pobrania: zad30_cz3_pilkarze.zip
Zadanie z kategorii 'Trudne'.
Do wykonania: Sprawdź, czy wszystkie polecenia są zgodne ze standardem języka MySQL.
Napisz 8 zapytań do wyszukania informacji w b.d. Postępuj zgodnie z instrukcją.
W pliku tekstowym zapisz odpowiednie komendy sql oraz odpowiedzi w postaci zrzutu wraz z odpowiednimi komentarzami.
Plik zapisz jako „nazwisko_klasa_zad30”.
UWAGA!
ZADANIE 31
Temat 30: Zabezpieczanie BD (prezentacja)
Zadanie dla wszystkich z podstawy programowej (wyrównanie poziomu kształcenia)
1. Utwórz prezentację lub dokument tekstowy na temat zabezpieczania
BD w sql. Prezentacja powinna zawierać informacje dotyczące sposobu
tworzenia użytkownika z uprawnieniami admina i zwykłego 'usera' oraz sposobu usuwania tych użytkowników.
Słowa kluczowe
GRANT i REVOKE oraz inne sposoby (opracuj na podstawie dokumentacji mysql)
Zapisz plik tekstowy lub prezentację do pliku i spakuj do archiwum pod nazwą: nazwisko_zad31_klasa.zip i prześlij na maila.
Tabela z uprawnieniami dostępnymi w języku MySQL
Temat 31: Ćwiczenia w zabezpieczaniu BD
- Pobierz plik z zadaniem: zad32-cz3-szkolenie.zip
- Rozpakuj: masz tam plik opis_zadania.txt oraz plik szkolenia.sql
- Utwórz bazę danych pod nazwą zamowienia5n (5n to twoja nazwa klasy)
- Postępuj zgodnie z punktami opisu.
- Z przeprowadzonych operacji na bazie wykonaj dokumentację w postaci zrzutów ekranowych z odpowiednimi komentarzami.
Wszystkie pliki zabezpieczonej bazy tzn. plik eksportu w sql oraz repozytoria bazy z serwera, jak również plik z dokumentacją - zapisz do pliku archiwum pod nazwą: nazwisko_zad32_klasa.zip i prześlij na maila.
Nazwa pliku do pobrania: zad32-cz3-szkolenie.zip
Temat 32: Bezpieczeństwo baz danych i systemów zarządzania BD
Ochrona systemu:
– weryfikacja nazwy użytkownika i hasła
– określenie czy użytkownik ma możliwość połączenia się z bazą danych (autoryzacja)
– przydzielanie miejsca na dysku dla obiektów użytkownika
– określenie ograniczeń na zasoby dla użytkownika
– Określenie jakie operacje systemowe użytkownik może wykonywać
– Możliwość monitorowania bazy danych
Ochrona danych:
– Określenie jacy użytkownicy mają prawo dostępu do określonych schematów obiektów
– Określenie jakie typy operacji są dozwolone określonym użytkownikom
– Wybranie operacji, które będą monitorowane dla każdego schematu obiektów
Kontrola dostępu do bazy poprzez modyfikowanie, usuwanie i monitorowanie użytkowników
• Tworzenie użytkowników i przypisywanie im haseł
• autoryzowanie użytkowników do podłączenia się do bazy
• ograniczanie dostępnej przestrzeni dyskowej dla każdego użytkownika
Zabezpieczenia po stronie serwera bazy danych
• Uwierzytelnianie
• Przyznawanie uprawnień
• Ograniczenie zakresu działań do obszaru wyznaczonego przyznanymi uprawnieniami
Tworzenie kont użytkowników
mysql> CREATE USER <nazwa> IDENTIFIED BY <hasło>
Nadawanie uprawnień
mysql> GRANT <uprawnienie> To <użytkownik>
<Uprawnienia>: np. CREATE TABLE
Zabezpieczenie dostępu do bazy danych (przykład po stronie serwera dla mySQL)
• Instalacja: apt-get install mysql-server mysql-common mysql-client
• Konfiguracja: mysqladmin -u root password haselko
• Utworzenie nowej bazy danych: mysqladmin create postnuke -u root -p
• Utworzenie nowego użytkownika:
a) mysql -u root -p
b) mysql> USE mysql;
c) mysql> INSERT INTO user set Host='localhost', User='nuke',
Password=PASSWORD('haslo');
d) grant select,insert,update,delete,create,drop on postnuke.* to
nuke@localhost identified by 'haslo';
e) mysql> FLUSH PRIVILEGES;
=============================
Zabezpieczenie dostępu do danych GRANT
Zabezpieczenia po stronie serwera bazy danych
Uprawnienia szczegółowe
mysql> GRANT <uprawnienie> ON <obiekt> TO <użytkownik>
[WITH GRANT OPTION]
- WITH GRANT OPTION – możliwość przekazania nadanych uprawnień innym użytkownikom
<Uprawnienia>
- SELECT, INSERT, DELETE, ALTER, ...
- RESOURCE (prawo tworzenia tablic)
- DBA (wszelkie prawa)
ZADANIE 33
Ćwiczenia w zabezpieczaniu BD
- Pobierz plik z zadaniem: zad33-cz3-zamowienia.zip i rozpakuj go.
- Utwórz bazę danych pod nazwą zamowienia5n (5n to twoja nazwa klasy)
- Z przeprowadzonych operacji na bazie wykonaj dokumentację w postaci zrzutów ekranowych z odpowiednimi komentarzami.
Wszystkie pliki zabezpieczonej bazy tzn. plik eksportu w sql, jak również plik z dokumentacją - zapisz do pliku archiwum pod nazwą: nazwisko_zad33_klasa.zip i prześlij na maila.
Nazwa pliku do pobrania: zad33-cz3-zamowienia.zip
UWAGA! Za zadania 31-33 wystawiona zostanie ocena JS10 - Terminy rozliczenia się z zadań zostaną podane na lekcji.
Temat 33: Projektowanie baz danych z wykorzystaniem SQL
1) Temat – tytuł projektu.
2) Opis słowny sytuacji projektowej. W tym:
a) jawne określenie wymaganych obiektów przechowujących dane – opis rodzaju (typu) i zakresu tych danych;
b)
wskazanie wynikających z opisu świata identyfikatorów związanych z
opisanymi wcześniej obiektami ze szczególnym naciskiem na identyfikatory
unikalne;
c) opisanie zależności pomiędzy obiektami wraz ze wskazaniem liczności oraz wymagalności lub opcjonalności związku;
d) projekty raportów, jakie mają być uzyskiwane z bazy: nazwa raportu, parametry.
3) Kompletny schemat graficzny encji i związków między nimi (ERD) wraz określonymi nazwami związków, licznością i obligatoryjnością.
4) Graficzne wykreślenie schematu tabel i relacji między nimi – diagram w bazie SQL.
5) Perspektywy, procedury, funkcje niezbędne do:
a) wprowadzania danych do bazy z zachowaniem spójności z wykorzystaniem transakcji;
b) uzyskiwania danych do wszystkich zdefiniowanych wcześniej raportów;
6) Procedury wyzwalane – wyzwalacze - triggery:
a)
służące do utrzymania więzów integralności, których nie można
zrealizować na poziomie deklaracji obiektów bd. (o ile takowe
występują);
b) dla ważniejszych obiektów bazy danych należy
zadeklarować triggery rejestrujące informację o tym, jaki użytkownik i
kiedy dodał/zmodyfikował dany obiekt;
c) dla jednego wybranego
obiektu należy zaimplementować automatyczne tworzenie historii zmian
obejmujących modyfikację oraz usuwanie danych.
Na tym etapie należy
dodać wymagane pola do tabel (niezbędne do przechowywania danych, o
których mowa w punkcie b) oraz odpowiednią tabelę (dotyczy punkty c);
7) Przygotowanie skryptów zakładających kompletną bazę danych za pomocą odpowiednich narzędzi SQL (plik sql).
8) Napełnienie bazy przykładowymi danymi przy pomocy narzędzi z punktu: 5 a);
ZADANIE 34
Projekt bazy danych w SQL
Uwagi o projekcie:
1. Projekt powinien zawierać przynajmniej 2 tabele, w każdej z nich 3-5 kolumn oraz min. po 5 rekordów.
2. Projekt przygotowany w wersji elektronicznej (zawierający wszystkie skrypty tworzące bazę – plik sql).
3. W bazie, miedzy tabelami należy założyć relację. W tym celu należy znaleźć rozwiązanie tego problemu. Znaleźć procedurę tworzącą relację (alter table ...), klucz główny (primary key), niepowtarzające się auto numerowanie pola ID (auto_increment) i inne;
4. Zapytania (w tym widoki), które sami opracowujecie, powinny zawierać co najmniej 4 kategorie m. in. (1) funkcje grupujące, (2) porządkowanie, (3) złączenia tabel JOIN, (4) podzapytania;
5. Wyniki działania skryptu umieszczamy w zrzutach ekranowych, zrzuty z odpowiednim opisem i komentarzami wstawiamy do dokumentu Word lub podobnego edytora.
5. Do oceny oddajemy plik sql, dokument Word z projektem oraz zrzutami z opisem oraz repozytoria bazy danych w pliku ZIP. Nazwa pliku nazwisko_zad34_klasa.zip
Zobacz tematykę związaną z projektowaniem baz danych
UWAGA! Za zadanie 34 wystawiona zostanie ocena JS11 - Terminy rozliczenia się z zadań zostaną podane na lekcji.
Temat 34: Projektowanie bezpiecznych baz danych
Określenie wymagań w zakresie bezpieczeństwa dla danego środowiska, niezależnie od oprogramowania.
Metodyka wymagań jest wielofazowa i składa się z 5 faz:
1. Analiza wstępna
• Badanie wykonalności systemów zabezpieczeń
• Ocena ryzyka – zagrożenia, straty
• Cechy środowiska BD (zastosowania militarne, komercyjne)
• Stosowalność produktów (adaptacja produktów, tworzenie systemu zabezpieczeń od podstaw)
• Spójność produktów (integracja mechanizmów zabezpieczeń z możliwościami sprzętu i oprogramowania)
- Wynik tej fazy: decyzja o przejściu do kolejnej fazy
2. Formułowanie wymagań oraz opracowanie polityki bezpieczeństwa
• Analiza zagrożeń obejmująca:
• Analizę wartości (kontrola zwiększa się wraz z wartością)
• Identyfikację zagrożeń
• Analizę odporności (identyfikacja słabych punktów)
• Analizę i szacowanie ryzyka – prawdopodobieństwo zajścia niepożądanego zdarzenia
• Definiowanie wymagań
- Wynik tej fazy: wymagania dotyczące bezpieczeństwa
3. Projektowanie konceptualne
• Formalizacja koncepcji modelu bezpieczeństwa
• Określenie podmiotów i obiektów (oraz ich grupowanie)
• Identyfikacja trybów dostępu do obiektów przyznanych różnym podmiotom
• Analiza propagacji autoryzacji w systemie
4. Projektowanie logiczne
• Przekształcenie koncepcji w model logiczny
• Określenie, które wymagania mogą być zrealizowane przez istniejące mechanizmy SZBD, a które trzeba stworzyć
5. Projektowanie fizyczne
- Opracowanie fizycznej struktury reguł dostępu do bd.
Temat 35: Polecenia PHP do obsługi baz MySQL
Zobacz opracowanie "Aplikacje webowe" wraz z ćwiczeniami
1. Łączenie z serwerem MySQL:
mysql_pconnect('adres', 'uzytkownik', 'haslo');
2. Wybór bazy danych
mysql_select_db('Baza');
3. Wykonanie polecenia SQL
$Tablica = mysql_query("Polecenie SQL");
4. Zliczenie ile rekordów ma tablica z pkt.3
$Ile = mysql_num_rows($Tablica);
5. Zapisanie w $Rekord pojedynczego rekordu tablicy $Tablica
$Rekord = mysql_fetch_array($Tablica);
ZADANIA TESTOWE INF.03
35-36-37
Temat 36 - Rozwiązywanie testów z baz danych
Dostęp do zadań testowych otrzymacie w dniu testu. Czas 90 min.
W celu prawidłowego rozwiązania zadań należy utworzyć nową bazę danych pod nazwą "test5n" - gdzie 5n to nazwa Twojej klasy;
Zadanie 35 zawiera 10 zapytań, otrzymujecie gotową bazę SQL;
Zadanie 36 zawiera 8 zapytań, otrzymujecie gotową bazę SQL;
Zadanie 37 - test teoria (4 pytania) + praktyka (6 pytań), otrzymujecie gotową bazę SQL;
UWAGA! Za zadania 35-37 wystawiona zostanie ocena JS12 - Są to zadania testowe (typ kartkówki). Terminów rozliczenia się z zadań nie ma, gdyż zadania realizujemy tylko w ramach 45-minutowej lekcji! Jeżeli uczeń jest obecny, rozwiązuje zadanie i odsyła rozwiązanie na podany adres e-mail.
(RÓWNIEŻ ZALEGŁYCH)
PODANY ZOSTANIE NA LEKCJI LUB W DZIENNIKU VULCAN