왕초보 주목! 데이터베이스 입문, 이것부터 시작하면 끝! (6편)
데이터베이스, 어렵지 않아! 중학생도 이해하는 쉬운 설명
요즘 AI 시대라 다들 정신없지? 뭘 해야 할지 모르겠고 정보는 넘쳐나고. 근데 말이야, 이런 시대일수록 기본이 중요해. 코딩도 좋지만, 기본을 탄탄히 해야 어떤 도구를 써도 제대로 활용할 수 있거든.
지난번엔 네트워크가 중요하다고 했는데, 사실 데이터베이스가 더 중요해! 물론 다 중요하지만, 앱이 돌아가려면 네트워크도 필요하고 데이터베이스도 꼭 필요하잖아?
그래서 오늘은 데이터베이스에 대해 아주 쉽게 이야기해 줄게.
데이터베이스, 그게 뭔데?
데이터베이스는 말 그대로 데이터가 저장되는 곳이야. 이건 그냥 컴퓨터 파일 같은 게 아니라, 데이터를 저장하고 관리하는 소프트웨어라고 생각하면 돼.
데이터베이스라고 하면 크게 두 가지 의미로 쓰여.
- 데이터가 저장되는 '곳' 자체: 마치 책꽂이처럼 말이야.
- 그 책꽂이를 관리하는 '소프트웨어': 책을 정리하고 찾아주는 역할을 하는 거지.
가장 많이 쓰이는 데이터베이스 소프트웨어로는 MySQL, Oracle 같은 것들이 있고, 요즘엔 MongoDB 같은 것도 많이 써.
어떤 사람들은 데이터베이스를 물리적인 장비(서버)까지 포함해서 이야기하기도 해. 그냥 컴퓨터라고 생각하면 돼. 그 컴퓨터에 데이터베이스 소프트웨어가 설치되어 있는 거지.
데이터베이스, 어떻게 나눌까?
데이터베이스는 데이터를 저장하는 방식에 따라 크게 두 가지로 나눌 수 있어.
- NoSQL DB (비정형 데이터베이스): 정해진 틀 없이 자유롭게 데이터를 저장하고 싶을 때 써.
- SQL DB (정형 데이터베이스): 정해진 틀에 맞춰 데이터를 저장하고 싶을 때 써. 이걸 관계형 데이터베이스(RDB)라고도 불러.
오늘은 이 관계형 데이터베이스(RDB)에 대해 좀 더 자세히 알아볼 거야.
관계형 데이터베이스(RDB), 엑셀이랑 비슷해!
RDB는 데이터를 테이블이라는 곳에 저장해. 마치 엑셀 시트처럼 말이야.
- 테이블: 회원 정보, 상품 정보, 주문 정보처럼 데이터를 종류별로 나누는 거야.
- 레코드: 테이블의 각 줄을 말해. 회원 한 명의 정보가 하나의 레코드인 거지.
- 컬럼: 테이블의 각 항목을 말해. 회원 테이블에는 아이디, 이름, 전화번호 같은 컬럼이 있겠지.
예시:
회원 테이블이 있다고 상상해 봐.
| 아이디 | 이름 | 전화번호 |
| :----- | :----- | :---------- |
| 1 | 김철수 | 010-1234-5678 |
| 2 | 박영희 | 010-9876-5432 |
여기서 '김철수'라는 한 줄이 레코드고, '아이디', '이름', '전화번호'가 컬럼이야.
테이블끼리 연결하는 '관계'
RDB의 핵심은 테이블 간의 관계를 맺는다는 거야.
예를 들어, '회원' 테이블과 '주문' 테이블이 있다고 해보자.
- 회원은 여러 번 주문할 수 있지?
- 주문은 특정 회원이 한 거야.
이렇게 회원 테이블과 주문 테이블을 연결해서, 누가 어떤 상품을 주문했는지 알 수 있게 하는 거지. 이런 관계를 잘 설계하는 게 데이터베이스를 잘 만드는 데 중요해.
SQL, 데이터베이스랑 대화하는 언어
데이터베이스에 데이터를 넣거나, 빼거나, 수정하거나, 조회할 때 사용하는 특별한 언어가 있어. 바로 SQL(Structured Query Language)이야.
SQL은 마치 우리가 외국어를 배우는 것처럼, 데이터베이스와 소통하기 위한 문법 같은 거야.
CREATE TABLE: 새로운 테이블을 만들 때INSERT INTO: 데이터를 넣을 때SELECT: 데이터를 조회할 때UPDATE: 데이터를 수정할 때DELETE: 데이터를 삭제할 때
이런 명령어들을 사용해서 데이터베이스를 다룰 수 있어.
데이터베이스, 직접 볼까?
실제로 데이터베이스를 관리하는 도구들이 있어. 'MySQL Workbench' 같은 프로그램인데, 이걸로 데이터베이스를 만들고, 테이블을 만들고, 데이터를 넣고 빼고 하는 걸 직접 해볼 수 있어.
마치 컴퓨터에 폴더를 만들고 파일을 저장하는 것처럼, 데이터베이스 안에도 '데이터베이스'라는 이름의 폴더를 만들고, 그 안에 '테이블'이라는 파일을 만들어서 데이터를 저장하는 거지.
왜 데이터베이스를 알아야 할까?
AI 시대라고 해서 데이터베이스를 모르면 안 돼. AI로 개발을 하더라도, 데이터가 어디에 어떻게 저장되는지 알아야 더 효율적으로 개발할 수 있거든.
오늘 설명한 내용은 아주 기본적인 내용이야. 더 깊이 공부하고 싶다면 SQL 문법을 배우거나 직접 실습해보는 걸 추천해!
다음에는 클라우드 같은 다른 재미있는 주제로 돌아올게!