Database Diagrams

19/07/2013

אין תגובות

את דרכי בתחום בסיסי הנתונים התחלתי ב-MS Access לפני קרוב ל-20 שנה.
כשהתקדמתי כעבור מספר שנים ל-SQL Server – עברתי "הלם תרבות" לאחר שגיליתי שנדרשת עבודה הרבה יותר מקצועית ושליטה בכתיבת SQL: באקסס יש הרבה אשפים שמאפשרים לעשות כמעט הכל ללא כתיבת קוד SQL, ויתר על כן – ממשק ה-SQL שם הוא כה לא נוח שגם מי ששולט היטב ב-SQL יתקשה להסתדר איתו.
מה רבה הייתה הפתעתי כשגיליתי שיש אנשי SQL Server שכותבים משפטי Select – כולל Joins, Group By, Where וכו' – כפי שאני כותב את הפוסט הזה.. כמובן שכיום גם אני עושה זאת עם יד אחת קשורה מאחורי הגב, אבל לא בכך באתי לעסוק אלא ב-Database Diagrams: כשעברתי ל-SQL Server חשבתי שזו המקבילה של הממשק הגרפי בו יוצרים באקסס קשרים בין הטבלאות, אך מהר מאוד הבנתי שזה אחד הכלים שאיש כמעט אינו משתמש בהם. באיחור קל אני חוזר לכלי הזה כדי לברר למה זה טוב..
קודם כל- הפתעה לטובה: מדובר בכלי ידידותי, וטוב יותר מזה של האקסס. ניתן ליצור בו טבלאות ולהציג טבלאות קיימות, ולהגדיר ולהציג יחסי תלות בינהן. אם לא די בכך – ניתן ליצור מספר דיאגרמות שבכל אחת טבלאות אחרות, ובכך למנוע את "תסמונת הספגטי" שנוצר כשיש הרבה טבלאות והרבה תלויות בינהן, וגם לאפשר לכל משתמש לראות את הטבלאות עליהן יש לו הרשאות.
מבחינה זו – יתכן ודווקא המנתחים והמאפיינים ימצאו בו עניין, וכיחקרו יחסי תלות בין טבלאות בדטבייס שאינו מוכר להם – יוכלו לעשות זאת בדיאגרמות.
הכלי פשוט ואינטואיטיבי, אבל לטובת הפעורים שביננו – אני מתעד בקצרה כמה דוגמאות.

נתחיל מדוגמה ליצירת שתי טבלאות המקושרות ביחס של 1:N שלא עושה שימוש בדיאגרמות,
לאחר מכן נעשה אותו הדבר בדיאגרמה באופן גרפי,
ולבסוף נוסיף לדיאגרמה את מה שיצרנו ידנית:

Create Table A2(ID_A2 Int Primary Key);

Go

 

Create Table B2(ID Int Identity Primary Key,

                ID_A2 Int,

                Constraint FK_ID_A2 Foreign Key(ID_A2) References A2(ID_A2));

Go

שתי טבלאות כאשר A2 בצד ה-1 ו-B2 בצד הרבים.

כעת ניצור דיאגרמה, ניצור בה שתי טבלאות כנ"ל, ונקשר בינהן:

clip_image002

משמאל לימין ומלמעלה למטה (במציאות לא רואים את כל זה בבת אחת וזה נוצר תוך כדי):

שורה עליונה- יצירת דיאגרמה חדשה (בדיאגרמה הראשונה הפעולה מוסיפה לדטבייס מספר פרוצדורות מערכת הקשורות לדיאגרמות), יצירת טבלה חדשה (קליק ימני, New Table: A1), הוספת Identity לעריכת הטבלה (קליק ימני ו-Midify Custom), שינוי התצוגה ל-Custom, והגדרת עמודה כמפתח ראשי (Set Primary Key).

שורה שניה – יצירת טבלה חדשה (קליק ימני, New Table: B1) וקישורה ל-A1 (גרירת העמודה שבצד הרבים למפתח הראשי בצד ה-1).

רק לאחר ששומרים את הדיאגרמה – הפעולות שביצענו (יצירת הטבלאות וקישור בינהן) יתבצעו.

לדיאגרמה ניתן להוסיף טבלאות קיימות (קליק ימני + Add Table), והן יתווספו עם הקישורים בינהן:

clip_image004

בנוסף, כפי שניתן לראות בתפריט שמתקבל על ידי קליק ימני, ניתן להוסיף הערות, לעצב וכו'.

בסה"כ כלי נחמד וקל לשימוש למי שזקוק לתרשים ERD.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *