CS/Database 3

[DB] 데이터 추상화 레벨, 3단계 스키마 구조, 데이터 독립성

* 추상화란? Computer Science에서 추상화란 세세한 instance에서 중요한 개념, 핵심만 분리하는 프로세스를 의미한다. 즉 instance를 사용자에게 보여주는 방법, 표현이라고 할 수 있을 것 같다. 추상화는 추상화 레벨에 따라 사용자에게 보이는 detail 정도가 달라진다. 1. 데이터 추상화 레벨 - 3단계 추상화 물리적 레벨 Physical Level에서의 추상화 실제 데이터 레코드(record)가 어떻게 저장되는지 기술한다. 데이터 필드 길이, 필드 간격, 레코드의 전체 길이 등을 포함한다. 논리적 레벨 Logical Level에서의 추상화 데이터베이스에 저장되어 있는 데이터들 간의 관계를 논리적 관점에서 추상화한 것이다. 예를 들어 Type Professor = record I..

CS/Database 2024.04.06

[DB] 인스턴스(Instance)와 스키마(Schema)

1. 스키마란? 데이터베이스의 논리적, 물리적 구조를 의미한다. 쉽게 말해서, 뼈대, 데이터를 저장하는 틀이나 구조체, 변수의 타입에 대응되는 개념 정도로 이해하면 된다. 각 데이터베이스마다 구체적으로 어떤 구조인지 기술하는 방법은 데이터베이스의 모델이나 데이터베이스를 보는 level에 따라 달라진다. 하지만 구조를 기술하는 방법은 다르더라도 데이터베이스의 스키마가 데이터가 저장되는 공간 구조를 기술한다는 점은 동일하다. 2. 인스턴스란? 데이터베이스의 스키마가 겨정되면 실제 데이터 값이 스키마 형태로 저장되고 관리된다. 이 때 데이터의 실제값을 인스턴스라고 한다. (변수의 값에 대응되는 개념 ) 시간이 흐르면서 인스턴스(=실제 데이터 값)은 변경이 자주 발생하지만(데이터 추가, 삭제, 변경 등), 스키..

CS/Database 2024.04.06

[DB] Super key, Candidate key, Primary key란

1. Super key Super key는 데이터에 관계에서 tuple을 유일하게 식별할 수 있는 속성의 집합이다. 2. Candidate key Candidate key는 Super key 중 minimal한 집합을 의미한다. 여기서 minimal이란 속성의 개수가 적다는 것을 의미하는 것이 아니다. minimal은 key의 unique를 유지하면서 가장 적은 속성을 의미한다. 예를 들어 아래와 같은 예시가 있다고 하자. MyStudent(student-id, name, national-id, address, phone) 여기에서 student-id와 national-id는 학생들을 구별할 수 있는 unique한 키다. 이 때 나올 수 있는 Super key는 - (student-id), (studen..

CS/Database 2024.03.31