1 / 41

ORACLE

ORACLE. 버전 : 9i.  DDL(Data Definition language). 여러 가지 객체 , 즉 데이터베이스 , 테이블 , 인덱스 , 뷰 등을 생성하는 작업과 구조를 변경하는 작업을 위한 기능 CREATE : 데이터베이스 , 테이블 , 인덱스 , 뷰 등의 개체를 생성하기 위한 정의 문이다 . ALTER : CREATE 문에 의해 생성된 개체를 수정하는

Download Presentation

ORACLE

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ORACLE 버전 : 9i

  2.  DDL(Data Definition language) • 여러 가지 객체, 즉 데이터베이스, 테이블, 인덱스, 뷰 등을 생성하는 작업과 구조를 변경하는 작업을 위한 기능 • CREATE : 데이터베이스, 테이블, 인덱스, 뷰 등의 개체를 생성하기 위한 정의 문이다. • ALTER : CREATE 문에 의해 생성된 개체를 수정하는 것으로 새로운 항목의 추가나 삭제 등 구조 변경의 경우나, 또는 기존의 개체에 새로운 제약조건 등을 추가하거나 삭제하는 경우 등의 작업에 사용된다. • DROP : 테이블 스페이스나 테이블을 제거.

  3. ▶ DB 접속하기 • ID : SYSTEM • PASSWORD : MANAGER0 • 오라클 설치 시 입력한 암호 • DATABASE : ORA9 / DBLAB • 설치 중 입력한 SID나 로컬네트서비스 이름

  4. ▶ 1.1 테이블 스페이스 생성하기 • CREATE TABLESPACE 테이블스페이스 명 DATAFILE ‘저장경로\파일명.DBF’ SIZE 용량M; (테이블 스페이스 생성) • CREATE TABLESPACE DB_HOME DATAFILE 'c:\oracle\oradata\DB_HOME.DBF' SIZE 100M; • CREATE USER 사용자이름 IDENTIFIED BY 암호; (유저생성) • CREATE USER MANAGE IDENTIFIED BY MANAGE1 DEFAULT TABLESPACE DB_HOME; • GRANT CONNECT, RESOURCE, DBA TO 사용자이름; (권한 주기) • GRANT DBA TO MANAGE;

  5. ▶ 1.2 만든 테이블 스페이스로 재접속 • ID : MANAGE • PASSWORD : MANAGE1 • 오라클 설치 시 입력한 암호 • DATABASE : ORA9 / DBLAB • 설치 중 입력한 SID나 로컬네트서비스 이름

  6. ▶ 1.3 테이블 스페이스 검색하기 • SELECT * FROM DBA_TABLESPACES; • 생성된 테이블스페이스 확인.

  7. ▶ 1.4 유저삭제와 테이블스페이스 삭제 • 유저삭제 • DROP USER MANAGE(사용자 이름) CASCADE; • 테이블스페이스 삭제 • DROP TABLESPACE DB-HOME(테이블스페이스명);

  8. ▶ 2.1 테이블 생성하기 • 테이블 생성구문  CREATE TABLE 테이블명 ( 열이름 데이터 타입 NOT NULL DEFAULT 기본값,          PRIMARY KEY(열이름),          UNIQUE 열이름,         FOREIGN KEY 열이름 REFERENCES 테이블명(열이름) );

  9. ▶ 2.1 테이블 생성하기 (예문) • 테이블 생성 예문 CREATE TABLE SANGPUM ( 상품코드 CHAR(10) NOT NULL, 소코드 CHAR(10) NOT NULL, 색상코드 CHAR(10) NOT NULL, 사이즈 CHAR(10) NOT NULL, 재고수량 INTEGER DEFAULT '0', -- 재고수량의 기본값은 0 이다. PRIMARY KEY (상품코드) );

  10. ▶ 2.2 모든 테이블 검색하기 • SELECT * FROM TAB; • ‘SANGPUM’이란 테이블이 검색됨.

  11. ▶ 2.3 테이블 삭제하기와 이름변경 • 테이블 삭제 • DROP TABLE SANGPUM(삭제 할 테이블 명); • 테이블 이름변경 • RENAME SANGPUM(변경 전 이름) TO 상품 (변경 후 이름); 테이블이름이 상품으로 변경됨

  12. ▶ 2.4 테이블 내 컬럼보기 • SELECT * FROM 상품 ( 테이블 이름 ); 테이블 생성시 입력한 컬럼들을 확인

  13. ▶ 2.5 테이블 내 컬럼추가 및 기본값 설정하기 • ALTER TABLE 테이블 이름 ADD ( 컬럼이름 테이터 형 DEFAULT 기본값); • ALTER TABLE 상품 ADD (비고 CHAR(10)DEFAULT '정품'); 비고라는 컬럼이 추가되었지만, 기본값은 데이터가 입력되지 않았기 때문에 보이지 않는다.

  14. ▶ 2.6 컬럼 데이터 크기 변경 • ALTER TABLE 테이블 이름; MODIFY( 컬럼이름 변경할 데이터 형(크기) ); ALTER TABLE 상품 MODIFY(비고 CHAR(30));

  15. ▶ 2.7 Oracle Enterpise Manager에서 확인하기 • 시작 ORACLE Enterprise Manager Consol  독립적 실행 •  유저/암호입력  스키마  유저선택  테이블 선택 (더블클릭) 2.5 확인 (비고, 기본값) 2.6 확인 (비고 크기 변경)

  16. ▶ 2.8 컬럼 삭제하기 • ALTER TABLE 테이블 이름 DROP COLUMN 컬럼이름; / 또는 DROP (컬럼이름); ALTER TABLE 상품 DROP COLUMN 비고; / DROP (비고); 비고라는 컬럼이 삭제됨

  17. ▶ 3.1 제약조건 • 테이블 생성시 • 컬럼이름 데이터 형(크기) CHECK ( 컬럼이름 IN ( 입력 허용 값 ) • CREATE TABLE 상품 ( 상품코드 CHAR(10) NOT NULL, 소코드 CHAR(10), 색상코드 CHAR(10), 사이즈 CHAR(10) CHECK ( 사이즈 IN ( 'S', 'M', 'L', 'XL')), 판매단가 INTEGER, 재고수량 INTEGER DEFAULT '0', -- 재고수량의 기본값은 0 이다. PRIMARY KEY (상품코드) ); 제약조건 재고수량 기본값 설정

  18. ▶ 3.2 제약조건 위배 • 데이터 삽입 INSERT INTO 테이블이름 ( 컬럼이름1, 컬럼이름2, …… ) VALUES ( 데이터1, 데이터2, …..)  컬럼의 데이터 형과 크기에 맞게 순서대로 데이터를 넣어야 함. • 제약조건 위배 예 ) INSERT INTO 상품( 상품코드, 소코드, 색상코드, 사이즈, 판매단가, 재고수량) values( 'P1', 'S1', 'C1', 'XXL', 67000, 15 );

  19. ▶ 3.3 데이터 삽입 ( 1 ) • 상품테이블에 데이터 입력 INSERT INTO 상품( 상품코드, 소코드, 색상코드, 사이즈, 판매단가, 재고수량) values( 'P1', 'S1', 'C1', 'XL', 67000, 15 ); 입력된 데이터 값

  20. ▶ 3.3 데이터 삽입 ( 2 ) • 다음 행에 ‘상품코드’만 추가하기 insert into 상품( 상품코드 ) values( ‘P2’ ); ‘P2’가 추가되고, 재고수량의 기본값은 ‘0’

  21. ▶ 3.3 데이터 삽입 ( 3 ) • INSERT 데이터 삽입 후 데이터를 추가 하기 위한 쿼리 문  UPDATE사용 ( 삽입 후 INSERT로 같은 행 다시 삽입 불가 ) UPDATE 테이블이름 SET 컬럼이름1 = 데이터 값1 , 컬럼이름2 = 데이터 값2, ……. WHERE 데이터가 있는 컬럼이름 = 데이터 값 ( WHERE절은 데이터를 입력 할 행을 나타낸다. )

  22. ▶ 3.3 데이터 삽입 ( 3 ) 예 • UPDATE 상품 SET 소코드 = 'S2', 색상코드 = 'C2', 사이즈 = 'M', 판매단가 = 45000, 재고수량= '20' WHERE 상품코드 = 'P2'; 상품 테이블에 상품코드가 ‘P2’인 행에 나머지 컬럼에 데이터를 입력. 입력된 데이터 값

  23. ▶ 3.4 데이터 값 변경하기 • UPDATE 테이블이름 SET 변경할 데이터의 컬러이름 = 변경되어 입력될 값 WHERE 다른 컬럼이름 = 다른 컬럼이름의 값; ( 변경될 데이터와 같은 행에 있는 값 ) • 예 ) 상품코드가 'P2'인 행의 사이즈 컬럼의 값을 'S'로 변경 - UPDATE 상품 SET 사이즈 = 'S' WHERE 상품코드 = 'P2'; 변경된 데이터 값 (사이즈 M  S)

  24. ▶ 3.5 나머지 데이터 삽입

  25. ▶ 3.6 테이블 추가 설명 • IDENTITY : 레코드가 하나씩 추가 될 때마다 자동으로 값을 계산해서 입력 NULL값 X, DEFALUT값 X, 열에 값을 주지 않으면 1씩 증가 • PRIMARY KEY : NULL값이 올 수 없고 UNIQUE 하다. • NOT NULL : NULL 값이 올 수 없다. • UNIQUE : 동일한 열에 동일한 값이 두 개 이상 올 수 없다는 제약 조건 • CHECK 절 : 해당 열이 가질 수 있는 값의 범위를 지정 • DEFAULT : 해당 열에 값이 입력되지 않으면 자동으로 주어진 값으로 해당 • FOREIGN KEY : 외래 키를 지정하여 참조되는 테이블에 수정, 삭제가 발생하면 관련 테이블의 동작을 제한하여 참조 무결성을 지키도록 하는 제약조건

  26.  DML (Data Manipulation Language) • 데이터 정의어로 정의된 데이터베이스 스키마 내의 데이터를 조작하는데 사용된다. • 사용자는 데이터 조작어를 사용하여 데이터를 검색하고, 삽입하고, 삭제하고, 수정한다. • SELECT :  테이블에서 기존의 레코드를 검색 • INSERT : 테이블에서 새로운 레코드를 삽입 • DELETE : 테이블에서 특정레코드를 삭제 • UPDATE : 테이블에서 특정레코드의 필드값을 수정

  27. ▶ 1. SELECT문 • SELECT문은 여섯 개의 절로 이루어지지만 이중에서 SELECT절과 FROM절만 필수적이고 나머지는 선택사항이다. - SELECT 구문 -  • SELECT DISTINCT 필드1, 필드2, ......필드N FROM 테이블1, 테이블2, .....테이블N     WHERE 조건식 (중첩질의가능)     GROUP BY 필드1, 필드2, ......필드N     HAVING 조건식 ORDER BY 필드1, 필드2... 필드N (ASC, DESC);  ✔ SELECT 절 : 질의 결과에 포함하려는 필드들을 열거한다.  ✔ FROM 절 : 질의 작업에 사용 될 테이블들을 열거한다.  ✔ WHERE 절 : 특정 조건을 주고 조건에 만족하는 레코드만 검색하는 경우  ✔ GROUP BY 절 : 특정 필드를 기준으로 동일한 값끼리 그룹으로 묶어 요약된 결과를 검색 할 수 있게 하는 기능.  ✔ HAVING 절 : GROUP BY의해 묶어진 그룹에서 조건을 주어 검색하고자 할 때 사용하는 기능  ✔ ORDER BY 절 : 오름차순, 내림차순

  28. ▶ 2. SELECT문 ( ORDER BY 절 ) • 재고수량이 낮은 순으로 오름차순 정렬 SELECT 상품코드, 색상코드, 사이즈, 재고수량 FROM 상품 ORDER BY 재고수량

  29. ▶ 3. SELECT문 ( ORDER BY 절 ) • 재고수량 내림차순 정렬 ( DESC ) SELECT 상품코드, 재고수량 FROM 상품 ORDER BY 재고수량 DESC

  30. ▶ 4. SELECT문 ( DISTINCT ) • 사이즈 종류별로( 동일한 값 ) 하나만 보여주기 SELECT DISTINCT 사이즈 FROM 상품

  31. ▶ 5. SELECT문 ( 조건검색 1 ) • 판매단가가 50000원보다 큰 것을 '상품코드', '색상코드', '사이즈', '판매단가'로 검색 SELECT 상품코드, 색상코드, 사이즈, 판매단가 FROM 상품 WHERE 판매단가 > 50000

  32. ▶ 6. SELECT문 ( 조건검색 2 ) • 재고수량이 '15'인 것 을 검색 SELECT 상품코드, 소코드, 재고수량 FROM 상품 WHERE 재고수량 = '15'

  33. ▶ 7. SELECT문 ( 조건검색 3 ) • 사이즈가 'S'가 아닌 것을 ‘상품코드’, ‘사이즈’, ‘재고수량’으로 검색 SELECT 상품코드, 사이즈, 재고수량 FROM 상품 WHERE 사이즈 <> 'S'

  34. ▶ 8. SELECT문 ( 조건검색 4 ) • '공급업체' 테이블에서 담당자가 '2'이고 계약금액이 500000만원 이하인 '업체코드', '업체명', '담당자', '계약업종', '계약금액' 검색 SELECT 상품코드, 색상코드, 사이즈, 판매단가 FROM 상품 WHERE 판매단가 <= 70000 AND 사이즈 = 'M'

  35. ▶ 9. SELECT문 ( 조건검색 5 ) • 판매단가가 50000원 에서 80000원 사이에 속하지 않는 모든 상품 정보를 검색. SELECT * FROM 상품 WHERE NOT(판매단가 >= 50000 AND 판매단가 <= 80000) ;

  36. ▶ 10. SELECT문 ( 조건검색 6 ) • 상품 테이블에서 사이즈 컬럼의 데이터에 'L'이 들어가있는 ‘상품코드’와 ‘사이즈’를 검색 SELECT 상품코드, 사이즈 FROM 상품 WHERE 사이즈 LIKE '%L%'

  37. ▶ 11. SELECT문 ( 조건검색 7 ) • 판매단가를 10%인상한 값을 '판매단가인상'이란 이름으로 검색 SELECT 상품코드, 판매단가, 판매단가*1.1 AS 판매단가인상 FROM 상품

  38. ▶ 12. SELECT문 ( 조건검색 8 ) • 모든 상품의 판매단가를 ‘2.5%’인상하되 10000단위 까지 반올림하여 '상품코드', '판매단가','판매단가인상'을 출력 SELECT 상품코드, 판매단가, ROUND(판매단가 *1.025, -4) AS 판매단가인상 FROM 상품

  39. ▶ 13. SELECT문 ( 조건검색 9 ) • 소코드 'S2'에 해당하는 상품은 모두 몇 개 인지 검색 SELECT COUNT(*) FROM 상품 WHERE 소코드 = 'S2'

  40. ▶ 14. SELECT문 ( 조건검색 9 ) • 소코드 별 "평균판매단가" SELECT 소코드, AVG(판매단가) FROM 상품 GROUP BY 소코드

  41. ▶ 15. SELECT문 ( 조건검색 10 ) • 행 집단을 선택하기 위해 사용 (having절) • 상품별 판매단가를 소코드 별로 그룹지어 합계를 계산하고 판매단가가 50000원 이상인 결과만을 검색 SELECT 소코드 , SUM(판매단가) FROM 상품 GROUP BY 소코드 HAVING SUM(판매단가) > 50000

More Related