97
יייייי ייייי ייייי יייייי י"י ייייי יייVersion 1.2 ייייי ייייייי

מערכות ניהול בסיסי נתונים

  • Upload
    armani

  • View
    90

  • Download
    10

Embed Size (px)

DESCRIPTION

מערכות ניהול בסיסי נתונים. ד"ר שמעון כהן Version 1.2 הקריה האקדמית. מטרות הקורס. להבין את הצורך במערכת לניהול בסיסי נתונים להכיר את התיאוריה והמודלים השונים להבין את מבנה ודרכי העבודה של מערכת לניהול בסיס נתונים ללמוד לתכנן בסיסי נתונים "נכונים"/"שלמים" באנגלית Consistent - PowerPoint PPT Presentation

Citation preview

Page 1: מערכות ניהול בסיסי נתונים

מערכות ניהול בסיסי נתונים

ד"ר שמעון כהןVersion 1.2

הקריה האקדמית

Page 2: מערכות ניהול בסיסי נתונים

מטרות הקורס

להבין את הצורך במערכת לניהול בסיסי נתונים• והמודלים השונים התיאוריהלהכיר את •להבין את מבנה ודרכי העבודה של מערכת לניהול בסיס •

נתונים ללמוד לתכנן בסיסי נתונים "נכונים"/"שלמים"•

Consistentבאנגלית –

עם מערכת לניהול בסיסי נתוניםעובדיםלהבין כיצד •(Delete( , מחיקה )Change( , שינוי )Insertהכנסת נתונים )– לביצוע שאילתות )הוצאת ידע מהנתונים(SQLשפת –

Page 3: מערכות ניהול בסיסי נתונים

מבנה המצגתעבורמבוא 1.עבורניתוח ועיצוב 2.עבורהמודל הטבלאי 3.עבוראלגברה טבלאית 4.

Page 4: מערכות ניהול בסיסי נתונים

החומר לפי סדר החשיבות:דברי המרצה בכיתה1.השקפים2." של רז SQLספר "בסיסי נתונים טבלאיים ושפת 3.

הייפרמן(Linksחומר באינטרנט דרך קשרים )4.

חומר הקורס

Page 5: מערכות ניהול בסיסי נתונים

פרקים לקורס מהספר של רז הייפרמן

א19מושגי יסודב78ניתוח ועיצוב

ג3.3150 עד 3.1, 2, 1 סעיפים: רקמודלים קלאסים– ד208מודל טבלאי - מבוא

ה226מודל טבלאי – אלגברה טבלאיתו246(8, 6 כולל סעיפים לא )SQLמודל טבלאי – שפת זQBE310מודל טבלאי – שפת

, 6.1, 6, 4, 3, 2, 1 סעיפים: רקמודל טבלאי - נושאים מתקדמים - ח9325, 8

ט353מערכות מבוזרות

Page 6: מערכות ניהול בסיסי נתונים

מפגשים:פתיחה ומבוא )פרק א(1.המשך מבוא )פרק א(2.ניתוח מודל נתונים )פרק ב(3.ניתוח מודל נתונים )פרק ב(4.מודלים )פרק ג וקצת פרק ד(5.מודל טבלאי )פרק ד(6.אלגברה טבלאית/רלציונית )פרק ה(7. )פרק ו(SQLשפת 8. "לפי דוגמא" )פרק ז( QBEשפת 9.

תיאוריה – תלויות )קצת מפרק ב(10.

תיאוריה – עיבוד מקבילי )קצת פרק 11.א(

מודל טבלאי מתקדם )פרק ח( 12.

נושאים מתקדמים )פרק ט(13.

מבנה הקורסמטלות:

[ ניתוח מודל נתונים4]1.

[ ייצור בסיס נתונים ושאילתות 8]2.

[ תיאוריה11]3.

Page 7: מערכות ניהול בסיסי נתונים

נושא ===== מבוא

פרק א בספר

Page 8: מערכות ניהול בסיסי נתונים

נתוני הארגון

:לכל ארגון משאבים שונים, אחד מהם הוא•( שבהםInformation( והמיידע )Dataהנתונים )–

מחלקת המיידע/המחשוב מטפלת בנתונים•נותנת שירותים לארגון וללקוחות שלו–

של "כל" הנתונים ניסיון למחשוב )דיגיטציה(•צילומים, דפים, טפסים–

Page 9: מערכות ניהול בסיסי נתונים

הארגון

הנהלה

מחקר ופיתוח

מחלקת המיידענתונים

ייצור כספים כוח אדם שיווקלוגיסטיקהומכירות

לקוחות

Page 10: מערכות ניהול בסיסי נתונים

מטרות הארגון בטיפול בנתוניםלכל הנתונים )למי שמותר( ( מהירהAccessibilityנגישות )•ניצול הקשרים בתוך הנתונים •(Data Securityבטחון הגישה לנתונים )•עדכון במקום אחד )מניעת סרבול בעדכון(•(Duplicationsחסכון במקום, מניעת כפילויות )•חסכון בפיתוח תוכנה•בטחון הקיום של הנתונים•(Data Integrityשלמות הנתונים )•( Parallelאפשרות לעבודה במקביל )•(Distributedאפשרות לעבודה באופן מבוזר )•קלות בתחזוקה )שדרוג הגדרות/מחשבים/דיסקים/תוכנה(•

Page 11: מערכות ניהול בסיסי נתונים

תפקידי מערכת ניהול בסיסי נתונים

ניהול הנתונים בצורתם הגולמית )פיזית על •הדיסק(

מתן שירותי תוכנה שיתנו תוקף למטרות•

Page 12: מערכות ניהול בסיסי נתונים

משתמשי מערכת ניהול בסיסי נתונים

המשתמשים: (Database Administratorמנהל בסיס הנתונים )•

תוכנה לניהול–(End Usersמשתמשי קצה )•

ממשקים לתוכנה חיצונית לשימוש במיידע )הכתובה בשפת תכנות(–C++, Java, VB, Cobolשפות: •(API: Application Program Interfaceממשקים )•

היא אובייקט )קופסא שחורה( ש:DBMSמערכת ה מנהלת את עצמה ואין למשתמש אפשרות להתערב, אלא...• שהיא מגדירהאפשר להגיש למערכת בקשות דרך ממשק •

Controlled Accessנקרא: –

Page 13: מערכות ניהול בסיסי נתונים

בסיס נתונים הגדרה:(DB: Data Base )בסיס נתונים

אוסף של סוגי נתונים שונים הקשורים ביניהם בקשרים לוגים•

דוגמא:נתונים: מרצים, סטודנטים, קורסים, מבחנים, ציונים, עבודות•קשרים:•

מרצה מלמד בקורס–סטודנט לומד בקורס–בחינה שייכת לקורס במועד מסויים–תלמיד ניגש לבחינה–התלמיד מקבל ציון בבחינה–

Page 14: מערכות ניהול בסיסי נתונים

הגדרה: מערכת לניהול בסיסי נתונים

מערכת לניהול בסיסי נתוניםDBMS: Data Base Management Systemבאנגלית: •מערכת תוכנה המנהלת בסיס נתונים ומאפשרת גישה •

למספר רב של יישומים שונים בו זמנית

VB, Access, PowerBuilder יישומים פרטיים/ביתיים:–חברות ואינטרנט–

•Oracle, MS SQL Server, Sybase, Informixחשיבות בסיסי נתונים בעולם עיבוד הנתונים / התוכנה?–

חברת אורקל היא חברת התוכנה השניה בגודלה בעולם ולה "רק" •מוצר אחד.

Page 15: מערכות ניהול בסיסי נתונים

הגדרה: מחולל יישומים(Applications Generator )מחולל יישומים

:סביבת פיתוח המשלבת את כל הרכיבים הדרושים לפיתוח יישום מלא•(Script Languageשפת תכנות / שפת סקריפט )–שירותי עריכה )התכנית, מסכים, תפריטים ...(–הרצת היישום–ניהול הפרויקט–מערכת בסיס נתונים–

++Access, Power Builder, VB, VC למטרות כלליות:•ERPמיוחד לצורכי ארגון – מערכת •

–SAP, Baan, MRP

Page 17: מערכות ניהול בסיסי נתונים

DBMSמודל כללי של

נתוניםנתוניםנתונים

סכמה פנימית

סכמה

תת סכמהתת סכמהתת סכמה

יישוםיישוםיישום יישום

תוכנת בקרה

32ספר עמ

Page 18: מערכות ניהול בסיסי נתונים

הגדרה: סכמה פיזיתסכמה פיזית: תאור המבנה הפיזי של הנתונים

Physical Schema באנגלית:כלומר:

(Storage Devicesאיפה נמצאים הנתונים )•קבצים בהם נמצאים הנתונים/מיקום על הדיסק•צורת הארגון של הנתונים •באינדקסיםשימוש •

Page 19: מערכות ניהול בסיסי נתונים

סכמה פיזית:סכמה פיזית

Page 20: מערכות ניהול בסיסי נתונים

הגדרה: אינדקסאינדקס: מבנה נתונים המאפשר גישה מהירה למבנה נתונים אחר לפי

שדה/ות מסוים/ים

F לפי שדה B הוא אינדקס של טבלה Aנאמר: •אינדקס לטבלת הסטודנטים לפי מספר תעודת זהות–אינדקס לטבלת הסטודנטים לפי מספר סטודנט–אינדקס לטבלת הסטודנטים לפי שם משפחה ושם פרטי–

Hash Table, 2-3צורה פנימית של אינדקס: עץ בינרי, עצי •)Log2)N גישה ב Nמאפשר גישה מהירה = במקום •למשל •

