Database
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Database 실습 PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

Database 실습. 김기헌 [email protected] http://csdblab.chonbuk.ac.kr/~khkim. 내용. 쇼핑몰 프로그램으로 배우는 SQL 카테고리 관리. 카테고리 관리. 카테고리 관리 카테고리 목록 , 추가 , 수정 , 삭제 카테고리 대분류 뒷부분의 네자리 값이 0000 인 항목 00010000 전자제품 00020000 의류 소분류 뒷자리가 0000 이 아닌 나머지 항목 00010001 TV 00010002 컴퓨터. 카테고리 관리.

Download Presentation

Database 실습

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Database

Database 실습

김기헌

[email protected]

http://csdblab.chonbuk.ac.kr/~khkim


Database

내용

  • 쇼핑몰 프로그램으로 배우는 SQL

    • 카테고리 관리

Database Research Lab


Database

카테고리 관리

  • 카테고리 관리

    • 카테고리 목록, 추가, 수정, 삭제

  • 카테고리

    • 대분류

      • 뒷부분의 네자리 값이 0000인 항목

      • 00010000 전자제품

      • 00020000 의류

    • 소분류

      • 뒷자리가 0000이 아닌 나머지 항목

      • 00010001 TV

      • 00010002 컴퓨터

Database Research Lab


Database

카테고리 관리

전자제품

의류

도서

TV

컴퓨터도서

남방

컴퓨터

소설

속옷

MP3

바지

에어컨

Database Research Lab


Database

자료 조회하기

  • SUBSTR 함수를 이용한 대분류 확인

    • SELECT CATEGORY_CODE, CATEGORY_NAMEFROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,5,4)=‘0000’;

Database Research Lab


Database

자료 조회하기

  • 소분류를 검색하기 위해 검색 결과가 대분류 코드 값만 추출하여 앞의 네자리만 보여준다.

    • SELECT SUBSTR(CATEGORY_CODE,1,4) AS LARGE_CODE, CATEGORY_NAMEFROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,5,4)=‘0000’;

Database Research Lab


Database

자료 조회하기

  • 카테고리 테이블에 등록된 모든 항목 가운데 대분류코드가 0001인 소분류를 구하는 예제

    • SELECT CATEGORY_CODE, CATEGORY_NAMEFROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,1,4)=‘0001’AND SUBSTR(CATEGORY_CODE,5,4)!=‘0000’;

Database Research Lab


Database

자료 입력하기

  • SELECT와 INSERT가 분리된 대분류 만들기

    • SELECT TRIM(TO_CHAR(MAX(SUBSTR(CATEGORY_CODE,1,4))+1,’0000’)) AS MAX_CODEFROM CATEGORY;

    • INSERT INTO CATEGORY(CNUM,CATEGORY_CODE,CATEGORY_NAME)VALUES(CATEGORY_SEQ.NEXTVAL,’00040000’,’일반잡화’);

Database Research Lab


Database

자료 입력하기

  • TRIM(TO_CHAR(MAX(SUBSTR(CATEOGRY_CODE,1,4))+1,’0000’))

    • SUBSTR(CATEOGRY_CODE,1,4)

Database Research Lab


Database

자료 입력하기

  • TRIM(TO_CHAR(MAX(SUBSTR(CATEOGRY_CODE,1,4))+1,’0000’))

    • MAX(SUBSTR(CATEOGRY_CODE,1,4))

    • MAX(SUBSTR(CATEOGRY_CODE,1,4))+1

    • TO_CHAR(MAX(SUBSTR(CATEOGRY_CODE,1,4))+1,’0000’)

    • TRIM(TO_CHAR(MAX(SUBSTR(CATEOGRY_CODE,1,4))+1,’0000’))

Database Research Lab


Database

자료 입력하기

  • INSERT 구분 내에 SELECT가 포함된 대분류 만들기

    • INSERT INTO CATEGORY(CNUM,CATEGORY_CODE,CATEGORY_NAME)VALUES(CATEGORY_SEQ.NEXTVAL,(SELECT TRIM(CONCAT(TO_CHAR(MAX(SUBSTR(CATEGORY_CODE,1,4))+1,’0000’),’0000’)) AS MAX_CODEFROM CATEGORY ),’일반잡화’);

