본문 바로가기
클라우드 활용 자바개발자 양성과정/02. 데이터베이스 활용

0. 오라클 설치

by moca7 2024. 7. 15.

 

ㅁ 웹개발 : 자바 + 오라클(dbms, sql문) + 화면구현(html, css, js) 

- 중요도: 자바 40%, 오라클 40%, 화면구현 20%

오라클도 자바만큼이나 중요하다.

화면구현은 실제로 우리가 할 일이 별로 없다.

- 이 셋으로 세미프로젝트

- 나중에 프레임워크 배우면 전체를 얹어서 파이널 프로젝트

 

 

 

ㅁ Mybox에서 두 개 다운만 먼저.

 

- 체크안된 하나는 문제 생겼을 때를 대비한 다른 버전임.

- 설치를 바로 안하고 나중에 같이하는 이유는 비밀번호 설정 때문에. 

 

 

 

 

ㅁ pdf 강의교안 - 001 데이터베이스 개요

 

 

ㅁ Data와 Database

- data: 실질적인 값 그자체

- 정보: 데이터를 기반으로 의미를 부여한 것

 

ㅁ Database

- 정의라는 것은 규칙이라고 할 수 있다. 

- 공동으로 사용되는 데이터여야만 한다.

- 중복 데이터는 최소한으로 보관해야 한다.

- 물리적으로 저장되어야 한다. 컴퓨터 내에 저장이 가능해야 한다.

- 조직의 목적을 위해 사용되는 데이터만 보관해야 한다.

꼭 필요한 데이터만 있어야 한다. 불필요한 데이터는 절대 있어서는 안된다.

 

ㅁ DBMS

- 사용자의 요청에 의해 데이터를 추출, 조작, 정의, 제어할 수 있어야 한다.

- db만 있어서는 안되고, dbms도 있어야 가능하다.

- pc에 dbms가 설치되어 있어야 저런 걸 할 수 있다.

 

ㅁ DBMS 종류와 특징

- 종류 다양한데 우리는 Oracle을 쓴다.

- 종류마다 정의,조작,제어 등을 할 때 문법이 조금씩 다르다.

- 제조사, 사용되는 운영체제, 용도가 다 다르다.

- 보통 오라클, MySQL, MariaDB 이 셋을 많이 쓴다.

한 회사에서도 프로젝트별로 다르게 쓸 수 있다.

- 그래도 거진 비슷해서 하나만 마스터하면 다른 DBMS이용할 때 편하다.

- 오라클은 맥북에는 친화적이지 않다. 설치파일 자체를 제공 안함.

- 오라클은 대용량 데이터베이스를 관리할 때 씀.

- 소용량 데이터베이스만 필요하면 무료인 MySQL, MariaDB를 쓰는 회사도 많다.

오라클은 비싸다. 학습용은 무료버전 쓴다.

 

ㅁ 오라클,  MySQL, MariaDB는 관계형 데이터베이스 모델(RDBMS)이라고 한다.

- 옛날에는 파일 시스템, 계층형 데이터 모델, 네트워크 데이터 모델. 이젠 안 쓰임.

- 객체가 붙은 데이터 모델은 관계형 데이터 모델에 객체지향의 개념을 넣었다.

그러나 데이터의 안정성 문제, 성능 문제 때문에 많이 쓰이진 않는다.

- 관계형 데이터베이스 모델은 꼭 마스터해야 한다. 

 

ㅁ 관계형 데이터베이스

- 데이터를 행과 열이 존재하는 테이블 형식으로 관리한다.

- 테이블 간에 관계가 있다.

 

 

 

 

ㅁ 002 개발환경구축.pdf

- 관리자 계정(SYS 또는 SYSTEM이라 함)의 비밀번호를 모두 동일하게 한다. 자리 바꿨을 때를 위해.

 

 

- 오라클 설치 후 cmd 창에 sqlplus 입력하면, 설치가 잘 됐으면 오라클 버전이 잘 보여져야 한다.

 

SQL*Plus: Release 11.2.0.2.0 Production on 월 7월 15 17:26:39 2024
Copyright (c) 1982, 2014, Oracle.  All rights reserved.

 

Enter user-name: 

 

아직 계정을 만든 적은 없지만, 오라클 설치하면 기본적으로 관리자 계정은 있음.

 

 

Enter user-name: sys as sysdba

Enter password: oracle

 

입력했으면 아래와 같이 뜸.

 


Connected to:         //         연결되었음.
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>          

 

 

 

 

