W przypadku projektowania tabel w b.d. Należy:
-uważaj na opisywanie nazw kolumn tabeli, kolumny nie powinny mieć znaczenia ukrytego ani reprezentować kilku atrybutów (złożonych w pojedynczą wartość)
Bądź konsekwentny w stosowaniu liczby pojedynczej lub... Przy nazywaniu tabeli
Twórz tylko kolumny, które są niezbędne do opisywania modelowej encji lub powiązania tabele z mniejszą ilością kolumn są łatwiejsze w użyciu
Utwórz kolumnę pól kluczowych dla każdej tabeli
Unikaj powtarzania,informuje w b.d. (Normalizacja)
Jest tylko jedna struktura danych w relacyjnym modelu danych -relacja
W związku z tym, że pojęcie relacji jest matematyczną konstrukcją relacja jest tabelą,dla której jest spełniony następujący zbiór zasad:
Każda relacja w b.d. Ma jednoznaczną nazwę. Wg Coobla dwuwymiarowa tabela jest matematycznym zbiorem a matematyczne zbiory muszą być nazwane jednoznacznie
Każda kolumna w relacji ma jednoznaczną nazwę,rozmiar jednej relacji każda kolumna relacji jest również zbiorem i dlatego powinna być jednoznacznie nazwana
Wszystkie wartości w kolumnie muszą być tego samego typu wynika to z punktu 2
Porządek kolumn w relacji nie jest istotny. Schemat relacji lista nazw jej kolumn jest również matematycznym zbiorem.Elemanty zbioru nie są uporządkowane
Każdy wiersz w relacji musi być różny. Innymi słowy powtórzenia wierszy nie są dowolne w relacji
Porządek wierszy nie jest istotny. Skoro zawartość relacji jest zbiorem,to nie powinno być okreslnego porządku
Każde pole leżące na przecięciu kolumny (wiersza w relacji powinno zawierać wartość atomową) tzn. zbiór wartości nie jest dowolny na jednym polu relacji
W swojej pracy na oznaczenie elementów swojego modelu danych Coold użył terminologii matematycznej. Kolumny tabeli to były atrybuty. Wiersze tabeli to były kroki,liczba kolumn w tabeli to stopień tabeli. Liczba wierszy w tabeli to liczebność tabeli
Każda relacja musi mieć klucz główny. Dzięki temu możemy zapewnić, aby wiersze nie powtarzały się w relacji
KLUCZ GŁÓWNY to jedna lub więcej kolumn tabeli, w których wartości jednoznacznie identyfikują każdy wiersz tabeli.
KLUCZE obce są sposobem łączenia danych przekazywanych w różnych tabelach. Klucz obcy jest kolumna lub grupa kolumn tabeli, które czerpią swoje wartości z tej samej dziedziny, co klucz główny tabeli powiązania z nią w bazie danych
W systemach relacyjnych wprowadzono specjalną wartość, aby wskazywać niepełną lun nieznaną informują -wartość null. Ta wartość różna od zera i spacji jest szczególnie użyteczna przy powiązaniu kluczy głównego i obcego
Schemat relacji jest to zbiór R={A1,A2,...An}
Gdzie?
A1,A2..An-sa atrybutami(nazwami kolumn)
Każdemu atrybutowi przyporządkowana jest dziedzina DOM(A),czyli zbiór dopuszczalnych wartości.
Dzidzianą relacji o schemacie R={a1,a2,...An} nazywamy sumą dziedzin wszystkich atrybutów relacji
DOM®=DOM (A1)UDOM(A2)U...UDOM(AN)
Relacja o schemacie R={A1,A2,..AN} jest to skończony zbiór r={t1,t2,...tn}
Odwzorowań ti:R→DOM (R) takich, że dla każdego j, 1<= j <=n , ti(aj)ЄDOM (aj)
Każde takie odwzorowanie nazywa się krotką lub wierszem.Krotka odpowiada wierszowi z tabeli
Relacje w RMBD można podzielić na:
-jeden do jednego
-jeden do wielu
-wiele do wielu
Każde dwie tabele, między którymi istnieje relacja..
1-1
Znana związkiem jednoznacznym w związku z tym jednego rekordowi z pierwszej tabeli może odpowiadać tylko jeden element z drugiej tabeli.
1-∞
Najczęściej spotykana w b.d.
∞-∞
∞-∞ z tabelą pośrednią
Relacyjny model logiczny b.d. Posiada:
Wielopoziomową integralność danych
Integralność na poziomie pól zapewnia dokładność, wprowadzanych danych, integralność w poziomie tabel uniemożliwia powtarzanie tego samego rekordu i pozostawienie nie wypełnionych pól wchodzących w skład klucza podstawowego, integralność w poziomie relacji gramatycznej odpowiada ich zdefiniowanie o reguły integralności kontrolują poprawność danych z punktu widzenia tematu b.d.
Logiczna i fizyczna niezależność od aplikacji bazodanowych
Zarówno zmiany wprowadzone przez użytkownika do projektu logicznego jak i modyfikuje sposobność fizyczną implementacji bazy przez producentów oprogramowania maja znikomą wpływ na działanie aplikacji obsługującej tę bazę
Zagwarantowana dokładność i poprawność danych- dane są poprawne i dokładnie dzięki wprowadzaniu celo poznania nowej integralności
łatwy dostęp do danych -dane można w prosty sposób odczytu z pojedynczej tabeli lub z całej grupy powiązanych tabel
Te zalety czynią RMBD użytecznym we wszystkich sytuacjach wymagających gromadzenia i przechowywania danych obecnie jest on najbardziej popularnym wśród wszystkich modeli b.d.
Algebra relacji - jest zbiorem ośmiu operatorów. Każdy operator bierze jedną lub więcej relacji jako argument i produkuje jedną relację jako wynik.Trzema głównymi operatorami algebry relacyjnej są selekcja(organicznie),rzut( projekcja) i złączenie. Dzięki tym trzem operatorom możemy wykonać większość operacji na danych wymaganych od systemu relacyjnego. Istnieją również dodatkowe operatory iloczynu, suma, przecięcie, różnica, i iloraz.
Selekcja- jest operatorem, który bierze jedną relację, jaką swój argument i produkuje w wyniku jednej relacje. Sekcja może być uważana „poziomową maszyną cięcia” gdyż wydobywa z wejścia relacji większą, które pasuje do podawanego warunku i przekazuje je do relacji wynikowej.
Operator selscji ma składnię:
RESTRICT<nazwa tabeli>
[WHERE<warunek>] →<tabela wynikowa>
np.:
restrictstudenci wshe wiek>=18→poborowi
RZUT- operator rzutu bierze jedną relację jako swój argument i produkuje jedną relację wynikową. Rzut jest pionową maszyną cięcia
Operator ma składnię:
PROJECT<nazwa tabeli>
[<lista kolumn>→<tabela wynikowa>
np. Project studenci(nazwisko) →lista
Suma- U jest argumentem, który bierze dwie zgodne relacje jako swoje argumenty i produkuje jedną relację wynikową. Zgodnie, czyli tabele mają te same kolumny określane na tych samych dziedzinach (uwzględnia wszystkie wiersze z obu tabeli w tabeli wynikającej)
Operator sumy ma składnię:
<tabela 1>UNION<tabela2>→<tabela wynikowa>
ZŁĄCZENIE-oparte są na relacyjnym operatorze iloczynu kartezjańskiego (o) tzn. dwóch relacji będącej argumentami złączenia produkowana jest jedna relacja wynikowa będąca wszystkimi możliwościami kombinacjami wierszy z wejściowych tabel.
Operator iloczynu kartezjańskiego ma składnię:
PRODUCT<tabela1. WITH<tabela 2> →<tabela wynikowa>
RÓWNOZŁĄCZENIE-, które jest iloczynem kartezjańskim, po którym wykonywana jest selekcja. Oznacza to, iż łączą się dwie tabele,ale tylko dla wierszy, w których wartości w kolumnach złączenia są takie same. Kolumnami złączenia może być klucz główny jednej tabeli i klucz dla drugiej tabeli
Składnia równozłączenia jest następująca:
EQUIJOIN<tabela1> WITH< tabela2> →<tabela wynikowa>
ZŁĄCZENIE NATURALNE-, które jest iloczynem kartezjańskim, po którym wykonywana jest selekcja oraz rzut, w którym nie bierze się pod uwagę kolumn złączenia
Składnia złączenia naturalnego jest następująca:
JOIN <tabela 1> WITH< tabela 2>→<tabela wynikowa>
Może jeszcze istnieć złączenie zewnętrzne, w którym brane są pod uwagę wszystkie wiersze z jednej(złączenie lewostronne lub prawostronne) lub obu relacji(złączenie obustronne) bez względu na to czy mają swoje odpowiedniki
RÓŻNICA(-) istotna jest kolejność określania argumentów. Preferuje on te wiersze, które są w pierwsze w tabeli i jednocześnie nie będące w tabeli drugiej
operator różnicy ma składnię:
<tabela1>DIFFERENCE<tabela2>→<tabela wynikowa>
Algerbra relacyjna jest proceduralnym językiem zapytań, ponieważ ma własności domknięcia, tzn. wynik zzastosowania jednego operatora relacyjnego może być przechowywany jako argument wejściowy kolejnemu operatorowi relakcyjnemu . W związku z tym dowolny ciąg instrukcji algebraicznych można zastąpić jednym wyróżnieniem zagnieżdżonym.
Pracownicy
wynagrodzenie
1
1
matki
dzieci
1
∞
studenci
wykłady
∞
∞
studenci
studenci wykłady
studenci KP/KO
wykłady Kp/Ko
wykłady
1
∞
∞
1