PDA

View Full Version : مشکل با ایجاد زیر منو (option)در داده های جدول



oliya24
شنبه 03 تیر 1391, 21:48 عصر
سلام دوستان برای برنامه سازی یک ساندویچی به یک مشکل برخورد کردم که به شرح زیر هستش
ساندویچی غذاهای زیادی رو درست میکنه که مشکل بنده هم همین جاست مثلا انواع پیتزا
پیتزا=پپرونی-یونانی-فرانسوی-و... و برخی از غذاها هم حتی زیر منوهاشون زیر منو دارن
خوب اگر بخوام واسه هر غذا و زیر منوهاش هرکدوم یه جدول بسازم باید کلی جدول بسازم که این امر سبب میشه که حجم بسیاری رو از دیتابیس بگیرم
شما چه پیشنهادی دارید؟؟؟؟؟

ASKaffash
یک شنبه 04 تیر 1391, 06:42 صبح
سلام
باید از Tree استفاده کنید برای پیاده سازی Tree در بانک اطلاعاتی با یک جدول حداقل نیاز به سه فیلد دارید :
- کلید اصلی (PK)
- کلید پدر (اگر این فیلد صفر باشد یعنی Root است در غیر اینصورت یک فرزند است)
- عنوان مورد نظر (دراینجا نوع غذا)
الگوریتم ساخت درخت متناسب با زبان برنامه نویسی را باید پیاده سازی کنید

oliya24
یک شنبه 04 تیر 1391, 11:20 صبح
سلام دووست عزیز میشه خواهش کنم و یه مثال بزنید در غالب یه جدول فایلش رو به من بدید یا یک تصویر واضح و اگر این کار رو انجام دادید لطفا زیر منوها را زیاد بزارید به طوری که زیر منو هم زیر منو داشته باشه خواهش میکنم این کار رو بکنید چون خیلی گیر کردم

ASKaffash
یک شنبه 04 تیر 1391, 13:12 عصر
سلام
اینهم Script ساخت جدول و مقادیر آزمایشی :


Create Table MyTree(PK int,FK int,Caption nVarChar(200))
Create Index MyTree_PK On MyTree (PK)
Create Index MyTree_FK On MyTree (FK)
Insert Into MyTree Values(1,0,N'پیتزا')
Insert Into MyTree Values(2,0,N'ساندویچ')
Insert Into MyTree Values(3,0,N'غذای رستورانی')
Insert Into MyTree Values(4,1,N'پپرونی')
Insert Into MyTree Values(5,1,N'یونانی')
Insert Into MyTree Values(6,1,N'فرانسوی')
Insert Into MyTree Values(7,2,N'همبرگر')
Insert Into MyTree Values(8,2,N'کالباس')
Insert Into MyTree Values(9,2,N'مرغ')
Insert Into MyTree Values(10,4,N'ساده')
Insert Into MyTree Values(11,4,N'مخصوص')
Insert Into MyTree Values(12,7,N'ساده')
Insert Into MyTree Values(13,7,N'مخصوص')

با یک زبان برنامه نویسی ایجاد درخت را در سطح برنامه کاربردی پیاده سازی کنید (البته کد Recursive خواهد بود)

oliya24
یک شنبه 04 تیر 1391, 15:31 عصر
مرسی و ممنونم دوست عزیز حالا به عنوان اخرین سوال میخواستم بدونم مثلا برای پیتزا زیرمنوی پپرونی اگر بخوام برای خود گزینه ی پپرونی 2 گزینه بزارم باید چه کنم؟؟مثلا پپرونی با قارچ و پپیرونی بدون قارچ در ین مورد باید چه کنم؟؟؟ منظورم اینه که وقتی زیر منویی زیر منو دار میشه مثل مثال بالا
با تشکر ارادت مند شما

baktash.n81@gmail.com
یک شنبه 04 تیر 1391, 17:58 عصر
کلید پدرشون برابر با کلید اصلی پپرونی می شه ...

ASKaffash
دوشنبه 05 تیر 1391, 06:54 صبح
سلام
همانطور که در پست 6 دوستمون گفتند این روش ذخیره سازی درخت است و تا بی نهایت شما میتوانید زیر مجموعه داشته باشید کافیست یک ردیف ایجاد کنید و برای فیلد FK کد پدر را قرار دهید

oliya24
دوشنبه 05 تیر 1391, 16:23 عصر
میشه یه اسکریپت بدید ببخشید البته شرمندم

ASKaffash
سه شنبه 06 تیر 1391, 13:07 عصر
سلام
اینهم افزون نود به نود پپرونی :


Insert MyTree Values(14,4,N'با قارچ')
Insert MyTree Values(15,4,N'بدون قارچ')

oliya24
چهارشنبه 07 تیر 1391, 11:34 صبح
ok الان گرفتنم به کل چی شد مرسی

ASKaffash
شنبه 10 تیر 1391, 07:50 صبح
سلام
برای ایجاد درخت هم می توانید از CTE یا در لایه برنامه نویسی از Recursive استفاده کنید مثال CTE در سایت را msalim عزیز قرار داده است