Zagadnienia do egzaminu SBD/ABD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
OBSŁUGA PROGRAMU phpMyAdmin!!!!
http://localhost/phpMyAdmin
włączanie XAMPP, Apache, MySql server

Tworzenie bazy: CREATE DATABASE
tworzenie tabelki CREATE TABLE, kolumny typów: INT, VARCHAR, TEXT, DATE, DOUBLE
tworzenie klucza PRIMARY KEY
tworzenie autonumerowania A_I (AUTO_INCREMENT do kolumny INT np. klucza)

tworzenie klucza obcego FOREIGN KEY (klucz podstawowy w  innej tabeli)

Bazy danych:
-SELECT * FROM tabela

-selekcja wybranych
SELECT imie,nazwisko FROM tabela WHERE grupa='4TI'

-sortowanie
SELECT imie FROM tabela ORDER BY imie

-funkcje agregujące: MAX MIN AVG SUM COUNT
SELECT COUNT(pesel) FROM tabela
SELECT AVG(wiek) FROM tabela

-grupowanie
SELECT imie, COUNT(pesel) FROM uczniowie GROUP BY imie
(dla każdego imienia wypisać ilość uczniów)

-wzorce LIKE % _
SELECT imie FROM uczniowie WHERE nazwisko LIKE '%ski';
imiona uczniów o nazwisku kończącym się na ski

- tworzenie tabeli
CREATE TABLE

- wstawianie
INSERT INTO tabela VALUES ('pierwszakol', 'druga_kolmuna');

-usuwanie
DELETE FROM tabela

-aktualizacja
UPDATE tabela SET rok = rok +1 WHERE klasa='4TI';
zmiana wartości w kolumnie ROK na o 1 większa dla klasy 4TI

-DROP TABLE tabela
usunięcie tabeli

-DROP DATABASE klasa
usunięcie klasy (baza)

-UPRAWNIENIA dla użytkowników.
http://fx-team.fulara.com/uprawnienia-mysql/

-robienie kopii całej bazy (eksport/import) phpMyAdmin

_______

Tworzenie 2 tabel w relacji 1 do wielu. Robimy to:
-pierwsza tabela ma klucz
-druga też ma klucz swój + klucz z tabeli 1 jako klucz obcy

dla każdego wpisu z 1 tabeli może być wiele wpisów w drugiej tabeli (1 do wielu)

________
Tworzenie 3 tabel - relacja wiele do wielu
Mamy 2 tabele "rzeczowników" np. samochód i kierowca
Robimy tabelę "czasownika" np. posiada  

kierowca posiada samochód (wiele do wielu, to znaczy 1 kierowca może mieć wiele aut, jedno auto może mieć kilku współwłaścicieli)

posiada ma 2 kolumny tylko - jedna to klucz z tabeli 1, druga klucz z tabeli 2
Oba to klucze obce
Jednocześnie para kolumn to klucz podstawowy PRIMARY (zaznaczyć przy tworzeniu tabeli)
Wpis do tabeli posiada oznacza przynależność kierowcy do samochodu i na odwrót.
_________

Ćwiczyć można tworzenie relacji, np. robimy bibliotekę, są klienci, książki, jest wypożyczanie.
Jakie powinny być tabele, jakie klucze, jakie relacje między tabelami?

GDYBY starczyło czasu to proszę o obsługę tabeli z poziomu HTML i PHP:
http://fx-team.fulara.com/pelny-panel-administratora-dla-tabeli-mysqli/