Posted
Filed under 공부한 것들
1. Base64란?

Base64는 8비트 이진 데이터(이미지, 실행 파일 등)를 ASCII 영역의 64개 문자만 사용하여 텍스트로 변환하는 인코딩 방식입니다.

쉽게 말해, 컴퓨터만 이해하는 복잡한 이진 데이터를 **"전 세계 어디서나 통용되는 안전한 문자 포장지"**로 감싸는 것이라고 이해하면 됩니다.

왜 굳이 변환하나요?

과거의 네트워크 시스템(특히 이메일 전송 표준인 SMTP)은 오직 7비트 ASCII 문자만 처리할 수 있었습니다. 여기에 한글이나 이미지 같은 8비트 데이터를 그대로 보내면 시스템이 해석하지 못해 데이터가 깨지거나 전송이 중단되는 사고가 발생했죠. Base64는 이런 데이터 깨짐 현상을 방지하기 위해 등장했습니다.

2. Base64의 핵심 원리: "3-to-4" 규칙

인코딩 4단계 (예: "Man" 변환하기)

  1. 2진수 변환: 문자 "Man"을 ASCII 코드로 바꾼 뒤 이진수로 나열합니다.

    • M(77) → 01001101 / a(97) → 01100001 / n(110) → 01101110

  2. 6비트 분할: 총 24비트의 데이터를 앞에서부터 6비트씩 4묶음으로 자릅니다.

    • 010011 | 010110 | 000101 | 101110

  3. 10진수 치환: 자른 6비트 묶음을 다시 숫자로 바꿉니다.

    • 19 | 22 | 5 | 46

  4. 문자 매핑: 아래의 Base64 색인표에서 숫자에 해당하는 문자를 찾습니다.

    • T | W | F | u

결과: "Man"은 Base64로 인코딩하면 **"TWFu"**가 됩니다!


3. 끝에 붙는 = 기호는 무엇인가요?
Base64는 데이터를 3바이트(24비트) 단위로 처리하는데, 원본 데이터가 1바이트나 2바이트만 남아서 딱 떨어지지 않을 때가 있습니다. 이때 비어있는 자리를 0으로 채우고, 보는 사람에게 "여기는 원래 데이터가 없던 자리야"라고 알려주기 위해 =을 붙이는 것입니다.

 

2026/02/17 19:38 2026/02/17 19:38
Posted
Filed under DataBase/Oracle
1. Oracle Join (기존 전통 방식)

Oracle 9i 이전부터 사용되던 방식으로, FROM 절에 테이블을 나열하고 WHERE 절에서 조인 조건을 처리하는 것이 특징입니다.

  • 특징: 쉼표(,)로 테이블을 구분합니다.

  • 장점: 쿼리가 간결해 보일 수 있고, 오래된 Oracle 레거시 프로젝트에서 자주 마주칩니다.

  • 단점: 조인 조건과 일반 검색 조건이 WHERE 절에 한데 섞여 있어, 테이블이 많아질수록 쿼리 해석이 어렵습니다.

-- [Oracle Join 예시]
SELECT e.ename, d.dname
FROM emp e, dept d
WHERE e.deptno = d.deptno  -- 조인 조건
  AND e.sal > 2000;        -- 검색 조건

2. ANSI Join(표준방식)

미국 국립 표준 협회(ANSI)에서 제정한 표준 SQL 문법입니다. Oracle 뿐만 아니라 MySQL, PostgreSQL 등 대부분의 DBMS에서 공통으로 사용됩니다.

  • 특징JOIN 키워드와 ON 절을 사용합니다.

  • 장점: 조인 조건(ON)과 일반 조건(WHERE)이 명확히 분리되어 가독성이 매우 뛰어납니다.

  • 단점: Oracle 방식보다 쿼리가 다소 길어질 수 있습니다.

-- [ANSI Join 예시]
SELECT e.ename, d.dname
FROM emp e
JOIN dept d ON e.deptno = d.deptno -- 조인 조건 분리
WHERE e.sal > 2000;                -- 검색 조건 분리

구분 Oracle Join ANSI Join
조인 키워드 없음 (쉼표로 구분) INNER JOINLEFT OUTER JOIN 등
조건 명시 WHERE 절에 모두 포함 ON (조인), WHERE (필터) 분리
Outer Join (+) 기호 사용 LEFT/RIGHT/FULL OUTER JOIN
범용성 Oracle 전용 모든 DBMS 공통 (표준)
3. Outer Join 의 결정적 차이
가장 큰 차이는 역시 외부 조인(Outer Join) 표현식입니다.

Oracle의 (+) 방식

데이터가 없는 쪽에 (+) 기호를 붙여줍니다.

ANSI의 방향 명시 방식

 

직관적으로 어느 쪽 테이블을 기준으로 할지 명시합니다.

2026/02/10 09:41 2026/02/10 09:41
Posted
Filed under DataBase/MSSQL

MSSQL Management Studio 에서 해당 테이블에서 마우스 오른쪽을 눌러 트리거를 켜고 끌 수 도 있으나, 
SQL 쿼리문으로 Disable / Enable 시키는 방법 입니다.

1. 트리거 Disable
ALTER TABLE "테이블명"
DISABLE TRIGGER "트리거명"
※트리거가 걸린 테이블을 선택 해야 합니다.

2. 트리거 Enable
ALTER TABLE "테이블명"
ENABLE TRIGGER "트리거명"
※트리거가 걸린 테이블을 선택 해야 합니다.

2026/02/01 16:50 2026/02/01 16:50