בסיסי נתונים - חומר רקע -

36
ררררר7 רררר ררר ררררר רררררר עעעע עעעעע עעעעעע עעעע1 םםםםם םםםםםם םםםםם םםםםםם- םםםם םםם- - םםםם םםם-

Upload: aden

Post on 14-Jan-2016

68 views

Category:

Documents


6 download

DESCRIPTION

בסיסי נתונים - חומר רקע -. נושאים במצגת זו: בסיסי הנתונים אפיון נרמול נתונים עיצוב בסיסי נתונים. בסיסי נתונים - מבוא -. 3. בסיס הנתונים במחזור החיים. מודל ה← Model View Controller אפיון בסיס הנתונים= ERD : אלו נתונים יש לשמור ה← Class Diagram הופך להיות ERD - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

1

בסיסי נתוניםבסיסי נתונים- חומר רקע -- חומר רקע -

Page 2: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

2

נושאים במצגת זו:

בסיסי הנתונים

אפיון

נרמול נתונים

עיצוב בסיסי נתונים

Page 3: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

3

בסיסי נתוניםבסיסי נתונים- מבוא -- מבוא -

Page 4: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

4

Model View Controller מודל ה←

: אלו נתונים יש לשמורERD אפיון בסיס הנתונים= ERD הופך להיות Class Diagramה←

RDBMS הופך להיות ERDה← עיצוב:

אל טבלאות ERD לוגי: המרה של "טהורות/אופטימאליות"

"שיקולי עלות/תועלת" פיסי: קישור אל טכנולוגיה לדוגמא: איחוד טבלות הקודים

בסיס הנתונים במחזור החיים

Page 5: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

5

: מערכות בסיסיות על גבי סרטים60 תחילת שנות ה←

FMS - File management Systems : 60שנות ה←

Vsam, Btrieve התוכניות ניגשות ומתייחסות למבנה הלוגי

המבנה הפיסי מוגדר בתוכניות DBMS - Database management systems : 60 סוף שנות ה←

מבנה הירארכי של עץ הפוך

ANSI, תקן Network Data Model : 70←שנות ה רשת לתיאור הקשרים, סכמה פנימית ותת←סכמה חיצונית, שפה נפרדת להגדרה וטיפול של הנתונים

חסרונות:• מורכבות לטיפול וניווט

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

(1)התפתחות של בסיסי הנתונים

Page 6: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

6

The Relational Data Model : המודל הטבלאי 80שנות ה← RDBMS - Relational DB Systems

Oracle, MS SQL, Informix הפרדה ברורה בין המבנה הפיסי והלוגי

המבנה הפיסי מוגדר בתוכניותOBMS - Object Oriented DBMS : 90 שנות ה←

ניהול אוביקטים: תמונות, קול

(2)התפתחות של בסיסי הנתונים

Page 7: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

7

תו, שדה, רשומה, קובץ הפיתוח של תוכנית היישום:

הגדרת מבנה הקובץכתיבת הלוגיקה העסקית

הידור אשר מחזיר את התוצאהFMS ריצה ← הפיקוח מועבר אל

בעיות: כול תוכנית מחזיקה הגדרת הקובץ

רמה נמוכה של תמיכה בשינויים: שינוי בקובץ גורר שינוי בתוכנית פתרון דרך קובץ נוסף הביא לכפילות נתונים

FMS ביטול אב ללא הבנים שלו מנהל קובץ אחד, לא את הקשרים

מערכות ניהול קבציםFMS - File management Systems

Page 8: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

8

קובץ ← מושג פיסי טבלה ← מושג לוגי ← בכל קובץ טבלה אחת או יותר

אוסף טבלאות קשורות בקשרים לוגיים כלשהם בסיס נתונים ← המאפשר את שיתוף הנתונים בין היישומים השונים

מבנה בסיס הנתונים מכיל גם טבלאות המתארות את בסיס הנתונים עצמו

(FMSבניגוד ל←) בין הטבלאות Relational=יחסים= ניהול הקשריםאחד בעל קשרים↔כול הטבלאות כאוסף אינטגרטיבי ← RDBMS מערכת

← לוגית ופיסית ← חיצונית ליישוםData Definition הגדרת נתונים •← גישה אל בסיס הנתונים וביצוע פעולות אילוצי D. Manipulation טיפול בנתונים •

← הבאים להבטיח אמינות בסיס הנתוניםIntegrity Constrainsאמינות

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

DBMS - Database Management Systems

