티스토리 뷰

데이터베이스는 데이터를 모아 놓은것을 말한다. 그럼 아무 상관 없는 데이터를 모아 놓기만 하면 데이터베이스 인가. 그렇지는 않다. 서로 관련성을 가진 데이터들을 데이터 간의 중복성을 최소화 해서 체계적으로 모아 놓은것이 바로 데이터베이스 이다. 데이터베이스는 내부적으로 어떤 체계를 가지고 어떻게 구성하는가에 따라 몇가지 형태로 나뉜다. 그중 현재는 데이터를 테이블 구조로 구성하는 관계형 데이터베이스(RDB : relational database)가 널리 사용되고 있다. 관계형 데이터베이스를 중심으로 데이터베이스의 기본 개념을 알아보자.


1. 관계형 데이터베이스의 기본 개념

관계형 데이터베이스는 데이터를 테이블(표)로 표현한다. 문서를 작성할 때 흔히 만드는 표를 생각하면 이해하기 쉽다. 관계형 데이터베이스는 이와 같이 데이터를 항목으로 구분하여 테이블로 구성하는 것이다. 이렇게 하면 테이블의 생성이나 항목의 분할과 결합을 자유롭게 할 수 있어서 편리하기 때문에 관계형 데이터베이스는 데이터베이스 시장의 주류로 자리를 잡고 있다. MariaDB를 설치하고 사용하는데 필요한 기초적인 내용에 대해서 알아보자.

관계형 데이터베이스 관련 용어

관계형 데이터베이스에서 사용하는 몇 가지 기본 용어를 알아둬야 다음에 MariaDB를 사용할 때 이해하기 쉬울 것이다.

⊙ 데이터 : 각 항목에 저장되는 값이다.

⊙ 테이블 : 데이터를 체계화하여 행과 열의 형태로 구성한 것으로 테이블 이름을 붙인다.

⊙ 데이터베이스 : 관련 있는 데이터를 체계적으로 저장한 것으로 데이터는 테이블 형태로 저장되며, 데이터베이스에는 하나 이상의 테이블이 있을 수 있다. 데이터베이스 이름을 붙인다.

⊙ 필드 : 테이블의 열을 의미하며 칼럼이라고도 한다.

⊙ 레코드 : 테이블에 저장된 한 행의 정보를 의미하며 튜플(tuple)이라고도 한다. 한 행에는 여러 필드의 값이 저장될 수 있다.

⊙ 키(key) : 레코드를 구성하는 필드에서 각 레코드를 구분할 수 있는 필드 값을 뜻한다. 예를 들어 학생 데이터를 구성하는 레코드라면 학번 필드가 키가 될 수 있다. 키로 선택된 필드의 값은 중복될 수 없다. 키는 기본키(primary key)와 그외 다른 키들(foreign key 등)이 있을 수 있다. 

관계형 데이터베이스의 예

학생 데이터베이스를 예로 데이터베이스와 테이블의 개념을 살펴보자. 학생과 관련된 데이터는 학생의 신상데이터나 성적데이터, 장학데이터 등 여러가지가 있다. 일반적으로 데이터베이스를 구축할 때는 하나의 테이블에 모든 데이터 필드를 만들지 않고 적절히 여러 테이블로 분산한다. 

학생 DB(st_db)

이와같은 그림을 ERD(Entity-Relationship Diagram) 라고 한다.

위 그림을 보면 데이터베이스의 이름이 '학생DB'이고 데이터베이스에 학생 신상정보 테이블과 학생 성적 테이블이 있다. 학생 신상 정보 테이블은 학번, 이름, 학과의 세 필드로 구성되어 있고, 학생 성적 테이블은 학번, 리눅스, DB의 세 필드로 구성되어 있다. 각 테이블에는 레코드가 세개씩 저장되어 있다. 학번을 기본키로 사용하고 있는데 기본키는 테이블에서 각 레코드를 구분할 때도 사용하고 테이블과 테이블의 데이터를 연결할 때도 사용한다. 

쉽게 다시설명하면 한 행은 row라고도 하고 레코드 라고도 하며 한 열은 column이라고도 하고 필드라고도 한다. 이 필드와 레코드가 모여서 테이블이 되는 것이다.


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

데이터베이스 : MySQL 기본 명령어 정리  (0) 2015.07.01
데이터베이스 : MySQL 자료형의 종류  (0) 2015.06.28
데이터 정규화  (0) 2015.05.09
SQL의 기초  (0) 2015.05.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함