DB

김덕근·2023년 2월 7일
0

DB

목록 보기
14/14
  • Commit 메모리 버퍼(트랜잭션)에 임시 저장된 데이터 변경 사항을 DB에 반영
  • Rollback 메모리 버퍼(트랜잭션)에 임시 저장된 데이터 변경 사항을 삭제하고 마지막 COMMIT 상태(시점)로 돌아감
  • Primary Key Not null, Unique, 고유 식별자 역할
  • DQL SELECT 데이터 질의 언어
  • DDL CREATE, ALTER, DROP
  • DML INSERT, UPDATE, DELETE
  • DCL 데이터를 다루기 위한 권한을 다루는데 사용되는 언어 GRANT, REVOKE
    • 권한의 종류
      1. 시스템 권한 : DB접속, 객체 생성 권한 (= DDL을 실행할 수 있게 해주는 권한)

        CRETAE SESSION : 데이터베이스 접속 권한
        CREATE TABLE : 테이블 생성 권한
        CREATE VIEW : 뷰 생성 권한
        CREATE SEQUENCE : 시퀀스 생성 권한
        CREATE PROCEDURE : 함수(프로시져) 생성 권한
        CREATE USER : 사용자(계정) 생성 권한
        DROP USER : 사용자(계정) 삭제 권한
        DROP ANY TABLE : 임의 테이블 삭제 권한

      2. 객체 권한 : 특정 객체를 조작할 수 있는 권한 (= DML 할 수 있는 권한)
        권한 종류 설정 객체
        SELECT TABLE, VIEW, SEQUENCE
        INSERT TABLE, VIEW
        UPDATE TABLE, VIEW
        DELETE TABLE, VIEW
        ALTER TABLE, SEQUENCE
        REFERENCES TABLE
        INDEX TABLE
        EXECUTE PROCEDURE

  • TCL COMMIT, ROLLBACK
  • View SELECT 쿼리의 실행 결과를 화면에 저장한 논리적 가상 테이블
  • Sequence설명 순차적으로 정수 값을 자동으로 생성하는 객체로 자동 번호 발생기 역할을 함
  • 서브쿼리 종류 개념 하나의 SQL문 안에 포함된 SQL문인데 MAIN 쿼리를 보조하는 쿼리문이
    1. 단일행 서브쿼리
      서브쿼리의 조회 결과 값의 개수가 1개인 서브쿼리
    2. 다중행 서브쿼리
      서브쿼리의 조회 결과 값의 행이 여러 개인 서브쿼리
    3. 다중열 서브쿼리
      서브쿼리의 조회 결과 컬럼의 개수가 여러 개인 서브쿼리
    4. 다중행 다중열 서브쿼리
      서브쿼리의 조회 결과 컬럼의 개수와 행의 개수가 여러 개인 서브쿼리
    5. 상(호연)관 서브쿼리
      서브쿼리가 만든 결과 값을 메인 쿼리가 비교 연산할 때
      메인 쿼리 테이블의 값이 변경되면 서브쿼리의 결과 값도 바뀌는 서브쿼리
    6. 스칼라 서브쿼리
      상관쿼리이면서 결과 값이 한 개인 서브쿼리
  • Number 숫자 자료형(정수, 실수)
  • CHAR(100) 고정길이 100Byte 문자열(2000BYTE)
  • VARCHAR2(100) 가변길이 100Byte 문자열(4000BYTE)
  • Foreign Key
    1. 자식테이블 먼저 삭제 후, 부모테이블 삭제
    2. 외래키 제약조건 삭제 후 테이블 삭제
    3. CASCADE CONSTRAINT
    4. 참조 무결성을 위한 제약조건으로 참조된 다른 테이블이 제공한 값만 사용하도록 제한을 거는 것
    5. 참조(REFERENCES)된 다른 테이블의 컬럼이 제공하는 값만 사용할 수 있음
    6. FOREIGN KEY제약조건에 의해서 테이블간의 관계(RELATIONSHIP)가 형성됨
    7. 제공되는 값 외에는 NULL(참조하는 값이 없음)을 사용할 수 있음
  • 사용자 계정 생성 후 접속 확인 에러 SYS AS SYSDBA 로 계정 생성 모든 권한을 보유한 최고 관리자 계정(SYS)의 데이터베이스 관리자 역할(SYSDBA)로 접속하여 계정을 생성하여야 한다 CREATE USER kim IDENTIFIED BY kim1234; GRANT RESOURCE, CONNECT TO kim;
  • AS를 이용한 테이블 복사 시 컬럼명, 테이터타입, NOT NULL
  • ALTER구문을 이용해 PRIMARY KEY 추가 ALTER TABLE EMP_COPY200 MODIFY EMP_ID PRIMARY KEY;
  • ON DELETE CASCATE 부모키 삭제시 자식키도 함께 삭제됨
  • CHECK DEFAULT CHECK 제약조건 : 컬럼에 기록되는 값에 조건 설정을 할 수 있음 지정된 데이터값만 해당컬럼에 값을 넣을수 있도록 조건설정하는 제약조건 STATUS CHAR(1) DEFAULT 'N' CONSTRAINT NN_STATUS NOT NULL, CONSTRAINT CK_STATUS CHECK(STATUS IN('Y', 'N'))
  • DEFAULT 사용자가 지정한 기본값

set operator 특징 (집합연산자

  • UNION 중복결과를 제거한 두 테이블간의 결합
  • UNION ALL 중복결과를 포함하는 두 테이블간의 결합 중복제거를 하지 않아 UNION 보다 실행속도가 빠르다

오름차순 하려했는데 에러가 났다 왜났지? group by -> having

profile
안녕하세요!

0개의 댓글