Computer Science/Database :: 데이터베이스

데이터베이스 1강 :: 데이터베이스 등장배경, DBMS, 시스템 아키텍처

HJPlumtree 2022. 2. 24. 20:04

데이터베이스 1강을 보며 배운내용

 

 

데이터베이스 강의 시청 시작

목표는 기본적인 SQL 배우기

 

 

AI

새삼 데이터베이스의 역사를 듣다보니

갑자기 AI가 등장한게 아니라는게 느껴진다

데이터를 받기 시작한 때부터 쌓이고,

신속하게 처리할 방법을 연구하고

데이터를 분석하다 보니 자연스레 등장하게 된 것 같다

다음은 뭘까?

 

 

데이터베이스 이전(🇧🇩 : Before Database)

데이터 중복 문제

데이터 중복이 많아지면,

일관성, 보안성, 경제성에서 문제 발생

 

무결성 훼손 문제

데이터가 가질 수 있는 가능 범위(제약조건)를 포함한다

 

동시 접근의 문제

동일 데이터에 다수 사용자가 접근하면 일관성 훼손된다

 

 

데이터베이스 등장(🇦🇩 : After Database)

위의 문제들을 막기 위해 데이터베이스가 나왔다

데이터 사용과 데이터 관리 사이에 존재

 

프로그램과 데이터 격리 및 추상화

다중 데이터 뷰 제공: 일부만 볼 수 있다

트랜잭션 처리: 동시성 제어해서 일관성 유지 가능

 

 

DBMS 3단계 구조

  • 내부 단계: 물리적의 단계(프로그래머가 저장하는 데이터)
  • 개념 단계: 데이터 구조, 의미(프로그래머가 보는 전체적인 데이터 뷰)
  • 외부 단계: 데이터 볼 수 있는 뷰(실제 사용자가 보는 뷰)

 

개념-내부 사상

외부-개념 사상: 논리적 데이터 독립성 확보

 

 

다수 사용자 트랜잭션 처리

명령어를 순차적으로 실행해서 일관성 훼손 방지

트랜잭션: 논리적 작업을 위한 데이터베이스 명령의 집합

 

 

🔖 막간 용어 사전

데이터 = 값 + 메타 데이터

데이터베이스 = 데이터의 집합

데이터베이스 관리 시스템(DBMS) = 데이터의 구성, 저장, 관리, 사용을 위한 패키지

데이터베이스 시스템 = 정보를 데이터베이스에 저장, 관리하며 사용자 요구한 형태로 정보 제공하는 컴퓨터 시스템

 

 

데이터베이스 언어

DBMS는 사용자가 데이터베이스 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스 제공

 

역할에 따른 종류

데이터 정의 언어(DDL: Data Definition Language)

: 데이터베이스 객체 생성, 수정, 삭제

: 특징, 물리적 사항 등 정의

 

데이터 조작 언어(DML: Data Manipulate Language)

: 구조화된 데이터에 사용자가 접근, 조작

: 사용자 그리고 시스템한테 모두 데이터 조작 쉽고, 간편하도록

 

✨ SQL

자연어와 유사한 형태로 요즘 표준화 되는 중이라고 한다

(이 강의 듣기 시작한 이유! 4강 즈음에 나온다!)

 

 

데이터베이스 시스템 아키텍처

중앙 집중식

단일 서버가 다수의 클라이언트 장치 대신 작동

저렴하지만 과부하된다

 

분산 시스템

클라이언트 장치의 성능 향상으로 자체 처리 능력 보유

클라이언트-서버가 분산해서 부하도 막는다

서버 사이드에 로직 유무에 따라 2계층, 3계층 구조

 

=> 특징에 따라 맞는 것을 이용!