مفاهيم مهمه جدا في قواعد البيانات باستحدام لغه sql
الاوركاااااااااااااااااااااااااااااااااااااااااااااااااااااال
ننعرض في هذا الفصل الى مقدمة في ادارة قواعد البيانات Database وخاصة قواعد بيانات الأوراكل والذي يعتبر أحد النظم القوية في قواعد البيانات Data Base Management System (DBMS) لما له مميزات مقارنة بقواعد البيانات الاخرى .
مفاهيم قواعد البيانات
قاعدة البيانات Database
هي مجموعه من الملفات المنظمة بحيث يسهل الوصول إليها عندمت نريداستردادها
قاموس البيانات Data Dictionary
هو مجموعة من المعلومات عن جداول وفهارس البيانات تحقظ داخل هذا القاموس ، يستخدمها نظام إدارة قواعد البيانات
الاستعلام Query
هو نظام استفساري للاستعلام عن بيانات معينة وغاليا لا يغير الاستعلام في قاعدة البيانات حيث إن غالبية نظم الاستعلام عبارة عن قراءة فقط للبيانات
دوال Function
عبارة عن مجموعة من تعليما ت أو أوامر تستخدم ضمن مسمى وظيفي لاداء عملية محددة وغالبا تعيد الدالة قيمة معينه بعد تنفيذها
الاجراء Procedure
مجموعة من التعليمات مثل تعليمات الدالة بهدف تنفيذ مهمة محددة لكن الاجراء لا يعيد قيمة مثل الدالة
مخطط Schema
عبارة عن مجموعة من الكائنات Objects مرتبطة بقواعد البيانات ويتألف مخطط الكائن من كائنات مثل الجداول Tables والاجراءات Procedure والعروض Views والفهارس Directories …الخ
مدير قواعد البيانات Database Administrator (DBA)
هو الشخص المسؤؤل عن عمليات إدارة قواعد البيانات ونظم أداء هذه القواعد وكيف يتم تكوينها وهو مسوؤل أيضا عن مراقبة أداء هذه القواعد ، وكذلك إجراء عمليات النسخ الاحتياطي وتثبيت البرامج ، والمحافظة على أمن المعلومات , وإضافة مستخدمين جدد أو إلغاء صلاحيات مستخدمين
ويمكن ان يقوم مدير قواعد البيانات بالتخطيط لتطير وتنمية النظام المطبق ، وتحديد الحاجو لهذه التطورات المستقبلية .
ويسعى فريق العمل الذي يتكون من مديري قواعد البيانات DBA للحفاظ على سير العمل داخل الشركة بشكل متجانس . وتتم تجزئة المهام بين هؤلاء المديرين .
مهام مدير قواعد البيانات (DBA)
تتباين مهام مدير قاعدة البيانات تبعا لحجم الشركة أو المؤسسة وتبعا لفريق العمل المساعد وتشمل هذه المهام النقاط التالية :
1- تثبيت البرمجيا الجديدة
2- إدارة الحماية لنظام قواعد البيانات
3- النسخ الاحتياطي والدوري للبيانات ونظام قواعد البيانات
4- استكشاف الأخطاء ومعالجتها
5- تسوية وإصلاح إخفاقات المساخدمين للوصول إلى بياناتهم
6- متابعة ضبط أداء العمل
7- تقسسم الأجهزة والنطم الجديدة
8- العمل على تطوير النظام بالشركة
نظام إدارة قاعد البيانات Data Base Management System (DBMS)
هو عبارة عن مجموعة الأدوات البرمجيه ( البرامج ) التي تدير وتنظم قاعدة البيانات وتوجد علاقة ارتباط بين هذه البيانات تسمى علاقة (Relation) لذا احبانا يطلق عليها RDBMS أي نظام إدارة قواعد البيانات العلائقية ( الارتباطية )
مميزات نظام إدارة قاعدة البيانات أوراكل
يتميز نظام قاعدة البيانات أوراكل عن غيره من نظم إدارة قواعد البيانات الأخرى بالآتي:
1- القدرة الفائقة على استيعاب كميات كبيرة من البيانات قد يصل عدد السجلات إلى الملايين مع الحفاظ على المستوى العالي في الأداء والسرعة عند استرجاع والتخزين والحذف
2- لاسرية التامة والأمن لا حتوائه على نظام الصلاحيات والحقوق الذي يضمن تطبيق الشروط القياسية والأمنية للحفاظ على قاعدة البيانات
3- فعالية التحكم المركزي بالبيانات لاذي يضمن :
· تقليل التكررات عير اللازمة في البيانات الدخلة (No Repetition)
· تجنب التناقض بين البيانات (No Contradiction)
· إمكانية التشارك في البيانات (Data Sharing)
· الحفاظ على تكامل البيانات فيما بينها (Data Integrity)
4- السيطرة التامة على عملية النسخ الاحتياطي لقاعدة البيانات وحمايتها من الفقدان أو التلف مع امكانية استرجاعها في أي لحظة
عمليات نظام إدارة قاعدة البيانات
يشتمل نظام إدارة قاعدة البيانات اوراكل على العمليات التالية
1- أوامر لغة تعريف البيانات Data Definition Language (DDL)
تستخدم هذه اللغة في تعريف وإنشاء الكائن Object ، ويمكن أن يكون الكائن ملفات وجداول بيانات ، فيمكننا إنشاء وتعديل وحذف الكائن ويمكننا إنشاء امتياز لمستخدم معين ، أو انشاء كائن خيارات لفحص وإضافة تعليقات إلى قاموس البيانات ومن هذه الأوامر : CREAT , DROP and ALTER
2- أوامر لغة معاملة البيانات Data Manipulation Language (DML)
تتيح هذه الأوامر التعامل مع البيانات وتعديلها ضمن الكائن الموجود Object ومن هذه الأوامر : SELECT, DELETE,UPDATE and INSERT
3- أوامر لغة التحكم في البيانات Data Control Language (DCL)
تتيح هذه الأوامر التحكم في قاعدة البيانات وأدائها كالصلاحيات والمستخدمين والحقوق وغالبا ماتكون هذه الأوامر مخصصة للاستخدام من قبل مدير قاعدة البيانات (DBA) ومن هذه الاوامر : GRANT and REVOKE
التركيب الداخلي لنظام أوراكل
أهداف الفصل
يتناول هذا الفصل التركيب الداخلي لنظام قتعدة البيانات أوراكل وفي نهاية هذا الفصل ستكون قادرا بمشيئة الله على :
1- فهم العلاقات بين الجداول
2- تعريف نمذجة العلاقة
3- فهم مكونات قاعدة البيانات العلائقية
4- فهم العلاقة بين الخادم والمستفبد
5- قهم الخادم SERVER
6- فهم المستفيد Client
مقدمة في قواعد البيانات العلائقية
يقدم هذا الفصل التركيب والبناء الداخلي لنظام إدارة قواعد البيانات أوراكل ، فيحتوي على وصف سريع لمكونات أوراكل وتعتمد غالبية تطبيقات نظم قواعد البيانات في بنائها على أحد نماذج قاعد البيانات التالية:
1- نموذج هيكلي (هرمي ) Hierarchical Model
2- نموذج شبكي Network Model
3- نموذج علائقي Relational Model
4- نموذج شيئي Object Model
في الماضي كان النموذج الأول ( الهرمي ) الأكثر انتشارا مع أجهزة الكمبيوتر الكبيرة Main Frame ثم بدا النظام الثاني ( الشبكي ) في الانتشار وخاصة مع التوسع في بناء وتركيب شبكات الحاسب وكانت هناك صعوبات في استخدام النظامين الول والثاني ( الهرمي والشبكي ) نتيجة لاستخدام مؤشرات البرمجة ( Pointers ) لربط سجلات البيانات بعضها مع بعض ، لذا نجد أن إضافة أو تعديل أو حذف السجلات يحتاج إلى المزيد من قهم طبيعة وعمل المؤشرات وفي هذه الفترة الماضية طرق برمجة المؤشرات تكتب بلغة الكوبول (COBOL).
أما النموذج العلائقي (Relational) فهو الأكثر سهولة في الاستخدام وفي برمجة تطبيقات نظم قواعد البيانات ومن الناحية النظرية الأكاديمية فيلزمك دراسة المفاهيم الأساسية والضروربة لهذا النموذج العلائقي لهذا سنركز هنا على
1- هيكل البيانات العلائقية Relational Data Structure
2- الضوابط الحاكمة للبيانات العلائقية Constraint that govern organization of data structure
3- العمليات التي تجرى على هذه البيانات Operations that are performance data structure
ويعتمد نام هياكل البيانات العلائقبة (Relational Database) على هيكل منطقي ويطلق عليه علاقة (Relational) وعلى شكل ثنائي الأبعاد (Tow dimensional data structure ) يتكون من صفوف وأعمدة ويسمى جدول (Table) هذا بالإضافة إلى عناصر البيانات (Data elements) تسمى في هذه الحالة attributes علاوة على هذا يتم تنظيم هذه البيانات الفعلية في وحدة أو وحدات تسمى Tuples تقسم إلى صفوف Rows أو )سجلات Records ) وأعمدة Columns (حقول Fields ) والشكل التالي يبين العناصر الأساسية لجدول الموظقين Employees
العلاقة بين الجداول
لربط علاقة بأخرى تتحتاج إلى طريقة للارتباط . وهذه الطريقة تستخدم حقلا Field يكون موجودا فب الجدولين وحقل الارتباط يسمى في الجدول الأول بالمفتاح الرئيسي (Primary Key) للجدول الأل ويسمى يالمفتاح الForeign Key) ) في الجدول الثاني
نمذجة العلافة Relational Model Algebra
تعرف بانها العمليات التي يتم اجراؤها على جدول أو مجموعة من الجداول تبعا لعلاقة محددة ويوجد معاملان Operators هما Unary والثاني Binary والجدول التالي يعدد سبعة انواع لهذه العمليات
وصف العملية
نوع العملية Type
العملية Operation
تجميع الصفوف السجلات من جدولين مع عدم السماح بنكرار سجلات
Binary
Union
تحديد السجلات (الصفوف) المشتركة بين جدولين
Binary
Intersection
اظهار السجلات الموجودة في الجدول الاول ولا توجد في الجدول الثاني
Binary
Difference
إظهار السجلات مع بعض الأعمدة (مصدر البيانات)
Unary
Projection
إظهار السجلات من جدول مصدر البيانات تبعا لمعيار البحث Criteria
Unary
Selection
وصل كل سجل من جدول البيانات الول مع كل سجل في الجدول الثاني
Unary
Product
وصل وتمديد السجلات من الجدول الأل مع مايقابله من سجلات في الجدول الثاني
Unary
Join
مكونات قاعدة البيانات العلائقية RDBMS Components
تتكون قاعدة البيانات العلائقية من :
1- نظام تشغيل ثاعدة البيانات ويطلق عليه Kernel
2- قاموس البيانات Data Dictionary
ويتكون نظام تشغيل وتنظيم قاعدة البيانات (Kernel) من مجموعة من الوحدات البرمجية Software والذي صمم ليحكم وينظم ويتعامل مع البيانات مابين حفظ واسترجاع وطباعة وكذلك تحديد المسؤليات وعمل نظم الأمان وحماية البيانات
وعادة يحتفظ نظام قاعدة البيانات بقائمة من المستخدمين الذين لهم صلاحية للتعمل مع تطبيق قاعدة البيانات والشكل التالي يوضح بعضا من مكونات الـ Kernel في نظام أوراكل
مكونات الـ Kernel في نظم قاعدة البيانات
ويحوي قاموس البيانات Data Dictionary وصفا لشكل البيانات ويطلق على هذا الوصف Meta Description أو Meta Data وهذا الوصف يرتبط بكافة الكائنا ت Objects ضمن قاعدة البيانات
وقاموس بيانات أوراكل يحتوي على مجوعة جداول صاعدة البيانات المخزنة عن طريق الـ Kernel وأيضا على كائنات الفهارس Indexes كائنات العرض Views كائنات الاستعلام والاستقسار SQL and Query كائنات الإجراء Procedure والدوال Function …إلخ
الشكل التالي يوضح كيفية قراءة أو تعديل قاعدة بيانات باستخدام أوراكل
شكل العلاقة بين Kernel و SQL و قاموس البيانات
العلاقة بين الخادم والمستفيد(العميل) Client/Server
يتكون نظام أوراكل من مكونين
1- الخادم Server
2- المستفيد (العميل – المزود) Client
الخادم Server
يحوي الخادم قاعدة البيانات المركزية ووظائفها ، وكذلك كافة العمليات الخلفية لحفظ هذه الفاعدة وبحوي ايضا أدوات تشغيل وإيقاف فاعدة البيانات
والشكل التالي يوضح البناء الداخلي لنظام الخادم
الخادم Server
مدير الخادم
Server Manager
نظم الاستعلام
SQL * PLUS
بروتكول اتصال الشبكة Net8
نظام الاستيراد
والتصدير
EXP80& IMP80
المترجمات
Pre compliers
نظام التحميل
LOADER
المستفيد Client
أما المستفيد Client فيحتوي على برامج الخدمات والبرامج المساعده والتي بمكننا تشغيلها عن بعد باستخدام الشبكة كما يتضمن نظام المستفيد الوسيط الرسومي Graphical Interface الذي يسهل علينا استخدامه وتوجد أداة الاتصال بين الخادم والمستقيد وهيNet 8 لتقوم بعمليات الربط والاتصال عبر الشبكة
و تشمل حزمة البرامج لنظام المستفيد على
1- مدير المشروع Enterprise Manager
ويحوي داخله المكونات التالية
· متحكم مدير المشروع Enterprise Manager
· مدير مخطط قاعدة البيانات Schema Manager
· مدير السرية Security Manager
· مدير الطبعة Instance Manager
· مدير التخزين Storage Manager
· مدير البيانات Data Manager
· مدير النسخ الاحتياطي للبيانات Backup and Recovery Manager
· ورقة عمل الاستعلام SQL Worksheet
· شريط أدوات المسؤول Administrator Toolbar
بروتكول اتصال الشبكة
(Net8)
2- المساعدون Assistants
3- نظام الاستعلام SQL*PLUS
والشكل التالي يوضج مكونات حزمة البرامج للمستفيد Client
نظام الاستعلام SQL*PLUS
المساعدون Assistants
مدير المشروع Enterprise Manager
ورقة عمل الاستعلام SQL Worksheet
مدير مخطط قاعدة البيانات Schema Manager
متحكم مدير المشروع Enterprise Manager
مدير الطبعة Instance Manager
مدير النسخ الاحتياطي للبيانات Backup and Recovery Manager
مدير السرية Security Manager
شريط أدوات المسؤول Administrator Toolbar
مدير التخزين Storage Manager
مدير البيانات Data Manager
ملخص الوحدة
تناوبنا في هذا الفصل نعريف التركيب الداخلي لنظام أوراكل وأهم مكوناته والعلاقة بين الجداول , وكذلك عكلية نمذجة العلاقة على الجداول وتم تعريف الخادم والمستفيد والعلاقة بينهما .
جمل SQL البسيطة
أهداف الفصل
نتناول عملية استرجاع البيانات في حالات مختلفة مستخدمين في ذلك جملة SELECT وفي نهاية هذا الفصل ستكون إن شاء الله قادر على :
· استرجاع البيانات بواسطة جملة SELECT البسيطة
· فهم متطلبات وإرشادات كتابة جمل SQL
· استخدام العمليات الحسابية وأولويات تنفيذها مع جمل SQL
· استخدام الجمل الإلحاقية على البيانات
· استخدام عبارة DISTINCT لمنع تكرار عرض البيانات
· عرض مواصفات الجدول
أساسيات جملة SELECT
جملة SELECT
تستخدم جملة SELECT لاسترجاع البيانات المخزنة في جدول أو عدة جداول حيث أن عملية الاسترجاع لا تعدل في هذه البيانات ويمكننا من خلال جملة SELECT أن نقوم بالتالي:
1- اختيار وعرض مجموعة معينة من السجلات المخزنة في الجدول
2- استرجاع بيانات بعض حقول الجدول
3- استرجاع بيانات مخزنة في جداول مختلفة
ملاحظة
يمكن أن نستخدم كل أو بعض هذه المزايا في جملة استفسار واحدة
ملاحظة
أوامر محررSQL*PLUs
هنالك بعض الوامر البسيطة التي ستساعدك في كتابة وتحرير وتنفيذ الأوامر على محرر SQL
ومنها
1- الامر EDIT ويمكن كتابته ED : يستخدم هذا الأمر لتحرير آخر امر تم كتابته على مرر SQL وعند تنفيذ هذا الأمر ستفتح لك شاشة المحرر (المفكرة) التي يمكنك خلالها اعادة تحرير الأمر وعند الانتهاء من ذلك احفظ المر ثم اغلق شاشة المفكرة ولكن لاحظ لا تكتب الفاصلة المنقوطة (
بعد نهاية الأمر في هذه الحالة فقط
2- الأمر R وطريقة كتابته (/) ويستخدم لاعادة تنفيذ اخر امر SQL محفوظ
الشكل العام لجملة SELECT
SELECT { * , COLUMN [alies], …}
FROM table_name