יעדי הפרוייקט
Download
Report
Transcript יעדי הפרוייקט
קורס ניתוח מערכות מידע
בסיסי נתונים
-מצגת ההרצאה -
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
1
קורס ניתוח מערכות מידע
מערכות ניהול קבצים
FMS - File management Systems
תו ,שדה ,רשומה ,קובץ
הפיתוח של תוכנית היישום:
הגדרת מבנה הקובץ
כתיבת הלוגיקה העסקית
הידור
ריצה ← הפיקוח מועבר אל FMSאשר מחזיר את התוצאה
בעיות:
כול תוכנית מחזיקה הגדרת הקובץ
רמה נמוכה של תמיכה בשינויים :שינוי בקובץ גורר שינוי בתוכנית
פתרון דרך קובץ נוסף הביא לכפילות נתונים
קובץ אחד ,לא את הקשרים ביטול אב ללא הבנים שלו
FMSמנהל
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
2
קורס ניתוח מערכות מידע
מערכות לניהול בסיסי נתונים
()1
DBMS - Database Management Systems
קובץ ← מושג פיסי
טבלה ← מושג לוגי ← בכל קובץ טבלה אחת או יותר
בסיס נתונים ← אוסף טבלאות קשורות בקשרים לוגיים כלשהם
המאפשר את שיתוף הנתונים בין היישומים השונים
בסיס הנתונים מכיל גם טבלאות המתארות את מבנה
בסיס הנתונים עצמו
ניהול הקשרים=יחסים= Relationalבין הטבלאות (בניגוד ל←)FMS
מערכת ← RDBMSכול הטבלאות כאוסף אינטגרטיבי↔אחד בעל קשרים
הגדרת נתונים ←Data Definitionלוגית ופיסית ← חיצונית ליישום
טיפול בנתונים ←D. Manipulationגישה אל בסיס הנתונים וביצוע פעולות אילוצי אמינות
←Integrity Constrainsהבאים להבטיח אמינות בסיס הנתונים
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
3
קורס ניתוח מערכות מידע
מערכות לניהול בסיסי נתונים
()2
DBMS - Database Management Systems
מערכת ← RDBMSכול הטבלאות כאוסף אינטגרטיבי↔אחד בעל קשרים
הגדרת נתונים ←Data Definitionלוגית ופיסית ← חיצונית ליישום
טיפול בנתונים ←D. Manipulationגישה אל בסיס הנתונים וביצוע פעולות
אילוצי אמינות ←Integrity Constrainsלהבטיח אמינות בסיס הנתונים
מערכת אחת מרכזית:
המנהלת את כול הפניות אל בסיס הנתונים
מכירה את כול הקשרים
ניהול ההגדרות של הנתונים באופן מרכזי ובלתי תלוי בתוכניות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
4
קורס ניתוח מערכות מידע
מודל העבודה של RDBMS
()3
מודל ההפשטה של ANSI/SPARC
שכבה
תוכניות יישום
App. Prog.
הטיפול בנתונים על ידי DML - Data manipulation language=SQL
או פנייה לממשק גישה API
הלוגיקה העסקית בתוכנית מארחת JAVA ,C
תת←סכמה
הגדרה של חלק מבסיס הנתונים על פי צריכים של משתמש או תוכנית
View/Sub Schema
זו יצירה של טבלאות מדומות המשמשות את התוכניות:
סכמה גלובלית
התיאור הפורמלי והמלא של כול האוביקטים בבסיס הנתונים (טבלאות,
שמות סימבוליים עדיף בעלי משמעות
הגדרת נתונים חיצונית לתוכניות DDL - Data Definition Language
סכמה פנימית/פיסית
תיאור המבנה הפיסי של הטבלאות :האזור באחסון ,אזור האינדקס ,כתובות של יחידות
האחסנה
קטלוג
↔
DB
תיאור
Meta Data
בסיס הנתונים
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
רשימה רק של שמות מתוך המרשם
עמודותTYPES ,
שימוש ב← DDLלהגדרות ,הקשרים -כול הביאורים לנתונים
סיביות ,מסילות ,Tracksגושים Pointers ,Blocks
5
קורס ניתוח מערכות מידע
תכונות/יכולות תוכנות לבניית DB
הגדרת טבלה :שם חד←משמעי חד←חד ערכי
הגדרת העמודות :שם חד←משמעי חד←חד ערכי
הגדרת סוג הנתונים TYPE
המפתח העיקרי Primary Key
תחומים של ערכים מותרים (מרחב ערכים)
קשרים לוגיים בין הטבלאות
כללי הגנה על הטבלאות והנתונים
פרוצדורות בסיס Database Procedures
מזניקים Triggers
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
6
קורס ניתוח מערכות מידע
אפיון בסיסי נתונים
אי תלות
פיסית
ולוגית
Data Model
Entity Relationship Diagram
Entity Relationship Model
מודל פתוח סגור
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
7
קורס ניתוח מערכות מידע
מודל הנתונים
תפישה רעיונית המבטאת מציאות תודות להפשטה
או
מסגרת לוגית המתארת את המציאות
הגדרה }:M = {Structure, Constrains, Operators
כלי תפישתי המשמש לתיאור המציאות באמצעות אוסף כללים המגדירים:
מבנה הנתונים← ישויות ,תכונות ,קשרים
האילוצים אשר על הנתונים לקיים← חד ערכיות ,ערכים ,תחומים...
האופרטורים לעדכון ושינוי הנתונים← פעולות על פי חוקיות שליפה של כול >3
בניה בעזרת תרשים ERDבמספר שלבים:
הגדרה של הישויות וכול פרטי המידע
הקשרים
ישויות וקשרים מורכבים
נרמול
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
8
קורס ניתוח מערכות מידע
Entity Relationship Diagram
מודל תפישתי הנפוץ ביותר.
פותח על ידי Peter Chenבשנת .1976
זהו מודל גרפי המייצג את מערכת המידע
כאוסף של ישויות ושל קשרים בין הישויות.
המודל מספק כלי לתכנון בסיס הנתונים על
בסיס תבנית המידע בארגון.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
9
קורס ניתוח מערכות מידע
ישות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
10
קורס ניתוח מערכות מידע
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
11
קורס ניתוח מערכות מידע
ערך של תכונה
ערך של תכונה מוגדר כתוכן התכונה בנקודת זמן
מסוימת.
לדוגמא:
הערך של התכונה "גובה" בישות "אבי לוי"
היא .1.80
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
12
קורס ניתוח מערכות מידע
דוגמא:
מס' סטודנט הוא ערך בודד.
ציונים של הסטודנט הוא תכונה מרובת ערכים.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
13
קורס ניתוח מערכות מידע
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
14
קורס ניתוח מערכות מידע
תיאור בתרשים
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
15
קורס ניתוח מערכות מידע
Entity Relationship Data Model
()1
ישות = מייצגת אוביקט
חזקה = קיומה העצמאי בלתי תלוי באחרת
חלשה = קיומה העצמאי תלוי באחרת בן
תכונה = Attributeמאפיין Characteristicשל האוביקט
פשוטה = אינה ניתנת לחלוקה
מורכבת = ניתנת לחלוקה למרכיבים כתובת ,שם
מחושבת = ערכה הוא תוצאה של חישוב נתונים אחרים גיל
נתון מובנה = מבנה קבוע
נתון לא מובנה = צרופה תמונה ,קובץ
סוג נתונים TYPE
אב
שלם
עשרוני Decimal
מחרוזת Character
בוליאני Boolean
Integer
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
16
קורס ניתוח מערכות מידע
Entity Relationship Data Model
()2
תכונה = Attributeמאפיין Characteristicשל האוביקט
ערך Value
ערך חובה Mandatory
ערך בודד או מרובת ערכים Single or Multiple
מרחב ערכים = Domainסוג ,שיטת ייצוג ,אופרטורים רק כפל
טווח
רשימה סופת
סוג הנתונים ת.ז.
בעיות בשיטה זו:
הוספה מאוחרת של תכונות
מתי לייצג אוביקט מסוים כישות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
17
קורס ניתוח מערכות מידע
Entity Typeקבוצת ישויות
קבוצה או סוג ישות = אוסף (מופעים (Occurrences
ישויות מאותו סוג הנבדלות בערכי התכונות
קבוצת ישות מיוצגת כטבלה (אחת או יותר)
תכונה = עמודה
ישות = שורה
ישות על ← ישות כללית המכילה תכונות המשותפות
לכול תת הישויות שלה .רכבים←רכבי שטח+רכבי כביש
← כול תת ישות מוסיפה תכונות ייחודיות לה,
ללא חפיפה של תכונות (על↔תת)
← ישות על שייכת רק לתת ישות אחת
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
18
קורס ניתוח מערכות מידע
מפתח Key
מפתח אפשרי ← Candidate Key
זיהוי חד ערכי Unique ID
מינימליות/אי כפילות Non redundancy
לא ניתן לסלק אף לא תכונה אחת מבלי להרוס את התנאי הקודם
מפתח ראשי ← Primary Keyמתוך האפשריים
פשוט = תכונה אחת
מורכב = כמה תכונות לשם הגדרה חד ערכית קורס+סמסטר+סטודנט←ציון בקורס
מפתח זר [ ← Foreign Keyלשם הגדרה של קשרים]
תכונה או יותר המשמשת מפתח ראשי בקבוצה אחרת
ערכי המפתח הזר הם תת קבוצה של ערכים בקבוצה השניה או NULL
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
19
קורס ניתוח מערכות מידע
מפתח
מפתח של קבוצת ישות מוגדר כאוסף של תכונות
מינימלי המזהות באופן חד ערכי מופע של ישות
מסוימת בקבוצת הישויות.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
20
קורס ניתוח מערכות מידע
דוגמאות למפתחות
.1
.2
.3
.4
בקבוצת הישות "סטודנטים" :ת.ז .הוא מפתח.
בקבוצת הישות "חיילים" :ת.ז .או מספר אישי הוא
מפתח.
בקבוצת הישויות "ציונים" :ת.ז .סטודנט +מס'
קורס +סמסטר +שנה.
בקבוצת הישויות "קורסים" :מס' קורס או מס'
מחלקה +שם קורס מהווה מפתח.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
21
קורס ניתוח מערכות מידע
דוגמא לא נכונה למפתח
ת.ז + .שם סטודנט אינו מפתח מכיוון
שמפתח חייב להיות מינימלי.
שם סטודנט אינו מפתח מכיוון שאינו
מגדיר באופן חד ערכי כל מופע אפשרי של
קבוצת הישויות.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
22
קורס ניתוח מערכות מידע
סימון מפתח בתרשים
שיעור ← 7בסיסי נתונים
23
קורס ניתוח מערכות מידע
סימון מפתח בתרשים
dep_num
Courses
name
points
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
24
קורס ניתוח מערכות מידע
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
25
קורס ניתוח מערכות מידע
קשר
יחס בעל משמעות בין קבוצות ישות.
דוגמא:
.1בבסיס נתונים של המוסד אקדמי :סטודנטים לומדים בקורסים.
לכן יש קשר בין קבוצת הישויות "סטודנטים" לבין קבוצת
הישויות "קורסים".
.2בבסיס נתונים של חברת וידאו :שחקנים משתתפים בסרטים .לכן
יש קשר בין קבוצת הישויות "שחקנים" לבין קבוצת הישויות
"סרטים".
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
26
קורס ניתוח מערכות מידע
כיצד הדבר נראה בדיאגרמה?
קשר מסומן באמצעות מעוין
דוגמא:
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
27
קורס ניתוח מערכות מידע
תוצאה :תרשים
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
ERD
28
קורס ניתוח מערכות מידע
נרמול נתונים
Data Normalization
תהליך המייצר טבלאות המייצגות את המודל התפישתי באופן מדויק ואמין
ללא כפילות או אנומליה
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
29
קורס ניתוח מערכות מידע
אנומליה ← סתירה paradoxבנתונים
ההוספה Insertion
כאשר מבקשים להוסיף לטבלה נתונים ללא מפתח
הביטול Deletion
כאשר בעת ביטול שורה אובדים נתונים נוספים
העדכון Update
כאשר עדכון הנתונים יוצר פרדוקס/חוסר עקביות עדכון חלקי
הפתרון :פירוק טבלאות ← תוך שימור המידע והתלויות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
30
קורס ניתוח מערכות מידע
חוקי הנרמול בשלב האפיון
← 1NFכול תכונה יכולה לקבל ערך אחד ,ללא קבוצות/נגררות
אין תכונות מחושבות
סטודנט←קורסים הופך להיות סטודנט←סטודנט/לקורס
← 2NFכול תכונה שאינה המפתח חייבת להיות תלויה בכול המפתח
מספור ח←ן+מספר ספק
← 3NFכול תכונה שאינה מפתח חייבת להיות תלויה אך ורק במפתח
עובדים ,ת.ז ,.שם ,מס' מחלקה ,שם מחלקה ← להוסיף טבלה מס' מחלקה ,שם מחלקה
← BCNFאסור כי תהיינה תלויות במפתח מורכב
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
31
קורס ניתוח מערכות מידע
העיצוב ← תיאור ERDעל ידי
Relational Data Model
המטרה :ייצוג הנתונים באופן המאפשר תרגום לבסיס נתונים
טבלה = קבוצת ישויות
שורה = ישות
תכונה = עמודה
הקשרים הן העמודות הזהות בטבלאות השונות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
32
קורס ניתוח מערכות מידע
תרגיל מסכם
התבקשתם ע"י הנהלת המכללה לתכנן בסיס נתונים
שיאפשר את ביצוע במטלות הבאות:
.1טיפול בפרטי סטודנטים.
.2טיפול בציונים.
.3טיפול בגביית כספים מסטודנטים (בלבד).
.4טיפול ורישום לקורסים.
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
33
קורס ניתוח מערכות מידע
סימנים
= הכיתוב בסכמה
ERD
<> קשר
← #מפתח = PKמפתח זר = FK
* ← אינו יכול לקבל NN = NULLאו M
← lישות חלשה
← קשר רב ערכי ,רב-רב ערכי
>
( ← יחס בחירה "או"
Optional ← O
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
34
קורס ניתוח מערכות מידע
טבלת סטודנטים
ת .ז - .
שם משפחה.
שם פרטי.
כתובת.
טלפון.
ממוצע בגרות.
ציון פסיכומטרי.
תאריך לידה.
PK
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
35
קורס ניתוח מערכות מידע
טבלת ציונים
ת.ז PK -
מס' קורס PK -
שנת לימודים PK -
סמסטר PK -
מועד PK -
ציון
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
36
קורס ניתוח מערכות מידע
טבלת תשלומים
• מס' אסמכתא PK -
•
•
•
•
•
ת .ז
סיבת התשלום
תאריך התשלום
אמצעי תשלום
סכום
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
37
קורס ניתוח מערכות מידע
טבלת קורסים
מס' קורס PK -
שם הקורס
דרישות קדם
נקודות זכות
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
38
קורס ניתוח מערכות מידע
טבלת קבוצות לימוד (של קורסים)
מס' קבוצה PK -
מס' קורס
או "מפתח מרובה":
מספר קורס PK -
מספר קבוצה PK -
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
יום לימוד
שעת התחלה
שעת סיום
מס' מרצה
מינימום נרשמים
מקסימום נרשמים
חדר לימוד
39
קורס ניתוח מערכות מידע
רישום סטודנטים לקבוצות
•
•
ת.ז PK -
מס' קבוצה PK -
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
40
קורס ניתוח מערכות מידע
שאלות ?
שיעור ← 7בסיסי נתונים ← מצגת ההרצאה
41