○ SQL문 업무분장
- SQL문은 테이블 정의서를 만든 사람이 책임지고 만드는것으로ㅎㅎ
- 내가 맡은 테이블
① 숙소정보(airbnb_inn)
② 숙소호스트상세정보(hosi_inn)
③ 숙소예약(booking_inn)
○ SQL문 작성
- 작성해야 할 SQL문은 테이블 생성 + 행 추가(3줄 정도)
① 숙소정보(airbnb_inn)
-- airbnb_inn 테이블 생성(숙소정보)
create table airbnb_inn(
inn_code char(12) not null -- 숙소코드: 지역코드+일련번호
,inn_name varchar2(200) not null -- 숙소이름
,inn_info varchar2(4000) -- 숙소정보설명
,inn_option char(5) not null check(inn_option in ('op001', 'op002', 'op003')) -- 레지던스(op001), 공동주택(op002), 로프트(op003)
,inn_type char(5) not null check(inn_type in ('ty001', 'ty002', 'ty003')) -- 공간전체(ty001), 개인실(ty002), 다인실(ty003)
,inn_maxpeople number(2,0) not null check(inn_maxpeople between 1 and 16) -- 최대숙박인원 (최소1명, 최대16명)
,inn_price number(10,0) not null -- 숙소 1박당 가격
,inn_thumb varchar2(200) not null -- 숙소 썸네일사진
,inn_image varchar2(200) not null -- 숙소 이미지
,inn_checkin char(5) default '15:00' -- 체크인 시간
,inn_checkout char(5) default '11:00' -- 체크아웃 시간
,inn_amenity varchar2(1000) -- 숙소 편의시설
,inn_rule varchar2(1000) -- 숙소 규칙
,primary key(inn_code)
);
-- airbnb_inn 테이블 행 추가
insert into airbnb_inn (inn_code, inn_name,
inn_info,
inn_option, inn_type, inn_maxpeople, inn_price,
inn_thumb, inn_image,
inn_checkin, inn_checkout, inn_amenity, inn_rule)
values ('JJ00023', '전주 객리단길?연가STAY',
'고즈넉한 느낌의 전통 한옥, 한국 고유의 고풍스러움과 감성 가득한 숙소입니다.',
'op002', 'ty002', 2, 115600,
'JJ00023_01.JPG', 'JJ00001_02.JPG',
'16:00', '11:00', '헤어드라이어, 샴푸', '흡연불가, 반려동물불가, 셀프체크인');
insert into airbnb_inn (inn_code, inn_name,
inn_info,
inn_option, inn_type, inn_maxpeople, inn_price,
inn_thumb, inn_image,
inn_checkin, inn_checkout, inn_amenity, inn_rule)
values ('YP00004', '휘게양평♡캠핑가능♡',
'중미산, 유명산 근처로 자연을 맘껏 느끼면서 힐링할 수 있는 숙소 휘게양평 입니다 :D',
'op001', 'ty001', 3, 155000,
'YP00004_01.JPG', 'YP00001_02.JPG',
'15:00', '11:00', '편의시설X', '흡연가능, 반려동물가능, 셀프체크인');
insert into airbnb_inn (inn_code, inn_name,
inn_info,
inn_option, inn_type, inn_maxpeople, inn_price,
inn_thumb, inn_image,
inn_checkin, inn_checkout, inn_amenity, inn_rule)
values ('JE01276', '[애월] *자파리하우스*(도미토리)',
'커플룸(2인실)과 남,여 6인실의 도미토리가 있습니다 직접구운빵, 까수엘라, 쉐퍼드파이, 쌀국수 등 특별한 조식 랜덤으로 제공!!',
'op003', 'ty003', 6, 25500,
'JE01276_01.JPG', 'JE01276_02.JPG',
'16:00', '11:00', '헤어드라이어, TV, 세탁기', '흡연불가, 반려동물불가, 셀프체크인');
insert into airbnb_inn (inn_code, inn_name,
inn_info,
inn_option, inn_type, inn_maxpeople, inn_price,
inn_thumb, inn_image,
inn_amenity, inn_rule)
values ('BU00001', '??라탄 zip?? ?감성 영화관',
'서면역 8번출구에서 도보 1분거리에 있어요.깨끗하고 이쁜 카페같은 따뜻한 휴식공간을 만들어 보았어요.',
'op001', 'ty001', 2, 107000,
'BU00001_01.JPG', 'BU00001_02.JPG',
'헤어드라이어, 샴푸, TV, 옷걸이', '흡연불가, 반려동물불가, 셀프체크인');
insert into airbnb_inn (inn_code, inn_name,
inn_info,
inn_option, inn_type, inn_maxpeople, inn_price,
inn_thumb, inn_image,
inn_amenity, inn_rule)
values ('SC00003', '영랑호와 설악산이 보이는 unnamed',
'아무 생각 없이 산멍, 물멍하게 되는 곳,문을 열고 들어오면 커더란 창문너머 계절마다 바뀌는 아름다운 설악산이과영랑호의 아름다은 모습을 즐길 수 있습니다.',
'op002', 'ty001', 2, 219000,
'SC00003_01.JPG', 'SC00003_02.JPG',
'헤어드라이어, 샴푸, 컨디셔너, TV', '흡연불가, 반려동물가능, 셀프체크인');
② 숙소호스트상세정보(hosi_inn)
- 3줄 정도만 추가하면 되지만, 숙소코드 FK로 쓰이는 테이블이 많아
원활한 진행을 위해 시나리오에 있는 행은 모두 추가함
--host_inn 테이블 생성(숙소호스트 회원정보)
create table host_inn(
mem_id varchar2(20) not null -- 회원아이디
,inn_code char(12) not null -- 숙소코드
,inn_adr1 varchar2(20) not null -- 숙소주소 (시/도)
,inn_adr2 varchar2(50) not null -- 숙소주소 (시/군/구)
,inn_adr3 varchar2(100) -- 숙소상세주소 (선택사항)
,inn_superhost char(1) default 'N' check(inn_superhost in ('Y', 'N'))
,inn_bankacct varchar2(20) not null -- 은행 계좌명 (은행명+계좌번호)
,primary key(inn_code)
,foreign key(inn_code) references airbnb_inn(inn_code)
,foreign key(mem_id) references airbnb_member(mem_id)
);
--host_inn 테이블 행 추가
insert into host_inn(mem_id, inn_code, inn_adr1, inn_adr2, inn_adr3,
inn_superhost, inn_bankacct)
values('jun5844', 'JJ00023', '전라북도', '전주시', '한옥마을3길 22',
'Y', '농협 654-688');
insert into host_inn(mem_id, inn_code, inn_adr1, inn_adr2, inn_adr3,
inn_superhost, inn_bankacct)
values('jun5844', 'YP00004', '경기도', '양평군', '양평로 1',
'Y', '농협 654-688');
insert into host_inn(mem_id, inn_code, inn_adr1, inn_adr2, inn_adr3, inn_bankacct)
values('mu1111', 'JE01276', '제주도', '제주시', '애월로 334', '하나 234-6767');
insert into host_inn(mem_id, inn_code, inn_adr1, inn_adr2, inn_adr3,
inn_superhost, inn_bankacct)
values('mu1234', 'BU00001', '부산시', '부산진구', '부산1길 13',
'Y', '국민 554-9841');
insert into host_inn(mem_id, inn_code, inn_adr1, inn_adr2, inn_adr3,
inn_superhost, inn_bankacct)
values('sp5585', 'SC00003', '강원도', '속초시', '주문진로 28',
'N', '신한 123-651');
③ 숙소예약(booking_inn)
-- booking_inn 테이블 생성(숙소예약정보)
create table booking_inn(
mem_id varchar2(20) not null -- 예약자 회원아이디
,inn_code char(12) not null -- 숙소코드
,inn_indate date not null -- 숙소 입실날짜
,inn_outdate date not null -- 숙소 퇴실날짜
,inn_stay number(5) -- 총 숙박일 (inn_outdate - inn_indate)
,inn_guestnum varchar2(30) -- 숙박객 수
,foreign key(inn_code) references airbnb_inn(inn_code)
,foreign key(mem_id) references airbnb_member(mem_id)
);
-- booking_inn 테이블 행추가
insert into booking_inn(mem_id, inn_code, inn_indate, inn_outdate, inn_guestnum)
values('han123', 'BU00001', '2022-04-15', '2022-04-17', '성인 2명');
insert into booking_inn(mem_id, inn_code, inn_indate, inn_outdate, inn_guestnum)
values('oh1234', 'JJ00023', '2022-06-29', '2022-06-30', '성인 1명, 어린이 3명');
insert into booking_inn(mem_id, inn_code, inn_indate, inn_outdate, inn_guestnum)
values('ko1234', 'YP00004', '2022-10-01', '2022-10-10', '성인 2명');
insert into booking_inn(mem_id, inn_code, inn_indate, inn_outdate, inn_guestnum)
values('mu1234', 'SC00003', '2022-07-27', '2022-07-29', '성인 5명');
-- booking_inn 테이블 inn_stay행 업데이트
update booking_inn set inn_stay=inn_outdate-inn_indate;
○ 모델링 프로젝트 마무리
- 이렇게 작성된 조원들의 SQL문을 모아서 제출하고, 모델링 프로젝트는 끝
- 오랜만에 하는 조모임이라서 걱정했는데, 조원 분들 다들 성실하셔서 너무 원활하게 잘 끝냈다
- 그리고, 진짜 테이블 이름 칼럼명 짓는거 너무 힘들었음ㅋㅋㅋ
'Project > Modeling Project' 카테고리의 다른 글
03. airbnb 테이블 정의서 작성 (0) | 2022.05.25 |
---|---|
02. 주제 선정(airbnb) 및 테이블 시나리오 작성 (0) | 2022.05.25 |
01. 모델링 프로젝트 개요 (조별 프로젝트, 테이블 시나리오 예시) (0) | 2022.05.25 |
댓글