Baza od zera

Zbudowanie prostej bazy danych z kilkoma formularzami jest łatwym zadaniem. Pozwoli jednak poznać narzędzia systemu 4D, który może być wykorzystany także w znacznie poważniejszych projektach.

Zbudowanie prostej bazy danych z kilkoma formularzami jest łatwym zadaniem. Pozwoli jednak poznać narzędzia systemu 4D, który może być wykorzystany także w znacznie poważniejszych projektach.

Edytor kodu nie będzie potrzebny w najprostszych projektach, ale przy tworzeniu większych baz jest niezbędny.

Edytor kodu nie będzie potrzebny w najprostszych projektach, ale przy tworzeniu większych baz jest niezbędny.

Utworzenie prostej bazy danych za pomocą 4D 2004 nie jest trudne, należy tylko przetrwać pierwszy kontakt ze środowiskiem pracy, nietypową obsługą okien dialogowych i dostępnych narzędzi. Początek pracy wiąże się z przeanalizowaniem wymagań i celów stawianych programowi oraz dokładnym rozpracowaniem zasad działania rzeczywistego systemu, który ma odzwierciedlać baza. Ten etap można jednak swobodnie pominąć, jeśli projekt będzie służył wyłącznie do przetestowania 4D i poznania podstawowych możliwości tego środowiska. W 4D przyjęto zasadę upraszczania większoś-ci działań projektowych, nie zdziw się, gdy środowisko wykona znaczną część pracy za ciebie. Kluczem do jego okiełznania - przynajmniej na początkowym etapie - jest umiejętne wykorzystywanie trzech trybów pracy: Design, User i Custom Menus. Najczęściej wykorzystywany jest tryb Design - do edycji struktury bazy, formularzy, metod i zapytań, a także tryb User - do wprowadzania przykładowych danych (ilustr. 4), testowania formularzy, ale też tworzenia raportów i wykresów (ilustr. 7,8).

Projektant może dowolnie zmienić główne menu aplikacji.

Projektant może dowolnie zmienić główne menu aplikacji.

Pracę nad nowym projektem trzeba rozpocząć od utworzenia struktury bazy danych (ilustr. 1,2). W tym warsztacie proponujemy bazę złożoną z trzech tabel połączonych relacjami, ale na początek można także wypróbować narzędzia 4D w najprostszej bazie, z jedną tabelą. Zaprojektowanie struktury bazy to zadanie samo w sobie. Na potrzeby tego warsztatu musi wystarczyć skrótowy opis tworzenia relacji między tabelami. Załóżmy, że baza zawiera tabelę Film oraz Reżyser. Do każdego wpisu w tabeli Reżyser może być przyporządkowanych wiele wpisów (tzw. rekordów) w tabeli Film. Taką relację pomiędzy tabelami nazywamy wiele do jednego. Aby dało się utworzyć taką relację w 4D, obie tabele muszą mieć odpowiadające sobie pola, np. pole Reżyser w tabeli Film i Nazwisko w tabeli Reżyser. Aby utworzyć relację wiele do jednego, kliknij i przeciągnij pole Reżyser z tabeli Film na pole Nazwisko w tabeli Reżyser (czyli w kierunku od wiele do jednego). Ten prosty przykład nie wyczerpuje oczywiście zagadnienia relacji, ale powinien wystarczyć na początku działań z 4D. Nie zawsze też rozbijanie struktury bazy na kolejne tabele jest pożądane. W wielu wypadkach wystarczy użycie list z proponowanymi wartościami. Listy takie usprawniają przygotowanie wygodnych formularzy (ilustr. 5).