צעדים500 איש ללא אינדקס בממוצע 1000חיפוש בטבלה של – צעדים10 איש עם אינדקס בממוצע 1000חיפוש בטבלה של –חיפוש בטבלה של מיליון איש ללא אינדקס בממוצע חצי מליון צעדים– צעדים20חיפוש בטבלה של מיליון איש עם אינדקס בממוצע –

Page 21: מערכות ניהול בסיסי נתונים

אינדקס - מבנה פיזי

545

789

845

932

321

567

811

212

278

178

Page 22: מערכות ניהול בסיסי נתונים

הגדרה: סכמה הנתונים, הקשרים ביניהם כלסכמה: התיאור הפורמלי המלא של

והאילוצים הקיימים עליהם.Schema, Conceptual Schema, Global View באנגלית:

התיאור – "נתונים על הנתונים" נמצא גם בבסיס הנתונים•הפורמלי – לא כפוף לסכמה הפיזית )למשל: אוסף של טבלאות(•מלא – טבלאות, שדות קשרים, אילוצים וכל הפרטים עליהם.•כל – אין מקום אחר לחפש בו הגדרות ...•( – מאפשרים הוצאת מיידעRelationsקשרים )•( – למשל: איזה ערכים מותרים בשדות, קיום Constraintsאילוצים )•

Storedישויות, פרוצדורות פנימיות לשמירה על שלמות הנתונים )Procedures)

Page 23: מערכות ניהול בסיסי נתונים

הגדרה: תת סכמה תת סכמה: תאור ייחודי של סכמת הנתונים

Local View, Sub Schema, External View באנגלית:

תאור ייחודי•טבלאות–טבלאות וירטואליות )"ככה אני רוצה לראות את זה"(–

איחוד נתונים ממספר טבלאות•חלק מהטבלאות, חלק מהשדות מבט חלקי:–(Computedשדות בפועל )שם אחר( או שדות מחושבים )–

- בנוי על טבלה/הטבלאות הקיימותשל סכמת הנתונים•

למשל תוכנית לטיפול בספר הטלפונים של החברה:טבלה עם שם העובד, מספר חדר, מספר טלפון פנימי•בסכמה: טבלת עובד עם הרבה שדות, טבלה של מספרי טלפונים•

Page 24: מערכות ניהול בסיסי נתונים

תהליך ההגדרה

סכמותתת סכמותאינדקסים

הגדרת הנתונים

הגדרת הסכמה הפיזית

הגדרת תת סכמה

הגדרת סכמה

38ספר עמ

הרשאות

Page 25: מערכות ניהול בסיסי נתונים

הגדרה: קטלוג הנתוניםקטלוג הנתונים: כל מרכיבי התיאור של בסיס הנתונים

, Data Catalog, Meta-Data באנגלית: I3 ואפשר גם:I2: Information about the Informationאפשר גם:

מאפשר לתוכנה לגשת (I1נתונים )•( – I2) לתיאור הנתונים•

דוקומנטציה של המערכת– שייצר את ההגדרות "אוטומטית"(Caseהגדרות )למשל כלי –שינוים: כותרות, גודל, מבנה–

( I2) על מנת שהתוכנה תדע לקרוא את תיאור הנתונים•)בדרך כלל( היא כמו לנתונים רגילים הגישה לתיאור הנתונים–(I3היא צריכה לדעת כיצד הם בנויים )–

(Self-definedאומרים ש: בסיס הנתונים מגדיר את עצמו )•

Page 26: מערכות ניהול בסיסי נתונים

DBMSעקרון הפעולה של

קטלוגנתוניםנתונים

FMSמערכת ניהול הקבצים

יישום

תוכנת בקרה

41ספר עמ

שטח תקשורת

שטח עבודה

Buffer

Page 27: מערכות ניהול בסיסי נתונים

הגדרה: אי תלות פיזית

אי תלות פיזית: היכולת לבצע שינויים במבנה הפיזי של הנתונים מבלי לשנות את תכניות היישום

העברת הנתונים לדיסקים אחרים•מבנה הקבצים והגישה לרשומות•יצירת אינדקסים חדשים•(Blocks ) ( רשומות לגושיםClusteringקבוץ )•הנתונים, שיכפול ( distributed database)ביזור •

(Duplication)

46ספר עמ

Page 28: מערכות ניהול בסיסי נתונים

הגדרה: אי תלות לוגית

אי תלות לוגית: היכולת לבצע שינויים במבנה הלוגי של הנתונים מבלי לשנות את תכניות היישום

הוספת שדות•שינוי סדר השדות•הוספת טבלאות•יצירת קשרים בין טבלאות•

אפשר לבצע שינויים במבנה "המערכת תומכת באי תלות פיזית/לוגית אם נאמר:•הפיזי/לוגי של הנתונים מבלי לשנות את תכניות היישום"

--- אלו שמאפשרים את ה"קסם" הזהDBMSמערכת ה התוכנה = התיאורים )סכמות( +–יש לזה מחיר בביצועים )מהירות החישוב( "יעני מסורבל"–46ספר עמ בתחזוקה !!!כבדאם המערכת לא נותנת אי תלות אז יש לזה מחיר –

Page 29: מערכות ניהול בסיסי נתונים

יתרונות המערכת

(Data Sharingשיתוף הנתונים )•(Data Integrityאמינות הנתונים )•(Data Availabilityזמינות הנתונים )•סטנדרטיזציה•גמישות•(Data Securityאבטחת הנתונים )•(Concurrent Access ) עבודה בו זמנית•עבודה מבוזרת•

68ספר עמ

Page 30: מערכות ניהול בסיסי נתונים

חסרונות המערכת(Complexity)סיבוכיות •

Oracle, Microsoft, IBMשל יצרני המערכת – "בעיה“–(performanceביצועים )•

פיזי, לוגי, מבט מחיר יקר לעבודה עם התיאורים השונים:–( יתכן ונבנה משהוא מיוחד )מאוד יקר(Time-Criticalביישומים רגישים לזמן )–

עלות •רכישה, יישום, הטמעה, תחזוקה–

משאבי חומרה•דורש הרבה זמן חישוב –לא תמיד יעיל באחזקת הנתונים על הדיסק –

רגישות לתקלות•בימים אלה לא ממש...–

68ספר עמ מורכבות שחזור•

Page 31: מערכות ניהול בסיסי נתונים

נושא ===== ניתוח ועיצוב מודל הנתונים

פרק ב בספר

Page 32: מערכות ניהול בסיסי נתונים

כיצד נגיע לסכמה?צריך תהליך של ניתוח ועיצוב )הבנת הבעיה ותכנון הפתרון(

Page 33: מערכות ניהול בסיסי נתונים

תהליך הבניה של בסיס נתונים

ניתוח ועיצוב מודל הנתונים:(Requirementsהבנת הדרישות )1.

סיפור מעשה )בלשון פשוטה / מובנת ללקוחות(1.

( Conceptual Modelיצירת המודל תפישתי )2.של מנתח המערכת1.מובן לבני אדם )אפשר להציג ללקוחות(2.ללא תלות בסכמה הלוגית )מערכת מסוימת( ובסכמה הפיזית3.

תכנון הסכמה הלוגית )עיצוב(3.

תכנון הסכמה הפיזית4.

Page 34: מערכות ניהול בסיסי נתונים

של ביתהבניהתהליך

מה עושה הארכיטקט?מבין את דרישות הלקוח1.מכין מודל ממוחשב/קרטון/שרטוט2.

אייך יראה הבניין 1.

מה יהיה בכל חדר2.

לוודא ש:3.אני מבין מה הלקוח רוצה 1.הלקוח מבין שאני מבין מה הוא רוצה 2.

מכין שרטוטים לקבלן3.יסודות / קורות / חשמל / מיים1.

Page 35: מערכות ניהול בסיסי נתונים

הדרך מפה לשםמצד אחד הלקוחות, מצד שני בסיס הנתונים

ובאמצע המתכנןארכיטקט

Page 36: מערכות ניהול בסיסי נתונים

הגדרה: מודל )בעברית "דגם"(

"תאור מקורב של ישות"תאור – •

פיסי – קרטון, שולחן חול, מפה, אב טיפוס–מסמך – הסבר, שרטוט–

מקורב – •יותר קרוב = יותר פרטים, קשה לבנות, קשה להבין–יותר רחוק = ...–

ישות – עצם פיסי, תהליך•פיסי: מחשב, בית, שטח, מכונית–תהליך – מערכת, כיצד עובד המחשב, כיצד נוסעת המכונית–

Page 37: מערכות ניהול בסיסי נתונים

מודל נתונים הגדרה:

:)M)S,C,Oמודל נתונים מורכב משלושה חלקים –Structureמבנה הנתונים

קבוצות של עצמים / ישויות•כולל התכונות של כל ישות–

קשרים בינם•

–Constraintsאילוצים לכל סטודנט מספר מזהה יחיד•100 ל 0ציונים תמיד בין •

–Operatorsפעולות על הנתונים (Informationלהפקת מיידע )•

81ספר עמ

Page 38: מערכות ניהול בסיסי נתונים

קבוצה הגדרה:

אוסף של עצמים, כל עצם מיוצג על ידי שורה קבוצה:(Tuple)של ערכים

)Tuple: )a1,a2,a3,a4תיאורטית (,Moshe, Levy,178,79,17887מעשית שורה בטבלה: )

