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

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

Object Oriented 33 MCSD DORON AMIR
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
אקסס מבוא למערכות מידע.
תוכנית דעת, שנה"ל תשס"ז, מרצה יהודה הופמן מערכות מידע ארגוניות מערכות מידע ארגוניות הרצאה מס' 10: מסדי נתונים.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
ינואר 2003אלן אזאגורי ©1 Object Storage אלן אזאגורי.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
A. Frank File Organization Data Units Hierarchy Thanks to Adi Gutman and Noa Cohen.
מסדי נתונים תשס " ג 1 More on SQL קורס מסדי נתונים.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
רישום חומרי למידה והסטנדרט הישראלי: ISRACORE יהודית בר אילן, אוניברסיטת בר-אילן אלי שמואלי, מיט"ל.
2. תרשימי ER שקפים: אלדר פישר עריכה ותוספות: אמיר שפילקה
©Silberschatz, Korth and Sudarshan4.1Database System Concepts SQL n מבנה שאילתה n פונקציות צבירה.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
רגרסיה קו רגרסיה הוא קו תיאורטי המאפשר לנו לבחון את השפעתו של משתנה מנבא אחד (או יותר) על המשתנה התלוי: במילים אחרות, מודל רגרסיה עוזר לנו לנבא על פי משתנה.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
A. Frank File Organization Hardware Size Parameters.
מערכות בסיסי נתונים הצגה של הסטודנטים את עצמם, הרקע שלהם, ציפיותיהם מהקורס. הצגת ציפיותיי, מדיניות הקורס, מטלות, וכו'.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
יום עיון –פרויקט חקר מדעי במסגרת תחרות שישים שנות תעשייה כימית בישראל ד"ר מירי קסנר ברוכים הבאים 1 ביולי 2008 מכון ויצמן למדע, רחובות.
ASP Partners © 2000 – 2014 ASP Partners c/o Dr. Abraham “Abe” Gill (( נ. ה. ל התיחסות ללקוחות ניהול CRM – Customer Relationship Management הרצאה מס ' 2.
מטא-מודלים Metamodels. מטא-מודל - דגשים לפתרון לקרוא את הכל – זה ארוך אבל הכל נמצא בפנים ! להסתכל על התרשימים הויזואליים ולראות מה מזהים. לקשר בין התמונה.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.
File Systems Motivation SQL (Structured Query Language) MapReduce 1 תרגול 1.
© Keren Kalif JDBC קרן כליף.
Tirgul 12 Trees 1.
XML מבוא כללי MCSD Doron Amir
אינדקסינג והשינג (indexing & hashing)
4 July 2007 נרמול מסד הנתונים.
SQL בסיסי – הגדרה אינדוקטיבית
מערכות בסיסי נתונים ספרות Database System Concepts/ Korth, Siberschatz
מערכות ניהול בסיסי נתונים
עבודה עם נתונים באמצעות ADO.NET
בסיסי נתונים ושפת SQL הרצאה #2
סיכום השיעור הקודם חומרה – קלט/פלט, יחידות אחסון, CPU
ריאקצית קונדנסציה (דחיסה)
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
מבוא ל Maven אליהו חלסצ'י תכנות מתקדם תרגול מספר 3
מערכות מסדי נתונים 1. הקדמה.
פרק 3: מודל הנתונים.
מודל הנתונים.
מבוא ל - SQL מטרות הקורס: להבין מהו בסיס נתונים (או מסד נתונים)?
סכימה פנימית (Physical Schema)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
עקרונות מערכות לניהול בסיס נתונים
ניתוח מערכות מידע תכנות ב C#
בסיסי נתונים - מצגת ההרצאה - 1.
תיכון בסיס-נתונים יחסי
Shell Scripts בסביבת UNIX
2. דיאגראמות ישויות קשרים ERD (מבוסס על השקפים של אלדר פישר)
מבוא למערכות מידע פרק 1.
עקרונות בסיסיים בתכנות Visual Basic
מודל הישויות והקשרים – יותר לעומק
בסיסי נתונים ושפת SQL הרצאה #6
טבלאות מדומות (Views).
מבוא למערכות מידע בשילוב ACCESS
פולימורפיזם מתקדם ממשקים בC# עריכה ועיצוב: קרן הרדי
Presentation transcript:

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

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

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

בסיס הנתונים במחזור החיים מודל ה← Model View Controller אפיון בסיס הנתונים=ERD: אלו נתונים יש לשמור ה←Class Diagram הופך להיות ERD עיצוב: ה← ERD הופך להיות RDBMS לוגי: המרה של ERD אל טבלאות "טהורות/אופטימאליות" פיסי: קישור אל טכנולוגיה "שיקולי עלות/תועלת" לדוגמא: איחוד טבלות הקודים

התפתחות של בסיסי הנתונים (1) תחילת שנות ה←60 : מערכות בסיסיות על גבי סרטים שנות ה←60 : FMS - File management Systems Vsam, Btrieve התוכניות ניגשות ומתייחסות למבנה הלוגי המבנה הפיסי מוגדר בתוכניות סוף שנות ה←60 : DBMS - Database management systems מבנה הירארכי של עץ הפוך שנות ה←70 : Network Data Model, תקן ANSI רשת לתיאור הקשרים, סכמה פנימית ותת←סכמה חיצונית, שפה נפרדת להגדרה וטיפול של הנתונים חסרונות: מורכבות לטיפול וניווט קשיחות בפני שינויים נדרשת רמה גבוהה של מתכנתים

התפתחות של בסיסי הנתונים (2) שנות ה←80 : המודל הטבלאי The Relational Data Model RDBMS - Relational DB Systems Oracle, MS SQL, Informix הפרדה ברורה בין המבנה הפיסי והלוגי המבנה הפיסי מוגדר בתוכניות שנות ה←90 : OBMS - Object Oriented DBMS ניהול אוביקטים: תמונות, קול

FMS - File management Systems מערכות ניהול קבצים FMS - File management Systems תו, שדה, רשומה, קובץ הפיתוח של תוכנית היישום: הגדרת מבנה הקובץ כתיבת הלוגיקה העסקית הידור ריצה ← הפיקוח מועבר אל FMS אשר מחזיר את התוצאה בעיות: כול תוכנית מחזיקה הגדרת הקובץ רמה נמוכה של תמיכה בשינויים: שינוי בקובץ גורר שינוי בתוכנית פתרון דרך קובץ נוסף הביא לכפילות נתונים FMS מנהל קובץ אחד, לא את הקשרים ביטול אב ללא הבנים שלו

DBMS - Database Management Systems מערכות לניהול בסיסי נתונים (1) DBMS - Database Management Systems קובץ ← מושג פיסי טבלה ← מושג לוגי ← בכל קובץ טבלה אחת או יותר בסיס נתונים ← אוסף טבלאות קשורות בקשרים לוגיים כלשהם המאפשר את שיתוף הנתונים בין היישומים השונים בסיס הנתונים מכיל גם טבלאות המתארות את מבנה בסיס הנתונים עצמו ניהול הקשרים=יחסים=Relational בין הטבלאות (בניגוד ל←FMS) מערכת RDBMS ← כול הטבלאות כאוסף אינטגרטיבי↔אחד בעל קשרים הגדרת נתונים Data Definition← לוגית ופיסית ← חיצונית ליישום טיפול בנתונים D. Manipulation← גישה אל בסיס הנתונים וביצוע פעולות אילוצי אמינות Integrity Constrains← הבאים להבטיח אמינות בסיס הנתונים

DBMS - Database Management Systems מערכות לניהול בסיסי נתונים (2) DBMS - Database Management Systems מערכת RDBMS ← כול הטבלאות כאוסף אינטגרטיבי↔אחד בעל קשרים הגדרת נתונים Data Definition← לוגית ופיסית ← חיצונית ליישום טיפול בנתונים D. Manipulation← גישה אל בסיס הנתונים וביצוע פעולות אילוצי אמינות Integrity Constrains← להבטיח אמינות בסיס הנתונים מערכת אחת מרכזית: המנהלת את כול הפניות אל בסיס הנתונים מכירה את כול הקשרים ניהול ההגדרות של הנתונים באופן מרכזי ובלתי תלוי בתוכניות

מודל ההפשטה של ANSI/SPARC מודל העבודה של RDBMS (3) מודל ההפשטה של ANSI/SPARC שכבה תיאור תוכניות יישום App. Prog. הטיפול בנתונים על ידי DML - Data manipulation language=SQL או פנייה לממשק גישה API הלוגיקה העסקית בתוכנית מארחת C, JAVA תת←סכמה View/Sub Schema הגדרה של חלק מבסיס הנתונים על פי צריכים של משתמש או תוכנית זו יצירה של טבלאות מדומות המשמשות את התוכניות: רשימה רק של שמות מתוך המרשם סכמה גלובלית התיאור הפורמלי והמלא של כול האוביקטים בבסיס הנתונים (טבלאות, עמודות, TYPES שמות סימבוליים עדיף בעלי משמעות הגדרת נתונים חיצונית לתוכניות DDL - Data Definition Language סכמה פנימית/פיסית תיאור המבנה הפיסי של הטבלאות: האזור באחסון, אזור האינדקס, כתובות של יחידות האחסנה קטלוג Meta Data שימוש ב← DDL להגדרות, הקשרים - כול הביאורים לנתונים בסיס הנתונים סיביות, מסילות Tracks, גושים Blocks, Pointers ↔ DB

DDL (4) המפתח העיקרי Primary Key תחומים של ערכים מותרים הגדרת טבלה: שם חד←משמעי חד←חד ערכי הגדרת העמודות: שם חד←משמעי חד←חד ערכי הגדרת סוג הנתונים TYPE המפתח העיקרי Primary Key תחומים של ערכים מותרים קשרים לוגיים בין הטבלאות כללי הגנה על הטבלאות והנתונים פרוצדורות בסיס Database Procedures מזניקים Triggers

גישה אל בסיס הנתונים (1) גישה ישירה של תוכנית SQL בדיקה תחבירית PARSING←סמנטית VALIDATION← אופטימיזציה←תוכנית גישה←ביצוע←החזרת ערך גישה מתוכנית דור 3 פיתוח←קדם הידור CALL←גישה ישירה/מודול הגישה←אחסון המודול←הידור המארחת←קישור לשגרות RDBMS גישה מתוכנית דור 4 VB, MAGIC, DISCOVERER ← נבנו מראש עם היכולת לעבוד עם בסיס הנתונים גישה מ←מחוללי דוחות/שאילתות DISCOVERER, BUSINESS OBJECTS גישה משרת WEB א' ← הפעלת דפדפן הזדהות, מילוי טופס HTML העברה אל שרת ה←WEB ב← HTTP ב' ← השרת בונה שגרה SQL ושולח בממשק מיוחד אל שרת בסיס הנתונים ג' ← גישה ישרה ד' ← החזרה לשרת ה←WEB ← אל היישום המבקש ← היישום אורז המענה ב←HTML ה' ← דף ה←HTML משוגר בפרוטוקול HTTP אל הדפדפן

גישה אל בסיס הנתונים ← בדיוק קורה ? (2) א' ← הגדרת בסיס הנתונים DDL ב' ← כתיבה של תוכנית היישום והידורה: שיבוץ SQL, אחסון מודול הגישה בקטלוג, LINK לתוכנית היעד (Object) ג' ← הפעלת התוכנית← טעינה לזיכרון ד' ← בקשה לאחזור (לעתים מטבלה מדומה) על ידי ה← CALL ה' ← בדיקה מול הקטלוג ו' ← שליפת מודול הגישה (זה משלב ב') ז' ← הפעלה של תוכנית הגישה לעבודה מול FMS ח' ← FMS מפעילה שגרות מערכת ההפעלה לגישה אל בסיס הנתונים ט' ← העברה של ה←BLOCK אל I/O Buffer לאיתור הנדרש על ידי מודול הגישה י' ← מיפוי מהטבלה המדומה אל בסיס הנתונים י"א ← החזרת נתונים אל שטח התקשורת בין המערכת הטבלאית לתוכנית היישום כולל קוד המבטא סטטוס: "0" = נמצא הערך י"ב ← החזרת הפיקוח את התוכנית. אם הסטטוס נמצא מתאים, מתחיל העיבוד על הערך אשר הוחזר

יתרונות RDMS Logical and Physical Independence = Any future change is Open to addition but Close to change (no need to check previous code) Data Sharing Data Integrity Data Availability Standardization Flexibility to changes Data Security Transaction processing Concurrent Update

חסרונות RDMS Complexity of Maintenance Cost Hardware Resources Sensitivity - Dependency of the enterprise Complexity of recovery

Entity Relationship Diagram Entity Relationship Model אי תלות פיסית ולוגית אפיון בסיסי נתונים Data Model Entity Relationship Diagram Entity Relationship Model מודל פתוח סגור

מודל הנתונים תפישה רעיונית המבטאת מציאות תודות להפשטה מסגרת לוגית המתארת את המציאות הגדרה M = {Structure, Constrains, Operators}: כלי תפישתי המשמש לתיאור המציאות באמצעות אוסף כללים המגדירים: מבנה הנתונים← ישויות, תכונות, קשרים האילוצים אשר על הנתונים לקיים← חד ערכיות, ערכים, תחומים... האופרטורים לעדכון ושינוי הנתונים← פעולות על פי חוקיות שליפה של כול >3 בניה בעזרת תרשים ERD במספר שלבים: הגדרה של הישויות וכול פרטי המידע הקשרים ישויות וקשרים מורכבים נרמול

אפיון ועיצוב בסיס הנתונים שלב העיצוב התפישתי אפיון הדרישות: בניה של מודלים מקומיים ושילוב שלהם למודל רלוונטי הכולל רק חלק מאינסוף הנתונים במציאות שלב העיצוב הלוגי תכנון של סכמת DBMS מסוים תוך התחשבות באילוצים שלב העיצוב הפיסי תכנון פיסי של העיצוב הלוגי על פי יעילות, אחסון, שיטת גישה, הקבצת נתונים, חלוקת טבלה ל←Partitions

Entity Relationship Data Model (1) ישות = מייצגת אוביקט חזקה = קיומה העצמאי בלתי תלוי באחרת אב חלשה = קיומה העצמאי תלוי באחרת בן תכונה Attribute = מאפיין Characteristic של האוביקט פשוטה = אינה ניתנת לחלוקה מורכבת = ניתנת לחלוקה למרכיבים כתובת, שם מחושבת = ערכה הוא תוצאה של חישוב נתונים אחרים גיל נתון מובנה = מבנה קבוע נתון לא מובנה = צרופה תמונה, קובץ סוג נתונים TYPE שלם Integer עשרוני Decimal מחרוזת Character בוליאני Boolean

Entity Relationship Data Model (2) תכונה Attribute = מאפיין Characteristic של האוביקט ערך Value ערך חובה Mandatory ערך בודד או מרובת ערכים Single or Multiple מרחב ערכים Domain = סוג, שיטת ייצוג, אופרטורים רק כפל טווח רשימה סופת סוג הנתונים ת.ז. בעיות בשיטה זו: הוספה מאוחרת של תכונות מתי לייצג אוביקט מסוים כישות

Entity Type קבוצת ישויות קבוצה או סוג ישות = אוסף (מופעים (Occurrences ישויות מאותו סוג הנבדלות בערכי התכונות קבוצת ישות מיוצגת כטבלה (אחת או יותר) תכונה = עמודה ישות = שורה ישות על ← ישות כללית המכילה תכונות המשותפות לכול תת הישויות שלה. רכבים←רכבי שטח+רכבי כביש ← כול תת ישות מוסיפה תכונות ייחודיות לה, ללא חפיפה של תכונות (על↔תת) ← ישות על שייכת רק לתת ישות אחת

מפתח Key מפתח אפשרי Candidate Key ← זיהוי חד ערכי Unique ID מינימליות/אי כפילות Non redundancy לא ניתן לסלק אף לא תכונה אחת מבלי להרוס את התנאי הקודם מפתח ראשי Primary Key ← מתוך האפשריים פשוט = תכונה אחת מורכב = כמה תכונות לשם הגדרה חד ערכית קורס+סמסטר+סטודנט←ציון בקורס מפתח זר Foreign Key ← [לשם הגדרה של קשרים] תכונה או יותר המשמשת מפתח ראשי בקבוצה אחרת ערכי המפתח הזר הם תת קבוצה של ערכים בקבוצה השניה או NULL

יחס בעל משמעות בין ישויות שונות קשרים Relations ← (1) יחס בעל משמעות בין ישויות שונות פונקציונאליות הקשר חד←חד ערכי מנהל←מחלקות חד←רב ערכי עובדים←מחלקות רב←רב ערכי סטודנטים←קורסים קרדינליות הקשר ← מספר ישויות מינימלי ומרבי (0,30) חייבת ______ לא חייבת ....... ← בצד הישות החזקה קשר נושא מידע ← ציון ישות הקשר בין ישויות בכול קשר M:N קשר זה מייצר שני 1:M

יחס בעל משמעות בין ישויות שונות קשרים Relations ← (2) יחס בעל משמעות בין ישויות שונות קשר רקורסיבי←מחבר קבוצת ישויות אל עצמה מנהלים↔עובדים קשר ישות על הוא גם של תת הישויות שלה קשר של תת השיות הוא של עצמה בלבד יחס בחירה בין קשרים Or Relation בנקודת זמן אחת מתקיים רק קשר אחד חיי ישות לאורך זמן ← להשתמש בתאריך עד או מ כדי לייצר היסטוריה העברת קשרים ← קשר התלוי בערכים אינו ניתן להעברה הורה↔ילד

סימנים ERD = הכיתוב בסכמה # ← מפתח PK = מפתח זר = FK * ← אינו יכול לקבל NULL = NN או M l ← ישות חלשה ← קשר רב ( ← יחס בחירה "או" ← קשר שאינו ניתן להעברה O ← Optional V

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

אנומליה ← סתירה paradox בנתונים ההוספה Insertion כאשר מבקשים להוסיף לטבלה נתונים ללא מפתח הביטול Deletion כאשר בעת ביטול שורה אובדים נתונים נוספים העדכון Update כאשר עדכון הנתונים יוצר פרדוקס/חוסר עקביות עדכון חלקי הפתרון: פירוק טבלאות ← תוך שימור המידע והתלויות

חוקי הנרמול בשלב האפיון NF1 ← כול תכונה יכולה לקבל ערך אחד, ללא קבוצות/נגררות אין תכונות מחושבות סטודנט←קורסים הופך להיות סטודנט←סטודנט/לקורס NF2 ← כול תכונה שאינה המפתח חייבת להיות תלויה בכול המפתח מספור ח←ן+מספר ספק NF3 ← כול תכונה שאינה מפתח חייבת להיות תלויה אך ורק במפתח עובדים, ת.ז., שם, מס' מחלקה, שם מחלקה ← להוסיף טבלה מס' מחלקה, שם מחלקה BCNF ← אסור כי תהיינה תלויות במפתח מורכב

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

העיצוב ← תיאור ERD על ידי Relational Data Model המטרה: ייצוג הנתונים באופן המאפשר תרגום לבסיס נתונים טבלה = קבוצת ישויות שורה = ישות תכונה = עמודה הקשרים הן העמודות הזהות בטבלאות השונות

חוקי הנרמול בשלב העיצוב NF4 ← קבוצת ישויות לא תכיל תלויות רב ערכית אסור כי תכונה A קובעת קבוצת ערכים B NF5 ← מתקיימת אם לא ניתן לפרק קבוצת הישויות לקבוצות קטנות יותר ולאחד שוב תוך שמירה על הקשרים והמידע כלומר, אם ניתן לפשט לטבלאות קטנות ← יש לעשות כן

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

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

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

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

שאלות ?