W ramach tego warsztatu nie będziemy zajmować się zaawansowaną edycją formularzy oraz pisaniem metod w wewnętrznym języku 4D. Formularze utworzone za pomocą kreatora można zawsze zmienić w trybie Design, korzystając ze specjalnego edytora, przypominającego znane środowiska programistyczne. Nawigację w całym projekcie ułatwi okno eksploratora (wybierz z menu Design / Explorer), w którym możesz przeglądać listę formularzy, metod, list, użytkowników. Użycie wewnętrznego języka stanie się niezbędne, gdy zechcesz dodać do standardowych formularzy nowe funkcje lub gdy określone czynności mają być wykonywane np. podczas uruchamiania bazy danych. O ile na początkowym etapie można pominąć pisanie metod i zaawansowaną edycję formularzy, to nie sposób nie wspomnieć o tworzeniu menu i formularzy udostępnianych przez przeglądarkę internetową. W trybie Design użyj opcji Design / Tool Box / Menus. Zostanie uruchomiony edytor, za pomocą którego przygotujesz specjalne menu dla użytkownika docelowego, umożliwiające np. szybkie uruchamianie formularzy. I w tym wypadku zaawansowana edycja menu wiąże się z koniecznością poznania tajników wewnętrznego języka 4D. Przygotowanie formularza do internetowej "końcówki" bazy danych jest prostsze. Należy utworzyć nowy formularz (File / New / Form) z opcją Web Aware w polu Template used widocznym w pierwszym oknie kreatora formularzy. Aby internetowa część bazy danych była dostępna, trzeba uruchomić zintegrowany serwer WWW . Najpierw ustaw opcję Contextual Mode w Edit / Preferences / Web / Configuration. Usuń także słowo index.html z pola Default Home Page. Następnie uruchom serwer za pomocą opcji Run / Start Web Server w menu głównym, a następnie użyj RunTest Web Server, aby sprawdzić, jak wygląda dostęp do bazy przez przeglądarkę internetową (bardzo przydatne będzie wcześniejsze utworzenie odpowiedniego menu użytkownika).

1

1

1. Pierwszy etap to utworzenie nowej bazy danych. Uruchom 4D i kliknij przycisk New database. Pozostaw zaznaczone opcje Create Database folder i Automatic Backup i kliknij przycisk Create Database. W kolejnym oknie podaj nazwę pliku bazy. Warto utworzyć nowy folder i przechowywać w nim wszystkie pliki bazy. W tym warsztacie przygotujemy domową bazę filmów, którą będzie można także udostępnić przez Internet znajomym. Nowo utworzona baza zawierać będzie jedną tabelę o nazwie Table 1, wyświetloną w oknie edycji struktury bazy. Tabela nie zawiera na razie żadnych pól. Dwukrotnie kliknij nazwę tabeli w oknie edycji struktury bazy. Zostanie wyświetlone okno właściwości tabeli. Na karcie Privileges zmień nazwę tabeli z Table 1 na Film.

2

2

2. Teraz kliknij dwukrotnie pierwszą pustą pozycję pod nazwą tabeli, przeznaczoną na definicję pól. Zostanie wyświetlone okno właściwości pola. Na karcie Attributes zmień nazwę pola na Tytuł, jako typ pozostaw Alpha (czyli ciąg znaków), ale jego długość zwiększ przynajmniej do 50. Zaznacz opcje Mandatory i Indexed, a następnie kliknij przycisk Add. Nie opuszczając okna właściwości, możesz teraz dodać kolejne pola do tabeli. Dodaj pole Format typu Alpha o rozmiarze 10 - będzie ono przechowywać rodzaj nośnika (np. DVD, VideoCD). Dodaj także pole Kategoria o typie Alpha i rozmiarze 20 oraz pole Opis typu Text. Wszystkie pola oprócz pola Opis powinny mieć zaznaczoną opcję Mandatory (każdy wpis w bazie musi mieć wypełnione takie pole).

3

3

3. Dodamy do bazy dwie dodatkowe tabele. Kliknij pusty obszar edytora struktury prawym przyciskiem myszy i wybierz opcję New table. Nowa tabela powinna mieć nazwę Kopia i zawierać pola TytułFilmu typu Alpha, Cena typu Real, Wypożyczona typu Boolean i DataWypożyczenia typu Date. Pierwsze trzy pola powinny mieć ustawioną opcję Mandatory, a pole TytułFilmu także opcję Indexed. Kolejna tabela to Kategoria, zawierająca pola Nazwa typu Alpha (opcje Mandatory, Indexed) i Opis typu Text. Następnie utwórz relacje między tabelami. Kliknij pole TytułFilmu w tabeli Kopia i przeciągnij na pole Tytuł w tabeli Film. Kliknij pole Kategoria w tabeli Film i przeciągnij na pole Nazwa w tabeli Kategoria. Każda z relacji powinna mieć włączone opcje Auto Relate One i Auto Wildcard Support.

4

4