87ספר עמ

Page 39: מערכות ניהול בסיסי נתונים

מושגים והגדרות

קבוצה סופית / אין סופית•חבר בקבוצה•קבוצה ריקה•תת קבוצה / קבוצה חלקית•

זיהוי החברים בקבוצה על פי–תנאי לוגי•(Enumerationקריאה בשם )•

קבוצות זרות•

87ספר עמ

Page 40: מערכות ניהול בסיסי נתונים

פעולות על קבוצות

B וקבוצה Aקבוצה B יחד עם אלו ב Aאיחוד – אלו ב •B וגם ב Aחיתוך – רק אם נמצא גם ב •B שלא נמצאים ב Aהפרש – אלו ב • ביחס לכל העצמים)Ac )Complementמשלים •

Aכל אלו שאינם ב – )או מכפלה קרטזית(A x B קבוצת המכפלה:•

Bוהשני מ Aיצירת קבוצה מסוג חדש ובה זוגות = אחד מ –

87ספר עמ

Page 41: מערכות ניהול בסיסי נתונים

יחסים בין קבוצות

יחס – מושג מתורת הקבוצות• קבוצותN" הוא כאשר מכפילים N"יחס בממד • מגדיר תת קבוצה של המכפלה1:1יחס •

ולהפך B יש קשר רק לאחד מ Aלכל אחד מ –A יש "חבר" ב B"חלקי" אם לא לכל אחד ב –

מגדיר תת קבוצה של המכפלהN:1יחס •, להפך רק אחדB יש מספר "חברים" ב Aלכל אחד ב –

מגדיר תת קבוצה של המכפלהN:Mיחס • יש מספר "חברים" בקבוצה השניהB או Aלכל אחד ב –

87ספר עמ

Page 42: מערכות ניהול בסיסי נתונים

מה בין מודל נתונים לתורת הקבוצות?

:)M)S,C,Oמודל נתונים מורכב משלושה חלקים –Structureמבנה הנתונים

של עצמים / ישויותקבוצות•כולל התכונות של כל ישות–

קשרים בינם•

–Constraintsאילוצים לכל סטודנט מספר מזהה יחיד :קשרים•100 ל 0ציונים תמיד בין •

–Operatorsפעולות על הנתונים על קבוצה בודדת ובין קבוצותפעולות•

81ספר עמ

Page 43: מערכות ניהול בסיסי נתונים

שלב בבניה: הבנת הדרישות

סיפור המעשה מכסה את הנושאים הבאים:הלקוח / החברה1.הפעילות בחברה2.תפקיד המערכת הבעיות שהיא צריכה לפתור3.משתמשי במערכת, וכיצד ישתמשו בה )כללי(4.הישויות במערכת והקשרים בינן5.( Use Casesהשימוש )פירוט( במערכת )6.

)טקסט( שממנו נרצה להמשיך הלאהסיפורזה לזכור:

Page 44: מערכות ניהול בסיסי נתונים

דרישות ספר טלפונים –

סיפור פשוט של מערכת פרטית:אני הלקוח:1.קשר עם החבריםהפעילות – 2.תפקיד המערכת הבעיות שהיא צריכה לפתור3.

לזכור את כל הפרטים על החברים1.

לרכז את הכל במקום אחד2.

לאפשר לי למצוא במהירות כתובות וטלפונים3.

פרטים אישים חיפוש לפי קריטריונים שונים:4.

משתמשי במערכת, וכיצד ישתמשו בה )כללי(4.רק אני אשתמש, כיצד )ראה "תפקיד המערכת"(1.

Page 45: מערכות ניהול בסיסי נתונים

דרישות – ישויות ספר טלפונים –

הישויות במערכת והקשרים בינן5.המערכת צריכה לזכור את פרטי האנשים: שם פרטי, שם

משפחה, מין, הערה, כתובת ומספרי טלפון. השמות יכולים תווים. 20להיות בעברית או באנגלית ואורכם לא יעלה על

לכל אדם כתובת אחת הכתובת כוללת את שם העיר, שכונה, רחוב, מספר בית, מספר דירה, קומה, זיפ-קוד

טלפון, סלולארי, זימונית לכל אדם כמה מספרי טלפונים כוללים:מספרהכל מספר כולל קידומת ו

Page 46: מערכות ניהול בסיסי נתונים

דרישות – שימוש א ספר טלפונים –

(Use Casesפרוט השימושים במערכת )6.עדכון אנשים•

הכנסה ועדכון של רשימות האנשים עם כל הפרטים •שלהם, המערכת תבדוק אם יש כבר אדם כזה ותאפשר

להכניס מספר אנשים עם אותו שם.לכל בן אדם אפשרות לרשום טלפון אחד או יותר•

Page 47: מערכות ניהול בסיסי נתונים

דרישות – שימוש ב ספר טלפונים –

(Use Casesפרוט השימושים במערכת )6.חיפוש נתונים של אדם•

חיפוש לפי שפה )עברית או אנגלית( ואחר כך אלפון )לפי אות( שיראה את •האנשים ששם משפחתם מתחיל באות מסוימת או טווח של אותיות.

חיפוש לפי ארץ ועיר•חיפוש לפי קריטריון כללי על ערכים: פירטי האדם, פירטי הכתובות והטלפונים•התשובה לחיפוש יכולה להיות קבוצה של אנשים•

Page 48: מערכות ניהול בסיסי נתונים

דרישות ספר טלפונים מורכב –

סיפור פשוט של מערכת פרטית:אני הלקוח:1.קשר עם החברים/לקוחות שליהפעילות – 2.תפקיד המערכת הבעיות שהיא צריכה לפתור3.

לזכור את כל הפרטים על החברים1.

לרכז את הכל במקום אחד2.

לאפשר לי למצוא במהירות כתובות וטלפונים3.

פרטים אישים, סוג הקשר חיפוש לפי קריטריונים שונים:4.

משתמשי במערכת, וכיצד ישתמשו בה )כללי(4.רק אני אשתמש, כיצד )ראה "תפקיד המערכת"(1.

Page 49: מערכות ניהול בסיסי נתונים

דרישות – ספר טלפונים מורכב –ישויות

הישויות במערכת והקשרים בינן5.המערכת צריכה לזכור את פרטי האנשים: שם פרטי, שם משפחה, מין, הערה,

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

פרטי, שכירות, הורים, משרד לכל אדם בדרך כלל כתובת אחת אבל לפעמים יותר:הכתובת כוללת את שם העיר, שכונה, רחוב, מספר בית, מספר דירה, קומה, זיפ-קוד

טלפון בכתובת, סלולארי, לכל אדם כמה מספרי טלפונים בארץ ובעולם וכוללים:זימונית

מספר, מספר השלוחההכל מספר כולל את הארץ, קידומת עיר, מספרי טלפון יכולים לכלול ספרות, אותיות, סימני פיסוק ורווחים

הייתי רוצה לתחזק ברשימות את: הארצות, הערים והקידומות שלהם בזמן השימוש אוכל לבחור ולהימנע מתקתוק כל פעם מחדשכדי ש

Page 50: מערכות ניהול בסיסי נתונים

ספר טלפונים מורכב – שימוש א

(Use Casesפרוט השימושים במערכת )6.עדכון רשימות•

הכנסת רשימות של ארצות, ערים וקידומות – אני רוצה לראות איזה •כבר יש לי ולהכניס רק חדשים. אני רוצה שיהיו ממוינים לפי הארץ

ואחר כך להכניס עיר ולעדכן קידומת של סוגי אנשים וסוגי כתובת (Decodingהכנסת רשימות )"פענוח" •

עדכון אנשים•הכנסה ועדכון של רשימות האנשים עם כל הפרטים שלהם, המערכת •

תבדוק אם יש כבר אדם כזה ותאפשר להכניס מספר אנשים עם אותו שם.

Page 51: מערכות ניהול בסיסי נתונים

ספר טלפונים מורכב – שימוש ב

(Use Casesפרוט השימושים במערכת )6.חיפוש נתונים של אדם•

חיפוש לפי שפה )עברית או אנגלית( ואחר כך אלפון )לפי אות( שיראה את •האנשים ששם משפחתם מתחיל באות מסוימת או טווח של אותיות.

חיפוש לפי ארץ ועיר•חיפוש לפי קריטריון כללי על ערכים: פירטי האדם, פירטי הכתובות והטלפונים•התשובה לחיפוש יכולה להיות קבוצה של אנשים•

Page 52: מערכות ניהול בסיסי נתונים

יצירת המודל תפישתי שלב בבניה:

(:Conceptual Modelהתפישתי ) יצירת המודל( וקבוצות של ישויותEntitiesהגדרת הישויות )1.( של הישויותAttributesהגדרת התכונות )2.(Relationsהגדרת הקשרים )3.שרטוט דיאגרמת הישויות והקשרים4.

ERD – Entity Relation Diagramבאנגלית: –

96ספר עמ

Page 53: מערכות ניהול בסיסי נתונים

הגדרה: ישות = עצם

ישות / עצם: משהו ולו ידע מחלקה/קבוצה של עצמים – הגדרה של אוסף עצמים

בעלי אותן תכונות והמצייתים לאותם חוקים.

ישות שהמערכת תזכור את תכונותיה ישות במודל נתונים:

96ספר עמ

Page 54: מערכות ניהול בסיסי נתונים

המודל התפישתי - ישויות

זיהוי ישויות )מהדרישות( – מטוס, צק/המחאה, טלפון, עירעצם1. – קורס, מבחן, הזמנהעצם מופשט2. - לקוח, ספק, מורה, תלמידבעל תפקיד3. – טיסה, נפילת מתח, מכירהאירוע4. – הגדרה, תאור או סטנדרטפרוט5.

הגדרה של בוגר תואר1.

הגדרה של תכונות מכונית2.

96ספר עמ

Page 55: מערכות ניהול בסיסי נתונים

מבחן לזיהוי ישויות

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

אפשרות לפיצול למספר סוגים )עץ ירושה(– האם הישות היא יותר מתכונה–

-משקל, -מס תעודת זהות, ?כתובת, ?מספר טלפון, +בן אדם–האם מופיע המילה "או" בהגדרה–

אם ההבדל בערך של תכונה אז לא ממש משנה–האם הגדרנו על ידי רשימה–

96ספר עמ

Page 56: מערכות ניהול בסיסי נתונים

המודל התפישתי - תכונות

( שהתכונה יכולה Domainלכל תכונה מרחב ערכים )לקבל

הגדרה על ידי רשימה1.

הגדרה על ידי טווח ערכים2.

הגדרה על ידי כלל/תכונה3.

הגדרה על ידי טבלת פענוח4.

הגדרה על ידי דמיון לתכונה אחרת5.

אפשר שילוב של ההגדרות –

98ספר עמ

Page 57: מערכות ניהול בסיסי נתונים

המודל התפישתי – סוגי התכונות

סוגי התכונות:שמית – שם פרטי, שם משפחה1.מספר תעודת זהות, מספר חבר מזהה – באופן יחיד למשל:2.התייחסות – מזהה קשר לישות אחרת3.תיאורית – מתארת תכונה של הישות4.

(Keyמפתח ) תכונות המזהות את הישות באופן יחידיותראחת או 1.אי אפשר לסלק אף שדה מבלי לפגוע בתכונה הקודמת 2.

חשוב: יתכנו מספר מפתחות שונים לישות

98ספר עמ

Page 58: מערכות ניהול בסיסי נתונים

המודל התפישתי – תכונות לתכונות

תכונות לתכונות:מספרי, טקסטואלי, בולאני )כן/לא(, אובייקט )תמונה, סוג התכונה:•

הקלטה...(( = נוסחה המבוססת על תכונות אחרותComputedשדה מחושב )•

תכונה "גיל" מחושבת מהתכונה "תאריך לידה" למשל:–

(Mandatory/Optionalאופציונלי/חובה )•(Nullאם אופציונלי = אפשרות לערך ריק )–(Default Valueאם חובה = אפשרות לערך "ברירת מחדל" )–

תחום )ערכים מותרים ( •

Page 59: מערכות ניהול בסיסי נתונים

המודל התפישתי – תכונות לתכונות

תכונות לתכונות:לערך טקסטואלי = מותר/אסור ערך של שדה באורך אפס•

"שם פרטי"=אסור, "תאור כללי"=מותר שרשרת באורך אפס–

פורמט להצגה, דיוק עשרוני )למספרים(•תבנית להקלדה•(Captionכותרת לתכונה להצגה )• או יותר(64K, עד 255אורך )לשדה טקסטואלי = ברור? = עד •

,Byte, Integer, Long, Singleלשדה מספרי = נקודה צפה?, טווח +/- )–Double)

