Vra

Ek het 'n eenvoudige webvorm wat Onbevoegde gebruikers insette hul inligting, insluitend naam sal toelaat. Ek het die naam veld 'n beperking van 50 karakters om saam te val met my databasistabel waar die veld is varchar (50), maar dan het ek begin wonder.

Is dit meer gepas is om iets te gebruik soos die tipe teks kolom of moet ek beperk die lengte van die naam om iets redelik?

Ek gebruik SQL Server 2005, in die geval wat saak maak in jou antwoord.

Edit: Ek het nie gesien hierdie breër vraag met betrekking tot soortgelyke probleme.

Was dit nuttig?

Oplossing

Britse regering Data Standaarde Katalogus suggereer 35 karakters vir elk van voornaam en Familie Naam, of 70 karakters vir 'n enkele veld om die Volle Naam te hou.

Ander wenke

Ek weet ek is laat op hierdie een, maar ek sal hierdie kommentaar in elk geval te voeg, soos die ander goed kan kom hier in die toekoms met 'n soortgelyke vrae.

Pasop vir die opstel van kolom groottes afhanklik land. Om mee te begin, dit stel jy vir 'n onderhoud nagmerrie, naas die feit dat mense migreer, en neem hulle name by hulle.

Byvoorbeeld, Spaans mense met daardie ekstra vanne kan skuif na en leef in 'n Engelssprekende land, en kan redelik verwag hul volle naam te gebruik. Russe het patroniemen bykomend tot hul vanne, kan 'n paar Afrikaanse name aansienlik langer as die meeste Europese name wees.

Gaan saam met die maak van elke kolom so wyd as jy redelik kan doen, met inagneming van die potensiële rytelling. Ek gebruik 40 karakters elk vir die eerste naam, ander name en vanne en het nog nooit gevind nie enige probleme.

Ek gaan gewoonlik met varchar (255) (255 synde die maksimum lengte van 'n varchar tipe in MySQL).

As dit volle naam in een veld, het ek gewoonlik saam met 128 - 64/64 vir eerste en laaste in afsonderlike velde -. Jy net nooit weet

@Ian Nelson:. Ek wonder of ander sien die probleem daar

Kom ons sê jy het verdeel velde. Dit is 70 karakters totaal, 35 vir die eerste naam en 35 vir die laaste naam. As jy egter een veld het, verwaarloos jy die ruimte wat eerste en laaste name skei, kort veranderende jy deur 1 karakter. Natuurlik, dit is "net" een karakter, maar dit kan die verskil maak tussen iemand wat met hulle volle naam en iemand nie. Daarom wil ek dat voorstel verander na "35 karakters vir elk van voornaam en Familie Naam, of 71 karakters vir 'n enkele veld om die Volle Naam te hou".

In die Verenigde Koninkryk, is daar 'n paar regering standaarde wat suksesvol hanteer die grootste deel van die Britse bevolking - die paspoort kantoor, die bestuurder en voertuig lisensies Agency, die Akte Poll kantoor, en die NHS. Hulle gebruik verskillende standaarde, natuurlik.

Die verandering van jou naam kragtens Akte Poll toelaat 300 karakters

  

Daar is geen wetlike beperking op die lengte van jou naam, maar ons lê 'n beperking van 300 karakters (insluitend spasies) vir jou volle naam.

Die NHS gebruik 70 karakters vir pasiënt name

  

Pasiënt se naam
  Formaat / lengte: Max an70

Die paspoort Kantoor laat 30 + 30 eerste / laaste en Rijbewijs (DVLA) is 30 totaal.

  

Let daarop dat ander organisasies hul eie beperkings oor wat hulle sal wys op die dokumente wat hulle produseer sal hê - vir HM paspoort kantoor die limiet is 30 karakters elk vir jou voornaam en jou naam, en vir die DVLA die limiet is 30 karakters in totaal vir jou volle naam.

Ons gebruik 50.

Wat jy regtig vra is 'n verwante, maar aansienlik verskillende vraag: hoe dikwels ek wil name afkap om hulle aan te pas in die databasis? Die antwoord hang beide op die frekwensie van verskillende lengtes van name sowel as die maksimum lengtes gekies. Hierdie kommer word gebalanseer deur die kommer oor hulpbronne wat gebruik word deur die databasis. Oorweging van hoe min oorhoofse verskil daar is tussen verskillende maksimum lengtes vir 'n varchar veld Ek sal oor die algemeen dwaal op die kant van nooit gedwing word om 'n naam afgestomp en maak die veld so groot soos ek dit gewaag het.

Let daarop dat baie kulture het dikwels genoem familiename 'n tweede vanne. Byvoorbeeld, as jy te doen het met die Spaanse mense, sal hulle waardeer 'n familie naam geskei van hul "Van '.

Die beste bet is om 'n datatipe definieer vir die naam komponente, gebruik dié vir 'n datatipe vir die van en aanpas na gelang van land.

Die gemiddelde eerste naam is ongeveer 6 letters. Dit laat 43 vir 'n laaste naam. :) Lyk soos jy waarskynlik kan verkort dit as jy wil.

Die groot vraag is hoeveel rye dink jy sal hê? Ek dink nie varchar (50) gaan jou doodmaak totdat jy 'n paar miljoen rye kry.

afhangende van wat gaan word met behulp van jou databasis, byvoorbeeld Afrikaanse name sal doen met varchar (20) vir die laaste naam en eerste naam geskei. maar dit is anders van nasie tot nasie, maar ter wille spaar jou databasis hulpbronne en geheue, aparte laaste naam en eerste naam velde en gebruik varchar (30) dink wat sal werk.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top