부동산 매물 정보를 저장하는 테이블은 부동산 중개 사이트, 관리 회사, 또는 개인 중개인이 매물의 상세 정보, 위치, 가격, 상태 등을 관리하고 고객에게 제공하는 데 중요합니다. 이 테이블은 매물 ID, 주소, 가격, 면적, 방의 수, 건축년도, 사진, 설명, 리스팅 상태, 연락처 정보 등의 정보를 포함할 수 있습니다. 다음은 부동산 매물 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 부동산 매물 테이블 생성
CREATE TABLE real_estate_listings (
listing_id INT AUTO_INCREMENT PRIMARY KEY,
address TEXT,
price DECIMAL(10, 2),
area_sq_ft INT,
bedrooms INT,
bathrooms INT,
year_built YEAR,
listing_date TIMESTAMP,
listing_status VARCHAR(50),
description TEXT,
contact_info TEXT
);
설명: 매물 ID, 주소, 가격, 면적(제곱피트), 침실 수, 욕실 수, 건축년도, 리스팅 날짜, 리스팅 상태, 설명, 연락처 정보 등을 저장합니다.
2. 매물 사진 테이블 생성
CREATE TABLE listing_photos (
photo_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
photo_url TEXT,
description TEXT,
upload_date TIMESTAMP,
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 사진 ID, 매물 ID, 사진 URL, 사진 설명, 업로드 날짜 등을 저장합니다.
3. 매물 조회 기록 테이블 생성
CREATE TABLE listing_views (
view_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
view_date TIMESTAMP,
viewer_id INT,
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 조회 기록 ID, 매물 ID, 조회 날짜, 조회한 사용자 ID 등을 저장합니다.
4. 매물 관심자 목록 테이블 생성
CREATE TABLE interested_parties (
interest_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
user_id INT,
interest_date TIMESTAMP,
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 관심자 ID, 매물 ID, 사용자 ID, 관심 표시 날짜 등을 저장합니다.
5. 부동산 중개인 테이블 생성
CREATE TABLE real_estate_agents (
agent_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
contact_info TEXT,
agency_name VARCHAR(100)
);
설명: 중개인 ID, 이름, 연락처 정보, 소속 중개사 이름 등을 저장합니다.
6. 리스팅-중개인 연결 테이블 생성
CREATE TABLE listing_agents (
listing_id INT,
agent_id INT,
assignment_date TIMESTAMP,
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id),
FOREIGN KEY (agent_id) REFERENCES real_estate_agents(agent_id)
);
설명: 매물 ID, 중개인 ID, 할당 날짜 등을 저장합니다.
7. 매물 거래 기록 테이블 생성
CREATE TABLE transaction_records (
transaction_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
transaction_date TIMESTAMP,
buyer_id INT,
seller_id INT,
sale_price DECIMAL(10, 2),
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 거래 기록 ID, 매물 ID, 거래 날짜, 구매자 ID, 판매자 ID, 판매 가격 등을 저장합니다.
8. 매물 리뷰 테이블 생성
CREATE TABLE listing_reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
review_date TIMESTAMP,
reviewer_id INT,
rating INT,
comment TEXT,
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 리뷰 ID, 매물 ID, 리뷰 날짜, 리뷰어 ID, 평점, 코멘트 등을 저장합니다.
9. 매물 유지 관리 기록 테이블 생성
CREATE TABLE maintenance_records (
record_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
maintenance_date TIMESTAMP,
details TEXT,
cost DECIMAL(10, 2),
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 유지 관리 기록 ID, 매물 ID, 유지 관리 날짜, 상세 내용, 비용 등을 저장합니다.
10. 매물 가격 변동 기록 테이블 생성
CREATE TABLE price_changes (
change_id INT AUTO_INCREMENT PRIMARY KEY,
listing_id INT,
change_date TIMESTAMP,
old_price DECIMAL(10, 2),
new_price DECIMAL(10, 2),
FOREIGN KEY (listing_id) REFERENCES real_estate_listings(listing_id)
);
설명: 가격 변동 기록 ID, 매물 ID, 변동 날짜, 이전 가격, 새로운 가격 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, DECIMAL, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
게임 플레이어 테이블 생성: 게임 플레이어 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
---|---|
전화 통화 기록 테이블 생성: 전화 통화 기록 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
온라인 쇼핑 테이블 생성: 온라인 쇼핑 주문 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
신용카드 트랜잭션 테이블 생성: 신용카드 트랜잭션 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
온라인 강의 테이블 생성: 온라인 강의 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |