🗃️ 데이터, 쌓기만 하면 끝일까?
지금까지는 Pandas로 이미 잘 정돈된 CSV 파일이나 엑셀 파일을 다루는 데 익숙했다
하지만 path 설정 문제로 고생하다보니 문득 이런 생각이 들었다
“이 데이터들을 더 편하게 관리 할 수 없을까?”
오늘은 그 의문을 해결하기 위해, 데이터베이스와 SQL의 세계에 첫발을 내디뎠다
데이터를 그저 쌓아두는 것을 넘어
어떻게 체계적으로 관리하고, 원하는 정보만 쏙쏙 뽑아낼 수 있는지
그 방법을 배우는 시간이었다
🤔 데이터의 진짜 의미
이름, 나이, 이미지, 텍스트… 세상 모든 것이 데이터지만
이런 데이터 조각들은 구조(Structure) 를 만날 때 비로소 의미 있는 정보가 된다는 것을 깨달았다
마치 흩어진 레고 조각들을 모아 멋진 성을 만드는 것처럼
데이터에 구조를 부여하는 과정이 바로 데이터베이스의 시작이었다
데이터 종류 | 내가 느낀 점 |
---|---|
정형 데이터 | 📐 반듯한 사각형처럼 예측 가능하고 다루기 쉬운 모범생 |
반정형 데이터 | 📝 기본 규칙은 있지만, 약간의 자유를 허용하는 융통성 있는 친구 |
비정형 데이터 | 🎨 형태를 예측할 수 없는 자유로운 영혼, 하지만 가장 큰 잠재력을 지녔다 |
🏦 데이터를 보관하는 거대한 창고, DB
데이터베이스(DB) 는 데이터를 안전하고 효율적으로 보관하는 거대한 창고이고
DBMS는 그 창고를 관리하는 똑똑한 관리인이라는 비유가 마음에 와닿았다
특히 데이터를 저장하는 목적에 따라 다른 종류의 창고를 쓴다는 점이 흥미로웠다
저장소 | 한 줄 요약 |
---|---|
데이터 웨어하우스 (DW) | 🏭 전사적 분석을 위한, 잘 정돈된 대형 도매 창고 |
데이터 마트 (DM) | 🏪 특정 팀이 쓰기 편하게 만든 동네 편의점 |
데이터 레이크 (DL) | 🏞️ 일단 모든 걸 날것 그대로 던져 넣는 거대한 자연 호수 |
🤝 데이터들을 연결하는 힘, 관계형 데이터베이스 (RDBMS)
오늘날 우리가 가장 많이 사용하는 RDBMS는
데이터를 테이블(Table) 이라는 표에 나누어 담고
기본 키(Primary Key) 와 외래 키(Foreign Key) 라는 연결고리를 통해
이 테이블들을 서로 관계 맺게 한다는 사실을 배웠다
이렇게 데이터를 나누어 관리함으로써
데이터의 중복을 막고, 정확성을 유지(무결성) 할 수 있다는 점이
왜 RDBMS가 오랫동안 사랑받아 왔는지 알 수 있는 대목이었다
🗣️ SQL, 데이터베이스와 대화하는 방법
드디어 SQL을 만났다!
데이터베이스라는 거대한 창고에서 내가 원하는 물건을 꺼내오려면
관리인(DBMS)에게 말을 걸어야 하는데, 그 언어가 바로 SQL이었다
SQL 종류 | 역할 | 나의 다짐 |
---|---|---|
DDL (정의어) | 테이블의 뼈대를 만들고 부수는 일 | CREATE TABLE 은 이제 자신 있다! |
DML (조작어) | 테이블 안의 데이터를 넣고, 보고, 바꾸고, 지우는 일 | 앞으로 90%는 쓰게 될 SELECT 와 가장 먼저 친해져야겠다 |
DCL (제어어) | 누가 이 데이터에 접근할 수 있는지 권한을 관리하는 일 | 아직은 낯설지만, 협업할 때 꼭 필요할 것 같다 |
TCL (제어어) | 중요한 작업을 확정하거나(COMMIT) 되돌리는(ROLLBACK) 일 | 실수해도 괜찮다는 안도감을 주는 고마운 존재 |
✨ 앞으로의 다짐
오늘은 데이터 분석의 뿌리가 되는 데이터베이스와 SQL의 기본 개념을 익혔다
지금까지는 데이터의 값을 다루는데 집중했다면, 이젠 데이터 자체를 다루는 법을 배우기 시작한 기분이다
데이터를 자유자재로 다루며 새로운 인사이트를 발견하는 그날까지
SQL과 친해져 보려 한다 🔥