지난 주 회의에서 데이터베이스 관리에 대한 경험이없는 사람이이 질문을 제기했습니다.
"여러 줄 대신 인라인 (문자열) 데이터 저장을 정당화하는 시나리오가 있습니까?"
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에 콘텐츠를 보낼 수있는 것보다 연결된 문자열을 만들 수 있습니다.