
name, price). שורה, או רשומה, היא פריט אחד. תא מכיל ערך בודד.null, אלא אם העמודה מוגדרת NOT NULL. אז חובה לספק ערך.integer (חיובי או שלילי, עד 8 בתים), real (עשרוני, עד 8 בתים), text (כל מחרוזת), blob (אובייקט בינארי שנכנס כמו שהוא).הטקסט המלא של הדקות הראשונות בהרצאה «חיבור למסד נתונים SQLite - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים לנושא חדש וזה עבודה עם מסדי נתונים. קודם כל מסד נתונים, זאת בעצם תוכנה שנמצאת חיצונית למערכת או לאפליקציה שאנחנו בונים, והתפקיד שלה זה להחזיק מידע ולאפשר לנהל את המידע הזה.
מסד נתונים יכול להיות על כל מחשב וכמובן על מערכות שמריצות אנדרואיד. האפליקציה שאנחנו בונים יכולה לגשת למסד הנתונים, להכניס מידע ולקרוא מידע.
ניתן לבצע עם המידע ארבעה דברים, ארבע פעולות מרכזיות. ארבעת הפעולות האלה נקראות קריאייט, ריד, אפדייט ודיליט.
קריאייט הכוונה ליצור מידע חדש, ריד ולקרוא את המידע אלינו לאפליקציה, אפדייט זה יהיה לעדכן מידע קיים ודיליט כמובן למחוק מידע מהדאטאבייס.
יש המון סוגים של דאטאבייסים בעולם. אנדרואיד מגיעה בילד אין עם דאטאבייס שנקרא sqlite, דאטאבייס מאוד קטן ומצומצם בזיכרון. מונח נוסף חשוב שכדאי להכיר בעולם הדאטאבייסים נקרא relational database.
relational database זה דאטאבייס שמחזיק את המידע שלו קודם כל בטבלאות. טבלה מכילה מידע ספציפי לגבי סוג מסוים של נתונים. לדוגמה כל המוצרים שלנו יהיו בטבלה אחת שמכילה מוצרים.
אבל בטבלה הזאת לא יהיו הזמנות לדוגמה כי הזמנות זה סוג אחר של מידע. ההזמנות יהיו בטבלה של הזמנות. טבלה נוספת יכולה להיות טבלה של לקוחות וכן הלאה.
עמודה בטבלה מתארת מאפיין ספציפי. לדוגמה עבור מוצרים יכול להיות לי מאפיין שנקרא קוד מוצר וזאת תהיה עמודה אחת. שם המוצר יהיה עמודה נפרדת שתקרא name. המחיר יהיה עמודה שלישית שתקרא price וכדומה.
שורה בטבלה מכילה את המידע עצמו, נקרא גם "רשומה". לדוגמה, המוצר הראשון בטבלת המוצרים יתפוס שורה אחת, את השורה הראשונה.
המוצר השני יוחזק בשורה השנייה, וכן הלאה. תא בתוך הטבלה מכיל ערך בודד. לדוגמה, המחרוזת "גרין אפל" יכולה להיות השם של המוצר הראשון.
המספר "3.5" יכול להיות המחיר של המוצר הראשון. אנחנו לא מספקים ערך כאשר אנחנו מוסיפים רשומה חדשה, אז ה-database מכניס null בתוך התא.
את זה אפשר לעשות רק אם העמודה לא מוגדרת כ-not null. אם העמודה מוגדרת כ-not null אנחנו חייבים לספק ערך ברגע שאנחנו מוסיפים רשומה חדשה.
נהוג שעמודה אחת תוגדר כ-primary key, זאת אומרת עמודה שהתפקיד שלה זה לזהות באופן חד-חד-ערכי כל רשומה בטבלה.
אנחנו יכולים שהערך הזה של הפריימרי קי וערך שאנחנו צריכים לספק כאשר מוסיפים את המידע, לדוגמה טבלה של רכבים, מספר רכב יכול לייצג באופן חד חד ערכי כל אחד מהרכבים ולכן העמודה של מספר רכב יכולה להיות מפתח ראשי.
עבור לדוגמה עובדים תעודת הזהות של העובד יכולה להיות המפתח הראשי של העובד שהיא מספקת מידע חד-חד-ערכי עבור כל עובד. אבל אם אין לנו ערך חד-חד-ערכי שאנחנו יכולים לציין עבור כל רשומה, הדאטאבייס יכול לייצר לנו מספר רץ, זה נקרא Auto Increment, וזה מתבצע עבור עמודת המפתח הראשי.
זאת אומרת, כל רשומה שאנחנו מוסיפים, הדאטאבייס מכניס מספר רץ לתא של המפתח הראשי עבור הרשומה הזאת. אז לדוגמה המוצר הראשון, המפתח שלו יהיה 1, המוצר השני, המפתח שלו יהיה 2 וכן הלאה.
ואת המספרים האלה 1, 2, 3 וכו', הדאטאבייס מייצר לנו אם אנחנו מגדירים את עמודת ה-ID כ-Auto Increment. שפת SQL, Structured Query Language, משמשת בשביל לבצע queries, כלומר שאילתות על המידע והחזרת מידע מהדאטאבייס לאפליקציה שלנו ושפת sql מאפשרת לבצע גם insert update ו delete למידע אז הנה אנחנו יכולים לראות כאן דוגמה לטבלה יש
לנו כאן טבלה שמכילה מידע לגבי אנשים הנה אנחנו רואים את הקוד זה כנראה מספר אוטומטי שהדאטאבייס מייצר כלומר auto increment הנה אנחנו רואים פה שם פרטי הנה אנחנו רואים פה עמודה של שם משפחה הנה אנחנו רואים עמודה של רחוב והנה אנחנו רואים עמודה של עיר ומה שאנחנו רואים כאן זה בעצם שורה,