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.