[Oracle] 오라클 스퀀스, Sequence
·
Database/Oracle
Sequence 연속적인 숫자를 생성하는 객체 정수값으로 생성한다 생성된 숫자는 테이블의 행을 구분하는 PRIMARY KEY로 사용된다. 테이블 내에서 유일한 숫자를 자동으로 생성(Auto INCREMENT) 테이블마다 적용할 시퀀스를 각각 따로 생성해서 관리한다 (테이블이 5개면 시퀀스도 5개) 시퀀스 생성 구문 CREATE SEQUENCE 시퀀스명; 1부터 시작해서 1++ 시퀀스 변경 Option START WITH n 시작 값을 설정 할 수 있다. INCREMENT BY n 증가 값을 설정 할 수 있다 MAXVALUE n | NOMAXVALUE 최대값을 지정한다 MINVALUE n | NOMINVALUE 최소값을 지정한다 CYCLE | NOCYCLE 순환구조 여부를 지정한다 CACHE n | NOC..
[Oracle] 오라클 Drop table 테이블 삭제
·
Database/Oracle
DROP TABLE DROP TABLE TABLENAME DDL ROLLBACK 이 불가능하다 '테이블 자체'를 삭제한다 TRUNCATE TABLE TABLENAME DDL ROLLBACK 이 불가능하다 '테이블의 데이터'를 삭제한다 테이블의 스키마를 유지한다 DELETE TABLE TABLENAME DML ROLLBACK 이 가능하다 테이블의 데이터를 삭제한다 TRUNCATE 와 DELETE의 차이점 -- TRUNCATE DELETE -- DDL DML -- 데이터가 차지하던 물리적 공간 삭제 데이터가 차지하던 공간을 빈 공간으로 만듬. -- (용량이 줄어든다) (용량이 유지된다) -- 일반적인 데이터 삭제에는 DELETE를 사용하고 -- 테이블 전체 데이터를 초기화(삭제)..
[Oracle] 오라클 ALTER TABLE, 테이블 수정
·
Database/Oracle
ALTER TABLE 테이블 구조(Schema)를 변경하는 구문 테이블을 지정해서 어떤 변경사항을 적용할 것인지에 따라 추가 구문이 달라진다. 수행 목적에 따라 구문의 키워드가 달라진다. ADD - 테이블의 구조(스키마) 추가 MODIFY - 테이블의 구조(스키마) 변경 DROP - 테이블의 구조(스키마) 삭제 새로운 컬럼 추가 마지막 컬럼으로 추가된다. (COLUMN_ID도 맨 마지막 숫자를 부여 받는다.) 이미 존재하는 컬럼들 중간에 추가할 수 없다. (Oracle은 불가능 다른 DB는 가능) ALTER TABLE tablename ADD (컬럼명 데이터타입); 컬럼 데이터타입 변경 데이터 타입을 바꾸거나 크기를 변경할 수 있다. 데이터 타입에 종속된 제약조건을 변경할 수 있다.(NOT NULL 등)..
[Oracle] 오라클 인덱스, Index
·
Database/Oracle
인덱스, Index 색인 이라고 한다. 테이블의 검색(탐색) 속도 향상을 위한 데이터베이스 객체 테이블의 컬럼을 기준으로 적용하는 객체 하나의 테이블에 여러 개 인덱스를 적용하는 것도 가능하다. 테이블과는 독립적으로 생성되는 오브젝트 테이블의 컬럼의 의존적 UNIQUE KEY(유일 키, UK) 제약 사항이 걸린 컬럼은 인덱스를 자동으로 생성한다. 테이블의 컬럼값을 전부 추출해서 인덱스를 생성한다. 인덱스에는 기준 컬럼의 값과 원본데이터의 위치를 저장하고 있다. 인덱스의 장, 단점 장점 테이블 탐색할 때 전체탐색(FULL SCAN) 횟수를 줄여준다. 어쩔 수 없이 전체탐색을 해야할 때 시스템 성능 저하를 약간 줄여줄 수 있다. 단점 인덱스 객체를 생성하는 데 시간이 필요하다. 인덱스 객체를 위한 별도의 공..
[Oracle] 오라클 스키마, Schema
·
Database/Oracle
스키마, Schema 데이터베이스의 구조 데이터베이스에 대한 메타데이터 데이터베이스를 바라보는 관점에 따라 분류한 스키마 개념 스키마 : 전체적인 구조, DB의 전체적인 논리 구조 개체들의 관계(Relation), 제약조건 등을 나타낸다. DB의 보안/권한/무결성 등을 정의한 것 내부 스키마 : 프로그래머 입장에서 보는 관점의 데이터베이스 구조, DB의 물리적인 저장구조, HDD에 어떻게 저장되어 있는지에 대한 관점 외부 스키마 : 사용자관점에서 바라보는 데이터베이스 구조, SELECT 구문을 수행하여 조회된 결과
[Oracle] 데이터베이스의 식별관계, 비식별관계
·
Database/Oracle
식별관계, 비식별관계 PK, FK 의 관계 식별 관계(Identifying Relationship) FK가 해당 테이블에서 PK 역할을 수행하는 것 비 식별 관계(Non-Identifying Relationship) FK가 해당 테이블에서 PK 역할을 수행하지 않는 것
[Oracle] 오라클 데이터베이스의 제약조건, 제약사항, Constraints
·
Database/Oracle
제약사항, 제약조건, Constraints 테이블에 부적절한 데이터가 입력되는 것을 방지하는 목적으로 테이블 컬럼에 설정하는 필터 조건 데이터의 무결성(Integrity)을 유지한다. 데이터 무결성이란?, 프로그램이 생명주기(Life Cycle)를 거치는 동안 데이터가 정확하고 일관성있는 값을 유지하고 그 값이 보장되는 성격 제약사항 지정 방식 CREATE TABLE 구문에 컬럼과 함께 지정하는 방법(컬럼 레벨에서 지정) 생성된 테이블에 ALTER TABLE 구문을 이용하여 추가적으로 반영하는 방식(테이블 레벨에서 지정) 제약사항의 종류 NOT NULL 데이터에 NULL 이 있으면 안된다. 컬럼의 데이터타입과 연계되어 적용되는 제약사항 'ALTER TABLE TABLENAME MODIFY COL ..
[Oracle] 오라클을 포함한 데이터베이스의 핵심 Commit, Rollback
·
Database/Oracle
Commit & Rollback Commit 커밋 이라고 한다. 데이터 변경사항을 영구적으로 적용한다. Rollback 롤백 이라고 한다. 데이터 변경사항을 되돌린다. 커밋과 롤백은 신중에 신중을 기해야한다.
[Oracle] 오라클의 DDL문법 Create & Drop
·
Database/Oracle
DDL CREATE & DROP -- 테이블의 결과를 복사하여 테이블을 생성하는 구문 CREATE TABLE 생성할 TABLENAME AS SELECT * FROM 복사할 TABLENAME; CREATE & DROP CREATE, DROP 은 COMMIT, ROLLBACK 이 불가능하다.
[Oracle] 의 DML 문법 Insert 등
·
Database/Oracle
DML 문법 INSERT 테이블에 새로운 데이터(행)를 추가할 때 사용하는 SQL -- 문법 형식 INSERT INTO TABLENAME(COL1, COL2, COL3, COL4 ...) VALUES(DATA1, DATA2, DATA3, DATA4, ...); -- 컬럼수와 VALUES 순서가 맞아야하고, 지정된 데이터타입(유형)도 맞춰서 넣어야 한다. -- 문법 형식 2 INSERT INTO TABLENAME VALUES(DATA1, DATA2, DATA3, DATA4, ...); -- 컬럼을 입력하지 않아도 된다, 모든 컬럼의 값을 순서대로 입력해야한다. -- 문법 형식 3 INSERT INTO TABLENAME SELECT DATA1, DATA2, DATA3, DATA4, ... FROM DUAL;..
[Oracle] 오라클의 DELETE 문
·
Database/Oracle
DELETE 테이블의 행을 삭제할 때 사용하는 구문 -- DELETE 구문 형식 DELETE FROM TABLENAME WHERE 조건; -- FROM 키워드는 생략가능하다. -- WHERE 조건; 없이 사용하면 테이블 전체 삭제되기 때문에 주의해야한다.
[Oracle] 오라클의 Update문
·
Database/Oracle
UPDATE 테이블의 데이터(행)을 수정하는 구문 특정 행의 컬럼 값을 변경할 수 있다. --- UPDATE 구문 형식 UPDATE TABLENAME SET COL1 = 값1, COL2 = 값2, COL3 = 값3 ... WHERE 조건절; -- WHERE 키워드 없이 사용하면 모든 행이 변경되기 때문에, DELETE 문과 마찬가지로 조건절을 붙여주는것이 좋다.
[Oracle] 오라클의 DML 문법과 Merge
·
Database/Oracle
DML MERGE 오라클 전용 문법 SELECT 수행 결과에 따라 UPDATE 또는 DELETE 또는 INSERT 를 수행한다. SELECT 조회 결과가 '존재하면' UPDATE 또는 DELETE 수행한다. SELECT 조회 결과가 '존재하지' 않으면 INSERT 를 수행한다. -- MERGE 구문 형식 MERGE INTO TABLENAME USING ( SELECT 절 - 인라인 뷰(서브 쿼리) ) ON (조건절) WHEN MATCHED THEN 구문 WHEN NOT MATCHED THEN 구문; -- INTO : 삽입, 갱신, 삭제가 이루어지는 테이블 -- USING : 조건 비교할 소스테이블 또는 인라인 뷰(서브쿼리) -- ON : WHEN 절에서 반응하는 조건을 부여하..
[Oracle] 오라클의 트랜잭션, Transaction
·
Database/Oracle
트랜잭션, Transaction 데이터를 처리하는 일련의 작업 단위 클라이언트마다 관리되는 데이터베이스에 작업한 내역들을 트랜잭션이라고 한다. COMMIT, ROLLBACK 에 의해서 작업한 내역들을 반영하거나 되돌린다. Commit & Rollback 이란? 트랜잭션의 상태 변화 트랜잭션의 시작 INSERT, UPDATE, DELETE 세 개중 하나를 수행했을 때 실행 가능한 DML 문장이 수행 되었을 때부터 시작된다. 트랜잭션의 종료 Commit 또는 Rollback 수행 시 DDL 이나 DCL 문장을 수행했을 때 종료된다. Auto Commit (자동 반영) 상황 DDL, DCL 완료되는 시점 SQLPlus 의 정상 종료(Exit 명령 수행)ㅇㅇ Auto Rollback (자동 미반영) 상황 시스템..
[Oracle] 오라클 DDL, Data Definition Language, 데이터 정의어
·
Database/Oracle
DDL, Data Definition Language, 데이터 정의어 DB 객체 테이블, 사용자 계정, 뷰, 인덱스, 시퀀스 등을 생성, 변경, 삭제하는 SQL 구문 CREATE, ALTER, DROP 생성, 변경, 삭제 테이블, Table, TB 데이터베이스의 데이터를 저장하는 단위 행(row, record), 열(column, col, 컬럼)으로 구성된 객체 연관성있는 데이터끼리 독립적인 테이블로 구성한다. 테이블들끼리 관계를 맺어 연관성을 확보한다(Primary Key - Foreign Key) 관계 : Relation, Relationship 개체 : Entity (Table) ER, Entity - Relation 개체 - 관계, 테이블들이 관계를 짓고 있는 것 RDB, Relation Data..
헌일
'Database/Oracle' 카테고리의 글 목록 (2 Page)