일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- CloudWatchLogs
- CloudWatch
- CloudWatch Matrics
- IntelliJReset
- cloud
- revert
- CloudWatch Alarm
- Commit삭제
- IntelliJRevert
- Reset
- git
- Today
- Total
boyeon
5강 - UPDATE / DELETE / KEY / 에러 / 트랜잭션 / DDL vs OBJECT / 데이터 타입 / CREATE / 정규형 본문
5강 - UPDATE / DELETE / KEY / 에러 / 트랜잭션 / DDL vs OBJECT / 데이터 타입 / CREATE / 정규형
bo_yeon 2019. 1. 23. 15:50- UPDATE
a.데이터 값 수정
b.UPDATE 테이블명 SET 컬럼명=값, 컬럼명=값... WHERE 조건절;
c.’WHERE 조건절’을 안주면 컬럼의 모든 값이 바뀐다.
- DELETE
a.데이터 값 삭제
b.DELETE FROM 테이블명 WHERE 조건절;
c.’WHERE 조건절’ 안주면 모든 데이터 값 삭제
- KEY
a. PRIMARY KEY = NULL도 안되고 겹치면 안됨
b. UNIQUE KEY = NULL은 되고 겹치면 안됨
c. CHECK KEY = 조건을 정하기(EX,나이>=20)
d. NOT NULL KEY
e. FOREIGN KEY
f. DEFAULT KEY
- 에러가 발생하는 경우(CONSTRAINTS / 제약)
** SELECT *FROM USER_CONSTRAINTS WHERE TABLE_NAME=’테이블명’;
=> 제약조건 검색
a. INSERT에러 = PRIMARY의 값이 겹침
= ‘무결성 제약조건(제약조건명)에 위배됩니다’
b. UPDATE에러 = 외래키를 바꿀때 부모키가 존재하지 않은 값으로 바꿀때
= ‘부모키가 없습니다’
c. DELETE에러 = 외래키에 의해 참조되고 있는 키를 삭제할때
= ‘자식 레코드가 발견되었습니다’
- TRANSACTION = 논리적인 '작업'의 단위
a.DML문장 시작시 '자동'으로 시작
b.INSERT,UPDATE,DELETE
=> COMMIT,ROLLBACK 둥 중 하나를 정의해야 한다.
c.CREATE,ALTER,DROP,EXIT
=> 오토커밋
- DDL
a.CREATE
b.ALTER
c.DROP
- OBJECT
a.TABLE
b.INDEX
c.SYNONYM
d.SEQUENCE
e.VIEW
- TABLE의 DATA TYPE
a.CHAR = 문자(고정길이)
= 더빠르기 때문에 'WHERE절에 쓸 컬럼은 대부분 CHAR로
b.VARCHAR2 = 문자(가변길이)
= 체이닝(단편화) 현상 나타남
** 체이닝 현상 = 하나의 문자열이 포인터로 이어지는데 멀리 떨어져 있는 공간에 저장
c.NUMBER(P,S) = 숫자(가변길이)
= EX)NUMBER(6.2) -> XXXX.XX
d.DATA = 날짜(고정길이, 7BYTE)
e.LONG = 문자(가변길이, 2GB)
- DDL - CREATE
a.CREATE TABLE 테이블명(
컬럼명1 TYPE PRIMARY KEY,
컬럼명2 TYPE
);
b.테이블 복사 - CREATE TABLE 새로운테이블명(새로운 컬럼명)
AS
SELECT 복사할 컬럼명 FROM 복사할 테이블명 WHERE 조건절;
** 제약조건은 복사되지 않는다
c.테이블 구조만 변경 - CREATE TABLE 테이블명
AS
SELECT문
WHERE 0=1; => 거짓으로 조건주기
d.테이블명 이름 제약조건 - 영문자로 시작
- 영문자,숫자 사용가능
- 특수문자는 _,$,#만 가능
- 이름은 중복 허용안함
- 컬럼명은 테이블명과 틀려야 한다
- 예약어 사용불가(파란색의 오라클 문법)
- 정규형
a.제3정규형(쪼갤수 있을때까지 쪼깨기) + 제약조건 = 좋은 테이블
b.오로지 외래키만 가지면 안된다(자기자신만의 데이터도 있어야 한다)
=> 쪼갰다가 합치기(역정규화)
- 제약조건 이름
a.’테이블이름_컬럼이름_제약조건이름’ 으로 직접 설정
'...' 카테고리의 다른 글
1강. 설치 및 환경설정 (0) | 2019.02.12 |
---|---|
10강 - PACKAGE / TRIGGER / 오라클 구조 (0) | 2019.01.23 |
9강 - DDL프로시져 / 함수 / 예외처리 / CURSOR (0) | 2019.01.23 |
8강 - INDEX / 시퀀스 / PLSQL - 무명프로시져,프로시져,함수 (0) | 2019.01.23 |
6강 - ALTER / DROP / COMMENT / DCL - GRANT,REVOKE / ROLE (0) | 2019.01.23 |