山东大学软件学院项目实训-创新实训-基于大模型的旅游平台 汇总(十六)

本文我们深度探索我们的数据在Mysql中的组织方式

目录

数据库UML类图

定义表结构

表关联关系

1. 酒店相关的表

2. 景点相关的表

3. 用户相关的表

4. 交通相关的表

5. 类别相关的表


我们在数据库中定义了近14张表,其中不同表之间多少存在一些相互关联。

数据库UML类图

定义表结构

以酒店表为例子,我们探索其定义的结构

  CREATE TABLE `hotels` (
    `hotel_id` varchar(50) NOT NULL,
    `hotel_name` varchar(255) DEFAULT NULL,
    `hotel_head_picture` varchar(255) DEFAULT NULL,
    `star_level_des` varchar(50) DEFAULT NULL,
    `comment_score` decimal(3,1) DEFAULT NULL,
    `comment_score_des` varchar(50) DEFAULT NULL,
    `comment_main_tag` varchar(255) DEFAULT NULL,
    `comment_count` int(11) DEFAULT NULL,
    `historical_consumer` int(11) DEFAULT NULL,
    `promote_booking` varchar(255) DEFAULT NULL,
    `hotel_address` varchar(255) DEFAULT NULL,
    `traffic_info` varchar(255) DEFAULT NULL,
    `area_name` varchar(100) DEFAULT NULL,
    PRIMARY KEY (`hotel_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8

这段SQL 命令在数据库中创建一个名为 hotels 的新表,这个表用于存储酒店相关信息。每一列的数据类型、约束和默认值都被明确的进行了定义。

  1. CREATE TABLE hotels

    SQL 命令的开始,用于创建一个新表,表名为 hotels

  2. 列定义

    每个条目定义了表中的一个字段(列),包括其数据类型和其他属性:

    hotel_id varchar(50) NOT NULL:定义一个名为 hotel_id 的字段,类型是长度为 50 的 varchar(可变长度的字符串),并且这个字段不能为 NULL(必填)。这个字段用作表的主键。

    hotel_name varchar(255) DEFAULT NULL:定义一个名为 hotel_name 的字段,类型是长度为 255 的 varchar。默认值是 NULL。

    hotel_head_picture varchar(255) DEFAULT NULL:存储酒店的头图链接或路径。

    star_level_des varchar(50) DEFAULT NULL:存储酒店的星级描述。

    comment_score decimal(3,1) DEFAULT NULL:存储酒店的评论评分,这是一个小数类型,总共3位数,其中小数点后1位。

    comment_score_des varchar(50) DEFAULT NULL:评论评分的描述。

    comment_main_tag varchar(255) DEFAULT NULL:主要的评论标签。

    comment_count int(11) DEFAULT NULL:评论的数量,类型是整数。

    historical_consumer int(11) DEFAULT NULL:记录历史消费者数量的字段。

    promote_booking varchar(255) DEFAULT NULL:推广预订的相关信息。

    hotel_address varchar(255) DEFAULT NULL:酒店的地址。

    traffic_info varchar(255) DEFAULT NULL:关于酒店周围交通的信息。

    area_name varchar(100) DEFAULT NULL:酒店所在的区域名称。

  3. PRIMARY KEY (hotel_id)

    这行指定 hotel_id 作为表的主键,确保每个酒店都有一个唯一的标识符。

  4. ENGINE=InnoDB DEFAULT CHARSET=utf8

    ENGINE=InnoDB:指定使用 InnoDB 存储引擎,这是 MySQL 中支持事务、行级锁定和外键的一种存储引擎。

    DEFAULT CHARSET=utf8:设置默认的字符集为 utf8,这支持多语言内容,是非常常用的字符编码。

我们可以在DataGrip中看到我们定义的表里面的数据:

表关联关系

1. 酒店相关的表

hotels:

存储酒店的基本信息,如名称、地址、评分等。

hotel_tags:

存储酒店的标签信息。这个表通过 hotel_id 外键与 hotels 表关联,表示每个酒店可以有多个标签。

2. 景点相关的表

sight:

存储景点的详细信息,如名称、评分、地址等。

sight_comments:

存储针对景点的评论。通过 sight_id 外键与 sight 表关联,表示每个景点可以有多个评论。

comment_images:

存储评论的图片信息。通过 comment_id 外键与 sight_comments 表关联,表示每条评论可以有多张图片。

3. 用户相关的表

t_user:

存储用户信息,如用户名、密码、电子邮箱等。

t_level:

存储用户等级信息。t_user 表通过 lid 外键与 t_level 表关联,表示每个用户都有一个等级。

t_article:

存储文章信息,如标题、内容等。它通过 author_id 外键与 t_user 表关联,表示每篇文章都有一个作者。

t_comment:

存储文章评论。通过 aiduid 外键分别与 t_articlet_user 表关联,表示每篇文章可以有多个评论,每个用户也可以发表多个评论。

t_favorite:

存储用户的收藏信息。通过 uidaid 外键分别与 t_usert_article 表关联,表示用户可以收藏多篇文章。

4. 交通相关的表

flight_ticketstrain_tickets:

分别存储飞机票和火车票的信息,如航班号、列车号、出发站和到达站等。这些表独立存在,用于记录不同类型的交通票务信息。

5. 类别相关的表

t_category:

存储文章的分类信息。t_article 表通过 cid 外键与 t_category 表关联,表示每篇文章都属于一个分类。

  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值