logo

데이터베이스 스키마

오늘날 데이터는 비즈니스 세계에서 가장 중요한 것 중 하나입니다. 모든 기업은 고객의 행동을 이해하기 위해 고객의 데이터를 캡처합니다. 인터넷 세계에서는 데이터가 미친 듯이 증가하므로 기업에는 보다 발전된 데이터베이스 솔루션이 필요합니다. 데이터베이스 시스템을 유지할 수 있으며 비즈니스 문제를 해결하기 위해 데이터가 필요할 때마다 문제없이 원하는 데이터를 쉽게 얻을 수 있습니다. 이 조건을 충족하려면 그림과 같은 데이터베이스 스키마에 대한 요구 사항이 있습니다.

스키마란 무엇입니까?

  • 데이터베이스의 뼈대는 속성에 의해 생성되며 이 뼈대의 이름은 스키마입니다.
  • 스키마에는 테이블, 기본 키 등과 같은 논리적 제약 조건이 언급되어 있습니다.
  • 스키마는 속성의 데이터 유형을 나타내지 않습니다.

고객 세부정보



고객 세부정보

고객의 스키마

고객의 스키마

데이터베이스 스키마

  • 데이터베이스 스키마는 데이터의 논리적 표현 이는 데이터베이스의 데이터가 논리적으로 저장되는 방법을 보여줍니다. 데이터가 구성되는 방식과 테이블 간의 관계를 보여줍니다.
  • 데이터베이스 스키마에는 테이블, 필드, 뷰 및 다양한 키 간의 관계가 포함됩니다. 기본 키 , 외래 키 .
  • 데이터는 본질적으로 구조화되지 않은 파일 형식으로 저장되므로 데이터에 액세스하기가 어렵습니다. 따라서 문제를 해결하기 위해 데이터는 데이터베이스 스키마의 도움으로 구조화된 방식으로 구성됩니다.
  • 데이터베이스 스키마는 데이터 구성과 저장된 데이터 간의 관계를 제공합니다.
  • 데이터베이스 스키마는 데이터 액세스 및 수정 방법에 대한 정보를 제공하는 것과 함께 데이터베이스를 제어하는 ​​일련의 지침을 정의합니다.

데이터베이스 스키마 유형

데이터베이스 스키마에는 3가지 유형이 있습니다.



물리적 데이터베이스 스키마

  • 물리적 스키마는 데이터 또는 정보가 파일 및 인덱스의 형태로 스토리지 시스템에 물리적으로 저장되는 방식을 정의합니다. 이는 데이터베이스의 구조를 생성하는 데 필요한 실제 코드 또는 구문으로, 물리적 수준에서 데이터베이스를 설계할 때 이를 물리적 스키마라고 할 수 있습니다.
  • 데이터베이스 관리자는 다양한 스토리지 블록에 데이터를 저장할 위치와 방법을 선택합니다.

논리적 데이터베이스 스키마

  • 논리적 데이터베이스 스키마는 저장된 데이터에 적용해야 하는 모든 논리적 제약 조건을 정의하고 테이블, 뷰, 엔터티 관계 및 무결성 제약 조건도 설명합니다.
  • 논리 스키마는 데이터가 테이블 형식으로 저장되는 방식과 테이블의 속성이 연결되는 방식을 설명합니다.
  • 사용 IS 모델링 데이터 구성 요소 간의 관계가 유지됩니다.
  • 논리 스키마에서는 삽입 품질을 유지하고 데이터를 업데이트하기 위해 다양한 무결성 제약 조건이 정의됩니다.

데이터베이스 스키마 보기

  • 최종 사용자와 데이터베이스 간의 상호 작용을 정의할 수 있는 뷰 레벨 디자인입니다.
  • 사용자는 데이터베이스에 저장된 데이터 메커니즘에 대해 많이 알지 못해도 인터페이스의 도움으로 데이터베이스와 상호 작용할 수 있습니다.
데이터베이스 스키마 보기

3계층 스키마 설계

힙파이 정렬

데이터베이스 스키마 생성

