سلام
من میخوام ارتباط بین جداول دیتابیس در مامبو ببینم به چه صورت است . ایا برنامه ای هست که این ارتباط رو نشون بده ؟
من میخوام یک مهندسی معکوس انجام بدم تا کمی مهارتم در طراحی برنامه های تحت وب بیشتر بشه ، شما چه روشی رو پیشنهاد میکنید؟

سلام
من میخوام ارتباط بین جداول دیتابیس در مامبو ببینم به چه صورت است . ایا برنامه ای هست که این ارتباط رو نشون بده ؟
من میخوام یک مهندسی معکوس انجام بدم تا کمی مهارتم در طراحی برنامه های تحت وب بیشتر بشه ، شما چه روشی رو پیشنهاد میکنید؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
ممنون. ولی اینو من قبلا از اینجا :[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] دیده بودم.
من میخوام بدونم در php myadmin از کجا میشه به این relation ها پی برد؟ در کدوم نرم افزار میشه این ارتباط بین جداول رو مشاهده و ادیت کرد؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
ارتباط بین جداول الزاما طوری نیست که از phpmyadmin مشخص بشه.
چون طراحی پایگاه داده صرفا در جداول دیتابیس خلاصه نمی شه. بلکه برقراری ارتباط به کد ها هم بر می گرده.
در هر صورت، اصل وجود ارتباط در این فایل مشخص شده. شما باید وجود ارتباط رو در جداول پیدا کنید.
مثلا در جدول #__contents فیلدی هست برای مشخص کردن شناسه مجموعه و در جدول #__categories فیلدی برای مشخص کردن شناسه مجموعه.
هر طور بخوام توضیح بدم، تا با مقدمات پایگاه داده آشنایی نداشته باشید، متوجه این موضوع نخواهید شد.
توصیه می کنم کتاب بانک اطلاعات علمی کاربردی، دانشگاه علم و صنعت، دکتر مصطفی حق جو رو مطالعه کنید.
این بهترین راهی هست تا درک مناسبی از پایگاه داده پیدا کنید.
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
من با مفاهیم اولیه پایگاه داده مثل ارتباط جداول - inner , outer join - نرمالیزه کردن جداول و ... تا حدودی آشنا هستم.
ولی میخوام در عمل بدونم چطوری این ارتباط بین جداول ایجاد میشه؟ یعنی میخواستم بدونم مراحل ایجاد یک برنامه ی تحت وبی که با دیتابیس کار میکنه (مثل مامبو) به چه صورت هست ؟
آیا ابتدا جداول دیتابیس و ارتباط هاشون طراحی میشن ؟ به نظر شما بهترین کتاب برای درک عمیق و فراگیری برنامه های تحت وب دیتابیسی چه کتابیست ؟ من الان مجموعه ای عظیم از کتابهای PHP MySQL و ASP.NET SQL Server رو دانلود کردم ولی نمیدونم از کجا شروع کنم و اول چی رو بخونم.
برای اینکه بشه درک عمیقی از برنامه ای مثل مامبو داشت بهتر هست از کجا شروع کنم؟ :-\
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
اگر با این مفاهیم آشنایی داشته باشید، این مسئله باید برای شما کاملا روشن باشه !
اگر منظورتون دیتابیس هست که راهنمایی کردم. اما اگر منظورتون مراحل ساخت برنامه هست که موضوع فرق می کنه.
فرآیند طراحی دیتابیس رو در همون کتاب به خوبی شرح داده. من توصیه می کنم به جای اینکه 100 کتاب دانلود کنید و هیچ دومش رو نخونید، به کتابفروشی یا کتابخانه مراجعه کنید و یک کتاب رو بگیرید و نه 100 بار، بلکه حداقل یکبار بخونید !
[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
سلام
دوست عزیز این بحث کمی تخصصی هست
در database اول ببین میخوام چه دیتا بیسی را کار کنی برای مثال mysql که مامبو و ... الان دارند استفاده می کنند
بین mysql چند موتور یا ماشین برای ذخیره و بازیابی اطلاعات داره که innodb , myisam است .
اما تفاوت این هست که innodb کلید خارجی و کلا ارتباط های قوی بین جداول را پشتیبانی می کنه ولی myisam این کار نمیتوانه انجام بده یا خلاصه تر بگم امکانات ارتباطی کمتری داره ولی از سرعت پردازش بالایی برخورددار است بنابراین
اکثر برنامه های تحت وب مانند cms ها از این موتور استفاده می کنند
اما جواب اصلی شما پس دنبال ارتباطات در cms ها نگرد چون بیشتر از کلید اصلی استفاده می کنند و برای بهبود جستجو و ارتباط بین جداول از زبان برنامه نویسی مانند php استفاده می کنند یعنی در جدول متن برای این که بگن برای کدام موضوع هست یک فیلد برای شماره یا همان id اصلی موضوع در جدول متن می سازند تا با خود زبان php در آن ذخیره می کنند و ازکلید خارجی خبری نیست .
در صورتی که طراحی نرم افزار این کار رو خود دیتابیس با کلید خارجی انجام میده .
و البته در cms ها چیز هایی که ممکنه جستجو بشه را index می کنند تا سرعت بهبود پیدا کنه. ( فیلد هایی که در شرط where قرار میگیرند را فهرست میکنند)
من را ببخشید جسارت کردم اگر جاهایی را اشتباه گفتم انشاالله اساتید تصحیح کنند
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
درست می فرمایید.
من همین همین موضوع رو عنوان کردم، (البته امکان تعریف foreign key هم هست)بیشتر از کلید اصلی استفاده می کنند و برای بهبود جستجو و ارتباط بین جداول از زبان برنامه نویسی مانند php استفاده می کنند یعنی در جدول متن برای این که بگن برای کدام موضوع هست یک فیلد برای شماره یا همان id اصلی موضوع در جدول متن می سازند تا با خود زبان php در آن ذخیره می کنند و ازکلید خارجی خبری نیست
منتها این دوستمون گفته بودند که با Innerjoin و ... آشنایی دارند. راستش من نمی دونم اگر با تلفیق آشنایی دارند، پس چه چیزی رو من باید توضیح بدم!
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
ممنون ولی پستی که جناب رجبی دادند هنوز برام کمی گنگه.یعنی عملا نمیدونم چطوری میشه در PHP این کار رو کرد.
به نظرتون کدوم منبع رو بهتر هست مطالعه کنم تا کاملا با نحوه ی بازیابی و ذخیره ی محتوا در جداول دیتابیس در برنامه های تحت وب آشنا بشم؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
سلام گنگ نیست
برای مثال یک جدول داریم با این فیلد ها
id : primary
name
حالا یک جدول داریم با این فیلد ها
id : primary
name
topic-id
description
جدول اول اسمش topic و بعدی post
وقتی می خواهیم اطلاعات وارد post کنید باید id مربوط به موضوع آن پست را در فیلد topic-id نگر داریم پس قبلش لیست از تمام موضوع ها تهیه میکنیم
بعد این در فرم در قسمتی میخوام قرار میدیم و وقتی پست میشه id موضوع ما در topic-id گذاشته میشه .
پس ما در دیتابیس ارتباطی تعریف نکردیم بلکه در محیط برنامه نویسی این را گنجاندیم.
تابع select_data هم کارش انتخاب جدوال هست.کد:<p>سرویس : <select name="service" id="sevice" > <option value="<?php echo $row['id'];?>" title="<?php echo $row['name']; ?>"><?php echo $row['name']; ?></option> <?php $data=data_select("service","all",0); while ($row=mysql_fetch_array($data)) { if ($row['id']==$session['service']) continue; ?> <option value="<?php echo $row['id'];?>" title="<?php echo $row['name']; ?>"><?php echo $row['name']; ?></option> <?php } $data=data_select("teeth",$session['teeth'],0); $row=mysql_fetch_array($data); ?> </select> </p>
این هم یک نمننه کد بالا میره محتوایات جدولی را میخوانه و id آنرا در فرم قرار میده تا وقتی پست شد در جدول دیگر قرار بگیره.
امیدوارم که خوب توضیح داده باشم.
یا علی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
علاقه مندی ها (Bookmarks)