PostgreSQL هو أحد أكثر أنظمة قواعد البيانات العلائقية شيوعًا. إنه برنامج مجاني ومفتوح المصدر يوسع لغة SQL بميزات إضافية للتعامل مع أعباء عمل البيانات المعقدة. يمكنه العمل مع أنواع بيانات مختلفة ، موثوقة وآمنة. تعرف على المزيد حول ميزات PostgreSQL.
في هذا الدليل ، سنتعلم المزيد حول إنشاء الجداول في مخطط في PostgreSQL.
المخططات في PostgreSQL
قد تحتوي قاعدة بيانات PostgreSQL على مخطط مُسمى واحد أو أكثر ، يحتوي كل مخطط على جداول.
يمكن تعيين نفس اسم الكائن عبر مخططات متعددة دون تعارض. على سبيل المثال ، شجرة المخطط / الجدول التالية صالحة:
- مخطط_أ
- الجدول 1
- الجدول 2
- مخطط ب
- الجدول 1
- الجدول 2
يمكنك التفكير في المخططات مثل الدلائل على مستوى نظام التشغيل. الاختلاف هو أنه لا يمكن أن تكون هناك مخططات متداخلة. تعرف على المزيد من التفاصيل حول المخطط على وثائق PostgreSQL .
يمكن أن تكون هناك أسباب متعددة لتنفيذ المخططات:
- عدة مستخدمين يستخدمون نفس قاعدة البيانات دون التعارض مع بعضهم البعض.
- تنظيم وإدارة أفضل لقواعد البيانات في مجموعات منطقية.
- يمكن لتطبيقات الجهات الخارجية إنشاء مخططها الفريد دون الاصطدام بالمخططات الحالية أو الكائنات الأخرى.
الجداول في PostgreSQL
تتكون أي قاعدة بيانات علائقية من عدة جداول ذات صلة ، يتكون كل منها من صفوف وأعمدة. تأتي PostgreSQL مع العديد من الجداول المضمنة التي تحتوي على معلومات النظام المختلفة. ومع ذلك ، يمكننا أيضًا إنشاء جداول جديدة ضمن قواعد البيانات والمخططات المعرفة من قبل المستخدم.
المتطلبات المسبقة:
لتنفيذ الخطوات الموضحة في هذا الدليل ، ستحتاج إلى المكونات التالية:
- نظام Linux مهيأ بشكل صحيح. تعلم المزيد عن تثبيت Ubuntu في VirtualBox .
- تثبيت مناسب لـ PostgreSQL. الدفع تثبيت PostgreSQL على أوبونتو .
- الوصول إلى أ مستخدم PostgreSQL مع إذن الاستخدام إلى قاعدة بيانات.
لغرض هذا الدليل ، سوف نستخدم postgres لأداء جميع الإجراءات في PostgreSQL.
تكوين جداول في مخطط
إنشاء قاعدة بيانات تجريبية
كما ذكرنا سابقًا ، توجد المخططات ضمن قاعدة بيانات. لأغراض التوضيح ، نقوم بإنشاء قاعدة بيانات وهمية ، لتجنب تعطيل أي قاعدة بيانات موجودة.
قم بالوصول إلى صدفة PostgreSQL كملف postgres :
$ sudo -i -u postgres psql
أنشئ قاعدة بيانات جديدة demo_db:
$ CREATE DATABASE demo_db؛
تحقق مما إذا تم إنشاء قاعدة البيانات بنجاح:
دولار \ ل
أخيرًا ، اتصل بقاعدة البيانات المنشأة حديثًا:
$ \ توصيل demo_db؛
المخطط العام
تأتي أي قاعدة بيانات جديدة في PostgreSQL مع مخطط افتراضي - عام . إذا حاولت إنشاء كائن بدون تحديد اسم المخطط ، فسيتم تحديد مخطط قاعدة البيانات العام افتراضيًا.
يقوم الأمر التالي بطباعة جميع المخططات المتوفرة في قاعدة بيانات PostgreSQL:
$ \ dn
بدلاً من ذلك ، يمكننا أيضًا استخدام استعلام SQL التالي:
حدد * من pg_catalog.pg_namespace ؛
إنشاء مخطط جديد
لإنشاء مخطط جديد ضمن قاعدة بيانات محددة ، تكون بنية الأوامر كما يلي:
$ إنشاء المخططباتباع القاعدة ، فلنقم بإنشاء demo_schema مخطط جديد:
إنشاء مخطط demo_schema $؛
تحقق من قائمة المخططات للتحقق:
$ \ dn
إنشاء جدول في مخطط
الآن بعد أن تم إنشاء مخطط الهدف ، يمكننا ملئه بالجداول.
بناء جملة إنشاء الجدول كما يلي:
إنشاء جدول <المخطط. <اسم_الجدول> (...
)
هنا:
- مخطط : يحدد هذا الحقل اسم المخطط حيث تم إنشاء الجدول. إذا لم يتم تقديم أي قيمة ، فسيتم إنشاء الجدول أسفل عام مخطط.
للتوضيح ، نقوم بإنشاء جدول بسيط:
إنشاء جدول demo_schema.demo_table (الاسم شار (64) ،
المعرف INT NULL
) ؛
هنا:
- الميدان اسم تم تحديده لتخزين سلسلة من 64 حرفًا.
- الميدان بطاقة تعريف يحتوي على قيم الأعداد الصحيحة. المصطلح ' غير فارغة ' يدل علي بطاقة تعريف لا يمكن أن يكون فارغًا أو فارغًا.
يمكننا التحقق من وجود الجدول باستخدام الاستعلام التالي:
حدد * من demo_schema.demo_table؛
إدخال البيانات في الجدول
مع وجود الجدول في مكانه الصحيح ، يمكننا الآن إدراج بعض القيم:
INSERT INTO demo_schema.demo_table (الاسم ، المعرف)القيم
('PQR' ، 45) ،
('IJK' ، 99)
؛
تحقق من محتوى الجدول:
حدد * من demo_schema.demo_table؛
إدارة المخطط
أذونات المخطط
بمساعدة إذن المخطط ، يمكننا إدارة الدور الذي يمكنه تنفيذ الإجراء على مخطط معين. من بين جميع الامتيازات الممكنة ، تدعم المخططات فقط إنشاء واستخدام.
لتحديث إذن المخطط لدور معين ، تكون بنية الأوامر كما يلي:
المنحة $
لإلغاء إذن المخطط لدور معين ، تكون بنية الأوامر كما يلي:
REVOKE $تحقق من التغيير باستخدام الأمر التالي:
$ \ dn +
خصائص تعديل المخطط
بمساعدة من ALTER SCHEMA البيان ، يمكننا تعديل الخصائص المختلفة للمخطط. على سبيل المثال: الملكية واسم المخطط وما إلى ذلك.
لتغيير اسم المخطط ، استخدم الاستعلام التالي:
$ ALTER SCHEMA
لتغيير ملكية مخطط ، استخدم الاستعلام التالي:
$ ALTER SCHEMA
لاحظ أنه لتغيير الملكية ، يجب أن يمتلك المستخدم الحالي الامتداد خلق إذن للمخطط.
حذف مخطط
إذا لم يعد المخطط ضروريًا ، فيمكننا حذفه باستخدام امتداد يسقط استفسار:
مخطط DROP $ <المخطط_الاسم>
إذا كان المخطط يحتوي على أي كائن ، فنحن بحاجة إلى ملف تتالي المعدل:
مخطط DROP $ <المخطط_الاسم> CASCADE ؛
إدارة الجدول
أذونات الجدول
مثل المخطط ، يأتي كل جدول أيضًا مع إدارة الأذونات ، وتحديد الإجراء الذي يمكن أن يؤديه الدور على الطاولة.
للتحقق من أذونات الجدول ، استخدم الأمر التالي في psql:
$ \ dp