SQL> select * from dba_users;   

 

// 관리자 계정 말고 샘플로 몇 가지 계정이 설치됨. 그걸 확인하는 구문.

// 명령문의 끝에는 항상 세미콜론이 있어야 한다.

 

 

~~~~~

16 rows selected.

 

 

16개의 행이 조회되었다. 그런데 보기 편하지가 않음. 

cmd 창에서는 보기도 불편하고 작업하기도 까다롭다.

 

sql문을 보다 쉽게 작성하고 실행할 수 있는 프로그램을 이용할 거다.

자바에서 이클립스 썼던 것처럼, sql developer라는 프로그램을 이용한다.

설치형은 아니고 압축만 풀면 구동 가능.

 

 

 

sql developer

- 작동이 잘 되다가 며칠 후에 안되는 경우가 있어서 예전 버전도 올려 놓았음.

- 압축 풀고 sqldeveloper 폴더를 c드라이브에 옮겨 놓음.

항상 c드라이브에 놓는 것이 좋다. 이클립스도 그렇고. 

- 이름 sqldeveloper_23.1.1으로 바꿈.

어떤 프로그램 쓰는지, 몇 버전인지도 아는 것이 좋다. 

- 프로그램 실행.

환경설정 import 창 뜨면 그냥 '아니요'누르면 됨.

이전에 설치했었던 적이 있으면 그때의 환경설정 그대로 쓸거냐 물어보는거.

 

- 얘도 이클립스처럼 처음 키면 웰컴페이지라고 시작페이지가 뜸.

왼쪽 하단에 시작시 표시라는 체크박스 체크해제하면 안 뜸. 

체크해제하고 x로 닫아버림. 

 

- 초기 환경설정. 인코딩 UTF-8이어야 함.

[도구] - 환경설정 - 환경에서 인코딩이 ms949로 되어있을 건데 UTF-8로 변경. 

 

UTF8말고 UTF-8 선택. 

웹에서는 인코딩을 다 UTF-8로 바꿔야함. 초반에 바꿔놓을게요.

 

이 프로그램으로 작업하고 파일을 저장할 때 UTF-8로 인코딩. 

(이렇게 인코딩 안하면 나중에 열어봤을 때 한글부분이 다 깨질 수 있음)

 

- [도구] - 환경설정 - 글꼴

적당히 글씨 키우기. 

 

 

- 먼저 특정 계정에 접속을 해야한다. 

그래야 그 계정 내에 있는 데이터를 가지고 데이터 조작, 조회 가능.

 

왼쪽에 접속이라는 창이 있다. (참고로 끄면 메뉴 [창]에서 킬 수 있음)

이 창에 관리자계정으로 접속할 수 있는 목록을 추가해놓으면 편하다. 

 

초록색 +버튼 누름.

[사용자 정보]에서 사용자 이름과 비밀번호. 이미 존재하는 걸 입력해야 정상적으로 접속 가능함.

맨 위의 name은 별로 의미 없음. 아무렇게나 입력해도 됨. 목록에 어떻게 뜰 지.   //   "관리자계정_sys as sysdba" 입력.

 

사용자 이름은 sys 입력하고 오른쪽에 롤에서 SYSDBA 선택.

그렇지 않고 롤을 기본값으로 둘거면 사용자 입력에 sys as sysdba를 입력.

 

비밀번호는 소문자 oracle.

 

하단의 테스트 눌러보면 실제 계정 정보(아이디, 비번)가 맞는지 뜸. 성공이라 떠야 함. 

 

 

그리고 오른쪽 위에 Color가 있는데 빨간색으로 지정.

컬러 지정해두면 편함. 빨간색 테두리로 뜨면 내가 관리자 계정이란걸 바로 알 수 있음.

 

 

- 오른쪽에 sql을 작성할 수 있는 파일(워크시트)이 뜸.

- 닫았는데 다시 키고 싶으면, 상단의 초록색 sql 워크시트 누르고 계정 선택하면 워크시트가 뜸.

 

 

ㅁ 왼쪽 접속 창에 관리자 계정으로 바로 접속할 수 있게 목록을 만들어 놨고 빨갛게 해놨음.

- 아이콘에 콘센트 모양이 접속이 된다는 뜻.

- 접속하면 워크시트도 열림(워크시트가 기존에 없었다면). 

처음엔 열리는데 나중에 안열리면 상단 초록색 sql 워크시트 아이콘.

- 여기서 명령문을 실행한다면 관리자 계정으로 실행하는 것. 

