একাধিক রূপ / বৈশিষ্ট্যযুক্ত পণ্যগুলির জন্য স্কিমা ডিজাইন?


11

আমি মাইএসকিউএল ব্যবহার করছি। ধারণাটি ভিন্ন ধারণার সাথে শপাইফ করার অনুরূপ, তাই ব্যবহারকারীরা তাদের নিজস্ব পণ্যগুলি একাধিক ধরণের রূপ এবং বৈশিষ্ট্য যুক্ত করতে চলেছেন।

আমি যে সমস্ত গবেষণা করেছি তা থেকে আমার পক্ষে সম্ভবত এটি সমাধান সমাধান এবং আমি কেবল ভাবছি যে নীচের স্কিমাতে কোনও সমস্যা আছে এবং উত্সাহ / ডাউনসাইডগুলি কী?

ধন্যবাদ

Table: products
------------------------------
| ID | ProductName           |
|----------------------------| 
| 1  | Leather Wallet Case   |
| 2  | Jeans                 |
| 3  | Power Bank            |



Table: products_variants
-------------------------------
| ID | ProductId | ParentId | Variant  | VariantName | SKU  | StockTotal | WholeSalePrice | BuyPrice | OnSale | OnSalePrice |
|---------------------------------------------------------------------------------------------------------------------------|
| 1  | 1         | null     | model    | iPhone5     | SKU  | 10         | 3              | 10       | null   | null        |
|---------------------------------------------------------------------------------------------------------------------------| 
| 2  | 1         | null     | model    | iPhone4     | null | null       | null           | null     | null   | null        |
| 3  | 1         | 2        | color    | Red         | SKU  | 10         | 3              | 10       | null   | null        |     
| 4  | 1         | 2        | color    | Blue        | SKU  | 10         | 3              | 10       | null   | null        |     
|---------------------------------------------------------------------------------------------------------------------------|
| 5  | 2         | null     | size     | M           | null | null       | null           | null     | null   | null        |
| 8  | 2         | 5        | color    | Black       | SKU  | 10         | 3              | 10       | null   | null        |
| 9  | 2         | null     | size     | XXL         | SKU  | 10         | 3              | 10       | null   | null        |
| 10 | 2         | 9        | material | Cotton      | null | null       | null           | null     | null   | null        |
| 11 | 2         | 10       | color    | Red         | SKU  | 10         | 3              | 10       | null   | null        |
| 12 | 2         | 10       | color    | Blue        | SKU  | 10         | 3              | 10       | null   | null        |
| 13 | 2         | 9        | material | Casmir      | null | null       | null           | null     | null   | null        |
| 14 | 2         | 13       | color    | Green       | SKU  | 10         | 3              | 10       | null   | null        |
| 15 | 2         | 13       | color    | Brown       | SKU  | 10         | 3              | 10       | null   | null        |    
|---------------------------------------------------------------------------------------------------------------------------|
| 13 | 3         | null     | null     | null        | SKU  | 10         | 3              | 10       | null   | null        |

1
'ইভ' ট্যাগে ক্লিক করুন।
রিক জেমস

আমি একটি পূর্ণ EAV সমাধানে আগ্রহী নই। আমি এটি যে পরিকল্পনাটি তৈরি করেছি তা EAV এর কিছু ধারণা ব্যবহার করে তবে পুরোপুরি নয়।
লেসান্দ্রু

উত্তর:


5

এটি কেবলমাত্র সেলসান্ডু জবাব থেকে প্রাপ্ত তথ্য, আমি সত্যিই এটি খুব দরকারী বলে মনে করি, তাই তার কাছে কৃতিত্ব এবং @ এসএলমাইডু

আপনার সমস্যার জন্য সাধারণীকরণ প্রয়োগ করা সমাধান হিসাবে দেওয়া হয়েছে। দৌড়াতে এবং এটিকে ফিডল এ দেখুন

বেহালা

CREATE TABLE products 
    (
     product_id int auto_increment primary key, 
     name varchar(20), 
     description varchar(30)

    );

INSERT INTO products
(name, description)
VALUES
('Rug', 'A cool rug'  ),
('Cup', 'A coffee cup');

create table variants (variant_id int auto_increment primary key,
                       variant varchar(50)
                       );
insert into variants (variant)
values ('color'),('material'),('size') ;   
create table variant_value(value_id int auto_increment primary key, 
                           variant_id int ,
                           value varchar(50)
                           );

insert into variant_value (variant_id,value)
values (1 ,'red'),(1 ,'blue'),(1 ,'green'),
        (2 ,'wool'),(2 ,'polyester'),
        (3 ,'small'),(3 ,'medium'),(3 ,'large');



create table product_Variants( product_Variants_id int  auto_increment primary key,
                            product_id int,
                            productVariantName varchar(50),
                            sku varchar(50),
                            price float
                            );




create table product_details(product_detail_id int auto_increment primary key,
                             product_Variants_id int,

                             value_id int
                             );

insert into product_Variants(product_id,productVariantName,sku,price)
values (1,'red-wool' ,'a121',50);

insert into product_details(product_Variants_id , value_id)
values( 1,1),(1,4);

insert into product_Variants(product_id,productVariantName,sku,price)
values (1,'red-polyester' ,'a122',50);

insert into product_details(product_Variants_id , value_id)
values( 2,1),(2,5);


2

একাধিক ধরণের পণ্যগুলির জন্য ডেটাবেস স্কিমা

সমাধানটি এখানে রয়েছে: http://www.codingblocks.net/pramramming/datedia-schema- for- বহুগুণ- টাইপ- for- প্রোডাক্ট /

এখানে চিত্র বর্ণনা লিখুন


হ্যালো @ ক্যাও ফং, যেখানে পণ্য পরিমাণ হ্যান্ডেল হবে? যে পণ্যগুলির কোনও বৈকল্প নেই, তারা সম্ভবত পণ্য টেবিলে এটি পরিচালনা করতে পারে, তবে যে পণ্যগুলির বৈকল্পিক রয়েছে সেগুলি সম্পর্কে কীভাবে?
কোডেনজা

1
হ্যালো কী, যদি রঙ, আকার, বা উপাদান বা এর কোনও সংমিশ্রণের মতো গুণাবলী
দামকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.