itsme

DataBase - 설계 및 구축 프로젝트 본문

Study/Project

DataBase - 설계 및 구축 프로젝트

itssmeee 2021. 7. 19. 22:09
반응형

데이터베이스 구축 과정

 

1. 요구사항 분석

1.1 요구사항 명세서

1. 우리 오라클 서점이 인터넷 서점의 웹사이트를 구축하게 되면 웹사이트에서 회원으로 가입해야만 인터넷에서 도서를 구입 할 수 있다.

2. 인터넷 회원으로 가입하려면 회원 번호, 회원명, 연락처, 비밀번호, 아이디를 입력해야 한다.

3. 회원은 더불어 신용카드 정보는 여러 개 저장할 수 있는데, 신용카드 정보에는 번호, 유효기간, 카드 종류를 저장할 수 있다.

4. 회원은 배송지 정보도 마친가지로 여러 개 저장할 수 있으며 배송지 우편번호와 기본주소, 상세주소를 저장할 수 있다.

5. 인터넷을 통해 등록한 회원은 구매할 도서목록을 선택하여 주문하기 전에 장바구니에 담을 수 있다.

6. 장바구니에 담을 때 장바구니 번호와 생성 일자를 저장한다.

7. 인터넷 통해 등록한 회원은 구매할 도서목록을 선택하여 장바구니에 담지 않고 인터넷 주문서에 주문 내용을 입력하여 바로 주문할 수도 있다.

8. 주문할 때 주문목록에 대한 상세정보와 주문 일자, 주문총액, 신용카드 종류, 신용카드 번호, 신용카드 유효기간, 배송 지 우편번호, 배송지 기본주소, 배송지 상세주소를 지정해야 한다.

9. 주문목록에 대한 상세정보에는 수량이 있다.

10. 도서정보에는 도서번호, 도서명, 재고량, 판매가를 저장한다.

2. 개념적 설계

요구분석 단계에서 파악한 개체와 속성들을 가지고 E-R 다이어그램을 이용하여 표현

3. 논리적 설계

개념적 설계에서 파악된 개체들의 속성과 관계를 관계데이터 모델을 이용하여 기술 

4. 물리적 설계

논리적 설계에서 파악된 개체들의 속성과 관계를 기술.

 

5. 데이터베이스 구축 (sql 명령)

위에서 만들어진 릴레이션들을 sql 명령문으로 구현하였습니다.

5.1 테이블 삭제

-테이블 삭제-

 

drop table member purge;

drop table card purge;

drop table delivery purge;

drop table bag purge;

drop table “order” purge;

drop table book purge;

drop table buy purge;

 

5.2 테이블 생성

-회원 테이블-

 

create table member(

mem_num number(10) not null,

mem_name varchar2(10) not null,

mem_phone number(15),

mem_pw varchar2(20) not null,

mem_id varchar2(10) not null,

constraint member_mem_num_pk primary key(mem_num))

/

 

-신용카드 테이블-

 

create table card

(card_num number(20) not null,

card_member number(10),

card_period number(10),

card_type varchar2(20),

constraint card_card_num_card_mnum_pk primary key(card_num, card_member),

constraint card_card_member_fk foreign key(card_member) references member(mem_num))

/

 

-배송지 테이블-

 

create table delivery

(deli_num number(15) not null,

deli_basicadd varchar2(30),

deli_detailedadd varchar2(30),

deli_member number(10),

constraint delivery_deli_num_deli_member_pk primary key(deli_num, deli_member),

constraint delivery_deli_member_fk foreign key(deli_member) references member(mem_num))

/

 

-장바구니 테이블-

 

create table bag

(bag_num number(20) not null,

bag_date varchar2(10),

bag_member number(10),

constraint bag_bag_num_bag_member_pk primary key(bag_num, bag_member),

constraint bag_bag_member_fk foreign key(bag_member) references member(mem_num))

/

 

-주문목록 테이블-

 

create table "order"

