데이터 모델
: 물리적 혹은 추상적으로 존재하는 현실세계를 단순화되고 정형화된 형태로 표현하는 하나의 방식 또는 규범
관계형 데이터 모델(Relational Data Model)
: 테이블 형식을 이용하여 데이터들을 정의하고 설명한 모델 ( Table -> Relation)
관계형 데이터베이스(Reational DataBase)
: 관계형 데이터 모델에 기반하여 하나 이상의 테이블로 표현한 데이터베이스
=> 관계형 데이터 모델이라는 추상적인 도구를 이용하여 표현한 것
관계형 데이터베이스가 하나 이상의 테이블로 구성되어 있을 때
-> 데이터베이스 스키마 = 테이블 스키마의 집합
-> 데이터베이스 인스턴스 = 테이블 스키마들에 대한 테이블 인스턴스의 집합
릴레이션(Relation)
: 2개 이상의 집합으로부터 각 집합을 구성하는 원소들의 순서쌍에 대한 집합을 의미
속성(Attribute) - 필드,컬럼
: 릴레이션을 구성하는 각 열(Column)의 이름
튜플(Tuple) - 레코드,행
: 릴레이션의 각 행
도메인(Domain)
: 각 필드에 입력 가능한 값들의 범위, 즉 각 필드가 가질 수 있는 모든 값들의 집합(원자값이어야함)
널(NULL)
: 특정 필드에 대한 값을 알지 못하거나 아직 정해지지않아 입력하지 못한 경우의 필드 값
0과 공백 문자와는 다른 개념
테이블 스키마와 테이블 인스턴스
테이블 스키마(Table Schema)
: 테이블 정의에 따라 만들어진 데이터 구조
차수(Degree)
: 테이블 스키마에 정의된 필드의 수
차수 = 1 => 단항 테이블(unary relation)
차수 = 2 => 이항 테이블(binary relation)
차수 = n => n 항 테이블(n-ary relation)
테이블 인스턴스(Table Instance)
: 테이블 스키마에 데이터를 레코드로 저장한 형태
=> 스키마는 한번 정의하면 거의 변함없지만, 인스턴스는 수시로 바뀔 수 있다.(레코드의 삽입, 삭제 수정 등등)
기수(Cardinality)
: 테이블 인스턴스의 레코드의 수
테이블의 특성
- 중복된 레코드가 존재하지 않음
=> 테이블 인스턴스는 레코드들의 집합
- 레코드간의 순서는 의미없음
- 레코드 내에서 필드의 순서는 의미 없음
- 모든 필드는 원자값을 가짐( 더이상 분리되지 않는 값 )
키(KEY)
: 레코드간의 순서는 의미가 없으므로 레코드를 구분하기 위해서 각 레코드의 값을 이용
-> 필드의 일부로 각 레코드들을 유일하게 식별해낼 수 있는 식별자
-> 일반적으로 하나의 필드를 지정하여 키로 지정하나, 여러개의 필드들로 키를 구성할 수도 있다.
( 2개이상의 레코드로 구성된 키 => 복합키(Composite key)
=> 관계형 데이터 모델에서 특정 레코드를 구별하거나 탐색하기 위한 유일한 방법
수퍼키(Super Key)
: 아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합
후보키(Candidate Key)
: 최소한의 필드만으로 구성된 키
기본키(Primary Key)
: 후보키 중에서 식별자로 정의한 하나의 키
primary key로 지정된 필드는 절대 null값을 가질 수 없다.
절대 중복값을 가질 수 없다.
=> 단일 테이블,다중 테이블에서 사용되는 기본키(식별가능한 키)
외래키(Foreign Ke)
: 다른 테이블의 기본키를 참조하는 필드 집합
=> 일반적으로 "다중테이블"
특수한경우 : "단일테이블"
'DataBase' 카테고리의 다른 글
[Oracle] LIKE 연산자 (0) | 2021.04.09 |
---|---|
SQL (DDL/DML/DCL/TCL) (0) | 2021.04.09 |
데이터와 데이터베이스 (0) | 2021.04.08 |
데이터베이스 - 제약조건 (0) | 2021.04.08 |
[Oracle] 함수 (0) | 2021.04.06 |