CHAPTER 1. 데이터베이스

- 데이터베이스는 Data + base의 합성어

- DBMS = DataBase Management System
- RDBMS = Relational DataBase Management System

- DBMS를 통한 데이터 관리의 장점
   1. 데이터 중복을 피할 수 있다.
   2. 여러 Application들이 데이터를 동시에 공유할 수 있다.
   3. 각각의 Application의 데이터 관리 방식을 통일할 수 있다.
   4. 각각의 Application의 업데이트 또는 변경과 관계없이 데이터를 사용할 수 있다.

- 데이터 모델의 종류
   1. 계층형 데이터 모델(Hierarchical Data Model): Tree 구조를 활용 / 1960~80년대까지 많이 사용
   2. 네트워크형 데이터 모델(Network Data Model): Graph 구조를 활용
   3. 객체 지향형 데이터 모델(Object-oriented Data Model): 오버라이드와 같은 기능 사용 가능 / 적용이 까다로움
   4. 관계형 데이터 모델(Relational Data Model): 현대에 가장 많은 데이터베이스의 바탕이 되는 모델 / 관계에 초점을 둠.

- 관계형 데이터 모델의 핵심 구성요소 3가지
   1. 개체(Entity): 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위 (Table)
   2. 속성(Attribute): 개체를 구성하는 데이터의 가장 작은 논리적 단위 (Column)
   3. 관계(Relationship): 개체와 개체 또는 속성간의 연관성을 나타내기 위해 사용함. (외래키(Foreign Key)로 구현)

- SQL (Structured Query Language)란, 
  RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어

 

CHAPTER 2. 관계형 데이터베이스와 오라클 데이터베이스

- 테이블(Table): 관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리함. (= Relation)
- 행(Column): 저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태 (= Tuple, Record)
- 열(Row); 저장하려는 데이터를 대표하는 이름과 공동 특성을 정의 (= Attribute, Field)

- 특별한 의미를 지닌 열(Column) = 키(Key)
    1. 기본키 (PK: Primary Key): 한 테이블 내에서 중복되지 않은 값만 가질 수 있는 키 (아래 3가지 조건 충족 필요)
         A. 테이블에 저장된 행을 식별할 수 있는 유일한 값.
         B. 값의 중복이 없어야 한다.
         C. NULL 값을 가질 수 없다.

    2. 보조키 = 대체키(Alternate Key)
         A. 유일하면서도 NULL 값이 없어 기본키가 될 수 있는 후보키

    3. 외래키(FK: Foreign Key): 
         A. 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키

         B. 외래키를 사용하면 여러 행에 걸쳐 특정 열을 병합하는 효과를 얻을 수 있어 데이터 중복을 최소화 할 수 있다.

     4. 복합키(Composite Key):
          A. 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키

 

- 오라클 데이터베이스의 자료형
    1. VARCHAR2(길이): 최대 4000byte 만큼의 가변 길이 문자열 데이터 저장 가능 (최소 1byte)
    2. CHAR(길이): 최대 4000byte 만큼의 고정 길이 문자열 데이터 저장 가능 (최소 1byte)
    3. NUMBER(전체자릿수, 소수점 이하 자릿수):  ±38자릿수의 숫자를 저장할 수 있음.
    4. DATE: 날짜 형식을 저장하기 위해 사용하는 자료형(연/월/일/시/분/초)

- 오라클 데이터베이스의 객체
    1. 테이블(Table): 데이터를 저장하는 장소
    2. 인덱스(Index): 테이블의 검색 효율을 높이기 위해 사용함.
    3. 뷰(View): 하나 또는 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 함.
    4. 시퀀스(Sequence): 일련번호를 생성해줌.
    5. 시노님(Synonym): 오라클 객체의 별칭
    6. 프로시저(Procedure): 프로그래밍 연산 및 기능 수행이 가능함. (Return 값 없음)
    7. 함수(Function): 프로그래밍 연산 및 기능 수행이 가능함. (Return 값 있음)
    8. 패키지(Package): 관련있는 프로시저와 함수를 보관함.
    9. 트리거(Trigger): 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함.

 


-Reference-
이지훈, 『오라클로 배우는 데이터베이스 입문』