문제

나는 데이터베이스 테이블을 디자인하고 있는데 다시 한 번 나 자신에게 똑같은 어리석은 질문을 던지고 있습니다. 이름 필드는 얼마나 길어야 합니까?

가장 일반적인 필드에 대한 합리적인 길이 목록을 가진 사람이 있습니까?, 이름, 성, 이메일 주소 등?

도움이 되었습니까?

해결책

W3C의 권장사항:

다양한 배경을 가진 사람들의 이름을 수락 할 양식 또는 데이터베이스를 설계하는 경우 주어진 이름과 가족 이름에 대해 별도의 필드가 있어야하는지 스스로에게 물어보십시오.

… 일부 문화의 이름은 자신보다 훨씬 길 수 있습니다.… 데이터베이스에서 이름의 필드 크기 제한을 피하십시오..특히 UTF-8의 4 자 문자 이름이 4 바이트에 적합하다고 가정하지 마십시오. 실제로 12가 필요할 수 있습니다.

https://www.w3.org/International/questions/qa-personal-names

데이터베이스 필드의 경우 VARCHAR(255) 다른 것을 사용해야 할 타당한 이유가 실제로 떠오르지 않는 한 안전한 기본 선택입니다.일반적인 웹 애플리케이션의 경우 성능은 문제가 되지 않습니다.너무 일찍 최적화하지 마세요.

다른 팁

방금 미국에 있는 수백만 명의 고객이 있는 데이터베이스에 쿼리를 했습니다.

  • 최대 이름 길이는 46이었습니다.저는 50으로 갑니다.(물론 그 중 500명만이 25세 이상이었고, 모두 데이터 가져오기로 인해 해당 분야에서 추가 정크가 발생하는 경우였습니다.)

  • 이름과 비슷했다.

  • 이메일 주소 62 자에서 최대화되었습니다.더 긴 것의 대부분은 실제로 세미콜론으로 분리 된 이메일 주소 목록이었습니다.

  • 거리 주소 95 자에서 최대.긴 것들이 모두 유효했습니다.

  • 맥스 도시 길이는 35였습니다.

이는 미국 사람들에게 적절한 통계적 확산이어야 합니다.현지화를 고려해야 한다면 수치가 크게 달라질 수 있습니다.

영국 정부 데이터 표준 카탈로그 이런 종류의 것에 대한 영국 표준을 자세히 설명합니다.이름과 성을 각각 35자, 전체 이름을 포함하는 단일 필드에 70자, 이메일 주소에 255자를 제안합니다.무엇보다도..

일부는 아마도 올바른 열 길이일 것입니다.

                            Min Max

Hostname                    1   255
Domain Name                 4   253
Email Address               7   254
Email Address [1]           3   254
Telephone Number            10  15      
Telephone Number [2]        3   26  
HTTP(S) URL w domain name   11  2083        
URL [3]                     6   2083    
Postal Code [4]             2   11
IP Address (incl ipv6)      7   45
Longitude                   numeric 9,6
Latitude                    numeric 8,6
Money[5]                    numeric 19,4

[1] Allow local domains or TLD-only domains
[2] Allow short numbers like 911 and extensions like 16045551212x12345
[3] Allow local domains, tv:// scheme
[4] http://en.wikipedia.org/wiki/List_of_postal_codes. Use max 12 if storing dash or space
[5] http://stackoverflow.com/questions/224462/storing-money-in-a-decimal-column-what-precision-and-scale

개인 이름에 대한 긴 호언장담

개인 이름은 Polynym(다중 이름을 가진 이름)이거나 정렬 가능 구성 요소), Mononym(구성 요소가 하나만 있는 이름) 또는 Pictonym(그림으로 표시되는 이름 - Prince와 같은 사람들 때문에 존재함)이 있습니다.

사람은 LEGAL, MARITAL, MAIDEN, PREFERRED, SOBRIQUET, PSEUDONYM 등과 같은 역할을 수행하는 여러 이름을 가질 수 있습니다."한 사람이 한 번에 하나의 법적 이름만 가질 수 있지만 동시에 여러 개의 가명을 가질 수 있습니다"와 같은 비즈니스 규칙이 있을 수 있습니다.

몇 가지 예:

names: [
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"George",
    middle:"Herman",
    moniker:"Babe",
    surname:"Ruth",
    generation:"JUNIOR"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Bambino" /* mononyms can be more than one word, but only one component */
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Sultan of Swat"
  }
]

또는

names: [
  {
    type:"POLYNYM",
    role:"PREFERRED",
    given:"Malcolm",
    surname:"X"
  },
  {
    type:"POLYNYM",
    role:"BIRTH",
    given:"Malcolm",
    surname:"Little"
  },
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Malik",
    surname:"El-Shabazz"
  }
]

또는

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Prince",
    middle:"Rogers",
    surname:"Nelson"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"Prince"
  },
  {
    type:"PICTONYM",
    role:"LEGAL",
    url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png"
  }
]

