Database 1...Relational database ة ϴϙئ عϠا (Distributed database): ةعزϮمϠا Cloud...
Transcript of Database 1...Relational database ة ϴϙئ عϠا (Distributed database): ةعزϮمϠا Cloud...
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database 1
1قواعد بيانات
By DR. Hany Hamdy Hussien
الفرقة
الثانية
Lecture 9مراجعة
1
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Why Databases?
البياناتاالستعانة بقواعد اسباب
مستقلة عن باقى التنسيقات
التحكم فى التكرار والحفاظ على تناسق البيانات
ضمان االمن و السالمة للبيانات و القاعدة
امكانية التوسع فى القاعدة و البيانات
بالدخول خاص السماح
صيانة افضل للبيانات و القاعدة
ان فى الحصول على تزامن افضل للتعامل و الكتابة مع اكثر من بي
نفس الوقت
2
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
The Levels of Data in a Database
مستوى البيانات فى القاعدة
Bits بت
Characters حرف
Fields حقل
Records سجل
Data files سجالت لها عالقة
Databases Example: ABC Company)اعلى طبقة
Address Book Mailing list, Employee list, Vendor
list)
4
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Disadvantages of Databases
عيوب قواعد البيانات
اطوللوقتتحتاجوصعبةومعقدة
المعداتوالبرامجتكلفة
االخرىالتطبيقاتبباقىالقاعدةتسبهاالتىاالضرار
البياناتقواعدلنظاماليدوىالنظاممنالتحويلتكلفة
المستخدمينتدريبالىالحاجة
4
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database Intro
مقدمة فى قواعد البيانات
جدولمناكثرتكونالبياناتمنمجموعة:البعضبعضهامعمرتبطةال
الجداولهذهبينعالقاتيوجد
أكثرأوبجدولالبياناتقاعدةتتكون
سجالتمنالجدوليتكونRecords
حقولمنسجلكلويتكونFieldsالبياناتفيهاتخزنوالتي
معلوماتذلكبعدلتصبحمعالجتهاتتم
البياناتقاعدةمحركDatabase Engineالتعديل،البحث،اإلضافة،الحذف.
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
أهمية قواعد البيانات
سرعة الوصول
(االضافة –الحذف –التعديل ) سهولة المعالجة
(هرمى ) سهولة االستعالم و الحفظ بشكل منسق
سهولة التخزين
سهولة الربط
السرية الكاملة
6
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
مزايا قواعد البيانات
جديدةملفاتإضافةإمكانية
القاعدةفيالموجودةالملفاتعلىجديدةبياناتإضافة
الملفاتمنبياناتاسترجاع
البياناتتحديث
خاليةملفاتإزاحةوالملفاتمنالبياناتحذف
صحيحوالعكسالبياناتتعديلدونالبرامجتعديليمكن
الهامةالبياناتبعضعلىوالسريةالتأمينقيودفرضيمكن
فاتالملعلىالموجودةالبياناتمنجديدةبياناتعلىالحصولإمكانية.
الملفاتنظمبيئةعيوبمعظمتتالفىوبذلك
7
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Legacy (File-based) Systems
عيوب الملفات القديمة
عدم التحكم بالتكرار
تضارب البيانات
ضعف مشاركة البيانات
التغيراتعلى صعوبة الحفاظ
Record format Vs. user requirements التنسيقات
Programs Vs. record format الشكل
Low productivity انتاجية اقل
High maintenance cost تكلفة الصيانة
8
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
نظام قاعدة البيانات مكونات
1. Users / programmers المبرمجين / المستخدمين
2. Application programs / Queries االستعالم
3. DBMS نظام إدارة قاعدة البيانات
Oracle / DB2 (IBM) / MS SQL Server /MS Access /
Ingres / PostgreSQL / MySQL / Power Builder /
Informix
4. Database 1. Data definitions تعريفات البيانات
2. Stored database قواعد البيانات المخزنة
9
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
مميزات استخدام نظم ادارة قواعد البيانات
البياناتتكرارفيالتحكمإمكانيةوالتكرارندرة
جدا عاليةالبياناتسريةوامن
معينةصالحياتلهمليسالذينالمستخدمينعلىالقيودفرض
البياناتفقدصعوبةومناسبةتخزينبيئةتوفير
المتواجدةالبياناتمنمعلوماتباستنباطالسماح
البياناتمعالمستخدملتعاملمتعددةواجهاتتوفير
بسهولةالبياناتبينالمعقدةالعالقاتتمثيل
متناسقوعاليبشكلالبياناتتكامل.
واحدمكانمنوسهولةبكليتمتعديلأيحيثالصيانةسهولة
االحتياطيةالنسخعلىللحصولمتعددةطرقتوفير
التحديثمنعاليةدرجةعلىبياناتتوفير
10
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
متى ال نستخدم قواعد البيانات
المشروعلحجمبالنسبةعاليةاإلعدادتكلفةكانتإذا
سهلةوبسيطةالتطبيقاتوالبياناتقاعدةكانتإذا
ريضرووبشكلجداعاليةاستجابةلسرعةيحتاجالمشروعكانإذا
مستخدمينعدةذاتبيئةإلىيحتاجالالعملكانإذا
11
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Data Users مستخدمو قاعدة البيانات
.Aالمباشرغيرالمستخدمworkers behind the scene.Iالبياناتقاعدةمديروdatabase administrators
.IIالبياناتقاعدةمصمموdatabase designers
.IIIالمساعدةالبرامجمطورو
.IVالصيانةوأفرادالمشغلون
.Bالمباشرالمستخدمa actors on the scenes.Iالنهائيونالمستخدمونend –users
(aالنادرالمستخدمcasual user
(bالعاديالمستخدمnaive user
.IIالمركبالمستخدمsophisticated user
.IIIالوحيدالمستخدمstand-alone user
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database Users
1. End users المستخدم النهائى
استخدام قاعدة البيانات للوصول لالهداف
2. Application developers المبرمج
كتابة برنامج لعمل واجهة للتعامل مع القاعدة
3. Database Administrator (DBA) مدير
تصميم و ادارة قاعدة البيانات
4. Database systems programmerمبرمج القاعدة
كتابة برنامج القاعدة
13
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
واجبات برنامج مدير قواعد البيانات
الحاليةالبياناتقواعدوإدارةجديدةبياناتقاعدةإنشاء.
هااسترجاعوالتالسجمعالجة
لهممرخصالغيراالشخاصمنوالتخريبضدالبياناتحماية
االعطالحالةفيتستخدمإرشاديةنقاطوضع
تعاملكلتسجيلوإحصائيا البياناتعلىالحركةرصد
افضلمواقعفيالهامةالبياناتوضع(server)
وخدمين،المستوالبيانات،عنبياناتأيشاملبياناتبقاموساالحتفاظ
مستخدملكلالمتاحةالصالحيات
14
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
واجبات مختص قواعد البيانات
البياناتقواعدفيالمخزنةالبياناتضبط
النظامفيالمطلوبةالتقاريرإصدارعلىاإلشراف.
البياناتقواعدوالبياناتوسالمةأمنتحقيق.
القديمةالبياناتوتحديثجديدةبياناتإضافةعلىاإلشراف.
البياناتتكراريةعدممنالتحقق.
البياناتتكامليةمنالتحقق
15
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
أنواع قواعد البيانات
الحجمحيثمن
.Aصغيرهمشروعات
Access/Paradox/FoxPro/DBASE/ R:BASE
.Bكبيرهمشروعات:
Oracle/SQL (Structured Query Language)
DMS (Database Management System)/IDMS
(Integrated Database Management System)/
Informix/Sybase.
16
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
أنواع قواعد البيانات
العملطريقةحيثمن
قواعد البيانات اليدويةManual Database
قواعد البيانات العالئقيةRelational Database
قواعد البيانات غير العالئقيةNon-relational Database
قواعد بيانات ذات الشكل هرميHierarchy Database
قواعد بيانات شبكيةNetwork Database
17
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
أنواع قواعد البيانات
التعاملكيفيةوالبنيةحيثمن
العالئقيّةRelational database
الموزعة(Distributed database):
السحابيةCloud database
الكائنيّةObject-oriented database
غير ُمعتمدة على لغة االستعالمات البنيويةNoSQL
database
18
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Categories of data models
انواع نماذج البيانات
Conceptualنماذج البيانات األولية1.
(مستوى اعلى ) طريقة المستخدم الستقبال البياناتER Model
Logicalنماذح البيانات المنطقية 2.
تحويل البيانات االولية الىrelational database schema
Physicalنماذج البيانات المادية3.
(مستوى منخفص) تصف تفاصيل تخزين البيانات بصورة مادية
Implementationنماذج البيانات التنفيذية4.
(مهمة مصمم القاعدة )مفهوم متوسط يقع ما بين السابق
19
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Three-Schema Architecture
یتكون مخطط قاعدة البیانات من ثالثة مستویات
.I المخطط الداخليInternal schema
.Iئييصف البنية المادية و يستخدم نموذج البيانات الفيزيا
.IIأو المفاهيمي المخطط األوليConceptual schema
.Iانات االولىيصف بنية التعريفات و القيود و يستخدم نموذج البي
.III المخطط الخارجيExternal schemas
.Iيصف المشاهد او الواجهات و يستخدم نموذج البيانات االولى
20
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
دورة حياه قواعد البيانات
البياناتبقاعدةالخاصةوالمتطلباتالمواصفاتتحديد1.المعلوماتنظامومتطلباتمواصفاتجمعضمنجزئيةمرحلة
Conceptualاألوليةالبياناتقاعدةإعداد2. Databaseمخططاتبواسطةللبياناتاولينموذجتصميم( E-RD)
Logicalالمنطقيةالبياناتقاعدةتصميم3. Databaseمخططأواألولية،البياناتقاعدةتحويلERDاالسكيمامخططإلى
DB Schema
المنطقيةالبياناتقاعدةتحسين4.البياناتتطبيعقواعدبتطبيقNormalization
physicalالفيزيائيةالبياناتقاعدةتنفيذ5. databaseالبياناتقواعدالدارةنظاماستخداميتمSQL Server
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Normalization intro
مقدمة للتطبيع
فيوجودةالم)الكبيرةالبياناتتراكيب(تجزئ/تحليل)تفكيكعمليةهو
مادالعتطبقا(بسيطهعالقاتعدة)بسيطتمثيلالى(عامةواحدةعالقة
.البعضبعضهاعلىالبيانات
التجانس):العالقاتمنمجموعةإلىالبياناتتقسيمعمليةهىالتطبيع-
(التكرارمنخالية-االعتمادية
هومادائيتموماممكن،غيرأمرتماماالتكراريةعلىالقضاءفإنبالطبع
أمكنماالتكراريةتقليل
ياناتالبقواعدتصميمفيالمتبعةالمعاييرمجموعةهيالتطبيعقواعد
العالقاتلتجزئةخطواتهيrelations،أصغرعالقاتإلىالجداول
مثاليالالرياضيبالنموذجمقارنةأكثرطبيعيةالبياناتجعلعمليةهو
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
لماذا التطبيع
لبياناتاقاعدةتحتويهاالتيالبياناتفيالكامنالمعنىوفهملمعرفة1.
البياناتبينالمتبادلةواإلعتمادياتالعالقاتوفهملمعرفة2.
dataالبياناتتكراريةلتقليل3. redundancyقدالذيوالتناقض
.بينهايحصل
إجراءعندأيمعالجتها،عندتطرأقدالتيالمشاكلمنالبياناتلحماية4.
.حذفهاأوموجودةبياناتتعديلأوجديدةبياناتإدخال
23
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
مزايا التطبيع
(التخزينمساحةتقليل)البياناتتكراريةتقليل
التضاربتقليلinconsistencyالبياناتبينالحاصل.
ومعالجتهاالبياناتتحديثتكلفةتقليل.
نوعمنالتيالعالقاتإلغاءmany-to-manyإلىبتحويلهاوذلك
one-to-manyنوعمنعالقات
النظاممرونةوتطويرزيادة
24
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
عيوب التطبيع
وإنالمعالجةعمليةتعقدالتيالفهارساستخدامإلىأحيانااالضطرار
.كفاءتهامنترفعكانت
النظامتعقيداتزيادة.
قدةالمعالعالقاتخاصةالبيانات،استرجاعأوامربعضكفاءةتقليل
وبسبب ھذه العيوب، يتم في بعض األحيان، تطبيق قواعد التطبيع
Demoralizationالعكسية
25
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL server intro
مقدمة
البياناتقواعدخوادمأنظمةأفضلأحد
المركزيةالبياناتقواعدإدارةنظامServer SQL
العالياألماننظام
مسبقاالمعرفةالوظائفProcedures Stored
التشغيلنظامعلىتعتمدIt is platform dependent
اوامرورسوميةواجهةلهاIt is both GUI and command
based software
االستعالملغةبيدعمIt supports SQL (SEQUEL)
language
العملياتبيدعمTransactions
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL Serverاستخدامات
بياناتقاعدةمناكتراوقاعدةالنشاء
البياناتقواعدلصيانة
البياناتتحليلامكانيةSQL Server Analysis Services
(SSAS)
التقاريرالنشاءSQL Server Reporting Services
(SSRS)
3
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL server VS. MS Access
3
Microsoftالميزة SQL ServerMicrosoft Access
1024)تيرابايت1منأكبرالبياناتقاعدةحجم(جيجا
جيجابايت2
2,147,483,64732,768الجداولعدد
أقصىكحدمستخدم255محدودغيرالمستخدمينعدد
Windowsأمانمعمدمجاألمان2000
أوالعملمجموعةعلىتعتمدالمبرمج
مدعومةغيرمدعومةالبياناتتحليلأدوات
مدعومةغيرمدعومةSMPأنظمةدعم
قاعدةمشاكلإصالحالبيانات
توقأيإلىالبياناتقاعدةإعادةتختاره
اطيةاالحتيالنسخعلىتعتمدبعملهاقمتالتي
مدعومةغيرمدعومةاالحتياطيالنسخ
المبرمجعلىتعتمدكاملدعمالمستخدمينصالحيات
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Accessمتى يتم استخدام برنامج
المستخدمينمنقليلعددلديك.
جيجا2يتجاوزلنالبياناتحجم.
التعاملفيالشديدةالسهولة
منالقديمةالنسخمعالتوافقاردتاذاAccess Accessمثل.
9xماقبلهاو.
العملياتعددTransactionsقليل.
29
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL Serverمتى يتم استخدام برنامج
المستخدمينمنكبيرعددمعيتعاملبرنامجككانإذا.
ةرئيسيبقاعدةفرعيةبياناتقواعدلدمجيحتاجبرنامجككانإذا.
جدا عاليةأماننسبةأردتإذا.
جدا كبيرالبياناتحجمكانإذا.
جدا كبيرالعملياتعدد.
المعرفةاإلجراءاتاستخدامأردتإذاStored Procedure
30
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
مزايا SQL Server Advantages
Stored Procedures(دالةاواوامر)مخزناجراء
Triggersمعينحدثعندتنفذالتىاالجراءاتانواعمننوع
Defaultsاالفتراضيةالقيم
Rulesقواعد
User Defined Data Typesالبياناتانواع
Viewsمشاھد
Enterprise-level management softwareالشموليه
Excellent Support Data Recoveryالبياناتاستعادة
31
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL Serverعيوب
Costالتكلفة
Limited Compatibilityمحدوددعم
32
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
SQL Serverاصدارات
Enterprise Editionنسخةوأقوىأكبروھي.
Standard Editionبكثرةالمستخدمةوھي.
Developer Enterpriseللمطورينمخصصةنسخة
مصغرةنسخةWindows CE Editionعلىتعملوھي
Windowsأنظمة CEالكفيةلألجهزة.
Expressمجانيةوصغيرةنسخة
33
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database Creation : SQL Server
البياناتقواعدلحفظاالفتراضىالمكان
Drive:\Program Files\Microsoft SQL
Server\MSSQL\Data
القاعدةانشاءطرق
المسمىالعنصرعلىيمينكليكDatabaseاختياروNew
Database
جملةطريقعنSQL
Create database database_name
Create database Testdb
34
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database in SQL Server
انواع قواعد البيانات
الفيالبياناتقواعدتقسمSQL Serverنوعينإلى:
.AالنظامبياناتقواعدSystem Database
.1Master(المعلوماتواالعداداتكافةتخزين)
.2Msdb(المهامجدولةjobsتخزینوoperators)
.3Model(جديدةقاعدةالنشاءالمستخدمالقالب)
.4Tempdb(مؤقتةبياناتتخزين)
.Bالمستخدمينبياناتقواعد
35
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Database Creation : SQL Server
خصائص القاعدة
انواع ملفات القاعدة:
.A البيانات االساسيةPrimaryDatabase File
(bh_data.mdf)
.B البيانات الثانويةSecondary (bh.ndf)
.C السجالتLog File (bh_log.ldf)
مكونات الملفات
Logic Name القسم المنطقي للملف
File Typeالملفنوع
: Pathالصلبالقرصعلى(االسم+المسار)
: Initial Sizeبالميغابايتالبياناتلملفاالبتدائيالحجم
File Group:الملفھذاإليهاينتميالتيالملفاتمجموعة
36
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Data Types
انواع البيانات
اساسيةتقسيماتاربععلىتحتوى
.INumericالرقمية
.IIData and Timeتاريخ
.IIIStringالنصوص
.IVOtherاخرى
37
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Data Types – Numeric
االرقام
38
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Data Types – Date & Time
وقت-تاريخ
39
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Data Types – String
النصوص
40
Data Type Description Length
char(n) Stores n characters n bytes (where n is in the range of
1–8,000)
nchar(n) Stores n Unicode characters 2n bytes (where n is in the range of
1–4,000)
varchar(n) Stores approximately ncharacters Actual string length +2 bytes
(where n is in the range of 1–
8,000)
varchar(max) Stores up to 231
–1 characters Actual string length +2 bytes
nvarchar(n) Stores approximately ncharacters 2n(actual string length) +2 bytes
(where n is in the range of 1–
4,000)
nvarchar(max) Stores up to ((231
–1)/2)–2 characters 2n(actual string length) +2 bytes
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
Create table by SQL
SQLالنشاء جدول بطريقة كود
41
CREATE TABLE MyTable (
ID INT,
FullName VARCHAR(50),
BirthDate DATETIME)
CREATE TABLE MyTable (
ID INT PRIMARY KEY,
FullName VARCHAR(60))
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe 42