성장 일기/쌍용교육센터 / / 2023. 1. 16. 10:23

0116/DBMS

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/ssangyonng.git에 올려두었습니다.

 

DBMS ( DataBase Management System )

  - 관계형 데이터베이스 (RDBMS – Relationship DBMS)

    데이터를 테이블에 저장하고, 테이블 간의 관계를 설정하여 사용하는 DBMS
  - 1950년에 미국 군대에서 처음 등장한 용어
    군대에서 사용하는 군비를 집중적, 효율적으로 관리하기 위해  도서관개념을
    도입하여 개발하면서 데이터의 기지라는 뜻으로 “데이터베이스”라는 용어를 사용하게 된다.
  - 1965년 시스템 디벨로프 사 심포지움에서 표면적으로 사용하게 된다.

 

* 데이터베이스 정의

  - data(자료) : 숫자, 영상, 단어 등의 형태로 된 의미있는 단위
                        연구,조사에 바탕이 되는 산재되어있는 재료
                        데이터를 의미있게 정리하면 정보가 된다.
  - database : 체계화된 데이터의 모임
                      여러 프로그램에서 통합된 정보를 저장하여 사용하는
                      공용데이터들의 묶음

 

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

  - 여러 사용자가 데이터를 공유하여 사용할 필요가 있음
  - 수시로 변경 변경되는 데이터에 대한 번거로움 최소화
  - 물리적인 주소가 아닌 저장된 데이터의 값에 의한 검색

 

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

  - 통합된 데이터 : 데이터의 중복을 최소한 데이터의 집합

  - 공용 데이터 : 여러 Application에서 공동으로 동시에 사용

  - 운영 데이터 : 존재 목적이나 유용성 면에서 필수적인 데이터

  - 저장 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터

 

* DB의 특성

  - 실시간 접근성

  - 내용에 의한 참조

  - 동시 공유

 

* 데이터베이스 장점

  - 데이터 중복성의 최소화

  - 데이터 공유( 일관성, 무결성, 보안성 유지 )

  - 최신데이터로 유지

  - 데이터의 표준화

* 데이터베이스의 단점

  - 데이터베이스 전문가 필요

  - 많은 비용 증가

  - 시스템의 복잡도 상승

  - 대용량 데이터를 사용하기 위해 접근이 집중되면 과부하가 발생

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

  - 정의 기능( DDL )

  - 제어기능( DCL )

  - 조작기능( DML )

* DBMS

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

* Oracle

  - oracle.com에서 다운
  - 설치 시 주의( 설치파일은 한글 폴더 하위에 존재하면 안된다. )

    컴퓨터명은 영어여야 한다.
  - 설치 후 background service로 동작( 부팅속도가 느려짐 )

 

 * background service

  - OS가 부팅될 때 같이 실행 되는 프로그램( 알약, 카카오톡, Oracle )

 

* foreground service

  - OS가 부팅된 후 사용자가 실행하는 프로그램( PPT, 한글, 알집, eclipse 등 )

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

  - DDL (Data Definition Language) 정의어.
  create, drop, truncate, alter
  - DCL ( Data Control Language ) 제어어
  commit, rollbak, grant, revoke 
  - DML ( Data Manipulation Language) 조작어
  insert, update, delete, 
  select(조작어 이지만 DQL –Data Query Language 라고 분류하기도 함)

* 구조


* 제어판 > 관리도구 > Service
  OracleService, TNSListener를 정지 및 실행, 재실행
* SQLPlus.exe ( Client Process ) => Oracle Service를 정지, 실행
   정지 : shutdown abort, 실행 : startup
* lsnrctl.exe => Server Process를 정지, 실행 => 관리자 권한으로 실행 될 때에만 된다.
   정지 : stop, 실행 : start


*SQLPlus.exe  ( Client Process ) 사용법 – DOS에서 사용한다.

  - 계정/비번을 넣고 접속

    sqplus 계정명/비번         
  - 계정만 넣고 접속

    sqlplus 계정명

  - 계정과 비번을 나중 입력

    sqlplus

* 관리자 계정으로 접속
  - 관리자의 비번을 넣지 않고 바로 접속( 로컬에서 가능 )
   sqlplus "/as sysdba"
  - 계정 관리, 서버 조작, 백업, 복원

 

