Day 07 - 26.10.01

서코딩·2일 전

SQL

목록 보기
7/7
  1. 복습
    정규화
  • 삽입/수정/삭제의 이상현상을 제거하기 위한 작업
  • 데이터의 중복을 최소화하는게 목적
  • 6차 정규화까지 있지만 3차 정규화까지만 진행

1) 1차 정규화

  • 비슷한 내용의 컬럼이 있을 때
  • 하나의 컬럼에 여러 데이터가 들어가는 경우

2) 2차 정규화

  • 복합키(조합키)로 구성되었을 때, 특정 컬럼들이 복합키의 일부에만 종속되는 경우

3) 3차 정규화

  • PK가 아닌 컬럼이 다른 컬럼을 결정하는 경우

조인(JOIN)

  • 여러 테이블에 흩어져 있는 정보 중 필요한 정보만 가져와서 테이블처럼 만들고 결과를 조회하는 것

1) EQUI 조인 (등가 조인)

2) INNER JOIN (내부 조인)

  • "on"문을 사용하여 테이블을 연결

3) OUTER JOIN (외부 조인)

  • 2개의 테이블 간 교집합(EQUI) 조회 + 한쪽 테이블에만 있는 데이터 포함
  • LEFT OUTER JOIN, RIGHT OUTER JOIN

+) 셀프 조인(self join)
: 하나의 테이블을 마치 두개의 테이블처럼 자기 자신과 조인하는 것

SQL문 종류
1) DML
2) DDL
3) TCL
4) DCL

1. TCL(Transaction Control Language) : 트랜잭션 제어어

** 트랜잭션

  • 하나의 작업 단위
  • 여러개의 SQL문의 묶음

1) COMMIT

  • DML문으로 변경한 데이터를 데이터베이스에 반영
  • 트랜잭션 시작 : Oracle 데이터베이스의 임시적 트랜잭션 관리
  • 트랜잭션 종료 : 데이터 베이스 사용자가 COMMIT 혹은 ROLLBACK으로 처리

2) ROLLBACK

  • DML문으로 변경한 사항을 모두 취소 후 트랜잭션 종료

3) SAVEPOINT

  • 저장 지점 지정
  • 트랜잭션을 작게 분할하여 관리
  • 지정된 위치 이후의 트랜잭션만 ROLLBACK 가능
  • SAVEPOINT <SAVEPOINT명> : 저장점 지정
  • ROLLBACK TO <SAVEPOINT명> : 지정된 곳까지만 취소

2. DCL(DATA CONTROL LANGUAGE) - GRANT, REVOKE

1) GRANT

  • 데이터베이스 사용자에게 권한 부여
  • 연결, 입력, 수정, 삭제, 조회 권한을 부여할 수 있음
  • GRANT 권한, ... ON 테이블명 TO 사용자
  • 권한
	SELECT : 조회 권한
    INSERT : 입력 권한
    UPDATE : 수정 권한
    DELETE : 삭제 권한
    REFERENCES : 테이블을 참조하는 제약조건을 생성하는 권한 부여
    ALTER : 테이블을 수정할 수 있는 권한
    INDEX : 테이블의 인덱스를 만들 수 있는 권한
    ALL : 테이블에 대한 모든 권한

2) REVOKE

  • 사용자에게 부여된 권한 회수
  • REVOKE 권한, ... ON 테이블명 FROM 사용자
C:\Users\SBS>sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on 목 10월 1 15:24:45 2026

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: sys as sysdba
Enter password:

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> create user TEST identified by 1234; -- 임시 계정 TEST 생성

User created.

SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON HR.EMPLOYEES TO TEST;
-- TEST 계정에 HR계정의 EMPLOYEES 테이블에 대한 조회, 추가, 수정, 삭제 권한을 부여

Grant succeeded.

SQL> REVOKE SELECT, INSERT, UPDATE, DELETE ON HR.EMPLOYEES FROM TEST;
-- 권한 회수

링크 >> SQL 종합 실습 문제

profile
서코딩 127 !

3개의 댓글

comment-user-thumbnail
2일 전

오늘도 고생했슴다! 이제 내일만 버티면 주말!!

2개의 답글