MYSQL וטבלאת IOT
אני עושה בסיס נתונים של שירים. פיצלתי את המידע לשתי טבלאות, היות ולכל שיר יכולים להיות כמה מלחינים. עשיתי גם טבלאת IOT שמקשרת בין שני השירים. טבלאת SONGS: name lyrics written_by טבלאת ARTISTS id name טבלאת IOT song_id composer_id performer_id טבלאת הIOT מחזיקה את החיבור בין הID של השיר לבין הזיהוי של המבצע והמלחין (שנמצאים בטבלאת ARTISTS). הבעייה מתחילה כשאני רוצה לחפש את כל השירים שכתב או הלחין או ביצע אלטון ג'ון. קודם אני הולך לחפש מה הID של אלטון ג'ון בטבלאת ARTISTS אח"כ אני הולך לחפש את כל השירים שהוא הלחין או ביצע בטבלאת IOT ומוציא ממנה רשימה של SONG_ID ובנוסף אני הולך לחפש את כל השירים שהוא כתב להם את המילים בטבלאת SONGS. עכשיו יש לי ערימה של SONG_ID ואני צריך על כל אחד מהם לעשות SELECT נפרד בשביל למצוא את שמות השירים בטבלאת הSONGS. קיצר - יש פה ים של שאילתות בשביל למצוא רשימה מסכנה. יש דרך לקצר את זה או לחילופין לתכנן את הDB בצורה יותר חכמה?
אני עושה בסיס נתונים של שירים. פיצלתי את המידע לשתי טבלאות, היות ולכל שיר יכולים להיות כמה מלחינים. עשיתי גם טבלאת IOT שמקשרת בין שני השירים. טבלאת SONGS: name lyrics written_by טבלאת ARTISTS id name טבלאת IOT song_id composer_id performer_id טבלאת הIOT מחזיקה את החיבור בין הID של השיר לבין הזיהוי של המבצע והמלחין (שנמצאים בטבלאת ARTISTS). הבעייה מתחילה כשאני רוצה לחפש את כל השירים שכתב או הלחין או ביצע אלטון ג'ון. קודם אני הולך לחפש מה הID של אלטון ג'ון בטבלאת ARTISTS אח"כ אני הולך לחפש את כל השירים שהוא הלחין או ביצע בטבלאת IOT ומוציא ממנה רשימה של SONG_ID ובנוסף אני הולך לחפש את כל השירים שהוא כתב להם את המילים בטבלאת SONGS. עכשיו יש לי ערימה של SONG_ID ואני צריך על כל אחד מהם לעשות SELECT נפרד בשביל למצוא את שמות השירים בטבלאת הSONGS. קיצר - יש פה ים של שאילתות בשביל למצוא רשימה מסכנה. יש דרך לקצר את זה או לחילופין לתכנן את הDB בצורה יותר חכמה?