Database Research Lab


Database

자료 입력하기

  • SELECT TRIM(CONCAT(TO_CHAR(MAX(SUBSTR(CATEGORY_CODE,1,4))+1,’0000’),’0000’)) AS MAX_CODEFROM CATEGORY

Database Research Lab


Database

자료 입력하기

  • SELECT와 INSERT가 분리된 소분류 만들기

    • SELECT TRIM(TO_CHAR(MAX(CATEGORY_CODE)+1,’00000000’))FROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,1,4)=‘0001’;

    • INSERT INTO CATEGORY(CNUM,CATEGORY_CODE,CATEGORY_NAME)VALUES(CATEGORY_SEQ.NEXTVAL,’0001’0005’,’전화기’)

Database Research Lab


Database

자료 입력하기

  • INSERT 구분 내에 SELECT가 포함된 소분류 만들기

    • INSERT INTO CATEGORY(CNUM,CATEGORY_CODE, CATEGORY_NAME)VALUES(CATEGORY_SEQ.NEXTVAL,(SELECT TRIM(TO_CHAR(MAX(CATEGORY_CODE)+1,’00000000’))FROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,1,4)=‘0001’),‘전화기’);

Database Research Lab


Database

자료 입력하기

  • SUBSTR(CATEGORY_CODE,1,4)=‘0001’

  • MAX(CATEGORY_CODE)

  • MAX(CATEGORY_CODE)+1

  • TO_CHAR(MAX(CATEGORY_CODE)+1,’00000000’)

Database Research Lab


Database

자료 수정하기

  • 키 값을 이용한 카테고리 이름 수정하기

    • UPDATE CATEGORYSET CATEGORY_NAME =‘와이드 TV’WHERE CNUM=‘2’;

  • CATEGORY_CODE 값을 이용한 카테고리 이름 수정하기

    • UPDATE CATEGORYSET CATEGORY_NAME = ‘노트북’WHERE CATEGORY_CODE=‘00010002’;

Database Research Lab


Database

자료 수정하기

  • 카테고리 코드 수정하기

    • UPDATE CATEGORYSET CATEGORY_CODE=‘00040001’WHERE CATEGORY_CODE=‘00020002’;

    • UPDATE PRODUCTSSET CATEGORY_FK=‘00040001’WHERE CATEGORY_FK=‘00020002’;

  • SELECT A.CATEGORY_CODE,B.CATEGORY_FK,A.CATEGORY_NAME,B.PRODUTS_NAMEFROM CATEOGRY A, PRODUCTS BWHERE A.CATEGORY_CODE=B.CATEGORY_FKAND A.CATEGORY_CODE=‘00040001’;

Database Research Lab


Database

자료 삭제하기

  • DELETE 구문을 이용한 자료 삭제하기

    • DELETE FROM CATEGORYWHERE CATEGORY_CODE=‘00010001’;

    • DELETE FROM PRODUCTSWHERE CATEGORY_FK=‘00010001’;

    • DELETE FROM CATEGORYWHERE SUBSTR(CATEGORY_CODE,1,4)=‘0002’;

    • DELETE FROM PRODUCTSWHERE SUBSTR(CATEGORY_FK,1,4)=‘0002’;

Database Research Lab


Database

자료 삭제하기

  • UPDATE 구문을 이용한 자료 삭제하기

    • DELETE_CHK 컬럼 이용

    • UPDATE CATEGORY SET DELETE_CHK=‘Y’WHERE CATEGORY_CODE=‘00010003’;

    • UPDATE CATEGORY SET DELETE_CHK=‘Y’WHERE SUBSTR(CATEGORY_CODE,1,4)=‘0003’;

    • SELECT * FROM CATEGORYWHERE DELETE_CHK=‘N’;

Database Research Lab


  • Login