07-01-2005, 12:17
|
|
|
חבר מתאריך: 12.08.04
הודעות: 993
|
|
סליחה על האיחור והתשובה
בס"ד
טוב ככה אני חובבן תכנות כך שאני יודע כמעט כל נושא בעניין כך שמי שניסה (כמוני) ליצור מסד נתונים הבין את התשובה
נסביר מהשורש.
כל תו זה בעצם מספר של 0-255 למשל האות א = מספר 126 או משהוא כזה,
הטבלה הזאת נקראת טבלת ASCII
אם תנסה לשים מספר מעל 255 התוכנה תיצור שגיאה ד"א הפונקציה בPHP זה ord או chr
למה?
הדיסק או הזיכרון מכיל טיליוני סיביות שהם יכולים להיות רק! 0 או 1
הי! אני שומר פה אותיות ועוד אז מה אתה מבלבל את המוח?
זה מתחיל להסתבך אבל בקיצור זה כך נגיד יש לי 8 סיביות אז...
אם כולם יהיו 0 אז נצייר למסך א ואם הראשון דלוק (=1) נצייר ב ואם לדוגמא 00000101 אז נצייר ג' וכן הלאה
כל בית מכיל 8 סיביות וכל קילו בית מכיל 1024 בית וכל מגה מכיל 1000 קילו בית
או קיי... נמשיך
איך תוכנה יודעת שזה סוף שורה? פשוט יש שם תו מספר 10 או 13 שאתה לא רואה
עכשיו איך השרת (MySql) ישמור את הנתונים?
אז אם זה varchar הוא ישים בית (8 סיביות) לפני הנתון לשמור את האורך של המחרוזת אני חת דוגמא
4="שלום"
9="יש תשע אותיות"
אל תתבלבל המספר 4 ב טבלה של האותיות זה 53
כך השרת יודע איך להמשיך לקרוא את הנתונים
עכשיו עם מישהוא כותב יותר מ255 אותיות מה שיקרה זה יקצץ מהסוף
לכן יש TEXT שהוא תופס 2 בתים כדי לשמור את הגודל של המידע כך שהוא יכול לשמור 64000 אותיות בערך
דוגמא לתוכנה שתקרא את זה
פתח קובץ
קרא בית ראשון
תקרא עכשיו את הכמות שהיתה בבית הראשון
סגור קובץ
בהצלחה.
|