본문 바로가기

SQL31

oracle SQL - SEQUENCE 시퀀스란? - 고유한 정수 생성을 위해 사용된다. - 테이블에 독립적인 객체로 테이블이 삭제되어도 인덱스와 다르게 삭제되지 않는 객체중 하나 CREATE SEQUENCE 이름 INCREMENT BY 시퀀스 번호사이 간격 지정(디폴트 1) START WITH 시작번호 지정(디폴트 1) MAXVALUE 최댓값 지정 | NOMAXVALUE MINVALUE 최솟값 지정 | NOMINVALUE CYCLE | NOCYCLE CACHE 미리 메모리에 적재 해놓을 번호(디폴트 20) | NOCACHE ; 시퀀스 번호를 할당하고 싶으면 시퀀스이름.NEXTVAL 방금 생성한 시퀀스 번호를 참조하고 싶으면 (마지막으로 사용한 값이 궁금하면) 시퀀스이름.CURRVAL 2023. 12. 14.
oracle SQL - create user 유저를 생성할 때 SQL은 다음과 같다. CREATE USER username IDENTIFIED BY userpassword DEFAULT TABLESPACE USERS -- 테이블 스페이스 분리 TEMPORARY TABLESPACE TEMP; TEMPORARY TABLESPACE는 SQL 문장을 수행할 때 내부적으로 정렬 작업이 수행된다. (fragment 발생) 이 과정에서 따로 테이블스페이스를 분리해놓지 않으면 시스템 카탈로그와 같은 중요한 정보가 저장되는 SYSTEM TABLE SPACE에서 작업을 수행한다. 2023. 11. 11.
oracle SQL - 뷰 (VIEW) 뷰 1) 논리적으로 하나 이상의 테이블에 있는 데이터의 부분 집합입니다. - 자체적으로 데이터를 포함하지 않습니다. 2) 뷰는 데이터 딕셔너리에 SELECT 문으로 저장됩니다. 3) 뷰를 통해 테이블의 데이터 일부를 보게끔 해 보안성을 높입니다. 4) 뷰는 테이블이 드랍되어도 삭제되지 않습니다. (접근 불가능) 뷰 종류 1) 단순 뷰 - 단순히 하나의 테이블 데이터의 부분집합일 경우 단순 뷰 - Read Only 뷰가 아니라면 뷰를 통해 DML 작업이 가능합니다. 2) 복합 뷰 - JOIN, 그룹 연산 등을 수행한 결과인 경우 복합 뷰 - DML 작업을 수행할 수 없는 경우가 많습니다. 뷰 생성 방법 CREATE OR REPLACE VIEW 뷰이름 AS SELECT... [WITH CHECK OPTION.. 2023. 6. 12.
oracle SQL - 인덱스 인덱스란? 쿼리 성능을 향상시켜주는 스키마 객체 중 하나입니다. - 스키마 객체 중 하나로 테이블의 행에 대해 직접적이고 빠른 접근방식을 제공합니다. - 단일 열 또는 조합 열에 정의할 수 있습니다. - 고유 인덱스와 비 고유 인덱스가 있습니다. - 명령문을 통해 수동으로 생성하거나 오라클 서버에 의해 자동으로 생성됩니다. - 자동으로 생성되는 경우는 특정 열의 제약조건이 Primary Key 또는 Unique일 경우 고유 인덱스가 자동으로 생성됩니다. - 자동으로 생성된 인덱스는 수동으로 삭제할 수 없습니다. - 테이블 DROP시 테이블과 관련된 모든 인덱스도 같이 삭제됩니다. 수동으로 인덱스 생성 문법 CREATE [UNIQUE] INDEX 인덱스이름 ON 테이블이름(COLUMN [, COLUMN2... 2023. 6. 6.
oracle SQL - 제약 조건 추가 및 외래키 추가 옵션 테이블 특정 열에 제약 조건을 추가하는 방법은 다음과 같습니다. -- PK ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 PRIMARY KEY (열이름[,..]); -- UK ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 UNIQUE (열이름[,..]); -- CK ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 CHECK (열이름 조건); -- NN ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 CHECK (열이름 IS NOT NULL); -- FK ALTER TABLE 테이블 ADD CONSTRAINT 제약조건이름 FOREIGN KEY (열이름) REFERENCES 참조할 테이블(참조할 열); 참조의 무결성을 위해 외.. 2023. 5. 31.
oracle SQL - 삭제된 테이블 복구 오라클 10g부터 윈도우 운영체제의 휴지통과 같은 기능을 제공합니다. FLASHBACK 명령문으로 쉽고 빠르게 복원할 수 있습니다. FLASHBACK TABLE 테이블이름 TO BEFORE DROP; 만약 삭제된 테이블 이름이 기억나지 않으면 다음과 같은 명령문으로 확인할 수 있습니다. SELECT * FROM RECYCLEBIN; 결과에 ORIGINAL_NAME 열을 확인하면 됩니다. 만약 휴지통에 넣지않고 삭제하고싶으면 DROP 명령문 뒤에 PURGE를 붙이면 영구히 삭제됩니다. DROP TABLE 테이블이름 PURGE 2023. 5. 31.