Page 9: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

9

אחד בעל קשרים↔כול הטבלאות כאוסף אינטגרטיבי ← RDBMSמערכת

← לוגית ופיסית ← חיצונית ליישוםData Definition הגדרת נתונים ← גישה אל בסיס הנתונים וביצוע D. Manipulation טיפול בנתונים

פעולות ← להבטיח אמינות בסיס הנתוניםIntegrity Constrains אילוצי אמינות

מערכת אחת מרכזית: המנהלת את כול הפניות אל בסיס הנתונים

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

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

DBMS - Database Management Systems

Page 10: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

10

)RDBMS )3 מודל העבודה של

ANSI/SPARC מודל ההפשטה שלשכבהתיאור

DML - Data manipulation language=SQLהטיפול בנתונים על ידי APIאו פנייה לממשק גישה

C, JAVAהלוגיקה העסקית בתוכנית מארחת

תוכניות יישום

App. Prog.

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

רשימה רק של : זו יצירה של טבלאות מדומות המשמשות את התוכניותשמות מתוך המרשם

תת←סכמהView/Sub Schema

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

שמות סימבוליים עדיף בעלי משמעותDDL - Data Definition Languageהגדרת נתונים חיצונית לתוכניות

סכמה גלובלית

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

סכמה פנימית/פיסית

Meta Data קטלוגכול הביאורים לנתונים - להגדרות, הקשריםDDLשימוש ב←

בסיס הנתוניםBlocks, Pointers, גושים Tracksסיביות, מסילות DB

Page 11: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

11

הגדרת טבלה: שם חד←משמעי חד←חד ערכי הגדרת העמודות: שם חד←משמעי חד←חד ערכי

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

Primary Key המפתח העיקרי

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

כללי הגנה על הטבלאות והנתוניםDatabase Procedures פרוצדורות בסיס

Triggers מזניקים

