Chapter 1
데이터베이스 DB : 데이터의 집합소.
DBMS Database Management System : 데이터베이스 관리 소프트웨어. DBMS는 여러 사용자 혹은 응용 프로그램과 공유하고 동시 접근이 가능해야 함.
DBMS Ex) MySQL / MariaDB / Oracle / SQL Server / SQLite / PostgreSQL
DBMS는 대량의 데이터를 효율적 관리 및 운영을 위한 프로그램이며, DBMS에 데이터를 구축, 관리하고 이를 활용하기 위해 사용하는 언어가 SQL Sturctured Query Language.
『DBMS의 분류』
1. 계층형 DBMS = Hierarchical DBMS : 시초의 DBMS 개념. 트리의 형태를 보임. 수정하기 어려움.
2. 망형 DBMS = Network DBMS : 기존 계층형에서 트리 하위 구성원끼리도 연결되어 있기에 상대적으로 정보수정에 있어 이점이 있음.
3. 관계형 DBMS = Relational DBMS = RDBMS : 대부분의 DBMS 형태.
RDBMS의 데이터베이스는 테이블 Table의 최소 단위로 구성되고, 이 Table은 하나 이상의 열 Column과 행 Row로 이뤄짐.
위와 같이 테이블이 만들어진다.
Column : ID(PK),이름,나이,소속,연락처
3 rows
자세한 내용은 하단에 정의와 함께 기록.
본 혼공SQL교재는 MySQL을 활용하며, 직접적인 설치 과정은 생략합니다.
MySQL Server가 DBMS를 의미하고, 이를 활용하기 위해선 서버에 접속해야하는데 MySQL Workbench가 이를 위한 도구로 보면 된다. 구글 웹서버와 크롬같은 웹 브라우저의 관계로 보면 딱 맞다.
해당 화면은 Workbench 초기 화면에서 instance에 접속 후 나오는 창이다. (프로그램을 설치 시 초기에 만든 password는 반드시 까먹으면 안되며, 해당 경우 서버에 접속할 수 없다.)
가운데 SQL문을 적을 수 있는 '쿼리 창', 우측엔 'SQL Addictions', 좌측엔 'Navigator 창', 하단에는 'Output 창'임을 볼 수 있으며
해당 기능을 통해 해당 위치의 창에 대해 온오프가 가능하다.
chapter 2
건축설계도처럼 데이터베이스 또한 그 내부를 설계해야 한다. 이를 데이터베이스 모델링 Database Modeling 이라고 부르며 대표적으로 폭포수 모델 waterfall model을 사용한다.
좀 더 자세하게는 살고 있는 세상에 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정이라고 판단하면 된다.
프로젝트 project : 현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮기는 과정. 대규모 소프트웨어를 작성하기 위한 전체 과정.
소프트웨어 개발 단계 ( using 폭포수 모델 ) : 1. 프로젝트 계획 - 2. 업무 분석 - 3. 시스템 설계 - 4. 프로그램 구현 - 5.테스트 - 6.유지보수
전체 데이터베이스 구성도 ( 내부 크기 순으로 나열 )
DB 구축 절차 : 0. DBMS(MySQL etc) 설치 - 1. DB만들기 - 2. 테이블 만들기 - 3. 테이블에 데이터 편집 - 4. 데이터 조회 및 활용
MySQL Workbench -> Navigator 창에 Schemas(= 데이터베이스) -> Create Schema 선택 -> Name 명명하고, apply 실행 ( 본 글에선 책의 내용 따라 shop_db로 설정 ) -> DB 완성.
테이블 설계 및 구상 ->
원하는 DB ( 여기선 shop_db ) Schemas 패널에서 Tables 클릭 후 Create table 클릭 ->
구상한 테이블을 바탕으로 컬럼을 추가하고 Column Name, Datatype, PK, NN(Not Null) 등 설정 후 apply 누르면 끝.
상단에 사진으로 보이는 것은 member 회원 테이블이고, 추가적으로 제품 테이블인 product도 만들고 그 내용은 아래와 같다.
편집하고자 하는 데이터베이스 및 테이블 선택 후 마우스 오른쪽 버튼으로 select rows-limits 10000 선택 -> Result Grid 창에 NULL로 되어있는 곳들에 내용 추가
-> 우측 하단 Apply 버튼 클릭 시 SQL문으로 입력 내용을 생성해주고 추가적으로 Apply 클릭 시 끝.
product 테이블 row에 데이터 추가한 모습.
Result Grid 내 데이터의 추가와 수정은 직접 클릭하고 내용 수정하면 되는 간단한 작업이고, 삭제의 경우 Row의 삭제를 원하면 삭제를 원하는 Row의 제일 앞 부분을 클릭시 파란색으로 선택되는데 여기서 마우스 오른쪽 버튼 클릭 후 [Delete Row] 선택.
데이터베이스를 만들고, 데이터베이스 내부 테이블을 설계하고 데이터들을 채워넣은게 현재까지의 과정이다. 이후로는 SQL문을 활용해 데이터베이스 내 원하는 테이블의 원하는 row를 여러 조건을 통해 얻어내는 과정을 공부하며, 즉 앞으로는 데이터의 조회와 활용을 위한 SQL문을 공부한다.
간단한 맛보기 겸 혼공SQL 1주차 기본 미션을 진행한다.
1주차 기본 미션 : p.80의 shop_db의 회원 테이블에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기.
답안 :
SELECT FROM member where member_name = "아이유";
( select 이후 row 가 들어가는데 는 all을 의미.
from 이후 table을 가리킴.
where 이후 조건문으로 이름이 아이유인 사람을 찾는 것이니 위 와 같은 코드가 작성. SQL작성이 끝나면 세미콜론은 필수! )