כי!!! הם אלו שיודעים את התשובות בשלב הניתוח, כברחשוב לדעת מהלקוחות

Page 60: מערכות ניהול בסיסי נתונים

מלון נתונים - תכונות

נכין טבלה ובה השדות )* סימן לחובה(שם התכונה *1.סוג התכונה * 2.

•(T ,טקסט=M 128=טקסט ארוך מ ,N ,מספר=B ,בולאני=E)רשימה=דומה לשדה אחר3.כותרת לתכונה להצגה *4.אורך *5.

=מספר צף גדולD=נקודה צפה, F=שלם גדול, I=32000, L 127=עד Bמספרים: •מותר/אסור ערך של שדה באורך אפס *•פורמט להצגה )חובה למספרים(•תבנית להקלדה•תחום )ערכים מותרים ( *•

Page 61: מערכות ניהול בסיסי נתונים

מלון נתונים - ישויות

שם הטבלה ומתחת רשימת השדות שם התכונה * )בדרך כלל כשם תכונה במילון הנתונים הכללי(1.דומה לתכונה אחרת )ראה מלון הנתונים הכללי של התכונות(2.תכונה מחושבת – הנוסחה לחישוב מתכונה אחרת )תכונות(3.אופציונלי/חובה * - האם חייב להיות לו ערך ? )טקסטואלי(4.אפשרות ל"עלות" על שאר התכונות5.

Page 62: מערכות ניהול בסיסי נתונים

2תכונות לתכונות – כיצד נרשום

נכין טבלה כללית של כל התכונות בכל הישויות•נכין לכל ישות טבלה ובה התכונות של הישות•

שימוש ב"דומה לשדה"–( = מיוחד לשדה Overrideאפשרות ל"ערך עולה" )–תפקיד התכונה בישות–

(PK: Primary Keyשדה מפתח עיקרי )•(FK: Foreign Keyשדה התייחסות )לישות אחרת( )•

Page 63: מערכות ניהול בסיסי נתונים

הגדרה - קשר

קשר: יחס בין אובייקט/ים מקבוצה אחת לאובייקט/ים מקבוצה אחרת )או אפילו אפשרות לאותה קבוצה(

96ספר עמ

Page 64: מערכות ניהול בסיסי נתונים

המודל התפישתי – סוגי הקשרים

אונרי )רפלקסיבי(1. אדם ב"הורה של הואלמשל: "אדם א • תיקיה במכילה את( Directoryתיקיית א )•

בינרי2. ספריםכותב קורסים, סופר מלמדמרצה למשל:•

טרינרי3.פרויקטל הפריט מספק את ספק •סרטב התפקיד משחק אתשחקן •

96ספר עמ

Page 65: מערכות ניהול בסיסי נתונים

המודל התפישתי – קשרים על תנאי

(Conditionalלעיתים הקשרים הם על תנאי )כלומר: לא כל ישות מהקבוצה )א או ב( משתתף בקשר

ארץ הבירה של עיר1.לכל ארץ עיר בירה אבל לא כל עיר היא עיר בירה1.

ספרים משאיל הסטודנט2.

Page 66: מערכות ניהול בסיסי נתונים

המודל התפישתי – "עוצמת" הקשר

(Cardinalityעוצמת הקשר )שונה מכל כיוון נקרא( סוגים באופן כלליFunctionality)

.11:1

.21:N.3N:M

כאשר משתמשים בגבולות עליון ותחתון נקראCardinality

105ספר עמ

Page 67: מערכות ניהול בסיסי נתונים

המודל התפישתי – "עוצמת" הקשראפס מבטא על תנאי

מספר קשרים בין ישויותמאותן קבוצות

מרצה בשנת שבתון לא מלמד אף קורס

רבים לרבים

103ספר עמ

ארץ בירה עירשל

(1,1)(0,1)

קורס מלמדמרצה(1,1)(0,N)

אדם הורה אדםשל

(0,2)(0,N)

ספר כתבסופר(1,N)(0,N)

ארץ חלק מישוב(1,N)(1,1)

Page 68: מערכות ניהול בסיסי נתונים

המודל התפישתי – קשר משולש

אפס מבטא על תנאי

מרצה שנת שבתון

יחס אונרי

105ספר עמ

סרט משחק שחקןב

(0,N)

(0,N)

תפקיד

(0,N)

Page 69: מערכות ניהול בסיסי נתונים

(Sub Entityתת ישות )

הגדרה: ישות א נקראת תת ישות של ישות ב" אם קיום א תלות קיומית( תלוי בקיום ב )קוראים לזה גם:

לקוחהזמנה חלק מ(1,1) (0,N)

הצד עם ראש החץ המלא הוא הצד של הישות הראשית

הזמנהפריט חלק מ(1,1) (0,N)

נרצה לזכור את נתוני הפריט כי הם חשובים גם אם לא חלק :לא !!! תת ישותמהזמנהיש נתונים שצריך לזכור על הקשר מעניין:

Page 70: מערכות ניהול בסיסי נתונים

המודל התפישתי – תכונות הקשר

תכונות הקשר:כמות•מחיר/הנחה •

הזמנהפריט חלק מ(1,1) (0,N)

בדומה לתיאור תכונות הישות = נרשום טבלה המתארת את תכונות הקשר

Page 71: מערכות ניהול בסיסי נתונים

המודל התפישתי – תלות בזמן

יש יחסים התלויים בזמן למשל "עובד ב"השאלה שנשאל את עצמנו:

האם חשוב לנו לזכור את ההיסטוריה של הקשר בזמן? •אם כן:•

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

(N,1( === )0,1קשר ללא היסטוריה )•מתאריך עד תאריך ( ותכונות לקשר:N( === )1,N,0קשר )•

Page 72: מערכות ניהול בסיסי נתונים

קשר – איך נזהה ?

זיהוי הקשר: הכלה/חלק מ•

ב"בעל של ב", א כולל את ב" "א הוא חלק מ"א הוא כמו במשפט:– ב אחד"חלק מ א הוא כל" תלות קיומית:–

פעולה / אינטראקציה• ב", פעל על/ב/עם/את"א כמו במשפט:–

"הטייס מטיס את המטוס", "הרוכב רכב על הסוס", הנהג נהג במכונית"•

Page 73: מערכות ניהול בסיסי נתונים

(IS-Aקשר "סוג של" )

נקרא גם:(Inheritance ) קשר ירושה•(Type – Sub/Typeקשר סוג – תת סוג )•

הגדרה: נאמר שישות מקבוצה א היא סוג של ישות מקבוצה ב אם לישות א כל התכונות של ישות ב, ואולי יותר.

לעתים אותן תכונות אבל קשרים אחרים•

101ספר עמ

Page 74: מערכות ניהול בסיסי נתונים

קשר "סוג של" - דוגמאות

מכונית היא סוג של כלי רכב•אופנוע הוא סוג של כלי רכב•סטודנט הוא סוג של אדם•מרצה הוא סוג של אדם•עובד הוא סוג של אדם•עגבנייה, מלפפון הוא סוג של ירקות•אלון, שיטה הם מסוג של עץ•עצים וירקות הוא סוגים של צמחים•

Page 75: מערכות ניהול בסיסי נתונים

קשר "סוג של" - דוגמאות

אדם

מרצה

סטודנט עובד

ספרןבודק תרגילים

( – מלמטה למעלהGeneralizationהכללה )•( – מלמעלה למטהSpecializationפרוט )•

Page 76: מערכות ניהול בסיסי נתונים

המודל התפישתי – דיאגרמה

דיאגרמת הישויות והיחסים כוללת:שרטוט•

שם המערכת–ישויות )מלבנים(–קשרים –

רגילים•שם הקשר )מעוין או אליפסה(–אם יש תכונות אז לעטוף במלבן–( הקשר Cardinality) "עוצמת“–תלות קיומית – חץ עם ראש מלא–

"סוג של"•קו חוצה –

(ראהטבלת כל התכונות )•טבלת התכונות לכל ישות•

תכונות•(PKמפתח ראשי )•(FKסימון שדות זרים )•

תאור מילולי של אילוצים •נוספים

Page 77: מערכות ניהול בסיסי נתונים

תהליך הבניה – סיכום בינייםדרישות

מודל תפישתי

סכימה לוגית

סכימה פיזית

145ספר עמ

ראיונות תרחישים

מודל מקומי

1

מודל Nמקומי

מודל תפישתיERD

מודל לוגיטבלאי, היררכי, רשתי

מודל פיזיקבצים, אינדקסים

Page 78: מערכות ניהול בסיסי נתונים

ERDספר טלפונים פשוט -

טלפון חבראפשר להשיג

ב

(0,N)(1,1)

כתובת

גר ב

(1,1)

(1,1)

Page 79: מערכות ניהול בסיסי נתונים

טלפונים פשוט – מילון נתונים - תכונות

אורךאחריםאפס

שםסוגכותרתאורך

TFirstNameשם פרטיN20פונט עברי

שם N20פונט עברימשפחה

TLastName

BSexמין-Nפורמט: "זכר"/"נקבה"

NAgeגילNBפורמט: מספר שלם

MCommentהערה-Yפונט עברי

N20עירTCityשרשרת לפי הסדר - שכונה, רחוב, מספר בית, מספר דירה, קומה, תחום:

זיפ-קודY100כתובתTAddress

EPhoneTypeסוג טלפוןN}בית, עבודה, סלולרי, זימונית{ תחום:

TPhoneAreaקידומתN2 ספרות )לא כולל את האפס(1-2תחום:

TPhoneNumמספרN7 ספרות7 ל 6תחום: בין

N תאריךלידה

DBirthDate

תאור ראה

Page 80: מערכות ניהול בסיסי נתונים

טלפונים – מלון נתונים - ישויות

חובאחריםה

שםדומה ל

YFirstNameFRND_FirstNameפונט עברי

YLastNameFRND_LastNameפונט עברי

YSexFRND_Sexפורמט: "זכר"/"נקבה"YBirthDateFRND_BirthDateאפשר להסתפק בשנת לידה

BirthDateYAgeFRND_Ageפורמט: מספר שלם, מחושב מ

NCommentFRND_Commentטקסט חופשי

תאור ראה

(FRND = Friendישות: חבר )

Page 81: מערכות ניהול בסיסי נתונים

נושא ===== מודל הטבלאי

פרק ד בספר

208ספר עמ

Page 82: מערכות ניהול בסיסי נתונים

הגדרה: מודל טבלאי

( או טבלאי Relational Modelמודל נתונים יחסי )מורכב מאוסף של יחסים/טבלאות

)R)d1, d2,,, dnטבלה: אוסף של של אברים שהוא תחום, Dx שייך ל dxכך שכל

