|
@@ -0,0 +1,140 @@
|
|
|
+# AI智慧旅游项目
|
|
|
+
|
|
|
+# 数据范式设计
|
|
|
+>设定要求
|
|
|
+您是一名专业的数据库工程师,熟悉PostgreSQL和ParseServer。
|
|
|
+请注意表名用大驼峰,字段用小驼峰。
|
|
|
+有预留字段:objectId、updatedAt、createdAt。
|
|
|
+关于ParseServer中数据类的描述,字段的主要类型有:
|
|
|
+String => String
|
|
|
+Number => Number
|
|
|
+Bool => bool
|
|
|
+Array => JSON Array
|
|
|
+Object => JSON Object
|
|
|
+Date => Date
|
|
|
+File => Parse.File
|
|
|
+Pointer => other Parse.Object
|
|
|
+Relation => Parse.Relation
|
|
|
+Null => null
|
|
|
+GeoPoint => {latitude: 40.0, longitude: -30.0}
|
|
|
+
|
|
|
+>项目需求
|
|
|
+智能旅游的辅助AI应用,游客/旅行者(_User)、旅游资源(景点、酒店等)、行程提醒与预警、旅行日志与回忆管理、实时客流/天气/交通数据监测、安全风险预警,请您根据旅游外出的行业经验,设计以上几张表,游客/旅行者直接用预留的_User表即可。
|
|
|
+
|
|
|
+>输出结果(UML类图)
|
|
|
+请您帮我用plantuml的类图描述设计好的几张表及关系
|
|
|
+
|
|
|
+>输出结果(信息结构图)
|
|
|
+请您帮我用markmap格式表示上面的信息结构图
|
|
|
+
|
|
|
+>输出结果(SQL语句)
|
|
|
+请您帮我用sql格式给我建表语句和测试数据插入语句
|
|
|
+
|
|
|
+# UML类图
|
|
|
+```plantuml
|
|
|
+@startuml
|
|
|
+' 设置类图方向
|
|
|
+left to right direction
|
|
|
+
|
|
|
+' 定义基本样式
|
|
|
+skinparam groupInheritance 2
|
|
|
+skinparam class {
|
|
|
+ BackgroundColor White
|
|
|
+ ArrowColor #0078d7
|
|
|
+ BorderColor #2e2e2e
|
|
|
+}
|
|
|
+
|
|
|
+' 用户表(使用Parse内置_User类)
|
|
|
+class _User << (P,#FF7700) Parse内置 >> {
|
|
|
+ + objectId: String
|
|
|
+ + username: String
|
|
|
+ + email: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + phone: String
|
|
|
+ + profilePic: File
|
|
|
+ + emergencyContact: String
|
|
|
+}
|
|
|
+
|
|
|
+' 旅游资源表
|
|
|
+class TouristResource {
|
|
|
+ + objectId: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + name: String
|
|
|
+ + type: String "景点/酒店/餐厅"
|
|
|
+ + description: String
|
|
|
+ + location: GeoPoint
|
|
|
+ + openingHours: String
|
|
|
+ + priceRange: String
|
|
|
+ + images: File[]
|
|
|
+ + rating: Number
|
|
|
+ + capacity: Number "承载量"
|
|
|
+}
|
|
|
+
|
|
|
+' 行程提醒表
|
|
|
+class Itinerary {
|
|
|
+ + objectId: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + title: String
|
|
|
+ + startTime: Date
|
|
|
+ + endTime: Date
|
|
|
+ + reminderType: String "时间/位置"
|
|
|
+ + location: GeoPoint "位置提醒"
|
|
|
+ + notes: String
|
|
|
+ + alertLevel: String "高/中/低"
|
|
|
+ + isCompleted: Bool
|
|
|
+}
|
|
|
+
|
|
|
+' 旅行日志表
|
|
|
+class TravelJournal {
|
|
|
+ + objectId: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + title: String
|
|
|
+ + content: String
|
|
|
+ + photos: File[]
|
|
|
+ + location: GeoPoint
|
|
|
+ + weatherData: Object "温度/湿度"
|
|
|
+ + moodRating: Number
|
|
|
+}
|
|
|
+
|
|
|
+' 实时监测数据表
|
|
|
+class RealTimeData {
|
|
|
+ + objectId: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + dataType: String "客流/天气/交通"
|
|
|
+ + value: Object "动态JSON"
|
|
|
+ + location: GeoPoint
|
|
|
+ + source: String "官方/传感器"
|
|
|
+ + validity: Date "有效期"
|
|
|
+}
|
|
|
+
|
|
|
+' 安全预警表
|
|
|
+class SafetyWarning {
|
|
|
+ + objectId: String
|
|
|
+ + createdAt: Date
|
|
|
+ + updatedAt: Date
|
|
|
+ + title: String
|
|
|
+ + description: String
|
|
|
+ + severity: String "紧急/高/中"
|
|
|
+ + affectedArea: GeoPoint
|
|
|
+ + validUntil: Date
|
|
|
+ + relatedHazards: String[] "自然灾害/事故"
|
|
|
+}
|
|
|
+
|
|
|
+' 定义关系
|
|
|
+_User "1" -- "n" Itinerary : "创建"
|
|
|
+_User "1" -- "n" TravelJournal : "记录"
|
|
|
+Itinerary "n" -- "1" TouristResource : "关联"
|
|
|
+TravelJournal "n" -- "1" TouristResource : "提及"
|
|
|
+RealTimeData "n" -- "1" TouristResource : "监测"
|
|
|
+SafetyWarning "n" -- "n" TouristResource : "影响"
|
|
|
+RealTimeData "1" -- "1" SafetyWarning : "触发"
|
|
|
+Itinerary "1" -- "1" SafetyWarning : "关联预警"
|
|
|
+
|
|
|
+@enduml
|
|
|
+```
|
|
|
+
|