DataBase/Oracle(2)
-
[Oracle] 제약조건과 시퀀스(Sequence)
제약 조건에는 -도메인 제약조건 -엔티티 제약조건 -릴레이션 제약조건이 있다. 도메인 제약조건은 컬럼의 유효한 값의 범위를 지정하는 것이다. NOT NULL, DEFAULT, CHECK가 있다. NOT NULL은 데이터를 입력받을 때 해당 컬럼의 값이 NULL이 아니어야 한다는 조건이다. 즉, 반드시 해당 컬럼의 값을 입력받아야 한다는 것이다. DEFAULT는 입력받지 않아도 설정한 기본값으로 데이터가 저장되는 것이다. CHECK는 값의 범위나 형식을 설정하는 것으로, 핸드폰 번호로 예를 들면, CHECK 제약조건을 통해 '010-____-____' 와 같은 형식으로 입력받도록 할 수 있다. 다만, 위와 같은 경우 결국은 문자형태로 입력받는 것이기 때문에 010-aaaa-aaaa 를 걸러낼 수 없다. 그..
2022.08.18 -
[Oracle] 뷰(VIEW)와 데이터 딕셔너리
뷰는 복잡한 쿼리를 매번 작성할 필요없이 테이블처럼 만들어 사용할 수 있게 해준다. 예를 들어 다음과 같은 쿼리가 있다고 하자. SELECT N.ID, N.TITLE, N.WRITER_ID, M.NAME WRITER_NAME, COUNT(C.ID) COMMENT_CNT FROM MEMBER M RIGHT OUTER JOIN NOTICE N ON M.ID=N.WRITER_ID LEFT OUTER JOIN "COMMENT" C ON N.ID=C.NOTICE_ID GROUP BY N.ID, N.TITLE, N.WRITER_ID, M.NAME; NOTICE라는 테이블을 기준으로 MEMBER와 COMMENT 테이블을 OUTER JOIN하고 있다. 다만, 위와 같은 데이터 조회가 필요할 때마다 저런 쿼리를 작성한다..
2022.08.14