1-1) 데이터베이스(DB : DataBase)
1-2) 데이터베이스 관리 시스템(DBMS : Data base management system)
1-3) 관계형 데이터 베이스
관계형 데이터 베이스 종류
오라클(Oracle), 사이베이스(Sybase), 인포믹스(Infomix), MYSQL, Acess, SQL Server
관계형 데이터베이스 정보를 테이블 형태로 저장합니다.
테이블은 2차원 형태의 표처럼 볼 수 있도록 로우(ROW:행)와 칼럼(COLUMN:열)으로 구성합니다.
테이블이라는건 컬럼과 로우로 이루어진 자료이며
데이터베이스라는건 여러개의 테이블이 모여서 하나의 데이터 베이스를 만들고 그러한 데이터베이스들이 모여서 DBMS 를 만든다.
웹 사이트에 접속하여 오라클을 다운받을 수 있습니다. 해당 OS에 맞는 것을 선택합니다.
링크 : http://www.oracle.com/technetwork/kr/index.html
데이터베이스 접속을 시도하면 오라클 데이터베이스를 사용할 수 있는 사용자인지를 검증하기 위해서 사용자 계정과 암호를 묻게 됩니다.
오라클을 설치하게 되면 기본적으로 생성되는 사용자 계정 중에서 hr을 사용합니다. hr의 패스워드는 1234입니다.
SQL> alter user hr account unlock;
User altered.
SQL> alter user hr identified by hr;
User altered.
SQL> conn hr/hr
Connected.
데이터 정의어(DDL)
데이터베이스 관리자나 응용 프로그래머가 데이터베이스의 논리적 구조를 정의하기 위한 언어로서 데이터 사전(Data Dictionary)에 저장 됩니다.
데이터 조작어(DML)
데이터베이스에 저장된 데이터를 조작하기 위해 사용하는 언어로서 데이터 검색(Retrieval), 추가(Insert), 삭제(Delete), 갱신(Update) 작업 수행 합니다.
데이터 제어어(DCL)
데이터에 대한 접근 권한 부여 등의 데이터베이스 시스템의 트랜잭션을 관리하기 위한 목적으로 사용되는 언어입니다.
SQL의 문장은 5가지로 이루어져있다. 내가해당하는 작업을할때 테이블을 변경을 할것인지 또는 컬럼을 작업할것인지에 따라 DQL,DML / DDL 를 구분할줄 알아야한다.
테이블에서 데이터를 조회하기 위해서는 테이블의 구조를 알아야 합니다. 테이블의 구조를 확인하기 위한 명령어로는 DESCRIBE가 있습니다.
DESC 명령어는 테이블의 칼럼명, 데이터 형, 길이와 NULL 허용 유무 등과 같은 특정 테이블의 정보를 알려줍니다.
SELECT는 데이터베이스 내에 저장되어있는 테이블을 조회하기 위한 명령어입니다.
SELECT 다음에는 보고자 하는 대상의 칼럼명을 기술합니다. SELECT 다음에 *을 기술하면 지정된 테이블의 모든 칼럼을 조회합니다.
FROM 다음에는 보고자 하는 대상의 테이블 이름을 기술합니다.
사원번호에 해당되는 칼럼명은 empno이고 사원명에 해당되는 칼럼명은 ename입니다. empno와 ename을 출력하기 위해서는 출력하고자 하는 순서대로 기술하되 칼럼과 칼럼 사이에 콤마를 기술합니다.
급여로 연봉 계산을 해보도록 합시다. 일반적으로 연봉은 급여를 12번 곱한 것이므로 연봉을 구하기 위해서 산술 연산자를 사용합시다.
널은 ? 혹은 ∞의 의미이기 때문에 연산, 할당, 비교가 불가능합니다.
다음은 산술 연산에 NULL을 사용하는 경우에는 특별한 주의가 필요합니다.
이를 설명하기 위해서 연봉 계산에 커미션을 더하는 예를 살펴봅시다.
SQL>
select ename, salary, job, dno, commission,
salary12, salary12+commission
from employee;
SQL>
select ename, salary, job, dno, nvl(commission, 0),
salary12, salary12+nvl(commission, 0)
from employee;
SQL에서 쿼리문의 결과가 출력될 때, 칼럼명이 칼럼에 대한 헤딩(heading)으로 출력됩니다.
칼럼명 대신 별칭을 출력하고자 하면 칼럼을 기술한 바로 뒤에 AS 라는 키워드를 쓴 후 별칭을 기술합니다.
칼럼명과 별칭 사이에 공백을 추가하거나 특수문자( $, _, #, 등)를 추가하거나 대소문자를 구분해야 하는 경우에는 ""을 사용하여 별칭을 부여해야 합니다.
중복되는 부서번호를 한 번씩만 출력하기 위해서는 키워드 DISTINCT를 사용합니다.
hr이라는 데이터베이스안에 DUAL 이라는 테이블이 있다. SQL안에서 연산을 사용하는 연습장같은 공간이다.
DUAL 테이블은 DUMMY라는 단 하나의 칼럼에 X라는 단 하나의 로우만을 저장하고 있으나 이 값은 아무런 의미가 없습니다.
쿼리문의 수행 결과가 하나의 로우로 출력되도록 하기 위해서 단 하나의 로우를 구성하고 있을 뿐입니다.