> 데이터 베이스 > MySQL 튜토리얼 > 기본 어레이 지원 없이 MySQL에서 어레이와 유사한 데이터를 어떻게 효율적으로 저장하고 검색할 수 있습니까?

기본 어레이 지원 없이 MySQL에서 어레이와 유사한 데이터를 어떻게 효율적으로 저장하고 검색할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-06 12:53:12
원래의
780명이 탐색했습니다.

How Can I Efficiently Store and Retrieve Array-like Data in MySQL Without Native Array Support?

MySQL에 배열 저장

MySQL과 같은 관계형 데이터베이스 관리 시스템에서는 배열이 기본적으로 지원되지 않습니다. 따라서 MySQL 테이블에 배열을 저장하는 것은 어려운 일입니다.

문제 설명:

MySQL의 두 테이블을 생각해 보세요.

  • 테이블 Person:

    • id(정수, 기본 키)
    • name(문자열)
    • fruits(문자열 또는 문자열 배열)
  • 테이블 Fruit:

    • fruit_name(문자열, 기본 키)
    • color(문자열)
    • 가격(정수)

Person 테이블의 과일 열을 저장할 수 있도록 디자인하는 것이 목표입니다. Fruit 테이블의 Fruit_name 열 값에 해당하는 문자열 배열.

해결책:

이 문제를 해결하려면 다음과 같은 관계형 모델링 기술을 사용해야 합니다. "다대다 관계." 이 기술에는 두 개의 기본 테이블을 연결하기 위해 "조인 테이블" 또는 "연결 테이블"이라는 중간 테이블을 도입하는 작업이 포함됩니다.

이 경우 다음 열이 있는 Person_Fruit 테이블을 생성할 수 있습니다.

  • person_id(Person의 id에 대한 외래 키)
  • fruit_name(fruit_name에 대한 외래 키) 과일)

이 테이블은 각 사람을 그 사람과 관련된 과일과 연결합니다.

데이터 검색을 위한 SQL 쿼리:

To 관련 과일이 포함된 테이블에서 데이터를 검색하면 다음을 사용할 수 있습니다. 쿼리:

SELECT p.*, f.*
FROM Person p
INNER JOIN Person_Fruit pf ON pf.person_id = p.id
INNER JOIN Fruit f ON f.fruit_name = pf.fruit_name;
로그인 후 복사

결론:

다대다 관계와 중간 테이블을 사용하면 MySQL에서 배열을 효과적으로 저장하고 검색할 수 있습니다. 기본적으로 지원되지 않습니다. 이 기술을 사용하면 데이터 무결성을 유지하면서 효율적인 데이터 검색 및 유지 관리가 가능합니다.

위 내용은 기본 어레이 지원 없이 MySQL에서 어레이와 유사한 데이터를 어떻게 효율적으로 저장하고 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