데이터베이스 22

데이터 정의어 - RANAME, TRUNCATE, DROP

▶ 테이블 이름을 변경하는 RENAME BOARD_DDL3 테이블의 이름을 BOARD_1로 변경했다. ▶ 테이블의 데이터를 삭제하는 TRUNCATE 테이블의 모든 데이터를 삭제한다. 데이터 조작이 중 WHERE 절을 명시하지 않은 DELETE문의 수행으로도 모든 데이터를 삭제할 수 있다. 하지만 TRUNCATE 는 데이터 정의어이기 때문에 ROLLBACK이 되지 않는다는 점에서 다르다. 즉, 삭제 이후 복구할 수 없다. ▶ 테이블을 삭제하는 DROP

데이터베이스 2022.05.06

데이터정의어 - ALTER

▶ 테이블을 변경하는 ALTER 명령어 이미 생성된 객체를 변경할 때 사용한다. 테이블의 열을 추가, 삭제하거나 열의 자료형 또는 길이를 변경하는 등 테이블 구조 변경과 관련된 기능을 수행한다. ▶ 테이블에 열을 추가하는 ADD ▶ 열 이름을 변경하는 RENAME ▶ 열의 자료형을 변경하는 MODIFY 위 그림을 보면 자료형이 NVARCHAR2(20)에서 NUMBER 유형으로 바뀌었다. 자료형과 길이를 변경하는 것은 테이블에 데이터에 문제가 생기지 않는 범위 내에서만 허용된다. 데이터는 5자리 문자열인데 길이를 3자리로 줄이거나 문자열 데이터가 있는데 숫자 유형으로 변경은 안된다. ▶특정 열을 삭제할 때 사용하는 DROP ※ BTEST02 열이 삭제되었다.

데이터베이스 2022.05.06

데이터정의어 - CREATE문

데이터 정의어(DDL : data Definition Language) 데이터베이스 데이터를 보관하고 관리하기 위해 제공되는 여러 객체(object)의 생성, 변경, 삭제 관련 기능을 수행한다. 데이터 조작 어(DML)와 달리 명령어를 수행하자마자 데이터베이스에 수행한 내용이 바로 반영되는 특성이 있다. 즉, 자동으로 COMMIT되어 영구히 데이터베이스에 저장된다. (ROLLBACK 불가) 테이블을 생성하는 CREATE문 테이블 이름 생성 규칙 테이블 이름은 문자로 시작해야한다. (한글도 가능하며, 수자로 시작할 수 없다.) ex) EMP90 (O) , 90 EMP (X) 테이블 이름은 30byte 이하여야 한다. (영어는 30자, 한글은 15자까지 사용가능) 같은 계정에서 테이블 이름은 중복될 수 없다..

데이터베이스 2022.05.06

오라클함수 - 날짜 함수

