DBMS(DataBase Management System)

  • 관계형 데이터베이스(RDBMS - Relationship DataBase Management System)

  • 1950년에 미국 군대에서 처음 등장한 용어.
    군대에서 군비를 효율적으로 관리하기위해 모아놓은 시스템. 도서관의 개념을 도입하여 개발하면서 데이터의 기지라는 뜻으로 "데이터베이스"라는 용어를 사용하게 된다.

  • 1963년에 시스템디벨로프사가 심포지움에서 용어를 표면적으로 사용한다.

데이터베이스의 정의

  • data(자료) : 숫자, 단어, 영상등의 형태로 된 의미있는 단위.
    연구, 조사에 바탕이 되는 산재되어있는 재료.
    데이터를 의미있게 정리하면 => 정보

  • database : 체계화된 데이터들의 모임.
    여러 프로그램에서 통합된 정보를 저장하고 사용하는 공용데이터의 묶음.

데이터베이스가 필요한 이유

여러 사용자가 데이터를 공유하여 사용할 필요가 있음.
수시로 변경되는 데이터에 대한 번거로움을 최소화할 수 있다.
저장된 값에 의한 검색을 하고 싶을 때.

데이터베이스의 4가지 특징

  • 통합된 데이터, 공용데이터, 운영데이터, 저장데이터

통합된 데이터 : 데이터 중복을 최소화한 데이터의 집합
공용데이터 : 여러 Application사용자가 공동으로 사용.
운영데이터 : 데이터가 프로그램을 운영하는 데 있어 반드시 필요한 데이터
저장데이터 : 컴퓨터가 접근할 수 있는 저장매체에 저장된 데이터

  • DBMS는 실시간 접근성, 내용에 의한 참조, 동시공유 3가지의 특성을 가진다.

데이터베이스의 장점.

데이터의 중복성 최소화.
데이터를 공유(일관성, 무결성, 보안성).
최신상태로 데이터를 유지할 수 있다.
데이터의 표준화 가능.

데이터베이스의 단점.

데이터베이스 전문가가 필요, 많은 비용의 증가, 시스템의 복잡도 상승, 대용량 데이터를 사용하면 과부화가 발생.

데이터베이스의 필수기능.

정의기능(DDL), 제어기능(DCL), 조작기능(DML)

  • DBMS

    데이터베이스의 특징을 컴퓨터에서 사용할 수 있도록 개발된 프로그램.
    Oracle, MS-SQL, MySql, DBll, Sybase,,,,


Oracle DBMS

  • oracle.com에서 다운.

  • 설치시 주의( setup.exe는 관리자권한으로 실행, 설치파일은 한글명으로 된 하위 폴더에 넣지 않는다. 컴퓨터명은 영어.)

  • 설치 후
    background service로 동작( 부팅속도가 느려짐 )( OS가 부팅될 때 같이 실행되는 프로그램(알약, 카카오톡, Oracle,,,))
    foreground service( OS가 부팅된 후 사용자가 직접 실행하는 프로그램( Powerpoint, 한글, 반디집, eclipse, java,,,))

  • 설치, 가동법, 계정생성, create, 데이터형, insert, select, update, delete, truncate, drop, select 함수, subquery, constraint, alter, union, join, sequence, view, index, 계정생성, 권한부여, 백업, 복원

  • DBMS는 SQL(Structured Query Language)문 사용하여 테이블을 조작.

    • DDL( Data Definition Language ) : 정의어
      create, drop, truncate, alter
    • DCL( Data Control Language ) : 제어어
      commit, rollback, grant, revoke
    • DML( Data Manipulation Language ) : 조작어
      insert, update, delete, select( DQL( Data Query Language )로 분류하기도 한다.)

Oracle의 구조


Server instance 실행 / 종료

  • 제어판 > Windows Tools > 서비스 > -> 정지 후 실행.

  • sqlplus에서 실행 / 종료

  1. 관리자 계정으로 접속 : sqlplus "as/ sysdba"

  2. 서비스를 종료 : shutdowm abort

  3. 서비스를 시작 : startup


