데이터베이스 관리 시스템(Database Management System, DMBS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있또록 해주는 소프트 웨어 도구의 집합.
초기 DMBS에서는 데이터베이스가 가진 독립체와 속성인 ‘논리 계층(Logical layer)’과 저장되는 방식인 ‘물리 계층(Physical layer)’이 매우 밀접한 관계였기 때문에, 물리 계층을 바꿀때마다 코드를 바꿔야 해서 데이터베이스 응용 프로그램을 짓고 유지하기 어려웠다.
→ 이러한 단점을 보완하기 위해 관계형 모델(Relational Model)을 고안
관계형 모델(Relational Model)은 여러 데이터 모델(Data Model) 중 하나로, 데이터 모델은 데이터 베이스에 있는 데이터를 표현하는 개념의 집합체.
관계형 모델에는 무결성을 유지하기 위한 조건이 있다. 데이터의 내용이 서로 모순되는 것이 없고, 데이터베이스에 있는 제약을 완전히 만족하는 성질.
: 기본 키(Primary Key)를 구성하는 어떠한 속성 값이라도 중복되는 값이나 NULL이 올 수 없다.
: 외래 키는 참조할 수 없는 값을 가질 수 없음
→ 외래 키는 다른 릴레이션의 기본 키를 참조하는 속성이고 릴레이션 간의 관계를 표현하는 역할을 한다. 하지만 외래키가 자신이 참조하는 릴레이션의 기본키와 상관없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 본래의 의미가 없어진다.
: 각 속성 값은 반드시 정의된 도메인만 가져야 한다.
릴레이션 튜플을 구별하기 위해서는 속성의 집합으로 구성되는 Key를 이용한다. Key는 유일성과 최소성에 따라 종류가 구분된다
튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합
유일성 : key로 하나의 Tuple을 유일하게 식별할 수 있음.
최소성 : 꼭 필요한 속성으로만 구성
특정 튜플을 유일하게 구별할 수 있는 속성
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키(보조키)
한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로써 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않는다.
한 릴레이션에서 다른 릴레이션의 튜플을 참조하는 데 사용되는 속성