데이터 베이스 모델링은 데이터 베이스에서의 테이블 구조를 미리 계획해서 작성하는 작업이다.
모델링은 3가지로 나뉘는데 첫 번째는 개념적 모델링 두 번째는 논리적 모델링 세 번째는 물리적 모델링으로 나뉜다.
개념적 모델링이란 업무분석해서 핵심 데이터의 집합을 정의하는 과정이라고 한다.
논리적 모델링은 개념적 모델링을 상세화 하는 과정이라고 한다.
이는 사람 - 상품을 크게 모델링을해서 논리적으로 사람의 고객 정보(나이,주소,성별) 구매정보(고객,상품), 상품(상품명 카테고리, 가격) 이렇게 논리적으로 상세화 하는 과정이라고 한다.
이를 가지고 물리적 모델링을 한다.
물리적 모델링은 논리적 모델링을 DBMS에 추가하기 위해 구체화 되는 과정이라고 한다.
SQL문의 종류는 3가지로 나뉜다. DML,DDL, DCL
Data Manipulation Language 데이터 조작어이고 데이터 검색, 삽입,수정,삭제등에 사용이 된다.
SELECT, INSERT, UPDATE, DELETE 트랜젝션이 발생하는 SQL문이다.
트랜젝션은 데이터를 쓰는 행위가 있다. 쓰는 것 부터 처리를 마칠때까지 하나로 묶어가지고 자원을 한번에 쓸수 없도록 순차적으로 하는 행위이다.(사실 잘 모르겠다..일단 자바스크립트로 따지자면 동기식으로 순차적으로 실행 하는 거 같다)
Data Definition Language e데이터 정의어이다. 데이터 베이스, 테이블, 뷰, 인덱스등의 데이터 베이스 개체를 생성, 삭제, 변경에 사용한다.
CREATE, DROP, ALTER, TRUCATE -> 실행 즉시 DB에 적용이 된다.
Data Control Language 데이터 제어어 사용자의 권한을 부여하거나 빼앗을때 사용
GRUNT, REVORKE, DENY
데이터를 검색할 때 사용되는 문법
SELECT <column_name_1>, <column_name_2> ,...
FROM <table_name>
SELECT *
FROM world.country
SELECT code, name
FROM world.country
USE world;
SELECT *
FROM country;
alias: 컬럼의 이름을 변경할 수 있다.
SELECT code as country_code, name as country_name
FROM country;
SHOW DATABASES;
SHOW TABLES;
DESC city;
특정 조건을 주어 데이터를 검색하는데 사용되는 문법
SELECT *
FROM country
WHERE Population >= 100000000;
SELECT *
FROM country
WHERE Population >= 70000000 AND Population <= 100000000
SELECT *
FROM country
WHERE Population BETWEEN 70000000 AND 100000000
SELECT *
FROM country
WHERE Continent = 'Asia' OR Continent = "Africa"
SELECT *
FROM country
WHERE Continent IN ("Asia","Africa")
SELECT *
FROM country
WHERE Continent != 'Asia' AND Continent != 'Africa'
SELECT*
FROM country
WHERE GovernmentForm LIKE "%Republic%"
특정 컬럼의 값으로 데이터 정렬에 사용되는 문법
SELECT *
FROM country
ORDER BY population ASC
SELECT *
FROM city
ORDER BY CountryCode ASC, Population DESC
LIMIT은 조회하는 데이터의 수를 제한할 수 있습니다.
SELECT *
FROM country
ORDER BY population DESC
LIMIT 5
SELECT *
FROM country
ORDER BY population DESC
LIMIT 5, 3