Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions sql-study-day2 rayun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# ch02. 관계형database와 Oracle Database

---

## 02-1 관계형 데이터베이스의 구성 요소

> 테이블
>

*관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리하고,*

*행(row)과 열(column)로 구성된다.*

- **행** → 저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태
- **열** → 저장하려는 데이터를 대표하는 이름과 공통 특성을 정의함
- 통일성 있게 저장 가능
- 저장정보의 종류와 저장 가능한 값의 최대 길이, 값의 중복을 허용하지 않는 등 저장 조건과 범위 지정

- **관계형 데이터베이스와 테이블**
- 관계 : 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나.

⇒ 여러 테이블의 구성과 관계를 잘 규정하고 관리해야하는 것이 핵심!


> 특별한 의미를 지진 열, 키 (key)
>

*수많은 데이터를 구별할 수 있는 유일한 값.*

**기본키 *(PK : Primary Key)***

- 테이블에 저장된 행을 식별할 수 있는 유일한 값
- 값의 중복이 없어야 함
- NULL 값을 가질 수 없다.

**후보키 *(candidate key)***

- 기본키를 포함한 데이터를 식별할 수 있는 모든 키의 집합.

**보조키 *(alternate key)***

- 후보키 (candidate key) 에 속해 있는 키
- ‘대체키’ 라고도 불리움
- 기본키랑 같은 속성을 갖으며 차선으로 기본키가 될 수 있어야 한다.

**외래키 *(FK : Foriegn key)***

- 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키
- 외부키라고도 불리우며 실무에서는 포린키라고 부르는 경우가 더 많다.
- 데이터 중복을 방지 가능

**복합키 *(composite key)***

- 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키
- 하나의 열만으로는 행을 식별하는 것이 불가능 하기 떄문에 두 개 이상의 열 값을 사용한다 .

📎*다양한 키는 관계형 데이터베이스에서 테이블 행을 구분하기 위해 그리고 여러 테이블 간의 관계를 정의하기 위해 사용한다.*

---

## 02-2. 오라클 데이터베이스

> 자료형 *data type*
>

다양한 형태의 데이터를 말할 때, “자료형” 이라는 용어를 사용한다.

- **VARCHAR2 (길이)**
- 4000byte 만큼의 가변 길이 문자열 데이터를 저장. (최소 크기 1byte)

- **NUMBER (전체 자릿수, 소수점 이하 자릿수)**
- +- 38자릿수의 숫자를 저장.

- **DATE**
- 날짜 형식을 저장 → 세기, 년, 월, 일, 시, 분, 초 저장 가능

- CHAR (길이) : 문자열 데이터
- NVARCHAR2 (길이) : 국가별 문자 세트 데이터
- BLOB : 대용량 이진 데이터
- CLOB : 대용량 텍스트 데이터
- BFILE : 대용량 이진 데이터 파일

*스칼라(scalar)형 : 하나의 자료형에 맞춰 한 종류의 데이터를 저장할 수 있는 자료형*

*컬렉션(collection)형 : 한번에 여러 데이터를 저장할 수 있는 자료형*

*→ ex) VARRAY, NESTED TABLE*

> 객체
>

*오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성요소.*

테이블 (table) : 데이터를 저장하는 장소

인덱스 (index) : 테이블의 검색 효율을 높이기 위해 사용함

뷰 (view) : 하나or여러 개의 선별된 데이터를 논리적으로 연결해 하나의 테이블처럼 사용하게 해줌

시퀀스 (sequence) : 일련 번호를 생성해 줌

시노님 (synonym) : 오라클 객체의 별칭(다른 이름)을 지정함

프로시저 (procedure) : 프로그래밍 연산 및 기능 수행이 가능함 (반환 값 없음)

함수 (function) : 프로그래밍 연산 및 기능 수행이 가능함 (반환 값 있음)

패키지 (package) : 관련 있는 프로시저와 함수를 보관함

트리거 (trigger) : 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함.