Załóżmy że mamy dwie tabele z których pierwsza to Users
mająca pola ID
(int) i Nazwisko
(varchar) oraz klucz główny jako pole pierwsze czyli ID
, natomiast druga to Components
mająca pola ID
(int), UserID
(int) i Nazwa
(varchar) oraz klucz główny jako pierwsze pole czyli ID
.
Załóżmy też że obie tabele powiązane są taką relacją że kluczem obcym tabeli Components
jest pole ID
tabeli Users
.
Czy można jakoś skonfigurować bazę tak aby nie było możliwości usuwania User'a z ID
które już widnieje w tabeli Components
.
Wiem że są reguły relacji (on delete i on update) ale one mi średnio pomagają bo definiuje się tam zachowania co ma się stać już po usunięciu/zmienieniu, a ja do tego usunięcia po prostu nie chcę w żadnym razie dopuścić.
Pomocy proszę.
Miałbym jeszcze jedno pytanie ale mniej priorytetowe: mianowicie jeśli w folderze database diagrams
sqlstudia stworzę diagram i określę relacje kluczy pomiędzy bazami to tak naprawdę na co to ma wpływ. Przecież to i tak aplikacja (np. z poziomu c#) będzie wykrywać Usera i jego ID'kiem zapełniać pole UserID
tabeli Components
i nie potrzebujemy do tego żadnych "relacji", wystarczą dwie tabele. To na co tak naprawdę mają wpływ te "relacje" czyli powiązania kluczy?
I co znaczy opcja przy tworzeniu relacji o nazwie "enforce foreign key constraints", może mi to ktoś przystępnie wyjaśnić bo nie bardzo mam czas o tym teraz czytać bo muszę niedługo oddać system do użytku...