목차
1. 개요
2. 테이블 생성
(1) Teams
(2) Sponsors
(3) Staffs
(4) Work
(5) Athletes
(6) Contract
3. 응용 애플리케이션
4. 검토 및 고찰
2. 테이블 생성
(1) Teams
(2) Sponsors
(3) Staffs
(4) Work
(5) Athletes
(6) Contract
3. 응용 애플리케이션
4. 검토 및 고찰
본문내용
EIGN KEY로 설정하였다.
Sponsors(tname: string, brand: string, funds: string, expiration: string)
역시 두개의 스폰서 tuple을 삽입하였다.
여기서 ‘50M’이라고 되어있는 것은 5천만 파운드를 뜻한다. 영국의 프리미어 리그에 기반하였기에 화폐 단위는 파운드로 사용하였다.
위의 화면은 튜플을 삽입한 후, 테이블 참조가 잘 되는가 확인하기 위해 Teams와 Sponsors 테이블을 JOIN하여 질의를 해본 것이다.
(3) Staffs
각 구단의 직원 테이블이다. 다음과 같이 스키마를 정의하였다.
참고로 직원, 선수 테이블은 많은 attribute를 삭제하였다. 추후에 이 DB를 확장하게 되면 추가될 것이다.
Staffs(tname: string, name: string, country: string, age: integer,
position: string);
앞으로는 삽입 화면은 생략하고, 삽입 결과만 보이도록 하겠다.
Staffs 테이블에 tuple을 삽입한 후의 결과는 다음과 같다.
(4) Work
직원들이 구단을 위해 무슨 일을 하고 있는지가 기록되는 부분이다.
정의한 스키마는 다음과 같다.
Work(tname: string, name: string, task: string, location: string);
다음은 tuple 삽입 결과와 질의 테스트 화면이다.
(5) Athletes
선수들을 관리하는 테이블로 스키마 정의는 다음과 같다.
Athletes(tname: string, bnum: integer, name: string, country: string,
age: integer, position: string);
(6) Contract
선수들의 계약 내용을 담은 테이블이다. 스키마 정의는 다음과 같다.
Contract(tname: string, bnum: integer, wwage: integer, expiration: date);
아래 화면의 wwage(주급) 역시 영국의 파운드 단위이다.
3. 응용 애플리케이션
위와 같이 DB를 구축하였고 몇가지 질의도 해보았다.
이번에는 위의 DB를 JDBC로 자바와 연동해서 자바로 질의문을 만들어 질의를 하였다.
간단하게 5개의 질의만 해보았는데, 여기서는 소스는 하나만 올리겠고 실행화면을 5개 캡쳐해서 올렸다.
-------------------------------------------------------------
import java.sql.*;
import com.mysql.jdbc.Driver;
public class test2 {
public static void main(String[] args){
try{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
// JDBC driver를 로드한다.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(ClassNotFoundException e){
System.out.println(e);
}
// 데이터베이스와 Connection을 맺는다.
try {
String jdbcurl = "jdbc:mysql://localhost:3306/footballmanager";
conn = DriverManager.getConnection(jdbcurl, "root", "garnett");
} catch(SQLException e){
System.out.println(e);
}
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT tname, name, bnum FROM athletes");
int bnum;
String tname, name;
System.out.println(" 팀 등번호 이름");
System.out.println("------------------------------------");
while(rs.next()){
tname = rs.getString("tname");
name = rs.getString("name");
bnum = rs.getInt("bnum");
System.out.println(" " + tname + " - " + bnum + ". " + name);
}
System.out.println("------------------------------------");
} catch(SQLException e){
System.out.println(e);
}
stmt.close();
conn.close();
} catch(Exception e){
System.out.println(e);
}
}
}
-------------------------------------------------------------
위의 소스는 두번째 실행화면의 소스이고, 5개 모두 소스 내용에 큰 차이는 없는데다가 소스의 길이도 짧기 때문에 하나만 알아도 다른건 자연스럽게 알 수 있다.
4. 검토 및 고찰
데이터베이스의 틀은 어느 정도 짜여졌고 데이터를 확장하면 DB같은 모양은 잡힐 것 같다. 다만 여기서 쓴 SQL언어는 그리 고급기술을 쓴 것도 아닐 뿐더러 속도나 인덱싱 등의 물리적인 부분은 전혀 고려하지 않았기에 수많은 데이터가 추가된다면 튜닝할 필요가 있을 수 있다.
JDBC 연동 부분도 GUI로 깔끔하게 구현하고 하나의 메인함수에 5개의 다른 함수를 적용시켜서 구현했으면 좋았겠지만, 매번 던지는 질의가 다르다보니 DB에서 받아오는 데이터의 수가 유동적이어서 변수 선언 부분에서 난감한 부분이 있음을 느꼈다. 위에서도 보이듯이 받아오는 스트링마다 길이가 틀려서 깔끔한 출력 또한 해결해야 할 과제인 듯하다.
위에서 구현한 모든 과제는 인터넷에 올려놓았으니 관심있으면 다운받아가길 바란다. 파일 주소는 아래와 같다.
http://mfiles.naver.net/6abb5f8692c9a7113b58/data19/2006/12/15/190/footballmanager-dlckdghks83.zip
< END >
Sponsors(tname: string, brand: string, funds: string, expiration: string)
역시 두개의 스폰서 tuple을 삽입하였다.
여기서 ‘50M’이라고 되어있는 것은 5천만 파운드를 뜻한다. 영국의 프리미어 리그에 기반하였기에 화폐 단위는 파운드로 사용하였다.
위의 화면은 튜플을 삽입한 후, 테이블 참조가 잘 되는가 확인하기 위해 Teams와 Sponsors 테이블을 JOIN하여 질의를 해본 것이다.
(3) Staffs
각 구단의 직원 테이블이다. 다음과 같이 스키마를 정의하였다.
참고로 직원, 선수 테이블은 많은 attribute를 삭제하였다. 추후에 이 DB를 확장하게 되면 추가될 것이다.
Staffs(tname: string, name: string, country: string, age: integer,
position: string);
앞으로는 삽입 화면은 생략하고, 삽입 결과만 보이도록 하겠다.
Staffs 테이블에 tuple을 삽입한 후의 결과는 다음과 같다.
(4) Work
직원들이 구단을 위해 무슨 일을 하고 있는지가 기록되는 부분이다.
정의한 스키마는 다음과 같다.
Work(tname: string, name: string, task: string, location: string);
다음은 tuple 삽입 결과와 질의 테스트 화면이다.
(5) Athletes
선수들을 관리하는 테이블로 스키마 정의는 다음과 같다.
Athletes(tname: string, bnum: integer, name: string, country: string,
age: integer, position: string);
(6) Contract
선수들의 계약 내용을 담은 테이블이다. 스키마 정의는 다음과 같다.
Contract(tname: string, bnum: integer, wwage: integer, expiration: date);
아래 화면의 wwage(주급) 역시 영국의 파운드 단위이다.
3. 응용 애플리케이션
위와 같이 DB를 구축하였고 몇가지 질의도 해보았다.
이번에는 위의 DB를 JDBC로 자바와 연동해서 자바로 질의문을 만들어 질의를 하였다.
간단하게 5개의 질의만 해보았는데, 여기서는 소스는 하나만 올리겠고 실행화면을 5개 캡쳐해서 올렸다.
-------------------------------------------------------------
import java.sql.*;
import com.mysql.jdbc.Driver;
public class test2 {
public static void main(String[] args){
try{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
// JDBC driver를 로드한다.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(ClassNotFoundException e){
System.out.println(e);
}
// 데이터베이스와 Connection을 맺는다.
try {
String jdbcurl = "jdbc:mysql://localhost:3306/footballmanager";
conn = DriverManager.getConnection(jdbcurl, "root", "garnett");
} catch(SQLException e){
System.out.println(e);
}
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT tname, name, bnum FROM athletes");
int bnum;
String tname, name;
System.out.println(" 팀 등번호 이름");
System.out.println("------------------------------------");
while(rs.next()){
tname = rs.getString("tname");
name = rs.getString("name");
bnum = rs.getInt("bnum");
System.out.println(" " + tname + " - " + bnum + ". " + name);
}
System.out.println("------------------------------------");
} catch(SQLException e){
System.out.println(e);
}
stmt.close();
conn.close();
} catch(Exception e){
System.out.println(e);
}
}
}
-------------------------------------------------------------
위의 소스는 두번째 실행화면의 소스이고, 5개 모두 소스 내용에 큰 차이는 없는데다가 소스의 길이도 짧기 때문에 하나만 알아도 다른건 자연스럽게 알 수 있다.
4. 검토 및 고찰
데이터베이스의 틀은 어느 정도 짜여졌고 데이터를 확장하면 DB같은 모양은 잡힐 것 같다. 다만 여기서 쓴 SQL언어는 그리 고급기술을 쓴 것도 아닐 뿐더러 속도나 인덱싱 등의 물리적인 부분은 전혀 고려하지 않았기에 수많은 데이터가 추가된다면 튜닝할 필요가 있을 수 있다.
JDBC 연동 부분도 GUI로 깔끔하게 구현하고 하나의 메인함수에 5개의 다른 함수를 적용시켜서 구현했으면 좋았겠지만, 매번 던지는 질의가 다르다보니 DB에서 받아오는 데이터의 수가 유동적이어서 변수 선언 부분에서 난감한 부분이 있음을 느꼈다. 위에서도 보이듯이 받아오는 스트링마다 길이가 틀려서 깔끔한 출력 또한 해결해야 할 과제인 듯하다.
위에서 구현한 모든 과제는 인터넷에 올려놓았으니 관심있으면 다운받아가길 바란다. 파일 주소는 아래와 같다.
http://mfiles.naver.net/6abb5f8692c9a7113b58/data19/2006/12/15/190/footballmanager-dlckdghks83.zip
< END >
추천자료
- 창의적 공학설계
- vhdl을 이용한 8-bit MPU(Micro processor unit) 설계
- 단일체계설계를 활용한 목표달성방법의 합의가 금연목표달성에 미치는 효과
- 시스템 분석 설계 (분석서, 설계서)
- printf() 함수를 이용하여 5/10/15/20/25/30년 후 자신의 미래 모습을 설계하여 모니터에 출...
- [수업설계]수업설계의 의의, 수업설계의 필요성, 수업설계의 원리, 수업설계의 전제조건, 수...
- [논문계획서] 지능형 전력측정 시스템 설계 및 제어에 대한 연구
- 의사소통,성교육,이혼교육 중 한 가지를 선택하여 가족생활교육 프로그램을 설계해보세요
- 소프트웨어 응용 및 설계 - 애자일 프로그래밍
- 객체지향시스템설계의 정의, 객체지향시스템설계와 인터페이스, 객체지향시스템설계와 데이터...
- [자바 프로그램] 진격의 곱셈 게임 (구구단 응용)
- 표준보육과정과 누리과정의 수학내용을 설명하고 보육현장에서 0~2세 영유아의 수학교육에 대...
- C++ 회원관리 프로그램,C++ 설계 프로젝트
- [사회복지조사론 단일체계설계] 사회복귀시설의 직업재활 서비스가 정신장애인의 삶의 질 만...
소개글