2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정...

31
1. 서론(설계 목적 및 목표) - 영화관의 영화 예매와 고객 관리 시스템 - 고객의 영화 예매 상황과, 고객별 포인트, 등급, 티켓 내역, 결제 상황을 관리하기 위함 - 영화관에서 상영하는 영화 목록을 영화관 별로 관리하기 위함 2. ER 다이어그램

Transcript of 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정...

Page 1: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

1. 서론(설계 목적 및 목표)

- 영화관의 영화 예매와 고객 관리 시스템

- 고객의 영화 예매 상황과, 고객별 포인트, 등급, 티켓 내역, 결제 상황을 관리하기 위함

- 영화관에서 상영하는 영화 목록을 영화관 별로 관리하기 위함

2. ER 다이어그램

Page 2: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

3. SQL문(DDL, DML)

- 테이블별 DDL과 사용한 DML 캡쳐 및 간단한 설명

1) Admin 테이블

① DDL

관리자 계정 테이블인 admin은 id와 password 컬럼만 존재한다. Primary key는 id이고, 두 컬럼 모두 null을

허용하지 않는다.

② DML

Admin 테이블에 관리자 계정을 추가하는 쿼리

로그인 시 입력받은 id, password가 admin 테이블에 존재하는지 확인하는 쿼리

2) Customer 테이블

① DDL

고객 계정 테이블인 customer는 id와 password, 그 외 개인정보, 포인트, 등급 정보 컬럼이 존재한다.

Primary key는 id이고, 모든 컬럼이 null을 허용하지 않는다. 한글 사용을 위해 Charset을 utf8로 설정한다.

② DML

회원가입 시 아이디 중복 체크를 위해 Cutomer 테이블에서 id가 존재하는 지 확인하는 쿼리

Page 3: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

customer 테이블에 입력 받은 고객 정보를 삽입한다.

로그인 시 입력 받은 id와 password가 customer 테이블에 존재하는지 확인하는 쿼리

고객의 등급을 변경하는 쿼리

Vip 테이블에 존재하지 않는 고객의 등급은 모두 ‘일반’으로 변경하는 쿼리

고객의 개인정보, 포인트, 등급을 가져오는 쿼리

고객이 수정한 비밀번호, 개인정보를 업데이트 하는 쿼리

회원탈퇴 시 고객의 데이터를 삭제하는 쿼리

특정 고객의 포인트를 가져오는 쿼리

특정 고객의 포인트를 변경하는 쿼리

3) Vip 테이블

① DDL

Vip 고객 테이블인 vip는 primary key인 id 컬럼만 존재한다.

② DML

Vip 테이블의 모든 데이터를 삭제하는 쿼리

Vip 테이블에 고객의 ID를 저장하는 쿼리

Page 4: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

4) Movie 테이블

① DDL

영화 정보 테이블인 movie은 영화를 식별할 수 있는 movieID와 감독, 영화 제목, 출연, 등급, 주요정보 컬럼

이 존재한다. Primary key는 movieID이다.

② DML

Movie 테이블에 영화 정보를 삽입하는 쿼리

Movie 테이블에서 모든 영화 정보를 예매순으로 정렬해 가져오는 쿼리

검색 시 Movile 테이블에서 특정 키워드를 가진 영화 제목을 검색한 후 가져오는 쿼리

Movie 테이블에서 영화 제목을 가져오는 쿼리

Movie 테이블에서 특정 영화 제목을 가진 영화의 ID를 가져오는 쿼리

Movile 테이블에서 특정 movieID를 가진 영화의 제목을 가져오는 쿼리

Movie 테이블에서 특정 영화 제목을 가진 영화를 삭제하는 쿼리

Movie 테이블에서 특정 영화의 정보를 수정하는 쿼리

Page 5: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

5) Reservation 테이블

① DDL

예약 정보 테이블인 reservation은 예매 번호와 고객의 ID, 영화 제목, 티켓 매수(howmany), 영화관 이름, 좌

석, 날짜, 시간, 결제 여부(TF), 결제 번호, 티켓 번호 컬럼이 존재한다. Primary key는 reserv_number이다.

② DML

예매 번호로 티켓 매수를 가져오는 쿼리

예매 번호로 고객의 ID를 가져오는 쿼리

고객의 예매 정보를 삽입하는 쿼리

고객의 ID로 예매 정보를 최신순으로 가져오는 쿼리

예매 번호로 예매 정보를 가져오는 쿼리

모든 예매 정보를 최신순으로 가져오는 쿼리

예매 번호로 예매 정보를 삭제하는 쿼리

Page 6: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

