ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP + Oracle] 병원 업무 관리 프로젝트
    프로그래밍/JSP 2019. 1. 16. 18:33

    학교 데이터베이스 수업의 내용과 교재를 참고하여 만든 병원 업무 관리 프로젝트 입니다.

    이 프로젝트의 목표는 DB 설계자의 관점에서 ERD를 작성해보고 DB와 웹프로그래밍을 연동해서 웹상에 출력 하는 것 입니다.

     

    다음은 프로젝트를 실습하기 위한 환경입니다.

     

    항목  프로그램 
    데이터베이스 프로그램  오라클 11g XE  
    자바 컴파일러 JDK 8 
    웹 서버  Tomcat 8.5 
    데이터베이스와 자바를 연결하는 드라이버 JDBC 드라이버(ojdbc8.jar)
     ERD 작성 프로그램  DA# Modeler5

     

    https://www.oracle.com

    http://tomcat.apache.org/

    http://dataware.kr/solution/solution_download

     

    1. ERD 구축 및 스키마(계정) 생성

     

     

     

    DA# Modeler5를 이용하여 만든 ERD 입니다. 의사, 진료, 환자, 간호사, 차트 총 5개의 엔티티를 생성하여 이에 대한 관계를 표현 하였고 표기법은 IE 표기법을 이용했습니다.

     

     

     

    그 후 Run SQL Command Line을 실행시킨 후 아래의 명령어를 통해 스키마와 테이블스페이스를 생성했습니다.

     

     

    connect as sysdba
    CREATE TABLESPACE 테이블명 DATAFILE '경로/파일명.dbf' SIZE 20M;
    CREATE USER 계정명 IDENTIFIED BY 비밀번호;
    GRANT CONNECT, RESOURCE, CREATE VIEW 계정명;
    CONNECT 계정명/비밀번호

     

     

    2. 테이블 구축

     

     

    위의 작성한 ERD를 토대로 각각의 테이블 구조 및 관계, 제약조건 등을 아래와 같이 CREATE, ALTER 명령어를 통해 설정해줬습니다. 


     

     

    3. 데이터 입력

     

     

    생성된 다섯 개의 테이블에 의사, 간호사, 환자, 진료, 차트 관련 데이터들을 아래와 같이 INSERT 명령어를 통해 각각 입력해줬습니다. (교재에서 제공한 데이터를 입력함)

     

     

    입력을 완료한 후 SELECT 명령어를 이용하여 테이블에 데이터가 저장된 것을 확인할 수 있습니다.

     

    4. DB와 웹프로그래밍 연동

     

    각각의 테이블을 나열하고 테이블을 클릭하면 해당하는 리스트 정보로 넘어가는 링크를 걸기 위한 jsp를 작성 해줬습니다.

     

     

     

     

    Doctors, Patients, Nurses, Treatments, Charts 테이블 각각에 해당하는 정보를 출력하게끔 작성하고 지정된 속성에 링크를 걸어 해당하는 튜플에 대한 정보를 출력하는 페이지로 넘어가게끔 jsp를작성 했습니다.

     

     

     

     

     

    위의 해당하는 튜플에 대한 정보를 출력합니다. 다른 테이블의 정보를 가져오기 위해 조인을 걸어줬습니다. 

     

    5. 웹페이지에 출력 

     

    동적 컨텐츠를 제공하기 위한 WAS(Web Application Service) 중 하나인 Apache Tomcat을 사용하여 DB에서 작성된 데이터를 웹상에 연동하여 출력하였습니다. HTTP Connector Port 가 기본으로 8080 포트로 설정되어 있었는데, 오류가 발생하여 8090으로 변경하였더니 문제가 해결되었습니다.

     

    다음은 최종 프로젝트 결과 입니다.

     

     

     

     

     

    Patients 테이블을 클릭하면 Patients에 해당하는 정보의 리스트들이 출력되고 해당하는 환자의 이름을 클릭하면 해당 환자의 담당의사 이름, 간호사 이름 등의 정보를 출력합니다. 목록을 누르면 다시 리스트로 돌아갑니다.

    댓글

Designed by Tistory.