زمان کنونی: ۲۹ آذر ۱۴۰۳, ۱۱:۳۶ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

عملگر تقسیم

ارسال:
  

zr2358 پرسیده:

عملگر تقسیم

سلام
میشه یکی لطف کنه و این دستورات رو که برای r/s هست رو دیکد کنه؟
خیلی پیچیده اس. اگه کسی بلده یه توضیحی روی این کد بده
کد:
(select A,B from r)
Except
(with r1 (A,B) as
select A,B
from r
with r2 (A,B,C,D) as
select *
from r1,s
select A,B
from (r2 except r(
)
این with‌ها چکار می کنند؟
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

bijibuji پاسخ داده:

عملگر تقسیم

ببینید یکم پیچیده است آره، اما به ترجمه فارسی اش دقت کنید راحت می شه:

A تقسیم بر B یعنی:
تمامی رکوردهای جدول A رو درنظر بگیر و از اونها یه سری رکورد رو حذف کن
کدوم رکوردها رو؟ اونهایی که با تک تک رکوردهای Bمتناظر نیستن.

حالا چطوری این کارو می کنه؟
فرض کنید جدول A دو فیلد R و S داره و جدول B فقط یک فیلد S

A [R,S] / B [S] = A [R] - {(A [R] x B [S]) - A [R,S]} [R]

قسمت به قسمت، فرمول بالا رو می خوام بگم:

۱-
A [R,S] / B [S]
صورت مسأله

۲-
A [R]
فیلد غیر مشترک ® بین دو جدول‌، حاوی همه رکوردهای موجود در جدول A

۳-
(A [R] x B [S])
تمامی حالات ممکن از ترکیب فیلد غیر مشترک در جدول A با فیلد مشترک در جدول B

۴-
A [R,S]
در این مرحله‌، کل رکوردهای (سطرهای) جدول A رو از مقدار محاسبه شده در مرحله قبل کم می کنیم. حاصل اش، یه سری رکورد هست که هر حالت ترکیب ممکن بین دو جدول است که در جدول A موجود نیستن. اینها رکوردهایی هستن که در در اونها R به ازای همه S‌ها ظاهر نشده

۵- در مرحله آخر کافیه‌، این مقدار رو از کل رکوردهای جدول A کم کنیم و روی ستون غیر مشترک تصویر اش کنیم
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

zr2358 پاسخ داده:

عملگر تقسیم

خیلی ممنون بابت پاسختون
مگه در تفریق نباید دو جدول سازگار باشند؟
A [R] - {(A [R] x B [S]) - A [R,S]}
اینجا A[R] یک ستون R داره ولی جواب داخل آکولاد دو ستون R و S چرا؟
دوم اینکه قسمت * در کدهای بالا که نوشتم کجاست؟
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

bijibuji پاسخ داده:

عملگر تقسیم

خواهش می کنم
بله همینطوره و در اینجا هم این قاعده نقض نشده
دقت کنید که بعد از اون ضرب و تفریق اش با a کل این جدول روی ستون R اش تصویر شده بعد از ستون R در جدول A کم شده

------------------

در پاسخ اولین سوال تون که این with‌ها چه می کنند، باید گفت که اینها برای تخصیص نام جدید به حاصل پرس و جو هستند.

------------------

اون قسمتی هم که ستاره زدید یعنی:

with r2 (A,B,C,D) as
select *
from r1,s

برابر با این قسمته:

([A [R] x B [S])
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تقسیم برای محاسبه کد افزونه چرخشی (CRC) Sanazzz ۴ ۷,۰۰۶ ۲۰ آذر ۱۳۹۷ ۰۱:۱۸ ب.ظ
آخرین ارسال: Sanazzz
  شبکه معنایی تقسیم شده در هوش rezahe73 ۰ ۱,۳۰۹ ۱۷ دى ۱۳۹۶ ۰۴:۰۹ ق.ظ
آخرین ارسال: rezahe73
  تقسیم افراد به دو تیم ss311 ۲ ۱,۹۰۶ ۱۲ دى ۱۳۹۶ ۱۱:۵۷ ب.ظ
آخرین ارسال: ss311
  تقسیم در جبر رابطه ای Ella ۱ ۲,۳۱۴ ۲۸ آذر ۱۳۹۶ ۱۲:۰۰ ق.ظ
آخرین ارسال: Ella
  عملگر semigroup چیست؟ H-Arshad ۰ ۱,۳۶۲ ۱۵ دى ۱۳۹۵ ۰۶:۰۷ ب.ظ
آخرین ارسال: H-Arshad
  سوال از روش تقسیم و غلبه kamal3401 ۳ ۵,۷۵۲ ۱۱ خرداد ۱۳۹۵ ۰۲:۴۴ ق.ظ
آخرین ارسال: Behnam‌
  جدول تقدم عملگر ها hadi72345 ۲ ۳,۷۷۴ ۲۵ فروردین ۱۳۹۵ ۱۰:۳۳ ب.ظ
آخرین ارسال: dariush.fathi
  زبان های منظم تحت عملگر minus5 منظم است؟ Pure Liveliness ۲ ۱,۹۲۷ ۱۴ فروردین ۱۳۹۵ ۰۱:۲۷ ب.ظ
آخرین ارسال: Pure Liveliness
  عملگر نامگذاری مجدد shirin0101 ۲ ۱,۴۴۵ ۲۶ دى ۱۳۹۴ ۱۲:۰۰ ق.ظ
آخرین ارسال: good arman
  تقسیم در جبر رابطه ای iCanDoIt ۳ ۳,۳۵۴ ۰۸ دى ۱۳۹۴ ۰۱:۱۹ ب.ظ
آخرین ارسال: iCanDoIt

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close