[Do it 오라클로 배우는 데이터베이스 입문] Chapter 2(관계형 데이터베이스와 오라클 데이터베이스)
내용 정리
2장에서는 관계형 데이터베이스를 구성하고 있는 요소의 정의와 용어들을 설명하고
오라클 데이터 베이스에 대해서 간략하게 설명한다.
관계형 데이터베이스의 구성요소
테이블: 표 형태의 데이터 저장 공간
행: 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태
열: 저장하려는 데이터를 대표하는 이름과 공통 특성을 정의
열 중에서 특별한 의미를 지닌 하나의 열 또는 여러 열의 조합을 키(Key)라고 한다.
기본키, 보조키, 외래키에 대해 정리해보자
기본키는 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키이다.
위의 테이블에서 사원 번호는 사원을 유일하게 구별할 수 있기 때문에
중복이 되지 않는다. 이를 기본키라고 한다.
복합키는 기본키가 한 컬럼이 아니라 여러 컬럼의 조합으로 이루어진 것을 말한다.
기본키의 속성
1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.
2. 중복이 없어야 한다.
3. NULL 값을 가질 수 없다.
1번의 속성이 전제가 되기 때문에 자연스럽게 2, 3번은 따라온다.
보조키는 후보키에 속해 있는 키이며, 후보키 중에서 기본키로 지정되지 않은 열이다.
말이 어려운데, 후보키는 테이블에 저장된 행을 식별할 수 있는 키의 모든 집합을 나타내고
쉽게 말하면 보조키는 테이블에 저장된 행을 식별할 수 있는 기본키 이외의 키를 말한다.
간단하게 밴 다이어그램을 그리자면 이렇다.
만약 위와 같은 테이블에서
같은 직급 내에서는 동명이인이 없다는 가정이 있다면
(사원 이름+사원 직급)이라는 열을 통해서 유일하게 행을 식별할 수 있다.
이를 보조키라고 한다.
외래키는 특정 테이블의 어떠한 열의 값이 어떠한 다른 테이블의 기본키로 지정되어있어
서로 연결이 되는 키를 말한다.
위 테이블처럼 데이터의 중복을 방지하기 위해서 테이블을 따로 관리하며
테이블을 따로 관리하기 때문에 외래키라는 개념이 생겨난 것 같다.
※책에서는 실무에서 외래키를 잘 사용하지 않는다고 하는데,
이 부분은 공감 간다. 우리 회사도 사용을 지양하고 있다.
오라클 데이터베이스
자료형
오라클은 처음 접해본 입장에서, 어떠한 자료형을 많이 사용하는지 모르겠다.
MySql과 비슷하겠지...
VARCHAR2(길이): 4000byte만큼의 가변 길이 문자열 데이터 저장
NUMBER(전체 자리, 소수점 이하 자리): 38자릿수 +-의 숫자를 저장
DATE: 날짜형식 저장
CHAR(길이): 4000byte만큼의 고정 길이 문자열 데이터 저장
등등 있는데, 이 자료형을 가장 많이 사용
객체
오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한
논리 구조를 가진 구성요소
테이블, 인덱스, 뷰, 시퀀스 등등...
아직은 잘 모르겠다. 나중에 정리.
PL/SQL
데이터를 관리하기 위해 복잡한 기능 필요할 때
기존 SQL만으로는 한계가 있다.
PL/SQL을 사용하면 변수, 조건문, 반복문 등 프로그래밍 언어에서
제공하는 요소를 사용하여 데이터를 관리할 수 있다.