בסיסי נתונים - מצגת ההרצאה - 1.

Slides:



Advertisements
Similar presentations
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Advertisements

Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
SQL Lecture 10 Inst: Haya Sammaneh. Example Instance of Students Relation  Cardinality = 3, degree = 5, all rows distinct.
Accounting System Design
Relational Databases Chapter 4.
1 Basic DB Terms Data: Meaningful facts, text, graphics, images, sound, video segments –A collection of individual responses from a marketing research.
Database Design Conceptual –identify important entities and relationships –determine attribute domains and candidate keys –draw the E-R diagram Logical.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Data at the Core of the Enterprise. Objectives  Define of database systems  Introduce data modeling and SQL  Discuss emerging requirements of database.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Chapter 5 Relational Model Concepts Dr. Bernard Chen Ph.D. University of Central Arkansas.
Chapter 14 & 15 Conceptual & Logical Database Design Methodology
CS 380 Introduction to Database Systems (Chapter 5: The Relational Data Model and Relational Database Constraints)
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Data at the Core of the Enterprise. Objectives  Define of database systems.  Introduce data modeling and SQL.  Discuss emerging requirements of database.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Database Technical Session By: Prof. Adarsh Patel.
Relational Database Management Systems. A set of programs to manage one or more databases Provides means for: Accessing the data Inserting, updating and.
I Copyright © Oracle Corporation, All rights reserved. Introduction.
Chapters 15 &16 Conceptual and Logical Database Design Methodology.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
GLOBEX INFOTEK Copyright © 2013 Dr. Emelda Ntinglet-DavisSYSTEMS ANALYSIS AND DESIGN METHODSINTRODUCTORY SESSION EFFECTIVE DATABASE DESIGN for BEGINNERS.
Chapter 3: Relational Databases
Lecture 03 Constraints. Example Schema CONSTRAINTS.
Databases Introduction - concepts. Concepts of Relational Databases.
Huffman Trucking Fleet Vehicle Maintenance Database DBM380 June 13, 2012 Learning Team B.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Relational Data Model and Relational Database Constraints تنبيه.
Database Development Lifecycle
Relational Model Database Management Systems, 3rd ed., Ramakrishnan and Gehrke, Chapter 3.
Introduction to the database systems (1)
SQL: Schema Definition and Constraints Chapter 6 week 6
Conceptual and Physical Database Design
Tables and Their Characteristics
Database Design – Lecture 4
Quiz Questions Q.1 An entity set that does not have sufficient attributes to form a primary key is a (A) strong entity set. (B) weak entity set. (C) simple.
CIS 207 The Relational Database Model
CPSC-310 Database Systems
Chapter 4 Relational Databases
Lecture # 13 (After 1st Exam)
Constraints AND Examples
Rules in active databases and integrity constraints
Figure Specialization Hierarchy
Databases and Information Management
Introduction lecture1.
SQL 101.
Order Database – ER Diagram
Instructor: Mohamed Eltabakh
Accounting System Design
Relational Database.
The Relational Model Relational Data Model
מודל הנתונים.
Databases: An Introduction
SQL data definition using Oracle
قـواعــــد الـبـيــانــات
مقدمة في قواعد البيانات
Data Model.
Accounting System Design
Databases and Information Management
CMPE/SE 131 Software Engineering March 9 Class Meeting
Database Design: Relational Model
Chapter # 7 Introduction to Structured Query Language (SQL) Part I.
Instructor: Mohamed Eltabakh
Database Normalization.
Question 1: Basic Concepts (45 %)
DATABASE Purpose of database
Constraints AND Examples
Review #1 Intro stuff What is a database, 4 parts, 3 users, etc.
CS 405G: Introduction to Database Systems
Presentation transcript:

בסיסי נתונים - מצגת ההרצאה - 1

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

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

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

מודל ההפשטה של 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 5 5

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

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

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

Entity Relationship Diagram מודל תפישתי הנפוץ ביותר. פותח על ידי Peter Chen בשנת 1976. זהו מודל גרפי המייצג את מערכת המידע כאוסף של ישויות ושל קשרים בין הישויות. המודל מספק כלי לתכנון בסיס הנתונים על בסיס תבנית המידע בארגון.

ישות

ערך של תכונה ערך של תכונה מוגדר כתוכן התכונה בנקודת זמן מסוימת. לדוגמא: הערך של התכונה "גובה" בישות "אבי לוי" היא 1.80.

דוגמא: מס' סטודנט הוא ערך בודד. ציונים של הסטודנט הוא תכונה מרובת ערכים.

תיאור בתרשים

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

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

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

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

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

דוגמאות למפתחות בקבוצת הישות "סטודנטים": ת.ז. הוא מפתח. בקבוצת הישות "חיילים": ת.ז. או מספר אישי הוא מפתח. בקבוצת הישויות "ציונים": ת.ז. סטודנט + מס' קורס + סמסטר + שנה. בקבוצת הישויות "קורסים": מס' קורס או מס' מחלקה + שם קורס מהווה מפתח.

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

סימון מפתח בתרשים

סימון מפתח בתרשים dep_num Courses name points

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

כיצד הדבר נראה בדיאגרמה? קשר מסומן באמצעות מעוין דוגמא:

תוצאה: תרשים ERD

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

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

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

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

תרגיל מסכם התבקשתם ע"י הנהלת המכללה לתכנן בסיס נתונים שיאפשר את ביצוע במטלות הבאות: טיפול בפרטי סטודנטים. טיפול בציונים. טיפול בגביית כספים מסטודנטים (בלבד). טיפול ורישום לקורסים. 33

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

טבלת סטודנטים ת.ז. - PK שם משפחה. שם פרטי. כתובת. טלפון. ממוצע בגרות. ציון פסיכומטרי. תאריך לידה. 35

טבלת ציונים ת.ז - PK מס' קורס - PK שנת לימודים - PK סמסטר - PK ציון 36

טבלת תשלומים מס' אסמכתא - PK ת.ז סיבת התשלום תאריך התשלום אמצעי תשלום סכום 37

טבלת קורסים מס' קורס - PK שם הקורס דרישות קדם נקודות זכות 38

טבלת קבוצות לימוד (של קורסים) יום לימוד שעת התחלה שעת סיום מס' מרצה מינימום נרשמים מקסימום נרשמים חדר לימוד מס' קבוצה - PK מס' קורס או "מפתח מרובה": מספר קורס - PK מספר קבוצה - PK 39

רישום סטודנטים לקבוצות ת.ז - PK מס' קבוצה - PK 40

שאלות ? 41