Cześć, Jako, że nie jestem #programista15k, w ramach ćwiczeń i samodoskonalenia wymyśliłem sobie, że zbuduję aplikację do obsługi magazynu. Problem na jaki trafiłem to sposób zapisu uprawnień użytkowników w bazie (MS SQL). Dla uproszczenia, posiadam tabelę user (id, name), permission (id, rolename) i tabelę userpermission (id, userid, permissionid). Jakie typy danych wybrać, aby zapisywać odpowiednie uprawnienia? Powiedzmy, że chciałbym na początek 3 role, odczyt, odczyt/zapis oraz administrator, którym będę zarządzał użytkownikami. Jak się za to zabrać?
@PukierCud3r: Jeśli tworzysz system z aplikacja to potrzebujesz tak naprawdę 3 ról tylko: - schema modification -> dla procesu migracji bazy danych - write/read -> dla aplikacji - read -> dla supportu
@wuju84: hm, czyli mogę zrobić kolumny odczyt, zapis itd, typu BIT i na podstawie tego generować odpowiednie widoki w aplikacji? ma to sens czy w poważniejszych aplikacjach inaczej jest to rozwiązane?
@wuju84: ogólnie aplikację wykonam w ASP.NET Core MVC, stąd wyżej wspomniane widoki same uprawnienia są dla mnie, żebym miał się czym pobawić rozróżnić chciałbym 3 użytkowników - 1. osoba mogąca tylko sprawdzić stan magazynu, 2. osoba wprowadzająca towary, 3. admin, aby dodawać i usuwać użytkowników/towary
samo pytanie zadałem, ponieważ nie wiem jak rozwiązuje się takie problemy w produkcyjnych aplikacjach a wiadomo, że nie ma co się uczyć złych praktyk
@PukierCud3r: Nie rob wszystkiego w jednej tabelce bo to raczej nie jest dobra praktyka. Jak sie uczysz to zerknij w wolnej chwili czym jest normalizacja baz danych. Jak sobie rozbijesz to na kolumny to w pewnym momencie to sie przestanie skalowac. Nie wspominajac o tym, ze dodanie nowej roli bedzie wymagalo modyfikacji schematu bazy danych.
Przyklad ktory podales na poczatku jest w porzadku na start. Jezli chodzi o rolename to
Jako, że nie jestem #programista15k, w ramach ćwiczeń i samodoskonalenia wymyśliłem sobie, że zbuduję aplikację do obsługi magazynu. Problem na jaki trafiłem to sposób zapisu uprawnień użytkowników w bazie (MS SQL).
Dla uproszczenia, posiadam tabelę user (id, name), permission (id, rolename) i tabelę userpermission (id, userid, permissionid). Jakie typy danych wybrać, aby zapisywać odpowiednie uprawnienia?
Powiedzmy, że chciałbym na początek 3 role, odczyt, odczyt/zapis oraz administrator, którym będę zarządzał użytkownikami.
Jak się za to zabrać?
#bazydanych #programowanie
- schema modification -> dla procesu migracji bazy danych
- write/read -> dla aplikacji
- read -> dla supportu
ma to sens czy w poważniejszych aplikacjach inaczej jest to rozwiązane?
same uprawnienia są dla mnie, żebym miał się czym pobawić
rozróżnić chciałbym 3 użytkowników - 1. osoba mogąca tylko sprawdzić stan magazynu, 2. osoba wprowadzająca towary, 3. admin, aby dodawać i usuwać użytkowników/towary
samo pytanie zadałem, ponieważ nie wiem jak rozwiązuje się takie problemy w produkcyjnych aplikacjach a wiadomo, że nie ma co się uczyć złych praktyk
Przyklad ktory podales na poczatku jest w porzadku na start. Jezli chodzi o rolename to