Skip to content

hiwhwnsgh/Real_Estate_DB_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 

Repository files navigation

부동산 관리시스템

(Real Estate DB Project)

  • 기여자 : 조준호, 남태윤, 한유정

산출물

☞ 프로젝트 결과보고서

목표

  • 부동산 중개 및 관리 시스템을 제작하여 부동산을 이용하는 임대인, 고객, 중개인 모두에게 정보제공을 목적으로 개발
  • 고객의 경우 자본금, 희망도시 등의 정보를 이용하여 중개인을 통해 매물의 정보를 얻을 수 있고, 중개인은 고객의 정보와 임대인의 정보, 매물의 정보를 모두 이용하여 편리한 매칭을 할 것입니다
  • 임대인은 판매위치, 판매금액 등의 정보와 건물의 건물형태, 건설사 등의 정보를 이용하여 중개인을 통해 쉬운 임대를 목적으로 개발
  • 이러한 시스템을 통해 각 사용자들이 부동산 거래 및 관리를 용이하게 하는 것을 목표로 합니다

데이베이스 설계

요구사항 명세서
  • 고객에 대한 고객id, 희망도시, 자본금, 계약조건 정보를 입력해야 한다.
  • 고객은 고객id로 식별한다.
  • 고객은 여러 중개사에게 중개를 받을 수 있고, 중개사는 여러 고객에게 중개를 할 수 있다.
  • 중개사가 고객에게 중개를 할 때, 계약날짜 정보를 유지해야 한다.
  • 중개사에 대한 중개사id, 이름, 매물개수, 중개소위치, 전화번호 정보를 입력해야 한다.
  • 개사는 중개사id로 식별한다.
  • 한 중개사는 여러 임대인에게 중개해줄 수 있고, 각 임대인은 한 중개사에게 중개받을 수 있다.
  • 임대인에 대한 판매자id, 판매위치, 구매시기 정보를 유지해야 한다.
  • 임대인은 판매자id로 식별한다.
  • 임대인은 건물을 여러개 보유할 수 있고, 건물은 임대인을 하나만 보유할 수 있다.
  • 건물에 대한 일련번호, 주소, 완공시기, 평균시세, 건설사, 판매여부, 계약조건 정보를 유지해야 한다.
  • 건물은 일련번호로 식별한다.
  • 한 중개사는 여러 건물을 관리할 수 있고, 각 건물은 한 명의 중개사에게 관리받는다.
E-R 다이어그램
  • 개체와 속성 추출
개체 속성
고객 고객id, 희망도시, 자본금, 계약조건
중개사 중개사id, 이름, 매물개수, 중개소위치, 전화번호
임대인 판매자id, 판매위치, 구매시기
건물 일련번호, 주소, 완공시기, 평균시세, 건설사, 판매여부, 계약조건
  • 관계 추출
관계 참여 개체 관계유형 속성
중개1 고객, 중개사 다대다 계약날짜
중개2 중개사, 임대인 일대다 -
관리 중개사, 건물 일대다 -
보유 건물, 임대인 일대다 -
  • E-R 다이어그램

    image

릴레이션 스키마(* PK=밑줄, FK=굵은체)
릴레이션 속성
고객 고객id, 희망도시, 자본금, 계약조건
중개사 중개사id, 이름, 매물개수, 중개소 위치, 전화번호
임대인 판매자id, 판매위치, 구매시기, 중개사id
건물 일련번호, 주소, 완공시기, 건물형태, 평균시세, 건설사, 판매여부, 계약조건, 판매자id, 중개사id
중개1 계약번호, 고객id, 중개사id, 계약날짜
프로그램 기능
  • 서버측 프로그램
    • 저장 프로시저 :
      • 건물완공 n년 이하 건물조회 프로시저
      • 건물완공 n년 이하 및 특정도시 건물조회 프로시저
      • 건물완공 n년 이하 및 특정도시 건물조회 및 판매금액 프로시저
      • 건물계약 프로시저
      • 회원가입 중복체크 프로시저
      • 회원정보 수정 프로시저
      • 회원정보 수정 프로시저
    • 트리거 :
      • 건물테이블이 갱신될 때 마다 갱신 내용을 중개사 테이블의 매물개수에 반영하는 트리거
  • 클라이어트측 자바 프로그램 with JDBC
    • Statement :
      • 중매사 검색을 위해 select로 중매사를 검색할 때 사용
      • 중매사가 관리하는 해당 건물 검색을 위해 select로 건물을 검색할 때 사용
      • 건물 계약 폼의 자본금 검색 사용
    • PrepareStatement :
      • 회원가입을 위해 insert로 고객 정보를 넣을 때 사용
      • 로그인을 위해서 select로 고객을 검색할 때 사용
      • 원하는 건물을 보기 위해 select로 건물, 임대인을 검색할 때 사용
      • 계약을 위해 select로 해당 건물을 검색할 때 사용
    • CallableStatement :
      • 아이디 중복 체크를 위해 사용
      • 건물 계약을 위해 사용
      • 유저정보 수정을 위해 사용

