본문 바로가기

프로그래밍

(97)
[SQL 요약 정리] 1-13. OBJECT 13. OBJECT 1) SEQUENCE란?- 공유 가능한 Object(일반적으로 Primary Key값 생성을 위해 사용)- 자동으로 Unique number 생성(GAP 발생 가능)- 예시CREATE SEQUENCE c_emp_idINCREMENT BY 1START WITH 26MAXVALUE 99999999NOCACHENOCYCLE; 2) SEQUENCE 생성- 문형CREATE SEQUENCE 이름[ INCREMENT BY n ] // SEQUENCE 번호 간격(기본값 1)[ START WITH n ] // 생성되는 첫 번째 SEQUENCE 번호(기본값 1)[ { MAXVALUE n | NOMAXVALUE } ] // SEQUENCE 최대값(기본값 10^27)[ { CACHE n | NOCACHE ..
[SQL 요약 정리] 1-12. 데이터 제어어(DCL) 12. 데이터 제어어(DCL) 1) 권한(Privilege)- 사용자와 Role에 부여 가능한 권한 종류는 80개 이상- 대개 DB관리자(DBA)가 부여- Privilege특정 SQL문장 수행 혹은 특정 Object에 허가된 작업시스템권한: 특정 SQL문장 실행 권한오브젝트 권한: 특정 Object 접근 제어 권한 2) Object Privileges- DBA는 특정 Object에 대해 사용자에게 action 수행 허가- Object 소유자는 다른 사용자에게 Object Privileges 부여 가능- 권한 부여 문형GRANT 권한 [(컬럼명)][ 권한...|ALL]ON Object명TO 사용자 | ROLE | PUBLIC [, 사용자...][WITH GRANT OPTION];- 권한 제거 문형REVOK..
[SQL 요약 정리] 1-11. 데이터 정의어(DDL) 11. 데이터 정의어(DDL) 1) 명령어의 종류 및 설명- CREATE TABLE: 테이블 생성- DROP TABLE: 테이블의 구조 및 모든 행 삭제- ALTER TABLE: 테이블 변경(컬럼-> 추가, 수정 / 제약조건-> 추가, 삭제, 활성화, 비활성화)- TRUNCATE: 테이블의 구조만 남기고 모든 행 삭제- RENAME: Object의 이름 변경- COMMENT: 테이블 혹은 컬럼에 주석 달기*주의: DDL 명령어는 실행시 자동 COMMIT 후 ROLLBACK불가 2) 테이블 삭제 DROP TABLE - 문형DROP TABLE 테이블명 [CASCADE CONSTRAINTS];- 테이블의 모든 데이터 및 인덱스 삭제, 트랜잭션 자동 commit, ROLLBACK 불가- [CASCADE CONS..
[SQL 요약 정리] 1-10. DICTIONARY 10. DICTIONARY 1) Dictionary란?- DBMS가 자동관리하는 정보로 SYS사용자가 소유- 읽기전용으로만 제공되는 뷰와 테이블의 집합- ORACLE SERVER에 의해서 생성 및 유지보수- 예시: ORACLE server 사용자명, 사용자 권한, DB 객체명, 테이블 제약조건, 감사정보 2) Dictionary View의 종류- 4가지 종류가 있으며 각기 다른 접두사로 구분USER_ : 사용자가 소유한 객체 정보 저장ALL_ : 사용자에게 허용된 객체 정보 저장DBA_ : DBA권한을 가진 사용자가 액세스 할 수 있는 정보 저장V$ : 서버의 성능과 Locking에 관한 정보 저장(일반적으로 DBA에게만 허용) - 그 외의 동의어를 사용하는 경우DICTIONARY : 모든 데이터 사전 ..
[SQL 요약 정리] 1-9. TRANSACTION CONTROL 9. TRANSACTION CONTROL 1) Transaction의 개념- Transaction: 논리적인 업무의 작업단위 의미- Transaction Control LANGUAGESAVEPOINT // 현재 트랜잭션에 savepoint 지정COMMIT // 아직 저장되지 않은 변경사항을 DB에 저장하고 현 트랜잭션 종료ROLLBACK [TO SAVEPOINT명] // 아직 저장되지 않은 모든 변경사항 취소 후 트랜잭션 종료- 구성: 데이터의 영구적인 변경을 하는 DML, 하나의 DDL, 하나의 DCL- 트랜잭션의 종료: COMMIT OR ROLLBACK / DDL, DCL명령 / error, system crash, exit 등 2) 암시적(Implicit) 트랜잭션 제어 명령어- 자동 COMMIT:..
[SQL 요약 정리] 1-8. CONSTRAINT 8. CONSTRAINT 1) Constraint란?- 무결성 유지를 위한 사용자 지정 성질(제약조건)이며 데이터사전에 저장된다.- 이름은 한 사용자 내에서 중복될 수 없으며 표준 객체 명명법을 따르는게 좋다.- 이름 생략시 ORACLE 자체에서 SYS_Cn형식으로 자동 지정 2) Constraint 정의방법- 컬럼레벨: 어떤 유형의 제약조건도 정의 가능컬럼 [CONSTRAINT 제약조건 이름] 제한조건 유형, - 테이블 레벨: 여러 칼럼에 제약조건 정의할 때 사용, 컬럼 레벨과 별개(NOT NULL 제외)컬럼,...[CONSTRAINT 제약조건 이름] 제한조건 유형 (컬럼1, 컬럼2...) 3) Constraint 종류- NOT NULL: 컬럼이 NULL값 사용 불가, 컬럼 레벨로만 정의 가능(한 컬럼..
[SQL 요약 정리] 1-7. SUBQUERY 7. SUBQUERY 1) SubQUERY- 하나의 SELECT문 안에 포함된 또 다른 SELECT문- 제한: 연산자 좌측 괄호 내에 위치, ORDER BY절 포함 불가- 사용 가능 연산자: =, >, >=,
[SQL 요약 정리] 1-6. JOIN 6. JOIN 1) JOIN이란?- 하나 이상의 테이블로부터 연관 데이터를 검색하는 방법- 일반적으로 행들은 PK와 FK 값의 연관에 의해 JOIN 성립(예외 존재->논리값 간의 연관성)- 정규화: 데이터 중복 제거를 위해 테이블을 분리- JOIN은 정규화된 데이터를 다시 결합하는 과정- JOIN방법EQUIJOIN: 칼럼간의 값들이 정확히 일치하는 경우에 사용 (일반적으로 PK, FK 관계에 의함)NON-EQUIJOIN: 칼럼간의 값들이 정확히 일치하지 않는 경우에 사용OUTER JOIN: JOIN조건에 만족하지 않지만 모든 행 출력을 위해 사용SELF JOIN: 같은 테이블에 있는 행들을 JOIN하고자하는 경우에 사용*Cartesian product: 조건 생략 혹은 실수로 인해 테이블의 모든 행들이 ..