سلام
دوست عزیز به نظر میرسد شما تا حالا چیزی در خصوص قوانین نرمال سازی بانک های اطلاعاتی نشنیده اید.
نام این چیزی که شما میگویید یک رابطه "یک به چند" یا ساده است!!
یا با لیست کالا ها میشود چند به چند ...
ما روابط پیچیده تری هم داریم.
شما باید سه جدول در بانکتان ایجاد کنید...
- جدول اول اطلاعات کلی خرید را ثبت میکند، کد خرید، نام و آدرس و تلفن مشتریف تاریخ و...
- جدول کالها، شامل کد کالا و نام و قیمت و توضیحات و سایر مشخصات.
- جدول سوم هم زیر اقلام خرید شامل کد خرید و کد حنس و قیمت در لحظه خرید و تعداد
کد:
Invoices Table فاکتورها
=====
ID_Invoice int <primarykey>
CustomerName nvarchar
RegisterDate smalldatetime
...
Products Table محصولات
=====
ID_Product int <primarykey>
Name nvarchar
Price int
...
InvoiceDetails Table ریز محصولات در فاکتور
=====
ID_Invoice int <primarykey>
ID_Product int <primarykey>
Price int
Qty int
...
در واقع جدول سوم فقط شامل یک سری عدد است...
که مهم ترین ان مشخص کردن جفت عدد کدفاکتور/کد کالا است که با هم مشترکاً کلید جدول هستند.
بعداً برای نمایش مقادیر به راحتی میتوانید با دستورات select-join اطلاعات را استخراج کرده و نشان دهید...
کمی فکر کنیدمتوجه خواهید شد...
با پیاده سازی دقیق روابط یک به چند هم نمایش اطلاعات در جداول آسان تر میشود و هم میتوانید یک کالا و یا بینهایت کالا را ثبت کنید بدون اینکه در هیچ مورد نگران کمبود یا هدر رفتن فضا باشید.
(تازه خود مشتریها هم میتوانند عضو شوند و..)
موفق باشید.