Oracle DataBase

최근 Oracle DB를 배울 수 있는 기회가 되어서 개념과 실습 정보를 기록하고자 한다.

환경구축

Oracle DB를 더 쉽게 사용할 수 있는 툴이 있겠지만, 주로 사용했고 사용해야하는 환경이 Eclipse였기 때문에 Eclipse EE를 사용하여 SQL을 공부했다.

Oracle Database 11g XE 버전으로 로컬에 DB를 설치했다. 개인 공부 용도로는 딱 충분한 버전

Oracle DB 11g xe를 다운받아 설치하고 보면 Command Prompt로 다음과 같이 환경설정을 해줘야 한다.

IN Command Prompt

  • sqlplus / as sysdba

    • cmd에서 sysdba 라는 마스터 계정으로 접속
  • alter user hr identified by hr account unlock;

    • hr이라는 계정을 unlock
  • conn hr/hr

    • oracle DB에 접속한 상태에서 계정을 변경하는 명령어
  • sqlplus [계정명]/[계정패스워드][@] | / [as {sysdba | sysoper | sysasm}]

    • sqlplus로 oracle 접속방법 공식

eclipse DB 연동 방법

오른쪽 상단의 javaEE 버튼으로 EE환경 접속하면 하단에 Data Source Explorer 라는 항목이 보인다. (잘 찾아보면 어딘가 있을거다.)

Database Connections에서 new 를 선택하여 새로운 SQL 연동

  • 쭉쭉 넘어가면서 설치
  • 중간에 JAR 선택하는 항목에서 기존 JAR 파일은 제거하고 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 에 있는 JAR 파일을 ADD한다.
  • SID 항목으로 선택하고 xe라 작성
  • finish하여 connection 완료

기본 개념

ERD

Entity Relationship Diagram

비즈니스 수행을 위해 다루어야 할 데이터를 파악하고 그 관계를 표현한 관계도를 말한다.

식별자 IDENTITY와 그 외 요소인 ATTRIBUTE로 이루어져 있다. 각 ENTITY와는 RELATIONSHIP이 형성된다.

RDBMS의 가장 기본이 되는 요소

‘부모-자식’ 관계라 하여 부모의 PK를 FK로 가지는 테이블을 자식이라 한다.

용어

PK : PRIMARY KEY

  • 한 테이블에서 ROW를 식별할 수 있는 유일한 KEY
  • 중복 불가, NULL 허용하지 않음, RELATIONSHIP을 가지고 있을 때 변경 불가
  • Composite Key 가능 -> 하나 이상의 COLUMN 조합도 가능
  • 테이블당 1개만 존재

FK : FOREIGN KEY

  • PK와 연결되는 값이며 ‘자식’에 해당되는 테이블이 ‘부모’와 연결되는 COLUMN
  • 다른 테이블의 기본키를 참조하는 컬럼을 말한다.
  • 중복 가능하며 NULL이 허용된다. (FK != PK)
  • 참조하고 있는 PK의 도메인 값과 같아야 한다.
  • 필요에 따라 여러 FK를 가질 수 있다.

SQL : Structured Query Language

  • 관계형 DB에서 데이터를 조회하거나 조작하기위한 언어
  • 데이터를 찾는 방법이 아닌 조건을 기술하는 방식
  • 세부 용어
    • DDL : DATA DEFINITION LANGUAGE
      • 데이터 정의 (CREATE, DROP, ALTER)
    • DML : DATA MANIPULATION LANGUAGE
      • 데이터 조작 (INSERT, UPDATE, DELETE)
    • DCL : DATA CONTROL LANGUAGE
      • 트랜잭션 제어 (COMMIT, ROLLBACK)
    • SELECT : SELECT
      • 데이터 조회

주요 DATATYPE

  • NUMBER
  • CHARACTER
    • CHAR (고정길이, 최대 2000)
      • 남는 공간은 공백 으로 채워지기 때문에 길이가 고정되어야 하는 값에만 써야 함
    • VARCHAR2(가변길이, 최대 4000)
    • LONG(가변 문자 (최대 2GB, 한 테이블 당 1번만 쓸 수 있음))
  • DATE
    • CHARACTER로도 취급할 수 있음
    • 일자와 시간이 저장됨 (세기/년/월/일:시/분/초)
    • 조회 시 기본 FORMAT : YY/MM/DD
    • 날짜 연산 및 비교 가능
      • 날짜 + 숫자 / 날짜 - 숫자 => (DATE) 며칠 전/후
      • 날짜 - 날짜 => (NUMBER) 차이 일 수
Written on January 30, 2020