1. Introduction- Key는 DB 테이블에서 각 튜플을 유일하게 식별하는 attribute(혹은 집합)를 말한다.- 즉, 데이터의 무결성을 보장하고, 각 데이터가 중복 없이 구별되도록 도와준다. 2. 키의 종류2.1. Superkey- 테이블에서 튜플을 유일하게 식별할 수 있는 attribute들의 집합을 의미한다.- 하나의 attribute 혹은 여러 attribute를 조합한 것도 Superkey가 될 수 있다. - 예를 들어, {ID},{ID,name},{ID,dept_name},{ID,name,dept_name,salary} 등등이 해당된다. 2.2. Candidate key- 최소한의 attribute으로 구성된 Superkey라고 생각하면 된다.- 불필요한 attribute들이 제거..
1. DB Schema and Instance- 우리는 DB에 대해서 이야기를 할때, DB Schema와 DB Instance를 구분할 줄 알아야 한다.- DB Schema는 DB의 Logical Design을 의미하고,- DB Instance는 특정 시점의 데이터 스냅샷을 의미한다.- 이를 Relation관점에서 바라보면 다음과 같다.- 우선 Relation의 개념은 프로그래밍 언어에서 variable 개념에 해당하고,- relation schema의 개념은 프로그래밍 언어에서의 type definition에 해당한다고 볼 수 있다.
1. Structure of Relational DB- Relational DB는 고유한 이름을 가진 table들의 집합으로 구성된다.- 각 table은 특정 주제와 관련된 데이터를 저장하며, table은 rows와 columns으로 구성된다.1.1. Table- table은 DB에서 데이터를 저장하는 기본 단위이다.- 각 table은 고유한 이름을 가져야 한다.- table은 하나 이상의 Column으로 구성된다.- 각 Column은 특정 데이터 타입을 가지며, 해당 Column에 저장되는 데이터의 종류와 형식을 정의한다.- 각 row는 table에 저장된 하나의 개별 데이터 항목을 나타낸다. - 일반적으로, 테이블의 한 행은 값들의 집한 간의 관계를 나타낸다.- 테이블은 이러한 관계들의 집합이기 때문..
1. Storage manager- Storage manager는 DB System에서 저수준 데이터와 응용 프로그램 및 쿼리 사이의 인터페이스 역할을 한다.- DB는 일반적으로 수백 GB에서 TB에 이르는 대용량 저장 공간을 필요로 한다.- 이러한 데이터는 컴퓨터의 주기억장치로 저장은 불가능 하고, 디스크에 저장이 된다.- 하지만, 디스크와 메모리 간 데이터 이동은 CPU보다 느리기 때문에, DB System은 데이터를 효율적으로 구조화하여야 한다.- 최근에 SSD가 주로 DB 저장장치로 많이 사용된다고 한다. 2. Query Processor- Query Processor는 DB System이 사용자가 물리적 세부사항을 몰라도 효율적으로 데이터를 처리할 수 있도록 도와준다. 3. Transaction..