Avatar billede dulius Nybegynder
03. marts 2005 - 15:34 Der er 6 kommentarer og
1 løsning

Valg af felttyper i design af mySQL-database

Hej.
Jeg koder en del PHP og bruger stort set altid mySQL-database som backend. Det kører fint og sådan, men efterhånden vil jeg egentlig gerne have lidt mere styr på valget af felttyper når jeg designer min database.

F.eks. angiver jeg typen "text" hver gang jeg har et felt som skal indeholde noget tekst. Uanset størrelse af teksten. Jeg har ikke på fornemmelsen at dette er helt optimalt?

I det hele taget bruger jeg bare typerne text, int og til tider enum. Dette har jeg det rigtig elendigt med - jeg elsker at være perfektionistisk hvad sådan nogle ting her angår :D

Jeg har søgt på google og i mySQL-manualen og læst om de forskellige typer men ved ikke helt om jeg har forstået hvordan det skal bruges i praksis endnu.

Jeg laver f.eks. tit brugerdatabaser, og jeg er ganske overbevist om at det ikke er særlig optimalt at gemme brugernavn og kodeord i text-felte?

En forklaring, link eller andet jeg kunne bruge ville være super!

På forhånd tak.
Mvh. Julius
Avatar billede Slettet bruger
03. marts 2005 - 15:52 #1
Du siger at du har tjekket manualen, men har du også kigget her:
http://dev.mysql.com/doc/mysql/en/numeric-type-overview.html

--
pacroon
Avatar billede Slettet bruger
03. marts 2005 - 15:53 #2
Avatar billede Slettet bruger
03. marts 2005 - 15:57 #3
Okay, du får lige et tredje bud:
http://dev.mysql.com/doc/mysql/en/storage-requirements.html

Den er rimelig forklarende. :)
Avatar billede dulius Nybegynder
03. marts 2005 - 16:53 #4
Tak pacroon!

Jeg har set de ting der, men tænkte om der var lidt mere nogle "tommelfingerregler" eller "guidelines" at gå efter?
Hvis du opretter et svar, så får du pointene.
Tak for hjælpen!
mvh. Julius
Avatar billede arne_v Ekspert
03. marts 2005 - 21:14 #5
Prøv den her som tommelfingeregel:

if(text) {
  if(maxlength <= 255) {
      if(fixedlength) {
            choose CHAR(n)
      } else {
            choose VARCHAR(n)
      }
  } else if(maxlength < 64KB) {
      choose TEXT
  } else {
      choose MEDIUMTEXT
  }
} else if(binaryfile) {
  if(maxlength < 64KB) {
      choose BLOB
  } else {
      choose MEDIUMBLOB
  }
} else if(money) {
  choose NUMBER
} else if(time) {
  choose DATETIME
} else {
  choose INTEGER
}
Avatar billede arne_v Ekspert
10. april 2005 - 18:12 #6
dulius ?
Avatar billede dulius Nybegynder
06. maj 2005 - 22:26 #7
lukker lige tråden så jeg kan holde lidt styr på min profil.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester