Presentation is loading. Please wait.

Presentation is loading. Please wait.

5-2-7 : تقسيم الصفوف في الجدول إلي مجموعات :-

Similar presentations


Presentation on theme: "5-2-7 : تقسيم الصفوف في الجدول إلي مجموعات :-"— Presentation transcript:

1 5-2-7 : تقسيم الصفوف في الجدول إلي مجموعات :-
5-2-7 : تقسيم الصفوف في الجدول إلي مجموعات :- يمكن الحصول علي جدول يحتوى علي تقسيم للصفوف إلي مجموعات طبقاً لترتيب محدد . مثال 5 – 25 :- لإظهار مرتبات الموظفين مرتبه طبقاً لوظائفهم SELECT job , SAL FROM EMP Group By Job ; ناتج تنفيذ الأمر : -

2 ناتج تنفيذ الأمر : SAL JOb 2000 1700 1600 1300 1000 1400 1500 1200 طبيب كيميائى محاسب محامي مدرس مهندس

3 لغة الاستعلام الهيكلية Structured Query Language
مثال : لإظهار أعلى مرتب للموظفين طبقاً لوظائفهم نستخدم الأمر SELECT Job, max (SAL) FROM EMP Group by job;

4 ناتج تنفيذ الأمر Max (SAL) JOb 1600 1300 1000 1400 1500 طبيب كيميائى محاسب محامي مدرس مهندس

5 لغة الاستعلام الهيكلية Structured Query Language
مثال : لإظهار اقل مرتب للموظفين طبقاً لوظائفهم نستخدم الأمر SELECT Job, min (SAL) FROM EMP Group by job;

6 ناتج تنفيذ الأمر Min (SAL) JOb 1500 1600 1000 1400 1200 1300 طبيب كيميائى محاسب محامي مدرس مهندس

7 لغة الاستعلام الهيكلية Structured Query Language
الربط بين الجداول :- عملية الربط بين الجداول تعنى الحصول على بيانات من جدولين او اكثر يوجد لدينا عدة طرق ( 4 طرق ) للربط بين الجداول تلك الطرق هى :   Equi join الربط المتساوى Non equi join الربط الغير متساوى Natural join الربط الطبيعى 4- Join … using ( join … using الربط باستخدام (

8 لغة الاستعلام الهيكلية Structured Query Language
الربط المتساوى Equi join يمكن استخدام أكثر من جدول لإظهار البيانات بواسطة SQL وذلك عن طريق الجدولين معاً طبقاً لعمود مشترك بينهما موجود في كلا الجدولين وهناك نوعان من الربط : الشكل العام المستخدم في هذا الربط هو SELECT Column (s) FROM Table (s) Where join condition ;

9 لغة الاستعلام الهيكلية Structured Query Language
لكي نشرح طريقة الربط هذه بالأمثلة سنستخدم جدول أخر مع EMP خاص بالأدوات DEPT وهذا الجدول يحتوى علي الأعمدة الأتية : Dept – No رقم الإدارة Name اسم الإدارة D–Location مكان الإدارة Mgr رقم المدير ويحتوى علي البيانات الأتية : MGR D- location D-name Dept– No 20 25 30 35 32 33 40 50 مدينة نصر السلام مصر الجديدة الأفراد المشتريات المخازن المعقود الصيانة الجودة العلامات الهامة التخطيط 10 11 12 13 14 15 16 17

10 لغة الاستعلام الهيكلية Structured Query Language
مثال 5 – 27 :- لإظهار جدول بين اسم الموظف والوظيفة واسم الإدارة إلتي يعمل بها عن طريق ربط الجدولين EMP ، DEPT يكتب الأمر SELECT E-Name , job , D–Name FROM EMP , DEPT Where EMP.Dept–No = DEPT.DEPT–No ; ناتج تنفيذ الأمر D-Name Job E–Name الأفراد المشتريات المخازن الجوده العلاقات العامه التخطيط طبيب محاسب محامى مهندس مدرس كيميائى ابرهيم سامى سعيد احمد مائل ولاء هانى هدير هبه

11 لغة الاستعلام الهيكلية Structured Query Language
2- الربط الغير متساوى Non equi join :- مثال 5 – 28 : لإظهار الربط الغير متساوي مع جدولين سنستخدم جدول أخر خاص بالمرتبات ومستوياتها مع الوظائف يسمى SALEVEL وهذا الجدول يحتوي علي الأعمدة الأتية . * Job * SALARY * Qualification * Experience لإظهار المؤهل ومستوى الخبرة الخاصة بالموظف الذي يتراوح مرتبة بين 1500 , 2000 نكتب الأمر SELECT E–name , SAL , Quale EXP FROM EMP , SALEVEL Where EMP.SAL Between , 1500 , ;

12 لغة الاستعلام الهيكلية Structured Query Language
3- الربط الطبيعى Natural join :- مثال : في قاعدة بيانات الطلبه المطلوب ايجاد اسماء الأساتذه و المقررات التى قاموا بتدريسها الحل :- الأجابه طبقا للمفهوم السابق هى : select name, course_id from instructor, teaches where instructor.ID = teaches.ID  باستخدام الربط الطبيعى   select name, course id from instructor natural join teaches; الربط الطبيعى والامرين يؤديان الى نفس النتيجه

13 لغة الاستعلام الهيكلية Structured Query Language
مثال :- لاظهار اسماء الاساتذه والمقررات التى يدرسونها select name, course id from instructor, teaches where instructor.ID= teaches.ID and instructor.dept name = ’Comp. Sci.’; تمرين : من قاعدة بيانات الموظفين الأتيه : Emp ( id , name , job_code , dept_code , salary ) Job ( code , job , qualification , basic_salary) Dept ( code , dept, manager , budget ) 1- المطلوب ايجاد اسماء الموظفين ووظائفهم والمرتبات التى يتقاضونها 2- المطلوب ايجاد اسماء الموظفين والأداره والمدير 1-Select name , job , salary From emp natural join job 2-Select name , dept, manager From emp natural join dept

14 لغة الاستعلام الهيكلية Structured Query Language
Non equi_join :-الربط غير المتساوى المطلوب ايجاد اسماء الموظفين والوظائف للذين تتراوح مرتباتهم من الى 10000 Select name , job From emp, job Where job_code = job.code and salary between and مثال :- فى قاعدة بيانات الجامعه المطلوب ايجاد اكواد الطلبه واسمائهم واسماء المقررات للذين حصلوا على جيد جدا Select id , name and course From student , course Where course.code = student.course_code and degree between 80 and 90;

15 لغة الاستعلام الهيكلية Structured Query Language
مثال على الربط الطبيعى :- Natural_join لأيجاد اسماء الاساتذه والمقررات التى يقومون بتدريسها الحل : - select name, title from instructor natural join teaches 

16 لغة الاستعلام الهيكلية Structured Query Language
فى حالة ربط اكثر من جدول :- select name, title from instructor natural join teaches, course where teaches.course_id = course.course_id ; ويمكن الكتابه بهذا الشكل from instructor natural join teaches, course where teaches.course id= course.course id; from instructor natural join teaches natural join course;

17 لغة الاستعلام الهيكلية Structured Query Language
4- طريقة الربط باستخدام Join …….. using select name, title from instructor natural join teaches, course where teaches.course id= course.course id; الأمر السابق يمكت كتابته بهذه الطريقه from (instructor natural join teaches) join course using (course id); مثال :- المطلوب ايجاد كود المقرر والفصل الدراسى والعام واسم المقرر لقسم الحاسب الحل : select section.course_id, semester, year, title from section, course where section.course_id = course.course_id and dept_name = ‘Comp. Sci.'

18 لغة الاستعلام الهيكلية Structured Query Language
مثال : المطلوب ايجاد قائمه بالمقررات التى تم تدريسها لقسم الفيزياء فى الفصل الدراسى الأول 2009 مع القسم و المبنى ورقم القاعه . الحل : select course.course id, sec id, building, room number from course, section where course.course id = section.course id and course.dept name = ’Physics’ and section.semester = ’Fall’ and section.year = ’2009’;  تمرين : استخدم الأمر join لحل المثال السابق select course.course id, sec id, building, room number from course join section using (course_id) where course.dept name = ’Physics’ and section.semester = ’Fall’ and section.year = ’2009’;

19 لغة الاستعلام الهيكلية Structured Query Language
5-9 استخدام أمر داخل أمر Neted queens أي استخدام أمر Select من داخل الشرط Where ، الصيغة العامة لهذا الأمر هي : SELECT Column (s) From teble (s) Where Colum = (SELECT Column FROM Table Where (condition) ,

20 لغة الاستعلام الهيكلية Structured Query Language
مثال 5 – 30 :- لإيجاد أسماء الموظفين الذين يحصلون علي أعلى عمولة في كل إدارة SELECT Eneme , Comm , DEPT – No FROM EMP Were (COMM-Dept–No) IN (SELECT MAX(COMM) FROM EMp Group By DEPT–No ;

21 لغة الاستعلام الهيكلية Structured Query Language
-3 لغة توصيف البيانات Date Definition Language مجموعة الأوامر التي تم استخدامه تتم بعد الخطوة الأولى في إنشاء قاعدة البيانات وهي عملية توصيف البيانات وتحديد الهيكل العام لتلك البيانات . أثناء عملية إنشاء الجداول لا يسمى فقط توصيف للبيانات ولك يتم أيضا تعريف للعلاقات بين هذه البيانات وبعضها . عمليات توصيف البيانات تشمل تعريف الأتي : توصيف التركيب الخاص بكل علاقة Schema Definition توصيف المدى لكل عمود في العلاقة Doman Velue for each attribute شروط القيد المستخدم integrity Constraints 4. مجموعة المفاتيح الأساسية --- المستخدمة لكل علامة of indices to be meinteined for each relation set 5. نظام تأمين قاعدة البيانات هذه security information for each relation 6. نظام التخزين علي الديسك والخاص بكل علاقه physical storaye structructure for each relation on disc

22 5-3-1 أنواع المدى في الـ SQL
1- Char (n) 1- تمثل مجموعة من الحروف بطول n يتم تحديدة بواسطة المصمم لقاعدة البيانات 2- var char (n) : 2- مجموعة من الحروف متغيرة الطول والحد الإنضمام لها n يتم تحديده بواسطة مصمم قاعدة البيانات 3- int 3- تمثل رقم صحيح الحد الادنى له يعتمد علي --- الحاسب 4- mumeric (P,N) 4- رقم عشري طوله = P والعلامة الفردية بعد عدد من الأرقام = N 5-real , double precision

23 5- أرقام عشرية يعتمد رقمها علي – الحاسب
6- Float (n) 6- رقم عشري يتم توصيفه بواسطة مصمم قاعدة البيانات الحد الآدنى له M من الأأرقام 7- Date 7- التاريخ وتم تحديد السند الشهر و اليوم 8- Time 8- الوقت وتم تحديد الساعات و الدقائق والثواني

24 3- 2 توصيف الـ schema باستخدام SQL الشكل العام لتوصيف جدول في قاعدة البيانات :
Create Table table–name ( Colnmn–name type (size), Column – name type ( ) , Primary key (k1 , k2 ..) مثال 5 – 31 لإنشاء الجدول EMP تم استخدام الأمر التالي : Create TABLE EMP ( EMP–No int (4) Not Null E-Name Var char (10) Job var char (10) , MAR int (4), H–Date Date, SAL mumeric (7 , 2) , COMM mumeric ( 7 , 3 ), Dept = No int (2) not Null ) ;

25 مثال 5 – 32 لإنشاء جداول تمثل قاعدة بيانات العملاء في البنوك طبقا للأتي : جدول 1 Customer ويحتوى علي الأعمدة الأتيه :- Customr – name Customer – street Customer – city جدول 2 branch ويحتوى علي الأعمدة الأتية : Braneh – name Braneh – cinty Assets جدول 3 Account Account – number Branch – name Balance

26 يتم استخدام الأمر الآتي :
Create Table Customer (customer–name char (20) not Null, Customer–street char (30) Customer–City char (30)) ; Create table branch (branch–name char (is) not null, branch–city char (30), assets integer ) ; Create table account ( Branch name char (15) , Balance numeric (7 , 2 ) ) ;

27 مثال 5 ـ 33 : لإنشاء جدول خاص ببيانات الطلبة وله مفتاح أساسي هو رقم الطالب Create table student (s-name char (15) not null, Student–id char (10) not null, Degree–level char (15) not null, Primary key (student–id) ) ;

28 -4 لغة التعامل مع البيانات Date Manipucatiun Language (DDL) في التعامل مع البيانات يوجد 3 أوامر أساسية وهي :- إضافة بيانات Insert تعديل بيانات Update حذف أو إلغاء بيانات DELTE أولا : إضافة صفوف جديدة لجدول يستخدم الأمر INSERT لإضافة صفوف جديدة إلي الجدول والشكل العام لهذا الأمر . INSERT INTO Table name (Columni, Column ) Values (value1 , value 2,…)

29 مثال : لإضافة عميل جديد للبنك
Insert into Customer (Customer – name , customer – street, cutomer – city) Values ( " SAMY " , " Ggy " " Benha " )

30 ثانيا : تعديل بيانات في الجدول :
يستخدم الأمر Update لتعديل بيانات في الجدول والشكل العام لهذا الأمر Update Table – name SET Column = ( expression) ( Where Condition ) , مثال : لتعديل بيانات موظف كالأتي تغيير الوظيفة محاسب بدلا من مدرس يصبح تاريخ التعيين هو تاريخ اليوم بدلا من 1 / 10 / 1980 يصبح مرتبة 2000 بدلا من وذلك للموظف سامى UPDATE EMP " محاسب "SET Job = H – DATE = SySDATE , SAL = SAL + 200, " سامي Where E – name =“

31 ثانيا : تعديل بيانات في الجدول :
يستخدم الأمر Update لتعديل بيانات في الجدول والشكل العام لهذا الأمر Update Table – name SET Column = ( expression) ( Where Condition ) , مثال : لتعديل بيانات موظف كالأتي تغيير الوظيفة محاسب بدلا من مدرس يصبح تاريخ التعيين هو تاريخ اليوم بدلا من 1 / 10 / 1980 يصبح مرتبة 2000 بدلا من 1800 UPDATE EMP " محاسب "SET Job = H – DATE = SySDATE , SAL = SAL + 200, " سامي " Where E – name =

32 ثالثا : إلغاء بيانات من الجدول :
يستخدم الأمر Delete لإلغاء بيانات من الجدول ، والشكل العام لهذا الأمر هو DELET FROM table–name ( where Condition ) , مثال : لإلغاء رقم الحساب حيث قيمة الحساب أقل من متوسط قيمة الحساب من جدول الحساب Account DELETE FROM Account (WHERE balance < ( select avg (balance) From account) ; لتنفيذ هذا الأمر يتم أولا أختيار جميع القيم هل هي أقل من متوسط قيمة الحسابات أم لا ويتم إلغاء جميع القيم أقل من المتوسط حيث أنه إذا تم الإلغاء أولا فإن قيمة المتوسط ستتغير .

33 امثلة متنوعة :- 1- فى قاعدة بيانات الموظفين والتى تحتوى على بيانات الموظف كلآتى - الموظف ( رقم ، اسم ، العنوان ، الوظيفة ، الأدارة ، المرتب ، العمولة ، تاريخ التعيين ، الأستحقاق للترقيه ) المطلوب :- - اذكر امر SQL لأضافة البيان التالى : ( " 2201" , " ابرهيم " , " القاهرة" ،” محاسب“ , " المبيعات " ، 1500، 200، 1/7/2009 ، " نعم ") الحل :- Insert into الموظف ( , , , , , , ( values ( " 2201" , " ابرهيم" , " القاهرة",”محاسب “, المبيعات"" , , 200 , 1/7/ , "" نعم )

34 - اذكر امر SQL لألغاء البيان الخاص بالموظفين فى ادارة الصيانة :-
الحل :- Delete From الموظف Where ألأدارة = " الصانة " - اذكر امر SQL لتعديل بيانات الموظف " هانى " فى ادارة " المخازن" ليصبح مرتبة ج م Update الموظف set المرتب = 1400 Where اسم = " هانى " and الأدارة = " المخازن "

35 - فى قاعدة بيانات الطلبة والتى تحتوى على بيانات الطلبة كلآتى
- طالب ( كود ، اسم ، العنوان ، المستوى ، الشعبه ، المادة ، االدرجة ، تاريخ الميلاد ) المطلوب :- - اذكر امر SQL لأضافة البيان التالى : ( " 2201" , " ابرهيم " , " القاهرة" ، " الثالث ," عربى”، " قواعد البيانات "، 80 ، 1/7/1990 ) الحل :- Insert into طالب ( , , , , , , ( values ( " 2201" , " ابرهيم" , " القاهرة", الثالث"" , " عربى” ,"قواعد البيانات" , 80 , 1/7/1990 , )

36 - اذكر امر SQL لألغاء البيان الخاص بالطلبة فى اشعبة اللغة الأنجليزيه :-
الحل :- Delete From طالب Where الشعبة = " اللغة الأنجليزيه " - اذكر امر SQL لتعديل بيانات الطالب " هانى " فى المستوى " الرابع " و الشعبة " اللغة العربيه " لتصبح المادة " المحاسبة " Update طالب set المادة = " المحاسبة " Where اسم = " هانى " and المستوى =" " الرابع and الشعبه = “ اللغه العربيه”

37 -5 تعديل الجداول في قاعدة البيانات :-
يستخدم الأمر Alter table لتعديل جدول في قاعدة البيانات والشكل العام لهذا الأمر هو ALTER TABLE Table–name ADD MODIFY (Column–spec (Column–constraint) DROP [ ENABLE Clause DISABLE Clause ] أولا : استخدام المقطع ADD ABLE EMP ;

38 مثال : لإضافة عمود جديد للجدول خاص باسم الزوجة
يستخدم الأمر ِALTER TABLE EMP ADD (spouse–name char (10) ) ; ثانيا : المقطع MODIFY يستخدم لتعديل أعمدة ثم وصفها . ALTER TABLE EMP MODIFY (E–name char (25) ) ثالثا : المقطع DROP لإلغاء مفتاح أساسي أو إلغاء جدول ALTER TABLE EMP DROP PRIMARY Key , أو table emp DROP

39 تغيير اسم الجدول Rename
يمكن تغيير اسم جدول من جداول قاعدة البيانات بواسطة الأمر . Rename old–name to new–name مثال : يمكن تغيير اسم الجدول EMP إلي Person كالأتي : - Rename EMP to PERSON ;


Download ppt "5-2-7 : تقسيم الصفوف في الجدول إلي مجموعات :-"

Similar presentations


Ads by Google