'오라클'에 해당되는 글 3건

  1. 2012.06.20 테이블 스페이스 생성
  2. 2010.11.30 오라클 데이터 중복제거
  3. 2010.02.18 <오라클 정리>

순서

 

테이블 스페이스 생성 -> 임시 테이블 스페이스 생성 -> 사용자 계정 생성 -> 사용자 권한부여

 

1) 테이블 스페이스 생성

create tablespace 스페이스명

datafile '저장위치'

size 테이블 스페이스 크기

autoextend on 자동확장 여부

next 증가 사이즈;


예)

create tablespace sys_temp

datafile 'G:\tablespace\temp.dbf'

size 500m

autoextend on

next 100m;

 

2) 임시 테이블 스페이스 생성

create temporary tablespace temp_temp

tempfile 'G:\tablespace\temp_temp.dbf'

size 500m

autoextend on

next 100m;

 

3) 사용자 계정생성

create user 사용자명

identified by 비밀번호

default tablespace 테이블 스페이스 명(1번 예제의 빨간색)

temporary tablespace 임시 테이블 스페이스명(2번 예제의 빨간색)

 

예)

create user line

idenfified by line

default tablespace sys_temp

temporary tablespace temp_temp;

 

4) 사용자 권한부여

grant connet, resource, dba to line;

grant create any directory to line;

grant create procedure to line;

 

 

 

 

 

 

'오라클 > 오라클 정리' 카테고리의 다른 글

오라클 데이터 중복제거  (0) 2010.11.30
<오라클 정리>  (0) 2010.02.18
Posted by 미스터네오
,
중복된 ROW를 한방에 중복 제거해준다.

DELETE FROM 테이블명 A
WHERE A.ROWID > (SELECT MIN(ROWID)
      FROM 테이블명 B
                   WHERE A.컬럼명 = B.컬럼명)


'오라클 > 오라클 정리' 카테고리의 다른 글

테이블 스페이스 생성  (0) 2012.06.20
<오라클 정리>  (0) 2010.02.18
Posted by 미스터네오
,


///////////////////////////////////// Oracle 10g /////////////////////////////////////////

1. 설치시 네트워크 오류 발생에 대한 대처
    DHCP를 이용한 IP 할당이 되지 않을 경우 Microsoft Loopback Adapter를 설치해준다.
    그런다음 IP 설정을 192.168.xxx.xxx 혹은 10.10.10.10, 서브넷마스크는 255.255.255.0 으로 설정을 잡으면
    오라클에서 네트워크 인식이 가능하다.

