지난 겨울 혼공학습단 13기를 통해서 혼공R을 완주했다. 이번에는 14기로 혼공SQL을 시작하게 되었다. 사실 SQL에 대해서는 잘 몰랐지만, 국제기구에서 일하면서 대량의 데이터를 편하고 효율적으로 관리하기 위해서 배울 필요성을 느끼게 되었다.
하지만, 해외 학회 참석 일정으로 1주차는 지각을 해버리고 1-2주차를 한꺼번에 공부하게 되었다. 그래도 남은 6주 간 최선을 다해보자!
데이터 베이스(DB): 데이터의 집합
DBMS: 데이터베이스를 관리하는 소프트웨어 (Database Management System) *엑셀은 DBMS가 아님! 대용량 데이터를 관리하거나 여러 사용자와 공유하는 게 아니기 때문.
DBMS의 종류에는 MYSQL, SQL서버, 오라클, MariaDB 등이 있음. 이 중에서 MYSQL은 오픈소스이고 상용화가 많이 되어 있음. * 상용시장 점유율 1위는 오라클임. 그치만 오픈소스는 MYSQL!
- DBMS의 분류
(1) 계층형(Hierachial): 1960년대 초기 등장한 개념, tree형태의 테이터 구조. -> 처음 구상한 이후에 이를 변경하기가 까다로움. 그래서 지금은 사용X
(2) 망형(network): 이를 해결하기 위해 1970년대에 등장함. TREE 구조 내 하위 구성원들 간에도 연결된 유연한 구조. 그치만, 프로그래머가 모든 구조를 이해해야만 프로그램 작성이 가능한 단점, 그래서 요즘엔 잘 안씀.
(3) 관계형(relational): RDBMS라고도 부름. MYSQL 뿐만 아니라 대부분의 DBMS가 RDBMS형태로 사용됨. 테이블이라는 최소 단위로 구성, 이는 하나 이상의 열과 행으로 이뤄져 있음. 엑셀 표 같은 거임!
-> SQL이란?? RDBMS에서 사용되는 언어로 에스큐엘 OR 시퀄이라고 부름. 이는 데이터베이스 구성 언어이나 일반적인 프로그래밍 언어랑은 다름.
-> SQL은 특정 회사가 개발하는 게 아니라 국제표준화기구에서 SQL 표준을 설정함. 그런데 SQL을 활용하는 DBMS 제작 회사가 상이하기에 표준SQL이 이를 모두 포용하지 못함. 그래서 제품 특성을 반영한 SQL을 사용함. 따라서 대표적인 3대 DBMS (오라클, SQL 서버, MYSQL)은 표준 SQL을 사용함.
기본 숙제를 해보자면~~~
아이유를 멤버 이름에서 추출해야하는데, 계속 전체 표가 같이 나왔다.. 무슨일이지.. 일단 그래도 표 만들고 데이터 확인하는 것 까진 했지만. 프롬포트에도 에러는 없는데 왜 아이유만 추출이 안되는지 모르겠다.
※주의 사항
P.S. 혼공족장님 늦어서 죄송합니다...ㅜㅜ