본문 바로가기
정보처리기사/필기

정보처리기사 필기 공부 3과목 (데이터베이스 구축)

by 애기 개발자 2024. 1. 29.
반응형

1장 논리 데이터베이스 설계

DB설계 순서

요구 조건 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현

 

개념적 설계

  • 개념적 설계 단계에서는 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
  • 요구분석단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
  • DBMS에 독립적인 개념 스키마 설계 

논리적 설계

  • 특정 DBMS가 지원하는 논리적 자료 구조로 변환(Mapping)시키는 과정
  • 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계
  • 트랜잭션의 인터페이스를 설계

물리적 설계

  • 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
  • 다양한 DB 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 엑세스경로를 결정
  • 저장 레코드의 형식, 순서, 접근 경로, 조회가 집중되는 레코드와 같은 정보를사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사

물리적 설계시 고려할 사항

  • 트랜잭션 처리량
  • 응답 시간
  • 디스크 용량
  • 저정 공간의 효율

 

 

데이터 모델의 개념

데이터 모델의 구성 요소

  • 개체(Entity) : DB에서 표현하려는 것, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
  • 속성(Attribute) : 데이터의 가장 작은 논리적 단위, 파일구조상의 데이터 항목, 데이터 필드
  • 관계(Relationship) : 개체 간의 관계 또는 속성 간의 논리적인 연결

데이터 모델에 표시할 요소

  • 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현
  • 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세, DB를 조작하는 기본 도구
  • 제약 조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

E-R 모델 (개체-관계)

 E-R 다이어그램 대응수

 

 

관계형 데이터베이스의 구조

 

릴레이션

행 - 튜플

열 - 속성

릴레이션의 특징

  • 튜플의 유일성 : 모든 튜플은 서로 다른 값을 갖는다
  • 튜플의 무순서성 : 하나의 릴레이션에 튜플에 순서는 없다.
  • 속성의 원자성 : 속성값은 원자값을 갖는다.
  • 속성의 무순서성 : 각 속성은 릴레이션 내에서 유일한 이름을 가지며, 순서는 큰 의미가 없다.

 

  • 차수 (Degree) : 속성의 수
  • 카디널리티 (Cardinality) : 튜플의 수

 

관계형 데이터베이스의 제약 조건 - 키(Key)

키 (Key)

  • 후보 키 (Cnadidate Key)
    • 기본키의 후보들 (유일성, 최소성 만족해야함) 
    • 테이블 내에서 행을 고유하게 식별할 수 있는 필드(또는 필드의 조합)
    • 후보 키는 중복되거나 빈 값이 없어야 하며, 여러 개가 존재할 수 있음
  • 기본 키 (Primary Key)
    • 테이블 내에서 각 행을 고유하게 식별
    • 기본 키로 지정된 필드는 중복되거나 빈 값 불가능
  • 대체 키 (Alternate Key)
    • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
    • 기본 키로 선택되지 않은 나머지 후보 키들을 의미
    • 이들도 각 행을 고유하게 식별할 수 있는 속성을 가짐두
  • 슈퍼 키 (Super Key)
    • 유일성 만족, 최소성 만족 X
    • 테이블 내에서 행을 유일하게 식별할 수 있는 하나 이상의 필드를 포함하는 키
    • 슈퍼 키는 필요 이상의 필드를 포함할 수 있으며, 그 자체로는 실용적이지 않음
  • 외래 키 (Foreign Key)
    • 다른 테이블의 기본 키를 참조하는 필드
    • 외래 키는 데이터 간의 관계를 설정하는 데 사용되며, 데이터 무결성을 유지하는 데 중요한 역할
  • 복합 키 (Composite Key)
    • 두 개 이상의 필드를 결합하여 행을 유일하게 식별하는 키
    • 각각의 필드만으로는 행을 고유하게 식별할 수 없을 때 사용

 

 

관계형 데이터베이스의 제약조건 - 무결성

개체 무결성, 도메인 무결성, 참조 무결성, 사용자 정의 무결성 등이 있다.

 

  • 개체 무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도Null 값이나 중복값을 가질 수 없다.
  • 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다
  • 참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
  • 사용자 정의 무결성 : 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다.

 

관계 대수 및 관계 해석

순수 관계 연산자 : Select, Project, Join, Division

일반 집합 연산자 : UNTION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱)  

 

순수 관계 연산자

  • select (σ) -> 수평단절, 행을 다 가져옴
  • project (π) -> 수직단절, 열을 다 가져옴
  • join (▷◁) -> 공통 속성을 이용해 두 개의 릴레이션 튜플을연결
  • division (÷) -> 릴레이션 S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환

