[SQL입문 부트캠프] 메타코드M 데이터분석가 입문 필수 SQL 부트캠프 강의 후기 - 제 1과목 강의 개발 환경 및 개론

안상훈·2024년 4월 18일

메타코드M

목록 보기
1/27
post-thumbnail

개요

본 강의는 메타코드M에서 진행되는 이상훈 강사님의 실무에 적합한 SQL역량을 키우기 위해 준비된 강의입니다.
강의 정보는 아래 이미지 링크를 클릭해 주세요

https://mcode.co.kr/video/list2?viewMode=view&idx=53


1. 개발환경 세팅 및 개론


첫 부분의 시작은 SQL 사용을 위해 알아두어야 할 '데이터베이스'에 대한 간단한 소개, SQL(DMBS)에 대한 설명을 진행합니다.


우선 데이터베이스(DB)는 컴퓨터에 저장되는 데이터의 집합, 저장소를 의미하며,
이 DB를 관리하기 위한 시스템을 DBMS라 부릅니다.
SQL은 MySQL의 약자로 전세계에서 DBMS를 제작한 여러 회사 및 커뮤니티 중 오픈소스 형식의 DBMS라 볼 수 있습니다.
MySQL 프로그램을 배포하는 공식 홈페이지 https://www.mysql.com/와 그 프로그램에 대한 소개를 살펴보면 RDBMS이란 단어가 나오는데

이는 RDB(관계형 데이터 베이스)를 관리하는 시스템(RDBMS)를 의미합니다.
이때 DB가 RDB로 데이터의 차원이 높아지면서 Primary Key, Forigin Key 개념이 등장하는데

  • Primary Key : 데이터베이스의 하위 개념인 Table에서 테이블의 row을 식별하게 하는 유일값
  • Foreign Key : RDB는 데이터베이스가 다른 데이터베이스 혹은 데이터베이스 내 Table이 다른 Table와 관계를 갖은 상태가 전제되며, 이 관계된 다른 데이터 베이스 혹은 데이터베이스 네 다른 Table이 연결대상 Primary Key를 참조하는 Key를 의미한다.

Primary Key는 Table에서 Unique하게 존재하는 유일한 row 정보이며, 통상 index라 생각하면 되고, Foreign Key는 다른 Table의 Primary Key에 연결된 row정보이며, 이때 Foreign Key는 중복이 가능하다.

이렇게 DB와 관련된 개념을 학습하고 DB를 학습하기 위한 개발환경을 설정한다.

개발 환경에는 MySQL, HeildiSQL을 사용한다.

MySQL은 Installer만 설치하며, Workbanch는 설치하지 않는다. 이 Workbanch(Editor)에 해당하는 프로그램을 HeildiSQL을 사용한다 볼 수 있다.
강사님이 Editor(Workbanch)로 MySQL을 사용하지 않고, MySQL Installer만 적용하는 이유는 HeildiSQL이 좀더 직관적이고 간편하게 사용 가능한 것으로 생각한다.
약간 Visual Studio와 VScode의 관계로 이해하면 편할 듯 하다.


2. 데이터 타입

MySQL에서 지원 가능한 데이터의 자료형은 크게 4개로 아래와 같다.

데이터 및 저장되는 데이터 자료의 용량 최적화의 측면에서 C/Python의 데이터 자료형과는 다르게 문자형은 고정/가변/TEXT 3가지 형테로 제공되며, 모두 최대 길이값(n)을 적용해 용량최적화가 가능하다.
이는 숫자형, 실수형도 마찬가지이며, 실수형은 (n, d)형태로 n은 전체 자리수, d는 소수점 뒤 자리수를 의미한다. 따라서 n-d는 실수형의 정수형 자리수가 된다.

3. Database

MySQL은 데이터베이스에서 데이터를 관리하기 위해 하나의 하위 저장소 계층을 갖을 수 있는데 이것이 Table이다. 하나의 데이터 베이스는 하위 Table을 여러개 갖을 수 있으며, 각 Table은 관계를 맺을 수 있다.

이는 위 사진처럼

CREATE TABLE 테이블 이름(
	컬럼명, 데이터타입,
    컬럼명, 데이터타입
    ...

형식으로 입력하여 Table을 생성 할 수 있다. 테이블 생성시에는 테이블 내 삽입하는 row(데이터 행)의 정보는 여러가지 데이터 타입의 묶음이 될 수 있기에 이 데이터 타입의 표현이 Col이라 볼 수 있다.

MySQL의 Editor로 사용중인 HeildiSQL에서 위 Create명령을 수행하여 Table을 생성하면 위 사진과 같이 Database에 Table이 설정한 Col에 맞춰 생성됨을 알 수 있다.

4. 주요 명령어

생성된 테이블에 테이블의 사전 설정된 Col의 규격에 맞춰 Data묶음을 넣는 INSERT

테이블의 이름 변경, 테이블 내 새로운 Col 삽입, Col속성 변경, Col이름 변경, Col 삭제 등을 수행할 수 있는 ALTER

5. 외부 데이터베이스 가져오기

외부 데이터베이스는 크게 CSV파일과 SQL파일을 가져오는 것이 가능하다.

*.csv 파일을 가져오는 것은 위 사진처럼 인코딩방식, 필드종결자등을 조정한 뒤
기존 데이터베이스의 Table이 사전 정의한 Col규격을 사용할 지, csv의 col규격을 새로이 인식하여 삽이할 지 결정할 수 있다.


삽입은 위 사진처럼 엑셀에서 불러온 csv와 동일한 형식으로 MySQL의 데이터베이스 내 새로운 테이블로 삽입하였다.
다음으로 SQL파일은 SQL파일 불러오기로 입력이 가능하며, 불러오면 쿼리 명령어 세트만 Display된다. 이를 실행하면 쿼리에 기록된 명령어 세트가 전부 실행되며, 명령어 세트에 따라 정의된 테이블 및 데이터가 생성된다.

profile
자율차 공부중

0개의 댓글