지금은 관리자 계정으로만 접속할 수 있게 만들어 놨다.

 

 

ㅁ C:\workspaces에 02_oracle-workspace 폴더 만듦. 

- 폴더 경로에 절대 공백 있으면 안되고 언더바나 하이픈 써야 하고, 한글도 쓰면 안되고 영어 써야 함.

- 이제부터 파일을 이 안에 저장시킬 예정.

 

ㅁ sqldeveloper에서도 한줄 주석, 여러줄 주석 가능

- 한 줄 주석 : 하이픈 2개. -- 

- 여러 줄 주석 : /*   ~~~    */

- 주석은 명령문으로 취급되지 않음.

 

 

ㅁ < SYS 계정 | SYSTEM 계정 >

- 오라클 관리자 계정

- 총괄적으로 데이터베이스들 또는 계정들을 관리할 수 있는 권한을 가지고 있다.

(오라클에서 권한 종류가 엄청 많은데 왠만한 권한들을 다 가지고 있다)

- 관리자 계정에서는 앞으로 오로지 일반 사용자 계정을 생성하는 것만 함. 

(그 외의 다른 구문들은 최대한 실행하지 말 것)(무분별하게 조작될 수 있어서)

- 수업용 계정을 매번 만들 것. 나중에 실습하면 실습용 계정도 만들어서 진행함. 

 

 

 

사용자 계정 생성 및 권한 부여 방법

- 수업용 계정을 만들건데 사용자 계정이라고 함.

 

 

(1) 사용자 계정을 생성하는 명령문

- 참고로 영문은 다 대문자로 쓸 거다. sql 명령문은 다 대문자로 쓴다.

- 명령문의 끝에는 자바처럼 반드시 세미콜론 찍어줘야 한다. 

 

CREATE USER 계정명 IDENTIFIED BY 비밀번호;

 

 

 

(2) 생성된 사용자에게 권한을 부여하는 명령문

- 사용자 계정에 많은 권한을 줘서는 안된다. 최소한의 권한만 주고 나중에 필요하면 추가로 부여한다.

- 최소한의 권한: CONNECT(접속 권한), RESOURCE(자원을 사용할 수 있는 권한)

처음에는 이 두 권한만으로 진행한다. 

나중에 권한이 더 필요하면 관리자 계정으로 더 추가한다.

 

GRANT 권한, 권한, ... TO 계정명;

 

 

 

(3) 사용자 계정을 삭제하는 명령문

- 해당 계정이 데이터베이스 객체를 가지고 있는 경우

 

DROP USER 계정명 CASCADE;

 

- 해당 계정에 데이터베이스 객체를 가지고 있지 않을 경우(빈 껍데기일 경우)

 

DROP USER 계정명;

 

 

 

(4) 현재 존재하는 계정들을 조회하는 명령문(= sql문, = 쿼리문)

 

SELECT * FROM DBA_USERS;


- 16개의 계정이 있다. 옆에는 각 계정이 가지고 있는 속성들이다. 

- 기본적으로 있는 계정들을 쓰지는 않고, 수업에 필요한 계정을 별도로 만들어서 진행한다.

 

 

 

ㅁ 명령문 하나 실행하는 법

- 실행하고픈 명령문에 커서를 위치시키고, 상단의 초록색 재생버튼이나 ctrl + enter를 누르면 현재 커서가 위치하고 있는 명령문이 실행된다.

아니면 실행하려는 명령문 전체를 드래그하고 ctrl + enter를 눌러도 된다.

 

 

 

ㅁ 수업용 계정 생성 (아이디 BR, 비밀번호 BR)

- 계정명은 대소문자를 가리지 않지만, 비밀번호는 대소문자를 가린다. 

 

 

- 생성하고 다시 위의 명령문을 실행하면, 17개의 계정이 뜬다. 

 

 

 

ㅁ 접속 가능한지 테스트 한다.

- 접속은 왼쪽의 접속창으로 한다.

- 현재 br 계정에 접속 가능한 목록이 없다.

접속창 상단의 초록색 플러스 버튼을 누르면, 접속을 만들 수 있는 창이 뜬다.

- 사용자 이름과 비밀번호를 맞게 쓰고 테스트를 눌러도 오류가 뜬다.

CREATE SESSION 권한(접속 권한)이 없어서 로그인이 거절되었다.

계정을 만들고 최소한의 권한을 줘야 한다. 그 중 하나가 접속권한이다. 

 

 

ㅁ 최소한의 권한( CONNECT, RESOURCE ) 부여

