스키마 구축 절차

스키마(=사용자) 생성 → 테이블 생성 → 데이터 입력 → 데이터 조회/활용


스키마 생성

1. 접속 창의 db_system을 확장하고 제일 아래 '다른 사용자'에서 마우스 오른쪽 버튼을 클릭한 후 '사용자 생성'을 선택한다.


2. 사용자 탭에서 사용자 이름을 입력하고 비밀번호를 지정한다. 기본 테이블스페이스는 'USERS'로, 임시 테이블스페이스는 'TEMP'로 선택한다. 


3. 부여된 롤 탭을 클릭하고 'CONNECT'와 'RESOURCE'의 권한이 부여됨 부분을 체크한다.


4. 할당량 탭에서 USERS 테이블스페이스의 할당량을 '10'으로, 단위를 'M'으로 입력한다. 이는 USERS 테이블스페이스의 10MB까지 사용할 수 있다는 의미이다.


5. 적용을 클릭한다. 이상이 없다면 성공했다는 메시지가 나올 것이다.


6. '다른 사용자'에 사용자가 생성된 것을 확인할 수 있다. 사용자를 확장해보면 테이블, 뷰, 인덱스 등의 공간이 확인된다. 테이블이나 뷰 등을 클릭하면 아무것도 없다.



테이블 생성

- 회원 테이블(memberTBL)

열 이름(한글)

영문 이름 

데이터 유형 

크기 

널(Null) 아님 

아이디 

memberID 

문자(CHAR) 

8글자(영문) 

회원 이름 

memberName 

문자(NCHAR) 

5글자(한글) 

주소 

memberAddress 

문자(NVARCHAR2) 

20글자(한글) 

 

- 제품 테이블(productTBL)

열 이름(한글) 

영문 이름 

데이터 유형 

크기 

널(Null) 아님 

제품 이름 

productName 

문자(NCHAR) 

4글자(한글) 

가격 

cost 

숫자(NUMBER) 

정수(최대 7자리) 

제조일자 

makeDate 

날짜(DATE) 

날짜형 

제조회사 

company 

문자(NCHAR) 

5글자(한글) 

X

남은 수량 

amount 

숫자(NUMBER) 

정수(최대 3자리) 


개체(스키마, 테이블, 열 등) 이름은 영문을 사용해야 한다. 행 데이터의 값(실제 데이터 내용)만 한글을 사용한다. 


데이터 유형은 고정형 길이인 CHAR와 가변형 길이인 VARCHAR2가 있고, 

한글 문자를 입력하기 위한 데이터 유형은 NCHAR와 NVARCHAR2가 있다.

숫자를 나타내는 NUMBER와 날짜를 나타내는 DATE 형식도 사용한다.


'널 아님'은 아무것도 입력하지 않는 것을 허용하는지 여부를 나타내는데, '널 아님'을 체크하면 꼭 값을 입력해야 한다는 의미다.


7. db_shop을 확장하고 테이블(필터링됨)에서 마우스 오른쪽 버튼을 클릭한 후 새 테이블을 선택한다.


8. 테이블 이름을 입력하고 열의 이름 부분을 클릭해서 입력한다. 데이터 유형은 드롭다운으로 선택할 수 있다. 널이 아닌 것은 체크를 한다. 

행을 추가하려면 오른쪽 위 + 아이콘을 클릭하면 된다. 


각각

memberTBL은 memberID

productTBL은 productName 

열의 PK(Primary Key)를 클릭


9. 두 개의 테이블이 생성된 것을 확인할 수 있다.



데이터 입력

10. 접속 창에서 테이블을 클릭하고, 데이터 탭을 선택한다. 행 삽입 아이콘을 클릭하여 데이터를 입력한다. 

각 칸을 더블 클릭하면 값을 입력할 수 있다.

입력된 내용이 맞으면 입력한 내용을 F11을 눌러 커밋한다. 메시지-로그 창에 INSERT 구문이 생성되고 실행된 것이 확인된다.


데이터 활용

1. 회원 테이블의 모든 데이터를 조회

SQL

SELECT * FROM memberTBL;

SELECT의 기본 형식은 SELECT 열 이름 FROM 테이블이름 WHERE 조건 형식을 갖는다.

*는 모든 열을 의미한다. 


결과


2. 회원 테이블 중에 이름과 주소만 출력

SQL

SELECT memberName, memberAddress FROM memberTBL;


결과


3. 회원 테이블에서 '지운이'에 대한 정보만 추출

SQL

SELECT * FROM memberTBL WHERE memberName = '지운이';


결과

자바 애플리케이션 개발 환경

1. 데이터베이스 설치

① 오라클 데이터베이스 설치

② 사용자 계정 생성

③ 테이블 생성

2. 자바 설치

① 자바 설치 및 설정

