Relacje


Relacje wielowartościowe

Skojarzenie dwóch fizycznych tabel przez założenie relacji (logicznego powiązania) między polami obu tabeli.

Tabela A -„Klienci" jest tabelą nadrzędną (MASTER), tabela B-„Zamówienia" podrzędną (DETAIL)

W danym momencie z tabeli B maj być dostępny tylko wybór informacji związany z aktualnym rekordem tabeli A.

Schemat połączeń komponentów Delphi
TTable    TDataSource    TDBGrid, TDBNavigator
Klienci  ->  DataSource1  ->  DBGrid1,DBNavigator
Zamow    ->  DataSource2  ->  DBGrid2

Zamow.MasterSource:=DataSource1;
Zamow.MasterField:=nrK;
Zamow.IndexField:=nrK;

Zrealizowano relację:

Klienci.NrK -> Zamow.NrK

Ustalenie powiązań możliwe jest tylko dla indeksowanych pól tabel.

Pola obliczane (CALCULATED)

Pola obliczane są wirtualnymi polami, nieistniejącymi w fizycznej strukturze tabel bazy danych. Są one tworzone w czasie działania programu jako pola o wartościach obliczanych na podstawie innych pól jednej lub więcej tabel.

Kolejność czynności:

procedure TForm1.Table1OnCalcFields(DataSet:TDataSet);
begin
 DataSet['pole_obliczane'] := DataSet['Imie'] + ' ' + DataSet['Nazw'];
end;

Relacje jednowartościowe, pola przeglądowe (Lookup)

Relacja "jeden-do-jednego" uzupełnia informację o elementach danego rekordu, pobierajac je z innej skojarzonej tabeli.

Kolejność czynności:

Ćwiczenia: