Computer/SQL

[SQLD] 데이터베이스의 구조

HONGGG 2025. 5. 7. 21:18

데이터베이스 3단계 구조

ANSI/SPARC의 RDBMS의 추상화된 설계 표준에서는 3단계 구성의 데이터독립성 모델을 제시한다.

 

3단계는 외부 단계, 개념적 단계, 내부적 단계로 구성된다.

각 단계는 논리적 데이터 독립성, 물리적 데이터 독립성을 보장한다.

논리적 데이터 독립성은 개념 스키마가 변경되어도 외부 스키마는 영향이 없는 것이고
물리적 데이터 독립성은 내부 스키마가 변경되어도 개념 단계 스키마에는 영향이 없는 것이다.

 

 

출처

단계명 설명 비고
외부 스키마
(External Schema)
각 사용자가 보는 DB 스키마.
개인 사용자 혹은 응용 프로그램 개발자가 접근하는 DB 스키마.
사용자 관점
개념 스키마
(Conceptual Schema)
모든 사용자의 관점을 통합한 업무 전체의 DB 스키마.
응용 프로그램 및 사용자들이 필요로한 데이터를 통합한 전체 DB 기술.
실제 DB에 저장되는 데이터와 응용 프로그램 및 사용자 간 관계를 표현한 스키마. 
통합 관점
내부 스키마
(Internal Schema)
DB가 물리적으로 저장된 형식의 스키마.
물리적 하드에 데이터가 실제로 저장되는방법을 표현한 스키마. 
물리적 관점

 

 


데이터 모데링 용어

데이터 모델링에는 3가지 요소가 있다.

 

  1. 업무가 관여된 것 (Things)
  2. 어떤 것이 가지는 성격 (Attributes)
  3. 업무가 관여하는 어떤 것 간의 관계 (Relationships)
개념 복수/집합 개념 타입 개별/단수 개념 인스턴스
엔터티 (Things) 엔터티 타입 (Entity Type) 엔터티 (Entity)
엔터티 (Entity) 인스턴스 (Instance)
어커런스 (Occurrence)
속성 (Attribute) 속성 (Attribute) 속성값 (Attribute value)
관계 (Relationships) 관계 (Relationships)  페어링 (Paring)

 

예로 도서관 회원에 새로운 '홍길동'이라는 사람이 새로 등록되면, '홍길동' 회원은 인스턴스/어커런스가 되고, 회원의 '회원' 엔터티와 '대여' 엔터티는 '책을 대여하다'라는 관계가 성립된다. 이러한 관계에 포함된 개별 연관성을 페어링이라고 하기도 한다.

마지막으로 회원 엔터티의 <이름, 성별, 대여 책>과 같은, 어떤 것이 가지는 성격이 속성이 된다.

 

인스턴스 (Instance)

"데이터 한 줄(레코드)"에 해당

  • 정의: 엔터티(테이블)의 실제 데이터 한 건
  • 비유: 클래스의 객체처럼, 엔터티라는 설계도로부터 생성된 실제 데이터
  • 예시:
    • 학생(user_id=100, name='홍길동', major='컴퓨터공학', signup=2023)
    • Book( book_id=101, title='Book A', author='Kim')

 

속성 (Attribute)

"데이터의 열(컬럼)"에 해당

  • 정의: 엔터티가 가지는 데이터의 종류 또는 특성
  • 비유: 객체의 필드 또는 변수
  • 예시:
    • 학생 엔터티의 속성: user_id, name, major, signup
    • 도서 엔터티의 속성: book_id, title, author

 

관계 (Relationship)

"두 엔터티 간의 연결"

  • 정의: 서로 다른 두 엔터티 인스턴스 간의 논리적 연결
  • 종류: 1:1, 1:N, M:N (다대다)
  • 예시:
    • 회원과 도서의 대출 관계
    • 관계명 예시: 회원 → 대출 → 도서

 


📌 예시

학생 테이블
ID 이름 학과 회원가입 날짜
100 홍길동 컴퓨터공학 20xx:xx:xx
책 테이블
ID 제목 저자
101 운영체제 Kim
대여 테이블
ID 대여일 반납일 잔여일 user_id book_id status
10001 20xx:xx:xx:xx:xx:xx null 7 100 101 1
  • 각 표(도서(Book), 학생(Student)) 자체가 엔터티
  • 한 줄(101, 운영체제, Kim)은 인스턴스
  • <ID, 이름, 학과, 회원가입 날짜>, <ID, 제목, 저자>는 속성
  • 회원 테이블과 도서 테이블이 대출이라는 관계를 가질 수 있음