본문 바로가기

이론70

[무조건 따라하기] 트랜잭션 📌 트랜잭션 Transaction 최종 결과를 내기까지 하나의 작업 단위를 의미. Oracle DataBase는 개발자가 전달한 insert, update, delete 문을 메모리상에서만 수행하고 디스크에 반영하지 않음(테이블생성,삭제는 자동 디스크 반영됨)=> 실수로 인한 데이터의 유실을 막기 위함. 데이터 베이스를 조작하는 작업이 완료되고 모두 정상적으로 되었아면 이를 디스크에 반영해야함. 작업이 시작되고 디스크에 반영될 때까지의 작업의 단위 = 트랜잭션. COMMIT : 트랜잭션을 완료하고 디스크에 반영. 복구 불가 ROLLBACK : 트랜잭션을 취소 SAVEPOINT : RALLBACK의 단위를 지정. 지정 시, SAVEPOINT [세이브포인트이름] / 호출 시, ROLLBACK TO [세이브포.. 2021. 5. 26.
[무조건 따라해보기] CONSTRAINT 제약조건 📌 CONSTRAINT 제약조건 : 테이블의 데이터를 저장 혹은 수정할 때 컬럼의 값에 대한 조건을 설정하는 것 설정된 조건에 위배되는 값을 컬럼에 저장할 수 없으며 데이터의 무결성을 위한 구문 참고 : NOT NULL 오류시에는 정확한 오류 원인을 알 수 있지만, 그 외 제약조건에서 오류가 발생하면 불분명하다.제약조건이 만들어질때 DB안에서 랜덤으로 이름이 만들어지기 때문에개발자는 오류발생시 그 이름을 보고 어떤 제약조건에서 발생한 오류인지 파악하기 힘들다.따라서 NOT NULL 제약조건 이외의 제약조건을 만들때, 반드시 이름을 붙여줘야한다.* 제약조건쿼리 컬럼명 데이터타입 CONSTRAINT (제약조건명) 제약조건 * 제약조건명 [테이블명]_[컬럼명]_[제약조건약어] NOT NULL: 컬럼에 NULL.. 2021. 5. 26.
[무조건 따라해보기] TABLE TABLE CREATE TABLE 테이블명(컬럼명 자료형 제약조건, 컬럼명 자료형 제약조건) CHAR(SIZE) : 고정 길이 문자열 타입 VARCHAR2(SIZE) : 가변 길이 문자열 타입 NUMBER : 최고 40자리까지 저장할 수 있는 숫자 타입 DATE : 날짜 LONG : 가변 길이 문자열 타입, 최대 2Gbyte CREATE TABLE EMP ( EMPNO NUMBER(10) CONSTRAINT EMPNO_PK PRIMARY KEY, ENAME VARCHAR2(20), JOB VARCHAR2(20), MGR NUMBER(10), HIREDATE DATE default sysdate, SAL NUMBER(10), COMM NUMBER(10), DEPTNO NUMBER(10) ); 📍 서브쿼리로.. 2021. 5. 26.
[무조건 따라하기] INSERT, UPDATE, DELECT 📌 DML(Data Manipulation Language(데이터 조작어)) INSERT : 테이블에 새로운 로우를 추가하는 구문INSERT INTO 테이블명 (컬럼명) VALUES (값) INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(222,'김제니','개발'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(223,'로제','인사'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(224,'지수','생산'); --컬럼목록을 생략하는 경우 (모든 컬럼에 DATA 넣을때만!) INSERT INTO EMP01 VALUES(225,'리사','개발'); --컬럼 목록에 모든 컬럼에 있지 않을 경우 (JOB에 .. 2021. 5. 26.
[무조건 따라해보기] DML 그룹함수, HAVING, JOIN, SET, 서브쿼리 📌 DML(Data Manipulation Language(데이터 조작어)) SELECT : 데이터 베이스에 저장된 데이터를 가져오는 명령문 , 다양한 상황이나 조건에 맞는 데이터를 빠르고 쉽게 가져올 수 있음 📍 그룹함수, SELECT 문을 통해 가져올 결과를 그룹으로 묵고 그룹 내에서 지정된 컬럼의 총합, 평균 등을 구할 수 있는 함수 SUM : 총합 AVG : 평균 COUNT : 로우의 수 MAX : 최대값 MIN : 최소값 --사원들의 급여 총합을 구한다. SELECT SUM(SAL) FROM EMP; --그룹함수(1줄) 다른 컬럼(1줄이상 나옴) 을 묵는 것은 ERROR 'NOT A SINGLE-GROUP FUNCTION' SELECT EMPNO, SUM(SAL) FROM EMP; --ERROR.. 2021. 5. 25.
[무조건 따라해보기] DML 날짜함수 , DECODE, CASE 📌 DML(Data Manipulation Language(데이터 조작어)) SELECT : 데이터 베이스에 저장된 데이터를 가져오는 명령문 , 다양한 상황이나 조건에 맞는 데이터를 빠르고 쉽게 가져올 수 있음 📍 날짜함수 오라클은 날짜 데이터를 제어할 수 있는 함수를 제공한다. SYSDATE : 현재 날짜와 시간을 반환한다. MONTHS_BETWEEN : 두 날짜간의 개월 수를 구한다. ADD_MONTHS : 주어진 개월 수 만큼 더한다. --현재 날짜 구하기 SELECT SYSDATE FROM DUAL; --(21/05/08) --날짜 데이터 연산 (10000일) SELECT SYSDATE, SYSDATE-10000, SYSDATE+10000 FROM DUAL; --각 사원이 입사한 날짜로부터 100.. 2021. 5. 25.