본문 바로가기

SQL

지도 위치 테이블 생성: 지도 위치 정보를 저장하기 위한 테이블을 생성합니다.

반응형

지도 위치 정보를 저장하는 테이블은 지리적 데이터 관리, 위치 기반 서비스, 네비게이션 시스템 등에서 중요합니다. 이 테이블은 위치 ID, 이름, 설명, 위도, 경도, 고도, 위치 타입, 관련 이미지, 생성일, 수정일 등의 정보를 포함할 수 있습니다. 다음은 지도 위치 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 지도 위치 테이블 생성
CREATE TABLE map_locations (
    location_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    description TEXT,
    latitude DECIMAL(9,6),
    longitude DECIMAL(9,6),
    altitude DECIMAL(6,2),
    location_type VARCHAR(50),
    image_url TEXT,
    creation_date TIMESTAMP,
    last_modified TIMESTAMP
);
설명: 위치 ID, 이름, 설명, 위도, 경도, 고도, 위치 타입, 이미지 URL, 생성일, 수정일 등을 저장합니다.

 

2. 위치 타입 테이블 생성
CREATE TABLE location_types (
    type_id INT AUTO_INCREMENT PRIMARY KEY,
    type_name VARCHAR(50),
    type_description TEXT
);
설명: 위치 타입 ID, 타입 이름, 타입 설명 등을 저장합니다.

 

3. 지도 노트 테이블 생성
CREATE TABLE map_notes (
    note_id INT AUTO_INCREMENT PRIMARY KEY,
    location_id INT,
    note_text TEXT,
    note_date TIMESTAMP,
    FOREIGN KEY (location_id) REFERENCES map_locations(location_id)
);
설명: 노트 ID, 위치 ID, 노트 텍스트, 노트 날짜 등을 저장합니다.

 

4. 사용자 지정 위치 테이블 생성
CREATE TABLE user_custom_locations (
    custom_location_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    location_id INT,
    custom_name VARCHAR(100),
    custom_description TEXT,
    FOREIGN KEY (location_id) REFERENCES map_locations(location_id)
);
설명: 사용자 정의 위치 ID, 사용자 ID, 위치 ID, 사용자 정의 이름, 사용자 정의 설명 등을 저장합니다.

 

5. 지도 북마크 테이블 생성
CREATE TABLE map_bookmarks (
    bookmark_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    location_id INT,
    bookmark_date TIMESTAMP,
    FOREIGN KEY (location_id) REFERENCES map_locations(location_id)
);
설명: 북마크 ID, 사용자 ID, 위치 ID, 북마크 날짜 등을 저장합니다.

 

6. 지역 이벤트 테이블 생성
CREATE TABLE regional_events (
    event_id INT AUTO_INCREMENT PRIMARY KEY,
    location_id INT,
    event_name VARCHAR(100),
    start_date TIMESTAMP,
    end_date TIMESTAMP,
    description TEXT,
    FOREIGN KEY (location_id) REFERENCES map_locations(location_id)
);
설명: 이벤트 ID, 위치 ID, 이벤트 이름, 시작 날짜, 종료 날짜, 설명 등을 저장합니다.

 

7. 연관 위치 테이블 생성
CREATE TABLE associated_locations (
    association_id INT AUTO_INCREMENT PRIMARY KEY,
    primary_location_id INT,
    associated_location_id INT,
    association_type VARCHAR(50),
    FOREIGN KEY (primary_location_id) REFERENCES map_locations(location_id),
    FOREIGN KEY (associated_location_id) REFERENCES map_locations(location_id)
);
설명: 연관 ID, 주 위치 ID, 연관된 위치 ID, 연관 타입 등을 저장합니다.

 

8. 경로 테이블 생성
CREATE TABLE routes (
    route_id INT AUTO_INCREMENT PRIMARY KEY,
    start_location_id INT,
    end_location_id INT,
    route_description TEXT,
    FOREIGN KEY (start_location_id) REFERENCES map_locations(location_id),
    FOREIGN KEY (end_location_id) REFERENCES map_locations(location_id)
);
설명: 경로 ID, 시작 위치 ID, 종료 위치 ID, 경로 설명 등을 저장합니다.

 

9. 위치 리뷰 테이블 생성
CREATE TABLE location_reviews (
    review_id INT AUTO_INCREMENT PRIMARY KEY,
    location_id INT,
    user_id INT,
    review_text TEXT,
    rating INT,
    review_date TIMESTAMP,
    FOREIGN KEY (location_id) REFERENCES map_locations(location_id)
);
설명: 리뷰 ID, 위치 ID, 사용자 ID, 리뷰 텍스트, 평점, 리뷰 날짜 등을 저장합니다.

 

10. 지도 설정 테이블 생성
CREATE TABLE map_settings (
    setting_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    map_preference TEXT,
    update_frequency VARCHAR(50)
);
설명: 설정 ID, 사용자 ID, 지도 선호 설정, 업데이트 빈도 등을 저장합니다.


관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, DECIMAL, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형