지난 주 회의에서 데이터베이스 관리에 대한 경험이없는 사람이이 질문을 제기했습니다.
"여러 줄 대신 인라인 (문자열) 데이터 저장을 정당화하는 시나리오가 있습니까?"
countryStates
국가의 상태를 어디에 저장하고 싶은지 테이블을 가정 해 봅시다 . 이 예에서는 USA를 사용하고 게으름을 위해 모든 국가를 나열하지는 않습니다.
거기에는 두 개의 열이 있습니다. 하나는 호출 Country
되었고 다른 하나는 호출했습니다 States
. 여기 에서 논의 되고 @srutzky의 답변 에서 제안한 바와 같이 ISO 3166-1 alpha-3에PK
의해 정의 된 코드가 될 것 입니다.
우리의 테이블은 다음과 같습니다.
+---------+-----------------------+-------------------------------------------------------+
| Country | States | StateName |
+---------+-----------------------+-------------------------------------------------------+
| USA | AL, CA, FL,OH, NY, WY | Alabama, California, Florida, Ohio, New York, Wyoming |
+---------+-----------------------+-------------------------------------------------------+
그는 같은 질문을 친구 개발자에게 요청할 때 데이터 트래픽 크기 관점에서이 방법이 유용 할 수 있지만이 데이터를 조작 할 필요는 없다고 말했다. 이 경우 목록에서이 문자열을 변환 할 수있는 응용 프로그램 코드에 대한 정보가 있어야합니다 (이 테이블에 액세스 할 수있는 소프트웨어가 콤보 상자를 만들어야 함).
우리는이 모델이 그다지 유용하지 않다는 결론을 내렸지 만,이 모델을 유용하게 만드는 방법이 있을지 의심 스럽다.
내가 묻고 싶은 것은 여러분 중 누군가가 실제로 작동 하는 방식으로 이미 이런 말을 보거나 듣거나했는지 여부 입니다.
a;b;c
, 다음 문자열 당신을 구문 분석 얻을 수있는 프론트 엔드를 사용 a
, b
, c
어쩌면 그들과 함께 일을하고 실행에와 캐리를? 그런 식으로 특정 요구에 맞을 수도 있다고 생각합니다. 당신은 항상 ID를 저장하고, 테이블에 가입하고, FE에 콘텐츠를 보낼 수있는 것보다 연결된 문자열을 만들 수 있습니다.