Presentation is loading. Please wait.

Presentation is loading. Please wait.

데이터베이스 설계 및 구축 동물병원 데이터베이스 설계 작성자 : 20078580 송영민 sym3463@nate.com.

Similar presentations


Presentation on theme: "데이터베이스 설계 및 구축 동물병원 데이터베이스 설계 작성자 : 20078580 송영민 sym3463@nate.com."— Presentation transcript:

1 데이터베이스 설계 및 구축 동물병원 데이터베이스 설계 작성자 : 송영민

2 동물병원 데이터베이스 구축 목차 소개 요구 조건 분석 개념적 설계 논리적 설계 오라클 설계 JSP 설계

3 소 개 동물병원 데이터베이스 설계(1) 제목 : 동물병원 데이터베이스 목적 병원 업무 동물병원의 업무 관계 정보를 표현
소 개 동물병원 데이터베이스 설계(1) 제목 : 동물병원 데이터베이스 동물병원의 업무 관계 정보를 표현 목적 동물병원도 일반병원과 마찬가지로 전산화 필요 효율적인 업무 데이터 관리 웹 어플리케이션을 이용한 편리성 병원 업무 필수 요소 고객정보 동물병원을 이용하는 고객이 존재한다. 동물정보 치료 대상인 동물이 존재한다. 의사정보 치료를 담당하는 의사가 존재한다. 진료정보 치료에 대한 진료 내용이 존재한다.

4 요구사항 명세 동물병원 데이터베이스 설계(2)
요구사항 명세 동물병원 데이터베이스 설계(2) 요구 조건 분석 사용자 요구사항의 명세 회원정보 회원의 기본적인 정보를 저장 회원 ID는 유일하게 식별 동물정보 동물의 기본적인 정보를 저장 동물 번호는 유일하게 식별 의사정보 회원정보에 포함되어 있어야 함 의사의 기본적인 정보를 별도로 저장 의사 번호는 유일하게 식별 진료정보 진료에 대한 기본적인 정보를 저장 진료명과 처방에 대한 내용은 별도로 저장

5 개념적 설계(1) 동물병원 데이터베이스 설계(3)
개념적 설계(1) 동물병원 데이터베이스 설계(3) 개체(엔티티,entity) 회원정보(customer) 회원ID 성명 비밀번호 전화번호 주소 이 메일 동물번호 동물이름 동물종류 동물나이 상태 의사정보 의사번호 의사이름 진료내역 동물번호 진료번호 동물이름 날짜 담당의사 진료명 처방 상태 비용

6 개념적 설계(2) 동물병원 데이터베이스 설계(3)
개념적 설계(2) 동물병원 데이터베이스 설계(3) 초기 모델 설계 엔티티 설계 기본 키 회원정보는 회원ID를 기본 키로 한다. 의사정보는 의사번호를 기본 키로 한다. 진료내역은 동물번호와 진료번호를 기본 키로 한다.

7 개념적 설계(3) 동물병원 데이터베이스 설계(3)
개념적 설계(3) 동물병원 데이터베이스 설계(3) 초기 모델 설계 제1정규화

8 개념적 설계(4) 동물병원 데이터베이스 설계(3)
개념적 설계(4) 동물병원 데이터베이스 설계(3) 초기 모델 설계 제2정규화 부분함수적 종속성을 제거하는 과정 복합키 애트리뷰트의 부분함수적 종속성을 분리 새로운 엔티티를 생성 설명 동물정보 엔티티의 동물번호와 동물이름은 복합키로 구성된 애트리뷰트는 동물종류, 동물나이, 주인이름, 상태 등에 종속된다. 동물번호 애트리뷰트는 동물종류, 동물나이, 주인이름 등을 종속 관계에 있다. 이를 분리하여 엔티티를 새로 생성한다.

9 개념적 설계(5) 동물병원 데이터베이스 설계(3)
개념적 설계(5) 동물병원 데이터베이스 설계(3) 초기 모델 설계 제3정규화 이행적 종속성을 제거하는 과정 기본키 외의 애트리뷰트에 종속되는 애트리뷰트를 제거 설명 진료상세 엔티티의 진료번호 애트리뷰트는 진료명과 처방 애트리뷰트를 종속하고 있다. 진료번호 애트리뷰트와 진료명은 이행적 종속성을 가지고 있다. 종속되는 애트리뷰트를 제거하여 새로운 엔티티 생성

10 논리적 설계(1) 동물병원 데이터베이스 설계(4)
논리적 설계(1) 동물병원 데이터베이스 설계(4) 테이블 회원정보(customer) 동물정보(animal) 동물상세(animal2) 주소 c_name c_id c_password char(20) char(15) 성명 회원ID 비밀번호 c_phone c_ 전화번호 이메일 c_addres a_number a_classification a_age number(10) char(20) number(3) 동물번호 동물종류 동물나이 a_id 주인ID a2_number a2_name a2_condition number(10) char(20) char(10) 동물번호 동물이름 상태

