Notice
Recent Posts
Recent Comments
05-21 07:17
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

Database Management - Concepts 본문

BackEnd/Database Management

Database Management - Concepts

알 수 없는 사용자 2023. 2. 23. 22:41

Scheme

 Scheme는 일반적으로 계획, 설계 또는 구성을 의미하는 말이며, blueprint라고 할 수 있다. 특히 컴퓨터 전공자들에게서 이는 매우 다양한 용어로 해석된다. DBMS에서는 기본적으로 Logical Scheme, Physical Scheme, External Scheme로 구분된다.

Logical Scheme

 Logical Scheme는 Chat GPT에 따르면 "논리 스키마라고도 하며, 일련의 논리적인 구성요소들이나 절차들이 서로 연결되어 일관된 방식으로 작동하는 전반적인 계획이나 체계를 가리킨다." 라고 되어 있다. 쉽게 말해서 엔티티, 속성, 관계 등을 표현하고, 이를 논리적으로 연결한 전반적인 청사진을 말하는 것이다. 다음과 같은 실습으로 Logical Scheme를 어떻게 정의내리는지 혹은 생성하는지 보자.

 Students와 Courses와 Enrolled의 Entity가 있다고 하자.( 대부분 entity의 이름은 복수명사로 정의하는 편이 notation인 듯하다. ) Logical Scheme는 다음과 같이 명세할 수 있다.

Logical Scheme

  • Students(sid: string, name: string, gpa: float)
  • Courses(cid: string, cname: string, credits: int)
  • Enrolled(sid: string, cid: string, grade: string)

 아래는 해당 Logical Scheme를 RDBMS의 Table 형태로 보여주는 시각자료다. (하지만, 위만 보면 확실히 Relationship을 읽을 수 있다. )

Students

sid name gpa
101 Bob 3.2
123 Mary 3.8

Enrolled

sid cid grade
123 564 A
101 308 B

Courses

cid cname credits
564 564-2 4
308 417 2

 여기서 Enrolled entity의 relationship에서는 Students의 sid column과 Courses의 cid column을 reference하게 된다. 여기서 Enrolled의 Grade는 어느 곳에서도 종속되지 않기 때문에 독립적으로 값을 가지게 된다. 이것이 바로 데이터베이스의 관계가 존재해야하는지에 대한 이유이다. 다른 entity에 있는 data를 굳이 중복 생성하여 용량을 차지하게 하는 것은 매우 비효율적이다.

 

Physical Scheme

 물리 스키마는 데이터베이스의 물리적인 저장 구조가 어떻게 되어있는지 명세해놓은 것이다. 즉, 데이터베이스 시스템이 데이터를 물리적으로 저장하는 방식을 설명한 것이다. 따라서 데이터 파일이 디스크에 어떻게 저장되는지, block 크기가 얼마나 되는지, index 구조가 어떻게 구성되는지 등의 정보를 제공한다. 이것이 잘 design되어 있어야 DBMS의 성능이 좋아지고 디스크의 I/O의 최적화가 가능하며, 시스템 성능 향상에 큰 기여를 할 수 있다.

 

External Scheme

 데이터베이스를 사용하는 사용자 또는 응용 프로그램의 입장에서 본 데이터베이스의 논리적 구조를 나타내는 것이다. 특정 사용자나 응용 프로그램에대해 보여줄 테이블을 정의하는데 이는 다른 테이블들에게서 가져와서 뷰(View)를 제공하게 되며 이를 통해 데이터 베이스의 액세스가 가능하게 된다.

Comments