본문 바로가기

개발자노트/DBMS

[SQL][오라클] DO IT ! 오라클로 배우는 데이터베이스 입문 2장

관계형 데이터베이스의 구성 요소

 

table [테이블]

 
학번 이름 생년월일 전화번호 학년 학과코드
1234 김익명 99.01.23 010-1234-5678 1 COM
5678 박익명 98.01.23 010-5678-9101 1 BNS
9101 최익명 99.03.03 010-5566-7788 2 COM

행 : 가로줄 , row , tuple , record

- 하나의 개체를 구성하는 여러 값을 가로로 늘어트린 형태

 

열 : 세로줄 , coulum, attribute, field

- 저장하려는 데이터의 대표하는 이름과  공통 특성을 정의한다.

- 저장 정보의종류 (자료형)와 저장 가능한 값의 최대길이 그리고 값의 중복을 허용하지 않는 등의 저장 조건과 범위를

  지정할 수 있다.

 

특별한 의미를 지닌 열, 키

✅기본키 (Primary Key = PK)

- 여러 키 중에서 가장 중요한 키

- 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키

 

- 기본 키의 속성

1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.

2. 값의 중복이 없어야 한다.

3. NULL 값을 가질 수 없다.

 

보조키 (대체키 alternate Key || 후보키 candidate key에 속해 있는 키)

- 기본 키가 될 수 있는 모든 키

- 기본 키 역시 후보키에 속한다.

- 후보키 중 기본키로 지정되지 않은 키를 보조키 or 대체키라고 한다.

내 이해를 돕기 위한 그림

후보키,기본키,보조키or대체키에 관계

 

외래키 (Foreign Key)

- 특정 테이블에 포함되어 있으면서 다른 테이블의 기본 키로 지정된 키

- 데이터의 중복을 최소화 할 수 있다.

- 액셀의 셀 병합과 유사한 기능처럼 수행한다 생각하면 된다.

- 위에서 썼던 테이블을 예로 보자면

 
학번 이름 생년월일 전화번호 학년 학과코드
1234 김익명 99.01.23 010-1234-5678 1 COM
5678 박익명 98.01.23 010-5678-9101 1 BNS
9101 최익명 99.03.03 010-5566-7788 2 COM

여기서 학과코드가 외래키의 역할인데, 만약 학과코드가 아닌 학과에 대한 정보를 쭉 쓰게 된다면 필요없는 내용이 계속되서 중복될 것이다. 그래서 학과의 이름만 가져와서 쓰게 되고, 그 학과에 대한 정보는 COM을 검색하게 되면 볼 수 있게 되어서 데이터의 중복을 최소화 할 수 있다!

 

✅ 복합키(composite key)

- 여러 열을 조합하여 기본 키 역할을 할 수 있게 만든 키