일기

02. DB 구조

이준늬 2023. 2. 2. 03:05

계층 구조

더보기

1. 비트 ( BInary digiT = bit)
         데이터를 저장하는 가장 작은 단위

2. 바이트 ( byte)
         8bits = 1byte

3. 필드
         특정한 종류의 데이터를 저장하기 위한 영역, 의미있는 데이터의 단위
              byte를 모아 특정한 data type 으로 표현
        - 속성: 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보

        - 도메인(domain): 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합

          => 엔티티 = 학생/ 테이블 = student
                속성 = 이름, 성별/ 필드 = name, sex
                이름 필드의 데이터 형식 = 문자열

4. 레코드
         테이블에 쌓이는 행(row) 단위의 데이터

        = 필드가 여러 개 모인 것

5. 릴레이션
       DB에서 정보를 구분하여 저장하는 기본 단위
           엔티티를 데이터베이스에서 관리될 때, 하나의 릴레이션에 담음.
            = 여러 개의 레코드가 모인 것
            관계형 DB_테이블, NoSQL_컬렉션

6. 데이터베이스
         파일(릴레이션) 여러 개를 모아 논리적으로 연결해 필요한 정보를 적절하게 활용할 수 있도록 통합한 것
     

엔티티: https://jun2ee22.tistory.com/entry/%EC%97%94%ED%8B%B0%ED%8B%B0-%EC%98%88%EC%8B%9C

계층 구조 예시: https://jun2ee22.tistory.com/entry/DB-%EA%B5%AC%EC%A1%B0-%EC%98%88%EC%8B%9C

 



추상화 ( abstraction )

▷ 데이터베이스의 내부 구조는 아주 복잡하고, 개별 사용자는 데이터베이스의 일부분만 접근함.
 사용자는 보고싶은 수준의 뷰만 인지해도 됨
      → 데이터베이스의 내부 구조를 감출 수 있는 추상화가 효과적

  스키마(schema) : 데이터베이스를 구성하는 데이터의 구조와 제약조건에 대한 명세를 구체적으로 기술한 것

3단계 데이터베이스 구조 ( 3-level database architecture )
   추상화 단계, ANSI/SPARC 구조라고도 함

더보기

1. 외부 단계 (external level) = 뷰 단계 (view level)
    사용자 또는 응용 프로그램 별로 보는 단계

             외부 스키마와 대응(n개)
             외부 스키마
                       개별 사용자가 접근하는 데이터베이스의 정의를 기술한 것
                       특정 응용에 한정되 논리적 데이터 구조로서 전체 데이터베이스의 부분집합으로 볼 수 있음
                            (서브 스키마라고도 함)

2. 개념 단계 (conceptual level) = 논리적 단계 (logical level)
    DBMS를 중심으로 보는 단계

              개념 스키마와 대응(1개)
              개념 스키마
                       모든 사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 기술한 것
                      모든 사용자 관점의 합집합. 외부 스키마는 하나의 개념 스키마로부터 생성되고 지원됨

3. 내부 단계 (internal level) = 물리적 단계 (physical level)
    DB 중심으로 보는 단계

             내부 스키마와 대응(1개)
             내부 스키마
                       하드웨어에 저장되는 전체 데이터베이스의 물리적 구조를 기술한 것
 

      ※ 데이터에 대한 기술이지 실제 데이터는 물리적인 DB에만 존재함
          관점에 따라 다른 것이며 서로 유기적으로 연결됨 ↓독립성

  그림 : https://jun2ee22.tistory.com/entry/%EC%B6%94%EC%83%81%ED%99%94-%EC%98%88%EC%8B%9C

 



독립성 ( independence )

 상위 수준의 스키마 정의에 영향을 주지 않고, 해당 스키마 정의를 수정할 수 있는 성질

         데이터의 독십성 구현
                매핑 ( mapping): 추상화 3단계의 스키마와 일련의 유기적 연결 관계를 정의

더보기

1. 논리적 데이터 독립성
         개별 사용자의 관점을 변경하지 않고 개념 스키마(전체 데이터의 논리적 구조)를 변경할 수 있는 성질
             ex) 기존 DB에 새로운 데이터 항목이나 레코드 추가나 삭제 시, 직접 관련되지 않은 모든 사용자는 영향 x

2. 물리적 데이터 독립성 : 
         개념 스키마를 수정하지 않고, 내부 스키마(데이터베이스의 물리적 구조)를 변경시킬 수 있는 성질
              ex) 하드웨어 교체나 물리적 파일 구조 변경 시, 개념 스키마는 영향 x

 



데이터 모델

 추상화(내부 저장 방식의 상세 내용 숨김) + 직관적인 뷰 제공이 목적

더보기

    구성
        (1) 추상적으로 표현된 구조
        (2) 구조에서 허용될 수 있는 연산(operator)
        (3) 구조와 연산에서의 제약조건(constraint)

    차이
          사용자에게 인식되는 논리적 모델의 유형

   종류
         - 개념적 데이터 모델 (conceptual data model)
         - 논리적 데이터 모델 (logical data model)

'일기' 카테고리의 다른 글

[02] 추상화 그림으로 이해하기  (0) 2023.02.02
[02] 계층 구조 예시  (0) 2023.02.02
01. 기본  (0) 2023.02.01
ㄱㅖ층?  (0) 2023.01.25
[프로토콜] ARP, RARP  (0) 2023.01.25