축구 구단 관리를 위한 스키마 설계 및 응용프로그램 구현
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

축구 구단 관리를 위한 스키마 설계 및 응용프로그램 구현에 대한 보고서 자료입니다.

목차

1. 개요

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 >
  • 가격2,300
  • 페이지수11페이지
  • 등록일2013.03.07
  • 저작시기2000.9
  • 파일형식한글(hwp)
  • 자료번호#832618
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니