01 장데이터베이스개념과오라클설치
이장에서다룰내용 1 데이터베이스개념이해 2 데이터베이스관리시스템 (DBMS) 3 오라클다운받아설치하기 4 SQL 과 SQL*Plus 의개념 5 SQL*Plus 로그인 6 SQL*Plus 로그인실패할경우해결방법 2
01. 데이터베이스개념이해 유용한데이터의집합 학사관리, 도서관리 데이터베이스에저장된정보는검색, 수정, 삭제에용이 3
01. 데이터베이스개념이해 데이터 : 관찰의결과로나타난정량적혹은정성적인실제값 정보 : 데이터에의미를부여한것 지식 : 사물이나현상에대한이해 그림 1-1 데이터, 정보, 지식 4
01. 데이터베이스개념이해 데이터베이스 : 조직에필요한정보를얻기위해논리적으로연관된데이터를모아구조적으로통합해놓은것 일상생활에서생성되는데이터베이스 5
01. 데이터베이스개념이해 일상생활에서의데이터베이스 그림패스트푸드체인점과철도청의데이터베이스 6
2. 일상생활의데이터베이스 표 - 데이터베이스의활용분야 종류 특징 생활과문화 기상정보 : 날씨정보를제공 교통정보 : 교통상황정보를제공 문화예술정보 : 공연이나인물에관한정보를제공 비즈니스 금융정보 : 금융, 증권, 신용에관한정보를제공 취업정보 : 노동부와기업의채용정보를제공 부동산정보 : 공공기관이나민간의토지, 매물, 세금정보를제공 학술정보 연구학술정보 : 논문, 서적, 저작물에관한정보를제공 특허정보 : 특허청의정보를기업과연구자에게제공 법률정보 : 법제처와대법원의법률정보를제공 통계정보 : 국가기관의통계정보를제공 7
2. 일상생활의데이터베이스 데이터베이스시스템은데이터의검색과변경작업을주로수행함 변경이란시간에따라변하는데이터값을데이터베이스에반영하기위해수행하는삽입, 삭제, 수정등의작업을말함 표 1-2 검색과변경빈도에따른데이터베이스유형 유형검색빈도변경빈도데이터베이스예특징 구축이쉬움 유형 1 적다적다 공룡데이터베이스 검색이많지않아데이터베이스를구축할필요없음 보존가치가있는경우에구축 유형 2 많다적다 도서데이터베이스 사용자수보통 검색은많지만데이터에대한변경은적음 유형 3 적다많다 비행기예약데이터베이스 예약변경 / 취소등데이터변경은많지만검색은적음 실시간검색및변경이중요함 구축이어려움 유형 4 많다많다 증권데이터베이스 사용자수많음 검색도많고거래로인한변경도많음 8
1.1 파일시스템의문제점 데이터종속 데이터중복 일관성 - 동일성을유지하기위해데이터중복을피함 보안성- 동일한수준에서보안이유지 경제성- 저장되는공간에대한비용절감 무결성- 데이터가정확성을유지 9
1.2 데이터베이스의정의 통합된데이터 (integrated data) 데이터베이스는똑같은데이터가원칙적으로중복되어있지않다는것을말하며, 데이터의중복은일반적으로관리상의복잡한부작용을초래합니다. 데이터를통합하는개념, 각자사용하던데이터의중복을최소화하여중복으로인한데이터불일치현상을없앰 저장된데이터 (stored data) 컴퓨터가접근할수있는기억장치에저장된데이터를말합니다. 주로하드디스크에저장되어관리됩니다. 문서로보관된데이터가아니라디스크, 테이프같은컴퓨터저장장치에저장된데이터 운영데이터 (operational data) 존재목적이명확하고유용성을지니고있는데이터를말합니다. 즉단순히데이터를모아둔개념이아닌병원관리를위한데이터구축과같은목적이분명한데이터여야만합니다. 조직의목적을위해사용되는데이터, 업무를위한검색을할목적으로저장된데이터 10
1.2 데이터베이스의정의 공용데이터 (shared data) 여러사용자들이서로다른목적으로사용하는공유가능한데이터를말합니다. 한사람또는한업무를위해사용되는데이터가아니라공동으로사용되는데이터 그림데이터베이스의개념 : 데이터베이스는운영데이터를통합하여저장하며공용으로사용됨 11
1.3 데이터베이스의특징 실시간접근성 (Real-time accessability) 다수의사용자의요구에대해서처리시간이몇초를넘기지말아야한다는의미입니다. 데이터베이스는실시간으로서비스됨. 사용자가데이터를요청하면몇시간이나몇일뒤에결과를전송하는것이아니라수초내에결과를서비스함 지속적인변화 (Continuos evolution) 데이터베이스에저장된데이터는최신의정보가정확하게저장되어처리되어야합니다. 데이터베이스에저장된내용은어느한순간의상태를나타내지만, 데이터값은시간에따라항상바뀜데이터베이스는삽입 (insert), 삭제 (delete), 수정 (update) 등의작업을통하여바뀐데이터값을저장함 12
1.3 데이터베이스의특징 동시공유 (Concurrent sharing) 동일데이터를동시에서로다른목적으로사용할수있어야합니다. 데이터베이스는서로다른업무또는여러사용자에게동시에공유됨동시 (concurrent) 는병행이라고도하며, 데이터베이스에접근하는프로그램이여러개있다는의미 내용에대한참조 데이터베이스내에있는데이터레코드들은주소나위치에의해참조되는것이아니라가지고있는값에따라참조해야합니다. 데이터베이스에저장된데이터는데이터의물리적인위치가아니라데이터값에따라참조됨 13
1.4 데이터베이스시스템의구성 그림데이터베이스시스템의구성요소와물리적인위치 14
1.5 데이터베이스시스템의발전 도서 : 100 권 고객 : 근처학교의학생, 지역주민 고객서비스 : 사장이직접도서안내 업무 : 회계업무 ( 계산기사용 ), 장부에기록 그림서점초기 15
1.5 데이터베이스시스템의발전 도서 : 1000 권 고객 : 근처학교의학생, 지역주민 고객서비스 : 컴퓨터를이용하여도서검색, 직원고용 업무 : 회계업무 ( 컴퓨터사용 ), 파일시스템 그림서점전산화 16
1.5 데이터베이스시스템의발전 도서 : 10,000 권 고객 : 서울지역고객 고객서비스 : 클라이언트 / 서버시스템으로지점을연결하여도서검색서비스제공 업무 : 회계업무 ( 컴퓨터사용 ), 데이터베이스시스템 그림서점 DBMS 도입 17
1.5 데이터베이스시스템의발전 도서 : 100,000 권 고객 : 국민 ( 전국으로배송 ) 고객서비스 : 인터넷으로도서검색및주문 업무 : 회계 / 인사업무 ( 컴퓨터와인터넷사용 ), 웹 DB 시스템으로지점간연계 그림서점인터넷서비스실시 18
1.5 데이터베이스시스템의발전 도서 : 1,000,000 권 고객 : 국민 ( 전국으로배송 ) 고객서비스 : 인터넷종합쇼핑서비스제공 업무 : 회계 / 인사업무 ( 컴퓨터와인터넷사용 ), DB 서버여러개구축 그림서점인터넷쇼핑몰운영 19
1.5 데이터베이스시스템의발전 정보통신기술의발전과서점의성장 1 단계 서점 2 단계 단계 초기전산화 시기 정보기술 주요특징 1970년대 사장이모든도서의제목과가격을기억 매출과판매가컴퓨터없이관리됨컴퓨터없음 매출에대한내용이정확하지않음 1980년대 컴퓨터를이용한초기응용프로그램으로업무처리 파일시스템사용컴퓨터 한대의컴퓨터에서만판매및매출관리 3단계데이터베이스 4단계홈페이지구축 5단계인터넷쇼핑몰 1990년대 지점간클라이언트 / 서버시스템을도입하여업무처리 컴퓨터 + 원격통신 데이터베이스관리시스템 (DBMS) 을도입 2000년대 인터넷을이용하여도서검색및주문 웹 DB 시스템으로불특정다수고객유치컴퓨터 + 인터넷 고객이지리적으로넓게분산됨 2010년대 도서뿐만아니라음반, 액세서리, 문구, 공연티켓까지판매하는인터넷쇼핑몰로확대컴퓨터 + 인터넷 도서외상품의매출비중이 50% 이상으로늘어남 20
1.5 정보시스템의발전 파일시스템 데이터를파일단위로파일서버에저장 각컴퓨터는 LAN 을통하여파일서버에연결되어있고, 파일서버에저장된데이터를사용하기위해각컴퓨터의응용프로그램에서열기 / 닫기 (open/close) 를요청 각응용프로그램이독립적으로파일을다루기때문에데이터가중복저장될가능성이있음 동시에파일을다루기때문에데이터의일관성이훼손될수있음 그림파일시스템 21
1.5 정보시스템의발전 데이터베이스시스템 DBMS 를도입하여데이터를통합관리하는시스템 DBMS 가설치되어데이터를가진쪽을서버 (server), 외부에서데이터요청하는쪽을클라이언트 (client) 라고함 DBMS 서버가파일을다루며데이터의일관성유지, 복구, 동시접근제어등의기능을수행 데이터의중복을줄이고데이터를표준화하며무결성을유지함 그림데이터베이스시스템 22
1.5 정보시스템의발전 웹데이터베이스시스템 데이터베이스를웹브라우저에서사용할수있도록서비스하는시스템 불특정다수고객을상대로하는온라인상거래나공공민원서비스등에사용됨 그림웹데이터베이스시스템 23
1.5 정보시스템의발전 분산데이터베이스시스템 여러곳에분산된 DBMS 서버를연결하여운영하는시스템 대규모의응용시스템에사용됨 그림분산데이터베이스시스템 24
1.5 정보시스템의발전 정보시스템의발전과기업의업무환경변화 소매상 ( 실체시스템 ) 1970 년대 정보시스템없음 수작업으로회계업무 소기업 ( 파일시스템 ) 1980 년대 파일시스템사용 파일을이용한응용프로그램으로업무처리 중견기업 ( 데이터베이스 ) 1990 년대 정보시스템, 데이터베이스시스템사용 DBMS 를이용하여업무처리 정보공유, 실시간서비스, LAN 기술 대기업 ( 인터넷통신 ) 2000 년대 정보시스템, 웹데이터베이스시스템, 인터넷사용 인터넷쇼핑몰을개설하여온라인상거래실시 실시간서비스, 웹브라우저기술 종합그룹 ( 인터넷통신 ) 2010 년대 정보시스템, 분산데이터베이스시스템, 인터넷사용 고객서비스및내부업무를인터넷으로처리 대규모응용시스템에사용 25
1.6 데이터의저장방법비교 [ 프로그램 1] { } Book 데이터타입선언 ; BOOK 데이터구조 프로그램내에서 BOOKS[ ] 배열에데이터저장 ; BOOK 데이터 검색및데이터변경프로그램수행 ; 프로그램에데이터정의와데이터값을모두포함하는방식 프로그램에 BOOK 데이터구조를정의하고데이터값도직접변수에저장함 데이터구조혹은데이터값이바뀌면프로그램을다시컴파일해야함 26
1.6 데이터의저장방법비교 [ 프로그램 2] { } Book 데이터타입선언 ; BOOK 데이터구조 파일로부터데이터를불러와 BOOKS[ ] 배열에저장 ; 검색및데이터변경프로그램수행 ; 파일에데이터값, 프로그램에데이터정의를포함하는방식 프로그램에 BOOK 데이터구조만정의하고, 데이터값은 book.dat라는파일에저장됨 데이터값이바뀌면프로그램에변경이없지만, 데이터구조가바뀌면프로그램을다시컴파일해야함 BOOK 데이터파일 27
1.6 데이터의저장방법비교 [ 프로그램 3] { /* BOOK 데이터타입선언필요없음 */ DBMS 가데이터정의와데이터값을관리하는방식 } SQL 문을실행하여결과를가져옴 ; SQL 문으로데이터변경 ; DBMS (DataBase Management System) BOOK 데이터구조는 DBMS가돤리하고, 데이터값은데이터베이스에저장됨 데이터값이바뀌거나데이터값이바뀌어도프로그램을다시컴파일할필요없음 Book 데이터구조 Book 데이터파일 28
1.6 데이터의저장방법비교 그림파일시스템으로구축된구매및판매응용프로그램 그림 DBMS 로구축된구매및판매응용프로그램 29
1.6 데이터의저장방법비교 DBMS 의장점 구분파일시스템 DBMS 데이터중복데이터일관성데이터독립성관리기능 데이터를파일단위로저장하므로중복가능 데이터의중복저장으로일관성이결 여됨 데이터정의와프로그램의독립성유 지불가능 보통 DBMS 를이용하여데이터를공유하기때문에중복가능성낮음 중복제거로데이터의일관성이유지됨 데이터정의와프로그램의독립성유지 가능 데이터복구, 보안, 동시성제어, 데이터관리기능등을수행 프로그램개발생산성 나쁨 짧은시간에큰프로그램을개발할수있음 기타장점 보통 데이터무결성유지, 데이터표준준수용이 30
2. 데이터베이스관리시스템 (DBMS) 데이터베이스 (DataBase) 기업이지속적으로유지관리해야하는데이터의집합 데이터베이스관리시스템 (DataBase Management System) 방대한양의데이터를편리하게저장하고효율적으로관리하고검색할수있는환경을제공해주는시스템소프트웨어 데이터를공유하여정보의체계적인활용을가능하게합니다. 응용프로그램과데이터베이스의중재자로서모든응용프로그램들이데이터베이스를공용할수있게끔관리해주는소프트웨어시스템입니다. 31
2.1 관계형데이터베이스관리시스템 관계형데이터베이스관리시스템 (RDBMS: Relational DataBase Management System) 은가장일반적인형태의 DBMS 입니다. 오라클 (Oracle), 사이베이스 (Sybase), 인포믹스 (Infomix), MYSQL, Acess, SQL Server 장점 작성과이용이비교적쉽고확장이용이하다. 처음데이터베이스를만든후관련되는응용프로그램들을변경하지않고도, 새로운데이터항목을데이터베이스에추가할수있다. 32
2.1 관계형데이터베이스관리시스템 관계형데이터베이스정보를테이블형태로저장합니다. 테이블은 2 차원형태의표처럼볼수있도록로우 (ROW: 행 ) 와칼럼 (COLUMN: 열 ) 으로구성합니다. DEPT 테이블은 4 개의로우와 3 개의칼럼 ( 부서번호 :DEPTNO, 부서이름 :DNAME, 지역 :LOC 으로구성된테이블입니다. 33
2.1 관계형데이터베이스관리시스템 데이터딕셔너리 (Data Dictionary: DD) 관계형데이터베이스에서객체를정의하게되면그객체가가진메타데이터 (metadata) 의정보가저장되는곳입니다. 사용자에의해서추가, 삭제, 수정되지못하며오로지오라클시스템에의해서만가능합니다. SQL(Structured Query Language) 사용자와관계형데이터베이스를연결시켜주는표준검색언어 34
탄탄히다지기 1. 관계형데이터베이스에서는기본데이터를저장하기위한구조로 ( ) 을사용합니다. 2. 테이블은표처럼볼수있도록 ( ) 와 ( ) 으로 구성합니다. 35
2.2 데이터베이스시스템의구성 사용자 일반사용자 응용프로그래머 SQL 사용자 DBA 인터페이스 응용프로그램화면 응용프로그램개발 SQL 질의 데이터베이스스키마 Embedded DML DML 컴파일러 DDL 컴파일러 DBMS 오브젝트코드 질의처리기 주기억장치 트랜잭션관리자 파일관리자 버퍼관리자 데이터베이스 데이터파일 인덱스 데이터통계 데이터사전 하드디스크 36
2.2 데이터베이스언어 SQL 데이터정의어 (DDL, Data Definition Language) 데이터조작어 (DML, Data Manipulation Language) 데이터제어어 (DCL, Data Control Language) SELECT bookname, publisher FROM Book; Book 테이블 bookid bookname publisher price 1 축구의역사굿스포츠 7000 2 축구아는여자나무수 13000 3 축구의이해대한미디어 22000 4 골프바이블대한미디어 35000 5 피겨교본굿스포츠 8000 bookname 축구의역사축구아는여자축구의이해골프바이블피겨교본 publisher 굿스포츠나무수대한미디어대한미디어굿스포츠 37
2.2 데이터베이스언어 SELECT bookname, publisher FROM Book Where price >= 10000; Book 테이블 bookid bookname publisher price 1 축구의역사굿스포츠 7000 2 축구아는여자나무수 13000 3 축구의이해대한미디어 22000 4 골프바이블대한미디어 35000 5 피겨교본굿스포츠 8000 bookname 축구아는여자축구의이해골프바이블 publisher 나무수대한미디어대한미디어 38
2.2 데이터베이스사용자 일반사용자 은행의창구혹은관공서의민원접수처등에서데이터를다루는업무를하는사람 프로그래머가개발한프로그램을이용하여데이터베이스에접근일반인 응용프로그래머 일반사용자가사용할수있도록프로그램을만드는사람 자바, C, JSP 등의프로그래밍언어와 SQL 을사용하여일반사용자를위한사용자인터페이스와데이터를관리하는응용로직을개발 SQL 사용자 SQL 을사용하여업무를처리하는 IT 부서의담당자 응용프로그램으로구현되어있지않은업무를 SQL 을사용하여처리 39
2.2 데이터베이스사용자 데이터베이스관리자 (DBA, Database Administrator) 데이터베이스운영조직의데이터베이스시스템을총괄하는사람 데이터설계, 구현, 유지보수의전과정을담당 데이터베이스사용자통제, 보안, 성능모니터링, 데이터전체파악및관리, 데이터이동및복사등제반업무를함 40
2.2 데이터베이스사용자 데이터베이스사용자별로갖추어야할지식수준 ( : 없음, : 보통, : 높음 ) SQL 언어 프로그래밍능력 DBMS 지식 데이터구성 일반사용자 SQL 사용자 응용프로그래머 데이터베이스관리자 41
1.3 DBMS 의기능 데이터정의 (Definition) 데이터의구조를정의하고데이터구조에대한삭제및변경기능을수행함 데이터조작 (manipulation) 데이터를조작하는소프트웨어 ( 응용프로그램 ) 가요청하는데이터의삽입, 수정, 삭제작업을지원함 데이터추출 (Retrieval) 사용자가조회하는데이터혹은응용프로그램의데이터를추출함 데이터제어 (Control) 데이터베이스사용자를생성하고모니터링하며접근을제어함. 백업과회복, 동시성제어등의기능을지원함 42
3. 데이터모델 계층데이터모델 (hierarchical data model) 네트워크데이터모델 (network data model) 객체데이터모델 (relational date model) 관계데이터모델 (object data model) 객체-관계데이터모델 (object-relational data model) 43
4. 데이터모델 포인터사용 : 계층데이터모델, 네트워크데이터모델 학생 ( 학번, 이름 ) 501 박지성 502 김연아 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림관계표현을위한예시 학생 ( 학번, 이름, 강좌포인터 ) 501 박지성 502 김연아 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림포인터를사용하여관계표현 44
4. 데이터모델 속성값사용 : 관계데이터모델 학생 ( 학번, 이름 ) 501 박지성 502 김연아 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림관계표현을위한예시 학생 ( 학번, 이름, 강좌번호 ) 501 박지성 102 401 김연아 101 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림속성값을사용하여관계표현 45
4. 데이터모델 객체식별자사용 : 객체데이터모델 학생 ( 학번, 이름 ) 501 박지성 502 김연아 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림관계표현을위한예시 학생 ( 학번, 이름, objectid) 501 박지성 oid 401 김연아 oid 강좌 ( 강좌번호, 강좌이름 ) 101 데이터베이스 230 스포츠경영학 102 자료구조 그림객체식별자를사용하여관계표현 46
4. 데이터모델 데이터모델과각모델에서관계의표현방법 데이터모델관계의표현데이터구성 학생 계층데이터모델 ( 포인터사용 ) 강좌 p 네트워크데이터모델 ( 포인터사용 ) 학생 강좌 p 47
4. 데이터모델 데이터모델과각모델에서관계의표현방법 데이터모델관계의표현데이터구성 학생 관계데이터모델 ( 속성값사용 ) 강좌 X X 객체데이터모델 ( 객체식별자사용 ) 학생 강좌 oid 객체번호 oid 48
4. 데이터모델 데이터모델의역사 데이터모델 제품종류 1970 년대 1980 년대 1990 년대 2000 년대 2010 년대 계층데이터모델 IMS 네트워크데이터모델 IDS 관계데이터모델 Oracle, System R 객체데이터모델 GemStone, ObejectStore 객체 - 관계데이터모델 UniSQL 49
5.1 3 단계데이터베이스구조 사용자가보는데이터 외부스키마 1 외부스키마 2 외부스키마 3 외부 / 개념매핑 전체데이터 개념스키마 개념 / 내부매핑 DBMS 가보는데이터 내부스키마 데이터베이스 ( 물리적인데이터구조 ) ANSI 의 3 단계데이터베이스구조 50
5.1 3 단계데이터베이스구조 외부단계 일반사용자나응용프로그래머가접근하는계층으로전체데이터베이스중에서하나의논리적인부분을의미 여러개의외부스키마 (external schema) 가있을수있음 서브스키마 (sub schema) 라고도하며, 뷰 (view) 의개념임 개념단계 전체데이터베이스의정의를의미 통합조직별로하나만존재하며 DBA가관리함 하나의데이터베이스에는하나의개념스키마 (conceptual schema) 가있음 51
5.1 3 단계데이터베이스구조 내부단계 물리적저장장치에데이터베이스가실제로저장되는방법의표현 내부스키마 (intenal schema) 는하나 인덱스, 데이터레코드의배치방법, 데이터압축등에관한사항이포함됨 52
5.1 3 단계데이터베이스구조 외부 / 개념매핑 사용자의외부스키마와개념스키마간의매핑 ( 사상 ) 외부스키마의데이터가개념스키마의어느부분에해당되는지대응시킴 개념 / 내부매핑 개념스키마의데이터가내부스키마의물리적장치어디에어떤방법으로저장되는지대응시킴 53
5.1 3 단계데이터베이스구조 수강신청데이터베이스의개념스키마 54
5.1 3 단계데이터베이스구조 수강등록담당부서에서필요한데이터베이스 ( 외부스키마 1) 55
5.1 3 단계데이터베이스구조 시간표담당부서에서필요한데이터베이스 ( 외부스키마 2) 56
5.1 3 단계데이터베이스구조 수강신청데이터베이스의내부스키마 57
5.1 3 단계데이터베이스구조 수강신청데이터베이스의 3 단계구조 58
5.2 데이터독립성 논리적데이터독립성 (logical data independence) 외부단계와개념단계사이의독립성 개념스키마가변경되어도외부스키마에는영향을미치지않도록지원 논리적구조가변경되어도응용프로그램에는영향이없도록하는개념 개념스키마의테이블을생성하거나변경하여도외부스키마가직접다루는테이블이아니면영향이없음 물리적데이터독립성 (physical data independence) 개념단계와내부단계사이의독립성 저장장치구조변경과같이내부스키마가변경되어도개념스키마에영향을미치지않도록지원 성능개선을위하여물리적저장장치를재구성할경우개념스키마나응용프로그램같은외부스키마에영향이없음 물리적독립성은논리적독립성보다구현하기쉬움 59
< 실습하기 > 오라클다운받기 1. 웹사이트에접속하여오라클을다운받을수있습니다. 해당 OS 에맞는것을선택합니다. http://www.oracle.com/technology/software/products/database/index.html 60
< 실습하기 > 오라클다운받기 2. 해당 OS 에맞는것을선택합니다. 필자는윈도우환경이므로이에맞는것을선택하였습니다. http://www.oracle.com/technology/software/products/database/index.html 61
< 실습하기 > 오라클다운받기 3. 파일을다운받으려면사용자이름과암호를입력해야합니다. 사용자이름과암호가없으면 sign up now 를클릭하여사용자이름을발급받은후진행해야합니다. ( 필자는이미가입되어있는상태입니다.) 파일다운로드창이나타면파일을다운로드받기위해서 [ 저장 ] 버튼을클릭한후적당한폴더를지정하여파일을다운로드받습니다. 적당한폴더를지정하여파일을다운로드받는다. 오라클을설치할때폴더이름이한글로되어있으면설치가되지않기때문에필자는 C:\software 폴더에다운받습니다. 62
< 실습하기 > 오라클설치하기 1. 다운로드받은파일을압축풀어줍니다. 압축이풀리면 database 폴더가생성됩니다. database 폴더의 setup.exe 파일을실행하면오라클설치가시작됩니다. 2. 오라클설치과정이시작되면다음과같은시작화면이출력됩니다. 63
< 실습하기 > 오라클설치하기 3. OUI 에의해서설치가진행되며설치방식을선택하라는화면이제공되면기본설치를선택합니다. 본서에서는전역데이터베이스이름을기본적으로설정되는 "orcl" 을사용할것입니다. 데이터베이스암호를지정해야다음으로넘어가는데, 이암호는 SYS, SYSTEM, SYSMAN, DBSNMP 계정을사용하기위한암호로서반드시기억하고있어야합니다. 필자는암호로 master 를지정합니다. 64
< 실습하기 > 오라클설치하기 4. 제품별필요조건을검사합니다. 성공여부를확인한후 [ 다음 ] 버튼을클릭합니다. 5. Oracel Configuration Manager 등록화면이나타납니다. 이는언제든지설정가능하므로스킵하고 [ 다음 ] 으로넘어갑니다. 65
< 실습하기 > 오라클설치하기 6. 설치하고자하는오라클의요약화면이나타납니다. 확인후 [ 설치 ] 버튼을클릭합니다. 7. 설치가진행됩니다. 오라클이설치되는동안진행상태바가나타납니다. 66
< 실습하기 > 오라클설치하기 8. Configuration Assistant 유틸리티는오라클에포함된데이터베이스관리유틸리티들중의하나로서데이터베이스를생성하는데사용합니다. 데이터베이스생성이완료되었다면생성된데이터베이스에대한정보를간단히사용자에게출력시켜줍니다. [ 암호관리 ] 버튼을클릭합니다. 67
< 실습하기 > 오라클설치하기 9. 오라클을설치하면기본적으로생성되는계정이있습니다. 시스템권한을가진사용자인 DBA 용계정과교육용계정, 두가지가다음과같이생성됩니다. 사용할계정에대해서계정잠금을해제하고기본암호를변경합니다. 본서에서는오라클 9i 까지에서오라클을설치하게되면기본적으로설정되는암호와동일하게지정하였습니다. 계정 암호 설명 SYS change_on_install DBA SYSTEM manager DBA SCOTT tiger 교육용계정 HR tiger 교육용계정 68
< 실습하기 > 오라클설치하기 9.1 HR 사용자의계정잠금을해제하고새암호와암호확인에 tiger 를입력합니다. 9.2 SCOTT 사용자의계정잠금을해제하고새암호와암호확인에 tiger 를입력합니다. 9.3 SYS 와 SYSTEM 의새암호와암호확인을각각 change_on_install 과 manager 로지정합니다. 69
< 실습하기 > 오라클설치하기 10. 설치종료화면이나타나면 [ 종료 ] 버튼을클릭합니다. 70
05. SQL 과 SQL*Plus 의개념 SQL(Structured Query Language) 데이터베이스에저장된데이터를조회, 입력, 수정삭제하는등의조작이나, 테이블을비롯한다양한객체 ( 시퀀스. 인덱스등 ) 를생성및제어하는역할을합니다. SQL 의종류 데이터정의어 (DDL) 데이터베이스관리자나응용프로그래머가데이터베이스의논리적구조를정의하기위한언어로서데이터사전 (Data Dictionary) 에저장됩니다. 데이터조작어 (DML) 데이터베이스에저장된데이터를조작하기위해사용하는언어로서데이터검색 (Retrieval), 추가 (Insert), 삭제 (Delete), 갱신 (Update) 작업수행합니다. 데이터제어어 (DCL) 데이터에대한접근권한부여등의데이터베이스시스템의트랜잭션을관리하기위한목적으로사용되는언어입니다. 71
04. SQL 과 SQL*Plus 의개념 다음은이책에서 SQL 명령문을유형별로나누어놓은표입니다. 유형 명령문 DQL:Data Query Language( 질의어 ) SELECT( 데이터검색시사용 ) DML:Data Manipulation Language ( 데이터조작어 )-데이터변경시사용 DDL:Data Definition Language ( 데이터정의어 ) 객체생성및변경시사용 TCL:Transaction Control Language ( 트랜잭션처리어 ) INSERT( 데이터입력 ) UPDATE( 데이터수정 ) DELETE( 데이터삭제 ) CREATE( 데이터베이스생성 ) ALTER( 데이터베이스변경 ) DROP( 데이터베이스삭제 ) RENAME( 데이터베이스객체이름변경 ) TRUNCATE( 데이터베이스저장공간삭제 ) COMMIT( 트랜잭션의정상적인종료처리 ) ROLLBACK( 트랜잭션취소 ) SAVEPOINT( 트랜잭션내에임시저장점설정 ) DCL:Data Control Language GRANT( 데이터베이스에대한일련의권한부여 ) 72
탄탄히다지기 4. 데이터베이스로부터필요한데이터를조화하기위한 SQL 문은무엇일까요? ( ) 5. 데이터를조작하는 INSERT, UPDATE, DELETE 문등으로구성되며새로운데이터를삽입하고, 기존의데이터를변경하고삭제하는역할을하는것을무엇이라합니까? ( ) 6. CREATE, ALTER, DROP, RENAME, TRUNCATE 문으로구성되며, 새로운테이블을만들고변경하고삭제하고테이블명을바꾸고잘라내는역할을하는것을무엇이라합니까? ( ) 7. 데이터베이스접근에필요한권한을 GRANT 문을사용하여부여하고, REVOKE 문을사용하여권한을회수하는명령어로구성된것을무엇이라합니까? ( ) 73
04. SQL 과 SQL*Plus 의개념 SQL(Structured Query Language) 란? 관계 DB 를처리하기위해고안된언어로, 독자적인문법을갖는 DB 표준언어 (ISO 에서지정 ) 로서대다수데이터베이스는 SQL 을사용하여데이터를조회, 입력, 수정삭제합니다. SQL*Plus 란? SQL*Plus 는 SQL 명령문을기능을제공하고, 칼럼이나데이터의출력형식을설정하거나환경설정하는기능을제공합니다. 74
탄탄히다지기 8. 관계 DB 를처리하기위해고안된언어로, 독자적인문법을갖는 DB 표준언어를무엇이라합니까? ( ) 9. SQL 언어를구현하여오라클 RDBMS 를관리할수있는오라클사의클라이언트툴제품명을무엇이라합니까? ( ) 75
05. SQL*Plus 로그인 5.1 Command 환경에서 SQL*Plus 로그인 데이터베이스접속을시도하면오라클데이터베이스를사용할수있는사용자인지를검증하기위해서사용자계정과암호를묻게됩니다. 형식 SQLPLUS 사용자계정 / 암호 오라클을설치하게되면기본적으로생성되는사용자계정중에서 scott 을사용합니다. scott 의패스워드는 tiger 입니다. 예 sqlplus scott/tiger 76
< 실습하기 > 오라클시작과종료 1. 콘솔모드로나가기위해서 [ 시작 ]-[ 실행 ] 메뉴를선택한후 cmd 라고입력합니다. ora_work 라는작업폴더로이동한후 SQL*Plus 를실행합니다. 77
< 실습하기 > 오라클시작과종료 2. 오라클을종료하려면 exit 명령어를입력합니다. 접속이끊기면서도스프롬프크가나타납니다. 78
< 실습하기 > 오라클시작과종료 3. 데이터베이스접속을시도하면서사용자계정만입력할경우에는입력하지않은암호를입력하라는메시지가나타납니다. 요청에따라암호를입력하면성공적으로접속할수있습니다. 79
< 실습하기 > 오라클시작과종료 4. 데이터베이스접속을시도하면서사용자계정과암호를모두입력하지않은경우에는사용자계정과암호를입력하라는메시지가차례로나타납니다. 요청에따라사용자계정과암호를입력하면성공적으로접속할수있습니다. 80
5.2 시스템권한을데이터베이스관리자 데이터베이스사용자는오라클계정 (Account) 이라는용어와같은의미로사용됩니다. 오라클을설치하면한개이상의데이터베이스권한을갖는디폴트 ( 기본적인 ) 사용자가존재합니다. 오라클에서제공되는사용자계정은다음과같습니다. 사용자계정 SYS SYSTEM SCOTT HR 설명 오라클 Super 사용자계정이며데이터베이스에서발생하는모든문제들을처리할수있는권한을가지고있다. 오라클데이터베이스를유지보수관리할때사용하는사용자계정이며, SYS 사용자와차이점은데이터베이스를생성할수있는권한이없으면불완전복구를할수없다. 처음오라클을사용하는사용자의실습을위해만들어놓은연습용계정이다. 이역시오라클에접근할수있도록샘플로만들어놓은사용자계정이다. 81
3.2 오라클설치및수행 오라클 11g 개인용에디션을컴퓨터시스템에설치 오라클개인용에디션은윈도우 XP, 윈도우비스타, 윈도우 7 등에설치 가능 본절에서는윈도우 7 환경에오라클개인용에디션을설치하는과정을 설명 오라클홈페이지 (http://www.oracle.com) 에접속하여오라클을 다운로드하는웹페이지를찾음 오라클사이트에회원으로가입한사람만다운로드할수있음 82
3.2 오라클설치및수행 ( 계속 ) 83
3.2 오라클설치및수행 ( 계속 ) 오라클라이센스동의화면 84
3.2 오라클설치및수행 ( 계속 ) 85
3.2 오라클설치및수행 ( 계속 ) 두개로나누어진오라클 zip 파일을모두다운로드 86
3.2 오라클설치및수행 ( 계속 ) database 폴더에압축을푼다 87
3.2 오라클설치및수행 ( 계속 ) database 폴더에서 setup.exe 를더블클릭 88
3.2 오라클설치및수행 ( 계속 ) Oracle Universal Installer(OUI) OUI 는오라클제품의설치및구성과정을안내 오라클의구성요소들을설치하고, 업그레이드하고, 제거하고, 데이터베이스를생성하는데사용됨 오라클 8i 부터모든플랫폼에서사용가능한자바기반의 GUI 형식의 프로그램으로만들어짐 89
3.2 오라클설치및수행 ( 계속 ) 90
3.2 오라클설치및수행 ( 계속 ) 오라클설치 1 단계인보안갱신구성단계 교육과개발에사용하는오라클은라이센스계약없이설치하여사용 가능 91
3.2 오라클설치및수행 ( 계속 ) 오라클설치 2 단계인설치옵션선택단계 [ 데이터베이스생성및구성 ] 옵션은샘플스키마와함께 새데이터베이스를생성 92
3.2 오라클설치및수행 ( 계속 ) 오라클설치 3 단계인시스템클래스선택단계 노트북또는데스크톱에설치하는경우에는 [ 데스크톱클래스 ] 옵션 93
3.2 오라클설치및수행 ( 계속 ) 오라클설치 4 단계인일반설치구성단계 Oracle Base 와소프트웨어가설치되는위치, 데이터베이스파일이저장되는위치, 설치할오라클데이터베이스버전, 데이터베이스의문자집합, 전역데이터베이스의이름, 관리권한을 갖는오라클계정 (SYS, SYSTEM) 의비밀번호를설정 전역데이터베이스이름 형식 : database_name.domain 전역데이터베이스이름을입력하면자동적으로 SID( 시스템식별자 ) 에도입력됨 전역데이터베이스이름은네트워크도메인안에서서로다른데이터베이스를고유하게 식별할수있는데이터베이스의완전한이름 SID 는로컬컴퓨터의다른데이터베이스와이데이터베이스를고유하게식별하는 데이터베이스이름 94
3.2 오라클설치및수행 ( 계속 ) 95
3.2 오라클설치및수행 ( 계속 ) 오라클설치 5 단계인필요조건검사수행단계 오라클을설치하는데필요한최소시스템요구사항을충족하는지확인 96
3.2 오라클설치및수행 ( 계속 ) 오라클설치 6 단계인요약단계 설치할정보를요약 97
3.2 오라클설치및수행 ( 계속 ) 오라클설치 7 단계인제품설치단계 98
3.2 오라클설치및수행 ( 계속 ) 오라클설치 7 단계인제품설치단계 ( 계속 ) 데이터베이스구성에포함되는도구들의이름과설치상태 99
3.2 오라클설치및수행 ( 계속 ) 데이터베이스생성 (DBCA: Database Configuration Assistant) 100
3.2 오라클설치및수행 ( 계속 ) 생성된데이터베이스를요약한정보 101
3.2 오라클설치및수행 ( 계속 ) 오라클설치 8 단계인완료단계 102
3.2 오라클설치및수행 ( 계속 ) 오라클이윈도우 7 의서비스로등록되어있는지확인 [ 시작 ] [ 제어판 ] [ 시스템및보안 ] [ 관리도구 ] [ 서비스 ] 를차례로클릭 오라클설치과정에서전역데이터베이스이름을 DBSERVER 로설정한경우에 윈도우 7 의서비스이름은 OracleServiceDBSERVER 103
오라클관련프로그램 3.2 오라클설치및수행 ( 계속 ) [ 시작 ] [ 모든프로그램 ] [Oracle OraDb11g_home1] 104