1. Introduction- Query Language는 사용자가 DB에서 정보를 요청하는 언어라고 볼 수 있다.- 이러한 언어는 일반적인 프로그래밍 언어보다 더 높은 수준에서 작동된다.- Query Language는 imperative(명령형), functional(함수형), declarative(선언형)로 분류할 수 있다. 2. Imperative Query Language- 사용자가 특정 연산의 순서를 지시하여 원하는 결과를 얻도록 한다.- 이러한 언어는 state variables 개념을 가지며, 연산을 수행하는 동안 상태가 업데이트 된다. 3. Functional Query Language- 함수의 evaluation을 통해 계산을 표현한다.- 함수는 DB 내 데이터나 다른 함수의 결과에 대해..
- 각 사각형 하나는 relation에 해당한다.- primary key와 foreign key를 이용하여 schema diagram으로 데이터간의 관계를 쉽게 시각화할 수 있다.
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에 해당한다고 볼 수 있다.