נקודת בקרה של בסיסי נתונים

הקדמה

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

A database is any logically modeled collection of information or data. When people refer to a “database” in the context of websites, applications, and the cloud, they often mean a computer program that manages data stored on a computer. These programs, known formally as database management systems (DBMS), can be combined with other programs (like a web server and a front-end framework) to form production-ready applications.

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

משאבים

מהו מסד נתונים?

A database is any logically modeled collection of information, and a database management system is what most people think of when they think “I know what a database is!” You use a database management system (DBMS), which is a computer program designed to interact with the information, to access and manipulate the information stored in your database.

מונחים שחשוב לדעת

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

Replication

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

Sharding

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

יש שלושה מודלים יחסיים נפוצים המשמשים למערכות בסיסי נתונים:

Relational Model Relationship
One-to-one In a one-to-one relationship, rows in one table (sometimes called the parent table) are related to one and only one row in another table (sometimes called the child table).
One-to-many In a one-to-many relationship, a row in the initial table (sometimes called the parent table) can relate to multiple rows in another table (sometimes called the child table).
Many-to-many In a many-to-many relationship, rows in one table can related to multiple rows in the other table, and vice versa. While these tables may also be referred to as parent and child tables, the multidirectional relationship does not necessitate a hierarchical relationship.

אלה המודלים היחסיים מבנים איך מסדי נתונים יכולים להתייחס זה לזה.

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

מסדי נתונים יחסיים

A relational database organizes information through relations, which you might recognize as a table.

בדוק את עצמך

What are the elements that make up a relation?

A relation is a set of tuples, or rows in a table, with each tuple sharing a set of attributes, or columns. A tuple is a unique instance of what type of data the table holds, whereas an attribute specifies the data type for what is allowed in the column.

What is the difference between a primary key and a foreign key?

A primary key refers to the column that will uniquely identify each row in a relational table, whereas a foreign key is a copy of the primary key inserted into a second relation in order to create a relationship between two tables.

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

ניתן להשתמש ב־SQL אילוצים בעת עיצוב מסד הנתונים שלך. אלו אילוצים מטילים הגבלות על השינויים שניתן לבצע על המידע בטבלה.

בדוק את עצמך

Why might you impose constraints on your database?
  • כללי עסקים: האילוצים מאפשרים למנהלי מסד נתונים לוודא שהמסד נתונים עומד במדיניות ובהלכות שהוגדרו ושעומדות בציפיות העסקיות.
  • אמינות נתונים: הזנת הנתונים ניכרת לשגיאות, ולכן האילוצים מספקים פרמטרים נוספים לוודא נכונות הנתונים.
What are the five constraints that are formally defined by the SQL standard?
  • מפתח ראשי דורש שכל ערך בעמודה הנתונה יהיה ייחודי ולא יכול להיות NULL, ומאפשר לך להשתמש בעמודה זו כדי לזהות כל שורה בטבלה.
  • מפתח זר דורש שכל ערך בעמודה הנתונה חייב להתקיים כבר בעמודה מסוימת מטבלה אחרת.
  • ייחודי מונע גם כן מהוספת ערכים כפולים לעמודה הנתונה.
  • בדיקה מגדירה דרישה עבור עמודה, ידועה כפרדיקט, שכל ערך שמתווסף אליה חייב לעמוד בדרישה זו.
  • לא NULL מונע כל ערך NULL מלהיתווסף לעמודה הנתונה.

כמה ממערכות ניהול מסדי נתונים רצופיים קוד פתוח שנבנו עם SQL כוללות MySQL, MariaDB, PostgreSQL, ו-SQLite. המשך ללמוד על מסדי נתונים רציונליים עם הבנת מסדי נתונים רציונליים ובדוק מערכות מנהלי מסדי נתונים רציונליים נפוצות עם SQLite vs MySQL vs PostgreSQL: השוואת מערכות מנהלי מסדי נתונים רציונליים.

מונחי מסדי נתונים רציונליים לדעת

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

Constraint

A constraint is any rule applied to a column or table that limits what data can be entered into it.

Data Types

A data type dictates what kind of entries are allowed in a column.

Object Database

מסד נתונים אובייקט משתמש במבנים מתודדים עבור מידע. PostgreSQL הוא מסד נתונים רציונלי המשלב תכונות ממסדי נתונים אובייקט.

Serverless

A serverless database, like SQLite, allows any process that accesses the database to write and write to the database disk file directly. This behavior is in contrast to the interprocess communication that is implemented by other relational database engines.

