본문 바로가기
Database/SQL

[SQL] 데이터베이스의 기본 이론 개념 1탄

by 과외선생J 2020. 11. 13.
반응형

안녕하세요 ~ 과외선생J입니다. 

 

데이터베이스를 공부하던 중 전반적인 데이터베이스의 기본 개념을 좀 정리하고 가면 좋을 것 같아서 이번 포스팅을 작성하게 되었습니다. 

 

교재나 다른 곳에서 얘기하는 개념보다는 제 언어로 제 생각대로 적는 부분이라 혹시라도 보시다가 잘못된 개념이 있다면 얼마든지 댓글로 말씀해주시면 감사하겠습니다 ^-^ 

 

* 본 포스팅은 중부기술교육원 수업과 한빛미디어 데이터베이스 개론과 실습 책을 기본바탕으로 공부한 뒤 작성되었음을 알립니다. 

 

우선 기본 용어 몇가지를 안내 하고 포스팅을 작성하겠습니다.

DBMS : 데이터 관리 프로그램 - 그냥 프로그램의 이름입니다. 

SQL : Structured Query Language 라고 C++이나 자바같은 컴퓨터 언어 중에 데이터에 특화된거라고 보시면 됩니다. 

모델 : ~ 모델이라고 나오는 용어들이 나오는데 그냥 개념도라고 보시면 됩니다. 즉 실체화 되지 않은 논리적인 영역입니다. 계속 듣다보면 익숙해져요~ 이해하려고하면 머리가 터질 수 있으니 유의바랍니다. 

 

데이터란?

데이터는 데이터 정의와 데이터 값으로 이뤄져있습니다. (자료는 자료의 성격과 자료 내용으로 이뤄져있다는 말과 같습니다. ) 

예시) 학생에 대한 데이터라고 할 경우 학생이름 이라는 정의와 실제 OOO이라는 이름의 값으로 이뤄져 있습니다. 

 

데이터베이스 시스템의 구성

기본적으로 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델 3가지로 구성되어 있습니다. 

데이터베이스 : 하드디스크에 저장된 데이터

DBMS : 데이터베이스를 관리하는 프로그램

데이터 모델 : 논리적인 개념으로 데이터 저장 기법

 

 

데이터베이스는 누가 쓰나요? 

일반사용자, 응용프로그래머, SQL사용자, 데이터베이스 관리자로 나눠볼 수 있습니다. 

일반사용자는 사실상 데이터베이스인지도 모르고 사용하는 사람들을 말합니다. 

응용프로그래머는 위의 일반사용자가 어려운 데이터베이스를 쉽게 이용할 수 있는 프로그램을 만드는 사람을 말합니다. 

SQL사용자는 데이터베이스를 SQL을 이용하여 처리하는 사람들을 말합니다. 즉, 현재 공부를 하고 있는 제가 여기에 해당하게 되는것이죠! 

데이터베이스 관리자는 모~든 데이터베이스 시스템을 총괄하는 사람입니다. 즉, 데이터베이스에 대한 모~든것을 알고 있어야 하는 머리가 매우 좋은 사람입니다. 

-> 한줄 요약 : 우리는 SQL사용자로 SQL을 공부하고 SQL로 데이터를 만질 수 있으면 된다. 

 

 

DBMS의 등장배경

데이터베이스 관리 프로그램 (DBMS)가 나오게 된 이유부터 한번 보도록 하겠습니다.

 

시간이 지남에 따라 산업이 발전하고 정보화 시대가 되고 그러다보니 저장해야 하는 자료의 양은 점점 더 많아지게 되었습니다. 그걸 종이로 저장하자니 자리도 많이 차지하고 찾아보려니 시간도 너무 오래걸리는 단점이 발견되게 됩니다. 거기다가 동일한 내용의 정보를 한 장소가 아니라 여러장소에서 봐야하는 경우가 생기면 이게 보통 골치아픈게 아닌게 되죠. 그래서 생긴게 데이터베이스 관리 프로그램입니다. 

-> 한줄 요약 : 정보가 너무 많아서 효율적으로 관리하게 위해 탄생한게 DBMS이다. 

 

 

