~문제풀이 이어서~
15. 사내 공지를 위한 게시판 기능을 추가하기. 다음의 요구사항에 맞추어 테이블을 생성하고 첫번째 공지를 작성해라.
(첫번째 공지는 모든 부서가 열람할 수 있게 한다.)
- 공지 게시판은 부서별 공지와 전체 공지로 나누어져 운영되어야 한다.
- 전체 공지는 모든 부서가 확인할 수 있는 공지이며 부서별 공지는 지정한 부서에 소속된 사원만 볼 수 있는 공지다
- 공지를 작성할 때 다음의 정보가 저장되어야 한다.
* 번호, 제목, 내용, 작성일자, 부서ID
16. 사내 공지 게시판 테이블을 생성 후에 다음의 공지를 추가로 작성한다.
- 모든 부서마다 'xxx 부서만 확인할 수 있는 공지 입니다.' 라는 메시지를 추가한다.
17. 100 번 사원이 공지를 열람한다는 가정하에 100 번 사원이 소속된 부서의 공지와 전체 공지가 보일수 있는 SELECT
쿼리문을 작성하세요.
18. 공지 게시판에 중요도 기능을 추가하여 가장 중요한 공지가 가장 먼저 조회될 수 있도록 테이블을 수정하도록 한다.
- 중요도는 1 ~ 5 까지 사용할 수 있게 한다.
- 중요도를 설정하지 않으면 기본 3으로 저장되게 한다.
- 전체 공지용으로 중요도 1 ~ 5 까지 총 5개의 공지 데이터를 추가한다.
- 추가한 공지 데이터를 조회할 때 중요도 순으로 조회가 될 수 있도록 SELECT 구문을 작성한다.
- SEQUENCE 객체
- 번호 발생기 객체
- 정수값을 순차적으로 생성하는 객체
- PRIMARY KEY 로 사용하는 번호(ID) 등에 사용하여 정수값을 생성하기 위한 용도로 많이 사용
- NEXTVAL : 다음 번호 생성
- CURRVAL : 현재 번호
- START WITH n : 시작 값 설정
- INCREMENT BY n : NEXTVAL 하면 n 씩 증가
- MAXVALUE : NEXTVAL 의 최대값. CYCLE 설정 없이 그 이상 증가시키려면 오류 발생
- MINVALUE : CYCLE 설정 시 최대값 넘어간 이후 나오는 첫 값
- CYCLE : 순환. MINVALUE 값 설정이 안되어 있다면 MAXVALUE 이후 처음 기본 값은 1 이다.
- NOCACHE : 메모리 관련
<NEXTVAL, CURRVAL 을 사용할 수 있는 명령어>
1. SELECT 문 (서브쿼리 제외)
2. INSERT 문의 VALUES 절
3. INSERT 문의 SELECT
4. UPDATE 문의 SET 절
<NEXTVAL, CURRVAL 을 사용할 수 없는 명령어>
1. VIEW 의 SELECT 문
2. DISTINCT 키워드가 있는 SELECT 문
3. GROUP BY, HAVING, ORDER BY 절이 있는 SELECT
4. SELECT, DELETE, UPDATE 의 서브쿼리
5. DEFAULT 값
- VIEW 객체
- SELECT 문의 실행 결과를 저장한 가상 테이블
- 테이블과 다르게 실제 데이터를 저장하고 있지는 않으나 실제 테이블을 사용하는 것과 동일하게 사용 가능
- 복잡한 SELECT 구문을 VIEW 로 만들어 간단하게 사용하기 위해 주로 사용
- WITH READ ONLY : 이 옵션 추가하면 VIEW를 읽기 전용으로만 쓸 수 있다. INSERT,UPDATE,DELETE 작업 불가
- WITH CHECK OPTION : WHERE 절과 함께 사용해야 한다. WHERE 절에 해당하는 범위인지 확인 제한을 건다.
<VIEW 를 사용하여 INSERT, UPDATE, DELETE 작업을 할 수 없는 경우>
1. VIEW 에 포함되지 않은 컬럼을 사용하는 경우
2. VIEW 에 포함되지 않은 컬럼 중 NOT NULL 제약 조건이 있는 경우
3. 산술 표현식으로 정의된 경우
4. 그룹함수나 GROUP BY 절이 포함된 경우
5. DISTINCT 키워드가 있는 경우
6. JOIN 을 사용하여 여러 테이블이 결합된 경우
'국비' 카테고리의 다른 글
11.25 국비학원 37일차 (평가4) (0) | 2022.11.28 |
---|---|
11.24 국비학원 36일차 (INDEX 객체, SYNONYM 객체) (0) | 2022.11.25 |
11.22 국비학원 34일차 (문제풀이) (0) | 2022.11.23 |
11.21 국비학원 33일차 (JOIN, 서브쿼리, TOP-N) (0) | 2022.11.22 |
11.18 국비학원 32일차 (VO 객체, MVC 패턴) (0) | 2022.11.21 |