728x90

DML언어 -> DB운영 => 삽입(insert), 수정(update), 삭제(delete)

트랜잭션 ->DB에서 일어나는 작업들의 모음(집합), DB작업을 처리하는 기준 => 일괄처리

성능보장과 무결성보장을 위해 트랜잭션을 사용

작업을 시작을 해서 종료가 되기 전까지의 작업들

commit -> 트랜잭션에서 수행한 작업들을 한번에 DB에 영구히 저장

rollback -> 비정상적인 트랜잭션이 수행이 되었을때, 트랜잭션이 이전 시점으로 취소

 

insert delete : 행단위 작업

update : 열단위 작업

 

■ insert : 행이 추가가 되면 맨 마지막에 저장이 된다.

insert into table_name ->모든 컬럼에 값을 삽입 하겠다
values( 삽입을 할 값을 명시하는절 )

insert into table_name(a,b,c) ->명시한 컬럼에만 데이터삽입을 하겟다
values( 삽입을 할 값을 명시하는절 a,b,c )

1. into절에 명시된 컬럼의 갯수와 순서, 데이터 타입과 길이(크기)에 맞도록 values의 입력데이터들을 반드시 1:1로 매칭

insert 문 은 두가지 무결성을 본다

*column무결성 -> 구조(길이)에 맞는 데이터인가?

*제약조건 -> pk,fk (조건에 맞는지?)

 

1. into 절에 널값을 제외하고 입력하는방법

2. values 절에 null값을 입력하는 방법(현업은 이방법을 더 선호)

 

■ update 명령문 => 열단위 작업을 한다

■ delete절

※db테이블에 동시에 여러개의 작업이 진행 될때 한쪽에서 작업을 하더라도 

병행제어 : 하나의 테이블에 여러개의 트랜잭션이 실행됬을때 제어(Lock)를 하는 기법

하나 작업이 되고 다른유저가 같은 테이블에 작업을하면 처음작업이 끝나야 실행이된다.

 

 

■ DDL data definition language

생성

수정

삭제

테이블을 만들 때 이름 규칙

●create table 문

DB구현 순서

1. create table -> 생성

2. insert -> data 삽입

3. commit -> data저장

 

멀티미디어 데이터는 경로주소만 입력하는것이 좋다.

char(5) 고정길이 : 사이즈를 먼저 만들고 입력값을 넣는다.

=> 데이터 확장성으로 기존 크기보다 20% 크게 잡아야 한다.

varchar2(5) 가변길이 : 입력값의 크기에 맞게 맞춰서 공간을 만든다.

  성능 공간활용도
char() O X
varchar() X O

number : -,o,+

number(p) : 정수값만

number(p,s) : p 정수, s 소숫점

 

add -> column 추가 (테이블 오른쪽에)

modify -> 수정

drop -> 삭제

 

DML 은 행에 Lock을 걸지만

DDL 은 table 전체에 Lock 이 걸려버린다 == 동시성이 떨어진다.

(DROP은 auto commit이 된다)

delete (DML) data 삭제, 공간O ,복구는 rollback

 

truncate (DDL) data+ data와 관련된 정보 삭제,  공간 X, 복구 불가

 

drop (DDL) data+data와 관련된 정보+ table정보 삭제, 공간X,  복구 불가

 

 

PS. SQLD 과정에서 중요한 부분이므로 다시한번 읽고 이해하자!

728x90
복사했습니다!