ניתן לכתוב פונקציה ללא שרת כדי לתרגל בריצת אפליקציה ללא שרת.

Signed and Unsigned Integers

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

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

מסדי נתונים לא רציונליים ו-NoSQL

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

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

מונחי מסדי נתונים לא רציונליים להכיר

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

Key-value databases

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

Columnar databases

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

Document-oriented databases

בנוסף לשם חנות מסמך, אלו מסדי נתונים NoSQL האחסונים נתונים בצורת מסמכים. כל מסמך מכיל מטה-נתונים למבנה הנתונים, וניתן להשתמש ב- API או שפת שאילתות כדי לאחזר מסמכים.

Graph databases

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

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

בדוק את עצמך

התאמה בין מערכת מנהלת בסיסי נתונים לדגמת בסיסי נתונים התפעליים שלה.

  • רדיס
  • קוצ'בייס
  • קסנדרה
  • אוריינטדי.בי
  • מונגו די.בי
  • ניאו 4 ג'יי
  • ממקאשדי.בי
  • אפאצ'י HBase של אפאצ'י
Compare your answers using the dropdown feature.
Operational Database Model Example DBMSs
Key-value store Redis, MemcacheDB
Columnar database Cassandra, Apache HBase
Document store MongoDB, Couchbase
Graph database OrientDB, Neo4j

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

בניית מגדר אפליקציה

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

בדוק את עצמך

השתמש בתכונת הרשימה הנפתחת כדי לקבל את התשובות.

What makes up a LAMP stack?

LAMP הוא ראשי תיבות לטכנולוגיה המרכיבה את המגדר הזה:

  • Lינוקס מערכת ההפעלה
  • אפאצ'ה שרת אינטרנט
  • מייאסקיואל מסד נתונים
  • פי.אץ.פי עיבוד תוכן דינמי

יש אפשרויות L*MP אחרות, כגון הערכת LEMP שבה E מציין את Nginx או הערכת LOMP שבה O מציין את OpenLiteSpeed.

What makes up Elastic stack?

הערכת Elastic מתבססת סביב Elasticsearch, שהוא גם מנוע חיפוש ומסד נתונים מונחה על מסמכים.

אם תקינו שרת מרוחק עם ערכת היישום שלכם, מומלץ להצפין את הנתונים שלכם כדי להגן על המערכת מהתערעורים הרעים. ניתן להצפין תקשורות באמצעות אבטחת שכבת התחבורה (TLS), שתמיר את הנתונים הנעים לצופף שרק הצופף הנכון יוכל לפענח אותם. הנתונים הסטטיים שמאוחסנים במסד הנתונים שלכם יישארו לא מוצפנים אלא אם כן משתמשים במערכת ניהול מסד נתונים המציעה הצפנת נתונים במנוחה.

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

שימוש בשורת הפקודה עם מערכת הניהול של מסד הנתונים

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

  • grep לחיפוש בנתונים בטקסט פשוט על מנת למצוא טקסט או מחרוזת מסוימת.
  • netstat לבדיקת הגדרות הרשת עם הדגלים -lnp להצגת חיבורים המאזינים (-l), כתובות נומריות (-n), וה-PID והשם של התוכנית לכל חיבור (-p).
  • systemctl לשליטה בשירות systemd.

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

| DBMS | CLI כלי |
|—————–|———————|
| MySQL | mysql |
| PostgreSQL | psql |
| SQLite | sqlite3 |
| MongoDB | mongo |
| Microsoft SQL Server | sqlcmd |
| Oracle Database | sqlplus |

DBMS CLI tool
MongoDB MongoDB shell
MySQL mysql
PostgreSQL psql
Redis redis-cli

**בעברית:**

קיימים גם לקוחות שורת פקודה של צד שלישי עבור חלק ממערכות ניהול מסדי הנתונים, כמו לדוג' Redli עבור Redis.

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

לכל לקוח שורת פקודה של מערכת מנהל מסדי הנתונים יש תחביר משלו עבור פקודות.

לאחר שלמדת על אילוצי SQL, ייתכן ש־תשתמש באילוצים האלו עם מסד נתונים של MySQL על ידי הרצת הפקודות הבאות:

  • CREATE DATABASE כדי ליצור מסד נתונים.
  • USE כדי לבחור מסד נתונים.
  • CREATE TABLE כדי ליצור טבלה עם מפרטים לגבי העמודות והאילוצים המופעלים על העמודות הללו.
  • ALTER TABLE עם ADD כדי להוסיף אילוצים לטבלה קיימת ועם DROP CONSTRAINT כדי למחוק אילוץ מטבלה קיימת.