* oracle version

  - 8i, 9i, 10g, 11g : 계정에 c##붙지 않는다.

  - 12c, 19c, 21c : 계정에 c##붙여서 만든다.

* 계정 생성

create user 계정명 indentified by 비번;

* 계정에  c##을 붙이지 않고 생성

  - 접속해 있을 때에만 유지

alter session set "_ORACLE_SCRIPT" = true;

 

 * 접속 및 DB 사용 권한 부여

grant connect to 계정명;
grant resource to 계정명;

 

* tablespace에 대한 권한 부여

alter user 계정명 default tablespace users quota unlimited on users;

 

* DBMS는 문자열을 제외한 모든 명령을 대문자로 처리한다.

RDBMS

  - 테이블을 만들고 데이터를 체계적으로 분류

* 테이블생성

  - DDL : create 사용

create table 테이블명(

-- Column level constraint
-- 컬럼단위 제약사항 => 생략가능
컬럼명 데이터형(크기) constraint 제약사항명 제약사항종류,
컬럼명 데이터형(크기) constraint 제약사항명 제약사항종류,
         .
         .
-- table level constraint
-- 테이블단위 제약사항 => 생략가능
constraint 제약사항명  제약사항종류(적용컬럼 ),
         .
         .
);

 

 

* Oracle에 제공하는 데이터형

  - 컬럼에 저장될 값의 유형을 설정할 때 사용
  - 컬럼에는 동일 데이터 형으로만 구성된다.

값 종류 데이터형명 기본크기 최대크기 사용 예
숫자 number 숫자 22자 숫자 22자 - 정수
 컬럼명 데이터형(크기)
 age number( 3 ) : 0~999까지 저장
 year number( 4 ) : 0~9999까지 저장
- 실수
 컬럼명 데이터형( 전체크기,실수크기)
 height number(4,1) 0.0~999.9
 weight number(5,2) 0.0~999.99
문자열 고정길이형 char 0 2000 설정한 크기보다 적은 문자열이 입력되더라도
설정된 크기를 유지하는 데이터 형



- 검색의 속도가 빠르다.
- 문자열의 길이가 같은 데이터를 저장할 때
  컬럼명 char(크기)
가변길이형 varchar2 0 4000 설정한 크기보다 적은 문자열이 입력되면
그 크기에 맞게 줄어드는 데이터 형.

- 검색의 속도가 느리다.
- 문자열의 길이가 다른 데이터를 저장할 때
  컬럼명 varchar2(크기)
날짜 date 크기 설정하지 않는다. 날짜를 저장할 때 사용.
레코드가 추가되는 시점의 날짜를
입력할 때에는 sysdate

컬럼명 date
긴 숫자 long 크기를 설정하지 않는다.
최대 2Gbyte의 숫자저장
컬럼명 long
긴 문자열 clob 크기를 설정하지 않는다.
최대 4Gbyte의 문자열저장
컬럼명 clob
- varchar2로 저장할 수 없는 길이의 문자열저장
파일 blob 크기를 설정하지 않는다.
최대 4Gbyte의 파일저장
컬럼명 blob
- DBMS에는 가급적이면 파일을 저장하지 않는다.


* char
  - 입력되는 데이터의 크기와는 상관없이 크기를 유지한다.
  - 저장공간의 효율성이 낮다.
  - 언어에서 비교할 때에도 공백까지 넣어서 비교해야 한다.

* varchar2
  - 입력되는 데이터의 크기에 맞게 저장공간이 줄어든다.
  - 저장 공간의 효율성이 좋다.
  - 언어에서 비교할 때 입력된 값과 동일하게 비교할 수 있다.

* editor 실행
  - SQL문을 파일에 저장하고 사용하는 툴
  - 편집모드
    sql> ed 경로/파일명.sql
            edit 경로/파일명.sql
  - 실행모드
    @경로/파일명.sql

* 오라클주석
  - 한줄주석 --
  - 여러 줄 주석 /* */

 

 

'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

0118/update, delete, select  (0) 2023.01.18
0117/insert, transaction, select  (0) 2023.01.16
0113/다 대 다 채팅  (0) 2023.01.16
0112/Socket, Thread  (0) 2023.01.12
0111/네트워크, 소켓 통신  (0) 2023.01.11
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유