4. Teraz należy dodać do tabeli przykładowe dane. Z głównego menu 4D wybierz Mode / User. Zostaną wyświetlone okna dialogowe proponujące przygotowanie domyślnych formularzy i dodanie nowych danych. Wybierz odpowiedź Yes for All. Po wyświetleniu zawartości tabeli (chwilowo pustej) wybierz z małego okna List of tables odpowiednią tabelę i dwukrotnie kliknij pole tabeli. Zostanie wyświetlony prosty formularz, za pomocą którego możesz dodać kilka przykładowych danych. Każdy nowy wpis zapisz za pomocą przycisku Accept. Dodawanie danych można usprawnić, tworząc listy proponowanych wartości. Taka możliwość przydaje się w wypadku list, których zawartość nie będzie się zmieniać (typy plików, rodzaje nośników itd.). Użyjemy tej możliwości do zrobienia listy formatów filmów. Z menu wybierz Mode / Design.

5

5

5. Teraz wybierz Design / Tool Box / Lists. W oknie Tool Box kliknij przycisk ze znakiem + (ten z lewej strony) i podaj nazwę nowej listy, np. FormatKrążka. Teraz klikając przycisk + z prawej strony i wybierając opcję Add, dodaj kilka pozycji do tej listy (np. DVD, VCD, SVCD). Przygotowaną na poprzednim etapie listę należy powiązać z odpowiednim polem tabeli. Kliknij edytor struktury tabeli, a następnie dwukrotnie kliknij pole Format w tabeli Film. W oknie właściwości przejdź na kartę Choices & Help, zaznacz opcję Allow Choice List i z rozwijanej listy wybierz pozycję FormatKrążka. Możesz teraz przejść do trybu Mode / User i wypróbować działanie listy, uruchamiając formularz dodawania rekordu do bazy dla tabeli Film.

6

6

6. Teraz czas wykorzystać możliwości, jakie daje połączenie tabeli relacją, i przygotować formularz korzystający z dwóch tabel. Najpierw należy utworzyć nowy formularz do tabeli Film. Wybierz Mode / Design, a następnie File / New / Form. Upewnij się, że z listy Create New Form from Table wybrano Kopia i wpisz nazwę formularza w pole Form Name. Jako Form Type pozostaw Detail Form, a w polu Folder powinno zostać domyślne Top Level. Za pomocą przycisku Add all Fields (podwójna niebieska strzałka) dodaj wszystkie pola tabeli Film do formularza. Następnie kliknij przycisk Advanced i przejdź na kartę Subform. Kliknij przycisk Include a Subform i z listy Related Subtable wybierz [Kopia]. Kliknij OK, a w kolejnym oknie wybierz odpowiedź No na pytanie w ramce Template i kliknij przycisk Use.

7

7

7. Baza danych nie może obejść się bez raportu podsumowującego przechowywane dane. Najpierw przejdź do trybu User i wyświetl listę tabel (wybierz z menu Records / Tables List lub użyj skrótu [Ctrl 0]).

Następnie wybierz tabelę Film, a potem Tools / Quick Report7 z menu. Możesz teraz umieścić w raporcie wybrane pola, przeciągając je z dolnej części okna Quick Report do górnej, przeznaczonej na projektowanie formularza. Możesz dopasować szerokość kolumn, a także usunąć błędnie wstawioną kolumnę, wybierając opcję Delete z menu podręcznego. Aby raport zawierający polskie znaki wyświetlał się poprawnie, zaznacz każdą kolumnę i wybierz czcionkę z zestawem znaków do języków środkowo-europejskich z rozwijanej listy w górnej części okna. Możesz sprawdzić wygląd raportu, wybierając z menu File / Print preview.

8

8

8. Na koniec wzbogacimy bazę o wykres obrazujący ceny filmów. W trybie User wybierz z menu Tools / Charts, a następnie w oknie Chart Wizard wybierz rodzaj wykresu, np. 2D Column i kliknij Next. W kolejnym oknie z listy Source Table wybierz Kopia i kliknij dwukrotnie pola TytułFilmu i Cena. Po kliknięciu przycisku OK wykres zostanie utworzony. Możesz dopasować wygląd wykresu, dodając nowe elementy, np. pole tekstowe z tytułem - kliknij przycisk Text (oznaczony literą A) i narysuj pole tekstowe na obszarze wykresu. Może dopasować wygląd tekstu, korzystając z menu Tekst (warto zmienić domyślną czcionkę na zawierającą polskie znaki diakrytyczne). Możesz także zapisać wykres jako oddzielny plik na dysku (wybierz Files / Save).


Zobacz również