DB 기능 구현

저장 프로시저

건물계약 프로시저
  • 프로시저 화면

    image

  • 프로시저 기능 설명

    • 자바에서 사용자로부터 PI_중개사ID, PI_고객ID, PI_일련번호(건물일련번호)를 입력받아 입력받은 PI_일련번호는 건물.일련번호와 비교 후 일치하는 건물의 시세데이터를 V_판매가격에 저장, PI_고객ID는 고객.고객ID와 비교 후 일치하는 고객의 자본금을 V_자본금에 저장한다.
    • V_판매금액과 V_자본금을 비교 후 V_자본금이 V_판매금액보다 크다면 건물테이블에 PI_일련번호와 일치하는 건물의 계약여부를 1로 바꾼다.(0일 때 계약가능, 1일 때 계약완료) PI_고객ID와 일치하는 고객의 자본금을 V_판매금액 만큼 뺀 데이터를 저장한다.
    • 계약이 성공하면 중개1테이블에 건물일련번호(PI_일련번호), 고객ID(PI_고객ID), 중개사ID(PI_중개사ID), 계약날짜(SYSDATE)를 삽입하여 계약서를 생성한다.
    • 만약 V_판매금액과 V_자본금 비교에서 V_자본금이 V_판매금액보다 작다면 예외처리를 통해 에러를 발생시킨다.
회원정보 수정 프로시저
  • 프로시저 화면

image

  • 프로시저 기능 설명
    • 자바에서 사용자로부터 PI_ID, PI_PW, PI_CITY, PI_MONEY, PI_TERMS를 입력받은 뒤 PI_ID와 고객.고객ID를 비교 후 같은 고객의 데이터들을 비밀번호(PI_PW), 희망도시(PI_CITY), 자본금(PI_MONEY), 계약조건(PI_TERMS)로 변경하여 회원정보를 수정한다.

트리거

건물 삽입 및 수정 시 중개사 매물개수 변경 트리거 작성
  • 트리거 화면

image

  • 건물 삽입 전 중개사 테이블

    image

  • 건물 데이터 삽입

    image

  • 건물 삽입 후 중개사 테이블

    image

건물 삽입 후 중개사 테이블의 매물갯수가 증가 된걸 확인이 가능하다.

데이터베이스 데이터(Oracle)

(1) 건물

image image image image

(2) 고객

image

(3) 임대인

image

(4) 중개1(프로그램에서 계약 시 생기는 데이터)

image

(5) 중개사

image

소프트웨어 구현

Statement 구현

중개사 목록 검색

image
지역콤보박스 선택 후 검색버튼 클릭 시 중개사 목록 출력 image

건물 목록 검색

중개사 테이블의 행 클릭 시 해당 중개사가 중개하고 있는 건물의 목록을 보여줌 image

PrepareStatement 구현

건물 검색

image image

로그인하기
  • 만약 아이디와 비밀번호 둘다 일치하는 경우가 DB에 있을 경우 로그인에 성공하게되고 로그인 창이 사라지면서 메인 창으로 이동한다.
  • DB에 아이디나 비밀번호 둘중하나가 없거나 둘다 없는 경우 로그인을 실패하고 로그인 창에 계속 머물게 된다.(이때 실패 사실을 실패 메시지를 띄워서 알려준다.)

잘못 입력한 경우

image image

CallableStatement

건물 계약

image image

건물 계약 성공했을 때

image

건물 계약 실패했을 때

image

회원 정보 수정

image

회원정보 수정했을 때

image

About

부동산 관리시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages