diff --git a/sql-study-day2 rayun.md b/sql-study-day2 rayun.md new file mode 100644 index 0000000..58aace9 --- /dev/null +++ b/sql-study-day2 rayun.md @@ -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) : 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함. \ No newline at end of file