3. 라이브러리 다운로드

① 마이바티스 라이브러리 다운로드

② JDBC 라이브러리 다운로드

4. 이클립스 설치

① 이클립스 설치 및 설정

5. 자바 프로젝트 생성

① 자바 프로젝트 생성

② 라이브러리 복사 및 빌드 경로 설정

③ 인코딩 설정


1. 데이터베이스 설치

① 오라클 데이터베이스 설치

http://minimelody.tistory.com/146와 동일하므로 PASS~


② 사용자 계정 생성

CREATE USER mybatis IDENTIFIED BY mybatis;

GRANT CONNECT, RESOURCE, DBA TO mybatis;

관리자 계정으로 접속하고 다음 명령어를 순서대로 실행하면, 사용자 계정을 생성하고 권한을 부여할 수 있다.


③ 테이블 생성

SHOP 테이블

컬럼명 

타입 

길이 

구분 

설명 

SHOP_NO

NUMBER 

 

기본키 

가게 번호 

SHOP_NAME

VARCHAR2 

100 

 

가게 이름 

SHOP_LOCATION 

CLOB 

 

 

가게 주소 

SHOP_STATUS 

VARCHAR2 

 

가게 상태 


TOY 테이블

컬럼명 

타입 

길이 

구분 

설명 

TOY_NO 

NUMBER 

 

기본키 

장난감 번호 

TOY_NAME 

VARCHAR2 

100 

 

장난감 이름 

TOY_PRICE 

NUMBER 

 

 

장난감 가격 

SHOP_NO 

NUMBER 

 

참조키 

장난감을 보유한 가게 번호 


/* 가게 테이블 생성 */

CREATE TABLE SHOP (

SHOP_NO NUMBER NOT NULL ENABLE,

SHOP_NAME VARCHAR2(100 BYTE),

SHOP_LOCATION CLOB,

SHOP_STATUS VARCHAR2(1 BYTE),

CONSTRAINT SHOP_PK PRIMARY KEY (SHOP_NO)

);


/* 가게 테이블 데이터 등록 */

INSERT INTO SHOP VALUES (1, 'Toy Store', 'A Tower Seocho dong', 'Y');

INSERT INTO SHOP VALUES (2, 'Play Store', 'B Tower Seocho dong', 'Y');

INSERT INTO SHOP VALUES (3, 'Mom Store', 'C Tower Seocho dong', 'Y');


/* 장난감 테이블 생성 */

CREATE TABLE TOY (

TOY_NO NUMBER NOT NULL ENABLE,

TOY_NAME VARCHAR2(100 BYTE),

TOY_PRICE NUMBER,

SHOP_NO NUMBER NOT NULL ENABLE,

CONSTRAINT TOY_PK PRIMARY KEY (TOY_NO)

);


/* 장난감 테이블 데이터 등록 */

INSERT INTO TOY VALUES (1, 'Lego (Model-A100)', 30000, 1);

INSERT INTO TOY VALUES (2, 'Lego (Model-A200)', 60000, 1);

INSERT INTO TOY VALUES (3, 'Lego (Model-A300)', 90000, 1);


COMMIT;


/* 가게 번호 시퀀스 생성 */

CREATE SEQUENCE SEQ_SHOP_NO INCREMENT BY 1 START WITH 4;

위와 같이 작성한 SQL 스크립트를 실행하고


SELECT * FROM SHOP;

SHOP 테이블과


SELECT * FROM TOY;

TOY 테이블에 등록한 초기 데이터를 확인할 수 있다


오라클 데이터베이스를 설치하면, 웹 애플리케이션에서 오라클 데이터베이스를 관리할 수 있는 웹 관리 콘솔이 함께 설치된다. 

관리자(SYSTEM) 계정에서

SELECT dbms_xdb.gethttpport FROM dual;

설치된 웹 관리 콘솔은 다음과 같이 8080 포트 번호를 기본 포트 번호로 사용한다. 8080 포트 번호는 아파치 톰캣에서 사용하는 기본 포트 번호와 동일한 포트 번호다. 동일한 포트 번호를 사용하면, 포트 번호 충돌로 인해 웹 서비스 실행이 안 되는 문제가 발생한다.


BEGIN

dbms_xdb.sethttpport(8081);

END;

다음 명령어를 실행하여 웹 관리 콘솔의 포트 번호를 8080에서 8081로 변경한다. 


변경한 웹 관리 콘솔의 포트 번호를 반영하기 위해서 반드시 오라클 데이터 베이스를 다시 시작해야 한다. 우선 오라클 데이터베이스를 정지하려면, 윈도우 메뉴에서 Oracle Database 11g Express Edition - Stop Database를 선택한다. 

오라클 데이터베이스를 다시 시작하려면, 윈도우 메뉴에서 Oracle Database 11g Express Edition - Start Database를 선택한다.



2. 자바 설치

① 자바 설치 및 설정

자바 설치 버전은 마이바티스 프로그래밍 개발 환경에 전반적인 영향을 미친다. 자바 설치 버전을 결정할 때 '이클립스 설치 버전, 아파치 톰캣 설치 버전', '스프링 라이브러리 버전', '마이바티스 라이브러리 버전', '마이바티스-스프링 라이브러리 버전', '기타 라이브러리 버전' 을 함께 고려해야 한다.


여기서는

이클립스 - 4.6 버전

아파치 톰캣 - 8.0.36 버전

마이바티스 라이브러리 - 3.4.1 버전

스프링 라이브러리 - 4.3.1 버전

마이바티스 - 스프링 연동 라이브러리 - 1.3.0 버전


이클립스 4.6 버전과 아파치 톰캣 8.0.36 버전은 자바 7 이상 버전이 필요하고, 마이바티스 3.4.1 버전과 스프링 4.3.1 버전은 자바 6 이상 버전이 필요하다. 마이바티스 - 스프링 연동 1.3.0 버전은 마이바티스 버전에 따라 자바 6이상 버전이 필요하다. 따라서 자바 7 버전 이상을 설치해야 한다.


http://minimelody.tistory.com/150에서 JDK 8 버전 설치 완료!



3. 라이브러리 다운로드

① 마이바티스 라이브러리 다운로드

https://github.com/mybatis/mybatis-3/releases에서 마이바티스 라이브러리를 다운로드한다. 마이바티스 3.4.1 버전을 사용한다.

* 마이바티스 라이브러리 3.2.0 이하 버전까지는 자바 5 버전에서 사용 가능하다. 반면에 마이바티스 라이브러리 3.2.0 이상 버전은 자바 6 이상 버전을 사용해야 한다.


다운로드한 mybatis-3.4.1.zip 압축 파일을 해제하면   mybatis-3.4.1.jar  파일이 있다.


② JDBC 라이브러리 다운로드

www.oracle.com/technetwork/database/features/jdbc/index-091264.html이나


오라클 데이터베이스가 이미 설치되어 있다면, JDBC 라이브러리를 별도로 다운로드 하지 않고 

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 에서   ojdbc6.jar파일을 찾아 사용할 수 있다.


마이바티스는 3.3.0 버전부터 기본 프록시 도구로 Javassist를 사용한다. 만일 다른 프록시 도구를 사용할 필요가 있는 경우 라이브러리를 추가로 다운로드해야 한다. 예를 들어 Cglib 프록시를 사용하는 경우 다음 URL 주소에서 CGLIB 라이브러리와 ASM 라이브러리를 다운로드할 수 있다. 


CGLIB 3.2.4 : http://mvnrepository.com/artifact/cglib/cglib/3.2.4 -   cglib-3.2.4.jar

ASM 5.1 : http://mvnrepository.com/artifact/org.ow2.asm/asm/5.1 -   asm-5.1.jar


아파치 Log4j2 라이브러리는 https://logging.apache.org/log4j/2.x/download.html에서 다운로드할 수 있다.


apache-log4j-2.11.1-bin.zip 압축 파일을 해제하면, 

log4j-api-2.11.1.jar

log4j-core-2.11.1.jar

log4j-slf4j-impl-2.11.1.jar

가 자바 프로젝트에서 사용하는 라이브러리이다.



4. 이클립스 설치

① 이클립스 설치 및 설정

이클립스 버전 

 자바 버전

4.4 이상 버전 

1.7 이상 버전 

4.x ~ 4.3 이하 버전 

1.6 이상 버전 

3.x 버전 

1.5 이상 버전 

2.x 버전 

1.4 이상 버전 


http://www.eclipse.org/downloads/packages/release/neon/3에서 이클립스 4.6버전을 다운로드한다. 


다운로드한 eclipse-jee-neon-3-win32-x86_64.zip 압축 파일은 별도로 설치 과정 없이 압축 파일을 해제한 다음 바로 실행할 수 있다.

C:\Program Files\에 압축 해제한 eclipse를 위치한다. eclipse 내에 eclipse.exe 파일을 실행하면 이클립스가 실행된다.


처음 이클립스를 실행하면, Workspace Launcher 대화상자가 나타난다. 워크스페이스는 이클립스 설정 정보와 소스 코드를 저장한 공간을 말한다. Workspace Launcher 대화상자를 살펴보면, 사용자 계정 하위 경로가 워크스페이스 저장 경로로 지정된 것을 볼 수 있다. 워크스페이스 저장 경로를 변경할 필요가 있다면, Browser.. 버튼을 눌러 원하는 경로를 지정한 다음 OK 버튼을 누른다.



5. 자바 프로젝트 생성

① 자바 프로젝트 생성

