• 검색 결과가 없습니다.

05.Data Base에 저장하기

N/A
N/A
Protected

Academic year: 2021

Share "05.Data Base에 저장하기"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Chapter Chapter 신한대학교 2015 봄학기 클라이언트/서버 프로그래밍 고덕윤 maniara.k@gmail.com .

Data Base에 저장하기

이제 아주 간단한 웹사이트는 만들 수 있습니다. 5

(2)

MemberDataAccessController

우리가 알고 있던 데이터베이스

01

DDL(Data Definition Language) DML(Data Manipulation Language) DCL(Data Control Language)

<<entity>> Member

JoinController m = new Member(“홍길동”, “20141111”…);insertMemberData(m);

insertMemberData(Student student) {

String name = student.getName();

query = “insert into member values { …}”; }

• RDB에서는 DB 테이블에 데이터를 넣기 위해 entity의 객체를 DML(insert,select,delete)문법을 통해 처리 하는 로직이 필요함

(3)

Object into database

02

class Member{ String id; String name; String address; } Member.java class JoinController{ joinMember(){

Member member = new Member(…)

MemberDataAccessController.addMember(member) }

}

JoinController.java

class MemberDataAccessController { static addMember(Member member) {

Connect con = new Connect(…); String query = “insert into Member

values(”+member.getId()+”,”+member.getName()+”..+”)”; con.executeQuery(query); } } MemberDataAccessController.java Member id name Address maniara.k 고덕윤 서울시 영등포구…

(4)

우리가 잘 모르던 데이터베이스

03

class Member{ String id; String name; String address; } Member.java class JoinController{ joinMember(){

Member member = new Member(…) makePersistent(member) } } JoinController.java Member id name Address maniara.k 고덕윤 서울시 영등포구…

(5)

Relational Data Base & Object (Oriented) Data Base

04

RDB OODB

프로그래밍 언어 외의 별도 문법이 필요함 순수 객체지향 언어로 처리함

별도의 데이터 설계도 (ERD) 가 필요 클래스 다이어그램으로 대체 가능

한정된 형(int, varchar, numeric ..)을 사용 사용자 정의 클래스 타입이 가능

Select 결과가 ResultSet으로 반환 Select 결과가 List형으로 반환

외래키 명시가 가능함 멤버변수로 명시함 쿼리문을 통해 자료 조회가 가능함 별도의 프로그램을 통해야 자료 조회가 가능함 사람이 보기에 익숙한 이차원 형태 사람이 내용을 보기 위해선 삼차원 테이블의 표현이 필 요함 검색 성능과 대규모 트랜젝션이 RDB에 비해 느림 대형 데이터 처리의 사례가 많음 • 구현에는 OODB가 편리하고, 관리에는 RDB가 편리함.

(6)

Java Data Object & BigTable

JDO는

2006년 Apache 에서 처음 개발

Java언어로 제공하는 Object database API.

BigTable

Google Data Store는 Big Table이라는 초대형 데이터 저장소를 사용함

별도 테이블이 없고 속성을 갖는 엔티티의 형태로 저장됨

분산 처리를 통해 대용량 데이터에도 높은 성능을 냄

인덱스를 자동으로 생성하며, API를 통해서만 접근 가능함

아마존의 DynamoDB, 오픈소스 CouchDB등도 이 방식을 사용함

(7)

JDO API 사용하기 1

저장 가능한 entity class 만들기

Table 생성

06

Key : RDB의 Primary key와 같은 개념 • String, Long 타입으로 처리가 가능 • 사용자가 할당하지 않고 자동 생성된다는 것을 의미 영속성 객체 즉 DB에 저장 될 수 있는 객체라는 뜻 이 멤버변수는 DB에 저장하겠다 는 의미

(8)

JDO API 사용하기 2

Insert 구문

07

Connection manager 얻어오는 구문 데이터베이스에 저장함 데이터 베이스 확인: http://localhost:8888/_ah/admin

(9)

JDO API 사용하기 3

Select 구문

08

Primary key로 객체 얻어오는 구문

(10)

JDO API 사용하기 4

Update/Delete 구문

(11)

참조 소스코드

10

(12)

오늘의 실습

멤버 등록 페이지를 완성합시다.

11

• Team Project Introduction : 우리 팀 프로젝트 안내 페이지

registmember.html

Data Store에 저장함

index.html

Member List : Here

이름 학번 전화번호 홍길동 111 010-111 삭제 홍길동 20131111 010-xxxxxxx 회원정보 변경 회원정보 삭제

• 완성 후 google app engine에 배포한 뒤 확인 주소를

회원 세부 정보 보기 회원정보 조회

(13)

과제

오늘의 실습을 완성 후

Google App Engine으로 웹에 배포합니다.

소스코드는 GitHub에 업로드 합니다.

Web의 도메인 주소와 GitHub 저장소 url을

maniara.k@gmail.com

에게 보냅니다.

이 과제는 개별 과제입니다.

기한은 4/12(일) 23:59 까지 입니다.

혹시 문제가 생기면, 스스로 해결합니다.

Stack overflow, google searching 등등

이제 스스로 문제 해결 능력을 길러야 합니다.

단, 다음 수업시간에 30분간 오프라인 질문을 받고

메일로는 질문을 받지 않습니다.

수치

Table  생성

참조

관련 문서

❹ The great explosion of scientific creativity in Europe was certainly helped by the sudden spread of information brought about by Gutenberg’s use of

• SDI(단일 문서 인터페이스) 프로그램은 한 번에 하나의 문서 작업만이 가능함. • CSingleDocTemplate 클래스를 이용해서 Document

한국기업 인수합병

전형유형간 교차지원이나 동일 전형 내 모집단위를 달리하여 입학원서를 2매 이상 접수하는 복수지원도 가능함..

병결의 경우 진단서가 아닌 “입원”시에만 공결처리가 가능함. 취업계의 경우 졸업전

캐나다 몬트리올 콩코디아 대학교에서 물리 화학, 전자를 전공한 작가는 건축과 공연 예술의 교차점에 있는 인터랙티브 설치 작업을 주로 해오고 있다.. 그는 로봇

- 과거에 주택을 소유하였더라도 입주자 모집공고일 현재 무주택세대구성원이면 신청이 가능함... 감리자가 확인한 실행공정률이 예정공정률(주채무자가

웹 표준을 지원하는 플랫폼에서 큰 수정없이 실행 가능함 패키징을 통해 다양한 기기를 위한 앱을 작성할 수 있음 네이티브 앱과