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

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
웹 프로그래밍 HTML, 자바스크립트, ASP를 중심으로
소리가 작으면 이어폰 사용 권장!.
예방접종 정보 SITE.
13장 공지사항 한빛미디어(주).
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
12장. JSP에서 자바빈 활용 제12장.
제 5 장 인덱스 생성 및 관리.
JSP BBS (Bulletin Board System)
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
JDBC 개요 Section 04 JDBC 개념과 역할 JDBC 구조 애 플 리 케 이 션 오라클 DBMS MySql DBMS
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
구글해킹과 SQL인젝션 지창훈, 최연우.
중 간 고 사 (웹프로그래밍)
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
단일 테이블 조회를 위한 SELECT 문을 이해한다. 열 제약조건과 행 제약조건을 이해한다. 결과 집합 변경 방법을 이해한다.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
5. JSP의 내장객체1.
[INA240] Web Programming Homework #3 [INA240] Web Programming
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
SQL.
DB연동하기 원격db접속.
You YoungSEok Oracle 설치 You YoungSEok
2장. 학사관리 예제 DATABASE 학사 데이터베이스의 해설 테이블의 내용 무결성 규칙 쉽게 배우는 MySQL 5.x
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
JDBC (Java Database Connectivity)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Chapter11 웹 스토리지 & 웹 데이터베이스
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
JSP Programming with a Workbook
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
ASP 수행 화면(1).
06. SQL 명지대학교 ICT 융합대학 김정호.
세션 (Session) Yang-Sae Moon Department of Computer Science
13장 자바빈과 데이터베이스를 연동한 게시판 시스템
제 11 장 자바빈즈를 이용한 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
HTML HTML 기본 구조와 태그 다양한 태그 다루기
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

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

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

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

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

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

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

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

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

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

논리적 설계(1) 동물병원 데이터베이스 설계(4) 논리적 설계(1) 동물병원 데이터베이스 설계(4) 테이블 회원정보(customer) 동물정보(animal) 동물상세(animal2) 주소 c_name c_id c_password char(20) char(15) 성명 회원ID 비밀번호 c_phone c_email 전화번호 이메일 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) 동물번호 동물이름 상태

논리적 설계(2) 동물병원 데이터베이스 설계(4) 논리적 설계(2) 동물병원 데이터베이스 설계(4) 의사정보(doctor) 진료내역(treatment) 진료상세(i_treatment) 진료상세(i_treatment2) d_number d_name d_phone number(10) char(20) 의사번호 의사이름 전화번호 d_email 이메일 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) 비용

오라클 설계(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_email 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));

오라클 설계(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_email varchar(20), CONSTRAINT do_nu_pk PRIMARY KEY(d_number));

오라클 설계(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));

오라클 설계(2) 동물병원 데이터베이스 설계(5) 오라클 설계(2) 동물병원 데이터베이스 설계(5) 회원정보(customer) insert into customer(c_name, c_id, c_password, c_phone, c_email) values('Kim Do Hwan', 'ID1', 'password1', '010-1111-1111', 'mail@oracle.com'); values('Park Ha Ni', 'ID2', 'password2', '010-3333-2222', 'mail2@oracle.com'); values('Go Gil Dong', 'ID3', 'password3', '010-3333-3333', 'mail3@oracle.com'); values('Choi Go Man', 'ID4', 'password4', '010-4444-4444', 'mail4@oracle.com'); values('Lee Seung Pil', 'ID5', 'password5', '010-5555-5555', 'mail5@oracle.com'); values('Choi Woo In', 'ID6', 'password6', '010-6666-6666', 'mail6@oracle.com'); values('Song Young Min', 'ID7', 'password7', '010-7777-7777', 'mail7@oracle.com');

오라클 설계(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');

오라클 설계(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');

오라클 설계(2) 동물병원 데이터베이스 설계(5) 오라클 설계(2) 동물병원 데이터베이스 설계(5) 의사정보(doctor) insert into doctor(d_number, d_name, d_phone, d_email) values('01', 'Da Go Chim', '033-646-1111', 'doctor1@animal.com'); values('02', 'Song Ya Mae', '033-646-2222', 'doctor2@animal.com'); values('03', 'Su Jeun Jeung', '033-646-3333', 'doctor3@animal.com');

오라클 설계(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');

오라클 설계(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');

오라클 설계(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');

JSP 설계(1) 동물병원 데이터베이스 설계(6) 메인 화면 <html> <head> <title>Animal Hospital by 20078580 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>

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

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>" + "EMAIL" + "</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>"); }

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

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

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 cemail = request.getParameter("cemail"); //POST로 register.jsp로부터 입력받은 내용을 변수화 String sql = "update customer set c_name = ?, c_id = ?, c_password = ?, c_phone = ?, c_email = ? 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, cemail); pstmt.setString(6, name); pstmt.setString(7, id); pstmt.setString(8, password); int n = pstmt.executeUpdate(); pstmt.close(); con.close();

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

JSP 설계(1) 동물병원 데이터베이스 설계(6) 회원 가입 소스 String name = request.getParameter("name"); String id = request.getParameter("id"); String password = request.getParameter("password"); String phone = request.getParameter("phone"); String email = request.getParameter("email"); //POST로 register.jsp로부터 입력받은 내용을 변수화 String sql = "INSERT INTO customer(c_name, c_id, c_password, c_phone, c_email)"+"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, email); int n = pstmt.executeUpdate(); pstmt.close(); con.close();

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

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

JSP 설계(1) 동물병원 데이터베이스 설계(6) 회원 탈퇴 소스 String name = request.getParameter("name"); String id = request.getParameter("id"); String password = request.getParameter("password"); String phone = request.getParameter("phone"); String email = request.getParameter("email"); //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();

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

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