본문 바로가기

Dev Books Review/모두의 SQL

(12)
[모두의 SQL] 12장. 신규 매출 분석 탐색적 데이터 분석(EDA, Exploratory Data Analysis) 본격적인 데이터 분석 전, 데이터의 기본 구조와 기초 통계 데이터를 확인함으로써 분석 인사이트를 확보하고 전체적인 데이터 분석의 방향을 잡아가는 과정 목표 데이터를 선택하고 특징 값을 찾아내고 의미있는 것을 도출해 나가는 과정 전처리 데이터를 정규화하거나 표준화하는 작업 전처리를 하지 않으면 누락되거나 틀린 값이 나올 수 있음 데이터 분석 의미있는 결과를 도출하거나 패턴 분석 데이터마이닝이라고 불리는 과정, 통계 분석기술이 많이 포함됨 모두의 SQL | 김도연 - 교보문고 모두의 SQL | 난생처음 SQL로 데이터를 분석하고 가공해야 한다면? 초보자와 비전공자를 위한 가장 쉬운 SQL 입문서 인터넷이 발전하고 페이스북과 같은 소..
[모두의 SQL] 11장. 관계형 데이터베이스의 주요지식 뷰 실제 데이터가 없는 테이블을 바라보는 매개체이자 ‘거울’ 테이블에서 사용자가 필요로 하는 부분만 선택하여 만들어 놓은 데이터의 집합 가장 테이블 사용자의 편의, 데이터베이스의 보안 때문에 사용 뷰의 특징 데이터 가공을 통해 마치 테이블처럼 내용을 보여줌 자주 쓰거나 복잡한 SQL문의 결과를 미리 만들어 놓을 수 있음 여러 테이블을 조인해 하나의 뷰로 생성 가능 사용자별로 접근 권한 설정 가능 각기 다른 데이터베이스 시스템에서 각각의 데이터를 전달해야 하는 경우에도 유용 뷰의 종류 심플 뷰(simple view): 하나의 테이블에서 데이터 생성, CREATE VIEW 명령어 컴플렉스 뷰(complex view): 여러 개의 테이블을 조인해 데이터 생성: CREATE VIEW 인라인 뷰(inline vi..
[모두의 SQL] 10장. DDL: 테이블과 열 조작 DDL(Data Definition Language) 데이터정의어, 테이블과 열을 생성/변경/삭제하는 명령어 따로 커밋하지 않아도 데이터베이스에 즉각 반영되며 데이터사전(data dictionary)에 기록 CREATE: 테이블 생성 테이블과 열 이름 생성 규칙 동일한 사용자가 동일한 이름의 테이블 중복 생성X, 테이블 안의 열 이름도 동일 이름으로 생성 불가 SELECT, FROM, COUNT와 같은 예약어 사용 불가 테이블 이름은 문자로 시작 문자 길이는 1~30바이트 이내 CREATE TABLE 테이블이름 (열이름1 데이터타입, 열이름2 데이터타입[(자릿수)], ... ); ALTER: 테이블 수정 ALTER TABLE ~ADD절의 특징 새로운 열 추가 가능 BUT 기존 열 삭제 불가 새로 생성되는..
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 데이터 무결성(data integrity) 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점없음, 즉 무결성을 유지하게 하는 기본 규칙 데이터 무결성의 종류 개체 무결성(entity integrity): 기본키로 선택된 열은 고유해야하며, null 값을 가질 수 없음 참조 무결성(reference integrity) 기본키와 외래키의 관계 외래키가 있는 테니블의 경우 기본키와 외래키 간의 관계가 항상 유지됨을 보장 참조하는 외래키 존재 시 행은 삭제될 수 없고 기본키도 변경될 수 없음 영역 무결성(domain integrity) 데이터 형태, 범위, 기본값, 유일성에 관한 제한 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야함 비즈니스 무결성(bus..
[모두의 SQL] 9장. 데이터 무결성과 트랜잭션 데이터 무결성(data integrity) 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점없음, 즉 무결성을 유지하게 하는 기본 규칙 데이터 무결성의 종류 개체 무결성(entity integrity): 기본키로 선택된 열은 고유해야하며, null 값을 가질 수 없음 참조 무결성(reference integrity) 기본키와 외래키의 관계 외래키가 있는 테니블의 경우 기본키와 외래키 간의 관계가 항상 유지됨을 보장 참조하는 외래키 존재 시 행은 삭제될 수 없고 기본키도 변경될 수 없음 영역 무결성(domain integrity) 데이터 형태, 범위, 기본값, 유일성에 관한 제한 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야함 비즈니스 무결성(bus..
[모두의 SQL] 8장. DML: 데이터의 삽입/갱신/삭제 DML(Data Manipulation Language): 데이터를 조작하는 명령어, 트랜잭션을 다루는 명령어 트랜잭션(transaction): 데이터를 조작하여 저장하는 일련의 과정 DML의 종류 INSERT: 테이블에 새로운 행을 삽입 UPDATE: 테이블에 있는 행의 내용 갱신 DELETE: 테이블의 행 삭제 INSERT 테이블에 새로운 행을 삽입할 때 사용 새로운 데이터를 행 단위로 입력 INSERT INTO 테이블이름[(열이름1, 열이름2, ...)] VALUES (데이터값1, 데이터값2, ...); 실행한 DML 명령어를 최종적으로 데이터베이스에 반영하려면 커밋(commit)을 해야함 UPDATE 기존의 데이터 값을 다른 데이터 값으로 변경할 때 사용 WHERE 조건절 사용 가능, 갱신하려는 ..
[모두의 SQL] 7장. 서브쿼리: SELECT 문 안에 있는 SELECT 문 서브쿼리(sub query) SELECT 문 안에 다시 SELECT 문이 기술된 형태의 쿼리 서브쿼리의 결과를 메인 쿼리에서 받아 처리하는 구조로, 중첩된(nested) 쿼리라고도 부름 서브쿼리의 결과는 메인쿼리의 조건으로 사용 SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식 연산자 (SELECT 열이름1, 열이름2, ... FROM 테이블 이름 WHERE 조건식); 서브쿼리의 규칙 괄호로 묶어서 사용, 메인쿼리는 괄호로 묶을 필요가 없음 메인쿼리와 서브쿼리를 연결하기 위해 단일 행 연산자나 다중 행 연산자 사용 메인쿼리와 서브쿼리의 연결 형태는 연산자에 따라 의미가 다름 메인쿼리는 연산자의 왼쪽에 기술, 서브쿼리는 오른쪽에 기술 서브쿼리, 메인쿼리의 순서로 SELECT ..
[모두의 SQL] 6장. 조인과 집합 조인: 한 개 이상의 테이ㅘ 테이블을 서로 연결하여 사용하는 기법 조인 기법의 종류 곱집합(cartesian product): 가능한 모든 행을 조인 동등 조인(equi join): 조인 조건이 정확히 일치하는 경우 결과 출력 비동등 조인(non equi join): 조인 조건이 정확히 일치하지 않는 경우 결과 출력 외부 조인(outer join): 조인 조건이 정확히 일치하지 않아도 모든 결과를 출력 자체 조인(self join): 자체 테이블에서 조인하고자 할 때 사용 조인 규칙 SELECT 절에는 출력할 열 이름을 기술 FROM 절에는 접근하려는 테이블 이름을 기술 WHERE 절에는 조인 조건을 기술 FROM 절 외의 절에는 조회의 명확성을 위해 열 앞에 테이블 이름을 붙임 이름이 긴 테이블에 별칭..