DDL )4(

Page 12: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

12

SQL גישה ישירה של תוכנית ← אופטימיזציה←תוכנית גישה←ביצוע←החזרת ערךVALIDATION←סמנטית PARSINGבדיקה תחבירית

3 גישה מתוכנית דור RDBMS←גישה ישירה/מודול הגישה←אחסון המודול←הידור המארחת←קישור לשגרות CALLפיתוח←קדם הידור

4 גישה מתוכנית דור VB, MAGIC, DISCOVERERנבנו מראש עם היכולת לעבוד עם בסיס הנתונים ←

גישה מ←מחוללי דוחות/שאילתות DISCOVERER, BUSINESS OBJECTS

WEB גישה משרת HTTP ב← WEB העברה אל שרת ה←HTMLהפעלת דפדפן הזדהות, מילוי טופס א' ←

ושולח בממשק מיוחד אל שרת בסיס הנתוניםSQL ב' ← השרת בונה שגרה ג' ← גישה ישרה

HTML ← אל היישום המבקש ← היישום אורז המענה ב←WEB ד' ← החזרה לשרת ה← אל הדפדפן HTTP משוגר בפרוטוקול HTML ה' ← דף ה←

(1)גישה אל בסיס הנתונים

Page 13: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

13

DDLהגדרת בסיס הנתונים א' ←LINK, אחסון מודול הגישה בקטלוג, SQL ב' ← כתיבה של תוכנית היישום והידורה: שיבוץ

(Object לתוכנית היעד ) ג' ← הפעלת התוכנית← טעינה לזיכרון

CALL ד' ← בקשה לאחזור )לעתים מטבלה מדומה( על ידי ה← ה' ← בדיקה מול הקטלוג

ו' ← שליפת מודול הגישה )זה משלב ב'(FMS ז' ← הפעלה של תוכנית הגישה לעבודה מול

לגישה אל בסיס הנתונים מפעילה שגרות מערכת ההפעלה FMS ח' ← לאיתור הנדרש על ידי מודול הגישה I/O Buffer אל BLOCK' ← העברה של ה←ט

י' ← מיפוי מהטבלה המדומה אל בסיס הנתונים י"א ← החזרת נתונים אל שטח התקשורת בין המערכת הטבלאית לתוכנית היישום כולל קוד

נמצא הערך=" 0 המבטא סטטוס: " י"ב ← החזרת הפיקוח את התוכנית. אם הסטטוס נמצא מתאים, מתחיל העיבוד על הערך אשר

הוחזר

(2)גישה אל בסיס הנתונים ← בדיוק קורה ?

Page 14: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

14

Logical and Physical Independence =

Any future change is Open to addition but Close to change

)no need to check previous code(

Data SharingData IntegrityData AvailabilityStandardizationFlexibility to changesData SecurityTransaction processingConcurrent Update

RDMSיתרונות

Page 15: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

15

RDMSחסרונות

Complexity of MaintenanceCostHardware ResourcesSensitivity - Dependency of the enterpriseComplexity of recovery

Page 16: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

16

אפיון בסיסי נתוניםאפיון בסיסי נתוניםData ModelData Model

Entity Relationship DiagramEntity Relationship Diagram

Entity Relationship ModelEntity Relationship Model

אי תלותאי תלות פיסית פיסית ולוגיתולוגית

מודל פתוח סגור

Page 17: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

17

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

או

מסגרת לוגית המתארת את המציאות

:M = {Structure, Constrains, Operators} הגדרהכלי תפישתי המשמש לתיאור המציאות באמצעות אוסף כללים המגדירים:

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

3שליפה של כול <האופרטורים לעדכון ושינוי הנתונים← פעולות על פי חוקיות

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

הקשרים ישויות וקשרים מורכבים

נרמול

מודל הנתונים

Page 18: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

18

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

למודלרלוונטי הכולל רק חלק מאינסוף הנתונים במציאות

שלב העיצוב הלוגי • מסוים תוך התחשבות באילוציםDBMSתכנון של סכמת

שלב העיצוב הפיסי תכנון פיסי של העיצוב הלוגי על פי יעילות, אחסון, שיטת גישה,

Partitionsהקבצת נתונים, חלוקת טבלה ל←

אפיון ועיצוב בסיס הנתונים

Page 19: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

19

ישות = מייצגת אוביקט

אבחזקה = קיומה העצמאי בלתי תלוי באחרת

בן חלשה = קיומה העצמאי תלוי באחרת

של האוביקטCharacteristic = מאפיין Attributeתכונה פשוטה = אינה ניתנת לחלוקה

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

נתון מובנה = מבנה קבוע תמונה, קובץ נתון לא מובנה = צרופה

TYPEסוג נתונים Integer שלם

Decimal עשרוניCharacter מחרוזת Boolean בוליאני

Entity Relationship Data Model )1(

Page 20: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

20

של האוביקטCharacteristic = מאפיין Attributeתכונה

Valueערך Mandatory ערך חובה

Single or Multiple ערך בודד או מרובת ערכים רק כפל = סוג, שיטת ייצוג, אופרטורים Domain מרחב ערכים

טווח רשימה סופתת.ז. סוג הנתונים

בעיות בשיטה זו: הוספה מאוחרת של תכונות

מתי לייצג אוביקט מסוים כישות

Entity Relationship Data Model )2(

Page 21: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

21

Occurrences) קבוצה או סוג ישות = אוסף )מופעים ישויות מאותו סוג הנבדלות בערכי התכונות

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

ישות = שורה

ישות על ← ישות כללית המכילה תכונות המשותפות רכבי שטח+רכבי כביש רכבים← לכול תת הישויות שלה.

← כול תת ישות מוסיפה תכונות ייחודיות לה, תת(↔ ללא חפיפה של תכונות )על

← ישות על שייכת רק לתת ישות אחת

Entity Type קבוצת ישויות

Page 22: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

22

← Candidate Key מפתח אפשרי

Unique ID זיהוי חד ערכי

Non redundancy מינימליות/אי כפילות לא ניתן לסלק אף לא תכונה אחת מבלי להרוס את התנאי הקודם

← מתוך האפשריים Primary Keyמפתח ראשי פשוט = תכונה אחת

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

]לשם הגדרה של קשרים[ ← Foreign Keyמפתח זר

תכונה או יותר המשמשת מפתח ראשי בקבוצה אחרתNULLערכי המפתח הזר הם תת קבוצה של ערכים בקבוצה השניה או

Keyמפתח

Page 23: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

23

פונקציונאליות הקשרמנהל←מחלקות חד←חד ערכי

עובדים←מחלקות חד←רב ערכי

סטודנטים←קורסים רב←רב ערכי

(0,30) קרדינליות הקשר ← מספר ישויות מינימלי ומרבי

חייבת ______ לא חייבת ....... ← בצד הישות החזקה

קשר נושא מידע ← ציון ישות הקשר בין ישויותM:1 קשר זה מייצר שני M:Nבכול קשר

)Relations ← )1קשרים

