gpt4 book ai didi

jquery - SQL数据库设计外键

转载 作者:行者123 更新时间:2023-11-29 21:40:22 25 4
gpt4 key购买 nike

您好,我对数据库相当陌生,并且有一个设计问题。

我有一个名为“产品”的表,其中包含以下列,并存储有关产品的信息和三张相对较大的文章图片。

id = primary key
product_id = int
product_name = varchar
product_description = text
image1_name = varchar
image1_data = longblob
image2_name = varchar
image2_data = longblob
image3_name = varchar
image3_data = longblob

我的网站上还有一个 jquery 动画幻灯片元素,它应该显示五张图片,我作为网站的管理员可以选择这些图片并显示产品名称。

为此,我考虑创建第二个表格幻灯片,其中包含不超过五个条目,并且本质上指向 imagedata1、imagedata2 或 imagedata3 以及产品的 Product_name

id = primary key
product_name = product.product_name
imagedata = imagedata 1 or 2 or 3

据我所知,SQL 中没有指针。这是如何实现的?我必须改变我的设计吗?

最佳答案

对于这种情况可以有两种方法。

  1. 1nF
  2. 3nf 或 BCNF

1NF:

一张 table 和你的一样:只需添加一列来说明您产品的 slider 数量。5 列用于您的图像名称。如果您想将图像存储在数据库中,则需要另外 5 个具有 blob 数据类型的列

3 NF:

第一个表格,包含产品详细信息

 product_id = int (primary key)
product_name = varchar
product_description = text

第二张表格包含图像信息

id (primarykey)
product_id (foreign key)
slider_image_name varchar
image_sequence int
imagedata (only if you want to store image in database)
image_status (tinyint) [1 for active o for inactive]

我更喜欢以文件格式保存图像并存储完整的 url 以加载到数据库中。如果您还想通过 url 加载它,那么您可以删除 imagedata 列

3NF 或 BCNF 形式更受青睐

关于jquery - SQL数据库设计外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com