11 논리적 설계(2) 동물병원 데이터베이스 설계(4)
논리적 설계(2) 동물병원 데이터베이스 설계(4) 의사정보(doctor) 진료내역(treatment) 진료상세(i_treatment) 진료상세(i_treatment2) d_number d_name d_phone number(10) char(20) 의사번호 의사이름 전화번호 d_ 이메일 t_number t_name t_dname number(10) char(20) 동물번호 동물이름 담당의사 t_condition 상태 t_date 날짜 i_number i_classification number(10) char(20) 동물번호 동물종류 i2_name i2_ricipe char(10) char(20) 진료명 처방 i2_price number(10) 비용

12 오라클 설계(1) 동물병원 데이터베이스 설계(5)
오라클 설계(1) 동물병원 데이터베이스 설계(5) 회원정보(customer) create table customer( c_name varchar(20) not null, c_id varchar(20) not null, c_password varchar(15) not null, c_phone varchar(20), c_ varchar(20), CONSTRAINT cu_id_pk PRIMARY KEY(c_id)); 동물정보(animal) create table animal( a_number number(10) not null, a_classfication varchar(20), a_age number(3), a_id varchar(20) not null, CONSTRAINT an_nu_pk PRIMARY KEY(a_number), CONSTRAINT an_cu_id_fk FOREIGN KEY(a_id) REFERENCES customer(c_id));

13 오라클 설계(1) 동물병원 데이터베이스 설계(5)
오라클 설계(1) 동물병원 데이터베이스 설계(5) 동물상세(animal2) create table animal2( a2_number number(10) not null, a2_name varchar(20), a2_condition varchar(10), CONSTRAINT an2_an_nu_fk FOREIGN KEY(a2_number) REFERENCES animal(a_number)); 의사정보(doctor) create table doctor( d_number number(10) not null, d_name varchar(20) not null, d_phone varchar(20), d_ varchar(20), CONSTRAINT do_nu_pk PRIMARY KEY(d_number));

14 오라클 설계(1) 동물병원 데이터베이스 설계(5)
오라클 설계(1) 동물병원 데이터베이스 설계(5) 진료내역(treatment) create table treatment( t_number number(10) not null, t_name varchar(20), t_dname varchar(20) not null, t_condition varchar(20), t_date varchar(20), CONSTRAINT tr_an_nu_fk FOREIGN KEY(t_number) REFERENCES animal(a_number)); 진료상세(i_treatment) create table i_treatment( i_number number(10) not null, i_classfication varchar(20), CONSTRAINT it_an_nu_fk FOREIGN KEY(i_number) REFERENCES animal(a_number)); 진료상세2(i_treatment2) create table i_treatment2( i2_name varchar(10) not null, i2_ricipe varchar(20) not null, i2_price number(10));

