• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Typy danych w MySQL

Object Storage Arubacloud
+3 głosów
234 wizyt
pytanie zadane 7 lutego 2023 w SQL, bazy danych przez zbiku25 Bywalec (2,940 p.)

Tworzę serwis dla użytkowników, który będzie pobierać informacje z bazy danych. Zastanawiam się nad typami danych, które chcę zastosować. Postanowiłem użyć poniższych - klucz to nazwa kolumny - typ zmiennej

  • id - int     (id użytkownika, primarykey, autoincreament)
  • email - VARCHAR (email użytkownika)
  • hasło - VARCHAR (haschowane hasło)
  • newsletter - Boolean (albo się zapisał - wtedy będzie "1" albo nie - wtedy nic)
  • kurs - Boolean (albo posiada dostęp do kursu - wtedy będzie "1" albo nie - wtedy nic)

Czy powyższe podejście jest OK? Jeżeli nie to prośba o sugestię poprawy.

Pozdrawiam,

komentarz 7 lutego 2023 przez Iei Obywatel (1,950 p.)
Chyba dobrze
komentarz 7 lutego 2023 przez zbiku25 Bywalec (2,940 p.)
:) dzięki, czułbym się lepiej bez  "chyba" ;)

1 odpowiedź

+2 głosów
odpowiedź 7 lutego 2023 przez VBService Ekspert (253,340 p.)
wybrane 8 lutego 2023 przez zbiku25
 
Najlepsza

AFAIK

  1. id - INT AUTO_INCREMENT PRIMARY KEY yes
    Pole id w bazie danych często jest używane jako klucz główny w tabeli (PRIMARY KEY) i powinno być typu INT. W takim przypadku warto ustawić jego atrybut AUTO_INCREMENT, aby automatycznie generować unikalne wartości dla tego pola przy dodawaniu nowych rekordów do tabeli.
  2. email - VARCHAR yes
    W bazie danych pole email powinno być typu VARCHAR, ponieważ adresy e-mail zwykle zawierają zarówno litery, jak i cyfry oraz znaki specjalne. Zalecana długość pola email to 255 znaków, aby pomieścić najdłuższy możliwy adres e-mail.
  3. hasło - VARCHAR yes
    W przypadku przechowywania haseł w bazie danych, zaleca się użycie
    hash-u zamiast przechowywania "czystych" tekstów haseł. W MySQL można użyć typu danych CHAR lub VARCHAR dla tego typu pola. Zalecana długość to co najmniej 60 znaków, aby pomieścić zapis hasła za pomocą algorytmów bezpiecznego hash-owania, takich jak np. bcrypt.
  4. newsletter - Boolean yes
    zero - false, nie zero - true
  5. kurs - Boolean yes
    zero - false, nie zero - true

w punktach 4 i 5 można rozważyć też użycie: ENUM

newsletter ENUM('subscribed', 'none')
kurs ENUM('access granted', 'none')

 

2
komentarz 7 lutego 2023 przez Wiciorny Ekspert (270,170 p.)
Przechowywanie hasła binarnie jest bezpieczniejsze, ale mniej powszechne i może być problematyczne, VARCHAR jest łatwiejszy do kontroli, też nie wymaga tyle wkładu w np. tworzenie soli skrótu czy samo konsumowanie danych z bazy.  Czasami jednak warto przemyśleć również tę opcję

Chociaż według dokumentacji dla poprawnych i najlepszych baz danych powinnien to być format binarny. albo jeśli jest to np MySQL to varbinary.
mowa oczywiśćie o "safety" czyli nie strikte problemu z wykradzeniem, bo to zależne jak wspomniałeś od algorytmu, ale od bezpieczeństwa ATOMOWOŚCI danych
komentarz 8 lutego 2023 przez zbiku25 Bywalec (2,940 p.)
Jak zawsze profeska! Dzięki!

Podobne pytania

+1 głos
1 odpowiedź 745 wizyt
pytanie zadane 4 stycznia 2020 w C# przez startCoding Obywatel (1,210 p.)
0 głosów
0 odpowiedzi 247 wizyt
pytanie zadane 31 października 2018 w SQL, bazy danych przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 739 wizyt
pytanie zadane 10 sierpnia 2020 w C i C++ przez Sevence Początkujący (280 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...