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

Typy danych w MySQL

VPS Starter Arubacloud
+3 głosów
214 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,850 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 (251,210 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 (269,120 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ź 734 wizyt
pytanie zadane 4 stycznia 2020 w C# przez startCoding Obywatel (1,210 p.)
0 głosów
0 odpowiedzi 234 wizyt
pytanie zadane 31 października 2018 w SQL, bazy danych przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 678 wizyt
pytanie zadane 10 sierpnia 2020 w C i C++ przez Sevence Początkujący (280 p.)

92,452 zapytań

141,262 odpowiedzi

319,080 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...