Rad Blog

Archive

데이터베이스 기초 - 데이터베이스의 이해

2020-05-15 database xfrnk2

데이터베이스에 대해 공부한 내용을 이해하고 정리한 글입니다. 첫 공부이므로 기초적인 내용을 다루며 추후 자세한 정보로 업데이트를 예정하고 있습니다.


용어 구분

데이터베이스 관련
  • 데이터베이스 : 데이터의 집합
  • 데이터베이스 관리 시스템(DBMS) : 구성, 저장, 관리, 사용을 위한 S/W 패키지
  • 데이터베이스 시스템 : 데이터베이스와 어플리케이션을 연결
값, 데이터, 메타데이터
  • 값 : 다양한 해석이 가능한 상태
  • 데이터 : 하나의 값에 두개 이상의 설명 패드가 붙은 것
  • 메타데이터 : 값에 의미를 부여하는 부연설명

예)
12’C -> 값
오늘, 낮 최고기온 -> 메타데이터
위의 세 가지를 통틀어서 데이터 (값과 메타데이터의 묶음)


DB의 3단계 구조

내부 스키마
  • 개념 단계의 스키마를 어떻게 저장할것인지 결정
  • 물리적 단위(어디의 몇번째 파일)
개념 스키마
  • 전체 데이터의 구조를 나타내며 데이터의 의미만 표현
외부 스키마
  • 뷰, 사용자가 필요한 데이터를 볼 수 있는 공간
사상의 존재
  • 내부와 개념, 개념과 외부 사이에 각각 존재

트랜잭션

  • 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
  • 동시에 같은 데이터에 접근할수 없도록 하여 일관성을 유지

예)
명령어 집합인 A(출금)가 완전히 수행되기 전까지 다른 작업(입금)을 수행하지 않도록 함


데이터베이스 언어

  • DBMS는 편리성을 위해 언어 형태의 인터페이스를 제공
  • 현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL로 표준화
1. DDL(Data Definition Language)
  • 데이터를 저장할 수 있는 구조를 만드는 역할
  • 데이터베이스 객체를 생성, 수정 삭제
  • 논리적 구성과 특징 및 물리적 구성을 규정
2. DML(Data Manipulation Language)
  • 사용자의 접근 및 조작을 간편하고 정확하며 효율적이게 할 수 있도록 지원
  • 검색, 삽입, 삭제, 수정

시스템 아키텍쳐 방식

중앙 집중식 방식
  • 저렴한 구성, 과부하시 전체 시스템 성능 저하
분산 시스템 방식
  • 중앙 서버에게 데이터 관리만을 위임하고 일을 분산해서 처리
  • 소프트웨어의 유지 보수 비용을 절감 및 이식성 증가
  • 2계층 구조와 3계층 구조

2계층과 3계층의 차이
애플리케이션이 애플리케이션 서버와 클라이언트로 각각 분화하여 서버사이드와 클라이언트 사이드에 위치
-> 시스템 특징 및 상황에 따라 더 좋은 방식이 달라진다.

comments powered by Disqus