15 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 회원정보(customer) insert into customer(c_name, c_id, c_password, c_phone, c_ ) values('Kim Do Hwan', 'ID1', 'password1', ' ', values('Park Ha Ni', 'ID2', 'password2', ' ', values('Go Gil Dong', 'ID3', 'password3', ' ', values('Choi Go Man', 'ID4', 'password4', ' ', values('Lee Seung Pil', 'ID5', 'password5', ' ', values('Choi Woo In', 'ID6', 'password6', ' ', values('Song Young Min', 'ID7', 'password7', ' ',

16 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 동물정보(animal) insert into animal(a_number, a_classfication, a_age, a_id) values('00001', 'maltese', '2', 'ID1'); values('00002', 'maltese', '4', 'ID3'); values('00003', 'maltese', '6', 'ID4'); values('00004', 'shihtzu', '3', 'ID5'); values('00005', 'shihtzu', '2', 'ID5'); values('00006', 'bulldog', '8', 'ID6'); values('00007', 'chihuahua', '1', 'ID6'); values('00008', 'chihuahua', '10', 'ID7'); values('00009', 'doberman', '5', 'ID7');

17 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 동물상세(animal2) insert into animal2(a2_number, a2_name, a2_condition) values('00002', 'bob', 'good'); values('00004', 'babo', 'good'); values('00005', 'smith', 'good'); values('00008', 'james', 'good'); values('00009', 'boksil', 'good');

18 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 의사정보(doctor) insert into doctor(d_number, d_name, d_phone, d_ ) values('01', 'Da Go Chim', ' ', values('02', 'Song Ya Mae', ' ', values('03', 'Su Jeun Jeung', ' ',

19 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 진료내역(treatment) insert into treatment(t_number, t_name, t_dname, t_condition, t_date) values('00002', 'bob', 'Su Jeun Jeung', 'good', '2012/06/15'); values('00004', 'babo', 'Su Jeun Jeung', 'bed', '2012/06/16'); values('00005', 'smith', 'Da Go Chim', 'good', '2012/06/17'); values('00008', 'james', 'Su Jeun Jeung', 'bed', '2012/06/17'); values('00009', 'boksil', 'Song Ya Mae', 'good', '2012/06/18');

20 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 진료상세(i_treatment) insert into i_treatment(i_number, i_classfication) values('00002', 'maltese'); values('00004', 'shihtzu'); values('00005', 'shihtzu'); values('00008', 'chihuahua'); values('00009', 'doberman');

21 오라클 설계(2) 동물병원 데이터베이스 설계(5)
오라클 설계(2) 동물병원 데이터베이스 설계(5) 진료상세2(i_treatment2) insert into i_treatment2(i2_name, i2_ricipe, i2_price) values('fracture', 'operation', '300000'); values('dislocation', 'operation', '100000'); values('filaria', 'vaccination', '50000'); values('hwa byung', 'medicine', '20000');

22 JSP 설계(1) 동물병원 데이터베이스 설계(6)
메인 화면 <html> <head> <title>Animal Hospital by SongYoungMin</title> </head> <body bgcolor=white> <table border="0"> <tr> <td> </td> <h1><span style="font-family:gothic; color:blue"> 동물병원 데이터베이스 시스템</font></h1> <HR> <BR> </tr> </table> <ul> <li><A href="selecttable.html">관리자 전용</A><BR> <li><A href="customer_update.jsp">회원정보 수정</A><BR> <li><A href="customer_delete.jsp">회원 탈퇴</A><BR> <li><A href="register.jsp">회원 가입</A><BR> </ul> </body> </html>

23 JSP 설계(1) 동물병원 데이터베이스 설계(6)
메인 화면

24 JSP 설계(1) 동물병원 데이터베이스 설계(6)
테이블 확인 소스 Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM customer"); out.println("<table border=1>"); out.println("<tr>"); out.println("<td bgcolor=#cccccc, align=center>" + "NAME" + "</td>"); out.println("<td bgcolor=#cccccc, align=center>" + "ID" + "</td>"); out.println("<td bgcolor=#cccccc, align=center>" + "PASSWORD" + "</td>"); out.println("<td bgcolor=#cccccc, align=center>" + "PHONE" + "</td>"); out.println("<td bgcolor=#cccccc, align=center>" + " " + "</td>"); while(rs.next()) { out.println("<tr>"); out.println("<td>" + rs.getString(1) + "</td>"); out.println("<td>" + rs.getString(2) + "</td>"); out.println("<td>" + rs.getString(3) + "</td>"); out.println("<td>" + rs.getString(4) + "</td>"); out.println("<td>" + rs.getString(5) + "</td>"); out.println("</tr>"); }

25 JSP 설계(1) 동물병원 데이터베이스 설계(6)
테이블 종류 목록

26 JSP 설계(1) 동물병원 데이터베이스 설계(6)
고객 테이블 화면

27 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 수정 소스 String name = request.getParameter("name"); String id = request.getParameter("id"); String password = request.getParameter("password"); String cname = request.getParameter("cname"); String cid = request.getParameter("cid"); String cpassword = request.getParameter("cpassword"); String cphone = request.getParameter("cphone"); String c = request.getParameter("c "); //POST로 register.jsp로부터 입력받은 내용을 변수화 String sql = "update customer set c_name = ?, c_id = ?, c_password = ?, c_phone = ?, c_ = ? where c_name = ? and c_id = ? and c_password = ?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, cname); pstmt.setString(2, cid); pstmt.setString(3, cpassword); pstmt.setString(4, cphone); pstmt.setString(5, c ); pstmt.setString(6, name); pstmt.setString(7, id); pstmt.setString(8, password); int n = pstmt.executeUpdate(); pstmt.close(); con.close();

28 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 수정 입력

29 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 가입 소스 String name = request.getParameter("name"); String id = request.getParameter("id"); String password = request.getParameter("password"); String phone = request.getParameter("phone"); String = request.getParameter(" "); //POST로 register.jsp로부터 입력받은 내용을 변수화 String sql = "INSERT INTO customer(c_name, c_id, c_password, c_phone, c_ )"+"values(?, ?, ?, ?, ?)"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, id); pstmt.setString(3, password); pstmt.setString(4, phone); pstmt.setString(5, ); int n = pstmt.executeUpdate(); pstmt.close(); con.close();

30 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 가입 입력

31 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 가입 완료

32 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 탈퇴 소스 String name = request.getParameter("name"); String id = request.getParameter("id"); String password = request.getParameter("password"); String phone = request.getParameter("phone"); String = request.getParameter(" "); //POST로 register.jsp로부터 입력받은 내용을 변수화 String sql = "delete from customer where c_name = ? and c_id = ? and c_password = ?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, id); pstmt.setString(3, password); int n = pstmt.executeUpdate(); pstmt.close(); con.close();

33 JSP 설계(1) 동물병원 데이터베이스 설계(6)
회원 탈퇴

34 The End 동물병원 데이터베이스 설계(5)


Download ppt "데이터베이스 설계 및 구축 동물병원 데이터베이스 설계 작성자 : 20078580 송영민 sym3463@nate.com."

Similar presentations


Ads by Google