DB/SQL

    [DATABASE] SEQUENCE, INDEX

    ■ 시퀀스란? 오라클에서 순서를 지정해주는 객체 **오라클에서만 사용 가능 [1] 시퀀스의 생성 CREATE SEQUENCE seq_테이블명_idx START WITH 1 INCREMENT BY 1; -- 또는 CREATE SEQUENCE seq_테이블명_idx; [2] 데이터 추가 시 시퀀스 추가 - 시퀀스명.nextVal INSERT INTO sungtb VALUES(seq_sungtb_idx.nextVal, '일길동', 90, 80, 70); [3] 시퀀스의 삭제 DROP SEQUENCE seq_sungtb_idx ■ 인덱스란? 데이터베이스에서 데이터를 빠르게 탐색하기 위해 붙인 색인(포인터) 인덱스를 사용해야 하는 경우 - 데이터 양이 많고 검색이 수정보다 빈번한 경우 - 도메인의 값이 다양한 값..

    [DATABASE] DB모델링, 정규화와 이상현상, 역정규화

    ■ DB모델링 - ERD란? Entity Relationship Diagram, 개체 관계도라 하며, 개체들 간의 관계를 나타내는 다이어그램이다. - DB 모델링에 대한 자세한 내용은 아래 포스팅 참조 https://mangkyu.tistory.com/27 [Database] 6. 데이터 모델링(Data Modeling) [ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ] 이번 장에서는 데이터 모델링(Data Modeling), ER 모델(ER Model)에 대해 알아보겠습니다. 1. 데이터 모델링 mangkyu.tistory.com - DB 모델링 툴 - 윈도우용툴 : EXERD, ERWIN (erwin.com) *erwin이 가장 자주 쓰는 툴이라고 한다...

    [DATABASE] 뷰 (VIEW), 인라인 뷰

    [DATABASE] 뷰 (VIEW), 인라인 뷰

    ■ 뷰(VIEW)의 정의 - 뷰는 가상 객체로, 하나 이상의 테이블 또는 뷰의 데이터를 볼 수 있게 한다. - 실제로 테이블은 아니지만 테이블처럼 사용 가능 - 다른 뷰를 참조해 새로운 뷰를 생성할 수 있다. ■ 뷰(VIEW)의 사용 목적 - [1] 편리성 : 복잡한 명령/수식 등을 간결하게 사용 가능 - [2] 보안성 : 중요 데이터를 외부로 제한적으로 제공 * DBO의 원천데이터를 선별적으로 가공하여 사용자에게 (조회)권한 부여 ■ 뷰(VIEW)의 실제 형태 - .bat 파일과 같이 실제로는 Select ~ from SQL문이 들어가있는 형태 ■ 뷰(VIEW)를 생성할 수 있는 권한 부여 *최고 권한자만 권한을 부여할 수 있다. grant create view to 계정 ■ 뷰(VIEW)의 생성 및 ..

    [DATABASE] DECODE, CASE~END 문

    ■ DECODE 문 형식 : DECODE(필드(연산식), 비교값1, 결과값1, 비교값2, 결과값2, 비교값3, 결과값3, 기본값) CREATE TABLE MEMBER ( IDX NUMBER(38), DEPTNO NUMBER(10), NAME CHAR(4 CHAR), GENDER CHAR(3 CHAR) ); /* INSERT 생략 */ SELECT IDX, DEPTNO, NAME, DECODE(DEPTNO, 10, '총무부', 20, '영업부', 30, '전산실', 40, '관리부', '경리부') AS DEPTNAME; ■ CASE ~ END 문 CASE ~ END -- 형식 1 : 하나의 조건에 대한 값을 비교하여 결과를 얻는다. CASE 필드(연산식) WHEN 비교값1 THEN 결과값1 WHEN 비교값..

    [DATABASE] 정렬(ORDER NY) 및 그룹 통계(GROUP BY)

    [DATABASE] 정렬(ORDER NY) 및 그룹 통계(GROUP BY)

    ■ 정렬 (ORDER BY) ORDER BY 필드 [asc | desc] 필드를 기준으로 정렬 ORDER BY 필드1 [asc | desc], 필드2 [asc | desc] 필드1을 기준으로 1차 정렬 후, 필드2를 기준으로 2차 정렬 * ASC = ASCENDING (오름차순), DESC = DESCENDING (내림차순) ■ 그룹 통계 (GROUP BY) GROUP BY 필드 필드의 분류를 기준으로 그룹핑 * SELECT ~ FROM 사이에 들어올 수 있는 항목, GROUP BY 컬럼, 통계함수(COUTN,SUM,AGV,MIN,MAX..) [예제1 _ 부서별 인원수, 급여 합계를 구하는 쿼리] SELECT DEPTNO 부서번호, AVG(SALARY) 급여평균, MAX(SALARY) 최고급여, MIN(..

    [DATABASE] SELECT쿼리 진행 순서, 서브쿼리

    ■ SELECT 쿼리 진행 순서 FROM, JOIN > WHERE, GROUP BY, HAVING > SELECT > ORDER BY > DISTINCT > LIMIT ▼ 자세한 진행 순서 [더보기] 더보기 1. FROM과 JOIN - JOIN이 먼저 실행되어 데이터가 SET으로 모아지게 된다. 서브쿼리도 함께 포함되어 임시 테이블을 만들 수 있게 도와준다. 2. WHERE - 데이터셋을 형성하게 되면 WHERE의 조건이 개별 행에 적용된다. WHERE절의 제약 조건은 FROM절로 가져온 테이블에 적용될 수 있다. 3. GROUP BY - WHERE의 조건 적용 후 나머지 행은 GROUP BY절에 지정된 열의 공통 값을 기준으로 그룹화된다. 쿼리에 집계 기능이 있는 경우에만 이 기능을 사용해야 한다. 4..

    [DATABASE] 중복 값 제거 _ DISTINCT

    ■ 중복값 제거 DISTINCT - 하나의 컬럼의 데이터를 뽑아낼 때, 중복값을 제거하고 출력 SELECT DISTINCT AGE FROM MEMBER;

    [DATABASE] 함수

    [DATABASE] 함수

    ■ 변환 함수 https://webstudynote.tistory.com/60 함수 내용 TO_CHAR(number) TO_CHAR(number, format) TO_CHAR(date, FORMAT) DATE형, NUMBER형을 문자 타입으로 변환 TO_DATE(char, format) CHAR, VARCHAR2형을 DATE 타입으로 변환 TO_ NUMBER(char) CHAR, VARCHAR2의 데이터 타입을 숫자형식으로 변환 더보기 출처 : http://www.gurubee.net/lecture/1027 - 주요 숫자 포맷과 날짜 포맷을 여기서 확인할 수 있다. ■ 문자열 함수 함수 내용 CONCAT('www.' , 'naver.com') 문자열 결합 연산자 || 와 동일한 기능을 하는 함수 INIT..

    [DATABASE] 연산을 통한 데이터 조회

    [DATABASE] 연산을 통한 데이터 조회

    ■ 연산자의 종류 - 산술을 제외하고, 관계/논리/기타 모두 문자열에 사용 가능하다. **산술은 문자열에 사용 불가하다. 연산자 코드 산술 연산자 + - * / mod(피젯수, 젯수) 관계 연산자 > >= = ~ > 마지막 Q결과 [2] 비교연산자 예시 -- 게시글 중에서 작성자가 '홍길동'인 게시글만 조회 SELECT * FROM NOTICE WHERE WRITER_ID = '홍길동'; -- 게시글 중에서 조회수가 100이 넘는 글만 조회 SELECT * FROM NOTICE WHERE HIT > 100; -- 게시글 중에서 내용을 입력하지 않은 게시글을 조회 -- ★ NULL의 경우 = 연산자 사용 불가. 반드시 IS를 써야한다. SELECT * FROM NOTICE WHERE CONTENT IS N..

    [DATABASE] 제약조건(Constraint)

    [DATABASE] 제약조건(Constraint)

    ■ 제약조건(Constraint)이란? - 데이터베이스에 들어있는 데이터의 무결성(정확성/일관성)을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하는 차원에서 걸은 제약 조건 - 모든 제약조건은 데이터사전(Dictionary)에 저장된다. - 제약조건에 사용자 지정 이름을 달면 Constraint를 쉽게 참조할 수 있다. *사용자 지정 이름 생성시, 표준 객체 명명법을 따르는 것이 좋다. ■ 제약조건의 종류 종류 내용 관련 무결성 not null 데이터가 없을 때(null 상태) 삽입을 허용 안 함 널 무결성 unique 도메인 내 중복값 허용 안 함 고유 무결성 check 조건에 맞는 값만 허용 도메인 무결성 default 기본값 - primary key 기본키 *기본키로 설정된 ..