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

Ruinak·2021년 5월 9일
0

Database

목록 보기
2/6
post-thumbnail

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

테이블

  • 관계형 데이터베이스는 기본적으로 데이터를 2차원 표 형태로 저장하고 관리
  • 표 형태의 데이터 저장 공간을 테이블(table)이라고 함
  • 가로줄을 행(row, 로), 세로줄을 열(column, 칼럼)이라고 부름

  • 저장하려는 하나의 객체를 구성하는 여러 값을 가로로 늘어뜨린 형태
  • 여러 값으로 이루어진 하나의 데이터를 의미

  • 저장하려는 데이터를 대표하는 이름과 공통 특성을 정의
  • 저장 정보의 종류와 저장 가능한 값의 최대길이, 값의 중복을 허용하지 않는 등의 저장 조건과 범위를 지정할 수 있음

관계형 데이터베이스와 테이블

  • 관계형 데이터베이스에서 관계란 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나를 의미
  • 여러 테이블의 구성과 관계를 잘 규정하고 관리한느 것이 관계형 데이터베이스에서 데이터를 관리하는 핵심

특별한 의미를 지닌 열, 키

  • 키(key)는 단어 뜻 그대로 '열쇠'라는 의미에서 비롯된 용어
  • 수많은 데이터를 구별할 수 있는 유일한 값이라는 뜻
  • 기본키(primary key), 후보키(candidate key), 외래키(foreign key), 복합키(composite key) 등으로 구분

기본키(Primary Key : PK)

  • 여러 키중에서 가장 중요한 키로 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키
    • 기본키의 속성
      - 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 함
      - 값의 중복이 없어야 함
      - NULL 값을 가질 수 없음
  • 기본키는 중복되지 않는 유일한 값이라는 특성을 가졌기 때문에 하나 또는 여러 열의 조합으로 만들 수 있음
    - 대부분의 경우 개인 정보 노출이 가장 적은 데이터를 선정하여 기본키로 지정

보조키

  • 대체키(alternate key)라고도 부르며 후보키(candidate key)에 속해 있는 키
  • 후보키 중에서 기본키로 지정되지 않은 열
    - 유일한(중복되지 않은) 데이터를 가지고 있고 빈 값(NULL)이 없는 열은 기본키가 될 수 있는 후보키임
    - 후보키 중에서 기본키로 선택된 열을 제외한 열이 보조키가 됨

외래키(Foreign Key : FK)

  • 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 의미

복합키

  • 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 뜻함

2-2오라클 데이터 베이스

오라클 데이터베이스와 버전

  • 오라클 사가 만든 DBMS 제품
  • 현재 가장 최신 버전은 18c버전이나 대부분 기업에서는 11g버전을 사용중

자료형

  • 데이터가 어떤 형태의 데이터인지를 말할 때 자료형(data type)이라는 용어를 사용
    • 자료형의 종류
      - VARCHAR2(길이) : 4000byte만큼의 가변 길이 문자열 데이터를 저장할 수 있음(최소 크기는 1byte)
      - NUMBER(전체 자릿수, 소수점 이하 자릿수) : +-38자릿수의 숫자를 저장할 수 있음. 소수점 이하는 NUMBER(p, s)로 표기
      - DATE : 날짜 형식을 지정하기 위해 사용하는 자료형. 세기, 연, 월, 일, 시, 분 , 초 저장이 가능
      - CHAR(길이) : 4000byte만큼의 고정 길이 문자열 데이터를 저장할 수 있음(최소 크기는 1byte)
      - NVARCHAR2(길이) : 4000byte만큼의 가변 길이 국가별 문자 세트 데이터를 저장할 수 있음(최소 크기는 1byte)
      - BLOB : 최대 크기 4GB의 대용량 이진 데이터를 저장할 수 있음
      - CLOB : 최대 크기 4GB의 대용량 텍스트 데이터를 저장할 수 있음
      - BFILE : 최대 크기 4GB의 대용량 이진 데이터 파일을 저장할 수 있음
  • 가장 많이 사용하는 자료형은 NUMBER, VARCHAR2, DATE임

객체

  • 오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성 요소
    • 객체의 종류
      - 테이블(table) : 데이터를 저장하는 장소
      - 인덱스(index) : 테이블의 검색 효율을 높이기 위해 사용함
      - 뷰(view) : 하나 또는 여러 개의 선별된 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용하게 해 줌
      - 시퀀스(sequence) : 일련 변호를 생성해 줌
      - 시노님(synonym) : 오라클 객체의 별칭(다른 이름)을 지정함
      - 프로시저(procedure) : 프로그래밍 연산 및 기능 수행이 가능함(반환 값 없음)
      - 함수(function) : 프로그래밍 연산 및 기능 수행이 가능함(반환 값 있음)
      - 패키지(package) : 관련 있는 프로시저와 함수를 보관함
      - 트리거(trigger) : 데이터 관련 작업의 연결 및 방지 관련 기능을 제공함

PL/SQL

  • 데이터 관리를 위해 별도의 프로그래밍 언어를 제공하는 이를 PL/SQL이라 함
  • 변수, 조건문, 반복문 등 프로그래밍 언어에서 제공하는 요소를 사용하여 데이터를 관리할 수 있음
    - 즉 SQL문만 사용하는 것보다 강력한 데이터 관리 기능을 구현할 수 있게 됨

    복습 및 연습 문제

profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글