Witam ma pytanie odnośnie określenia typu relacji z informacji które posiadam.
Mam pewne informacje o jakiś tabelach, takie jak :
-nazwa tabeli
-nazwa kolumny
-czy kolumna jest nullable
-czy kolumna jest primary key
-jaka jest maksymalna wartość / długość znaku dla danej kolumny
- parę innych (mniej znaczących)
Dodatkowo posiadam tabelę z informacjami o relacjach (FK), która wygląda następująco :
- nazwa 1 tabeli
- nazwa 1 kolumny
- nazwa 2 tabeli
- nazwa 2 kolumny
Na podstawie tych danych potrzebuje określić typy relacji : 0..1, 1..1, 0..n, 1..n, relacja n..n jest nie ważna, gdyż są 2 relacje 1..n
I teraz pytanie, jak to zrobić, mam pewne założenia ale nie wiem czy są one dobre.
- 0/1 do czegoś
Ogólnie to czy jest relacja będzie 0 lub 1 do czegoś, chcę określić na podstawie pola, jeśli jest ono nullable to 0, jeśli nie jest nullable to 1 - słusznie ?
- Relacje 0/1..1
Relacja 1..1 to rozbicie jednej tabeli na wiele. Jak wiemy klucz główny może obejmować więcej niż 1 kolumnę, co za tym idzie :
relację 1..1 chcę określić na podstawie czy wszystkie kolumny (PK) z tabeli1 mają relację(FK) z wszystkimi kolumnami (PK) z tabeli2.
- Relacja 0/1..n
Tutaj mam największy problem, teoretycznie nie wiem czy zrobić to na takiej zasadzie, że jeśli relacja nie jest 1..1 to jest 1..n
Relacja jest 0/1..n jeśli kolumna z tabeli1 ma relację(FK) z inną kolumną z tabeli2, ale np. kolumna z tabeli piewszej jest PK, zaś kolumna z tabeli 2 nie jest PK.
Czy moje założenia są słuszne, czy może przeoczyłem jakieś możliwości ?
Proszę o rady.