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 Report

Transcript 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ć -> lub < Zastosuj

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 [] [while ] locate for nazwisko=‘NOWAK ‘

EDIT

Zmiana rekordu bieżącego jest możliwa poleceniem goto

goto/go [record] [bottom/top]

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 to [unique]

- 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 on [/a] [/c] [/d] [, [/a] [/c] [/d] ... []

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