212ספר עמ

בעברית:

כל איבר ביחס )שורה בטבלה( מייצג אובייקט וביחד קבוצה של •אובייקטים

D הוא בעצם עמודה שערכיה נלקחים מתחום מסוים d כל •

עמודה בטבלה מתארת תכונה של האובייקט•

Page 83: מערכות ניהול בסיסי נתונים

הגדרה: מודל טבלאי - המשך

טבלה מקיימת את התכונות הבאותסדר העמודות אינו חשוב•

לכל עמודה שם שונה–הערך אינו נקבע על פי המיקום–

סדר השורות בטבלה אינו משנה•הערך אינו נקבע על פי המיקום–לכל סידור )מיון( משמעות –

אין שתי שורות זהות •אם "קשה" לנו עם הדרישה אז נגדיר שדה "מזהה יחיד"–

כל ערך הוא פשוט•213ספר עמ ללא מבנה פנימי )לא רשימה של ערכים, או הררכיה(–

Page 84: מערכות ניהול בסיסי נתונים

מודל טבלאי

כזכור מודל נתונים מורכב משלושה חלקים M)S,C,O(

מבנה – הטבלאות והתכונות•אילוצים )קשרים(•

)"עמודות משותפות"( כיצד מגדירים קשרים ?–פעולות•

(SQLמה הם הפעולות על הטבלאות ? )–

Page 85: מערכות ניהול בסיסי נתונים

מודל טבלאי - מפתחות

( של אובייקט )שורה(Uniqueזיהוי יחיד )מפתח פשוט )שדה אחד( /מורכב )מספר •