DBMS란? 

사용자와 데이터베이스를 연결시켜주는 프로그램을 말합니다. 사용자가 데이터베이스를 조작도 하고 삭제도 하고 등등등등 일을 할 수 있게 해주는 프로그램입니다. 

 

DBMS 구조

DML/DDL 컴파일러 : SQL 번역

Embedded DML : 삽입된 SQL 번역

질의처리기 : 번역된 SQL 처리

기타 : 등등.. 어렵다... 하 ... ㅠㅠ 

 

DMBS는 현재 SQL 기반의 관계 데이터 모델를 가장 믾아 사용한다고 합니다. 

-> 한줄 요약 : 굳이 몰라도 된다. 그냥 프로그램이란 것만 알자. 

DBMS의 기능

DDL, DML, DCL 3가지가 있습니다.

DDL(data definition language) : 데이터 정의어 - 데이트 구조에 대한 정의 및 삭제 변경 기능

DML(Data manipulation language) : 데이터 조작어 - 데이터를 조작하는 언어로 검색,삽입,수정,삭제 기능

DCL(Data control language) : 데이터 제어 - 백업, 회복 등 데이터베이스 사용자에 대한 제어를 하는 기능

 

-> 한줄 요약 : 요약할게 없다. 하지만 매우매우 중요하니 꼭 기억하자.

 

데이터 모델 

이건 안적으려다가 한번 적어보겠습니다.

 

계층 데이터 모델, 네트워크데이터 모델, 객체데이터모델, 객체-관계 데이터모델 등이 있었으나 몰라도 됩니다. 

가장 많이 쓰는 관계 데이터 모델만 알면 됩니다. 

기억할만한 것으로는 관계데이터모델과 객체 데이터 모델의 장점을 결합한 객체-관계 데이터 모델이 있습니다. 

모델에 대한 내용은 추후 더 자세히 다루도록 하겠습니다. ( 작성자가 아직 공부전입니다.. 흑흑)

-> 한줄 요약 : 우리는 관계데이터 모델을 공부하니 다른건 다 까먹고 관계데이터모델만 기억하자! 

 

데이터베이스의 3단계 구조

데이터베이스 -> 내부단계 -> 개념단계-> 외부단계 로 이루어져 있습니다. 

각 단계에는 스키마라는게 존재하며 조직이나 구조 정도로 이해하시면 됩니다. 

 

최대한 간단하고 이해하기 쉽게 정리해보도록 하겠습니다. 

내부 단계 : 실제 저장 방법입니다. 하드 디스크에 저장되는 물리적인 구조를 뜻한다고 보시면 됩니다.

개념 단계 : 전체 데이터 베이스의 정의입니다. 조직별로 하나씩만 존재하며 DBA가 관리합니다. 쉽게 말해 그냥 데이터 모음 이라고 보면 됩니다. 

외부단계 : 사용자가 보는 단계입니다. 여러개의 외부 스키마가 존재할 수 있습니다. 각 부서나 해당 정보를 보고자하는 사용자에 따라 필요한 외부스키마가 다르기에 여러개가 존재할 수 있습니다. 

 

각 단계 사이에는 매핑이라는 것이 필요한데 이것은 각 단계의 스키마 끼리 어떻게 연결되는지 대응관계를 정의하는 것입니다. 외부/개념 매핑과 개념/내부 매핑이 있습니다. 매핑( mapping)은 번역하면 사상이라고도 합니다. 

-> 한줄 요약 : 매핑이라는 단어와 스키마라는 단어만 잘 기억하자. 추후에도 계속 나온다. 

 

 

어설프게나마 기본적인 이론에 대해서 정리를 해보았습니다.  제대로 된 Database로 들어가기 전에 기본적인 용어나 개념은 머리속에 넣고 다음 단계로 가셔야 내가 뭘 공부하는지 알고 길을 잃지 않을 수 있다고 생각 됩니다. 

 

읽어주셔서 감사합니다 ^^ 

다들 열심히 공부하시길 바랍니다 !! 아자!! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글