760 likes | 1.14k Views
Data-Base System Project. 프로야구 정보 시스템. 큰애★작은애★ 넓은애 20112609 김성진 20115695 이상태 20111316 이소라 20115450 이진영 20112104 조동경. 목차. 응용분야 & 참조 사이트 응용 관점 응용 기능 질의 리스트 요건분석 제약조건 E-R Diagram RDB 테이블 스키마 개체 / 관계타입 Relation 정규화 Database 생성 SQL. 응용분야 & 참조 사이트. 프로 야구 정보 시스템.
E N D
Data-Base System Project 프로야구 정보 시스템 큰애★작은애★넓은애 20112609 김성진 20115695 이상태 20111316 이소라 20115450 이진영 20112104 조동경
목차 응용분야 & 참조 사이트 응용 관점 응용 기능 질의 리스트 요건분석 제약조건 E-R Diagram RDB 테이블 스키마 개체/관계타입 Relation 정규화 Database생성 SQL
응용분야 & 참조 사이트 프로 야구 정보 시스템 KBO (한국 야구 위원회) www.koreabaseball.com
응용 관점 야구 해설자 야구 팬 야구관계자
응용 기능 야구 팬 관점 • 야구 팀 검색 • 좋아하는 선수들에 대한 정보 검색 • 경기 전체 일정 검색 • 경기 결과 검색 • 구단 순위 검색
응용 기능 야구 관계자 관점 • 선수 부상 내역 검색 • 과거 선수 경기 기록 검색 • 선수 몸 값 정보 • 선수 강점 검색
응용 기능 야구 해설자 관점 • 과거 선수 개인 기록 검색 • 최근 구단 성적 검색 • 과거 상대 전적 검색
질의 리스트 • 특정 야구팀의 7월 경기 일정은? • 방어율이 몇 이상인 선수의 이름과 주 손 • 감독이름이 뭐인 팀의 소속투수들의 이름 • 특정 경기장의 경기 일정 • 20/20클럽에 가입한 선수들의 기록 • 특정 날짜에 경기가 없는 팀 • 특정 경기 각 팀 3,4,5번 타자의 이름 및 기록 출력 • 현재 까지 경기 결과에 따른 팀 순위 오름차순으로 출력 • (집계) 홈런을 가장 많이 친 선수 • (집계) 각 팀 별 평균 타율 중 최고점을 갖는 팀의 소속 선수들의 이름과 타율 (타율 내림차순)
요건분석 야구 팬 관점(1/2) • 선수의 기본 정보를 검색한다. • 선수의 시즌 기록을 검색한다. • 선수의 경기 별 기록을 검색한다. • 특정 기록을 오름차순/내림차순으로 정렬하여 해당 기록의 선수 간 순위를 확인한다. • 투수/타자간 상대전적을 확인한다.
요건분석 야구 팬 관점(2/2) • 날짜 별 경기 일정과 경기결과를 확인한다. • 감독, 선수, 코치의 연봉과 계약기간을 확인한다. • 구단 별 기본정보를 확인한다. • 훈련 일정을 파악한다. • 스폰서 기업의 투자 금액을 확인한다. • 해당 구단에 소속된 코치의 전문분야를 확인하여 구단의 중점 훈련을 확인한다.
요건분석 야구 관계자 관점(1/2) • 투자 금액을 파악하여 스카우트 가능한 감독, 코치, 선수를 파악한다. • 투수/타자간 상대전적을 확인하여 선수 선발 오더를 짠다. • 경기 별 선수 기록을 파악하여 현재 슬럼프에 빠진 선수를 관리한다. • 선수의 기록을 확인하여 스카우트한다. • 경기 결과를 확인하여 구단 성적을 분석한다.
요건분석 야구 관계자 관점(2/2) • 코치의 전문분야를 확인하여 팀에 필요한 코치를 수급한다. • 선수 별 훈련 일정을 파악하여 부족한 부분을 추가 할 수 있도록 한다. • 선수 기록을 파악하여 선수의 장/단점을 파악한다. • 경기 일정을 파악하여 선수 체력 안배를 한다. • 선수 기록, 계약기간, 연봉 등을 파악하여 재계약과 방출한 선수를 파악한다.
요건분석 야구 해설자 관점(1/1) • 투수/타자간 상대전적을 파악하여 정보를 전달한다. • 타 구장 경기 결과를 전달한다. • 선수의 기본 정보를 제공한다. • 경기 별 선수 기록을 확인하여 전달한다.
제약조건 • 소속구단이 없는 선수, 코치, 감독은 없다. • 구단 명은 유일하다. • 경기 일정은 날짜와 구장을 합성키로 식별할 수 있다. • 한 선수는 한 팀에만 소속되어 있다. • 모든 선수는 개인 기록을 가지고 있다. • 개인 기록순위는 사용자가 지정한 속성을 기준으로 한다. • 팀 별 순위는 승차로 결정된다. • 개인 기록은 0을 기본값으로 설정한다. • 선수는 선수번호와 구단 명으로 식별한다.
E-R Diagram(전체) 투자자 경기 결과 투자 경기 구단 감독 소속 선수 소속 코치 소속 감독 선수 코치 훈련 ISA 경기 별 투수기록 투수 타자 경기 별 타자기록 상대전적
E-R Diagram(투자) 구단 명 홈 구장 명 투수 수 타자 수 투자기업 명 투자 1 1 코치 수 구단 투자자 회사 년 매출액 승 수 패 수 투자 기업 구단 명 투자규모 무승부 수 경기 수
E-R Diagram(경기결과) 구단 명 홈 구장 명 투수 수 날짜 타자 수 홈 경기 결과 1 N 코치 수 경기 구단 승 수 어웨이 패 수 무승부 수 경기 수 승 팀 홈 날짜 패 팀 승 팀 점수 패 팀 점수
E-R Diagram(감독소속) 구단 명 홈 구장 명 투수 수 타자 수 코치 수 승 수 패 수 무승부 수 경기 수 구단 소속 구단 1 감독 소속 감독 이름 연봉 1 감독 계약기간 감독 이름 소속 구단 통산 성적
E-R Diagram(코치소속) 구단 명 홈 구장 명 투수 수 타자 수 코치 수 승 수 패 수 무승부 수 경기 수 구단 소속 구단 1 코치 소속 등 번호 연봉 N 코치 계약기간 등 번호 소속 구단 코치 이름 전문 분야
E-R Diagram(선수소속) 구단 명 홈 구장 명 투수 수 타자 수 코치 수 승 수 패 수 무승부 수 경기 수 구단 소속 구단 1 선수 소속 등 번호 연봉 N 선수 계약기간 선수 번호 이름 구단 명 키 몸무게 나이 생년월일
E-R Diagram(선수 ISA) 선수 번호 이름 구단 명 키 몸무게 나이 생년월일 선수 번호 구단 명 선수 번호 선수 구단 명 타율 ISA 포지션 탈 삼진 안타 투수 타자 패전 홈런 승리 득점 게임 타수 방어율 타점
E-R Diagram(훈련) 선수 번호 이름 등 번호 구단 명 소속 구단 훈련 N M 키 선수 코치 코치 이름 몸무게 나이 전문분야 생년월일 선수 번호 구단 명 일정 훈련 명 장소 코치 등 번호
선수 번호 E-R Diagram(상대전적) 선수 번호 구단 명 구단 명 타율 탈 삼진 포지션 상대전적 1 1 패전 투수 타자 안타 승리 홈런 방어율 득점 게임 타수 투수 선수번호 투수 선수구단 타자 선수번호 타자 선수구단 타석 안타개수 타점
E-R Diagram(경기 별 타자기록) 날짜 홈 선수 번호 소속 구단 타 수 안타 도루 타점 홈런 선수 번호 날짜 구단 명 홈 경기 별 타자기록 타율 1 N 경기 타자 포지션 안타 어웨이 홈런 득점 타수 타점
E-R Diagram(경기 별 투수기록) 날짜 홈 선수 번호 소속 구단 투구 수 스트라이크 수 볼 수 이닝 수 실점 선수 번호 날짜 구단 명 홈 경기 별 투수기록 1 N 경기 투수 탈 삼진 어웨이 패전 승리 방어율 게임
Database 생성 (1/17) • CREATE TABLE `investor` ( • `InvestCompanyName` varchar(30) • NOT NULL, • `CompanySale` varchar(30) • NOT NULL, • PRIMARY KEY • (`InvestCompanyName`,`CompanySale`) • )
Database 생성 (2/17) • CREATE TABLE `club` ( • `ClubName` varchar(30) NOT NULL, • `HomeGroundName` varchar(30) NOT NULL, • `PitcherNo` int(11) NOT NULL, • `BatterNo` int(11) NOT NULL, • `CoachNo` int(11) NOT NULL, • `WinNo` int(11) NOT NULL, • `LoseNo` int(11) NOT NULL, • `DrawNo` int(11) NOT NULL, • `MatchNo` int(11) NOT NULL, • PRIMARY KEY (`ClubName`) • )
Database 생성 (3/17) • CREATE TABLE `supervisor` ( • `SupervisorName` varchar(30) • NOT NULL, • `BelongClub` varchar(30) NOT NULL, • `TotalScore` varchar(30) NOT NULL, • PRIMARY KEY • (`SupervisorName`, `BelongClub`), • FOREIGN KEY(BelongClub) • REFERENCES Club(ClubName) • )
Database 생성 (4/17) • CREATE TABLE `coach` ( • `BackNo` int(11) NOT NULL, • `BelongClub` varchar(30) NOT NULL, • `CoachName` varchar(30) • NOT NULL, • `Major` varchar(30) NOT NULL, • PRIMARY KEY • (`BackNo`,`BelongClub`), • FOREIGN KEY(BelongClub) • REFERENCES Club(ClubName) • )
Database 생성 (5/17) • CREATE TABLE `player` ( • `Pno` varchar(30) NOT NULL, • `Pname` varchar(30) NOT NULL, • `ClubName` varchar(30) NOT NULL, • `Stature` int(11) NOT NULL, • `Weight` int(11) NOT NULL, • `Old` int(11) NOT NULL, • `Birthday` int(11) NOT NULL, • PRIMARYKEY (`Pno`,`ClubName`) • FOREIGN KEY(ClubName) • REFERENCES Club(ClubName) • )