오라클은 날짜 데이터를 다루는 함수도 다양하게 제공한다. 연산 설명 날짜데이터 + 숫자 날짜 데이터보다 숫자만큼 일수 이후의 날짜 날짜데이터 - 숫자 날짜 데이터보다 숫자만큼 일수 이전의 날짜 날짜데이터 - 날짜데이터 두 날짜 데이터 간의 일수 차이 날짜데이터 + 날짜 데이터 ★ 연산 불가, 지원하지 않음 ★ OS의 현재 날짜와 시간을 출력하는 SYSDATE 함수 입력 데이터 없이 현재 날짜 및 시간 정보를 구해준다. 1을 빼거나 더했을 때 결과 날짜가 하루 이전이나 하루 이후 날짜로 출력된다. 몇 개월 이후 날짜를 구하는 ADD_MONTHS 함수 ADD_MONTHS 함수는 특정 날짜에 지정한 개월 수 이후 날짜 데이터를 반환하는 함수이다. ADD_MONTHS([날짜 데이터(필수)], [더할 개월 수(정..

데이터베이스 2022.04.28

오라클 함수 - 숫자함수

숫자 데이터를 다루는 함수 중 비교적 많이 사용되는 함수 함수 설명 ROUND 지정된 숫자의 특정 위치에서 반올림한 값을 반환 TRUNC 지정된 숫자의 특정 위치에서 버림한 값을 반환 CEIL 지정된 숫자보다 큰 정수 중 가장 작은 정수를 반환 FLOOR 지정된 숫자보다 작은 정수 중 가장 큰 정수를 반환 MOD 지정된 숫자를 나눈 나머지 값을 반환 특정 위치에서 반올림하는 ROUND 함수 TRUNC 함수와 함께 가장 많이 사용하는 숫자 함수 중 하나. 특정 숫자를 반올림하되 반올림할 위치를 지정할 수 있다. 위치를 지정하지 않으면 소수점 첫째 자리에서 반올림한 결과가 반환된다. ROUND([숫자(필수)], [반올림 위치(선택)]) --기본형식 반올림 위치를 지정하지 않은 ROUND와 0을 지정한 ROU..

데이터베이스 2022.04.28

오라클 함수- 내장 함수 : 단일행 함수

※함수란? 함수(function)는 수학에서 정의한 개념으로 x와 y 변수가 존재하고 x값이 변하면 그 변화에 따라 어떤 연산 또는 가공을 거쳐 y값고 함께 변할 때 이 y를 함수라고 한다. x값의 변화에 따라 y값이 종속적으로 변하기때문에 '따름수'라고도 한다. 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어를 의미 내장 함수 ( built-in function) 오라클에서 기본적으로 제공하고 있는 함수 단일행 함수(single-row function) 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 함수 문자함수 문자 데이터를 가공하거나 문자 데이터로부터 특정 결과를 얻고자 할 때 사용하는 함수이다. ① 대, 소 문자를 바꿔주는 UPPER, LOWER, INITCAP..

데이터베이스 2022.04.21

동의어 SYNONYM

동의어란? 동의어(synonym)는 테이블, 뷰, 시퀸스 등 객체 이름 대신 사용할 수 있는 다른 이름을 부여하는 객체이다. 테이블 이름이 너무길어 사용이 불편할 때 좀 더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용한다. 보안 목적으로도 많이 사용된다. synonym을 만들어 권한을 사용자에 부여하여 보안을 강화할 수도 있고. 스키마의 위치를 노출하지 않을 수 있다. 동의어 생성 요소 설명 PUBLIC 동의어를 데이터베이스 내 모든 사용자가 사용할 수 있도록 설정. 생략할 경우 동의어를 생성한 사용자만 사용가능(PUBLIC으로 생성되어도 본래 객체의 사용 권한이 있어야 사용 가능) (선택) 동의어 이름 생성할 동의어 이름 (필수) 사용자. 생성할 동의어의 본래 객체 소유자를 지정. 생략할 경우..

데이터베이스 2022.04.21

시퀸스

시퀸스란? 오라클 DB에서 특정 규칙에 맞는 연속 숫자를 생성하기 위해 사용하는 객체이다. 중복되지않는 UNIQUE 값을 생성해 준다. 단순히 번호 생성을 위한 객체이지만 지속적이고 효율적인 번호 생성이 가능해서 자주 사용하는 객체이다. PRIMARY KEY(기본키) 값과 같이 순차적으로 증가하는 컬럼을 자동적으로 생성할 수 있다. 테이블과는 독립적으로 저장되고 생성된다. ▶ 단지 연속하는 새로운 번호를 만드는 일이라면 다음과 같이 MAX 함수에 1을 더한 값을 사용해도 상관없을 것이다. SELECT MAX(글번호) + 1 FROM 게시판 테이블 ※ 이 방식은 실제로 연속하는 숫자로 이루어진 웹서비스의 새로운 게시판 번호나 상품 주문 번호 등을 생성할 때 종종 생성하는 방식이다. 하지만 테이블 데이터가 ..

데이터베이스 2022.04.21

제약조건 - UNIQUE

UNIQUE 제약조건은 열에 저장할 데이터의 중복을 허용하지 않고자 할 떄 사용한다. NULL은 값이 존재하지 않음을 의미하기 때문에 중복 대상에서는 제외된다.(NULL값은 여러개 존재 가능) ① 테이블 생성시 제약 조건 지정 ② USER_CONSTRAINTS 데이터 사전 뷰로 제약조건 확인하기 ③ 중복 되는 값 입력시 오류 ④ 생성된 테이블에 제약조건걸기 ⑤ 생성된 테이블의 제약 조건을 이름 직접 지정하면서 걸기 ⑥ 제약조건 이름 변경하기 ⑦ 제약 조건삭제

데이터베이스 2022.04.20

제약조건 - FOREIGN KEY와 CHECK,DEFAULT

① FOREIGN KEY 외래키, 외부키로도 부르는 FOREIGN KEY는 서로 다른 테이블 간 관계를 정의하는데 사용하는 제약 조건이다. 특정테이블에서 PRIMARY KEY 제약조건을 지정한 열을 다른테이블의 특정 열에서 참조하겠다는 의미로 지정할 수 있다. ※ 참조대상테이블의 열에 존재하지 않는 데이터를 입력하려고 하면 오류가 발생한다. 부모테이블 - 참조 대상 테이블 자식테이블 - 참조하는 테이블 FOREIGN KEY 지정하는 방법 --이름지정 CREATE TABLE 테이블 이름 ( ...(다른 열 정의), 열 자료형 CONSTRAINT [제약 조건 이름] REFERENCES 참조 테이블(참조할 열) ); --이름지정 하지 않기 CREATE TABLE 테이블 이름( ...(다른 열 정의), 열 자료..

데이터베이스 2022.04.20