Wolfram 언어

관련 테이블 사용하기

이 예는 JOIN 문을 사용하지 않고 하나의 테이블을 다른 테이블에 연관시킬 수 있는 매우 강력한 기술을 보여줍니다. 이 기술은 실체 값의 특성의 간단한 개념에 근거하고 있기 때문에 실체를 지금까지 사용해 본 적이 있는 사람에게는 익숙한 것입니다.

관계형 데이터베이스의 대부분은 외부 키가 포함됩니다. 테이블의 일부 열에 외부 키 태그가 붙어있는 경우, 그들은 다른 테이블의 기본 키를 참조하여 두 테이블 사이의 연결을 만들 수 있습니다. 예를 들어, 주문의 테이블에는 고객 및 제품 테이블에 대한 외부 키가 포함되어 있어 이러한 정보를 직접 복제할 필요가 없도록 설정할 수 있습니다. 풍부한 구조를 가진 전형적인 데이터베이스에 대해 살펴 봅니다.

외부 키를 통해 관련된 테이블의 구조는 그래프로 시각화할 수 있습니다.

RelationalDatabase에 대응하는 EntityStore를 구축할 때는 외부 키에서 특별한 특성 몇 가지가 구축됩니다.

실체 유형의 주문을 살펴봅니다. 외부 키 "customerNumber""customers" 테이블을 나타냅니다. 프레임워크는 자동으로 이를 인식하고 Entity 객체를 반환하는 "customers"라는 이름의 새로운 특성(개요의 테이블에서 밑줄이 있는)을 생성합니다. 이처럼 "orders" 실체 각각에 대응하는 "customers" 실체가 있습니다. EntityStore를 등록하고 이를 확인합니다.

이제 "orders" 유형의 실체에 EntityValue를 호출할 수 있습니다.

"orders"의 테이블은 "orderdetails" 테이블에서 외부 키의 대상이며, 이것이 "orderdetails" 테이블에서 역사상을 만드는 프레임워크를 허용합니다. 그 결과, 유형 "orders"EntityClass의 값을 가지는 특성 "orderdetails"를 가지게 됩니다.

외부 키 주위에 이러한 기호 래퍼를 갖는 것의 큰 장점은 특성 추출을 EntityFunction에 연결할 수있는 것입니다. 예를 들어, 고객의 실체부터 시작해서 누가 영업 담당자이고, 그 담당자의 관리자가 누구인지를 알아볼 수 있습니다.

이러한 작업은 Wolfram 언어에 익숙한 사람에게는 매우 자연스러운 일처럼 생각 될지도 모르지만, 이러한 특별한 특성을 사용하지 않으면 매우 복잡한 작업입니다. 즉, 일반적으로 JOIN 문장으로 간주되는 것들을 말합니다.

연결된 테이블을 사용하는 또 다른 큰 장점은 쿼리로 생각하지 않고 이들을 사용하여 집약을 실시할 수 있다는 것입니다. 예를 들어, 다음은 주문 값의 합계입니다.

집계의 측면에서 유사한 쿼리는 다음과 같습니다.

관련 예제

de en es fr ja pt-br zh