實驗 1: 景點資料庫建置

17
實實 1: 實實實實實實實 實實實實實實實實實實實實實實實實 , 實實實實實實實實實實實實實實實實實 , 實實實實實實實 實實實實實實實實 <#p1>

description

實驗 1: 景點資料庫建置. 本次實驗內容在資料庫系統建置部分 , 主要是建置使用者與各個景點間的資料 , 實習資料庫的設計要點與建置方法. 文史脈流行動導覽系統. http://deh.csie.ncku.edu.tw/deh/index.html 本次實習 , 我們參考文史脈流行動導覽系統之資料庫設計 , 以使用者和各個景點內容為主. ER-model. 實體 (Entity) 關係說明. Schema. User_profile < user_id , user_name, password, email, gender, interest> Interest - PowerPoint PPT Presentation

Transcript of 實驗 1: 景點資料庫建置

Page 1: 實驗 1: 景點資料庫建置

實驗 1:景點資料庫建置

本次實驗內容在資料庫系統建置部分 ,主要是建置使用者與各個景點間的資料 ,實習資料庫的設計要點與建置方法

<#p1>

Page 2: 實驗 1: 景點資料庫建置

文史脈流行動導覽系統• http://deh.csie.ncku.edu.tw/deh/index.html• 本次實習 ,我們參考文史脈流行動導覽系統之資料庫設計 ,以使用者和各個景點內容為主

2

Page 3: 實驗 1: 景點資料庫建置

ER-model

3

Page 4: 實驗 1: 景點資料庫建置

實體 (Entity)關係說明

實體名稱 意義 與其他實體間的關係

user_profile 使用者 1. 可建置多筆推薦行程2. 可上傳多筆景點

route_planning 行程 由使用者建置之行程

POI 景點 使用者可以上傳景點內容 ,上傳的景點可以給其他使用者瀏覽

sequence 行程內容 行程內的詳細景點介紹

4

Page 5: 實驗 1: 景點資料庫建置

Schema

• User_profile <user_id, user_name, password, email, gender, interest>

• Interest–藝術文化、視聽娛樂、運動體育、教育學習、休閒旅遊、科學科技、社會人文、購物逛街、流行時尚、醫療保健

5

Page 6: 實驗 1: 景點資料庫建置

(Cont.)

欄位 意義 資料型態

user_id 使用者編號 ,主鍵 (自動增加 ) int(10)auto_increment

user_name 使用者名字 varchar(20)

password 使用者密碼 varchar(50)

email 使用者電子郵件 varchar(100)

gender 使用者性別 int(1)

interest 使用者的興趣 varchar(150)

6

Page 7: 實驗 1: 景點資料庫建置

(Cont.)

• POI <POI_id, POI_title, POI_decription, POI_address, latitude, longitude, picture_url, user_id>

7

Page 8: 實驗 1: 景點資料庫建置

(Cont.)

8

欄位 意義 資料型態

POI_id 景點編號 ,主鍵 (自動增加 ) int(10)auto_increment

POI_title 景點名稱 varchar(20)

POI_description 景點介紹 varchar(400)

POI_address 景點地址 varchar(150)

latitude 景點的緯度 float(10,6)

longitude 景點的經度 float(10,6)

picture_url 景點的圖片連結 varchar(100)

user_id外來鍵 (foreign key),參照user_profile表單底下 user_id欄位

int(10)

Page 9: 實驗 1: 景點資料庫建置

(Cont.)

• route_planning <route_id, route_title, route_description, user_id>

9

Page 10: 實驗 1: 景點資料庫建置

(Cont.)

10

欄位 意義 資料型態

route_id 行程編號 ,主鍵 (自動增加 )

int(10)auto_increment

route_title 行程名稱 varchar(20)

route_description 行程描述 varchar(400)

user_id外來鍵 (foreign key),參照user_profile表單底下user_id欄位

int(10)

Page 11: 實驗 1: 景點資料庫建置

(Cont.)

• sequence <sequence_id, sequence, stay_time, next_time, route_id, POI_id>

11

Page 12: 實驗 1: 景點資料庫建置

(Cont.)

12

欄位 意義 資料型態

sequence_id 行程內容編號 ,主鍵 (自動增加 ) int(10)auto_increment

Sequence 參觀的景點順序 int(10)

stay_time 在當前景點所停留的時間 int(10)

next_time 移動到下一個景點所需要花費的時間 int(10)

route_id外來鍵 (foreign key),參照 route_planning表單底下 route_id欄位 ,有著相同 route_id的景點 ,被歸納為同一個行程內

int(10)

POI_id外來鍵 (foreign key),參照 POI表單底下 POI_id欄位 ,連結行程內的景點資料 int(10)

Page 13: 實驗 1: 景點資料庫建置

查詢範例• 找出經度在 110-150以及緯度在 20-40間的景點名稱 :

SELECT POI_titleFROM POIWHERE 110 <= longitude <=150AND 20 <= latitude <=40

13

Page 14: 實驗 1: 景點資料庫建置

(Cont.)

• 找出興趣是運動體育的使用者名稱與email

SELECT user_name, emailFROM user_profileWHERE interest = '運動體育 '

14

Page 15: 實驗 1: 景點資料庫建置

(Cont.)

• 找出由興趣是運動體育的使用者所建置的景點名稱

SELECT POI.POI_titleFROM user_profile, POIWHERE user_profile.interest = '運動體育 'AND user_profile.user_id = POI.user_id

15

Page 16: 實驗 1: 景點資料庫建置

(Cont.)

• 找出建置的景點位置座標座落於經度110-150以及緯度 20-40間的女性使用者名稱

SELECT user_profile.user_nameFROM POI, user_profileWHERE 110 <= POI.longitude <=150AND 20 <= POI.latitude <=40AND POI.user_id = user_profile.user_idAND user_profile.gender =2

16

Page 17: 實驗 1: 景點資料庫建置

(Cont.)

• 找出包含太魯閣景點的行程建議SELECT * FROM sequence AS SEWHERE SE.Route_idIN (SELECT S.Route_idFROM sequence AS S, POIWHERE POI.POI_title = “太魯閣 "AND POI.POI_id = S.POI_id

)ORDER BY SE.Route_id ASC , SE.sequene ASC

17