CS/데이터베이스

Ch1. 데이터베이스 소개

Frankie 2020. 1. 7. 19:23

이번에 dev2play 활동을 하면서 블로그에 공부한 걸 올리기로 했는데 이런 게 너무 익숙하지 않다보니 좀 낯설지만 일단 어설프게라도 시작해 볼 생각이다.

데이터베이스 공부는 edwith 부스트코스에서 인터넷 강의를 들으며 PPT로 공부했던 내용을 정리하는 식으로 공부했다.

아직은 Chapter 1만 했지만 곧 Chapter 12까지 수두룩하게 채워지는 것을 볼 수 있을 것이다!

 

Chapter 1은 데이터베이스에 대해 소개를 해줬고 1~3강까지 있었다. 배운 내용을 토대로 요약해보자면

 

우리가 흔히 아는 데이터베이스란 단순히 데이터를 모아놓는 것이 아니라

데이터베이스 매니지먼트 시스템(DBMS)을 의미하는 것이었다.

 

오늘날 데이터베이스는 여러 분야에서 쓰이고 있고 예를 들어 은행의 고객 계좌 관리나 우리가 흔히 했던 대학교 수강 신청이나 회사나 기관에서도 두루 쓰이고 있다.

 

1강의 내용은 초기 데이터베이스 시스템과 그 단점들을 알려주었고 추상화와 데이터베이스 스키마, 인스턴스에 대해 알아보았다. 자세한 내용은 첨부파일 자료 1강을 참조해보면 좋을 것 같다!

 

2강은 데이터 모델, 언어, 접근에 관한 내용인데 데이터 모델은 여러 모델이 있지만 이 중에서 들어보기는 많이 들어본 ER model도 있었는데 이는 객체(entity)와 객체들 사이의 관계로 표현된 모델인데 나중에 Chapter 7에서 자세하게 배우니 간단하게만 알고 넘어가자!

그리고 데이터 언어는 DML과 DDL이 있는데 DML(Data Manipulation Language)은 객체지향프로그래밍을 공부하면서 교수님이 알려주셔서 SQL로 사용해봐서 낯설지는 않았다. DDL(Data Definition Language)은 데이터베이스의 스키마를 정의하고 데이터의 특성을 표현하는데 사용된다.

마지막으로 데이터 접근은 여기서도 들어보기는 했었던 Normalization(정규화)에 대해 나오는데 데이터베이스 디자인 접근 방법은 2가지 인데 정규화와 ER model이라 한다. 정규화는 불필요한 데이터의 중복을 막기 위해 relation을 나누는 과정이라는데 역시 Chapter 8에 자세하게 나오므로 그때 깊이 들어가보자.

 

3강은 데이터베이스 구성요소, 구조, 역사에 대해 배웠는데 데이터베이스 시스템 모듈은 여러 모듈로 구성되지만 기능적인 면으로 봤을 때 Storage Management와 Query processing이 있는데 Storage Management는 데이터베이스에 저장된 low-level 데이터, 응용 프로그램, 쿼리 사이의 인터페이스를 제공하는 모듈이다. Query processing은 데이터베이스의 모든 과정 중 가장 중요한 부분 중 하나이며 사용자가 쿼리를 보내면 밑에 그림과 같은 과정들을 걸쳐서 아웃풋을 냈다.

 

Query Processing 그림

 

다음은 데이터베이스 구조 사진인데 맨 위가 사용자들이고 그 밑이 사용자들이 사용하는 툴과 인터페이스, 그리고 그 밑에는 쿼리 프로세서이다 그리고 그 밑은 storage manager인데 그 안에 transaction management는 시스템 사용 도중 시스템이 고장나거나 여러 사람이 같은 데이터를 갱신하려는 경우 충돌이 발생하는 것을 피하기 위해 사용된다.

맨밑층은 데이터베이스 시스템을 활용할 때 필요한 데이터가 저장되는 곳이다.

 

데이터베이스 구조 그림

 

데이터베이스 시스템의 역사는 ppt에 잘 정리해놓았으므로 그걸 참조하면 된다.

 

1강 DBMS.pptx
0.13MB
2강 Data Models,Languages,Approaches.pptx
0.11MB
3강 DB Components, Architecture, History.pptx
0.33MB

 

이렇게 어떻게 처음으로 블로그에 내가 공부한 걸 써봤는데 이 공부한 내용이 공부한 후 바로 올린 게 아니라서 조금 미흡할 수 있지만 앞으로 점차 보완해나갈 것이고 복습도 또한 열심히 해보려한다. 티스토리 블로그 또한 업그레이드 해갈 것이고 나중에 내가 한 걸 보았을 때 뿌듯했으면 좋겠다!

 

사진 및 내용 출처 - https://www.edwith.org/database/joinLectures/17288

'CS > 데이터베이스' 카테고리의 다른 글

Ch6. Entity-Relationship Model  (0) 2020.01.29
Ch5. Advanced SQL  (0) 2020.01.23
Ch4. Intermediate SQL  (0) 2020.01.22
Ch3. SQL  (0) 2020.01.19
Ch2. Relational Model  (0) 2020.01.09