שדות((Primary Keyמפתח ראשי )•(Candidate Keyמפתח אפשרי )•(Foreign Keyמפתח זר )•

216ספר עמ

Page 86: מערכות ניהול בסיסי נתונים

מודל טבלאי – הגדרת הקשרים

קשר בין שתי טבלאות נוצר )"אוטומטית"( כאשר אותויש שתי עמודות )אחת בכל טבלה( שלהן

מרחב ערכים.כלומר !!! אם נוסיף טבלה חדשה היא "מתקשרת" לטבלאות 1.

הקיימות "ללא מאמץ"למשל: הקשר "עובד ב"2.

"מספר מחלקה" בטבלת ה"מחלקות"1.

"מספר מחלקה" בטבלת ה"עובדים"2.למשל: הקשר "אפשר להשיג בטלפון"3.

בטבלת "חבר" "מספר סידורי“1.

"מספר סידורי של חבר" בטבלת "טלפון"2.

Page 87: מערכות ניהול בסיסי נתונים

לוגי למודל תפישתי מ מעבר )טבלאי(

ישויות לטבלאותאם יש חשש לשורות שוות אז נוסיף שדה מזהה "מלאכותי"– אחד לפחותמפתחאם אין –

יחסים? ( הקשר Cardinalityהיישום תלוי ב"עוצמת" )•דרכי פעולה •

(Foreign Key או ) ( Reference Fieldהוספת שדה "מקשר" )–הוספת טבלה ובה מפתחות שני הצדדים–

Page 88: מערכות ניהול בסיסי נתונים

לוגי - יחסיםלמודל תפישתי מ מעבר

יחסים? •1:1

( – רכב ותעודת ביטוח )שדה מקשר באחד מהצדדים(1,1( = )1,1)–( – ארץ ועיר בירה )שדה מקשר בארץ(1,1( = )0,1)–( – נשוי )טבלה מקשרת( 1,0( = )1,0)–

•1:N–(0,1( = )1,N )( – שחקן בנבחרת המכללה )טבלה מקשרת–(1,1( = )1,N)( – עובד שיך למחלקה )שדה מקשר בעובד

•N:Mסטודנט לומד בקורס )טבלה מקשרת(–

Page 89: מערכות ניהול בסיסי נתונים

לוגי - יחסיםלמודל תפישתי מ מעבר

קשר עם תכונותבמידה ויש תכונות לקשר נגדיר אותו כטבלה•למשל: עובד משתתף בפרויקט•

תאריך התחלה, מספר שעות משתתף )תכונות הקשר(:–

Page 90: מערכות ניהול בסיסי נתונים

נושא ===== אלגברה טבלאית

פרק ה בספר

226ספר עמ

Page 91: מערכות ניהול בסיסי נתונים

אלגברה טבלאיתמאפיינים:

( על טבלאות Operatorsאוסף של פעולות )•( פועל על טבלה אחתUnary Operatorאופרטור אונרי )•

כמו ש"העלאה בריבוע" פועל על מספר אחד –( פועל על שתי טבלאות Binaryאופרטור בינרי )•

מחבר שני מספרים כמו ש +– טבלה !!!התוצאה !!! •מסקנה:•

נוכל להפעיל אופרטור על התוצאה )כמו עם מספרים (–וחוזר חלילה –

228ספר עמ

Page 92: מערכות ניהול בסיסי נתונים

אלגברה טבלאית - פילוסופיה

מבוססת על מתמטיקה ומגדירה באופן ברור את:המרכיבים של הביטוי•התנאים שכל מרכיב צריך לקיים•המשמעות של כל אופרטור•התוצאה•

228ספר עמ

תוצאה: חוסר תלות במחשב, בבסיס הנתונים ובשפת התכנות/השאילתותSQLבפועל: השטח בחר ב

Page 93: מערכות ניהול בסיסי נתונים

בטויי טבלאות)E = ))) A q B( p( r Bהביטוי :

A

q

B

Cp D

r

E

Page 94: מערכות ניהול בסיסי נתונים

אלגברה טבלאית – אופרטורים אונריים

אונריים:( Selectבחירת שורות )•

בחירה לפי תנאי –כל השורות שמקימות תנאי מסוים – כל התלמידים ששמם מתחיל ב –

"כ"

(Projectבחירת עמודות – היטל )•יצירת טבלה חלקית – חלק מהעמודות–

(Viewכי זה מה שמעניין / מבט פרטי )•ומה אם נוצרו כפילויות?•

229ספר עמ

Page 95: מערכות ניהול בסיסי נתונים

אלגברה טבלאית – אופרטורים

בינרייםמבנה שונה( – יצירת טבלה בעלת Joinצירוף )•

צירוף שתי טבלאות – העמודות משתי הטבלאות–בדרך כלל על בסיס עמודה משותפת – תנאי שוויון או אחר–

( – חיבור שתי טבלאות ליצירת טבלה ארוכהUnionאיחוד )•איחוד שתי טבלאות בעלות אותו מבנה–איחוד השורות משתי הטבלאות–

( – חיסור השורות של טבלה ב מטבלה Minusחיסור טבלאות )•א

( – Intersectionחיתוך טבלאות )•232ספר עמ רק השורות שגם בטבלה א וגם בטבלה ב–

Page 96: מערכות ניהול בסיסי נתונים

( אJoinאלגברה טבלאית – צירוף )

צירופי טבלאות ליצירת טבלה במבנה חדש( – Joinצירוף )•

העמודות משתי הטבלאותכל–שוויון בין ערכים של עמודה מטבלה א לעמודה מטבלה ב–( - כנ"ל אבל מופיעה רק עמודה Natural Joinצירוף טבעי )–

אחת(Outer-Joinצירוף חיצוני )•

מצורפות על בסיס שוויון )שתי עמודות( מטבלה אהשורות –לשורות מטבלה ב

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

234ספר עמ (Nullבשדות שאינם יש ערך רייק )•

Page 97: מערכות ניהול בסיסי נתונים

( בJoinאלגברה טבלאית – צירוף )

(Productמכפלה קרטזית )•מטבלה בכל השורות שורה מטבלה א מצטרפת לכל–מספר השורות בטבלת התוצאה היא מכפלה–בדרך כלל מוסיפים תנאי ל"קיצוץ" במספר השורות–

דוגמא: כל התלמידים שאפשר ל"שדך" הזוגות כל צירוף של טבלת הסטודנטים לעצמה = –

האפשרייםתנאי –

"מצב משפחתי" של צד א אינו "נשוי" והוא "גבר"•240ספר עמ "מצב משפחתי" של צד ב אינו "נשוי" והיא "אישה"•