Server Process 실행 / 종료

  • 제어판 > Windows Tools( Window10 : 관리도구 ) > 서비스 > -> 정지 후 실행

  • DOS : lsnrctl.exe 사용.( 관리자 권한으로 실행 )

  1. 정지 : stop

  2. 실행 : start


sqlplus 사용

Oracle DBMS에서 제공하는 DB Client 프로그램.

DB Client 프로그램 : xxxListener(ServerPocess)서버에 접속하는 DB 클라이언트 SQL문과 SQLPlus문 사용할 수 있다.

쿼리문을 작성하고, 실행하고, 결과를 받는 일.

접속)

  • 아이디와 비번을 노출하여 접속
    sqlplus "아이디 / 비번"
    sqlplus 아이디 / 비번

  • 아이디만 노출
    sqlplus 아이디

  • 노출
    sqlplus

  • 프로그램 종료
    exit


계정 생성

  • 관리자 계정만 계정을 생성할 수 있다.( sqlplus "/as sysdba" )
  1. 일반계정을 생성할 수 있는 설정(alter) - c##이 붙지 않은 계정을 생성할 수 있다.
    alter session set "_ORACLE_SCRIPT"=true;

  2. 계정생성(create) - 계정과 비번을 설정하여 생성
    create user 계정명 indentified by 비번;

  3. 계정에 접속 권한을 부여(grant) - 접속 및 DB를 사용할 수 있다.(테이블을 생성)
    grant 권한,,, to 계정명;

  4. tablespace 사용권한 수정(alter) - 생성된 테이블을 사용할 수 있다.(insert 가능)
    alter user 계정명 default tablespace users quota unlimited on users;


RDBMS

  • 테이블을 생성한 후, 데이터를 체계적으로 분류하여 저장하고 사용하는 DBMS.
  • DBMS는 여러 프로그램이 존재

    Oracle, MS-SQL, DBll, Sybase, mySQL, Access,,,

-DB Vendor사는 모두 다르다
-DBMS에서 사용하는 SQL문은 모두 약간씩 다르다.
-ANSI( American National Standard Institute ) – SQL : 표준쿼리에서 파생됨


table 생성

데이터를 체계적으로 저장하고 관리하기 위해.
DDL중 create문을 사용.
모든 계정은 테이블을 생성할 수 있다.
테이블 명은 접속한 계정에서 하나만 생성할 수 있다.(테이블 명은 대문자로 유일)

문법

create table 테이블명(
컬럼명 데이터형(크기) constraint 제약사항명 제약사항 종류,//컬럼단위 제약사항, Column Level Constraint

...

constraint 제약사항명 제약사항종류(적용컬럼명),//테이블 단위 제약사항, Table Level Constraint

...

);
  • 현재 접속한 계정이 가지고 있는 모든 테이블 명을 검색(tab - DD(Data Dictionary) 사용)
    select * from tab;

SQL 문법

대소문자를 가리지 않는다. ' 나 "로 묶인 경우가 아니라면, 모두 다 대문자로 처리된다.
문자열은 '로 묶는다.
쿼리문의 끝에는 ;을 붙인다.

create table student(
 num number(4),-- 0~9999
 name varchar2( 15 ), -- name varchar2(15byte)
 tel varchar2(13),
 addr varchar2(300),
 class char(1),
 age number(3),
 height number(4,1), -- 0.0~999.9
 weight number(5,2), -- 0.0~999.99
 input_date date
);

*SQLPlus에서는 editor를 제공한다. => 쿼리문을 파일(.sql)로 저장한 후 다음번에 사용할 수 있다.
-editor 실행
sql>ed( edit ) 경로/파일명.sql

-저장된 쿼리를 실행
sql> @ 경로/파일명.sql


data type(데이터 형)

값을 저장하기 위해, 메모리에 이름을 미리 부여한 공간.
테이블의 컬럼을 생성할 때 사용.
bind변수를 선언할 때 사용.

0개의 댓글