1 Wprowadzenie
2 Programowanie obiektowe
3 Zmienne
4 Typy danych
5 Operatory
6 Obiekty
7 Instrukcje sterujące i pętle
8 Tablice
9 Klasy, pola, metody
10 Przeciążanie i przesłanianie metod
11 Konstruktory
12 Porównywanie obiektów
13 Pakiety
14 Modyfikatory
15 Interfejsy
16 Wyjątki
17 Typy wyliczeniowe
18 Kolekcje
19 Java i bazy danych
20 Klasy wewnetrzne i anonimowe
21 Wyrażenia lambda
22 Strumienie
Na podstawie diagramu oraz poniższych wytycznych utwórz w swojej bazie strukturę forum i wypełnij ją danymi testowymi.
Utwórz w swojej bazie (nazwa bazy to Twój login) schemat o nazwie Forum.
Utwórz w schemacie Forum poniższe tabele:
Nazwa tabeli | Opis |
---|---|
Topics | Każdy temat/post utworzony w forum jest przechowywany w tej tabeli. Każdy główny post wątku (zazwyczaj pytanie), ma ustawioną wartość NULL w kolumnie ParentID. Każdy następny post w tym wątku (odpowiedź) ma zapisany w ParentID identyfikator głównego postu. Tylko zarejestrowani i zalogowani użytkownicy mogą tworzyć nowe posty, a więc wystarczy kolumna AuthorID, która jest kluczem obcym do tabeli Users. |
Clues | Działy forum, w których można pisać posty. |
Users | Lista zarejestrowanych użytkowników, którzy mogą pisać posty. |
UsersLogins | Data i czas wraz z adresem IP dla każdego logowania na forum. Historia logowań. |
UserStats | Data i czas wyświetlenia każdego z postów przez każdego z użytkowników. Na podstawie tej tabeli widać czy użytkownik X otwierał już poszczególne posty i można odpowiednio wyróżnić nieprzeczytane (nowe). |
Dodaj do tabel klucze obce wg schematu:
Nazwa tabeli | Nazwa kolumny Powiązana | tabela i kolumna |
---|---|---|
Topics | ParentID | Topics.ID |
AuthorID | Users.ID | |
ClueID | Clues.ID | |
UserStats | UserID | Users.ID |
TopicID | Topics.ID | |
UsersLogins | UserID | Users.ID |
Zdefiniuj wartości domyślme wg wytycznych z poniższej tabeli:
Nazwa tabeli | Nazwa kolumny | Wartość/wyrażenie default |
---|---|---|
Topics | CreateTime | Aktualny czas (funkcja GETDATE) |
Users | RegisterTime | Aktualny czas (funkcja GETDATE) |
UserStats | Times | Aktualny czas (funkcja GETDATE) |
UsersLogins | LoginTime | Aktualny czas (funkcja GETDATE) |
Clues | TopicsCnt | 0 |
Users | ForumPostsCnt | 0 |
Topics | ViewsCnt | 0 |
Topics | AnswersCnt | 0 |
Dodaj ograniczenie:
Nazwa tabeli | Nazwa kolumny | Definicja Check |
---|---|---|
Users | EmailAddress | Validate e-mail address (for example: CHARINDEX(‘@’,EmailAddress) <> 0) |
Skorzystaj z zamieszczonego poniżej skryptu i uzupełnij stworzoną strukturę danymi testowymi.
Utwórz dodatkowe widoki korzystając z przygotowanego poniżej skryptu.