小编zam*_*eer的帖子

这是使用主键和外键将父表和子表与逻辑数据而不是父表链接的正确方法吗

我有两个表,一个是 product,它是一个带有一个主键的父表,我有另一个产品的子表,它是一个 product_details 表。但是子表使用逻辑数据而不是外键与父表(产品)链接,因为我们在编码端的java代码的帮助下建立这种关系,而不是依赖于数据库,这使得它变得紧密夫妇。为了避免表之间的紧密耦合,我们将主键值存储在子表中。

请参考这张图片,其中包含在产品和产品详细信息表之间创建逻辑关系的数据。

在此处输入图片说明

脚本是:

CREATE TABLE `tbl_product` (
  `product_id` varchar(200) NOT NULL,
  `product_details_id` varchar(200) DEFAULT NULL,
  `currency` varchar(20) DEFAULT NULL,
  `lead_time` varchar(20) DEFAULT NULL,
  `brand_id` varchar(20) DEFAULT NULL,
  `manufacturer_id` varchar(150) DEFAULT NULL,
  `category_id` varchar(200) DEFAULT NULL,
  `units` varchar(20) DEFAULT NULL,
  `transit_time` varchar(20) DEFAULT NULL,
  `delivery_terms` varchar(20) DEFAULT NULL,
  `payment_terms` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



 CREATE TABLE `tbl_product_details` (
  `product_details_id` varchar(200) NOT NULL,
  `product_id` varchar(200) DEFAULT NULL,
  `product_name` varchar(50) DEFAULT NULL,
  `landingPageImage` varchar(100) DEFAULT …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-key database-design primary-key

1
推荐指数
1
解决办法
802
查看次数

标签 统计

database-design ×1

foreign-key ×1

mysql ×1

primary-key ×1