데이터베이스에는 많은 종류가 있지만, Oracle을 기준으로 DB에 대해 공부해보자.
◆ 데이터베이스
간단히 말해 데이터를 관리해주는 프로그램이다. 지속적으로 저장되어야 할 데이터들을 보관해 주는 저장소라고 보면 된다.
▶ 데이터베이스를 쓰는 이유
- 파일보다 데이터를 관리하기가 편함.
- DB가 데이터를 쉽게 관리할 수 있게 지원함
- 실시간 읽고 쓰기가 가능, 추출도 쉽고, 여러 가지 제약조건 설정 등을 통해서, 코드로 처리해야 될 작업들을 많이 줄여줌.
◆ 데이터베이스의 종류
데이터베이스의 종류는 크게 보면 두 가지가 있다.
▶ RDB - 관계(Relation)형 DB ( 표준 )
데이터를 보관 할 때 스키마(틀/도식) 설정이 필요함.
(‘회원정보를 저장 하겠다’라고 할 때 무엇을 저장 할 것인지 청사진을 그려야한다.)
ex ) id / name / phone / password … 등의 형식을 지정해 놓고 형식에 맞게 저장, 그 외의 데이터는 저장 불가!
=> 그 외의 것들을 저장하려면 스키마 설정을 다시 해야 한다.
-
- 종류
- Oracle, MySql, MsSQL, MariaDb, tibero(국산) 등등
▶ NO-SQL (특수/서브) :
- 데이터 보관을 할 때 스키마 설정이 필요치 않음.
회원정보를 저장할 때, 어떠한 것들을 저장할 것인지에 대한 설정이 필요하지 않음.
=> 따라서 RDB보다는 NO-SQL 이 저장이 빠르다. -
- 종류
- MongoDB, hbase, 카우치베이스….
◆ Oracle ( 11g express edition version )
오라클 사에서 개발한 Oracle 데이터베이스 프로그램은 정식 사용은 유료이고, express버전은 무료로 사용 가능하다.
=> 데이터베이스의 명령문은 SQL(Structed Query Language)표준을 따르고 있기 때문에 대부분 비슷하거나 똑같다. (단, DB 프로그램마다 고유 기능은 있을 수 있다. )
▶ 다운로드 www.oracle.com - 11g express edition version
- oracle.com에 접속하여 express버전을 다운받는다.
- 설치 중간에 관리자 비밀번호 설정이 필요.
- 오라클의 포트번호는 1521 / 2030 / 8080 세 가지를 쓰고 있기 때문에 해당 포트번호를 비워두어야 한다.
- 설치가 완료되면 OS가 켜질 때 DB도 같이 켜진다. 리소스를 많이 잡아먹기 때문에 DB를 사용하지 않을 때는 stop시켜두는 것이 좋다.
◆ 데이터베이스 툴 (Database Tool)
오라클 설치 완료 후 브라우저에 ip : 8080/apex 입력하면 오라클의 데이터베이스를 관리할 수 있는 UI를 사용할 수 있다. 하지만 불편하기 때문에 보통 데이터베이스 툴을 이용하여 작업한다.
▶ DB작업 툴
oracle설치 시 기본적으로 제공하는 툴인 sqlplus라는 것이 있는데 cmd창에서 제어하기 때문에 사용하기 편하지 않다.
-
- RDB 툴의 종류
- orange, toad, oracle, ssms …
DB마다 툴의 종류가 다르다.
Oracle 에서 배포하는 무료 툴인 SqlDeveloper를 학습용으로 사용하도록 하자.
▶ SQLPLUS 사용법
SqlDeveloper를 사용하기 전에 sqlplus로 기본적인 사용법을 익혀두는 것이 좋다.
cmd(명령프롬프트)에서 “sqlplus system/비밀번호”을 입력하면 앞이 SQL> 로 바뀌면서 sqlplus로 DB에 접속 할 수 있다.
오라클 설치 시 기본적으로 아이디system또는 sys가 생성되며, 비밀번호를 설정해야 한다. 그렇기 때문에 위 명령어로 DB에 접근할 수 있다.
-
- DB유저 생성
- Create user 아이디 identified by 비밀번호;
-
- DB유저에게 권한 부여
- Grant connect, resource to 아이디;
=> 해당 아이디로 connect(연결), resource(리소스관리)의 권한을 부여
-
- 종료
- Exit
-
- 접속
- sqlplus 아이디/비밀번호
-
- 생성된 테이블 확인
- Select * from tab;
=> 만들어져 있는 모든 테이블명이 나온다.
◆ SqlDeveloper
▶ SqlDeveloper 다운로드
www.oracle.com => SQL Deveoper => JDK include버전은 JDK가 깔려 있지 않은 컴퓨터에서 쓰고 있을 경우 그냥 미포함버전 다운
설치 후 JDK의 경로를 설정하는 곳에서 JDK설치 경로(C:\Program Files\Java\jdk1.8.0_211)를 설정 해주고, 환경설정은 ‘아니오’를 눌러서 쓰도록 한다.
▶ SqlDeveloper 사용법
1. 왼쪽 위 ‘+’ 버튼으로 접속 창 띄우기
- 접속이름 : 해당 DB를 관리할 프로젝트명과 비슷한 이름( 큰 의미 없다 )
- 사용자이름 : DB계정 (초기 값 system)
- 비밀번호 : 해당계정비번 ( 초기 설정한 비밀번호 (oracle) )
- 호스트이름 : localhost ( 본인 아이피 : 127.0.0.1 ) => 서버주소(ip)
- SID : 서비스 아이디 ( 버전에 따라 다름 , standard(정식버전)=orcl / express(무료버전)=xe)
- 포트 : 1521 ( 실제 작업 포트 ) (8080은 UI포트 ?)
▶ 설정 후 테스트 버튼을 누르면 왼쪽에 성공여부를 미리 알 수 있다.
2. system계정으로 접속
=> 명령창에 show user;를 하게 되면 현재 사용자 이름을 알 수 있음
-
- Ctrl + Enter
- 위의 ▶ 버튼을 누른 것과 같은 효과, 명령어 실행
=> 커서가 있는 지점의 명령어만 실행된다. (명령어의 구분은 세미콜론(;))
3. 사용자 생성
왼쪽에 다른 사용자 폴더에서 우 클릭 후 사용자 생성
OR 명령 창에 create user 아이디 identified by 비밀번호;
4. 명령 창에서 사용자 권한 주기 :
grant connect, resource to 생성한 아이디;
5. system으로 접속된 관리자접속을 해제시키고 다시 ‘+’ 버튼을 눌러 생성한 아이디로 새로 접속
( 접속되어있는 DB는 플러그 아이콘이 붙어있다 )
◆ DataBase 운용
공유기 환경에서 DB를 설치한 후 다른 곳에서 접속을 시도하면 접속이 되지 않는다.
(물론, 포트포워딩을 이용해 접속할 순 있으나..)
어디서든 접속되는 데이터베이스를 사용하려면, 클라우드 서비스 환경을 이용하여 사용이 가능하다.
▶ Amazon Web Service 시스템 이용.
aws사이트로그인 => rds 서비스 검색 => get Started => 맨 밑에 체크! (공짜) => engine: oracle . standard edition two => next => check free option =>
-
- settings
- DB instance identifier info : DB이름 (아무거나)
Master User name : 데이터베이스 계정명
비밀번호 8글자이상
=> public accessiblitity : yes
Availability zone : ap-northeast-2a
=> creating이 끝나면 db설치 완료
=> 왼쪽 instances => 설정한 DB이름 => endpoint가 호스트이름(서버위치)
- 완료 후 오라클디벨로퍼에서 새로 접속하면됨 , SID 는 orcl , 호스트이름은 endpoint
- 상태확인하는 곳에서 Security group rules 에 CIDR/IP Inbound 클릭해서 넘어가는 곳에서 밑에 인바운드를 위치무관으로 편집