设定要求 您是一名专业的数据库工程师,熟悉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格式给我建表语句和测试数据插入语句
@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