데이터베이스(DB) 스키마(Schema)

스키마(Schema)

스키마(Schema), 데이터베이스의 설계도를 의미합니다. 쉽게 말해, 데이터베이스가 어떤 구조로 만들어져 있고, 데이터를 어떻게 저장하고 연결할지를 정의한 것입니다. 스키마는 데이터베이스를 설계할 때 가장 기본적이고 중요한 역할을 합니다.

스키마를 쉽게 이해하기

스키마를 건물의 설계도에 비유하면 쉽게 이해할 수 있습니다. 건물을 짓기 전에 설계도를 그려서 어디에 방을 만들고, 창문은 몇 개를 둘지 등을 정하는 것처럼, 데이터베이스에서도 어떤 데이터를 저장할지, 데이터를 어떻게 연결할지를 미리 정의합니다.

예를 들어, 노트에 메모를 작성한다고 가정해 보겠습니다. 이때 스키마는 각 페이지에 어떤 내용을 쓸지 정리한 규칙과 같습니다.

  • 1페이지: 사람의 이름과 나이를 적는다.

  • 2페이지: 사람의 주소와 전화번호를 적는다.

  • 3페이지: 구매 내역을 적는다.

데이터베이스에서는 이러한 페이지가 각각의 테이블에 해당하며, 스키마는 이 테이블과 테이블 안의 데이터 구조를 정의한 것입니다.

클라우드웨이즈 벌쳐 장단점 비교 👆

스키마의 구성 요소

  1. 테이블(Table): 데이터를 저장하는 기본 단위입니다. 각 테이블은 행(Row)과 열(Column)로 구성됩니다.

    • 예: 고객 정보 테이블(Customer), 상품 정보 테이블(Product), 주문 정보 테이블(Order)

  2. 컬럼(Column): 테이블 안에서 데이터를 저장하는 항목을 정의합니다. 각 컬럼에는 데이터 타입이 지정됩니다.

    • 예: 고객 테이블에는 이름(Column: Name), 나이(Column: Age), 이메일(Column: Email) 등의 컬럼이 있습니다.

  3. 데이터 타입(Data Type): 각 컬럼에 저장될 데이터의 종류를 정의합니다.

    • 예: 이름은 문자열(String), 나이는 숫자(Integer)로 정의됩니다.

  4. 키(Key): 데이터베이스의 각 데이터를 식별하거나 관계를 정의하기 위해 사용하는 요소입니다.

    • 기본 키(Primary Key): 각 행을 고유하게 식별하는 데 사용됩니다.

    • 외래 키(Foreign Key): 다른 테이블과의 관계를 정의합니다.

  5. 제약 조건(Constraint): 데이터의 무결성을 유지하기 위해 규칙을 설정합니다.

    • 예: 나이는 0보다 커야 한다, 이메일은 중복될 수 없다.

제3정규형(2NF) 총정리 👆

스키마 역할

  1. 구조 정의: 데이터베이스에 어떤 테이블이 있고, 각 테이블에 어떤 데이터가 저장될지 정의합니다.

  2. 규칙 설정: 데이터를 저장할 때 지켜야 할 규칙을 만듭니다.

  3. 관계 설정: 테이블 간 데이터를 어떻게 연결할지를 정의합니다.

제2정규형(2NF) 총정리 👆

스키마 예시

쇼핑몰 데이터베이스를 설계한다고 가정해 보겠습니다. 이때 스키마는 아래와 같이 정의될 수 있습니다.

  1. 고객 테이블(Customer)

    • 컬럼: 고객 ID(Customer ID), 이름(Name), 이메일(Email), 전화번호(Phone)

    • 기본 키: 고객 ID

  2. 상품 테이블(Product)

    • 컬럼: 상품 ID(Product ID), 상품명(Name), 가격(Price), 재고 수량(Stock)

    • 기본 키: 상품 ID

  3. 주문 테이블(Order)

    • 컬럼: 주문 ID(Order ID), 고객 ID(Customer ID), 상품 ID(Product ID), 주문 날짜(Order Date)

    • 기본 키: 주문 ID

    • 외래 키: 고객 ID (고객 테이블과 연결), 상품 ID (상품 테이블과 연결)

제1정규형(1NF) 총정리 👆

스키마의 세 가지 유형

데이터베이스는 크게 세 가지 유형의 스키마로 구성됩니다. 각각의 스키마는 데이터베이스의 다른 관점을 제공합니다.

  1. 외부 스키마(External Schema)

    • 데이터베이스를 사용하는 사용자나 응용 프로그램의 관점에서 본 스키마입니다.

    • 데이터베이스의 일부만 필요에 따라 보여줍니다.

    • 예: 고객은 자신의 주문 정보만 볼 수 있고, 관리자만 모든 주문 정보를 볼 수 있도록 설계.

  2. 개념 스키마(Conceptual Schema)

    • 데이터베이스의 전체 구조를 나타내며, **데이터베이스 관리자(DBA)**나 설계자가 보는 관점입니다.

    • 테이블, 컬럼, 데이터 타입, 관계 등을 정의하며 데이터의 논리적 구조를 나타냅니다.

    • 예: 고객 테이블, 상품 테이블, 주문 테이블 간의 관계 정의.

  3. 내부 스키마(Internal Schema)

    • 데이터가 실제로 저장되는 물리적 구조를 정의합니다.

    • 데이터베이스 엔진이 데이터를 저장하고 처리하는 방식을 포함하며, 물리적 저장소와 관련된 세부 사항을 다룹니다.

    • 예: 데이터 파일의 저장 방식, 인덱스 사용 여부, 최적화된 저장 경로.

정규화(Normalization) 총정리 👆

스키마(Schema) 설계 시 고려할 점

  1. 데이터 무결성: 데이터가 올바르고 일관성 있게 저장될 수 있도록 규칙을 설정해야 합니다.

  2. 확장성: 데이터베이스가 확장될 가능성을 고려하여 설계해야 합니다.

  3. 효율성: 데이터를 저장하고 조회할 때 성능이 최적화되도록 설계해야 합니다.

DWM이 끊어서 세션이 로그오프 되었습니다 해결법 👆

결론

스키마는 데이터베이스의 뼈대와 같은 역할을 하며, 데이터를 효율적이고 체계적으로 저장하기 위한 설계도입니다. 외부 스키마, 개념 스키마, 내부 스키마는 각각 사용자, 설계자, 시스템의 관점을 제공하며, 데이터베이스 설계의 기본을 이루는 중요한 요소입니다. 잘 설계된 스키마는 데이터베이스의 성능과 데이터 무결성을 유지하는 데 매우 중요합니다.

 

스키마(Schema) 설명 글 마치겠습니다.

ER 다이어그램(Entity-Relationship Diagram) 👆
0 0 votes
Article Rating
Subscribe
Notify of
guest
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 데이터베이스(DB) 스키마(Schema) […]

trackback

[…] 데이터베이스(DB) 스키마(Schema) […]

trackback

[…] 내부 스키마 총정리 […]

trackback

[…] RDBMS는 다양한 분야에서 데이터 관리를 효율적으로 수행하기 위해 필수적인 도구입니다. 관계형 모델과 SQL을 잘 이해하면, 데이터의 체계적 관리와 활용이 가능해집니다. 앞으로의 글에서는 SQL 문법과 데이터 모델링 기법에 대해 다루겠습니다. 데이터베이스(DB) 스키마(Schema) […]

Loading...