1.7 מסד נתונים עם php תרגיל
להלן תרגילים מעשיים לעבודה עם MySQL ו-PHP:
תרגיל 1: יצירת מסד נתונים וחיבור בסיסי¶
הוראות:
1. צור מסד נתונים חדש בשם "school_db"
2. כתוב סקריפט PHP שיוצר חיבור למסד הנתונים
3. הוסף בדיקת שגיאות לחיבור
4. הצג הודעת הצלחה אם החיבור עובד
תרגיל 2: יצירת טבלאות ומבנה נתונים¶
הוראות:
1. צור טבלת "students" עם השדות:
- id (מפתח ראשי)
- first_name
- last_name
- birth_date
- class
2. צור טבלת "courses" עם השדות:
- id (מפתח ראשי)
- name
- teacher
- hours
3. צור טבלת חיבור "student_courses" שתקשר בין תלמידים לקורסים
תרגיל 3: פעולות CRUD בסיסיות¶
הוראות:
1. כתוב פונקציות PHP ל:
- הוספת תלמיד חדש
- הצגת כל התלמידים
- עדכון פרטי תלמיד
- מחיקת תלמיד
2. צור טופס HTML שמאפשר הוספת תלמידים חדשים
3. הצג את רשימת התלמידים בטבלה
תרגיל 4: שאילתות מתקדמות¶
הוראות:
1. כתוב שאילתה שמציגה את כל התלמידים לפי כיתה בסדר אלפביתי
2. צור שאילתה שסופרת כמה תלמידים יש בכל כיתה
3. כתוב שאילתה שמציגה את כל הקורסים של תלמיד ספציפי
4. צור שאילתה שמחשבת את הגיל הממוצע של התלמידים
תרגיל 5: מערכת הרשמה ואימות¶
הוראות:
1. צור טבלת "users" עם שדות לאיחסון משתמשים וסיסמאות (מוצפנות)
2. כתוב פונקציות ל:
- הרשמת משתמש חדש
- התחברות משתמש קיים
- שינוי סיסמה
3. הוסף בדיקות תקינות לסיסמה (אורך, תווים מיוחדים וכו')
תרגיל 6: עסקאות (Transactions)¶
הוראות:
1. צור טבלת "accounts" עם שדות: id, owner, balance
2. כתוב פונקציה להעברת כסף בין חשבונות שתשתמש בעסקה
3. הוסף בדיקות שמבטיחות שלא יהיה יתר שלילי
4. בדוק את הקוד עם העברות שמצליחות ונכשלות
תרגיל 7: מערכת בלוג¶
הוראות:
1. צור טבלת "posts" עם שדות: id, title, content, author_id, created_at
2. צור טבלת "comments" עם שדות: id, post_id, author, content, created_at
3. כתוב פונקציות ל:
- הוספת פוסט חדש
- הוספת תגובה לפוסט
- הצגת כל הפוסטים עם מספר התגובות לכל פוסט
- הצגת פוסט בודד עם כל התגובות שלו
תרגיל 8: מערכת הזמנות למוצרים¶
הוראות:
1. צור טבלאות: products, customers, orders, order_items
2. כתוב פונקציות ל:
- יצירת הזמנה חדשה
- חישוב סכום ההזמנה
- עדכון מלאי המוצרים לאחר ההזמנה
- הצגת היסטוריית הזמנות לפי לקוח
3. הוסף אפשרות לביטול הזמנה עם שחזור מלאי
תרגיל 9: גיבוי ושחזור¶
הוראות:
1. כתוב סקריפט PHP שיוצר גיבוי של מסד הנתונים לקובץ SQL
2. צור פונקציה שמאפשרת שחזור מסד נת�ים מקובץ גיבוי
3. הוסף אפשרות לבחירת טבלאות ספציפיות לגיבוי
4. כתוב קוד שמבצע גיבוי אוטומטי פעם ביום
תרגיל 10: פרויקט מסכם - מערכת ניהול ספריה¶
הוראות:
צור מערכת מלאה לניהול ספריה עם:
1. טבלאות: books, authors, members, loans
2. ממשק לניהול ספרים ומחברים
3. מערכת השאלות והחזרות ספרים
4. דוחות על:
- ספרים שאולים כרגע
- איחורים בהחזרה
- הספרים הפופולריים ביותר
5. מערכת אימות משתמשים עם הרשאות שונות
תרגיל אתגרי: אופטימיזציית ביצועים¶
הוראות:
1. צור מסד נתונים עם מיליון רשומות דמה
2. כתוב שאילתות ובדוק את זמן הביצוע
3. הוסף אינדקסים ואסטרטגיות אופטימיזציה אחרות
4. השווה את זמני הביצוע לפני ואחרי
5. בדוק שימוש ב:
- EXPLAIN לניתוח שאילתות
- Query caching
- Partitioning
טיפים לבטיחות ואבטחה:
1. השתמש בהכנת משפטים (prepared statements) למניעת SQL injection
2. אל תשמור סיסמאות כטקסט פשוט - השתמש ב-password_hash()
3. הגבל הרשאות משתמש מסד הנתונים למינימום ההכרחי
4. השתמש בעסקאות לפעולות מורכבות
5. תמיד סגור חיבורים כשסיימת להשתמש בהם
בהצלחה! זכור שמסדי נתונים הם לב ליבו של כל אתר דינמי, והבנה טובה של MySQL ו-PHP תשרת אותך היטב בכל פרויקט ווב.