- CREATE SESSION 권한을 CONNECT라고도 한다. 

- RESOURCE 권한은 데이터베이스 객체를 생성하는 데 필요한 기본적인 권한들을 포함하고 있으며, 사용자가 데이터베이스에 접근하여 필요한 작업을 수행할 수 있도록 합니다.

 

GRANT CONNECT, RESOURCE TO BR;

 

 

ㅁ 현재까지 작성한 구문들을 파일로 저장한다. 

- 현재까지 작성한 구문은 3줄이다.

SELECT * FROM DBA_USERS;
CREATE USER BR IDENTIFIED BY BR;
GRANT CONNECT, RESOURCE TO BR;

 

- 파일-저장이나 ctrl + s를 눌러서 C:\workspaces\02_oracle-workspace에 저장한다.

- 모든 파일은 .sql 확장자 파일로 저장한다. sql 스크립트라고도 한다.  

- 파일명은 탭이름대로 뜨는데 수정해도 된다.

파일 이름을 "00_일반사용자계정생성_관리자계정"으로 바꿔서 저장함.

이 뒤에 .sql을 붙여도 되고 안써도 자동으로 sql 확장자 파일로 저장된다. 

 

- 메모장으로 sql 파일을 열어보면 다음과 같이 저장되어 있다.

 

-- 한줄 주석
/*
하하

*/

SELECT * FROM DBA_USERS;  --  현재 존재하는 계정들을 조회하는 명령문
CREATE USER BR IDENTIFIED BY BR;
GRANT CONNECT, RESOURCE TO BR;

 

 

 

ㅁ 다시 접속창 +를 눌러서 접속 창에 목록을 만들고 사용자 계정으로 접속한다. 

- Name: 오라클수업용계정_BR (뭐로해도 큰 상관은 없음)

- 아이디, 비밀번호 BR. 

- 색상은 파란색. 

 

 

사용자 계정 워크시트에서 명령문(sql문)을 작성했는데, 관리자 계정으로 실행하고 싶다면

워크시트 오른쪽 상단의 계정 목록에서 바꿀 수 있다.

 

 

ㅁ 오라클에서의 객체라는 용어랑 자바에서의 객체는 다른 뜻이다.

- 데이터베이스에서 정보를 저장, 관리, 처리하기 위해 생성된 구체적인 개체 또는 요소를 가리킵니다.

 

 

 

ㅁ 마이박스 - Oracle수업용스크립트.sql파일 다운로드

- 메모장으로 열어볼 수도 있지만 sql developer에서 열고 싶다면,

워크시트가 열려있는 상태에서 파일을 드래그앤 드롭하면 새로운 탭으로 해당 파일이 열린다.

 

 

ㅁ 명령문들을 한번에 전부 실행시키기. 

- 일단 새로 연 파일은 워크시트 오른쪽 상단에 접속이 안되어있음. 

수업용 계정으로 선택. 파란색 테두리가 됨. 

- 초록색 재생 버튼 오른편에, 스크립트 실행(F5)을 누르면 한번에 전부 실행된다.

 

- 전부 실행시키고 왼쪽 접속창의 BR 계정의 하위 목록에서 '테이블'을 클릭하면 테이블 목록이 뜬다. (새로고침 하고)

- 테이블은 데이터를 보관하는 객체이다. 

각각의 주제에 맞춰서 따로따로 보관해줘야만 데이터의 중복을 최소화할 수 있다.

 

 

 

- 테이블 6개가 생성되었다.

각각의 테이블을 클릭해보면, 상세내용으로 어떤 칼럼들이 있고 어떤 데이터가 있는지 볼 수 있다. 

- 초반에는 탭중에 '열', '데이터' 탭을 주로 쓴다. 

 

 

 

- 행 하나 하나가 데이터라고 보면 된다.

 

 

도구 - 환경설정 - 코드편집기 -  글꼴 - D2CODING 폰트 설정.

 

ㅁ 도구 - 환경설정 - 코드편집기 - 표시 - 여백 옵션 2개가 왼쪽 오른쪽 점선 끄기다.

 

 

'클라우드 활용 자바개발자 양성과정 > 02. 데이터베이스 활용' 카테고리의 다른 글

05. SUBQUERY  (0) 2024.07.19
04. JOIN (조인문)  (0) 2024.07.18
03. GROUP BY & HAVING  (0) 2024.07.18
02. SELECT (함수)  (0) 2024.07.17
01. SELECT (기본 문법)  (0) 2024.07.16