البرنامج التعليمي: تصيم قاعدة بيانات ذات صلة في Azure SQL Database باستخدام SSMS
ينطبق على: قاعدة بيانات Azure SQL
قاعدة بيانات Azure SQL هي قاعدة بيانات علائقية كخدمة (DBaaS) في Microsoft Cloud (Azure). في هذا البرنامج التعليمي، تتعلم كيفية استخدام بوابة Azure وSQL Server Management Studio (SSMS) لأجل:
- تصميم قاعدة بيانات باستخدام مدخل Azure
- إعداد قاعدة جدار حماية IP على مستوى الخادم باستخدام مدخل Azure
- الاتصال إلى قاعدة البيانات مع SSMS
- إنشاء جداول باستخدام SSMS
- بيانات التحميل المجمع مع BCP
- الاستعلام عن البيانات باستخدام SSMS
في حال لم يكن لديك اشتراك Azure، يمكنك إنشاء حساب مجاني قبل البدء.
تلميح
تساعدك الوحدة النمطية التالية من Microsoft Learn على تعلم كيفية تطوير وتكوين تطبيق ASP.NET يستعلم عن Azure SQL Database، بما في ذلك إنشاء قاعدة بيانات بسيطة.
ملاحظة
لغرض هذا البرنامج التعليمي، ونحن نستخدم Azure SQL Database. يمكنك أيضاً استخدام قاعدة بيانات مجمعة في تجمع مرن أو SQL Managed Instance. للحصول على الاتصال بمثيل مدار SQL، راجع التشغيل السريع لـ SQL Managed Instance: : تكوين الجهاز الافتراضي لـ Azure للاتصال بـ Azure SQL Managed Instance والتشغيل السريع: تكوين اتصال من نقطة إلى Azure SQL Managed Instance من محلي.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، تأكد من تثبيت:
- SQL Server Management Studio (أحدث إصدار)
- BCP وSQLCMD (أحدث إصدار)
سجِّل الدخول إلى مدخل Microsoft Azure
تسجيل الدخول إلى مدخل Azure.
إنشاء قاعدة بيانات فارغة في Azure SQL Database
يتم إنشاء قاعدة بيانات في Azure SQL Database مع مجموعة محددة من موارد الحوسبة والتخزين. يتم إنشاء قاعدة البيانات ضمن Azure resource group، وإدارتها باستخدام خادم SQL منطقي.
اتبع هذه الخطوات لإنشاء حاوية فارغة.
من قائمة مدخل Microsoft Azure أو من صفحة Home، حدد Create a resource.
في الصفحة جديد، حدد قواعد البيانات في المقطع سوق Azure، ثم انقر فوق قاعدة بيانات SQL في المقطع المميز.
املأ نموذج SQL Database بالمعلومات التالية، كما هو موضح في الصورة السابقة:
الإعداد القيمة المقترحة الوصف اسم قاعدة البيانات yourDatabase للحصول على أسماء قواعد بيانات صالحة، راجع معرفات قاعدة البيانات. الاشتراك yourSubscription للحصول على تفاصيل حول اشتراكاتك، راجع الاشتراكات. مجموعة الموارد yourResourceGroup للحصول على أسماء مجموعات موارد صالحة، راجع تسمية القواعد والقيود. تحديد المصدر قاعدة بيانات فارغة تعيين ضرورة إنشاء قاعدة بيانات فارغة. انقر فوق Server لاستخدام خادم موجود أو إنشاء وتكوين خادم جديد. يمكنك إما تحديد خادم موجود، أو النقر فوق Create a new server، ثم تعبئة نموذج New server بالمعلومات التالية:
الإعداد القيمة المقترحة الوصف اسم الخادم أي اسم فريد بصفة عامة للحصول على أسماء خوادم صالحة، راجع قواعد التسمية وقيودها. تسجيل دخول مسؤول الخادم أي اسم صالح للحصول على أسماء تسجيل دخول صالحة، راجع معرفات قاعدة البيانات. كلمة المرور أي كلمة مرور صالحة يجب أن تحتوي كلمة المرور على ثمانية أحرف على الأقل ويجب أن تستخدم أحرفاً من ثلاث فئات من الفئات التالية: أحرف الحالة العليا، أحرف الحالة الدنيا، الأرقام، والأحرف غير الأبجدية الرقمية. الموقع أي موقع صالح للحصول على معلومات حول المناطق، راجع Azure Regions. انقر فوق Select.
انقر فوق Pricing tier لتحديد مستوى الخدمة، وعدد وحدات DTUs أو vCores ومقدار التخزين. يمكنك استكشاف الخيارات لعدد وحدات DTUs/vCores ومقدار التخزين المتوفرة لك لكل مستوى خدمة.
بعد تحديد مستوى الخدمة، وعدد وحدات DTUs أو vCores، ومقدار التخزين، انقر فوق Apply.
أدخل ترتيبًا لقاعدة البيانات الفارغة (لهذا البرنامج التعليمي، استخدم القيمة الافتراضية). لمزيد من المعلومات حول عمليات التجميع، راجع عمليات التجميع
الآن بعد إكمال نموذج SQL Database، انقر فوق Create لتزويد قاعدة البيانات. قد تستغرق هذه الخطوة بضع دقائق.
في شريط الأدوات، انقر فوق Notifications لمراقبة عملية التوزيع.
إنشاء قاعدة جدار حماية IP على مستوى الخادم
تنشئ Azure SQL Database جدار حماية IP على مستوى الخادم. يمنع جدار الحماية هذا التطبيقات الخارجية والأدوات من الاتصال بالخادم وأي قواعد بيانات على الخادم ما لم تسمح قاعدة جدار الحماية بملكية الـ IP الخاصة بها من خلال جدار الحماية. لتمكين الاتصال الخارجي بقاعدة البيانات الخاصة بك، يجب أولاً إضافة قاعدة جدار حماية IP لعنوان IP الخاص بك (أو نطاق عنوان IP). اتبع هذه الخطوات لإنشاء قاعدة جدار حماية IP على مستوى الخادم.
هام
تضطلع قاعدة بيانات Azure SQL بالاتصال عبر المنفذ 1433. إذا كنت تحاول الاتصال بهذه الخدمة ضمن شبكة تابعة لشركة، فقد لا يسمح جدار حماية الشبكة بحركة الاستخدام الصادرة عبر المنفذ 1433. إذا كان الأمر كذلك، فلا يمكنك الاتصال بقاعدة البيانات الخاصة بك إلا إذا فتح المسؤول المنفذ 1433.
بعد اكتمال النشر، حدد قواعد بيانات SQL من قائمة مدخل Azure أو ابحث عن قواعد بيانات SQL وحددها من أي صفحة.
حدد قاعدة البيانات الخاصة بك على صفحة قواعد البيانات SQL. تفتح صفحة النظرة العامة لقاعدة البيانات الخاصة بك، وتظهر لك اسم الخادم المؤهل بالكامل (مثل) وتوفر
contosodatabaseserver01.database.windows.net
خيارات لمزيد من التكوين.نسخ اسم الملقم المؤهل بالكامل هذا لاستخدامه للاتصال بالخادم وقواعد البيانات من SQL Server Management Studio.
انقر فوق تعيين جدار حماية الخادم على شريط الأدوات. تفتح الصفحة Firewall settings للخادم.
انقر فوق Add client IP في شريط الأدوات لإضافة عنوان IP الحالي الخاص بك إلى قاعدة جدار حماية IP جديد. يمكن أن تفتح قاعدة جدار حماية IP المنفذ 1433 لعنوان IP واحد أو نطاق من عناوين IP.
انقر فوق Save. يتم إنشاء قاعدة جدار حماية IP على مستوى الخادم لعنوان IP الحالي الخاص بك، لفتح المنفذ 1433 في الخادم.
انقر فوق OK، ثم أغلق الصفحة Firewall settings.
يمكن أن يمر عنوان IP الخاص بك الآن من خلال جدار حماية IP. يمكنك الآن الاتصال بقاعدة البيانات باستخدام SQL Server Management Studio أو أداة أخرى من اختيارك. تأكد من استخدام حساب مسؤول الخادم الذي أنشأته سابقا.
هام
بشكل افتراضي، يتم تمكين الوصول من خلال جدار حماية IP قاعدة بيانات SQL لجميع خدمات Azure. انقر فوق إيقاف تشغيل في هذه الصفحة لتعطيل جميع خدمات Azure.
الاتصال بقاعدة البيانات
استخدم SQL Server Management Studio لإنشاء اتصال بقاعدة البيانات الخاصة بك.
افتح SQL Server Management Studio.
في مربع الحوار الاتصال بالخادم، أدخل المعلومات التالية:
الإعداد القيمة المقترحة الوصف نوع الخادم محرك قاعدة البيانات هذه القيمة مطلوبة. اسم الخادم اسم الخادم المؤهل بالكامل على سبيل المثال، yourserver.database.windows.net. المصادقة مصادقة خادم SQL مصادقة SQL هي نوع المصادقة الوحيد الذي قمنا بتكوينه في هذا البرنامج التعليمي. تسجيل الدخول حساب المسؤول عن الخادم الحساب الذي حددته عند إنشاء الخادم. كلمة المرور كلمة المرور لحساب مسؤول الخادم كلمة المرور التي حددتها عند إنشاء الخادم. انقر فوق خيارات في مربع الحوار الاتصال بالخادم. في المقطع الاتصال إلى قاعدة البيانات، أدخل قاعدة البيانات للاتصال بقاعدة البيانات هذه.
انقر فوق Connect. يتم فتح إطار مستكشف الكائنات في SSMS.
في Object Explorer، قم بتوسيع قواعد البيانات ثم قم بتوسيع قاعدة البيانات لعرض الكائنات في قاعدة بيانات نموذج.
إنشاء جداول في قاعدة البيانات
إنشاء مخطط قاعدة بيانات مع أربعة جداول التي نموذج نظام إدارة الطلاب للجامعات باستخدام Transact-SQL:
- الشخص
- الدورة التدريبية
- طالب
- الائتمان
يوضح الرسم التخطيطي التالي كيفية ارتباط هذه الجداول ببعضها. تشير بعض هذه الجداول إلى أعمدة في جداول أخرى. على سبيل المثال، يشير الجدول الطالب إلى عمود PersonId في جدول الشخص. دراسة الرسم البياني لفهم كيفية ترتبط الجداول في هذا البرنامج التعليمي إلى بعضها. لإلقاء نظرة متعمقة على كيفية إنشاء جداول قاعدة بيانات فعالة، راجع إنشاء جداول قاعدة بيانات فعالة. للحصول على معلومات حول اختيار أنواع البيانات، راجع أنواع البيانات.
ملاحظة
يمكنك أيضاً استخدام مصمم الجدول في SQL Server Management Studio لإنشاء الجداول وتصميمها.
في مستكشف الكائنات، انقر بزر الماوس الأيمن فوق قاعدة البيانات وحدد استعلام جديد. فتح إطار استعلام فارغ متصل بقاعدة البيانات.
في إطار الاستعلام تنفيذ الاستعلام التالي لإنشاء أربعة جداول في قاعدة البيانات الخاصة بك:
-- Create Person table CREATE TABLE Person ( PersonId INT IDENTITY PRIMARY KEY, FirstName NVARCHAR(128) NOT NULL, MiddelInitial NVARCHAR(10), LastName NVARCHAR(128) NOT NULL, DateOfBirth DATE NOT NULL ) -- Create Student table CREATE TABLE Student ( StudentId INT IDENTITY PRIMARY KEY, PersonId INT REFERENCES Person (PersonId), Email NVARCHAR(256) ) -- Create Course table CREATE TABLE Course ( CourseId INT IDENTITY PRIMARY KEY, Name NVARCHAR(50) NOT NULL, Teacher NVARCHAR(256) NOT NULL ) -- Create Credit table CREATE TABLE Credit ( StudentId INT REFERENCES Student (StudentId), CourseId INT REFERENCES Course (CourseId), Grade DECIMAL(5,2) CHECK (Grade <= 100.00), Attempt TINYINT, CONSTRAINT [UQ_studentgrades] UNIQUE CLUSTERED ( StudentId, CourseId, Grade, Attempt ) )
قم بتوسيع عقدة الجداول ضمن قاعدة البيانات في مستكشف الكائنات لمشاهدة الجداول التي قمت بإنشائها.
تحميل البيانات في الجداول
إنشاء مجلد يسمى sampleData في مجلد التنزيلات لتخزين نموذج البيانات لقاعدة البيانات الخاصة بك.
انقر بزر الماوس الأيمن فوق الارتباطات التالية وحفظها في المجلد sampleData.
افتح إطار موجه أوامر وانتقل إلى مجلد sampleData.
تنفيذ الأوامر التالية لإدراج بيانات نموذج في الجداول استبدال قيم الملقموقاعدة البياناتوالمستخدموكلمة المرور مع القيم للبيئة الخاصة بك.
bcp Course in SampleCourseData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t "," bcp Person in SamplePersonData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t "," bcp Student in SampleStudentData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t "," bcp Credit in SampleCreditData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
يتوفر لديك الآن بيانات النموذج المحملة في الجداول التي سبق لك إنشاؤها.
بيانات الاستعلام
قم بتنفيذ الاستعلامات التالية لاسترداد المعلومات من جداول قاعدة البيانات. راجع كتابة استعلامات SQL لمعرفة المزيد حول الكتابة SQL الاستعلامات. ينضم الاستعلام الأول إلى جميع الطاولات الأربعة للعثور على الطلاب الذين يدرسهم "دومينيك بوب" الذين لديهم درجة أعلى من 75٪. ينضم الاستعلام الثاني إلى جميع الجداول الأربعة ويجد الدورات التي التحق بها "نوي كولمان".
في إطار استعلام SQL Server Management Studio تنفيذ الاستعلام التالي:
-- Find the students taught by Dominick Pope who have a grade higher than 75% SELECT person.FirstName, person.LastName, course.Name, credit.Grade FROM Person AS person INNER JOIN Student AS student ON person.PersonId = student.PersonId INNER JOIN Credit AS credit ON student.StudentId = credit.StudentId INNER JOIN Course AS course ON credit.CourseId = course.courseId WHERE course.Teacher = 'Dominick Pope' AND Grade > 75
في نافذة الاستعلام، قم بتنفيذ الاستعلام التالي:
-- Find all the courses in which Noe Coleman has ever enrolled SELECT course.Name, course.Teacher, credit.Grade FROM Course AS course INNER JOIN Credit AS credit ON credit.CourseId = course.CourseId INNER JOIN Student AS student ON student.StudentId = credit.StudentId INNER JOIN Person AS person ON person.PersonId = student.PersonId WHERE person.FirstName = 'Noe' AND person.LastName = 'Coleman'
الخطوات التالية
في هذا البرنامج التعليمي، تعلمت العديد من المهام قاعدة البيانات الأساسية. تعلمت كيفية القيام بالتالي:
- تصميم قاعدة بيانات باستخدام مدخل Azure
- إعداد قاعدة جدار حماية IP على مستوى الخادم باستخدام مدخل Azure
- الاتصال إلى قاعدة البيانات مع SSMS
- إنشاء جداول باستخدام SSMS
- بيانات التحميل المجمع مع BCP
- الاستعلام عن البيانات باستخدام SSMS
تقدم إلى البرنامج التعليمي التالي لمعرفة المزيد عن تصميم قاعدة بيانات باستخدام Visual Studio وC#.