مبادئ قواعد البيانات وطرق تصميمها
Download
Report
Transcript مبادئ قواعد البيانات وطرق تصميمها
مبادئ قواعد البيانات وطرق تصميمها
231حسب
محاضرة :لغات االستعالم والجبر العالئقي
Query Language & The Relational Algebra
أحصل على قاعدة البيانات Bookstoreمع األمثلة الكاملة
وقواعد البيانات األخرى والدروس
على الرابط -محاضرات :
http://www.ttc.edu.sa/comp/lectures.php
أ .عبد هللا باقاسه
لغات الاس تعالم Query Language
• يمكن تعريف االستعالم بأنه :طلب تكوين جدول جديد يحتوي
على بعض النتائج ذات معايير معينة من جداول قاعدة البيانات.
• فمثال في مثالنا السابق (قاعدة بيانات المكتبة )Bookstoreنريد
أن نستعلم عن الكتب التي تنشرها دار نشر معينة والتي يزيد
سعرها عن 50ر.س .فسنحصل على جدول مشابه للجدول
التالي:
Price
Title
PubName
20 SR
Learn HTML
alroshd
40 SR
PHP for Dummies
alroshd
• هناك فرق بين الجداول األساسية (القاعدية) التي تتكون منها
بنية قاعدة البيانات وبين الجداول الناتجة (المشتقة) من قاعدة
البيانات ،والنوع الثاني من الجداول يأخذ حجم أكبر في الذاكرة.
• ومما يهم معرفته في استعالم قواعد البيانات (الجبر العالئقي)
وهو الذي سنستخدمه في إجراء االستعالمات على قاعدة
البيانات باستخدام برنامج Accessأو حتى لغة SQLالمتوفرة مع
البرنامج.
تفاصيل اجلرب العالئقي
• سنناقش في هذا الجزء تفاصيل الجبر العالئقي المتعلق بقواعد
البيانات ولكن يجب ان نعرف كيف سيقوم برنامج Accessبتنفيذ
عمليات الجبر العالئقي هذه.
• يمكن لبرنامج Accessالقيام بذلك عن طريق إنشاء استعالم جديد
من (انشاء استعالم في طريقة عرض التصميم) فتظهر نافذة
كالتالي:
تفاصيل اجلرب العالئقي
•
•
•
•
•
•
•
•
يمكن تقسيم العمليات األساسية في الجبر العالئقي إلى:
-1عمليات تشغيل المجموعات (ألن لها عالقة بنظرية المجموعات
الرياضية)
-2عمليات تشغيل قواعد البيانات العالئقية (الجدولية).
أوال :عمليات التشغيل المجموعات ،ومنها:
أ ) إعادة التسمية :Renameونعني به تغيير اسم سمة ما في
جدول ،فإذا كان لدينا جدول Tفيه سمة تدعى Aفإننا نشير إلى
عملية إعادة تسمية للسمة Aإلى Bبالطريقة التالية:
)• Ren A B(T
مثال لو طبقنا هذه العملية على جدول Booksفي قاعدة بيانات
المكتبة BookStoreلتغيير سمة BIDإلى Bnoفستكون العملية
بالشكل التالي:
)• Ren BID BNo (Book
وسيكون الناتج هو تغيير اسم هذا الحقل (أو السمة) في الجدول.
مثال :تغيير سمات بعض الجداول في قاعدة بيانات المكتبة
.Bookstore
تفاصيل اجلرب العالئقي
•
•
•
•
•
ب) التوحيد :Unionإذا كان Wو Sجدولين لهما نفس السمات
(الحقول) فيمكن توحيد هذين الجدولين والذي هو عبارة عن تضمين
كافة الصفوف (السجالت) من الجدولين في جدول واحد ،ويعبر عنه
بالعالقة التالية:
• W U S Union1
حيث Union1هو الجدول الجديد الناتج من عملية االتحاد.
ويمكن إجراء عملية التوحيد
W
S
WUS
في برنامج Accessبطريقتين :
A1
A2
A1
A2
A1
A2
a
b
e
f
a
b
-1نسخ سجالت الجدول
c
d
g
h
c
d
المحدد ولصقه في الجدول
i
j
e
f
اآلخر عن طريق األمر (لصق
g
h
إلحاق).
i
j
-2عن طريق اجراء استعالم
إلحاق .Append Queryمن
قائمة استعالمات.
تفاصيل اجلرب العالئقي
• ج) التقاطع :Intersectionإن التقاطع بين جدولين Sو Wلهما
نفس السمات هو جدول يتألف من الصفوف المشتركة في كال
الجدولين
• W ∩ S Inter1
• حيث Inter1هو الجدول الجديد الناتج من عملية التقاطع.
• ويمكن تطبيق عملية التقاطع
في برنامج Accessبالطريقة
التالية:
راجع الملحق (عمليات الجبر
العالئقي)
W∩S
W
S
A2
A1
A2
A1
A2
A1
b
a
b
a
b
a
d
c
h
g
d
c
d
c
تفاصيل اجلرب العالئقي
• د) الفرق :Differenceالفرق بين جدولين Sو (W - S) Wلهما
نفس السمات هو الجدول الذي يتضمن جميع الصفوف الموجودة في
جدول Wوغير موجودة في جدول Sكما في المثال التالي:
• W - S Diff1
• حيث Diff1هو الجدول الجديد الناتج من عملية الفرق.
• حيث يمكن إجراء عملية
التقاطع او الفرق في برنامج
Accessبإنشاء جدولين بحيث
تكون هناك صفوف متشابهة
البيانات في كال الجدولين ثم
ننشيء استعالم جديد ونربط
بين الجدولين بالطريقة
المعروفة راجع ملحق
(عمليات الجبر العالئقي)
W-S
W
S
A2
A1
A2
A1
A2
A1
b
a
d
c
b
a
h
g
j
i
d
c
f
e
f
e
h
g
تفاصيل اجلرب العالئقي
• د) الجداء الديكارتي :Cartesian Productفي حالة تعريف
الجداء الديكارتي للجداول فإننا نحتاج إلى تعديل الطريقة التي نكتب
بها أسماء السمات فقط في حالة وجود جدولين يتضمنان نفس
االسم .مثال جدول المؤلفين وجدول الموظفين لهما نفس السمة
وهي Nameفتعرف السمات بالشكل التالي Author.Nameو
Employee.Nameوالجداء الديكارتي :هو ( ) W ×Sهو الجدول
الذي يتضمن مجموعة سماته جميع السمات المعتبرة لجميع سمات
Wو Sكالتالي:
• W × S CarPro1
• حيث CarPro1هو الجدول الجديد الناتج من عملية الجداء الديكارتي.
T ×S
S
T
T.A2
T.A1
S.A2
S.A1
A2
A1
A2
A1
f
e
b
a
f
e
b
a
h
g
b
a
h
g
d
c
j
i
b
a
j
i
f
e
d
c
h
g
d
c
j
i
d
c
مثال :راجع المرجع السابق .
لغة الاس تعالم البنيوية يف (SQL) Access
• مقدمة:
• لغة ال SQLومعناها Structured Query Languageهي اللغة
األكثر انتشارا واستخداما في قواعد البيانات الحالية.
• تعريفها :هي لغة نظام إدارة قواعد بيانات متكامل ).(DBMS
• وتتضمن SQLالمكونات التالية:
-1لغة تعريف البيانات : (Data Definition Language) DDL
للسماح بتعريف (إنشاء) مكونات قاعدة البيانات كالجداول مثال.
-2لغة معالجة البيانات : (Data Manipulation Language) DML
للسماح بمعالجة مكونات قاعدة البيانات كتصميم االستعالمات .
-3لغة التحكم بالبيانات : (Data Control Language) DCL
لتأمين األمن الداخلي والصالحيات لقاعدة البيانات والنسخ
االحتياطي.
وسنتحدث عن كل مكون من المكونات السابقة بشيء من التفصيل
ولكن قبلها دعونا نستعرض كيفية تعامل نظام إدارة قواعد البيانات
مع كل هذه المكونات.
لغة الاس تعالم البنيوية يف (SQL) Access
• نظام إدارة قواعد البيانات:
مديري قواعد البيانات – المبرمجين – المستخدمين
تطبيقات وبرامج
مفكرة
النظام
قواعد البيانات
Databases
DBMS
قاموس
البيانات
برامج وأدوات مساعدة
لغة الاس تعالم البنيوية يف (SQL: structured Query Language) Access
• أوال لغة تعريف البيانات :Data Definition Language DDL
• حيث يوجد لدينا أربعة أوامر وهي :
(إلنشاء جدول جديد) CREATE TABLE
(لتعديل جدول :إضافة عمود ،حذفه ،إضافة فهرس) ALTER TABLE
(إلسقاط ”حذف“ جدول أو فهرس من الفهارس) DROP TABLE
(إلنشاء فهرس جديد) CREATE INDEX
وسوف نستعرض بعض األوامر منها :
عبارة إنشاء جدول :CREATE TABLE
وشكلها كالتالي:
CREATE TABLE tablename
PRIMARYKEYNAME PRIMARY KEY,
(colname1 type(size) CONSTRAINT
; ) )colname2 type(size
مثال :قاعدة بيانات المكتبة
لغة الاس تعالم البنيوية يف (SQL) Access
• تابع :أوال لغة تعريف البيانات : DDL
عبارة إسقاط جدول :DROP TABLE
وشكلها كالتالي:
; DROP TABLE tablename
مثال :قاعدة بيانات المكتبة
لغة الاس تعالم البنيوية يف (SQL) Access
• ثانيا لغة تعديل البيانات Data Manipulation Language :
: DML
• حيث يوجد لدينا أربعة أوامر وهي :
(إلستعالمات التحديد) SELECT
(الستعالمات التحديث في الجداول) UPDATE
(إلستعالمات اإلضافة للجداول) INSERT INTO
(إلستعالمات الحذف) DELETE
وسوف نستعرض كل أمر منها بشي من التفصيل:
عبارة التحديد :SELECT
وشكلها كالتالي (ولها أشكال أخرى إال أن هذا هو الشكل الشائع) :
]*SELECT [colname1/
]*FROM [tablename1/
… WHERE condition1 and condition2
; ORDER BY colname
مثال :قاعدة بيانات المكتبة
لغة الاس تعالم البنيوية يف (SQL) Access
• تابع :ثانيا لغة تعديل البيانات : DML
عبارة التحديث :UPDATE
وشكلها كالتالي (ولها أشكال أخرى إال أن هذا هو الشكل الشائع) :
UPDATE tablename
SET colname = newvale
; WHERE condition1
مثال :قاعدة بيانات المكتبة
عبارة اإلدخال :INSERT INTO
وشكلها كالتالي (ولها أشكال أخرى إال أن هذا هو الشكل الشائع) :
(… INSERT INTO tablename (colname1 , colname2 ,
; (… VALUES ) “value1” , “value2” ,
مثال :قاعدة بيانات المكتبة
لغة الاس تعالم البنيوية يف (SQL) Access
• تابع :ثانيا لغة تعديل البيانات : DML
عبارة الحذف :DELETE
وشكلها كالتالي (ولها أشكال أخرى إال أن هذا هو الشكل الشائع) :
مثال :قاعدة بيانات المكتبة
DELETE
FROM tablename
; WHERE condition1
• ثالثا :لغة التحكم بالبيانات : DCL
• وهذا هو المكون الثالث من مكونات لغة SQLوهذا المكون خاص
بعمليات الحماية واألمن الداخلي لقاعدة البيانات.
لغة الاس تعالم البنيوية يف (SQL) Access
• تدريبات عملية على برنامج . MS ACCESS
• النماذج.
• التقارير.
هذه بعض األوامر في لغة SQLوهناك الكثير منها فمن أرادها فليراجع
المصادر المعتمدة على اإلنترنت أو الكتب.
وصلى هللا على نبينا محمد وعلى آله وصحبه وسلم