본문 바로가기

책 정리/하루 10분씩 핵심만 골라 마스터하는 SQL

(24)
하루 10분씩 핵심만 골라 마스터하는 SQL - 다 읽고 나서... 서평 이 책은 SQL에 무엇이 있다고 설명하는 책이다. 그러므로 어떻게 사용해야 하는지는 자세히 나와 있지 않다. 만약 이 책으로 성능과 유지보수에 힌트를 얻고자 한다면, 다른 책을 골라야 한다. 더 길게 말할것도 없다. 이 책은 가벼운 SQL 입문서 이다. 이 말이 값어치를 못하는 책이라는 것을 의미하지 않는다. 이 의미는 지하철에서 심심할 때 보기 좋은 책이라는 것을 의미한다. 책에 있는 22항목 중 19항목부터 22항목까지는 무척 내용이 적어, 테스트하기 어려운 경우도 있었다. 가벼운 입문서이니 감수해야지.책 값은 12,000원이고, 총 22항목으므로, 대략 한 항목당 600원. 좋지 않지만, 그렇다고 나쁘지도 않다.
22장, 고급 SQL 기능의 이해 Introduction 1장부터 22장까지 설명하지 못한 고급 기능에 대해서 설명하는 장이다. Content 1. 무엇을 제약 조건 이라고 하는가? DB를 사용하다 보면, 정확한 정보만 들어가야 할 때가 있다. 임시 테이블에 값을 넣어 보아 잘 되나 안되나 체크 할 수 있으나, 너무 비효율적이기 때문에, 애초에 "이 값 아니면 안받을 꺼다." 라고 으름장(위협하는 것)을 놓는 것이다. 이 제약조건을 넣게 되면 다음과 같은 이점이 있다. 클라이언트가 제약 조건을 계산하지 않아도 된다. 무결성이 보장 된다. 실제로 가장 흔히 쓰는 제약 조건은 NOT NULL 일것이다. 2. 무엇을 기본 키 라고 하는가? 제약 조건 중 한가지로, 테이블에 있는 특정 열이 가진 값이 고유하게 유지시키는 제약 조건이다. 기본키는..
21장, 커서 사용 : DECLARE CURSOR Introduction 커서가 무엇이며, 언제 어떻게 사용되며 만들수 있는지 알아 보는 장이다. 실제로 쓰는건 못봤다. Content 1. 무엇을 커서 : CURSOR 라고 하는가? SQL 에서 커서란 무엇인가 선택하는 손 으로 이해 하면 된다. 여기서 말하는 무엇은 SELECT의 결과들이다. 이 커서는 SELECT 결과를 차례대로 선택하여 볼 수 있게 해줄 수 있을 뿐 아니라, 원하는 행을 선택 할 수도 있다. 즉, 책 페이지를 p.1 부터 p.10 까지 읽을 수도 있고, p.5 읽고 p.4 ,p.10 순으로 읽을 수도 있다. 똑같은 개념으로 php 에서 pg_fech_result(함수) 의 2번째 인자로 커서 위치를 정할 수 있다. 2. 언제 커서 : CURSOR 를 사용 하는가? 연계된 작업으로 첫..
20장, 트랜잭션 처리 : BEGIN TRANSACTION ~ COMMIT TRANSACTION Introduction 다른 테이블들과 연계된 작업을 하다가, 예외(예기치 않은 상황)가 발생하여, 실패한다면,이 상황을 어떻게 처리 하는게 좋을까? 일반적인 처리는 모두 성공하거나 모두 실패시키는 것이다. 이런 처리가 왜 일반적이 되었는지는 책에 나와 있지 않으나, 내 생각으로는 생각을 더 하지 않아도 되는 편안함 때문이지 않을까 한다. 이번 장은 SQL 절들을 수행 할 때, 모두 수행 되지 않을 경우, 원래의 상태로 돌리는 트랙잭션 처리에 대해서 정리 한다. Content 1. 무엇을 "트랜잭션" 이라고 하는가? 트랜잭션이란, 연속된 작업을 뜻한다. 데이터베이스에서 이러한 트랙잭션은 "쪼갤 수 없는 작업 단위"를 뜻한다. 참조 링크 http://ko.wikipedia.org/wiki/트랜잭션 http..
19장, 저장 프로시저의 사용 : CREATE PROCEDURE FUNCTION ~ EXECUTE Introduction 저장 프로시저란 무엇이고, 어떻게 만들며, 어떻게 사용 하는지, 언제 사용 하는지에 대해서 정리한다. Content 1. 무엇을 저장 프로시저 라고 하는가? 저장 프로시저란 SQL 로 만든 함수 이다. 이렇게 나는 이해 했다. 이 함수에 여러 SQL 절을 놓아 두어, 한가지 목적으로 사용 한다. 이 책에서는 "배치 파일" 이라고 비유 했다. 2. 왜 저장 프로시저를 사용 하는가? 단위 하나로, 작업을 만들어 저장 할 수 있기 때문이다. 모든 이유는 오로지 이 이유 때문이다. 이 이유 때문에 얻게 되는 건 언어에서 함수를 사용 할 때 얻게 되는 이점과 같다. (작업을 단위로 끊었기에 디버깅이 쉽다거나, 관리(기능 개선, 수정)가 조금(..)은 쉬어진다거나, 반복작업을 없앨 수 있다거..
18장, 뷰 사용 : CREATE VIEW ~ DROP VIEW Introduction 뷰 에 대해서 설명하는 장이다. 뷰를 알고 나면, 테이블 조인이 조금 편해진다. Content 1. 무엇을 뷰 - VIEW 라고 하는가? SQL 세계에서 뷰 - VIEW 는 가상 테이블을 뜻한다. 여기서 말하는 가상 테이블은 실제로 테이블이 있는것이 아니라, 필요할 때마다 테이블이 생겼다가 없어졌다가 하는 테이블을 뜻한다. 2. 어디에 뷰 - VIEW 를 사용 하는가? 뷰는 다음의 상황을 위해서 사용 된다. 만들었던 SELECT 문을 재사용 하기 위해서 일부만 엑세스 하도록 만들어, 테이블에 있는 데이터를 보호하기 위해서 아직 나는 경험이 없어서, 보안을 위해서 VIEW를 사용 하는 형태를 본적이 없다. 현재로썬 사용 할 수도 있겠다. 라고 넘겨짚는다. 3. 어떻게 뷰 - VIEW..
17장, 테이블의 생성과 제어 : CREATE TABLE ~ ALTER TABLE Introduction 이 장에서는 테이블을 생성하는 방법과 이미 생성된 테이블을 변경하는 방법에 대해서 알려 준다. 이미 생성된 테이블을 변경한다는 의미는 테이블 이름을 바꾼다거나, 테이블 칼럼 위치, 칼럽 유형, 기본키, 유니크 설정 등을 생성 뒤에 테이블에 적용 시킨다는 것을 의미한다. Content 1. 무엇을 CREATE TABLE 이라고 하는가? SQL 절 중 CERATE TABLE 로 테이블을 만든다. 만들 때 테이블 이름, 테이블 칼럼명 및 데이터 형, 그리고 킬럼에 부수적인 옵션을 주면서 만들어야 한다. DBMS 를 이용하면, 실제로 SQL 를 날려 만들지 않고, 마우스로 뚝딱 뚝딱 만들 수 있다. PostgreSQL 은 pgadmin 으로 만들 수 있다. 2. 어떻게 CREATE TAB..
16장, 데이터의 업데이트와 삭제 : UPDATE DELETE Introduction 이번 장에선 테이블에 있는 레코드를 SQL을 이용하여, 변경/삭제 에 대해서 다룬다. Content 1. 무엇을 업데이트 : UPDATE 라 하는가? 이 업데이트는 SQL 절 중 하나를 말한다. 이 UPDATE는 테이블에 있는 레코드를 변경할 때 사용 한다. 2. 어떻게 UPDATE를 사용 하는가? SQL을 보자. UPDATE Customers SET cust_email = 'kim@thetoystore.com' WHERE cust_id = '1000000005'; UPDATE 분석 UPDATE 뒤에 '테이블 이름' 을 붙이고 SET 을 붙인다. SET 뒤에 바꿀 칼럼 이름(열 이름)과 값 을 넣는다. B 뒤에 WHERE 절이 놓이고, 바꿀 대상이 누군지 결정 짖는다. 이렇게 하면..