מערכות בסיסי נתונים, אלגברה של היחסים

yael800

New member
מערכות בסיסי נתונים, אלגברה של היחסים

היי התחלתי קורס מערכות בסיסי נתונים, אלגברה של היחסים. (ממ"ן ראשון של הפתוחה) אני מנסה להבין איך לעשות את שאלה 3 סעיף ד'. הבהרה לסעיף זה: לגבי מועד הפרסום - מכיוון שהנתון היחיד הוא שנה, "פורסם בין לבין" זה אומר בשנה שגדולה מאחת וקטנה מהשניה. לפי זה, במצב שאושרית מתארת, שיש שני מאמרים באותה שנה ומאמר שלישי בשנה קודמת - המאמר השלישי יענה על התנאי עם כל אחד משני המאמרים האחרים. אנחנו יכולים להניח שהשנה מזהה את מועד הפרסום באופן מוחלט, כך ששני מאמרים שפורסמו באותה שנה כאילו פורסמו באותו תאריך. בנוסף, שאלה 4 ממש קשה לי להבנה, אשמח לכל עזרה. המון המון תודה מראש :)
 

yael800

New member
פליזזזזזזזזזזז HELP

עם שאלה 4 ושאלה 2ב+ג המשך שבת מקסימה, יעל.
 

just me222

New member
4-ב

זה למצוא מקסימום. זה אנלוגי ללמצוא את המינימום. יש במדריך דוגמא לאיך מוצאים מינימום. זה בדיוק זה רק להתאים ליחסים שלך. זה בעמוד 36 דוגמא 2.33. תקראי שם את הדוגמא, תביני אותה, ואז תביני איך עושים את 4 ב. (לכל מקרה: הרעיון בגדול זה לעשות מכפלה קרטזית של היחס עם עצמו. נסמן את הביטוי למרחק ב-d (כלומר d שווה לשורש סכום ריבועי ההפרשים של הקורדינטות). ועכשיו על המכפלה הקרטזית את לוקחת את תנאי הבחירה שבו ה-d מהיחס הראשון גדול מה-d ביחס השני, ואת זה את שומרת ע"י השמה בתת שאילתה שנקראת temp למשל. מה temp יחזיק? שורות שבהן האורך (d) ביחס הראשון גדול מה-d של היחס השני. כלומר, בצד ימין יהיו לך כל האורכים שיש מישהוא שגדול מהם- לכן אלא בדיוק כל האורכים שאת לא צריכה- את צריכה את כל האורכים שאין מישהוא גדול מהם. לכן את צריכה לשלוף את הקטעים של צד ימין, ואותם להחסיר מכלל הקטעים שיש).
 

yael800

New member
האם אני יכולה להתייחס אל הנוסחא של האורך

פשוט כ D? אז אם כן, התשובה היא משהו כזה?
H e1.edge_id (e1.d > e2.d (rename e1(edge) * rename e2(edge))) --------------> temp H edge_id (edge) - temp​
עם סעיף א אני ממש תקועה..אוף איזה ממ"ן, וזה עוד הראשון
 

just me222

New member
לא, את לא יכולה להתייחס כ-d

אבל זה לא מהווה בעייה: פשוט תכתבי במקום הD את ההגדרה כפי שהם נתנו בסוגריים. זה לא משנה. D זה רק שיהיה קל להבין ... אבל בהתחלה את צריכה לשלוף את העמודה של e2 כי אנחנו מחפשים מי לא המקסימום. את שלפת את מי לא המינימום. אז תשלפי את e2. ואז זה נראה לי טוב, אבל תבדקי שוב על כל מקרה...
 

yael800

New member
ממ וואי תודה!

H e1.edge_id (e1.d < e2.d (rename e1(edge) * rename e2(edge))) --------------> temp H edge_id (edge) - temp​
d הוא שורש של (x1-x2) בריבוע + (y1-y2) בריבוע כאן הבעיה, איך אני מחשבת את הנוסחא הזו בשפה הזו? אני לא יכולה להשאר עם ה D?
 

yael800

New member
לגביי 4

לגביי 4א: H = פאי >< = צירוף טבעי
((e1 >< s1)* (e2 >< s2)* (e3 >< s3))​
ואז משווים את הצלעות (אם הן מקיימות את המשולש) ופה הסתבכתי ועכשיו אני צריכה 4ב: מציאת המרחק - הסתבכתי עם זה..
sigma p1.id = p2.id (edge * p1 * p2) --------> HELP​
HELP * HELP ?
 

just me222

New member
הממן לא כזה מסובך אחרי ששולטים בכל ההגדרות

והדוגמאות במדריך. הנה, 4 ב הוא בדיוק מקביל לדוגמא שנתנו במדריך... חשוב להבין אותו טוב טוב
 

just me222

New member
2-ב

אני לא רוצה "לגלות לך". אני רוצה שתנסי להבין לבד. יש בה בעצם חיתוך של עמודות B C בשני היחסים. אסור לך צירוף וחיתוך. מה נשאר: מכפלה קרטזית, הטלה, בחירה, חילוק ואולי שכחתי משהוא. תנסי להתרכז בפעולות האלה ולתרגם את מה שחיתוך עושה. מה החיתוך דורש בעצם? איזה תנאי חייב להתקיים? תנסי לבדוק האם תוכלי לתרגם את התנאי הזה לתנאי בבחירה, ומאיזה יחס תצטרכי לבדוק את הדרישה הזאת? טוב תנסי להשיב על השאלות האלה ותעדכני אותי איך הולך.
 

yael800

New member
איך הגעת לכך ש

יש בה בעצם חיתוך של עמודות B C בשני היחסים? איפה החיתוך? האם אני הגעתי לתשובה?
H b,c(sigma r.b = s.b and r.c = s.c and r.a = s.a (r * s))​
 

just me222

New member
יש פה צירוף טבעי

על שני יחסים בעלי אותה תבנית. וכפי שאמרתי לך במקרה כזה הצירוף הטבעי נותן חיתוך. תקראי טוב את עמוד 32 במדריך. ובלי קשר- לחרוש על המדריך לחרוש על המדריך לחרוש על המדריך עד ששולטים בכל מה שכתוב בו. את בכיוון , אך זה עדיין לא נכון. את עשית חיתוך על התבנית- כלומר על העמודות A B C. אבל את צריכה רק חיתוך על B C. ככה את "מפסידה ערכים". שימי לב טוב טוב על מה מתבצע החיתוך. למשל r A B C 1 2 3 S A B C 1 2 7 בביטוי שהם נתנו התוצאה של זה תיתן את 2 1. והתוצאה שלך תתן שאילתה ריקה. תחשבי איך לתקן את זה. אבל הכיוון נכון, פשוט חסר פה תיקון קל. בהצלחה
 

just me222

New member
כן, יפה מאוד.

אבל שאת שולפת את צריכה לכתוב את שם היחס ממנו שלפת. כלומר s.c s.b (או עם r, לא משנה.)
 

just me222

New member
2-ג

השלב הראשון הוא קודם כל להבין מה השאילתה מוצאת. לכל קלט שהוא, מה היא מחזירה? דרך טובה לעשות זאת היא לנסות לצייר את היחסים ומה יוצא. בצהוב- החלק הראשון של השאילתה. בכחול- החלק השני. מה התקבל פה? איך ניתן לנסח זאת עם הדרישות שניתנו לך? בהצלחה אי אפשר לצרף פה קבצים, אז את הקובץ אשלח לך במסר.
 

just me222

New member
נכון מאוד.

נסי להבהיר לעצמך מדוע. זה כאילו חילקנו לשני מקרים: במקרה הראשון זה העמודה C ב-R שהיא גם ב-S. במקרה השני זה העמודה C ב- R שהיא לא ב-S. ואז לכל ערך ערך של C או שהוא במקרה השני או שהוא במקרה הראשון, אבל כולם בעצם ישתתפו.
 

ailag

New member
../images/Emo46.gif../images/Emo46.gif../images/Emo46.gifאת חוצפנית, את יודעת?

אני עבדתי קשה לעזור לך ולהדריך אותך בפורום השני http://www.tapuz.co.il/tapuzforum/main/Viewmsg.asp?forum=193&msgid=119167478 ובמקביל פה אנשים עבדו קשה לעזור ולהדריך אותך - ובעצם סתם הוצאנו אנרגיה ועשינו עבודה כפולה. אבל את לא טרחת אפילו לקשר בין ההודעות כדי להקל עלינו ולמנוע עבודה כפולה. זה כל כך מעצבן להתקל באנשים כמוך באינטרנט.
 
למעלה