programming/database

    오라클 GUI, SQL Developer 설치하고 접속하기

    오라클 설치, 그 다음은? 지난 포스팅 오라클 설치, 이대로만 하자! (Oracle 11g Installation) 을 잘 따라오신 분들이라면 이제 오라클을 Windows 환경에서 사용할 수 있게 되었습니다. 하지만 실제로 우리가 데이터베이스를 사용하는 경우는 방대하고 복잡한 쿼리문이 대부분입니다. 이걸 명령 프롬포트 창에서 일일이 확인하기란 쉽지 않습니다. 물론 일부 기업에서는 SQL*Plus 를 사용하기도 합니다. 하지만 보통 Toad나 SQL Developer 같은 GUI 툴을 이용하여 데이터베이스를 다룹니다. Toad는 온전히 활용하기엔 유료 라이선스라 기회가 된다면 다뤄보기로 하고, 이번 포스팅에서는 SQL Developer를 설치하고 접속하는 방법에 대해 알아보겠습니다. 설치를 위해 오라클 사..

    SQL Developer로 작성한 파일에서 한글이 깨진다면?

    어떤 Tool 을 사용하기 전에 개발환경 셋팅은 정말 중요한 부분을 차지합니다. 후에 생길 수 있는 문제의 수고로움을 덜어주는 효과가 있죠. 그 중 하나로 인코딩 설정이 중요합니다. 며칠 전 포스팅했던 SQL*PLUS에서 한글 깨짐에 이어 SQL Developer 마저도 한글이 깨지는 안타까운 모습을 보이게 되었습니다. 다행히도 간단한 작업만 해주면 해결할 수 있으니 친절한 설명과 함께 바로 잡아봅시다. 1. 작성한 .sql 파일에서 한글이 깨진 것을 확인공들여 작성한 SQL 파일을 Github에 push하려고 하던 찰나, 이런 끔찍한 광경을 확인하였습니다.문제를 해결하기 위해 복사본인 join2.sql을 만들었습니다. 2. 도구 - 환경설정 - 환경 탭에서 인코딩 설정메뉴바에 있는 도구 탭에서 환경설정..

    Windows 기반 MySQL 5.1.44 설치 완벽 가이드

    1. MySQL 설치 사이트로 이동링크를 클릭하게 되면 다음과 같은 화면이 나타납니다. - Product Version: 5.1.44- Operating System: Microsoft Windows- OS Version: All

    [Oracle] 백업 및 복원

    11. 백업 및 복원 11.1 백업 및 복원의 중요성 전쟁에서 실패한 지휘관은 용서할 수 있어도, 경계에 실패한 지휘관은 용서받지 못한다(맥아더 장군). 작전 실패는 용서해도 배식 실패는 용서할 수 없다(말년병장). 배송에 실패한 업체는 용서할 수 없다(소비자). 백업에 실패한 DB 관리자는 용서할 수 없다(개발팀장). 11.2 기본툴(exp, imp)을 이용한 백업/복원 방법 오라클 서버의 실행파일 디렉토리로 이동(Oracle 11g XE의 경우) C:\oraclexe\app\oracle\product\11.2.0\server\bin\ 11.2.1 exp.exe를 이용한 백업 방법 형식) exp userid=계정명/패스워드 file=백업파일이름 cmd> cd C:\oraclexe\app\oracle\p..

    [Oracle] PL/SQL

    10. PL/SQL 가. PL/SQL 이란? PL/SQL : Oracle's Procedural Language extension to SQL오라클에 내장되어 있는 절차형 언어프로그램을 논리적인 블록으로 나누는 구조화된 블록 언어변수 선언문, 조건문, 반복문(loop, while, for)등을 지원 나. PL/SQL Block Structure 선언부(선택), 실행부(필수), 예외 처리부(선택)로 구성됨BEGIN과 END 키워드는 반드시 기술 image 1) Declarative Section(선언부, 선택)변수, 상수, CURSOR 등을 선언 2) Executable Section(실행부, 필수)SQL 문장, 반복문, 조건문 등을 실행BEGIN으로 시작하고 END로 끝남 3) Exception Hand..

    [Oracle] 고급함수

    9. 고급함수 9.1 null값 처리함수 9.1.1 NVL null값을 포함하는 컬럼을 특정한 값으로 전환하는 함수 -- 형식: nvl(null값을 포함하고 있는 컬럼이나 식, 전환하고자 하는 목표값) (문제) emp 테이블에서 사원의 이름, 직책, 커미션 (수당) 을 나타내시오. 단, 커미션이 없는 사원은 3%의 커미션을 적용하시오. SELECT ename, job, sal*nvl(comm, 3)/100 커미션 FROM Emp; (문제) emp 테이블에서 사원의 이름, 직책, 연봉을 나타내시오. SELECT ename, job, sal, comm, (sal*12 + comm) 연봉 FROM Emp; -- nvl(A, B) A의 값이 null이면 B, null이 아니면 A select ename, dep..

    [Oracle] View, Index, Sequence

    8. View, Index, Sequence 8.1 뷰(view) 8.1.1 정의 테이블에 대한 가상의 테이블로써 테이블처럼 직접 데이터를 소유하지 않고 검색시에 이용할 수 있도록 정보를 담고 있는 객체. 테이블 정보의 부분집합 8.1.2 사용 목적 8.1.2.1 테이블에 대한 보안 기능을 설정해야 하는 경우 8.1.2.2 복잡하며 자주 사용하는 질의 SQL 문을 보다 쉽고 간단하게 사용해야 하는 경우 8.1.3 뷰 생성 권한 부여 cmd> sqlplus / as sysdba; SQL > grant create view to 사용자; 8.1.4 뷰 생성 (형식) create or replace view [force | noforce] 뷰이름 (컬럼리스트) as [쿼리] - replace : 이미 존재하는..

    [Oracle] 테이블과 제약조건

    7. 테이블과 제약조건 7.1 테이블 7.1.1 테이블 생성 -- number 최대 38자리, number(전체자리수, 소수이하자리수) CREATE TABLE T_Emp ( id NUMBER(5) NOT NULL, name VARCHAR2(25), salary NUMBER(7, 2), phone VARCHAR2(15), dept_name VARCHAR2(25) ); 7.1.2 테이블명 수정하기: rename ~ to ~ RENAME T_Emp TO S_Emp; 7.1.3 테이블에 데이터 입력 INSERT INTO S_Emp VALUES (100, '이상헌', 2000, '010-2222-3333', '개발부'); INSERT INTO S_Emp VALUES (101, '최순철', 3000, '010-33..

    [Oracle] 서브쿼리

    6. 서브쿼리 6.1 정의 하나의 SQL 문장 내부에 존재하는 또 다른 SELECT문 (비교) 메인쿼리: 서브쿼리를 포함하고 있는 SQL문 (목적) 메인쿼리 내부에서 추가적인 정보 제공 6.2 구분 6.2.1 메인쿼리와의 연관성에 따라 6.2.1.1 연관성이 없는 서브쿼리: 서브쿼리로 산출된 ROW들은 메인 쿼리와 독립적인 서브쿼리 (문제) Emp 테이블에서 월급을 가장 많이 받는 사원정보를 조회하시오. (문제) 사원들의 평균 월급보다 많은 급여를 받는 사원의 이름, 부서명, 급여를 조회하시오(단일행 서브쿼리). SELECT e.ename, d.dname, e.sal FROM Emp e, Dept d WHERE e.deptno = d.deptno AND e.sal > ( 사원들의 평균월급 ); (문제) ..

    [Oracle] 트랜잭션과 그룹쿼리

    5. 트랜잭션과 그룹쿼리 5.1 트랜잭션(transaction) 5.1.1 정의 5.1.1.1 분리되어서는 안되는 (논리적인) 작업단위 5.1.1.2 데이터베이스 내에서 한꺼번에 수행되어야 할 일련의 연산들 5.1.2 트랜잭션은 한꺼번에 완료가 되거나 한꺼번에 취소가 되어야 함(원자성) 5.1.3 TCL(transaction control language: 트랜잭션 제어어) DML문이 실행되어 DB에 저장되거나(commit) 되돌리기(rollback) 위해서 실행해야 하는 SQL문 5.1.3.1 commit : SQL문의 결과를 영구적으로 DB에 반영하는 SQL문 5.1.3.2 rollback : SQL문의 결과를 이전 transaction의 끝부분까지 취소하는 SQL문 5.1.3.3 savepoint ..

    [Oracle] Join

    4. Join 4.1 정의 하나의 테이블로 원하는 컬럼 정보를 참조할 수 없는 경우 관련된 테이블을 논리적으로 결합하여 원하는 컬럼 정보를 참조하는 방법 4.2 전제조건 4.2.1 논리적으로 결합되는 2개 이상의 테이블에는 반드시 공통 컬럼이 있어야 함4.2.2 공통 컬럼은 데이터 타입과 데이터가 동일해야 함 4.3 Join 형식 SELECT 컬럼 리스트FROM 조인대상 테이블들(컴머로 구분, 별칭사용)WHERE 공통 컬럼을 이용한 조인조건AND 일반조건; (문제) Student, Department 테이블을 검색하여 이름, 학과코드, 학과이름을 출력하시오. (문제) Emp 테이블의 사원번호와 Dept 테이블의 부서명을 조회하시오. select e.empno, d.dnamefrom emp e, dept ..

    [Oracle] Function

    3. 함수 가. 정의어떤 일을 수행하는 기능으로써 주어진 인수를 입력받아 처리하여 그 결과를 반환하는 일을 수행하는 것 나. 함수의 종류 1) 단일행 함수 : 하나의 행당 하나의 결과값을 반환하는 함수문자함수, 날짜함수, 문자변환함수, 숫자변환함수, 날짜변환함수, 시스템함수, 숫자함수 2) 복수행 함수[집계 함수, 그룹함수] : 여러 개의 행당 하나의 결과값을 반환하는 함수count(), sum(), avg(), max(), min() 다. 단일행 함수 1) 문자함수가) chr(아스키 코드) : 해당 아스키 코드값에 대한 문자 반환'모든 문자는 그에 대응하는 숫자가 존재합니다. 가능하면 sql에서 답을 만들어 오면 제일 좋다.select chr(65) from dual; 나) ascii(문자) : 문자의..