예매 번호로 결제 번호와 티켓 번호를 포함한 정보를 가져오는 쿼리

고객의 ID로 예매 정보를 삭제하는 쿼리

영화 제목, 영화관 이름, 날짜, 시간으로 좌석 정보를 가져오는 쿼리

6) Theater 테이블

① DDL

영화관 정보 테이블인 theater는 영화관을 식별하기 위한 영화관 ID, 영화관 이름, 주소, 전화번호 컬럼이 존

재한다. Primary key는 theaterID이다.

② DML

모든 영화관 정보를 가져오는 쿼리

영화관 ID로 모든 영화관 정보를 가져오는 쿼리

모든 영화관 이름을 가져오는 쿼리

영화 제목으로 sangyounggwan 테이블에서 영화관 ID를 모두 가져온 후 그 값으로 영화관 이름을 가져오는

쿼리

영화관 ID와 영화관 이름을 가져오는 쿼리

Page 7: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

영화관 이름으로 영화관 ID를 가져오는 쿼리

영화관 ID로 영화관 정보를 삭제하는 쿼리

특정 영화관의 정보를 업데이트 하는 쿼리

Page 8: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

7) Time 테이블

① DDL

상영관별 영화 상영 시간 테이블인 time은 영화관 ID, 상영관 이름, 좌석 수, 상영 시간 컬럼이 존재한다.

Primary key는 sID, theaterID, time 세 가지이며, sID는 sangyounggwan 테이블의 sID 컬럼을 참조한다.

theaterID는 theater 테이블의 theaterID 컬럼을 참조한다.

② DML

영화 상영 시간을 삽입하는 쿼리

영화관 ID와 상영관 ID로 상영 시간을 가져오는 쿼리

영화 제목으로 상영관 ID를 모두 가져온 후 그 값으로 상영관 ID와 상영 시간을 가져오는 쿼리

8) Sangyounggwan 테이블

① DDL

상영관 정보 테이블인 sangyounggwan은 상영관 이름, 영화관 ID, 상영중인 영화, 좌석 수 컬럼이 존재한다.

Primary key는 sID, theaterID, movieName 세 가지이며, theaterID는 theater 테이블의 theaterID를 참조한다.

② DML

상영관 정보를 삽입하는 쿼리

Page 9: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

영화관 ID로 상영관 ID와 영화 제목을 가져오는 쿼리

영화관 ID로 상영관 ID를 가져오는 쿼리

영화관 ID로 모든 좌석의 수를 가져온다.

영화관 ID로 상영관 정보를 삭제하는 쿼리

영화관 ID와 상영관 ID로 상영관 정보를 삭제하는 쿼리

특정 영화관의 ID가 변경되면 sangyounggwan의 영화관 ID도 변경하는 쿼리

9) Ticket 테이블

① DDL

티켓 정보 테이블인 ticket은 티켓 번호와 예매 번호 컬럼이 존재한다. Primary key는 ticketID이다.

② DML

티켓 번호와 예매 번호를 삽입하는 쿼리

예매 번호로 티켓 번호를 가져오는 쿼리

예매 번호로 티켓 정보를 삭제하는 쿼리

Page 10: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

10) Pay 테이블

① DDL

결제 정보 테이블인 pay는 결제 번호와 고객의 ID, 날짜, 티켓 매수(howmany), 포인트, 포인트 사용여부

(usePoint), 총 결제 금액(totalPrice) 컬럼이 존재한다. Primary key는 payID이다.

② DML

결제 정보를 삽입하는 쿼리

Page 11: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

프로그램 기능 별 동작(관리자, 고객)

4.1 관리자

1) 영화 추가

Page 12: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

2) 영화 삭제

Page 13: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

3) 영화 수정

Page 14: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정
Page 15: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

4) 영화관 등록

Page 16: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

5) 영화관 수정

Page 17: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

6) 영화관 삭제

7) 상영 영화 관리

Page 18: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

- 삭제

Page 19: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

8) 티켓 발권

Page 20: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

9) 현장 예매

Page 21: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

11) VIP 고객 검색

Page 22: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

4.2 고객

1) 무비 차트(상영중)

Page 23: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정
Page 24: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

2) 영화 예매

Page 25: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

3) 회원 등록

Page 26: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

4) 개인 정보

Page 27: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정
Page 28: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

5) 포인트

Page 29: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

6) 예매 취소

Page 30: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정

7) 회원 탈퇴

Page 31: 2. ER 다이어그램 - MitNy's BLOG · 2020-01-06 · 2) Customer 테이블 ① DDL 고객 계정 테이블인 customer는 id와 password, 그 외 개인정 , 포인트, 등급 정