일반 집합 연산자

  • UNION : 합집합, 결과물에는 중복 제거
  • INTERSECTION : 교집합
  • DIFFERENCE : 차집합
  • CARTESIAN PRODUCT : 교차, 어트리뷰트(디그리)는 두 릴레이션의 합, 튜플(카디널리티)는 두 릴레이션의 곱

 

관계 해석

∀ : 전칭 정량자 - 가능한 모든 튜플에 대하여 (For All)

∃ : 존재 전량자 - 하나라도 일치하는 튜플이 있음 (There Exists)

 

 

정규화

  • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
  • 정규화는 데이터베이스의 논리적 설계 단계에서 수행 

정규화 목적

  • 어떠한 릴레이션이라도 DB내에서 표현 가능
  • 효과적인 검색 알고리즘 생성 가능
  • 데이터 중복을 배제하여 이상의 발생 방지 및 자료 저장 공간의 최소화
  • 데이터 삽입 시 릴레이션을 재구성 필요성 줄어듦

이상 현상

  • 갱신 이상 (Modification Anomaly) : 반복된 데이터 중에 일부를 갱신할 시 데이터의 불일치 발생
  • 삽입 이상 (Insertion Anomaly) : 불빌요한 정보를 함께 저장하지 않고서는 어던 정보를 저장하는것이 불가능
  • 삭제 이상 (Deletion Anomaly) : 필요한 정보를 함께 삭제하지 않고서는 어떤 정보를삭제하는것이 불가능 

정규화 과정 [도부이결다조]

  • 1NF : 모든 '도'메인이 원자 값으로만 구성
  • 2NF : 기본키가 아닌 속성이 기본키에 대한 완전 함수적 종속을 만족, '부'분적 함수 종속을 제거한 정규형
  • 3NF : 기본키가 아닌 모든 속성이 기본키에 대해 '이'행적 함수 종속 관계를 만족하지 않는 정규형
  • BCNF : 모든 '결'정자가 후보키인 정규형, 종속성 보존 X
  • 4NF : '다'치 종속이 성립하는 경우, R의 모든 속성이 A에 함수적 종속 관계를 만족
  • 5NF : 모든 '조'인종속이 R의 후보키를 통해서만 성립되는 정규형 

 

함수적 종속

데이터들이 어떤 기준값에 의해 종속되는 것

 

이행적 종속

A->B이고 B->C 일때 A->C를 만족하는 관계

 

반정규화

시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로,

의도적으로 정규화 원칙을 위배하는 행위

 

테이블 통합

두 테이블이 조인(Join)되는 경우가 많아 하나의 테이블로 합쳐 사용하는 것이 성능 향상에 도움이 될 때

 

테이블 분할

테이블을 수평, 수직으로 분할

  • 수평 분할
    • 레코드(튜플)을 기준으로 분할
    • 사용빈도의 차이가 큰 경우 사용 빈도에 따라 분할
  • 수직 분할
    • 속성이 너무 많으면 속성기준으로 분할
  • 분할 시 고려사항
    • 기본키의 유일성 관리 어려움
    • 데이터 양이 적거나 사용 빈도가 낮을 경우 분할이 필요한지 고려
    • 분할된 테이블로인해 성능 저하

 

중복 테이블추가

추가하는 경우

  • 정규화로 인해 수행 속도가 느려지는 경우
  • 많은 범위의 데이터를 자주 처리해야하는 경우
  • 특정 범위의 데이터만 자주 처리하는 경우
  • 처리 범위를 줄이지 않고는 수행 속도를 개선할 수 없는 경우

추가 방법

  • 집계 테이블 추가 : 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용, 트리거의 오버헤드에 유의
  • 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블, 적절한 데이터 양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정
  • 특정 부분만을 포함하는 테이블 추가 : 데이터가많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블 생성

 

시스템 카탈로그

  • DBMS가 스스로 생성하고 유지
  • INSERT, DELETE, UPDATE 문으로 시스템 카탈로그를 갱신하는 것이 허용되지 않음
  • 시스템 자신이필요로 하는 스키마 및 여러가지 객체에 관한 정보를 포함하고 있는 시스템데이터베이스
  • 시스템 카탈로그에 저장되는 내용을 메타데이터라고 한다.

데이터 사전 (Data Dictionary)

  • 시스템 자신이 필요로하는 여러 가지 객체 (기본 테이블, 뷰, 인덱스, DB, 패키지, 접근 권한 등)에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.
  • 시스템 카탈로그 (System Catalog), 메타 데이터 (Meta Data) 라고도 한다.
  • 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL문을 이용하여 내용 검색이 가능하다.
  • 사용자가 시스템 카탈로그를 직접 갱신할 수 없다.
  • SQL문으로 여러가지 객체에 변화를 주면 시스템이 자동으로 갱신한다.