(order_amount number(5) not null,

order_date number(15) not null,

order_sum number(5),

order_cdtype varchar2(20),

order_cdnum number(20),

order_cdperiod number(10),

order_delinum number(20),

order_basicadd varchar2(30),

order_detailedadd varchar2(30),

order_member number(10),

constraint order_order_amount_order_member_pk primary key(order_amount, order_member),

constraint order_order_amount_fk foreign key(order_amount) references member(mem_num))

/

 

-도서 테이블-

 

create table book

(book_num number(10) not null,

book_name varchar2(20) not null,

book_inventory number(10),

book_price number(10),

constraint book_book_num_pk primary key(book_num))

/

 

-구입 테이블-

 

create table buy

(buy_memnum number(10) not null,

buy_booknum number(10) not null,

constraint buy_buy_memnum_buy_booknum_pk primary key(buy_memnum, buy_booknum),

constraint buy_buy_memnum_fk foreign key(buy_memnum) references member(mem_num),

constraint buy_buy_booknum_fk foreign key(buy_booknum) references member(mem_num))

/

 

5.3 데이터 입력

-회원 테이블 데이터 입력-

 

insert into member values(1,'kim',01012341234,'abcd','kim');

insert into member values(2,'hong',01012223333,'asd','hong');

insert into member values(3,'pyo',01012345678,'ascd','pyo');

insert into member values(4,'kim',01023456789,'lkij','choi');

insert into member values(5,'lee',01034527689,'qdesg','lee');

update member set mem_name=’choi’ where mem_num=4;

 

-신용카드 테이블 데이터 입력-

 

insert into card values(11112222333444,1,1020,'samsung');

insert into card values(0011223344556622,2,0421,'samsung');

insert into card values(1234125634675689,3,0521,'samsung');

insert into card values(1231432534235678,4,0621,'hyundai');

insert into card values(1243546235216442,5,0921,'hyundai');

update card set card_period=1220 where card_member=1;

 

-배송지 테이블 데이터 입력-

 

insert into delivery values(01,'울산중구반구동','이편한세상',1);

insert into delivery values(02,'울산남구삼산동','평창아파트',2);

insert into delivery values(03,'울산남구삼산동','우성아파트',3);

insert into delivery values(04,'울산북구양정동','성원상떼빌',4);

insert into delivery values(05,'울산중구성남동','149-5',5);

update delivery set deli_num=6 where deli_membre=1;

 

-장바구니 테이블 데이터 입력-

 

insert into bag values(001,'20-06-25',1);

insert into bag values(002,'20-06-25',2);

insert into bag values(003,'20-06-26',3);

insert into bag values(004,'20-06-26',4);

insert into bag values(005,'20-06-26',5);

insert into bag values(6, ‘20-06-26’, 5);

delete from bag where bag_num=6;

 

-주문목록 테이블 데이터 입력-

 

insert into "order" values(1,200625,10000,'samsung',11112222333444,1020,123-2,'울산중구반구동','이편한세상',1);

insert into "order" values(1,200625,15000,'samsung',0011223344556622,0421,121-4,'울산남 구삼산동','평창아파트',2);

insert into "order" values(1,200626,15000,'samsung',1234125634675689,0521,74-5,'울산남 삼산동','우성아파트',3);

insert into "order" values(1,200626,15000,'hyundai',1231432534235678,0621,174-5,'울산북 구양정동','성원상떼빌',4);

insert into "order" values(1,200626,15000,'hyundai',1243546235216442,0921,56-2,'울산중 성남동','149-5',5);

 

-도서 테이블 데이터 입력-

 

insert into book values(1,'1cm 다이빙',2,10000);

insert into book values(2,'더헤빙',1,15000);

insert into book values(3,'책도둑',3,15000);

insert into book values(4,'미비포유',2,15000);

insert into book values(5,'미애프터유',2,15000);

 

-구입 테이블 데이터 입력-

 

insert into buy values(1,1);

insert into buy values(2,2);

insert into buy values(3,3);

insert into buy values(4,5);

insert into buy values(5,4);

 

5.4 쿼리 실행영상

 

 

 

'Study > Project' 카테고리의 다른 글

Kiosk  (0) 2021.07.26
졸업작품 - 음성인식 키오스크  (0) 2021.07.24