[하드스킬 단련하기] 데이터베이스 기초
몇 주간 자기소개서를 써서 제출하고, 개중 감사하게도 면접을 볼 수 있는 기회를 준 몇몇 회사의 면접을 준비하느라 정신없는 나날을 보냈다. 그러다 보니 다급한 마음에 책도 읽고 운동도 하고 나름 알차게 보내고 있던 루틴이 일부 무너지고 저 둘에만 몰두하게 됐는데, 오히려 집중도도 떨어지고 전반적으로 나에게 긍정적이지는 않다고 판단했다. 항상 '지원자'로서의 기본적인 세팅이 완료되면 '직업인'으로서 실무에 투입됐을 때의 충격을 줄이고 빠르게 적응할 수 있도록 준비를 병행하고 싶었고, 단순히 취업이 목적이 아니라 PM이 되고 싶었던 초심으로 되돌아가 보려고 한다! 그중 하드 스킬 측면에서는 현재 가장 강하게 땡기는(?) SQL부터 다시 파볼 생각이다. 기본 문법뿐 아니라 데이터베이스의 개념부터 차근히 공부할 수 있는 강의가 있어서 정리해본다.
'데이터의 집합'. 데이터베이스에는 우리 일상생활 대부분의 정보가 저장되고 관리된다. 카카오톡 메시지, 인스타그램에 등록한 사진, 카페에서 구매한 아이스 아메리카노 등의 정보가 모두 데이터베이스에 기록된다.
데이터베이스를 관리하고 운영하는 소프트웨어.
(*엑셀과 같은 프로그램의 경우 '데이터의 집합'을 관리하고 운영한다는 차원에서 DBMS로 볼 수 있지만, 대용량 데이터를 관리하거나 여러 사용자와 공유하는 개념과는 거리가 있기 때문에 DBMS라고 부르지 않는다.)
대표적인 DBMS : MySQL, 오라클, MariaDB 등
'구조화된 질의 언어'. DBMS에 데이터를 구축, 관리하고 활용하기 위해 사용되는 언어. SQL을 사용하면 DBMS를 통해 중요한 정보들을 입력, 관리하고 추출할 수 있다.
대부분의 DBMS가 사용되는 형태. RDBMS의 데이터베이스는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)로 이루어져 있다.
테이블의 구조를 미리 설계하는 개념으로, 건축 설계도를 그리는 과정과 비슷
*프로젝트 : 현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정, 대규모 소프트웨어를 작성하기 위한 전체 과정
소프트웨어 개발 단계
폭포수 모델(waterfall model)
1) 프로젝트 계획
2) 업무 분석
3) 시스템 설계
4) 프로그램 구현
5) 테스트
6) 유지 보수
데이터베이스 모델링 : 우리가 살고 있는 세상에서 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정
관련 용어 정리
DBMS : 데이터베이스 관리 시스템 또는 소프트웨어
열 : 테이블의 세로.
열 이름 : 각 열을 구분하기 위한 이름. 열 이름은 각 테이블 내에서는 서로 달라야 한다.
데이터 형식 : 열에 저장될 데이터의 형식
행 : 실질적인 진짜 데이터
기본 키 : 각각의 행을 구분하는 유일한 값(열에 지정). 중복 X, NULL X
데이터베이스 구축 절차
데이터베이스 만들기 -> 테이블 만들기 -> 데이터 입력/수정/삭제하기 -> 데이터 조회/활용하기