מבוא למסד נתונים של אנדרואיד SQLite



הבלוג מספק מבוא למסד הנתונים של אנדרואיד SQLite

מבוא למסד נתונים של אנדרואיד SQLite

מסד הנתונים של אנדרואיד SQLite דורש מעט מאוד זיכרון (בערך 250 קילו-בתים), הזמין בכל מכשירי האנדרואיד. לכל מכשיר תמיכה מובנית במסד הנתונים של SQLite, שמנוהל באופן אוטומטי על אנדרואיד ממש מיצירתו, ביצועו ועד תהליך השאילתות.





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

היתרונות הבסיסיים של SQLite:



  • זהו מאגר משקל קל
  • דורש מעט מאוד זיכרון
  • מסד נתונים מנוהל אוטומטית

ה- SQLite תומך רק ב -3 סוגי נתונים:

  • טקסט (כמו מחרוזת) - לאחסון חנות מסוג נתונים
  • מספר שלם (כמו int) - לאחסון מפתח ראשי שלם
  • אמיתי (כמו כפול) - לאחסון ערכים ארוכים

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

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



* ניתן למצוא את מסד הנתונים על ידי לחיצה על חבילה וגישה לתיקיית הנתונים לתיקיית מסד הנתונים המכילה את הקובץ.

כיצד לטפל בקופץ בסלניום - -

הערה: מחלקת ה- SQLiteOpen Helper משמשת לניהול יצירת מסד נתונים וניהול גרסאות.

שאלות למשתמש:

האם השינוי בתוצאת גרסת db הוא שינוי גרסת SQLite של האובייקט?

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

כשחזרנו, כאשר אנו מרחיבים את מחלקת SQLiteopenHelper, אנו מחליפים את שיטות Oncreate & OnUpgrade במחלקה זו. כאשר ניגשים למסד הנתונים של SQLite, זה יכול להיות איטי לפעמים, תלוי במורכבות השאילתה. עדיף תמיד לוודא שההשפעה הכי פחות או שאילתות שרצות ברקורסיה נמנעות כאשר מבוצעת שאילתת SQL. גם זהמומלץ לבצע מסד נתונים באופן סינכרוני.השיטות מטופלות או נקראות אוטומטית על ידי המסגרת. כמו כן, יש לציין כי בכל פעם שמגדילים את גרסת ה- DB, הוא יקרא אוטומטית לשדרג אליו.

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

כאן יש לקחת בחשבון שני דברים:

  • שיטת OnCreate () נקראת, אם מסד הנתונים אינו קיים.
  • שיטת OnUpgrade () נקראת אם גרסת מסד הנתונים מעודכנת.

מחלקת העוזרים הפתוחים של SQLite נותנת את השם והגרסה בבנאי. קוראים ל- getwriteabledatabase () ואם מסד הנתונים אינו קיים, הוא יקים OnCreate. אם במקרה, מסד הנתונים קיים והגרסה עודכנה, הוא יקרא ל- OnUpgrade ().

האם שיטות אלה בשיחה ראשונה של db?

הבה ניקח דוגמא. לאחר התקנת אפליקציה, היא תיצור את OnCreate והשיטה apk תועלה לחנות Google play. לאחר הורדת הגרסה האחרונה של ה- APK, הוא יבדוק את מסד הנתונים שכבר הותקן. אם יש לו גרסה גבוהה יותר, הוא יקרא שדרוג, אם לא, אז זה לא יעשה כלום.

שאלת משתמש

האם יש צורך בהרשאת משתמש לשדרוג גרסת db?

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

שאלת משתמש

אם משתמש 1 התקין את היישום שלי וזו גרסה משודרגת עבור DB ובהמשך משתמש 2 מתקין יישום חדש והמשתמש 1 משדרג את האפליקציה. בתרחיש כזה, אם קוראים למשתמש 1 על שדרוג גרסא ולמשתמשת יצירת user2 קוראים, האם כל השיטות של אנדרואיד?

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

שאלת משתמש

האם נוכל לקבל את אובייקט מסד הנתונים של SQLite? מה אם יש שם ה- db שליסְתִירָהעם אובייקט שם db אחר?

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

מספר פיבונאצי c ++

יש לך שאלה עבורנו? הזכר אותם בסעיף ההערות ונחזור אליך.

פוסטים קשורים: