데이터베이스/혼자공부하는 SQL 18

07-03 트리거

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다.1.트리거(Trigger) 1)정의  -SQL문이 실행될때 자동으로 실행되는 프로그래밍 기능.  -스토어드 프로시저와 문법은 비슷하지만 Call문으로 직접 실행시킬 수 없고 INSERT,DELETE  UPDATE등의  SQL문이 발생했을 때 이벤트같이 발동된다. 2.임시 테이블 1)정의  -NEW,OLD 문은 INSERT,UPDATE,DELETE 작업이 수행되면 임시로 사용되는 MYSQL의 테이블 시스템 2) NEW테이블의 INSERT시 데이터 적용 3)OLD 테이블의 DELETE시 데이터 적용-어떤 테이블에 DELETE시 삭제된 데이터가 잠시동안 OLD테이블에 존재하며 트리거가 삭제된 데이터 부분을 사용하..

07-02 스토어드 함수와 커서

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다.1.스토어드 함수 1)정의    -MySQL에서 제공하는 내장함수 외에 직접 함수를 만드는 기능.   -스토어드 함수는 RETURNS 예약어를 통해 하나의 값을 반환해야 한다. 2)형식   2-1)스토어드 프로시저와 차이점  -스토어드 함수는 RETURNS문으로 반환할 값의 데이터 형식을 지정하고, 본문 안에서는  RETURN문으로 하나의 값을 반환해야 한다. -스토어드 함수의 매개변수는 모두 입력 매개변수입니다. 그러므로 IN을 붙이지 않는다.  -스토어드 프로시저는 CALL로 호출하지만, 스토어드 함수는 SELECT문 안에서 호출된다.  -스토어드 프로시저 안에서는 SELECT문을 사용할 수 있지만, 스..

07-01 스토어드 프로시저

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.스토어드 프로시저(stored processor) 1)정의: Mysql에서 제공하는 프로그래밍 기능, 쿼리 문의 집합으로 어떤 동작을 일괄적으로 처리하기 위한 용도로 쓰인다. 2)형식 -생성  -호출 2.실습 1)생성  2)삭제 3)입력 매개변수 활용 -입력 매개변수 : 함수에 입력되는 값 4)출력 매개변수 활용-함수에 의해 정해지고 출력 되는 값   5)동적SQL 작성-동적 SQL : 사용자의 입력 값에 따라 출력이 변하는 SQL

06-02 균형트리

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.균형트리(B-tree) 1)정의 노드의 삽입과 삭제가 일어날 때 균형을 유지하도록 하는 트리. 2)개요 및 개념 -클러스터 인덱스와 보조 인덱스는 내부적으로 균형트리라는 자료구조에 나오는 데이터 구조이다. -마치 나무를 거꾸로 한 듯한 같이 뿌리,줄기, 잎 같이 각각의 계층을 표현하고 있다. -데이터가 저장되는 곳을 노드(node)라고 부르며 위의 그림은 총 4개(루트 1개 리프 3개)가 있다. -MySQL에서는 페이지(Page)라는 명칭을 쓴다. -페이지는(page)는 최소한의 저장단위로 16kbyte의 크기를 가지며 1개의 데이터만 입력해도 16kbyte의 크기가 필요하다. 3)데이터 검색 비교 -..

06-01 인덱스

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.인덱스(index) 1)정의 -인덱스란 데이터를 빠르게 조회할 수 있게 하는 기술 혹은 자료구조. -데이터에 순번을 붙여 데이터가 어디에 위치하는지 나타내는 주소같은 역할을 한다. 2.인덱스의 장단점 1)장점 - 빠른 응답속도를 얻을 수 있다. - 기존보다 적은 처리량과 향상된 속도로 시스템 성능을 올릴 수 있다. 2)단점 -인덱스도 하나의 데이터이기에 추가적인 용량이 발생한다. -처음 인덱스 생성에 많은 시간이 필요로 할 수 있고 조회가 아닌 제거,수정같은 작업에 추가적인 시간이 필요해질 수 있다. 3.인덱스의 종류 1)클러스터형 인덱스(Clustered Index) -데이터에서 행의 순서가 인덱스에..

05-03 가상의 테이블 : 뷰

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.뷰 1)정의 -데이터 베이스 개체 중 하나로서 사용자에게 자료를 제공하는 가상의 테이블. -뷰는 실제로 물리적인 데이터를 가지지 않고 SQL문(그 중에서 SELECT문)의 결과로서 나타낸다. 2)형식 및 작동 2.뷰를 사용하는 이유 1)보안에 유용하다. -필요한 데이터만을 추출하고 특정 정보를 접근하지 못하게 할 수 있는 권한을 부여 할 수 있기에 보완에 유용. 2)복잡한 SQL문을 단순하게 만들 수 있다. -뷰를 생성해 놓으면 뷰를 불러오는 것으로 복잡한 SQL문을 단순하게 만들 수 있다. -생성한 뷰를 조건을 걸어 원하는 데이터를 볼 수 있다. ↓ ↓ ↓ ↓ ↓ ↓ 3.뷰의 작동 1)실습 : 뷰 생..

05-02 제약조건

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.제약조건(Constraint) 1)정의 : 데이터의 무결성을 지키기 위해서 제한하는 조건 *데이터의 무결성: 데이터가 모든 데이터가 얼마나 완전하고, 일관되며, 정확한지를 나타내는 정도. 2.기본키(Primary key) 1)정의: 중복되지않고 비어있지 않은 제약조건. 주로 주민등록등번 같이 고유 값을 나타낼 떄 쓴다. 2)설정방법 3.외래키(Foreign Key) 1)정의 :두 테이블 사이의 관계를 연결해주고 그 결과의 데이터의 무결성을 보장하는 조건. -주로 기본키 제약조건인 달린 항목과 연결한다. 이것을 키본키-외래키 관계라고 하며 키본키가 있는 테이블을 기준테이블 외래키가 있는 테이블을 참조 테..

05-01 테이블 생성 및 입력

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.테이블 1)정의 : 표 형태로 구현된 2차원 구조. 행은 로우(row)나 레코드(record), 열은 컬럼(column)또는 필드(Field)라고 부른다. 엑셀시트와 비슷한 구조 2.실습 1)실습 : 데이터 베이스 생성 2)실습 : 회원 테이블 생성 3)실습: 구매 테이블 생성 4)실습: 데이터 입력하기

04-03 조건문과 반복문

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.IF문 1)정의: 조건의 참 거짓에 따라 메서드의 실행 여부를 결정하는 식. -조건식 안 문장들이 두 문장 이상이라면 BEGIN ~ END문을 써야 한다. 2)실습 :IF문 3)실습 :IF ~ELSE 문 2.Case 문 1)정의 : 여러 조건으로 실행여부를 결정하는 식. 2)실습 3.WHILE 문 1)정의 : 조건이 참일 경우 식을 반복하는 문 2)실습 : WHILE문 3)실습 : ITERATE문과 LEAVE으로 흐름제어

04-02 두 테이블을 묶는 JOIN

아래의 상기 내용은 "혼자공부하는 SQL"의 도서 내용과 인터넷의 내용을 실습 및 정리한 글입니다. 1.조인(JOIN) 1)정의 두개의 테이블 묶어 하나의 결과를 만드는 것. ex)회원 테이블과 구매테이블을 묶어 베송정보 데이터를 만듬. 2.내부조인(Inner Join) 1)정의 -가장 많이 사용되는 조인 방법. - 두 테이블의 공통된 항목을 기준으로 데이터를 생성하는 조인 2)실습: 두 테이블 조인 3)실습: 항목 설정할 떄 주의점 -아래의 코드는 에러코드를 발생한다. -Select 앞 mem_id는 두 테이블의 공통된 항목으로 어느 테이블의 것인지 모호하기 떄문이다. ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ -어느 테이블의 것인지 명시적인 표시를 한다. 4)별칭 사용하기 -항목들 앞에 명시적으로 일일 적으면 코드..