Oracle 기초 : 이론(1) Database & DBMS

codePark·2020년 6월 10일
2

Oracle

목록 보기
1/23

Oracle/DB 기초 이론

  • SQL이란? Structured Query Language, 즉 구조화된 질의 언어를 이르는 말로, Relational Database에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어이다. 원하는 데이터를 찾는 방법이나 절차 등을 기술하는 것이 아니라 조건을 기술하여 작성하며, DBMS에 따라 사용되는 SQL 문법이 다르다.

  • Data와 Information의 차이란? 현실 세계에서 관찰, 측정 등을 통해 수집한 단순한 사실이자 실제 결과값으로, 가공하지 않은 상태이다. 그에 반해 정보(Information)은 Data를 기반으로 하여 의사 결정에 도움을 줄 수 있는 유용한 형태로, 자료를 가공(처리)하여 얻은 결과물이다.

  • 파일 처리 방식과 Database 방식의 차이점이란? 기존의 파일 처리 방식은 처리 업무마다 독립적인 데이터 파일을 구성한다. 즉, 같은 내용의 데이터가 서로 다른 업무의 파일에서 중복적으로 저장되며 이는 데이터 종속성/중복성을 유래한다. 즉, 1. 데이터의 일관성을 유지하기 어렵고 2. 중복되어 있는 모든 데이터에 동등한 보안 수준을 유지하기 어려우며 3. 저장공간을 비롯한 시공간적 낭비가 불가피해 경제적이지 않고 4. 제어의 분산으로 데이터의 정확성을 무결히(Integrally) 유지할 수 없다.

  • Intergrity(무결성, 온전성): 정밀성, 정확성, 완전성, 유효성의 의미로 사용되며 데이터 베이스의 정확성을 보장하는 문제를 의미한다.

Database(DB)란?

  • 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고, 중복되는 데이터를 최소화하여 구조적으로 통합 및 저장한 것. Database의 특징이자 정의로는 Operational(별도의 "목적을 위해" 운영되는), Shared(공동으로 사용되는), Integrated(중복을 최소화, 중복으로 인한 데이터 불일치를 제거한. 즉 통합된), Stored(저장 장치에 저장된) 등이 있다.

  • 또한 Real-Time Accesibility(실시간 접근 가능의), Continuous Change(지속적으로 변화되는), Concurrent Sharing(동시 공유의), Reference by Content(데이터의 "값(컨텐츠)" 에 의해 참조되는) 와 같은 특징을 가진다.

DBMS와 DBMS의 사용 이점이란?

  • DBMS(Database Management System): Database에서 데이터를 Retrieval(추출), Manipulation(조작), Definition(정의), Control(조작) 등을 할 수 있게 해주는 Database 데이터베이스 전용 관리 프로그램.

  • DBMS의 사용 이점으로는 1. 데이터와 응용프로그램의 분리를 통해 상호 영향의 정도 감소(데이터 독립화), 2. 중복되는 데이터를 최소화해 저장 공간의 낭비를 감소시키며, 무결성 검증의 용이함(데이터 중복 최소화, 데이터 무결성 보장) 3. 응용프로그램이 DBMS를 통해 DBMS가 허용하는 데이터에만 접근 가능하므로 접근 통제 및 데이터의 암호화 가능(데이터 보안 향상) 4. 다양한 방법으로 데이터를 백업할 수 있으며, 장애 발생시 빠른 데이터 복구의 가능(관리 편의성 향상) 등이 있다.

DBMS의 종류

  1. Hierachical Database
    데이터의 관계를 tree구조로 정의하고 부모, 자식의 형태를 갖는 구조.
    즉 상위의 record가 복수의 하위 record를 갖는 구조이나 데이터 중복 문제 발생.
  2. Network Database
    1의 데이터 중복 문제를 해결하였으며 records간 관계를 그물처럼 갖는 구조.
    하지만 복잡한 구조로 인해 추후에 구조 변경히 상당히 어려움.
  3. Relational Database(RDBMS)
    Row/Column으로 구성된 Table간의 관계를 나타내에 데이터를 표현한 구조.
    Oracle이 여기에 해당됨.
  4. Object-Oriented Database
    객체 지향 데이터 베이스 모델을 가진 Relational DB의 일종.
    기존 관계형과 다르게 사용자 정의 타입을 지원함.

DBMS의 기본 구조와 Schema

  • 수많은 Data들은 Table에 담기고, 그 Table들은 Schema 안에 담겨있는 구조이며 그러한 Schema를 DBMS가 관리하는 구조이다.

  • Schema란?

  1. Database의 구조와 제약 조건에 관한 전반적인 명세를 기술한 Metadata의 집합.
  2. Database를 구성하는 Entity(데이터 개체), Attribute(속성), Relationship(관계) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
  3. 사용자의 관점에 따라 외부 Schema, 개념 Schema, 내부 Schema로 나뉜다.

DBMS의 기능과 역할

  • 일반적으로 4가지의 기능, 즉 Data Query Language, Data Manipulation Language, Data Definition Language, Data Control Language = DQL, DML, DDL, DCL로 분류하나 보다 효과적으로 분류하자면 다음과 같다:
  • DML: Data Manipulation Language + DQL Query Language
    Data를 조작하기 위해 사용하는 언어. Data의 CRUD(Create, Read, Update, Delete) 등의 동작을 제어한다. Data를 이용하려는 사용자(Application)과 시스템간의 인터페이스를 직접적으로 제공하는 언어로, 가장 많이 사용된다. 대표적인 명령어로는 Insert(데이터 삽입), Update(데이터 수정), Delete(데이터 삭제)가 있으며, DB Server의 실제 반영을 위해 직접 commit; rollback;이 필요하다.
  • DDL: Data Definition Language
    table 등 Database의 구조를 정의하거나 변경, 삭제하기 위해 사용되는 언어로, DB 관리자 또는 설계자가 사용한다. 대표적인 명령어로는 Create(개체 생성), Alter(개체 수정), Drop(개체 삭제), Truncate(개체 초기화)가 있다. !!commit이 자동으로 이루어진다.!!
  • DCL: Data Control Language + TCL Transaction Control
    사용자의 권한이나 관리자 설정 등을 처리하는 언어. 대표적인 명령어로는 Grant(유저 권한 부여), Revoke(유저 권한 회수/삭제)가 있다. 또한 TCL의 대표적인 명령어로는 commit(Transaction 종료 처리 후 저장), rollback(이전 commit 시점으로 돌아가기, 즉 Transaction 취소), savepoint(임시 저장)이 있다.
profile
아! 응애에요!

0개의 댓글