무작정 개발.Vlog

[오라클] 제약 조건, View

by 무작정 개발
반응형
제약 조건

 

제약 조건 조회하기

제약 조건 조회하기
제약 조건 조회하기

 

오라클 제약 조건 종류

무결성 제약조건
역할
NOT NULL
컬럼값은 NULL을 가질 수 없습니다.
PRIMARY KEY(기본키)
개체 무결성
테이블의 행을 유일하게 구별하는 키.
고유 키(Unique Key) 제약조건, NOT NULL 제약조건을 결합한 형태 입니다.
FOREIGN KEY(외래키)
참조 무결성
같거나 다른 테이블의 PK/UK값을 참조하는 제약조건(예를 들어 EMP 테이블에서 DEPTNO 컬럼에 값이 입력되려면 반드시 DEPT 테이블의 DEPTNO 컬럼값이 입력되어야 합니다).
UNIQUE
컬럼값은 중복되지 않아야 합니다.
CHECK
컬럼에 입력되는 값을 지정하거나 범위를 지정합니다(예를 들어 성별 컬럼에는 M or F만 입력이 가능하도록 지정합니다)

 

 

PRIMARY KEY(기본키) - 개체 무결성

 

  • COLUMN LEVEL - 칼럼 생성 시 제약조건 기재
  • TABLE LEVEL - 칼럼 생성 후 마지막으로 제약조건 기재

PRIMARY KEY(기본키) - 개체 무결성
PRIMARY KEY(기본키) - 개체 무결성

 

FOREIGN KEY(외래키) - 참조 무결성

(1) 참조키 제약조건 ALTER를 통해 수정

  • ORDERS 테이블의 'NO'열을 외래 키로 가져온다.

(1) 참조키 제약조건 ALTER를 통해 수정
(1) 참조키 제약조건 ALTER를 통해 수정

(2) 참조키 제약조건 테이블 생성 시 입력

  • ORDERS 테이블의 'NO'열을 외래 키로 가져옴

(2) 참조키 제약조건 테이블 생성 시 입력
(2) 참조키 제약조건 테이블 생성 시 입력

(3) ORDERS 테이블에 NO값이 없다면 참조 무결성 위반으로 입력이 불가능

  • 무결성 제약조건(KIM.CATALOG_NO_FK)이 위배됨 / 부모 키가 없음
  • 무결성 제약조건(KIM.CUSTOMER_NO_FK)이 위배됨 / 부모 키가 없음

(3) ORDERS 테이블에 NO값이 없다면 참조 무결성 위반으로 입력이 불가능
(3) ORDERS 테이블에 NO값이 없다면 참조 무결성 위반으로 입력이 불가능

 

UNIQUE

  • 컬럼값은 중복되지 않아야 한다.

UNIQUE
UNIQUE

 

 

CHECK

  • 칼럼에 칼럼에 입력되는 값을 지정하거나 범위를 지정합니다(예를 들어 성별 칼럼에는 M or F만 입력이 가능하도록 지정

CHECK
CHECK

 

NOT NULL

  • 칼럼 값은 NULL을 가질 수 없다.

NOT NULL
NOT NULL

 

제약조건 삭제 방법

제약조건 삭제 방법
제약조건 삭제 방법

 


VIEW (가상 테이블)

  • 1개 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터베이스 객체
  • 논리적 가상 테이블로 다른 테이블과 유사하게 나오지만 테이블이 아님.

 

종류

  • 단순 뷰(simple view) - 하나의 테이블에서 뷰를 뽑아내는 경우
  • 복합 뷰(complex-view) -  join에 의해서 형성된 테이블에서 뷰를 뽑아내는 경우

 

VIEW (가상 테이블)
VIEW (가상 테이블)

 

VIEW의 장점

VIEW의 장점
VIEW의 장점

 

SIMPLE VIEW(단순 뷰)

  • 하나의 테이블에서 만든 VIEW
  • INSERT, UPDATE, DELETE가 가능

SIMPLE VIEW(단순 뷰)
SIMPLE VIEW(단순 뷰)

수정

수정
수정

삭제

삭제
삭제


COMPLEX VIEW(복합 뷰)

  • JOIN 문으로 만든 VIEW
  • INSERT, UPDATE, DELETE가 불가능

COMPLEX VIEW(복합 뷰)
COMPLEX VIEW(복합 뷰)
COMPLEX VIEW(복합 뷰)
COMPLEX VIEW(복합 뷰)


TOP - N (ROWNUM)

  • 상위 혹은 하위 데이터를 조회할 때 사용하는 방식이다.

TOP - N (ROWNUM)
TOP - N (ROWNUM)

MS-SQL

  • MS-SQL에서는 ROWNUM 대신 TOP - N을 사용한다.

MS-SQL
MS-SQL

 

범위 값 구하기

범위 값 구하기
범위 값 구하기
범위 값 구하기
범위 값 구하기

 

반응형

'DataBase > Oracle' 카테고리의 다른 글

[PL/SQL] 커서(CURSOR), 패키지, 트리커(TRIGGER)  (0) 2022.02.04
[PL/SQL] 시작  (0) 2022.02.03
[오라클] DDL, DCL, ROLE  (0) 2022.01.27
SQL 연습 문제 풀이 (3)  (0) 2022.01.27
SQL 연습 문제 풀이 (2)  (0) 2022.01.27

블로그의 정보

무작정 개발

무작정 개발

활동하기