יחס בעל משמעות בין ישויות שונות

Page 24: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

24

עובדים↔מנהלים קשר רקורסיבי←מחבר קבוצת ישויות אל עצמה

קשר ישות על הוא גם של תת הישויות שלהקשר של תת השיות הוא של עצמה בלבד

Or Relation יחס בחירה בין קשרים בנקודת זמן אחת מתקיים רק קשר אחד

חיי ישות לאורך זמן ← להשתמש בתאריך עד או מ כדי לייצר היסטוריה העברת קשרים ← קשר התלוי בערכים אינו ניתן

להעברהילד↔הורה

)Relations ← )2קשרים

יחס בעל משמעות בין ישויות שונות

Page 25: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

25

FK מפתח זר = = PK # ← מפתח

M או NULL = NN * ← אינו יכול לקבל lישות חלשה ← קשר רב←

← יחס בחירה "או" ) קשר שאינו ניתן להעברה ← O ← Optional

ERDסימנים

= הכיתוב בסכמה

V

Page 26: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

26

נרמול נתוניםנרמול נתוניםData NormalizationData Normalization

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

Page 27: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

27

Insertion ההוספה כאשר מבקשים להוסיף לטבלה נתונים ללא מפתח

Deletion הביטול כאשר בעת ביטול שורה אובדים נתונים נוספים

Update העדכון עדכון חלקי כאשר עדכון הנתונים יוצר פרדוקס/חוסר עקביות

פירוק טבלאות ← תוך שימור המידע והתלויות: הפתרון

בנתוניםparadoxאנומליה ← סתירה

Page 28: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

28

NF1 ← כול תכונה יכולה לקבל ערך אחד, ללא קבוצות/נגררות

אין תכונות מחושבות סטודנט←קורסים הופך להיות סטודנט←סטודנט/לקורס

NF2כול תכונה שאינה המפתח חייבת להיות תלויה בכול המפתח ← מספור ח←ן+מספר ספק

NF3כול תכונה שאינה מפתח חייבת להיות תלויה אך ורק במפתח ← עובדים, ת.ז., שם, מס' מחלקה, שם מחלקה ← להוסיף טבלה מס' מחלקה, שם מחלקה

BCNFאסור כי תהיינה תלויות במפתח מורכב ←

חוקי הנרמול בשלב האפיון

Page 29: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

29

עיצוב בסיסי נתונים עיצוב בסיסי נתונים ↓↓

המעבר לטבלאותהמעבר לטבלאות

Page 30: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

30

המטרה: ייצוג הנתונים באופן המאפשר תרגום לבסיס נתונים

טבלה = קבוצת ישויות שורה = ישות

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

על ידי ERDהעיצוב ← תיאור Relational Data Model

Page 31: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

31

NF4 ← קבוצת ישויות לא תכיל תלויות רב ערכית

B קובעת קבוצת ערכים Aאסור כי תכונה

NF5 מתקיימת אם לא ניתן לפרק קבוצת הישויות לקבוצות קטנות ←

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

חוקי הנרמול בשלב העיצוב

Page 32: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

32

מיפוי הישויות הפשוטות לטבלה מיפוי תכונות לעמודות

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

הפיכת קשרים למפתחות זרים תרגום קשתות

תרגום ישויות על ו←תת ישויותככול שיש יותר תכונות, קשרים משותפים לטבלה אחת מאוחדת ←

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

לטבלאות נפרדות ← יישום באמצעות קשת )"או"(

המעבר לטבלאות

Page 33: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

33

יתרונות SQL

שירותים מתקדמים תהליך עיצוב פורמלי

חסרונות ייצוג ישויות רק על ידי טבלאות

ייצוג קשרים רק על ידי ערכים הומוגניות

מגוון מצומצם של סוגי נתונים מגוון מצומצם של אילוצים

מגוון מצומצם של פעולות על הטבלאות

RDBMS

Page 34: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

34

בסיסי נתונים מוכווני עצמיםבסיסי נתונים מוכווני עצמיםObject Oriented DatabasesObject Oriented Databases

Page 35: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

35

RDBMSהשימוש באוביקט המוכלל פותר חלק מן המגבלות של יתרונות ההורשה ניווט גמיש יותר

ODBMS

Page 36: בסיסי נתונים - חומר רקע -

← בסיסי נתונים ← חומר רקע7שיעור

קורס ניתוח מערכות מידע

36

שאלות ?