본문 바로가기
Database

[DataBase ①] DB 기본 이론 (DBMS 개념 / 데이터 언어)

by 비전공자 기록광 2021. 9. 16.
반응형

DB 복습 INDEX

① DB 기본 이론 (DBMS 개념 / 데이터 언어)
② 데이터 모델링 (데이터모델 / 객체 / 속성)
③ 정규화 (이상현상 / 이행적 함수 종속)
④ 관계 데이터연산 (관계 대수 /관계해석 /SQL)
⑤ 트랜잭션 (트랜잭션 / 장애 / 회복)

데이터 Data

데이터는 자료이다. 자료는 우리가 사는 현실 세계에서 수집된 사실이다.

이를 정보처리한 결과가 바로 정보다.

 

 

데이터의 종류

  1. 정형 데이터 : 구조화된 데이터, 연산 가능  ex) 스프레드시트, RDBMS, CSV
  2. 반정형 데이터 : 구조를 파악하는 파싱과정 후 저장된 데이터, 연산 불가능 ex) NoSQL, JSON, HTML
  3. 비정형 데이터 : 정해진 구조 없이 저장된 데이터, 연산 불가능 ex) SNS텍스트, 영상, 이미지, PDF, Word

 

데이터베이스 Database 

데이터베이스는 데이터를 저장하고 관리하다가 필요시 제공하는 역할을 한다.

 

 

데이터베이스의 특징

  1. 실시간 접근이 가능하다.
  2. 계속적으로 변화한다.
  3. 여러 이용자가 동시 공유할 수 있다.
  4. 내용 기반으로 참조한다. (주소 X)

 

데이터베이스의 구조

  • 외부단계 : 일반 사용자 관점 → 외부 스키마 (여러개 존재)
  • 개념단계 : 조직 전체 관점 → 개념 스키마 (하나 존재)
  • 내부단계 : 저장 장치 관점 → 내부 스키마 (하나 존재)

 

데이터베이스 설계

  1. 요구 분석 : DB 사용자의 요구에 따라 분석한 후 설계에 필요한 요구 조건 명세서를 생성한다.
  2. 개념적 설계 : 트랜잭션 모델링을 수행한다. (E-R 모델) / DBMS 선정
  3. 논리적 설계 : 트랜잭션 인터페이스를 설계하고 선정한 DBMS에 따라 개념 스키마를 평가, 정제한다.
  4. 물리적 설계 : 선정한 DBMS에 맞게 파일 조직 방법, 접근 방법 등을 선정한다.
  5. 데이터베이스 구현

 

설계단계에서 가장 중요한 점은 데이터베이스의 데이터 무결성, 일관성, 보안성을 유지해야 한다는 점이다.

 

 

데이터베이스 사용자

  • 일반 사용자 : DB에 접근해 데이터를 이용하는 사람들을 말한다. (삽입, 삭제, 수정) / DML 주로 사용
  • 응용 프로그래머 : 데이터 언어를 사용해 응용 프로그램을 작성하는 사람을 말한다. / DDL 주로 사용
  • DBA (DB 관리자) : 사용자를 위해 DB를 설계, 구축, 제어하는 사람을 말한다. / DDL, DCL 주로 이용

 

 

DBMS ; Database Management System 데이터베이스 관리 시스템

일반적인 데이터베이스는 종속성, 중복성의 문제를 가진다. 이는 데이터베이스의 데이터의 질을 낮춘다. 

DB의 특징에 따라 여러명의 사람이 동시적으로 공유해 실시간 접근하고 그러면서 데이터는 계속 변화한다.

이렇게되면 데이터의 보안성, 일관성, 무결성은 낮아진다.

 

그래서 등장한 것이 DBMS이다. 

 

DBMS 기능

  1. DB 구조 정의 : Definition
  2. 데이터 조작 (CRUD + 연산) : Manipulation → 사용자 - DBMS 간의 인터페이스 제공
  3. 제어 (데이터 무결성 유지) : Control

 

DBMS 구성

  • 질의어 처리기 : 사용자의 데이터 처리 요구 해석해 처리
    • DDL 컴파일러
    • DML 컴파일러
    • DML 프리 컴파일러
    • 런타임 DB 처리기
    • 트랜잭션 관리자
  • 저장 데이터 관리자 : 저장된 DB와 데이터 사전을 관리하고 접근하는 역할을 함

 

데이터 언어

DBMS에서 사용하는 데이터 언어로는 세가지가 있다.

 

  • 데이터 정의어 DDL (Data Definition Language)  : 데이터를 정의하고 변경하고 삭제 (CREATE / ALTER / DROP)
  • 데이터 조작어 DML (Data Manipulation Language)  : 데이터를 선택하고 추가하고 수정하고 삭제 (SELECT / INSERT / UPDATE / DELETE)
  • 데이터 제어어 DCL (Data Control Language) : 데이터를 최종 저장하고 복구하고 DB 접근 권한을 관리 (COMMIT, ROLLBACK, GRANT, REVOKE)
반응형

댓글