![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Takie koncepcyjne pytanie.
Refaktoryzuję bazę danych i dorzucam kluczę obce dla lepszego porządku. ON UPDATE/DELETE CASCADE idealnie nadaje się do relacji gdy jeden zbiór jest podzbiorem innego i podzbiór sam w sobie nie może istnieć. Zastanawiam się jednak jaki typ nadać dla relacji: Wiersz w bazie danych, jakiś rekord, który ma "creator_id" czyli id użytkownika, którzy utworzył ten rekord. Nie jest to rekord własności obiektu, a tylko taka dodatkowa informacja jak data utworzenia. Zastanawiam się jakiej tu relacji użyć (jeśli w ogóle jest sens) bo na pewno usuwając użytkownika nie chce usunąć tego rekordu (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
NULLowanie wydaje się logiczne. Widzę jednak w tym takie małe wady:
- nie rozróżniam wtedy czy np. obiekt nie miał twórcy od zawsze (np. NULL ma dodany manualnie, przez system) - ID nawet bez połączenia jest jakąś informacją, a w ostateczności można za pomocą backupów zawsze można dojść do źródła. Najchętniej bym zrobił samo ON UPDATE CASCADE niestety nie da się ustalić tylko jednej akcji. Ten post edytował markonix 8.02.2015, 22:00:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 15:06 |