نحوه ثبت چند معنی برای یک واژه انگلیسی در دیتابیس دیکشنری
با سلام
راستش بنده قصد دارم یک سایت دیکشنری راه اندازی کنم. همونطور که میدونید اکثر کلمات انگلیسی دارای چندین معنی هستن. میخاستم بدونم چطور میشه برای یک کلمه انگلیسی چندین معنی درج کرد که تمام این واژه ها در هنگام جستجو کردن به خوبی جستجو بشن؟
دقیقا مثل سایت فست دیکشنری که تمام واژه ها چه فارسی و چه انگلیسی به عنوان یک کلمه کلیدی عمل می کنن و به راحتی سرچ میشن و در جاهایی که این کلمات بکار رفتن سریعا نمایش داده میشه
اگه امکانش هست لطفا راهنماییم کنید.
با سپاس
سلام.
میتونید یک جدول واسه کلمات بسازید. یک جدول برای معانی و جدول سوم جدول واسط هست که کلمات رو به معانی ارتباط میده.
یعنی جدول سوم دو فیلد primary key (واسه جلوگیری از تکرار ، تا یک کلمه دوبار یک معنی رو بخودش اختصاص نده) داره که فقط آیدی جدول کلمات و جدول معانی رو میگیره.
مثل این میمونه که فرضا به یک مطلب توی وبلاگ چندین تگ یا دسته بندی ، بدی.
بعنوان مثال چینش سه تا جدول:
:::vocabularies::: id | word 1 Hi 2 Example 3 Hello ======================== :::definitions::: id | definition 1 سلام 2 نمونه 3 مثال ========================= :::vocabularies_definitions::: vocID | defID 1 1 2 2 2 3 3 1
جدول واسط که جدول آخر هست ، چندین بار میشه یک معنی لغت رو به لغت های دیگه نسبت داد. در مورد primary key بودن دو فیلد vocID و defID ، از تکرار داده ی تکراری جلوگیری میکنه. یعنی وقتی یکبار داده ی vocID = 3 و defID = 1 اومده دیگه نمیذاره مجددا همین داده ها وارد بشه. یعنی vocID با مقدار 3 و defID با مقدار 1 چون قبلا وارد شده.
برای دسترسی هم باید بین جداول جوین بزنید تا به اطلاعات دسترسی پیدا کنید. بطور مثال:
SELECT
*
FROM
(vocabularies JOIN vocabularies_definitions ON vocabularies.id = vocabularies_definitions.vocID)
JOIN definistions ON vocabularies_definitions.defID = definitions.id
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .