474 PHP i MySQL dla każdego
♦ Id — typu INTEGER, będąca kluczem podstawowym; przechowuje unikalny identyfikator każdej opcji;
♦ Anki etald — typu INTEGER, przechowująca identyfikator ankiety, do której należy dana opcja;
♦ Opcja — typu VARCHAR, przechowująca treść danej opcji;
♦ G1 osy — typu INTEGER, przechowującą liczbę głosów oddanych na daną opcję.
CREATE TABLE AnkietyOpcjet Id INTEGER PRIMARY KEY.
Ankietald INTEGER NOT NULU.
Opcja VARCHAR(150) NOT NULL.
Glosy INTEGER NOT NULL
)
Jeśli zatem zechcemy umieścić w systemie ankietę, w której użytkownicy będą odpowiadali na pytanie, ile pamięci RAM mają ich komputery, do tabeli Ankiety wprowadzimy jeden rekord:
INSERT INTO Ankiety VALUES(1. 'Ile pamięci RAM ma Twój komputer?1. TRUE):
Ankieta otrzymała identyfikator o wartości 1 oraz status TRUE, oznaczający że jest ona aktywna i użytkownicy będą mogli oddawać w niej głosy. Do tabeli AnkietyOpcje będziemy musieli wprowadzić opcje, które będą mogli wybierać głosujący w tej ankiecie. Wprowadzimy zatem do niej następujące, przykładowe dane:
INSERT INTO AnkietyOpcje VALUES (1. 1. 'Do 128 MB1. 0).
(2. 1. 'Od 128 MB do 256 MB'. 0).
(3. 1. ‘Od 256 MB do 512 MB'. 0).
(4. 1, 'Od 512 MB do 768 MB'. 0).
(5. 1. 'Od 768 MB do 1024 MB'. 0).
(6. 1. 'Powyżej 1024 M8'. 0)
W analogiczny sposób można przygotować więcej ankiet.
Ponieważ każdy głosujący będzie mógł oddać tylko jeden głos w jednej ankiecie, musimy w jakiś sposób powiązać oddane głosy z ankietami. Oprócz dwóch przedstawionych wyżej przygotujemy zatem trzecią tabelę o nazwie AnkietyOddaneGlosy, która będzie zawierała dwie kolumny:
♦ Ankietald — typu INTEGER, przechowującą identyfikatory ankiet;
♦ Userld — typu INTEGER przechowującą identyfikatory użytkowników, którzy oddali głosy w tych ankietach.
Obie te kolumny będą tworzyły klucz podstawowy, zatem pełna instrukcja tworząca tabelę Anki etyOddaneGl osy przyjmie postać:
CREATE TABLE AnkietyOddaneGlosy(
Ankietald INTEGER NOT NULL.
Userld INTEGER NOT NULL.
PRIMARY KEYCAnkietald, Userld)