이클립스 상단 메뉴바에서 File - New - Project 메뉴를 선택한다. New 대화상자가 나타나면, Java Project 항목을 선택한 다음 Next 버튼을 누른다.


New Java Project 대화상자가 나타나면, Project name 입력 항목에 프로젝트명을 입력한 다음 Finish 버튼을 누른다.


자바 프로젝트 생성을 완료하면 Package Explorer 뷰에서 자바 프로젝트를 확인할 수 있다.


② 라이브러리 복사 및 빌드 경로 설정

/chapter01/lib 디렉토리를 생성한 다음 앞서 다운로드한 라이브러리를 복사한다.


자바 프로젝트에 복사한 라이브러리를 빌드 경로에 등록한다. 자바 프로젝트를 선택한 다음 마우스 우측 버튼을 누른다. 항목 중 Properties 메뉴를 선택하면, Properties 대화상자가 나타난다. Properties 대화상자 좌측 목록 중 Java Build Path 항목을 선택하고 Libraries 탭을 선택한 다음 Add JARs... 버튼을 누르면, JAR Select 대화상자가 열린다. /chapter01/lib 디렉토리에 포함된 모든 라이브러리를 선택한 다음 OK 버튼을 눌러 빌드 경로 설정을 완료한다.


빌드 경로에 라이브러리를 등록하면, Referenced Libraries 목록에서 등록한 라이브러리를 확인할 수 있다.


③ 인코딩 설정

자바 프로젝트에서 소스 코드를 작성할 때 한글이 깨지는 것을 방지하기 위해서 인코딩을 UTF-8로 설정한다. 인코딩 설정은 Properties에서 지정할 수 있다. Properties 대화상자 좌측 목록 중 Resource 항목을 선택하면, 우측 영역이 바뀐다. 우측 Text file Encoding 영역에서 UTF-8을 선택한 다음 OK 버튼을 눌러 인코딩 설정을 완료한다.

Bitnami를 통해 MySQL이 설치된 상태라 삭제 후 MySQL 단독 설치를 해봤다.



Go to Download Page를 클릭한다.



64bit용이 별도로 없으므로 'mysql-installer-community-5.7.19.0.msi'를 다운로드한다.



'No thanks, just start my download'를 클릭하면 로그인 없이 다운로드 가능하다.



License Agreement에서 I accept the license terms를 체크한다.



Choosing a Setup Type에서 Custom을 선택하여 필요한 것만 골라서 설치한다.



Select Products and Features에서 화면에서 보이는 5가지 제품을 선택한다.



Accounts and Roles에서 MySQL의 비밀번호를 지정한다.



Windows Service에서 'MySQL'로 지정한다.



Connect To Server에서 Check를 클릭하여 연결된 것을 확인한다.



고급 시스템 설정에서 다음과 같은 환경 변수를 추가하고 Path에도 \bin을 붙여서 추가한다.



명령 프롬프트에서 'mysql -uroot -p'를 입력하고 비밀번호를 입력했을 때 다음과 같은 화면이 나타나면 완료된거다.


  1. sw11 2018.06.26 11:27 신고

    mysql을 단독설치를 했을 경우와 bitnami 통합 설치를 할 때 mysql 이용(기능?)에 차이가 있나요 ??

PHP 엔진을 자신의 컴퓨터에 설치하면 PHP 프로그램을 바로 실행 할 수 있다. 편리하게도 아파치(Apache), PHP, MySQL을 한꺼번에 설치할 수 있는 올인원 패키지가 있는데 비트나미(bitnami)가 이에 해당된다. 자신의 운영체제에 맞는 주소로 들어간다.


비트나미


DOWNLOAD WAMP INSTALLER 아래 표시한 부분을 클릭하면 오른쪽 화면처럼 나온다.
가장 아래에 'No thanks..'라고 되어 있는 부분을 클릭하면 바로 다운로드를 진행할 수 있다.


setup


설치화면에서
첫번째, PHP Framework는 필수인 PhpMyAdmin을 제외하고 모두 체크 해제
두번째, 데이터베이스(MySQL)의 패스워드를 지정
세번째, 구름 표시가 나오는 화면에서 체크되어 있는 부분을 해제
한다.


웹서버


웹브라우저에 localhost을 입력했을 때 다음과 같은 화면이 뜨면 웹서버가 잘 동작하고 있다는 뜻이다.
localhost는 웹브라우저가 설치되어 있는 컴퓨터의 웹서버 주소이다. 실제 위치는 C > Bitnami > wampstack-5.6.30-3 > apache2 > htdocs이다.


그리고 Bitnami WAMP Stack이라는 소프트웨어가 뜨는데 이 프로그램을 통해서 설치된 아파치(Apache), PHP, MySQL을 편리하게 제어할 수 있다.


+ Recent posts