programing

데이터베이스 필드의 표준 길이 목록

powerit 2023. 10. 20. 14:54
반응형

데이터베이스 필드의 표준 길이 목록

데이터베이스 테이블을 설계하면서 스스로에게 다음과 같은 질문을 던집니다.이름 필드의 길이는 얼마가 되어야 합니까?

이름, 성, 이메일 주소와 같이 가장 일반적인 필드에 적합한 길이의 목록을 가지고 있는 사람이 있습니까?

저는 방금 미국의 수백만 고객들에게 제 데이터베이스를 조회했습니다.

  • 이름의 최대 길이는 46이었습니다.저는 50명으로 생각합니다. (물론, 25명 이상은 500명에 불과했고, 모두 데이터를 가져온 결과 해당 분야에서 추가적인 쓰레기가 발생한 경우였습니다.)

  • 이 이름과 비슷했습니다.

  • 이메일 주소는 최대 62자입니다.대부분의 긴 이메일 주소는 세미콜론으로 구분된 이메일 주소 목록이었습니다.

  • 도로명 주소는 최대 95자입니다.긴 것들은 모두 유효했습니다.

  • 최대 시내 길이는 35.

이것은 미국 사람들에게 괜찮은 통계적 퍼짐이 될 것입니다.현지화를 고려해야 한다면 수치가 크게 달라질 수 있습니다.

UK Government Data Standards Catalogue에는 이러한 종류의 UK 표준이 자세히 나와 있습니다.여기에는 각 주어진 이름과 성(Family Name)에 대해 35자 또는 전체 이름을 저장할 단일 필드에 대해 70자, 전자 메일 주소에 대해 255자가 제시됩니다.무엇보다도..

W3C의 권장 사항:

다양한 배경을 가진 사람들의 이름을 받아들이는 양식이나 데이터베이스를 설계하는 경우, 주어진 이름과 성씨에 대해 별도의 필드를 가질 필요가 있는지 자문해보아야 합니다.

… 일부 문화권의 이름은 여러분의 이름보다 훨씬 더 길 수 있다는 것을 명심하세요.데이터베이스에 있는 이름의 필드 크기를 제한하지 않습니다.특히 UTF-8의 일본어 이름 4자가 4바이트에 들어맞는다고 가정하지 마십시오. 실제로는 12자가 필요할 수 있습니다.

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

데이터베이스 필드의 경우,VARCHAR(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

개인적인 이름에 대한 오랜 불평.

개인 이름은 폴리넴(여러 개의 정렬 가능한 구성 요소가 있는 이름), 모노니움(하나의 구성 요소만 있는 이름) 또는 픽토니움(그림으로 표시되는 이름 - 프린스와 같은 사람들로 인해 존재함)입니다.

한 사람은 Legal, MARVALN, MADIEN, Preferred, Sobriquet, FAILL 등 여러 개의 이름을 가질 수 있습니다."한 사람은 한 번에 하나의 법적 이름만 가질 수 있지만 한 번에 여러 개의 가명을 사용할 수 있습니다."와 같은 비즈니스 규칙이 있을 수 있습니다.

몇 가지 예:

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의 거듭제곱을 고수한다면, 그것은 당신을 일반적인 크기의 제한된 집합 안에 머물게 하고, 그 자체로 당신이 마주칠 수 있는 미지의 물체의 크기를 추측하는 것을 더 쉽게 해줍니다.저는 많은 사람들이 이렇게 하는 것을 보고, 미적으로 즐거운 무언가가 있습니다.이것을 보면 대체로 느낌이 좋아요. 디자이너가 공학자나 수학자처럼 생각하고 있었다는 뜻이에요.아마 소수만 사용하면 걱정되겠지만 :)

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

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/

저는 같은 것을 찾고 싶었고, 수락된 답변에서 언급된 영국 정부 데이터 표준은 이상적으로 들렸습니다.그러나 이 중 어떤 것도 더 이상 존재하지 않는 것처럼 보였습니다. 확장 검색 후에 저는 이 파일을 여기 아카이브(http://webarchive.nationalarchives.gov.uk/+/http :/www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx )에서 발견했습니다.zip을 다운로드하여 압축을 푼 다음 html 폴더에서 default.htm을 열어야 합니다.

+------------+---------------+---------------------------------+
|   Field    | Length (Char) |           Description           |
+------------+---------------+---------------------------------+
|firstname   | 35            |                                 |
|lastname    | 35            |                                 |
|email       | 255           |                                 |
|url         | 60+           | According to server and browser |
|city        | 45            |                                 |
|address     | 90            |                                 |
+------------+---------------+---------------------------------+

편집 : 띄어쓰기 추가

이메일 보관소만 봐도 꽤 긴 "첫 번째" 이름이 많이 있습니다(물론 첫 번째가 의미하는 것은 문화에 따라 가변적입니다)한 예로 13글자 길이의 크리슈나무르티가 있습니다.이를 바탕으로 20~25글자 정도를 추측해 볼 수 있을 것입니다.firstname.lastname@somedomain.com 이 있을 수도 있기 때문에 이메일은 훨씬 더 길어질 것입니다.또한 gmail 및 기타 메일 프로그램을 통해 firstname.lastname+sometag@somedomain.com 을 사용할 수 있습니다. 여기서 "sometag"는 수신 이메일을 정렬하는 데 사용할 수 있도록 원하는 모든 것입니다.태그를 고려하지 않고 전체 이메일 주소를 입력할 수 없는 웹 양식을 자주 접하게 됩니다.따라서 고정된 이메일 필드가 필요하다면 총 90자에 대해 25.25+15@20.3자와 같은 문자가 필요합니다(수학을 제대로 했다면!).

저는 보통 다음과 같습니다.

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

이름에 대한 긴 필드가 걱정된다면 이름 필드에도 50개를 사용할 수도 있습니다. 요즘은 스토리지 공간이 거의 문제가 되지 않기 때문입니다.

현지화를 고려해야 할 경우(미국 이외의 지역에 해당), 귀사의 환경에서 가능한 경우 다음과 같이 제안합니다.

이름의 각 구성요소에 대한 데이터 유형 정의 - 참고: 이름이 두 개 이상인 문화도 있습니다!그럼 전체 이름을 입력할 수 있는 유형을 갖고,

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

주소, BTW - 서로 다른 형식!

그것은 varchar 맞지요?그렇다면 50이나 25를 사용해도 상관이 없습니다. 안전하고 50을 사용하는 것이 좋을 것입니다. 하지만 제가 본 가장 긴 시간은 19살 정도라고 생각합니다.성이 더 깁니다.

언급URL : https://stackoverflow.com/questions/20958/list-of-standard-lengths-for-database-fields

반응형