SYSTEM BAZY DANYCH dBase Cele i osiągnięcia: Uruchomić i założyć bazę danych dBase Wprowadzenie System dBASE III umożliwia tworzenie tzw.
Download ReportTranscript SYSTEM BAZY DANYCH dBase Cele i osiągnięcia: Uruchomić i założyć bazę danych dBase Wprowadzenie System dBASE III umożliwia tworzenie tzw.
SYSTEM BAZY DANYCH dBase
Cele i osiągnięcia:
Uruchomić i założyć bazę danych dBase
Wprowadzenie
System dBASE III umożliwia tworzenie tzw. relacyjnej bazy danych, gdzie podstawowymi składnikami bazy są relacje . Podejście relacyjne do danych wynika z faktu, że zawartość plików spełniających pewne warunki można traktować jako relacje matematyczne, do których stosuje się elementarną teorię relacji Każdą relację w systemie bazy danych możemy przedstawić w postaci tablicy zawierającej szereg wierszy podzielonych na określoną liczbę kolumn .
Zamiast określenia relacja często określenia
plik bazy danych
, wiersze nazywa się rekordami, a jej kolumny
Pliki bazy danych, zawierające relacje mają rozszerzenie DBF.
używa się w dBase tablicy
polami.
dBase W przypadku dBASE III bazę danych może tworzyć wiele plików , przy czym jednocześnie otwartych może być najwyżej 9 plików. Każdy plik składa się z nagłówka, w którym
określona jest liczba rekordów i nazwy oraz charakterystyki pól tworzących rekord, oraz z rekordów zawierających dane.
Każdy rekord w pliku ma te samą strukturę , określoną podczas zakładania pliku bazy danych rekordów i pól jest stała, bez względu na długość zapisywanej informacji. długość Typ pola w rekordzie opisuje będzie przechowywana w polu.
charakter danej, jaka
Podstawowe typy w dBASE III
System dBASE III akceptuje dane 5 podstawowych typów:
◦ ◦ ◦ ◦ ◦
dane
tekstowe
dane
liczbowe
- charakter field, - numeric field, dane
logiczne
- logical field, dane w postaci
daty
- date field, wskaźnik do tzw.
notatki
(pola memo).
Notatki zapisuje się do oddzielnego pliku o rozszerzeniu
DBT.
Typy pól w dBase
Ograniczenia w dBase Liczba rekordów w zbiorze max 1 miliard DBase IV max liczba pól w rekordzie 255, dług. rekordu też 4000 bajtów, w języku Clipper 5.0 mogą wystąpić maks. 1024 pola.
. Długość rekordu maks. 4000 bajtów, maks. 128 pól. W W dBase III+ w zbiorze .dbt (memo) treść pola memo wynosi maks. 5000 znaków, dowolna (ograniczona dostępną pamięcią), w języku Clipper 5.0 rozmiar pola memo ograniczony jest do 64 KB.
w dBase IV jest Poza plikami bazy danych, zawierającymi relacje (pliki o rozszerzeniu DBF) i plikami notatek (DBT), w systemie istnieją inne typy plików, zawierające informacje wspomagające działanie programu. Największe znaczenie mają Pliki FRM zawierają
pliki indeksowe
o nazwach określonych przez użytkownika i rozszerzeniach NDX. Pliki o rozszerzeniu MEM
zawierają dane i zmienne, trzymane podczas działania programu w pamięci operacyjne
schematy tworzenia raportów przez drukarki.
j. Pliki FMT zawierają szablony, wg których wyświetlana jest informacja z bazy na ekranie monitora.
Pliki indeksowe
mają za zadanie skrócenie czasu przeszukiwania pliku bazy danych. Plik indeksowy umożliwia uszeregowanie rekordów wg informacji zawartych w określonym polu. Założenie pliku indeksowego nie powoduje uporządkowania rekordów w pliku bazy danych (DBF), lecz jej uporządkowanie w ramach
W pliku indeksowym umieszcza się zawartość wybranego pola i nr rekordu, w którym znajduje się pole wg kolejności alfabetycznej
pliku indeksowego (NDX).
Z plikiem bazy danych może być skojarzonych wiele plików indeksowych , ale
równocześnie może być otwartych nie więcej niż 7.
Fazy użytkowania bazy danych
Proces użytkowania bazy danych można podzielić na 2 zasadnicze fazy.
Faza pierwsza zakładania bazy danych , podczas której należy opisać strukturę rekordów w plikach baz danych początkowych , a następnie wpisać do plików określoną liczbę danych (założyć rekordy - wypełnić ich pola). Od momentu założenia zaczyna się faza druga, związana z przetwarzaniem i konserwacją informacji zawartych w bazie .
Praca w dBase może odbywać się na 2 sposoby: ◦ ◦ W trybie konwersacyjnym, w trybie a asystentem. W trybie konwersacyjnym bezpośrednim tzw. trybie z kropką dBase wyświetla kropkę będącą zaproszeniem do konwersacji.
Użytkownik wpisuje instrukcję , która jest natychmiast wykonywana. Po wykonaniu ponownie znak zaproszenia.
Kilka ostatnich instrukcji jest zapamiętanych , można do nich wrócić, poprawić i nakazać wykonanie ponowne.
W trybie z asystentem na ekranie jest wyświetlane menu dostępnych operacji . Użytkownik wybiera pozycję i jest dopytywany o szczegóły poprzez kolejne zagnieżdżone menu.
Na podstawie odpowiedzi jest budowana i uruchamiana instrukcja.
Uruchamiamy tryb z asystentem przez wpisanie ASSIST w dBase III+ lub uruchomienie Centrum Sterowania w dBase IV. W tym trybie użytkownik wybiera odpowiednie pozycje z menu i potwierdza klawiszem
Program pomocniczy standardowo włączony jest po uruchomieniu dBase , można go także wywołać pisząc polecenie
assist Pomoc – klawisz F1.
lub naciskając
Zadanie
Utworzyć w dBase bazę danych
Znajomi (NR, IMIE, NAZWISKO, DATA_UR, TELEFON, ADRES)
i wykonać kolejne zadania z tą bazą związane.
Uruchomienie dBase
DBASE.EXE
Na dyskietce: dbase.bat – wersja ang.
lub Polonus.bat – wersja polska
Zgłasza się nazwa dBase i wersja programu oraz F1 - help, Napisz komendę lub ASSIST lub naciśnij Enter.
Create
nazwa_bazy – tworzenie bazy
Use
Nazwa_bazy – otwarcie bazy z rozszerzeniem DBF
USE
Nazwa_bazy
INDEX
nazwa_pliku_ind – otwarcie bazy z automatyczną modyfikacją plików indeksowych
DO
nazwa_programu – uruchomienie programu z rozszerzeniem PRG Quit – wyjście z programu
Menu programu dBASE po uruchomieniu ASSIST
Menu Assist w wersji polskiej
Tworzenie bazy danych w dBase
W systemie znakiem zachęty jest kropka. Można wykorzystać opcje menu lub wpisać polecenie po znaku zachęty.
W dBase III+ będąc w Assist, wybiera się opcję utwórz (create). Wybiera się plik bazy danych, dysk, wpisuje nazwę bazy i wchodzi do edytora ekranowego definicji bazy. W dBase IV po uruchomieniu Centrum Sterowania wybiera się z menu opcję
utwórz.
W trybie z kropką wpisać polecenie: create (można skracać do 4 liter - tu crea)
nazwa_bazy
Zad 1. Utworzenie bazy z wiersza poleceń:
W linii poleceń (po kropce) wpisz komendę, np.
CREATE Znajomi
Wprowadzamy
nazwy i typy pól, domyślnie tekstowe
, by zmienić naciskamy
spacje
.
Po wprowadzeniu CTRL END kończy definiowanie struktury tabeli i zapisuje plik.
Pytanie czy wprowadzamy rekordy: Input data record now? (Y/N) Po naciśnięciu Y można wprowadzić dane.
Zad. 2. Wprowadzanie danych i przeglądanie danych Wprowadzanie danych
a) bezpośrednio po założeniu struktury bazy danych - j. w.
b) poleceniem APPEND lub BROWSE
Zad. 3. Przeglądanie danych:
Wykonać polecenia zaznaczone na czerwono:
LIST
oraz
LIST OFF LIST nr, imie, nazwisko, telefon OFF LIST FOR ime=‘Mariola' nr, imie, nazwisko OFF LIST FOR imie=‘Karol' OR imie=‘Mariola' nr, nazwisko OFF
Można również określić zakres:
List All
- cała baza List next x - kolejnych x rekordów
LIST NEXT 2 List rest
- wszystkie rekordy od bieżącego do końca
Polecenie Display
Podobne w działaniu do LIST jest polecenie display Przykłady: 1)
DISPLAY
– wyświetla bieżący rekord 2)
goto top Display rest
- rekordy od bieżącego do końca 3)
display all -
wyświetla całą bazę 4)
display telefon for nazwisko=‘Nowak'
Polecenie Browse - Buszuj
Polecenie browse umożliwia przeglądanie i poprawianie rekordów. Pisze się komendę Browse lub wybiera z menu Update Browse
(albo Koryguj Buszuj w Polonus)
Przechodzenie między polami przy użyciu <Home> i <End> a miedzy rekordami klawiszami kursor w górę i w dół. W ramach pola kursor przesuwamy klawiszami strzałki kursora lewo, prawo .
Jeśli pole nie mieści się na ekranie to ekran można przesuwać
BROWSE
do modyfikacji i uzupełnienia bazy
Modyfikowanie bazy danych
Append
- dodawanie nowych rekordów (Koryguj Dołącz lub Update Append albo zwykłe polecenie)
Edit
- poprawa bieżącego rekordu
Browse
- umożliwia edycję grupy rekordów w trybie ekranowym. Edytuje zawartość bazy - przeglądanie i poprawianie rekordów
Insert
[before] [blank] - wstawia nowy rekord za lub (z Before) przed bieżącym rekordem, po czym przechodzi w tryb edycji ekranowej (jeśli nie było opcji Blank).
Change
- umożliwia bezpośrednią modyfikację w trybie ekranowym zawartości wyspecyfikowanych rekordów i pól w aktualnej bazie danych
Zad. 4 . Zastosować polecenia:
APPEND, EDIT, BROWSE, INSERT, CHANGE Często trzeba np.
zmienić rekord bieżący.
Stosuje się polecenie locate z parametrem for locate [
EDIT
Zmiana rekordu bieżącego jest możliwa poleceniem goto
goto/go [record]
Np.
goto 10 go top
- na początek bazy
goto bottom
- na koniec bazy
Delete
zaznacza bieżący rekord do skasowania
Pack
usuwa fizycznie z bazy danych rekordy zaznaczone do skasowania
Porządkowanie bazy danych
W celu łatwiejszego odnajdywania rekordów należy je uporządkować. Np .
ułożyć w kolejności alfabetycznej wg nazwiska
i imienia.
Najlepszą metodą rekordów.
np. jest plikiem indeksowym).
indeksowanie
Indeksowanie nie zmienia fizycznego ułożenia rekordów, ale tworzy specjalny zbiór indeksowy zawierający informacje o logicznej kolejności Zbiór indeksowy jest automatycznie modyfikowany wpisywaniu nowego rekordu (jeśli bazę otworzy się łącznie z odpowiednim Plik indeksowy tworzy się poleceniem
index on
- tworzy plik indeksowy skojarzony z aktywną bazą danych. Pola kluczowe są układane alfabetycznie, chronologicznie lub numerycznie (rosnąco). Opcja Unique powoduje pomijanie powtarzających się kluczy
index on nazwa_pola_i[+nazwa_pola_j+..] to nazwa index on nazwisko+imie to nazw
gdzie nazwisko i imie są nazwami pól, wg których ma następować indeksowanie, a nazw jest nazwą pliku indeksowego.
bazy wg określonych pól.
(porządkowany) przy
Sortowanie bazy
Inną metodą porządkowania jest sortowanie bazy. Jest to czynność pracochłonna polegająca na fizycznej zmianie kolejności rekordów w pliku bazy danych.
Każde wprowadzenie nowego rekordu powoduje konieczność ponownego posortowania bazy , z tego względu metoda ta jest mniej popularna i może być stosowana w odniesieniu do baz o małej liczbie rekordów.
Do sortowania bazy danych stosuje się polecenie: sort to nowy_plik on nazwa_pola Można sortować w porządku rosnącym dodając parametr /A (domyślnie) lub malejącym – parametr /D Pełna forma polecenia:
sort to
Zadania 5, 6 . Indeksacja bazy
Zad. 5 . Zaindeksować bazę Znajomi na pola nazwisko i imie - utworzyć plik nazw.ind
index on nazwisko+imie to nazwa
use
– zamkniecie bazy use znajomi index nazwa
– otwarcie bazy z uwzględnieniem pliku indeksowego, by możliwa była automatyczna modyfikacja indeksów
list nr, imie, nazwisko, telefon off
- lista wymienionych pól, bez numerów wierszy
Zad. 6 . Posortować bazę wg nazwiska i wyprowadzić wyniki do pliku znajomi1.dbf
SORT TO znajomi1 on nazwisko
Programowanie baz danych w dBase
System dBase umożliwia pisanie programów na obsługę bazy.
Przykład programu, który na podstawie wprowadzonego imienia i nazwiska sprawdza czy osoba w bazie istnieje i jeżeli nie to dopisuje nowy rekord automatycznie wypełniając pola imie i nazwisko. W przeciwnym wypadku umożliwia dokonanie zmian w danych istniejącej osoby.
W przykładzie tworzone są 2 zmienne wprowadzone przez użytkownika.
mimie i mnazwisko , w których przy użyciu poleceń get i read zapamiętane są dane Do przeszukiwania wykorzystano funkcję found().
Program można napisać pod dowolnym edytorem ASCII a można wykorzystać edytor tekstowy bazy poleceniem:
modify command plik_programu
np. modify command dopisz.
Po wpisaniu naciśniecie Ctrl End zapisuje program na dysku, dodając rozszerzenie prg, tutaj dopisz.prg.
Zad. 7 . Program dopisz. prg Zad. 7. Napisać i uruchomić program dopisz. Prg
MODIFY COMMAND plik_programu - uruchomienie edytora tekstu.
Uruchomić polecenie:
MODIFY COMMAND dopisz
Wpisać treść: set talk off set bell off use znajomi index on nazwisko+imie to nazw use use znajomi index nazw clear mnazwisko=space(20) mimie=space(20) @2,4 say 'Podaj nazwisko' @2,30 get mnazwisko @4,4 say 'Podaj imie' @4,30 get mimie read seek mnazwisko+mimie if .not. found() append blank replace nazwisko with mnazwisko replace imie with mimie else edit endif set talk on set bell on Po wpisaniu nacisnąć CTR END - zapisanie programu na dysku.
Zad. 8 . Uruchomić powyższy program dopisz.prg:
Uruchomić powyższy program (dopisz.prg): DO dopisz
Dopisać kilka rekordów Uzupełnić dane:
BROWSE Zad. 9 .
Zamknąć bazę danych i otworzyć ponownie oraz przetestować dopisywanie i usuwanie danych
USE
– zamyka bazę, USE nazwa – otwiera bazę
USE Znajomi
– otwiera bazę Znajomi.dbf Uruchomić:
LIST
,
BROWSE
Dopisać przez
APPEND
rekord z nazwiskiem na X, np. Xawery1 i Xawery2 oraz z nazwiskiem NOWY i datą urodzenia 12/31/10 (mc/dz/rok) Sprawdzić przez
LIST ALL
Skasować nazwiska na 'X' poleceniem
DELETE ALL FOR Nazwisko='X' .OR. Nazwisko='x' DELETE ALL FOR data_ur >= CTOD('12/31/10')
Działanie niektórych funkcji dBase
Zad. 10. Przetestować działanie funkcji dBase
Wykonać polecenia: x=5 z=3*x ?x
?z
? abs(-5) ? int(2.34) ? 2^3 ? 2**3 ? date() ? time() ? mod (7,5) ? sqrt(16) Wyniki skopiować do Painta i zapisać w pliku Nazwisko.GIF
Bazę danych Znajomi.dbf
skopiować na nazwę nazwisko.dbf,
gdzie nazwisko – swoje nazwisko.
Zad. 11
Uruchomienie programu batchowego, który uruchamia dbase i wywołuje program
osnpoz.prg
a: cd \dbase echo off dbase osnpoz.prg
Podczas pracy w dBase program osnpoz.prg można uruchomić przez polecenie
DO osnpoz
Tabulogram programu osnpoz.prg
- cz. 1
Tabulogram programu cz. 2