클래스: 데이터 엔지니어링의 기초

데이터베이스 스키마 이해하기

다음 단계는 데이터베이스를 디자인하고 개발하는 방법을 이해하는 것입니다. 그러기 위해서는 데이터베이스 스키마에 대해 알아야 합니다. 다시 말하면 데이터베이스 스키마는 데이터베이스 테이블 간의 구조 및 관계를 설명합니다. 여기 오른쪽에서 데이터베이스 스키마를 볼 수 있습니다. 이것은 레스토랑 주문 시스템의 매우 간단한 예입니다. Customer라는 테이블과 Order라는 다른 테이블이 있습니다. 우리는 각 테이블의 ID가 기본 키인 각 테이블의 속성을 정의했습니다. 기본 키는 특정 테이블의 각 인스턴스에 대한 고유 식별자입니다. Order 테이블의 고객 ID 필드는 고객과 주문을 연결합니다. 이러한 종류의 열 또는 필드를 외래 키라고 합니다. 다른 테이블을 참조하기 때문입니다. SQL을 사용하여 데이터베이스에서 이러한 스키마를 생성하는 방법을 살펴보겠습니다. SQL 기본을 얻으려면 SQL을 마스터하는 데 도움이 될 수 있는 라이브러리 과정을 참조할 수 있습니다. 이 SQL 문은 앞에서 정의된 스키마의 테이블을 생성합니다. 왼쪽의 쿼리는 고객 테이블을 생성합니다. ID, 이름, 성, 이메일, 비밀번호와 같은 속성이 있습니다. ID는 기본 키입니다. 오른쪽에서 주문 테이블을 생성하는 SQL 문을 볼 수 있습니다. 외래 키로 고객 ID가 있습니다. JOIN 문을 사용하여 테이블을 조인하여 이러한 외래 키를 활용할 수도 있습니다. 최근 기업은 흔히 데이터 웨어하우스를 구축하여 분석 목적으로 다양한 소스로부터의 데이터를 대량으로 처리합니다. 다차원 스키마는 이러한 데이터 웨어하우스 시스템을 모델링하기 위해 특별히 설계되었습니다. 이러한 스키마는 우리의 분석 목적에 부합하는 매우 큰 데이터베이스의 고유한 요구 사항을 해결하도록 설계되었습니다. 자주 보게 될 스키마는 별 모양 스키마입니다. Redshift와 같은 많은 분석 데이터베이스에는 이러한 종류의 스키마에 대한 최적화 기능이 있습니다. 위키피디아에 따르면, 별 모양 스키마는 하나 이상의 팩트 테이블로 구성됩니다. 예를 들어 여기 orders 테이블이 있습니다. 그런 다음 이 팩트 테이블은 여러 차원 테이블을 참조합니다. 예를 들어 customer, dim_restaurant, dim_time, dim_dish을 참조합니다. 차원 테이블은 고객 이름과 요리 가격과 같은 세계 자체에 대한 정보를 보유합니다. 반면 팩트 테이블은 세계에서 일어나는 일을 나타내는 기록을 포함합니다. 데이터베이스 스키마 설계는 데이터 파이프라인 구축의 첫 번째 단계입니다. 많은 계획이 자주 필요합니다. 비효율적인 스키마는 많은 메모리와 리소스를 소비하는 데이터베이스로 이어질 수 있기 때문입니다.

목차