>  기사  >  데이터 베이스  >  mysql의 조인 및 관계형 테이블 소개

mysql의 조인 및 관계형 테이블 소개

巴扎黑
巴扎黑원래의
2017-05-10 13:24:561422검색

조인

SQL의 가장 강력한 기능 중 하나는 데이터 검색 쿼리를 실행하는 동안 테이블을 조인하는 기능입니다. 조인은 SQL의 SELECT를 사용하여 수행할 수 있는 가장 중요한 작업이며, 조인과 해당 구문을 잘 이해하는 것은 SQL 학습에 있어 매우 중요한 부분입니다.

조인을 효과적으로 사용하려면 관계형 테이블과 관계형 데이터베이스 설계에 대한 몇 가지 기본 지식을 이해해야 합니다. 다음 소개는 이 콘텐츠에 대한 모든 지식은 아니지만 시작하기에 충분합니다.


관계표

관계표를 이해하는 가장 좋은 방법은 실제 관계표를 보는 것입니다. 세계의 예.

각 항목 카테고리에 대해 한 행이 있는 제품 카탈로그가 포함된 데이터베이스 테이블이 있다고 가정해 보겠습니다. 각 품목별로 저장되는 정보에는 제품 설명, 가격, 제품을 생산하는 공급업체에 대한 정보가 포함됩니다.

이제 동일한 공급업체가 생산한 품목이 여러 개 있는 경우 공급업체 정보(공급업체 이름, 주소, 연락처 등)는 어디에 저장되나요? 본 데이터를 상품정보와 별도로 저장하는 이유는 다음과 같습니다.

1. 동일한 공급업체가 생산하는 제품마다 공급업체 정보가 동일하기 때문에 각 제품마다 이 정보를 반복하는 것은 시간 낭비이며 저장 공간 낭비입니다.

2. 공급업체 정보가 변경된 경우(예: 공급업체가 이동하거나 전화번호가 변경되는 경우) 한 번만 변경하면 됩니다.

3. 중복된 데이터가 있는 경우(즉, 상품별로 공급업체 정보가 저장되어 있는 경우) 매번 동일한 방식으로 데이터를 입력하기가 어렵습니다. 일관되지 않은 데이터는 보고서에서 활용하기 어렵습니다.

핵심은 동일한 데이터가 여러 번 나타나는 것은 결코 좋은 것이 아니며, 이 요소가 관계형 데이터베이스 설계의 기초가 된다는 것입니다. 관계형 테이블의 설계는 정보가 각 데이터 유형에 대해 하나의 테이블인 여러 테이블로 분해되도록 하는 것입니다. 테이블은 일반적으로 사용되는 일부 값(예: 관계형 디자인의 관계)을 통해 서로 관련됩니다. 이 예에서는 두 개의 테이블을 생성할 수 있습니다. 하나는 공급자 정보를 저장하고 다른 하나는 제품 정보를 저장합니다. 공급업체 테이블에는 모든 공급업체 정보가 포함되어 있으며, 각 공급업체는 한 행을 차지하고 각 공급업체는 고유 식별자를 갖습니다. 이 ID를 기본 키라고 하며 공급업체 ID 또는 기타 고유 값일 수 있습니다.

제품 테이블에는 제품 정보만 저장되며 공급업체 ID(공급업체 테이블의 기본 키) 외에는 다른 공급업체 정보가 저장되지 않습니다. 공급업체 테이블의 기본 키는 제품의 외래 키라고도 합니다. 이는 공급업체 테이블과 제품 테이블을 연결하여 공급업체 테이블에서 해당 공급업체의 세부 정보를 찾는 데 사용할 수 있습니다.

외래 키(외래 키) 외래 키는 다른 테이블의 기본 키 값을 포함하는 테이블의 열이며 두 테이블 간의 관계를 정의합니다.

이것의 장점은 다음과 같습니다.

1. 공급업체 정보가 반복되지 않아 시간과 공간이 낭비되지 않습니다.

2. Vendors 테이블의 단일 레코드에 대해서는 관련 테이블의 데이터를 변경할 필요가 없습니다.

3. 데이터가 중복되지 않으므로 데이터가 일관성이 있으므로 데이터 처리가 더 쉬워집니다. 요약하면, 관계형 데이터를 효율적으로 저장하고 편리하게 처리할 수 있습니다. 따라서 관계형 데이터베이스는 비관계형 데이터베이스보다 확장성이 훨씬 뛰어납니다.

확장성(scale) 증가하는 워크로드에 실패 없이 적응하는 능력. 잘 설계된 데이터베이스나 애플리케이션은 확장성이 좋다고 합니다.

[관련 추천]

1. mysql 서브쿼리란? 하위 쿼리를 사용하여 필터링하는 방법은 무엇입니까?

2. MySQL은 하위 쿼리를 사용하여 계산된 필드를 생성합니다.

3. 조인을 사용하는 이유와 조인을 만드는 방법

4. MySQL에서 WHERE 절의 중요성과 조인 방법 다중 테이블


위 내용은 mysql의 조인 및 관계형 테이블 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.