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

Typy danych w MySQL

Hosting forpsi easy 1 pln
+3 głosów
144 wizyt
pytanie zadane 7 lutego 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 przez Iei Obywatel (1,200 p.)
Chyba dobrze
komentarz 7 lutego przez zbiku25 Bywalec (2,940 p.)
:) dzięki, czułbym się lepiej bez  "chyba" ;)

1 odpowiedź

+2 głosów
odpowiedź 7 lutego przez VBService Ekspert (246,010 p.)
wybrane 8 lutego 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 przez Wiciorny Ekspert (262,710 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 przez zbiku25 Bywalec (2,940 p.)
Jak zawsze profeska! Dzięki!

Podobne pytania

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

92,092 zapytań

140,751 odpowiedzi

317,718 komentarzy

61,409 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 0p. - adrian17
  2. 0p. - wizarddos
  3. 0p. - Dewidos
  4. 0p. - Marcin Jasiński
  5. 0p. - Mateusz Sobala
  6. 0p. - Mateusz
  7. 0p. - NOONE
  8. 0p. - Adam Śpiewak
  9. 0p. - WhiskeyTaster
  10. 0p. - Rafał Budzis
  11. 0p. - Krzysztof Zawadka
  12. 0p. - tokox
  13. 0p. - TheLukaszNs
  14. 0p. - mjavor
  15. 0p. - Jakub Stępień
Szczegóły i pełne wyniki

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 w koszyku, uzyskując rabat aż -50% (jeszcze tylko dziś 30.11 z okazji Black Week, a potem będzie to 30%) na bilety w wersji "Standard"! Więcej informacji na temat akademii znajdziecie tutaj. Dziękujemy Sekurakowi za tak fajną zniżkę dla 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 15% 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!

...