Today I Learned

20210331, 0402_TIL

하루 회고 

 

패스트캠퍼스 데이터 사이언스 스쿨 (DAY 27, 29)

- 3월 31일, 4월 2일은 모두 MySQL 과정으로, 이어지는 내용이었기에 한번에 쓴다(고 합리화한다)

 

 

데이터베이스 - MySQL

1. MySQL 설치와 Workbench 세팅 

 

2. 데이터베이스의 개요  

- 데이터베이스란 데이터를 통합하여 관리하는 데이터의 집합을 의미한다 

 

  2.1 DBMS

 - 데이터베이스 관리시스템

 - SQL은 Structured Query Language : 관계형 데이터베이스 관리 시스템에서 데이터를 관리하기 위해 사용하는 "언어/문법"

 - 스키마는 테이블의 구조, 테이블 간 관계를 포함한 전체 구조 

   2.1.1 RDBMS

   - 데이터 테이블 사이에 키값으로 관계를 가지고 있는 데이터베이스

   - 관계성으로 인해 저장/삭제 속도는 느리지만, 로딩 속도는 빠름

   - 따라서 Insert는 적어도 로딩이 자주 있을 때 유리

   - Oracle, MySQL 등

  2.1.2 NoSQL

   - 데이터 테이블 사이의 관계가 없이 데이터를 저장 

   - 데이터 간 관계가 없어 많은 데이터의 저장이 가능 

   - 저장/삭제 속도가 빨라 빅데이터 활용이 증가하면서 중요성이 대두되고 있지만, 대신 로딩 속도는 느림

   - 따라서 Insert는 많고 로딩이 별로 없을 때 유리 

   - MongoDB, 카산드라 등 

 

 

3. 주요 문법 

 - 표준 SQL을 따르는 경우 어느 정도 호환되며, 일부 함수명이 다를 수 있다(ex MySQL ↔ Oracle)

 

  3.1 RDBMS에서의 모델링 개념 

   - 개념적 모델링 → 논리적 모델링 물리적 모델링  

 

  3.2 SQL문의 종류

    3.2.1 DML : Data Manipulation Language

     - 데이터 검색 / 삽입 / 수정 / 삭제에 사용하는 데이터 조작어 

     - SELECT, INSERT, UPDATE, DELETE 

    3.2.2 DDL : Data Definition Language

     - DB 개체 생성 / 삭제 / 변경 

     - CREATE, DROP, ALTER, TRUNCATE 

    3.2.3 DCL : Data Control Language (아직 진도 안 나감)

     - 사용자의 권한 부여 / 회수 

     - GRUNT, REVORKE, DENY

 

  3.3 추가 내용 

   - SQL 문에서도 기본 연산자를 사용한다 : 산술 연산자 / 비교 연산자 / 논리 연산자     

   - World , Sakila 데이터를 활용한 MySQL 실습 

 


 

SQL 문의 보다 상세한 내용은 정보성 포스트로 분리하여 업로드하는 것이 나을 것 같다. 클래스 내부에서는 파이썬을 거치고 와서 그런지 SQL이 상대적으로 쉽게 느껴진다는 평이 많았다. 확실히 더 간결(?)하고 Pandas로도 이미 비슷한 작업을 몇번 해봐서 쉽게 느껴지는 것도 있는 것 같다. 

 

팀 프로젝트로 드디어 전처리가 끝나간다! 이번 주말은 본격적으로 시각화, 분석에 Deep Dive할 수 있을 듯:)

'Today I Learned' 카테고리의 다른 글

20210423_그동안의회고  (0) 2021.04.23
20210401_TIL  (0) 2021.04.03
20210329-0330_TIL  (0) 2021.03.31
20210326_TIL  (0) 2021.03.27
20210325_TIL  (0) 2021.03.27