2장 물리 데이터베이스 설계

트랜잭션 분석 / CRUD 분석

트랜잭션의 상태

  • 활동 (Active) : 트랙잭션이 실행 중인 상태
  • 실패 (Failed) : 트랜잭션 실행에 오류가 발생하여 중단된 상태
  • 철회 (Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
  • 부분 완료 (Partially Committed) : 트랜잭션의 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태
  • 완료 (Committed) : 트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상

 

트랜잭션의 특성

  • 원자성 (Atomicity) : 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함
  • 일관성 (Consistency) : 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 함
  • 격리성 (Isolation, 고립성) : 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함
  • 영속성 (Durability, 지속성) : 트랜잭션의 완료 결과가 데이터베이스에 영구히 기억됨

 

인덱스

  • <키 값, 포인터> 쌍으로 구성되는 데이터 구조
  • 데이터가 저장된 물리적 구조와 밀접한 관계
  • 인덱스를 통해 파일의 레코드에 대한 엑세스를 빠르게 수행할 수 잇음
  • 삽입과 삭제가 수시로 일어나는 경우 인덱스의 개수를 최소로 하는것이 효율적
  • 데이터 정의어(DDL)을 이용해 생성(Create), 변경(Alter), 제거(Drop)할 수 있다.
  • 레코드의 물리적 순서와 인덱스의 엔트리 순서와 일치하게 유지되도록 구성되는 클러스터드 인덱스, 반대인 넌클러스터드 인덱스
  • 트리기반, 비트맵, 함수 기반, 비트맵 조인, 도메인 등 분류

클러스터드 인덱스

  • 인덱스 키의 순서에 따라 데이터가 정렬되어 저장
  • 실제 데이터가 순서대로 저장되어 있어, 인덱스를 검색하지 않아도 원하는 데이터를 빠르게 찾음
  • 데이터 삽입, 삭제 시 순서를 유지하기 위해 데이터를 재정렬
  • 한 개의 릴레이션에 하나의 인덱스만 가능

넌클러스터드 인덱스

  • 인덱스의 키값만 정렬되어 잇고, 실제 데이터는 정렬되어 있지 않음
  • 데이터를 검색하기 위해 먼저 인덱스를 검색하여 위치를 확인해야 하므로 클러스터드 인덱스에 비해 속도가 느림
  • 한 개의 릴레이션에 여러 개의 인덱스 생성 가능 

 

트리 기반 인덱스

  • B트리 인덱스
    • 일반적으로 사용되는 인덱스 방식, 루트 노드에서 하뉘 노드로 키 값의 크기를 비교하며 단말노드에서 찾고자 하는 데이터를 검색
    • 키 값과 레코드를 가리키는 포인터들이 트리노드에 오름차순 저장
    • 브랜치 블록 - 분기를 위한 목적으로 사용, 다음 단계를 가리키는 포인터를 갖음
    • 리프 블록 - 인덱스를 구성하는 컬럼 데이터와 해당 데이터의 행 위치를 가리키는 레코드 식별자로 구성
  • B+ 트리 인덱스
    • B 트리의 변형, 단말 노드가 아닌 노드로 구성된 인덱스 세트와, 단말노드로만 구성된 순차 세트로 구분
    • 인덱스 세트에 있는 노드들은 단말 노드에 잇는 키 값을 찾아갈 수 있는 경로로만 제공
    • 순차 세트에 있는 단말 노드가 해당데이터 레코드의 주소를 가르킴
    • 인덱스 세트에 있는 모든 키값이 단말노드에 나타나므로 단말 노드만을 이용한 순차처리 가능
    •  

비트맵 인덱스

  • Bit 값인 0과 1로 변환하여 인덱스 키로 사용
  • 분포도가 좋은 컬럼에 적합
  • 데이터가 bit로 구성되어 효율적인 논리 연산이 가능하고 저장 공간이 작다.
  • 다중 조건을 만족하는 튜플의 개수 계산에 적합
  • 동일한 값이 반복되는 경우가 많아 압축 효율 좋음

함수 기반 인덱스

  • 컬럼의 값 대신 컬럼에 특정 함수나 수식을 적용하여 산출된 값을 사용
  • B+ 트리인덱스나 비트맵 인덱스를 생성하여 사용
  • 함수를 적용해야 해서 부하가 발생
  • 대소문자, 띄어쓰기 등에 상관없이 조회할 때 유용

비트맵 조인 인덱스

  • 다수의 조인된 객체로 구성된 인덱스, 단일 객체로 구성된 일반적인 인덱스와 엑세스 방법이 다름
  • 비트맵 조인 인덱스는 비트맵 인덱스와 물리적 구조 동일

도메인 인덱스

  • 개발자가 필요한 인덱스를 직접 만들어 사용
  • 확장형 인덱스(Extensible Index) 라고도 함

 

뷰 (View)

데이터베이스에서 뷰(View)

  • 뷰는 다른 뷰를 기반으로 새로운 뷰를 만들 수 있다.
  • 뷰는 일종의 가상 테이블로, update에는 제약이 따른다. (삽입, 삭제, 갱신 가능)
  • 뷰는 기본 테이블을 만드는 것처럼 create view를 사용하여 만들 수 있다. (제거는 drop)
  • 뷰는 논리적으로만 존재한다. (물리적으로 없음)

 

파티션

파티션 장단점

  • 장점
    • 데이터 접근 시 액세스 범위를 줄여 쿼리 성능 향상
    • 디스크 성능 향상
    • 장애시 데이터 손성 최소화
    • 데이터 가용성 향상
  • 단점
    • 하나의 테이블을 세분화하여 관리하여 세심한 관리 필요
    • 테이블간 조인 비용 증가
    • 용량이 작은 테이블을 나누면 성능 저하

 

파티션 종류

  • 범위 분할 (Range Partitioning)
    • 지정한 열의 값을 기준으로 범위를 지정하여 분할 (예, 일별, 월별, 분기별 등)
  • 해시 분할 (Hash)
    • 해시 함수를 적용한 결과 값에 따라 데이터 분할
    • 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보안, 데이터를 고르게 분산할때 유용
    • 특정 데이터가 어디에 있는지 판단 불가
    • 고객번호 주민번호 등과 같이 데이터가 고른 컬럼에 효과적
  • 조합 분할 (Composite)
    • 범위 분할로 분할한다음 해시 함수를 적용하여 다시 분할하는 방식
    • 범위 분할한 파티션이 너무 커서 관리가 어려울때 유용
  • 목록 분할 (List)
    • 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할
  • 라운드 로빈 분할 (Round Robin)
    • 레코드를 균일하게 분배
    • 각 레코드가 순차적으로 분배되며, 기본키 필요 없음

 

 

분산 데이터베이스

  • 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 데이터베이스

분산 데이터베이스의 구성 요소

  • 분산 처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템
  • 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로 해당 지역의 특성에 맞게 데이터베이스가 구성됨
  • 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크

 

분산 데이터베이스 설계 시 고려사항

  • 작업부하(Work Load)의노드별 분산 정책
  • 지역의 자치성 보장 정책
  • 데이터의 일관성
  • 사이트나 회선의 고장으로부터 회복 가능
  • 통신 네트워크를 통한 원격 접근

 

분산 데이터베이스의 목표

  • 위치 불투명성 (Location Transparency) : 하드웨어와 소프트웨어의 물리적 위치를 사용자가 알 필요가 없다.
  • 중복(복제) 투명성( Replication Transparency) : 사용자에게 통지할 필요없이 시스템 안에 파일들과 자원들의 부가적인 복사를 자유롭게할 수 있다.
  • 병행 투명성 (Concurrency Transparency) : 다수의 트랜잭션들이 동시에 실현되도 그 트랜잭션의 결과는 영향을 받지 않음. 다중 사용자들이 자원들을 자동으로 공유할 수 있다.
  • 장애 투명성(Falure Transparency) : 장애에도 불구하고 트랜잭션을 정확하게 처리함. 사용자들은 어느위치의 시스템에 장애가 발생했는지 알필요가 없다.

 

분산 데이터베이스 장단점

  • 장점
    • 시스템 성능 향상
    • 중앙 컴퓨터의 장애가 전체 시스템에 영향끼치지 않음
    • 점진적 시스템 용량 확장 용이
  • 단점
    • DBMS가 수행할 기능이 복잡함
    • 데이터베이스 설계가 어려움
    • SW개발 비용 증가

 

데이터베이스 보안 - 접근 통제

접근 통제 기술

 - 임의 접근통제(DAC), 강제 접근통제(MAC), 역할기반 접근통제(RBAC)

 

임의 접근통제(DAC; Discretionary Access Control)

  • 데이터에 접근하는 사용자의 신원에 따라 접근 권한 부여
  • 데이터 소유자가 접근 통제권한 지정
  • GRANT, REVOKE

강제 접근통제(MAC; Mandatory Access Control)

  • 주체와 객체의 등급을 비교하여 접근 권한을부여
  • 시스템이 접근 통제 권한 지정
  • 데이터베이스 객체별로 보안 등급 부여 가능, 사용자별로 인가 등급 부여 가능

역할기반 접근통제 (RBAC; Role Based Access Control)

  • 사용자의 역할에 따라 접근 권한을 부여하는 방식
  • 중앙관리자가 접근 통제 권한 지정
  • DAC와 MAC의 단점 보안, 다중 프로그래밍 환경에 최적화
  • 중앙관리자가 역할마다 권한을 부여하면, 역할을 할당받은 사용자들은 역할에 해당하는 권한 사용

 

MAC의 보안 모델

  • 벨 라파듈라 모델 (Bell-LaPadula Model)
    • 군대의 보안레벨처럼 정보의 기밀성에 따라 상하관계가 구분된 정보를 보호
    • 우리 제품 문서보안등급 처럼
  • 비바 무결성 모델 (Biba Integrity Model)
    • 벨 라파듈라 모델을 보안한 수학적 모델, 무결성을 보장하는 최초의 모델
    • 비인가자에 의한 데이터변형 방지
  • 클락-윌슨 무결성 모델 (Clark-Wilson Integrity Model)
    • 무결성 중심의 상업용 모델
    • 사용자가 직접 객체에 접근할 수 없고 프로그램에 의해 접근이 가능
  • 만리장성 모델 (Chinese Wall Model)
    • 서로 이해 충돌 관계에 있는 객체 간의 정보 접근 통제

 

스토리지

DAS, NAS, SAN

SAN - DAS의 빠른 처리, NAS의 파일 공유 장점을 혼합

 

 


3장 SQL 응용

 SQL 개념

DDL (Data Define Language, 데이터 정의어)

  • CREATE
  • ALTER
  • DROP

DML (Data Manipulation Language, 데이터 조작어)

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

DCL (Data Control Language, 데이터 제어어)

  • COMMIT : 명령어로 수행된 결과를 실제 물리적 디스크로 저장, 명령어로 수행을 성공적으로 완료했음을 선언한다.
  • ROLLBACK : 명령어로 수행을 실패했음을 알리고, 수행된 결과를 원상복구
  • GRANT : DB사용자에게 사용 권한을 부여
  • REVOKE : DB사용자로부터 사용 권한 취소한다.

테이블 생성 권한 부여

GRANT CREATE TABLE TO 사용자

 

* 생성 권한 취소

REVOKE CREATE TABLE FROM 사용자

 

 

 

DDL

CREATE SCHEMA [스키마명] AUTHORIZATION [사용자ID]
CREATE DOMAIN [도메인명] DEFAULT [기본값]
	CONSTRAINT [제약조건명] CHECK [범위값];
CREATE TABLE [테이블명]
	[속셩명] [데이터타입] DEFAULT [기본값] NOT NULL,
    ... , PRIMARY KEY (기본키),
    UNIQUE (대체키),
    FOREIGN KEY (외래키_속성명),
    CONSTRAINT ~;
CREATE VIEW [뷰명](속성명, 속성명)
	AS SELECT문
ALTER TABLE [테이블명] ADD [속성명] [데이터 타입]
ALTER TABLE [테이블명] ALTER [속성명]
ALTER TABLE [테이블명] DROP COLUMN [속성명] (CASCADE)
DROP SCHEMA [스키마명] (CASCADE | RESTRICT)
DROP DOMAIN [도메인명] (CASCADE | RESTRICT)
DROP TABLE [테이블명] (CASCADE | RESTRICT)
DROP VIEW [뷰명] (CASCADE | RESTRICT)
DROP INDEX [인덱스명] (CASCADE | RESTRICT)
DROP CONSTRAINT [제약조건명]

 

CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거.

RESTRICT : 다른 개체가 제거할 요소를 참조중일 때는 제거 취소

 

DML

집합 연산자

SELECT 속성... FROM 테이블명
UNION | UNION ALL | INTERSECT | EXCEPT
SELECT 속성... FROM 테이블명

 

집합 연산자 설명 집합 종류
UNION 두 SELECT 문의 조회결과를 통합하여 출력
중복은 한번만 출력
합집합
UNION ALL 중복도 그대로 출력 합집합
INTERSECT 두 SELECT문의 공통된 행만 출력  교집합
EXCEPT 첫 번째 SELECT문의 조회 결과에서 두 번째 SELECT문의 조회 결과를 제외한 행 출력 차집합

 

반응형

댓글