또는

names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Juan Pablo",
    surname:"Fernández de Calderón",
    secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */
  }
]

이름, 중간 이름, 성은 다음과 같은 여러 단어로 구성될 수 있습니다. "Billy Bob" Thornton, 또는 Ralph "Vaughn Williams".

나는 높은 편에서 실수를 하고 싶다.아마도 varchar를 사용하게 될 것이므로 허용하는 추가 공간은 누군가가 필요로 하지 않는 한 실제로 추가 공간을 사용하지 않습니다.이름(이름 또는 성)은 최소 50자 이상, 이메일 주소는 최소 128자 이상으로 설정하세요.정말 긴 이메일 주소가 있습니다.

내가 좋아하는 또 다른 일은 다음과 같은 곳으로 가는 것입니다. Lipsum.com 텍스트를 생성하도록 요청하세요.이렇게 하면 100바이트가 어떻게 생겼는지에 대한 좋은 아이디어를 얻을 수 있습니다.

다른 숫자가 고객에게 특별한 의미를 갖는 고객 대면 인터페이스와 같이 사용하지 않을 타당한 이유가 없는 한 나는 거의 항상 2의 거듭제곱을 사용합니다.

2의 거듭제곱을 고수하면 제한된 공통 크기 집합 내에서 유지되며, 이는 그 자체로 좋은 것이며, 접할 수 있는 알려지지 않은 물체의 크기를 더 쉽게 추측할 수 있게 해줍니다.나는 꽤 많은 사람들이 이 일을 하고 있는 것을 보았고, 거기에는 미학적으로 기분 좋은 일이 있었습니다.이것을 볼 때 일반적으로 좋은 느낌을 줍니다. 디자이너가 엔지니어나 수학자처럼 생각하고 있다는 뜻입니다.소수만 사용된다면 아마도 걱정이 될 것입니다.:)

나는 동일한 것을 찾고 싶었고 허용된 답변에 언급된 영국 정부 데이터 표준이 이상적으로 들렸습니다.그러나 이들 중 어느 것도 더 이상 존재하지 않는 것 같았습니다. 확장된 검색 끝에 다음 아카이브에서 찾았습니다. http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx.zip을 다운로드하고 압축을 푼 다음 html 폴더에서 default.htm을 열어야 합니다.

이름 :35 마지막 이름 :35 이메일 :255 URL :서버 및 브라우저 시티에 따르면 60+ :45 주소 :90

내 이메일 아카이브를 살펴보면 꽤 긴 "이름" 이름이 많이 있습니다(물론 첫 번째가 의미하는 바는 문화에 따라 다릅니다).한 가지 예는 Krishnamurthy로, 길이는 13자입니다.이를 기반으로 하면 20~25글자가 적당하다고 추측할 수 있습니다.이메일은 다음과 같아야 합니다. 많이 firstname.lastname@somedomain.com이 있을 수 있으므로 더 오래 걸립니다.또한 gmail 및 기타 메일 프로그램을 사용하면 firstname.lastname+sometag@somedomain.com을 사용할 수 있습니다. 여기서 "sometag"는 수신 이메일을 정렬하는 데 사용할 수 있도록 입력하려는 항목입니다.나는 태그를 고려하지 않고 전체 이메일 주소를 입력할 수 없는 웹 양식을 자주 접합니다.따라서 고정된 이메일 필드가 필요한 경우 총 90자에 대해 25.25+15@20.3 문자가 될 수 있습니다(계산을 올바르게 했다면!).

이것은 누군가에게 유용할 수 있습니다.

youtube max channel length = 20
facebook max name length   = 50
twitter max handle length  = 15
email max length           = 255 

http://www.interoadvisory.com/2015/08/6-areas-inside-of-linkedin-with-character-limits/

나는 보통 다음과 같이 간다:

이름:30자
:30자
이메일:50자
주소:200자

이름의 긴 필드가 걱정된다면 이름 필드에도 50을 사용하는 경우가 있습니다. 요즘에는 저장 공간이 거의 문제가 되지 않기 때문입니다.

현지화를 고려해야 하고(미국 외 지역의 경우!) 귀하의 환경에서 가능하다면 다음을 제안합니다.

이름의 각 구성 요소에 대한 데이터 유형을 정의합니다. 참고:일부 문화권에는 이름이 두 개 이상 있습니다!그런 다음 전체 이름에 대한 유형을 지정하고

그러면 현지화가 간단해집니다(이름에 관한 한).

주소에도 동일하게 적용됩니다. BTW - 다른 형식입니다!

varchar 맞죠?따라서 50을 사용하든 25를 사용하든 상관 없습니다. 안전하고 50을 사용하는 것이 좋습니다. 즉, 제가 본 것 중 가장 긴 것은 약 19 정도라고 생각합니다.성(姓)이 더 길다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top