2. Oracle 에 대한 기본
  (1) 관계형 데이터베이스란?
       자료를 관계와 2차원 테이블(ROW, COLUMN)로 표현하는 방식의 데이터베이스
  (2) DBMS(DataBase Management System)란?
       오라클과 같이 DB와 사용자와의 중간 역할로써, 데이터베이스를 관리해주는 시스템
  (3) SQL(Structured Query Language)이란?
       관계형 DB를 처리하기 위해 고안된 언어, 독자적 문법을 갖는 DB 표준언어(ISO 지정)로서
       질의 방식으로 데이터 처리를 하는 것이 가능하다.
  (4) PL/SQL(Oracle's Procedural Language extension to SQL) 이란?
       오라클에 포함되어있는 절차적 언어(Procedure Language)로서 변수정의, 조건처리, 반복처리 등을
       지원함으로서 효율적인 SQL문 작성을 도와준다.
 (5) 데이터베이스 모델링이란?
      데이터베이스를 구축하는 절차를 뜻하는 것으로 요구분석, 개념적 모델링,  논리적 모델링, 물리적 모델링의
      순서로 이루어진다. 또한 이 절차중 논리적 모델링시 ER다이어그램(Entity-Relationship Diagram)에 대해
      수학적인 검증작업을 하는 것을 정규화(Normalization)라고 부른다.

3. 정규화(Normalization)
   모델링에 맞게끔 테이블을 여러개로 분리하는 작업을 뜻한다.
  (1) 0차 정규화
       데이터를 수집하고 key 값을 결정한 형태
  (2) 1차 정규화
       반복되는 값들을 제거하기 위해 primary key 를 복사해서
       다른 테이블로 나누며 foreign key 로 지정한다.
  (3) 2차 정규화
       복합키(composite key)를 가지는 경우 이를 분리해낸다.
  (4) 3차 정규화
       식별자가 아닌 컬럼이 서로간에 종속적인 속성을 지닌 경우 분리한다.
  (5) 4차 정규화
       일반적으로 3차 정규화까지만 진행을 한다. 하지만 테이블에 완전히 서로에게 비종속적인 식별자들만
       3개 이상 존재하게 될 경우 이것들을 나눠서 2개 이상으로 나누는 정규화
  (6) 역정규화
       사용량이 많게되는 데이터가 있거나,  프로그램 운용시 실행속도를 위해서 유용하도록
       일부러 테이블을 분리하거나 다시 합치거나 하는 정규화

4. Oracle에 접속하는 방법
  (1) iSqlplus
       9i부터 추가된 방식으로 웹을 통하여 오라클에 접근해서 SQL 쿼리문을 실행하는 것이 가능하다.
       http://localhost:5560/isqlplus
  (2) sqlplus
       일반 콘솔창이나 오라클에서 제공하는 전용 프로그램으로 접속이 가능하다.
       sqlplus scott/tiger
  (3) enterprise manager
       10g부터 제공되는 것으로 웹으로 접근 가능한 오라클 관리 프로그램이다.
       http://localhost:1158/em
  (4) 쿼리 분석기 이용방법(toad, sqlgate 등)

5. Oracle의 기본 계정
  (1) sys : super admin. 최고 관리자로써 모든 권한을 다 가지고 있는 계정
  (2) system : 데이터베이스 운영자 계정으로써, 데이터베이스 생성을 제외한 대부분의 기능을 소유한 계정
  (3) scott : 학습용 계정
  (4) hr : 좀 더 진화된 학습용 계정

6. SQL*Plus 주요 명령어
  help index 를 통해서 sqlplus에서 제공하는 명령어들을 볼 수 있고, help ? 의 방식으로 각 명령의 도움말을
  볼 수 있다.
  (1) conn[ect] : 다른 계정으로 접속하기 위한 명령
  (2) @ : 특정위치의 SQL Script 파일을 실행하기 위한 명령
  (3) / : Buffer 에 저장되어있는 최근에 실행된 SQL 쿼리문을 다시 실행
  (4) set : sql*plus 의 환경에 대한 설정을 하는 명령
     <1> set lin[esize] 80 : 보여지는 가로 사이즈 지정
     <2> set pages[ize] 12 : 보여지는 세로 줄 사이즈 지정
  (5) ed[it] : 한번 실행한 명령을 수정하는 것이 가능
  (6) desc[ribe] : 특정 테이블이나 뷰등의 컬럼에 대한 정보에 대해서 간략하게 보는 명령

7. 오라클 기본 용어
  (1) table : 2차원의 구조를 가지는 기본 데이터 저장구조. Entity 라고도 불린다.
                 ex) emp, dept, sal
  (2) row : 테이블의 행 (하나의 유효한 데이터의 집합)
                 ex) 10  ACCOUNTING   NEW YORK
  (3) column : 테이블의 열(속성)
                    ex) deptno, dname, loc
  (4) primary key : 각 row 를 구별할 수 있는 식별자(고유의 값)
                          ex) empno
  (5) foreign key : 다른 테이블의 컬럼의 값을 참조하는 컬럼(외래키, 참조키)
                          ex) emp(deptno)
  (6) tablespace : 논리적인 단위의 테이블이 저장되는 공간
  (7) schema : 스키마. 사용자가 만든 그 사용자의 모든 객체들
  (8) session : 사용자가 login 해서 logout 까지의 단위
  (9) SGA(System/Shared Global Area) : 사용자가 실행한 SQL 문에 의해 검색 또는 변경되는
                                                          테이블 데이터를 임시로 저장하는 메모리 영역. 즉, 오라클 서버의
                                                          메모리 영역을 뜻한다.
  (10) PGA(Program Global Area) : Background process 또는 server process에 대한 
                                                 데이터와 제어 정보를 갖는 메모리 영역
  (11) instance : SGA 와 Background process 를 합쳐서 instance 라 부른다.

8. SQL 언어의 분류
  (1) DQL(Data Query Language) 
              테이블내의 데이터를 조회 (select)
  (2) DML(Data Manipulation Language) 
              데이터의 입력, 수정, 삭제와 객체명 변경 및 저장공간 회수 (insert, update, delete, rename, truncate)
  (3) DDL(Data Definition Language)
              테이블을 생성, 변경, 삭제 (create, alter, drop)
  (4) TCL(Transaction Control Language)
              DML 문에 의한 데이터 변경을 관리 (commit, rollback, savepoint)
  (5) DCL(Data Control Language)
              사용자에게 권한을 부여, 회수 (grant, revoke)

