Procedure (프로시저) 일련의 작업들을 하나로 묶어서 저장해 두었다가 호출하여 실행하게 하는 것 생성한 저장 프로시저는 여러 번 반복해서 호출, 사용 가능 저장 - 실행 - 제거 create (or replace) procedure 프로시저 이름 is 변수의 선언 begin PLSQL 구문 --insert, select, update, delete 등 end; or replace: 이미 같은 이름으로 저장 프로시저를 생성할 경우 기존 프로시저는 삭제하고 재생성 옵션으로 생략해도 되지만 붙여주는게 관례 --프로시저 실행 execute 프로시저 이름; -- 프로시저 제거 drop procedure 프로시저 이름; 프로시저 변수 + 내용 추가 프로시저 생성시 매개변수를 선언할 수 있는데 in, out,..
권한 특정 SQL 문장을 실행하기 위한 권리 계정은 권한별로 나누어져 있음 데이터베이스 관리자(DBA): 데이터베이스와 그 객체에 대한 액세스를 사용자에게 부여하는 능력을 갖춘 상급 사용자 DBA 권한: 모든 명령어 다 실행되기 때문에 새성하거나 중요한 작업할 때만 쓰기 시스템 권한 승인 작업 create user 다른 오라클 사용자 생성을 피수여자에게 허용 (DBA 역할을 위해 필요한 권한) drop user 다른 사용자 제거 drop any table 임의의 스키마에서 테이블 제거 backup any table export 유틸리티로 임의의 스키마에서 임의의 테이블 백업 실습용 계정 생성 사용자 생성 create user 사용자이름(아이디) IDENTIFIED by 비밀번호; create user C..
시퀀스 Sequence 순차적으로 증가하는 값 - PK에 많이 사용 (구분하는 기본 키 값을 생성하기 위해 사용) 배열에 반복적으로 값을 넣는 것과 같은 용도 시퀀스 번호는 테이블과 관계없이 생성되고 저장되기 때문에 동일한 시퀀스는 여러 테이블에서 사용 가능 시퀀스가 테이블에서 사용되고 있다면 drop 하면 안됨 1. 생성 -- 기본값으로 생성 create sequence depts_seq(테이블이름) nocache; increment - 증가값 양수면 증가, 음수면 감소 (default 1) 2. 확인 -- 시퀀스 확인 select * from user_sequences; 3. 사용 Nextval 다음 사용 가능한 시퀀스 값 한 번 전진하면 alter로 조절하지 않는 이상 후진 x Currval 현재 ..
제약조건 테이블의 해당 컬럼에 사용자가 원치 않은 데이터가 입력, 수정, 삭제되는 것을 방지하기 위한 조건 // 조회방법 select * from user_constraints; 제약조건 설명 특징 unique key 유일한 값을 가진 열, 열의 조합 지정 중복행 데이터가 들어가는 것을 방지 중복X, null값 O ex) 주민번호 primary key 유일하게 테이블의 각 행을 식별 중복X, null값 X not null + unique key not null null 값을 포함 X foreign key 열과 참조된 테이블의 열 사이의 외래키 관계 적용하고 설정 주테이블의 pk를 보조테이블의 column으로 지정한 키 참조 테이블의 pk에 없다면 등록 못함 중복O, null값 O primary key와 ..
DDL (Data Definition Language) 오라클(한정)에서는 이름의 대소문자를 구분 X 여기서는 commit, rollback 사용 X 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어. 마우스로 DDL 사용 더보기 1. 테이블 - 오른쪽 마우스 - 편집 클릭 2. 테이블 편집에서 +, x 눌러서 컬럼 추가, 삭제 후 3. 확인을 누르기 전 DDL 확인 - SQL문 확인 가능 C.R.U.D 이름 조작 SQL Create 생성 INSERT Read 읽기(또는 인출) SELECT Update 갱신 UPDATE Delete 삭제(또는 파괴) DELETE Create table 데이터 타입 데이터 타입 특징 크기 varchar2 ..
DML (Data Manipulation Language) select(포함) 다음으로 중요 DML 문장은 실수했을 때 반영하겠다는 commit 전 rollback으로 복구 가능 트랜잭션: 작업의 논리적인 단위 형태인 DML 문장의 모음으로 트랜잭션을 완료 시켜야 원본 데이터에 반영됨 desc departments; -- 요약 select * from departments; -- 테이블 확인 rollback; -- 되돌리기 Insert 행을 추가 desc 테이블명; - 열 확인 가능 not null = null값이 들어가면 안됨 모든 컬럼을 다 사용하면 컬럼부분 생략 가능 순서와 타입에 맞게 모든 열들에 대한 입력정보가 포험되어 있어야 함 insert 방법1. values ( )에 직접 값 삽입 inse..
서브쿼리 하나의 질의를 다른 질의 내부에 두는 방법으로 두 개의 질의를 조합하여 해결 nancy의 급여보다 많은 급여를 받는 사원은 누구? 1. nancy급여 2. 1보다 많은 급여를 받는 사원 다른 select 문장의 절에 내장된 select 문장 테이블 자체의 데이터에 의존하는 조건 테이블의 행을 검색할 필요가 있을 때 유용 서브쿼리는 ( )안에 있어야 함 비교 연산자의 오른쪽에 있어야 함 서브쿼리절을 먼저 해석 select, from, where, having, order by, insert문의 values, update문의 set, create table문의 as 단일 행 서브쿼리 내부 select 문장으로부터 하나의 행을 리턴 =, >, >=, = (select employee_id from e..
그룹함수 여러행에서 하나의 결과값을 꺼내는 함수 AVG, SUM, MIN, MAX, COUNT 날짜에 대해서도 MIN, MAX 값 구할 수 있음 ex) 첫 로그인 날짜, 마지막 로그인 날짜 주의! 그룹함수가 일반 컬럼과 동시에 출력 불가 (데이터 베이스별로 다름) ex) select employee_id, sum(salary) from employees; → error! group by에 묶인 절들만 select에 쓸 수 있음 COUNT(*) : null값을 포함하는 행을 포함한 행의 수 COUNT(column) : null값은 제외한 행의 개수 count(*) over() -- 전체행 수 (잘못쓰면 느려짐, 그룹핑으로 안 묶여도 사용가능) count안에 distinct 붙이면 유일한 값이 나오므로 부서..
dual; - 연습용 가짜 table SQL 함수 oracle 문자열 자르기 검색 단일행 - 행별로 하나의 결과를 리턴, 문자, 숫자, 날짜, 변환 다중행 - 복수의 행을 조작하여 행의 그룹당 하나의 결과를 리턴 문자 조작 함수 문자 조작 함수 실습 inicap 첫 문자만 대문자, 나머지는 소문자 lower 모두 소문자 출력 upper 모두 대문자 출력 length 문자열의 길이 출력 instr = indexOf 찾는 문자의 위치 반환 concat = || 두 문자열 연결 substr (문자열 자르기) 부분 문자열을 출력 매개변수 1개: 그 이후부터 출력 매개변수 2개: 그 사이만 출력 lapd 주어진 자릿수만큼 왼쪽 채움 rpad 주어진 자릿수만큼 오른쪽 채움 ltrim 왼쪽 공백 제거 rtrim 오른..
SQL 문장 [암기] selection table1에서 찾기 join - 아직 관계형 데이터베이스의 특징 공유 테이블 양쪽의 열에 대해서 링크를 생성하여 다른 테이블에 저장되어 있는 데이터를 함께 가져오기 위해 사용 select 문 SELECT [DISTINCT] { * | column [[AS] alias], ... } FROM table; 구문형식에서 → 조회하고 싶은 테이블명 구문형식 SELECT : 하나 이상의 열을 나열 DISTINCT : 중복 제거 * : 모든 열을 선택 column : 명명된 열을 선택 AS : 열 별칭 (alias)을 지정 alias : 선택된 열을 다른 이름으로 변경 FROM table : 열을 포함하는 테이블을 명시 SQL> SELECT first_name , last_..
(관계형) 데이터베이스 RDBMS (Relational Database Management System): 관계형 데이터베이스 NoSQL: 대용량 데이터베이스 ex) 채팅로그 A(회원목록)데이터베이스와 B(주문내역)데이터베이스를 KEY로 연결하여 사용 특징 데이터의 무결성 - 어긋나지 않고 깨끗한 상태로 유지 데이터의 공유 - 하나의 데이터베이스에 동시다발적으로 연결 가능 데이터의 정확성과 일관성 중복성의 제거 불일치를 피할 수 있음 표준화 가능 개념화 기법 발달 : 데이터의 독립성 보장 정규형: 중복 문제의 해결 기법 제공 SQL: 데이터 조작언어의 발달 테이블들의 모임: 관계형 데이터베이스 KEY 이용: 각 행은 일련의 값을 사이의 관계 SQL문을 사용하여 이용되고 수정 기본구조 용어 SQL문, 모델..