PostgreSQL היא אחת ממערכות מסדי הנתונים הפופולריות ביותר ביחס לאובייקטים. זוהי תוכנה חינמית וקוד פתוח שמרחיבה את שפת SQL עם תכונות נוספות כדי להתמודד עם עומסי העבודה המורכבים של הנתונים. זה יכול לעבוד עם סוגי נתונים שונים, אמין ומאובטח. למידע נוסף על התכונות של PostgreSQL.
במדריך זה, נלמד עוד על יצירת טבלאות בסכימה ב-PostgreSQL.
סכימות ב-PostgreSQL
מסד נתונים PostgreSQL עשוי להכיל סכימה אחת או יותר בשם, כל סכימה מכילה טבלאות.
ניתן להקצות את אותו שם אובייקט על פני מספר סכימות ללא התנגשות. לדוגמה, הסכימה/עץ הטבלה הבאים חוקיים:
- schema_a
- שולחן 1
- שולחן 2
- schema_b
- שולחן 1
- שולחן 2
אתה יכול לחשוב על סכמות כמו ספריות ברמת מערכת ההפעלה. ההבדל הוא שלא יכולות להיות סכמות מקוננות. למידע נוסף ומעמיק על סכימה על תיעוד PostgreSQL .
יכולות להיות מספר סיבות ליישם את הסכמות:
- מספר משתמשים המשתמשים באותו מסד נתונים מבלי להתנגש זה עם זה.
- ארגון וניהול טובים יותר של מסדי נתונים לקבוצות לוגיות.
- אפליקציות של צד שלישי יכולות ליצור את הסכימה הייחודית שלהן מבלי להתנגש בסכימות הקיימות או באובייקטים אחרים.
טבלאות ב-PostgreSQL
כל מסד נתונים יחסי מורכב ממספר טבלאות קשורות, שכל אחת מהן מורכבת משורות ועמודות. PostgreSQL מגיע עם מספר טבלאות מובנות המכילות מידע מערכת שונה. עם זאת, אנו יכולים גם ליצור טבלאות חדשות תחת מסדי נתונים וסכימות המוגדרות על ידי המשתמש.
דרישות מוקדמות:
כדי לבצע את השלבים המוצגים במדריך זה, תזדקק לרכיבים הבאים:
- מערכת לינוקס מוגדרת כהלכה. למידע נוסף על התקנת אובונטו ב-VirtualBox .
- התקנה נכונה של PostgreSQL. לבדוק התקנת PostgreSQL על אובונטו .
- גישה לא משתמש PostgreSQL עם הרשאת USAGE למסד נתונים.
לצורך מדריך זה, נשתמש postgres כדי לבצע את כל הפעולות ב-PostgreSQL.
יצירת טבלאות בסכימה
יצירת מאגר הדגמות
כפי שהוזכר קודם לכן, סכימות קיימות תחת מסד נתונים. למטרות הדגמה, אנו יוצרים מסד נתונים דמה, תוך הימנעות מהפרעה לכל מסד נתונים קיים.
גש למעטפת PostgreSQL כ postgres :
$ sudo -i -u postgres psql
צור מסד נתונים חדש demo_db:
$ CREATE DATABASE demo_db;
ודא אם מסד הנתונים נוצר בהצלחה:
$ \l
לבסוף, התחבר למסד הנתונים החדש שנוצר:
$ \connect demo_db;
הסכימה הציבורית
כל מסד נתונים חדש ב-PostgreSQL מגיע עם סכימת ברירת מחדל - פּוּמְבֵּי . אם תנסה ליצור אובייקט מבלי לציין את שם הסכימה, הסכימה הציבורית נבחרה כברירת מחדל.
הפקודה הבאה מדפיסה את כל הסכימה הזמינה במסד הנתונים של PostgreSQL:
$ \dn
לחלופין, אנו יכולים להשתמש גם בשאילתת SQL הבאה:
$ SELECT * FROM pg_catalog.pg_namespace;
יצירת סכימה חדשה
כדי ליצור סכימה חדשה תחת מסד נתונים ספציפי, מבנה הפקודה הוא כדלקמן:
$ CREATE SCHEMA <שם_סכימה>;בעקבות הכלל, בואו ניצור סכימה חדשה demo_schema:
$ CREATE SCHEMA demo_schema;
בדוק את רשימת הסכימה לאימות:
$ \dn
יצירת טבלה בסכימה
כעת, לאחר שנוצרה לנו סכימת היעד, נוכל לאכלס אותה בטבלאות.
התחביר ליצירת טבלה הוא כדלקמן:
צור טבלה <סכימה>.<שם_טבלה> (...
)
כאן:
- סכֵימָה : שדה זה מציין את שם הסכימה שבה נוצרת הטבלה. אם לא מסופק ערך, הטבלה נוצרת תחת פּוּמְבֵּי סכֵימָה.
להדגמה, אנו יוצרים טבלה פשוטה:
CREATE TABLE demo_schema.demo_table (NAME CHAR(64),
ID INT NOT NULL
);
כאן:
- השדה שֵׁם מצוין לאחסון מחרוזת של 64 תווים.
- השדה תְעוּדַת זֶהוּת מכיל את ערכי המספרים השלמים. התנאי ' לא ריק ' מציין זאת תְעוּדַת זֶהוּת לא יכול להיות ריק או ריק.
אנו יכולים לאמת את קיומה של הטבלה באמצעות השאילתה הבאה:
$ SELECT * FROM demo_schema.demo_table;
הכנסת נתונים לטבלה
עם הטבלה במקום, אנו יכולים כעת להוסיף כמה ערכים:
INSERT INTO demo_schema.demo_table (שם, מזהה)ערכים
('PQR', 45),
('IJK', 99)
;
בדוק את תוכן הטבלה:
$ SELECT * FROM demo_schema.demo_table;
ניהול סכימה
הרשאות סכימה
בעזרת הרשאת סכימה, אנו יכולים לנהל איזה תפקיד יכול לבצע איזו פעולה בסכמה ספציפית. מתוך כל ההרשאות האפשריות, סכימות תומכות רק צור ושימוש.
כדי לעדכן את הרשאת הסכימה עבור תפקיד מסוים, מבנה הפקודה הוא כדלקמן:
$ GRANT
כדי לבטל את הרשאת הסכימה עבור תפקיד מסוים, מבנה הפקודה הוא כדלקמן:
$ REVOKEאמת את השינוי באמצעות הפקודה הבאה:
$ \dn+
אלטר סכימה נכסים
בעזרת ה ALTER SCHEMA הצהרה, אנו יכולים לשנות את המאפיינים השונים של סכימה. לדוגמה: בעלות, שם סכימה וכו'.
כדי לשנות את שם הסכימה, השתמש בשאילתה הבאה:
$ ALTER SCHEMA <שם_סכימה> שנה את שם אל <שם_סכימה_חדש>;
כדי לשנות את הבעלות על סכימה, השתמש בשאילתה הבאה:
$ ALTER SCHEMA
שים לב שכדי לשנות את הבעלות, המשתמש הנוכחי חייב להיות בעל לִיצוֹר הרשאה לסכימה.
מחיקת סכימה
אם אין עוד צורך בסכימה, נוכל למחוק אותה באמצעות ה- יְרִידָה שאילתא:
$ DROP SCHEMA
אם הסכימה מכילה אובייקט כלשהו, אנו זקוקים ל- אֶשֶׁד מַתקֵן:
$ DROP SCHEMA
ניהול שולחן
הרשאות טבלה
כמו סכימה, כל טבלה מגיעה גם עם ניהול הרשאות, המגדיר איזו פעולה תפקיד יכול לבצע בטבלה.
כדי לבדוק את ההרשאות של טבלה, השתמש בפקודה הבאה ב-psql:
$ \dp <שם_טבלה>
שנה מאפייני טבלה
בעזרת ה שינוי טבלה הצהרה, אנו יכולים לשנות את ההיבטים הרבים של טבלה שכבר קיימת.
לדוגמה, כדי לשחרר עמודה, השאילתה נראית כך:
$ ALTER TABLE