Jak przedstawić rejestrowanie/logowanie użytkownika w bazie danych?

0

Cześć, jest w trakcie pisania pracy inżynierskiej 'Aplikacja webowa do analizowania rozgrywek piłkarskich'. Stworzyłem bazę danych mam w niej tabele Użytkownicy, połączoną z tabela Komentarze, bo w sumie to jedyna funkcja dla użytkownika przez, którą może wprowadzać zmiany na stronie. Użytkownik może się rejestrować, i tu moje pytanie w jaki sposób projektowo przedstawić w mojej pracy tą rejestracje, powinienem dodać do tabeli kolumnę hasło? Czy niezbędne jest wyjaśnienie tego zagadnienia? Po rozdziale 'Projektowanie bazy danych' mam dział 'Projekt aplikacji' w nim parę diagramów i w sumie na razie tyle. Jestem na specjalności bazy danych więc większy nacisk stawiam na DB. Nie wiem czy piszę wątek w dobry dziale w razie problemu proszę o przeniesienie i wyrozumiałość.
screenshot-20221008173247.png

2

Nie bardzo rozumiem, co masz na myśli pisząc "przedstawić projektowo". Ale tak, w tabeli możesz dodać pole z zahashowanym hasłem, salt, datę zmiany hasła i ew. datę ostatniego logowania.
Dodatkowo nie wiem, jak trzymanie image w bazie wpłynie na wydajność (np. rozmiar i czas backupu). Widziałem rozwiązanie w którym zamiast image był link do grafiki na serwerze.
I co mnie osobiście rusza, to mieszanie polskich i amerykańskich nazw pól. Czasami jak się szuka jakiś informacji to lepiej szukać w bazie haseł np. USER albo UZYTKOWNIK a nie wszystkie możliwe kombinacje z polskiego i angielskiego (jak ten 'nickname').

0

Nie bardzo rozumiem, co masz na myśli pisząc "przedstawić projektowo".

Chodzi o tym jak to opisać dalej w tym projekcie aplikacji już, czy są jakieś normy. Czy skrypt do rejestrowania, logowanie będzie napisany z użyciem jakiejś biblioteki PHP. Nie ogarniam tej sfery w ogóle, co do kodu ograniczę się chyba do pokazania połączenia z bazą danych i wywołania jakichś SELECTÓW. W projekcie mam Diagram dodawania komentarza, diagram logowania chyba muszę jakoś opisać na jakiej zasadzie to się odbywa.

I co mnie osobiście rusza, to mieszanie polskich i amerykańskich nazw pól.

W zasadzie to jedyna taka sytuacja ustawie na nazwa_uzytkownika, w trakcie pisania żałowałem, że nie użyłem angielskiego nazewnictwa było by prościej i lepiej to by wyglądało dla oka chyba :D

1

To ja tak skromnie dodam, że skoro jesteś na specjalizacji "bazy danych" to używaj angielskich nazw tabel. Brakuje Ci nawet spójności w tej kwestii. Skoro chcesz być programista/bazodanowcem to język angielski to podstawa. Poza tym ja osobiście nie stosowałbym nazw takich jak IID_uzytkownik, co wzbrania Cie przed używaniem samego id?

1

Kolega bardziej pyta chyba od strony tego jak to ma wyglądać na jego pracy a nie w samym projekcie, a promotor nie wie? Może ktoś pisał z was pracę tego typu to pomoże koledze ale nie jest to temat na temat nazewnictwa itd

0

To ja tak skromnie dodam, że skoro jesteś na specjalizacji "bazy danych" to używaj angielskich nazw tabel. Brakuje Ci nawet spójności w tej kwestii. Skoro chcesz być programista/bazodanowcem to język angielski to podstawa. Poza tym ja osobiście nie stosowałbym nazw takich jak IID_uzytkownik, co wzbrania Cie przed używaniem samego id?

Dzięki za rady, koniec studiów a w zasadzie to mój pierwszy projekt mam nadzieje, że nie ostatni. Nie mam większych problemów z angielskim na takim poziomie, polskie nazwy wzieły się z szukania rozwiązań po polsku i tam chyba gdzieś tak było.

0

Kolega bardziej pyta chyba od strony tego jak to ma wyglądać na jego pracy a nie w samym projekcie, a promotor nie wie?

Pewnie wie ale na etapie jakim jestem nie ma już dla mnie tyle czasu raczej, ostateczny termin pracy mam do końca października i jestem prawie rok po ostatnich zajęciach. Także czekając na odpowiedź od promotora szukam pomocy na forum :D

0

@R1D3Rekk:

Re:
Jak przedstawić rejestrowanie/logowanie użytkownika w bazie danych?

baza danych to TYLKO baza, w dokumentacji bazy danych nie opisuje się scenariuszy użycia, scenariusze to inna część dokumentacji

0
R1D3Rekk napisał(a):

Nie bardzo rozumiem, co masz na myśli pisząc "przedstawić projektowo".

Chodzi o tym jak to opisać dalej w tym projekcie aplikacji już, czy są jakieś normy. Czy skrypt do rejestrowania, logowanie będzie napisany z użyciem jakiejś biblioteki PHP. Nie ogarniam tej sfery w ogóle, co do kodu ograniczę się chyba do pokazania połączenia z bazą danych i wywołania jakichś SELECTÓW. W projekcie mam Diagram dodawania komentarza, diagram logowania chyba muszę jakoś opisać na jakiej zasadzie to się odbywa.

W dokumentacji bazy przedstawiasz tylko powiązania (ERD). Co robi aplikacja podczas logowania, komentowania itd. chyba w UML się przedstawia (chyba UML, nie jestem deweloperem, może się inaczej to teraz robi).
Jedyne, co możesz tutaj zrobić, to dodać komentarze do kolumn i zamiast pisać SQL w kodzie skorzystać z procedur (np. po udanym zalogowaniu wywołujesz procedurę, która za parametr przyjmuje nazwę użytkownika, aktualny timestamp i wrzuca to do bazy). To podejście jest ok, jeśli chodzi o pracę w tematyce samych baz, ale zaraz pewnie za to zostanę zjechany, bo obecnie odchodzi się od trzymania logiki aplikacyjnej w bazie :)

0

Zrób sobie mniej więcej taką strukturę

tUsers (tabela USERS)

pIDuser int, increment, primary key
pLogin varchar
pName varchar
pSurname varchar
pEmail varchar
pPassword varchar(512)

Hasło szyfruj do hasła użyj funkcji skrótu SHA512

1 użytkowników online, w tym zalogowanych: 0, gości: 1