1. Tworzenie bazy danych i tabel
|
Proszę utworzyć bazę danych Wideo. Proszę zrobić tabelę podobną do tabeli czytelników w bazie danych biblioteki. Jaką kolumnę/kolumny można dodać w tabeli użytkowników wypożyczalni kaset wideo? W tabeli użytkowników proszę wprowadzić również kolumnę kod i spróbować zdefiniować maskę wprowadzania kodu w postaci „__-___”. Jakiego typu powinien być kod? Jaki zakres ma liczba całkowita, a jaki liczba całkowita długa? Proszę utworzyć tabelę VHS i tabelę DVD. W tabelach proszę uwzględnić klasyfikację treści, minimalny wiek widza, miejsce na recenzję. Proszę starać się nie powtarzać nazw tabel. Przykład tabeli VHS zamieszczony jest obok. We właściwościach pola (kolumny) w tabeli mamy opcję indeksowania. Służy ona do przyspieszenia sortowania danych w tabeli i przyspieszenia realizacji zapytań do bazy danych. Przyjmuje trzy wartości: - nie (indeksowanie wyłączone), - tak, z powtórzeniami (indeksowanie włączone, wartości w tabeli mogą się powtarzać), - tak, bez powtórzeń (indeksowanie włączone, wartości w tabeli nie mogą się powtarzać – jak dla klucza głównego). Proszę wybrać kolumny we wszystkich trzech tabelach i zdecydować, która z nich powinna mieć włączone indeksowanie. Proszę teraz zaimportować tabelę czytelnicy z bazy danych Biblioteka (Plik -> Pobierz dane zewn.-> Importuj). W ten sposób można przyspieszyć tworzenie tabel w bazach danych zawierających podobne dane. |
Proszę się zastanowić, czy w rzeczywistości konieczne jest tworzenie dwóch oddzielnych tabel dla płyt DVD i kaset VHS? Proszę pamiętać o tym, że tabele te nie będą ze sobą w żaden sposób powiązane przez co np. rachunki za kasety będą musiały być liczone oddzielnie od rachunków za płyty. Poza tym, co będzie, jeśli w wypożyczalni pojawią się filmy na innym nośniku, np. VCD? Gdzie powinny być umieszczone? Dlatego lepiej skonstruować bazę danych w inny sposób: proszę dodać odpowiednią kolumnę do bazy DVD, zmienić jej nazwę na filmy.
Wniosek: obiekty o podobnych cechach należy łączyć w
jednej tabeli, a nie tworzyć wiele rozdzielnych tabel. Ułatwia to zarządzanie i
pobieranie danych z bazy.
Uwaga: jeśli dla danej kolumny („pola”) definiujemy właściwość „wymagane”, to zalecam przyjąć wartość domyślną.
2. Najprostsze formularze z obliczaniem
Proszę utworzyć formularz, która będzie działać na danych z tabeli filmy i obliczać dla nich rachunek za wypożyczenie. W tym celu proszę za pomocą kreatora najpierw utworzyć formularz, który pobierze z tabeli filmy pola (kolumny): tytuł, cena/dzień, data wypożyczenia, wypożyczył i rachunek za kasetę. Po utworzeniu formularza (niech się nazywa form_film) proszę przejść do widoku projektu, a następnie RMB na pole „rachunek za kasetę” (nie na etykietę, ale na pole tekstowe) i wybrać właściwości. Następnie proszę kliknąć zakładkę „Zdarzenie”, wybrać „przy uzyskaniu fokusu” i kliknąć w wielokropek.
|
Z konstruktorów wyrażeń proszę wybrać konstruktor makr. Proszę wybrać nazwę dla makra, na przykład, rachzafilm. W polu Akcja proszę wybrać „UstawWartość”. Element (adres elementu, dla którego ustawiana jest wartość): proszę wskazać przez wielokropek: Forms -> loaded forms -> Form_film -> rachunek za kasetę -> Wartość / Value (to ostatnie 2x LMB). Wyrażenie: wielokropek; wyrażenia służą do wprowadzania wzorów, wzór obliczający rachunek to cena_za_dzień*(data_bieżąca – data_wypożyczenia); proszę kliknąć Forms -> loaded forms -> form_film i wybrać „cena za dzień”, następnie utworzyć wyrażenie (wzór) korzystając z funkcji date() i podobnie jak „cena za dzień” wybrać „data wypożyczenia”. Proszę zaakceptować wszystko co jest do zaakceptowania, przejść do widoku formularza i sprawdzić, jak działa mechanizm. Ponieważ zdarzeniem wyzwalającym makro rachzafilm jest uzyskanie fokusu przez pole „rachunek za kasetę”, konieczne jest kliknięcie na to pole. Aby nie było to konieczne, zdarzenie można powiązać np. z ładowaniem formularza. W tym celu proszę kliknąć RMB na miejsce wskazane na rysunku obok i postępować podobnie, jak wyżej (właściwości itd.). |
3. Sumowanie
Proszę powiązać tabele w bazie danych wideo odpowiednią relacją (wystarczy jedna). Proszę teraz samemu spróbować zrobić kwerendę, która na podstawie danych pobranych z obu tabel obliczy rachunek (sumaryczny) dla każdego klienta. Proszę zrobić formularz do tej kwerendy.
4. Formularz z listą wyboru
Proszę utworzyć tabelę „typ nośnika”, która ma tylko jedną kolumnę, będącą jednocześnie kluczem podstawowym. Typ kolumny tekst, 3 znaki (DVD, VHS, VCD, lub inne 3-literowe skróty). Proszę wprowadzić do niej te 3 wartości.
Następnie proszę utworzyć prosty formularz działający na danych z tabeli filmy (wszystkich) i przejść do widoku projektu tego formularza. Proszę wstawić pole listy (pasek narzędzi przybornik -> pole listy), a następnie postępować zgodnie ze wskazówkami („Obiekt: pole listy ma pobrać...”, tabela „typ nośnika”, wybrać pole, szerokość). Wybraną wartość należy przechować w polu „rodzaj nośnika” tabeli filmy. W ten sposób zmiana wartości w liście spowoduje zmianę w polu typ nośnika (obiekty są związane). Proszę przypisać jakąkolwiek etykietę, nazwę dowolnie. Proszę przejść do widoku formularza i przetestować działanie listy.
Proszę przejść ponownie do widoku projektu i do właściwości pola tekstowego „typ nośnika”. Proszę w jego właściwościach ustawić format -> widoczny -> nie i przejść do widoku formularza. Użytkownik formularza nie widzi pola „typ nośnika”, a wyboru typu nośnika dokonuje wyłącznie przez listę.
Wybór rekordu / wyszukiwanie przez pole wyboru
Proszę znowu przejść do widoku projektu i wstawić pole kombi. Proszę wybrać opcję „znajdź rekord w formularzu...”. W następnym oknie proszę wybrać pole „tytuł”, dostosować szerokość kolumny, etykieta dowolnie i sprawdzić efekt (widok formularz). Proszę ustawić właściwości pola tekstowego „tytuł” na niewidoczne i zastanowić się nad sensem takiej zmiany: użytkownik formularza nie ma możliwości zmiany tytułu filmu, jeśli nie widzi pola tekstowego „tytuł”.
W formularzu proszę powstawiać inne pola z możliwością
wyboru. Proszę wskazać, które pola mogą przyspieszyć wyszukiwanie.