9. select
  (1) select의 실행순서
     <1> from
     <2> where
     <3> group by
     <4> having
     <5> select
     <6> order by
  (2) where 절 사용
     <1> 비교 연산자 : =, !=(<>, ^=), <, <=, >, >=
     <2> 논리 연산자 : AND, OR, NOT
     <3> SQL 연산자 : IN, BETWEEN AND, LIKE, IS NULL, IS NOT NULL, EXISTS ...;
            - LIKE 와 _, % 는 같이 쓰이며 한글자 혹은 0개 이상의 문자와 같은 자료를 검색할때 사용한다.
            - LIKE 에서 _ 나 % 를 문자로써 검색하려면 LIKE '\%' ESCAPE '\' 식으로 검색이 가능하다.
     <4> 연산자 우선순위
            1) prior, connect by
            2) *, /
            3) +, -, ||
            4) <, >, <=, =>, !=, =
            5) IS [NOT] NULL, LIKE, [NOT] BETWEEN, [NOT] IN, EXISTS
            6) NOT
            7) AND
            8) OR
  (3) group by 
       특정 컬럼을 대상으로 그룹을 지어서 데이터를 조회하고 싶을때 사용
       ※ group by 에서 선택한 컬럼이거나 그룹함수만 select에서 사용 가능하다.
  (4) having
       group by 에 의해서 그룹지어진 것들에 대해서 조건을 걸고 싶을때 사용
       실행의 효율성을 위해서 where 절에서 걸어야 할 조건들과 구분해서 사용하는 것이 좋다.
  (5) select 절 사용 
       - UNIQUE, DISTINCT, ALL 을 이용하여 고유의 값만을 찾거나, 중복을 제거하거나 할 수 있다.
  (6) order by 절 사용
     <1> 컬럼명 정렬방식
            ex1) order by ename asc, order by ename desc
            ex2) order by deptno desc, ename asc
     <2> 숫자 정렬방식
            ex) select ename, job, sal from emp order by 1 desc; (ename으로 정렬)
  (7) 집합연산자
       - UNION ALL, UNION(합집합), MINUS(차집합), INTERSECT(교집합)
       - 두개의 select 쿼리문을 합쳐서 똑같은 컬럼타입과 개수로써 데이터를 조회하는 연산자
       - order by 는 마지막 select 문의 뒤에 넣어야만 한다.

10. 단일행 함수(Single-Row Functions)
  (1) 숫자함수
     <1> mod() : 나머지 구하기
     <2> round() : 반올림
     <3> ceil() : 올림
     <4> floor() : 내림
     <5> abs() : 절대값
     <6> trunc() : 절삭
  (2) 문자함수
     <1> lower(), upper() : 소문자, 대문자로 변경
     <2> substr() : 특정 위치의 문자열 추출
     <3> instr() : 특정 문자열의 인덱스값 추출
     <4> reverse() : 문자열 거꾸로 뒤집기
     <5> length() : 길이
     <6> ltrim(), rtrim() : 왼쪽 혹은 오른쪽에서 특정 문자를 삭제
     <7> lpad(), rpad() : 왼쪽 혹은 오른쪽으로 일정 자리수를 특정 문자로 채움
     <8> replace() : 문자열 변환
  (3) 날짜함수
     <1> sysdate : 현재날짜
     <2> add_month() : 달을 더하기
     <3> last_day() : 이 달의 마지막 날
     <4> months_between() : 달과 달의 사이
  (4) 변환함수
     <1> to_char() : 숫자나 날짜를 문자타입으로 변환
     <2> to_date() : 포맷에 맞추어 문자열을 날짜타입으로 변환
  (5) 기타함수
     <1> decode() : switch case 와 비슷
                            decode(
     <2> case 문 : if 문과 비슷
                         CASE value 
                                  WHEN expr1 THEN 구문1
                                  WHEN expr2 THEN 구문2
                                  ELSE 구문3
                         END "별칭"
     <3> nvl(), nvl2()

11. 집합함수(복수행함수, Aggregate Functions)
  (1) avg() : 평균값
  (2) sum() : 합계
  (3) count() : 누적 행의 수
  (4) min() : 최소값
  (5) max() : 최대값
  (6) rank() : 순위

12. 분석함수(Analytical Fuctions)
  (1) first_value() over() : 첫번째 값 가져오기
  (2) last_value() over() : 마지막 값 가져오기
  (3) count() over() : 조건에 맞는 행의 수
  (4) sum() over() : 컬럼의 합 누적
  (5) rank() over() : 순위
  (6) dense_rank() over() : 같은 순위가 여러개일 경우라도 다음 순위는 +1
  (7) row_number() over() : 같은 순위는 있을 수 없고 고유의 번호를 부여

13. 정규 표현식(Regular Expression)
  (1) regexp_like() : 특정 조건을 만족하는 문자열을 찾는 경우
  (2) regexp_substr() : 특정 조건을 만족하는 문자열을 추출하는 경우
  (3) regexp_replace() : 특정조건을 만족하는 문자열을 다른 문자열로 변경하는 경우

'오라클 > 오라클 정리' 카테고리의 다른 글

테이블 스페이스 생성  (0) 2012.06.20
오라클 데이터 중복제거  (0) 2010.11.30
Posted by 미스터네오
,