אתה יכול להמשיך לפתח את המיומנויות שלך במסד נתונים של MySQL עם סדרת איך להשתמש ב־SQL.

עם Redis, יש לך התקינת ואיבטחת את Redis באמצעות הפקודות הבאות וניסית לשנות את השמות של הפקודות:

  • auth כדי לאמת לקוחות לגישה לבסיס הנתונים.
  • exit ו־quit כדי לצאת מהפקודות של Redis-CLI.
  • get לאחזר את ערך המפתח.
  • ping לבדיקת התקשורת.
  • set להגדיר מפתחות.

ובמסד הנתונים של MongoDB, השתמשת ב-JSON דו־מימדי (ידוע כ־BSON) כדי להריץ פעולות CRUD עם השיטות הבאות לסינון שאילתות:

  • count כדי לבדוק את מספר האובייקטים באוסף מסוים.
  • deleteOne להסרת המסמך הראשון שמתאים למפרטים.
  • deleteMany להסרת מספר אובייקטים בבת אחת.
  • find לאחזרת מסמכים במסד הנתונים שלך עם אפשרות pretty להדפסה יפה יותר של השורות.
  • insertOne ליצירת מסמך יחיד.
  • insertMany להכנסת מסמכים מרובים בפעולה אחת או לאוסף.
  • ObjectId סוג אובייקט לאחסון מזהה אובייקט.
  • updateOne לעדכון של מסמך יחיד עם מפתחות מסוימים.
  • updateMany לעדכון כל מסמך באוסף שתואם את המסננים המצויינים.

כנראה תשתמש בפעולות CRUD כדי לפעול עם הנתונים שלך במגוון מערכות ניהול מסדי נתונים.

בדוק את עצמך

What does CRUD stand for?

CRUD הוא ראשי תיבות המשמשים לתיאור ארבע הפעולות היסודיות הבאות על נתונים:

  • צור
  • קראה
  • עדכן
  • מחק

בעודך יכול לבחור לנהל את מסד הנתונים שלך ישירות משורת הפקודה, תוכל גם להשתמש בממשק משתמש גרפי (GUI) למערכות ניהול מסדי נתונים רבות.

שימוש בממשק משתמש גרפי

קיימים הרבה כלים GUI שונים לעבודה עם מסד הנתונים שלך אם תחליט לא להשתמש בכלי CLI המותאמים.

כדי לנהל את הניהול של MySQL דרך האינטרנט, תוכל להשתמש ב-phpMyAdmin על ידי התקנת ואבטחת phpMyAdmin על מגוון רחב של מערכות הפעלה או התחברות מרחוק אל מסד נתונים מנוהל של MySQL. בנוסף, תוכל גם להשתמש ב-MySQL Workbench כדי להתחבר לשרת MySQL מרחוק.

בדומה ל- phpMyAdmin, pgAdmin היא ממשק רשתי לניהול של PostgreSQL. תוכל להתקין ולהגדיר את pgAdmin במצב שרת או להשתמש בו כדי לתזמן גיבויים אוטומטיים עם pgAgent.

ל-MongoDB, כדאי לשקול שימוש ב-MongoDB Compass כממשק גרפי לגישה לבסיס הנתונים שלך.

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

מה הבא?

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

למידע נוסף אודות עבודה עם מערכות ניהול מסד נתונים ספציפיות, תוכל לעקוב אחר הסדרות שלנו בנושא איך להשתמש ב־SQL ו־איך לנהל נתונים עם MongoDB. אם יש לך בעיות עם MySQL, תוכל לאתר באמצעות איך לאתר ולטפל בבעיות ב־MySQL. לבעיות ב־MongoDB, בדוק כיצד הבעיה שלך קשורה ל־איך לבצע פעולות CRUD ב־MongoDB.

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

אם אתה מעדיף לבנות את היישום שלך עם מסדי נתונים שמנהלים בצורה מלאה, בדוק את ההצעות של DigitalOcean לאשכולות MongoDB שמנוהלים, MySQL, או אחסון PostgreSQL, ו- Redis שמנהל. תוכל גם לבחור באפשרויות מסד נתונים פופולריות להתקנה בלחיצה אחת ב- DigitalOcean Marketplace.

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

Source:
https://www.digitalocean.com/community/tutorials/databases-checkpoint