스키마를 생성하기 위해 모든 데이터베이스에서 CREATE SCHEMA 문이 사용됩니다. 그러나 데이터베이스마다 이에 대한 의미가 다릅니다. 아래에서는 다양한 데이터베이스 시스템에서 데이터베이스 스키마를 생성하기 위한 몇 가지 명령문을 살펴보겠습니다.

1. MySQL: MySQL에서는 CREATE SCHEMA 문을 사용하여 데이터베이스를 생성합니다. MySQL에서는 CREATE SCHEMA와 CREATE DATABASE 두 문이 유사하기 때문입니다.



2. SQL 서버: SQL Server에서는 새 스키마를 생성하기 위해 CREATE SCHEMA 문을 사용합니다.

3. 오라클 데이터베이스: Oracle 데이터베이스에서는 CREATE USER를 사용하여 새 스키마를 생성합니다. 왜냐하면 Oracle 데이터베이스에서는 이미 각 데이터베이스 사용자와 함께 스키마가 생성되어 있기 때문입니다. CREATE SCHEMA 문은 스키마를 생성하지 않고 대신 테이블과 뷰로 스키마를 채우고 여러 트랜잭션에 대해 여러 SQL 문이 필요 없이 해당 개체에 액세스할 수 있도록 합니다.

데이터베이스 스키마 디자인

데이터베이스를 구성하는 방법에는 여러 가지가 있으며, 비효율적인 스키마 디자인은 추가 메모리와 리소스를 관리하고 소비하기 어렵기 때문에 데이터베이스 생성에 가장 적합한 스키마 디자인을 사용해야 합니다.

라텍스 테이블

스키마 디자인은 주로 애플리케이션의 요구 사항에 따라 달라집니다. 여기에는 애플리케이션을 생성하는 데 효과적인 몇 가지 스키마 디자인이 있습니다. 스키마 디자인을 살펴보겠습니다.

  1. 평면 모델
  2. 계층적 모델
  3. 네트워크 모델
  4. 관계형 모델
  5. 스타 스키마
  6. 눈송이 스키마

평면 모델

평면 모델 스키마는 모든 열에 동일한 유형의 데이터/정보가 포함되어 있고 행이 있는 요소가 서로 관련되어 있는 2차원 배열입니다. 테이블이나 스프레드시트와 같습니다. 이 스키마는 복잡한 데이터를 포함하지 않는 소규모 애플리케이션에 더 적합합니다.

평면형

평면 모델 설계

계층적 모델

데이터는 계층적 데이터베이스 모델의 상위-하위 관계 및 트리 구조를 사용하여 정렬됩니다. 각 레코드는 여러 하위 항목과 하나의 상위 항목으로 구성되므로 조직도와 같은 다이어그램에서 일대다 관계를 설명하는 데 사용할 수 있습니다. 당연하지만 복잡한 파트너십에는 적응력이 부족할 수도 있습니다.

계층적 모델

계층적 모델 설계

네트워크 모델

네트워크 모델과 계층적 모델은 데이터 관계와 관련된 중요한 차이점을 제외하고 매우 유사합니다. 네트워크 모델은 다대다 관계를 허용하는 반면, 계층적 모델은 일대다 관계를 허용합니다.

숫자가 포함된 알파벳
네트워크 모델

네트워크 모델 설계

관계형 모델

관계형 모델은 주로 관계형 데이터베이스에 사용되며, 여기서 데이터는 테이블의 관계로 저장됩니다. 이것 관계형 모델 스키마 객체 지향 프로그래밍에 더 좋습니다.

관계형 모델

관계형 모델 설계

스타 스키마

스타 스키마는 대량의 데이터를 저장하고 분석하는 데 더 좋습니다. 중앙에 팩트 테이블이 있고 별처럼 연결된 다중 차원 테이블이 있는데, 팩트 테이블에는 비즈니스 프로세스를 실행하는 수치 데이터가 포함되고 차원 테이블에는 제품, 시간, 사람 등 차원과 관련된 데이터가 포함됩니다. 또는 이 테이블에는 사실 테이블에 대한 설명이 포함되어 있다고 말할 수 있습니다. 스타 스키마를 사용하면 데이터를 구조화할 수 있습니다. RDBMS .

스타 스키마

스타 스키마 디자인

눈송이 스키마

스타 스키마와 마찬가지로 눈송이 스키마도 중앙에 팩트 테이블이 있고 이에 연결된 여러 차원 테이블이 있지만 두 모델의 주요 차이점은 눈송이 스키마에서는 차원 테이블이 여러 관련 테이블로 추가로 정규화된다는 것입니다. 눈송이 스키마는 대량의 데이터를 분석하는 데 사용됩니다.

눈송이 스키마

눈송이 스키마 디자인

논리적 데이터베이스 스키마와 물리적 데이터베이스 스키마의 차이점

물리적 스키마

논리적 스키마

물리적 스키마는 디스크에 데이터를 저장하는 방법을 설명합니다.

논리적 스키마는 데이터 엔터티 간의 관계를 정의하는 개념적 뷰를 제공합니다.

추상화 수준이 낮습니다. 높은 수준의 추상화를 가집니다.

데이터베이스 디자인은 모든 데이터베이스 관리 시스템에 독립적입니다.

자바는 while 루프를 수행합니다.

데이터베이스 설계는 특정 데이터베이스 관리 시스템 또는 하드웨어 플랫폼과 함께 작동해야 합니다.

물리적 스키마의 변경은 논리적 스키마에 영향을 미칩니다. 논리적 스키마의 변경 사항은 물리적 스키마에 최소한의 영향을 미칩니다.
물리적 스키마에는 속성이 포함되지 않습니다. 논리적 스키마에는 속성이 포함됩니다.
물리적 스키마에는 속성과 해당 데이터 유형이 포함됩니다. 논리적 스키마에는 속성이나 데이터 유형이 포함되어 있지 않습니다.
예: 데이터 정의 언어(DDL), 저장 구조, 인덱스. 예: 엔터티 관계 다이어그램 , 통합 모델링 언어, 클래스 다이어그램.

데이터베이스 스키마의 장점

  • 데이터의 일관성 제공: 데이터베이스 스키마 데이터 일관성을 보장하고 중복을 방지합니다.
  • 확장성 유지: 잘 설계된 데이터베이스 스키마는 데이터베이스에 새 테이블 추가를 유지하는 데 도움이 되며 증가하는 테이블에서 대량의 데이터를 처리하는 데도 도움이 됩니다.
  • 성능 개량: 데이터베이스 스키마는 더 빠른 데이터 검색을 도와 데이터베이스 테이블의 작업 시간을 줄일 수 있습니다.
  • 쉬운 유지 관리: 데이터베이스 스키마는 데이터베이스의 나머지 부분에 영향을 주지 않고 전체 데이터베이스를 유지하는 데 도움이 됩니다.
  • 데이터 보안: 데이터베이스 스키마는 중요한 데이터를 저장하는 데 도움이 되며 데이터베이스에 대한 승인된 액세스만 허용합니다.

데이터베이스 인스턴스

데이터베이스 스키마는 실제 데이터베이스가 생성되기 전에 정의되며, 데이터베이스가 운영된 후에는 데이터베이스의 기본 구조를 나타내기 때문에 스키마를 수정하는 것이 매우 어렵다. 데이터베이스 인스턴스는 데이터베이스에 저장된 데이터와 관련된 어떠한 정보도 보유하지 않습니다. 따라서 데이터베이스 인스턴스는 특정 시점에 현재 데이터베이스에 저장되어 있는 데이터와 정보를 의미합니다.

데이터베이스 인스턴스

특정 시간의 Customer 테이블의 데이터베이스 인스턴스

결론

  • 데이터베이스의 구조를 스키마라고 하며 무엇보다도 테이블 및 키와 같은 논리적 제한 사항을 나타냅니다.
  • 세 가지 스키마 아키텍처 사용자가 데이터베이스에 직접 접근하는 것을 방지하기 위해 개발되었습니다.
  • 데이터베이스에 저장되는 정보는 수시로 변경되기 때문에 인스턴스는 특정 시점의 데이터를 표현한 것입니다.