hr 계정 생성 및 권한 부여.
수업 순서
hr 계정에 문법 정리,
wrokshop 계정에 테스트
행: 레코드(record)
열: 컬럼(column)
DB의 무결성을 보장받기 위해 제약조건이 있다.
1. primary key(기본키) : 레코드를 식별하기 위한 용도, 반드시 유일한 값이여야 하며, 반드시 값을 가져야한다.
-==> unique 및 not null 제약조건이 같이 있음.
2. unique: 컬럼에 유일한 값을 저장하기 위한 용도
==> 반드시 유일한 값, null 값 허옹
3. not null: 컬럼에 반드시 값을 저장해야 하는 용도, null 값 허용 안함,
4. check: 컬럼에 임의의 조건에 일치하는 데이터만 저장하기 위한 용도
==> 자바의 조건처리와 비슷한 제약조건.
5.foreign key(외래키, 참조키): 하나의 테이블에서 다른 테이블을 참조하기 위해 사용되는 용도
참조 당하는 테이블: master 테이블 ex? department_id
참조하는 테이블: child(slave) 테이블 ex) employee_id
==> master의 컬럼 중에서 primary key 또는 unique 제약조건 설정된 컬럼만 참조할 수 있다.
fk가 가질수 있는 값은 master가 가지고 있는 값 + null 갑을 가질 수 있다.
*오라클 객체
1.테이블(table) => 아래 네 개는 테이블에 대한 헬퍼 역할이다.
=> 실제 Data를 저장, DDL을 이용
2.인덱스(index) - 검색을 빠르게, ex)일반 교재의 색인표
3.뷰(view) - 보안 + 복잡한 SSQL문을 간결하게 사용하는 목적
4.시퀀스(sequence) - 특정 컬럼 numbering , ex) 게시판의 줄번호
5.시노님(synonym) - 테이블 별칭(보안)
*오라클 구조
오라클은 물리적인 파일의 구조+ 메모리 구조로 돼있다.
C:\oraclexe\app\oracle\oradata\XE 폴더 안의 DBF 파일들을 보자.
CONTROL, SYSAUX, SYSTEM 파일은 메타 데이터 파일. 이 세 가지 파일은 절대! 삭제하면 안된다.
1) DML(데이터 조작어) : 기본적으로 메모리영역에서만 작업한다. 메모리 영역에서 끝나게 하든, 물리적인 파일 영역까지 연동을 하던 작업이 가능하며, 물리적인 파일에 반영하지 않을시 컴퓨터 Off하면 사라진다.
=> 트랜잭션 명령어로 -commit, -rollback이 있는데 DML만 사용한다.
*오라클 데이터 타입
1) 수치(정수) : number(자릿수)
=>ex) number(6)
2) 수치(실수) : number(전체 자릿수,소수점 자릿수)
문자(열)
1) char(byte 수) - 고정길이 (String) - 최대 2000byte
=> 성능이 좋다. 고정된 값일수록 더욱 좋음.
2) varchar2(byte 수) - 가변길이 (StringBuilder) - 최대 4000byte = char의 두 배
=> char에 비해 성능이 좋지 않다. 어쩔때는 n자리, 어쩔때는 n+1 자리인것처럼 가변적일때 varchar2를 쓴다.
*오라클 Data타입과 리터럴
수치 ㅡ> 10, 3.14
문자 ㅡ> 'A' 'ABC' => 홑따옴표 써야된다.
날짜 ㅡ> '2019/10/15'
오라클의 쌍따옴표는 별칭에서만 사용됨.***********
*널(null)
1) 테이블에서 비어있는 형태로 보임
2) '값이 없음' 의미
3) 연산시 결과가 null 반환. ex) salary*12 + 특정 컬럼의 null값 = null
4) 3번의 문제를 해결하기 위해선 NVL 함수를 써야된다.
=> NVL(comm-pct , 값) ㅡ> comm-pct이 null이면 대체할 값
5) 정렬시 가장 큰 값으로 인식
6) is null, is not null (null일 경우, null이 아닐 경우) ==> 연산자
7) 기본적으로 테이블에는 null값을 허용한다. not null 제약조건 적용 가능
**SQL의 연산자 중 부정연산자 NOT이 제공되는데, 부정연산자를 사용할 경우 index를 적용할 수가 없기 때문에 쓰지 되도록 쓰지 않도록 한다.
**연산자의 우선순위 꼭 파악할것
=> and > or -> and랑 or랑 같이 쓸 경우 and부터 해석한다.
'Oracle SQL' 카테고리의 다른 글
Oracle 간단 정리 (0) | 2022.07.25 |
---|---|
Oracle) Sub query & Transaction (0) | 2022.07.22 |
Oracle JOIN (0) | 2022.07.21 |
Oracle SELECT (0) | 2022.07.20 |