관계형 데이터베이스의 구성 요소
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 대체키라고 한다.
내 이해를 돕기 위한 그림
✅외래키 (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)
- 여러 열을 조합하여 기본 키 역할을 할 수 있게 만든 키
'개발자노트 > DBMS' 카테고리의 다른 글
[SQL] [오라클] 문법 - GROUP BY / HAVING (0) | 2022.07.04 |
---|---|
[SQL][오라클] DO IT ! 오라클로 배우는 데이터베이스 입문 2장-2 (0) | 2022.07.03 |
[SQL][오라클] DO IT ! 오라클로 배우는 데이터베이스 입문 1장 (0) | 2022.07.03 |
[SQL] [오라클] 기본 문법 (0) | 2022.07.01 |
저장용] 오라클 설치 cmd 명령어 (0) | 2022.07.01 |