772 likes | 2.08k Views
لغة قواعد البيانات STRUCTURED QUERY LANGUAGE SQL) ). الأهداف. تعريف لغة الاستعلام الهيكلية. تعريف الاستعلام. معرفة الأقسام الثلاثة ل( SQL ) 1- ( DDL ) 2- ( DML ) 3- ( DCL ) معرفة بعض الأوامر الخاصة ب( DDL ). Structured Query Language (SQL).
E N D
لغة قواعد البيانات STRUCTURED QUERY LANGUAGESQL))
الأهداف • تعريف لغة الاستعلام الهيكلية. • تعريف الاستعلام. • معرفة الأقسام الثلاثة ل(SQL) 1- (DDL) 2- (DML) 3- (DCL) • معرفة بعض الأوامر الخاصة ب(DDL)
Structured Query Language (SQL) تسمى لغة الاستعلام الهيكلية (بالإنجليزية Structured Query Language SQL) • ماهي لغة (SQL)؟ هي لغة برمجية متخصصة في التعامل مع قواعد البيانات بحيث يمكن من خلالها إدارة البيانات وإجراء عمليات الحذف والإضافة والتعديل عليها, وإنشاء العلاقات“الجداول“ والتحكم في عملية الوصول للبيانات.
أقسام لغة (SQL) • تنقسم لغة الاستعلام الهيكلية إلى 3 أقسام: 1- لغة تعريف البيانات (DDL) Data Definition Language تقوم هذه اللغة بتعريف وبناء قاعدة البيانات بحيث: - تسمح للمستخدمين تحديد نوعية البيانات و بناؤها ضمن قيود محددة حتى تخزن في قاعدة اليانات. • يقوم مترجم ال(DDL) في توليد البيانات التعريفية (meta-data) تخزن في القاموس الخاص به. 2- لغة معالجة البيانات (DML) Data manipulation language بحيث تمكن من إدراج / إضافة بيانات - تحديث/ تعديل بيانات - حذف بيانات - استرجاع/ استعلام عن بيانات. 3-لغة التحكم في البيانات (DCL) Data control language: هذه اللغة تتولى معالجة صلاحيات المستخدمين و هذه العمليات تتم من خلال الواجهة الرسومية لنظم إدارة قواعد البيانات ولا يمكن تنفيذها من داخل محرر ال SQL في Ms Access.
أقسام لغة (SQL) تقسم بعض أوامر ال SQL السابقة إلى ثلاث فئات كالتالي
الاستعلام (Query) • تعريف الاستعلام :Query الاستعلام هو عملية بحث عن بيانات الجدول بناء على تطبيق معايير وشروط محددة ، ثم استعراض سجلات البيانات التي تتطابق مع هذه المعايير و الشروط و تستخدم برامج قواعد البيانات لغة ال SQL لهذا الغرض.
حول(SQL ) ملاحظات: • لغة الـ SQL لا تفرق بين حالة الأحرف إلا أن العاده جرت على كتابة الأوامر بحروف كبيره Capital • تنتهي عبارة ال SQL دائما بفاصلة منقوطه (;) • [] هذه العلامة تشير إلى أن القيمة التي بين هذه الأقواس المربعة هي قيمة اختيارية. • {} تشير إلى أن القيمة بينهما اجبارية أي يجب كتابتها. • ... تشير إلى أنه يمكن التكرار عدد من المرات أو ولا مرة. • | تشير إلى أنه يمكن اختيار القيمة التي قبله أو بعده. • الكلمة التي تحتها خط تشير إلى أنها تعتبر القيمة الأولية.
حول(SQL ) بعض النصائح الهامة: • أثناء انشاء الجدول اختاري أسماء الأعمدة باللغة الإنجليزية حتى تكون كتابة الاستعلامات سهلة. • اذا كان اسم العمود يحتوي على مسافه سواء باللغة العربية او الأنجليزيه ضعيه بين قوسين مربعين [ ] • عدد حروف اسم الجدول أو العمود كحد أقصى هي 30 حرفاً • اسم الجدول ، و الحقول (الأعمدة) ممكن ان تحتوي احرفا (كبيره و صغيره ) أرقام و الرمز( _ ) هناك مجموعه اخرى من الرموز الممكن استخدامها ولكن لا يحبذ اللجوء لها لأنها تجعل القراءه غير واضحه • اسم الجدول أو العمود لا بد أن يبدأ بحرف وبعدها اي ترتيب من الاحرف و الارقام • اسم الجدول أو العمود لا بد ان يكون ذو معنى مفهوم للمبرمج • الأحرف الانجليزيه الكبيره و الصغيره تعامل على حد سواء في ما يخص اسم الجدول أو العمود • لا يمكن ان نستخدم الكلمات المحجوزه من قبل لغة الـ SQL لتسمة عمود أو جدول ما مثل كلمة Select • لكل عمود في الجدول Data Type أي نوع بيانات“ تمثل مجال البيانات“ وأشهرها : ((int , Date , Text
DDL Data Definition language لغة البيانات التعريفية
1- لغة تعريف البيانات (DDL) Data Definition Language • أبرز الاوامر في لغة (DDL) هي: • CREATE SCHEMA DROP SCHEMA • CREATE DOMAIN DROP DOMAIN • CREATE TABLE ALTER TABLE DROP TABLE • CREATE VIEW DROP VIEW • CREATE INDEX DROP INDEX
بعض أوامر (DDL) 1- أمر إنشاء جدول في (DDL) • الصيغة العامة لأنشاء الجدول : CREATE TABLE Syntax CREATE TABLE tablename ( columnNamedataType[NOT NULL | NULL] [UNIQUE] [DEFAULT defaultOption] [PRIMARY KEY (column (,…) )] [UNIQUE (column (,…) )] [AUTOINCREMENT] CONSTRAINT [ constraint Name] [FOREIGN KEY (FK column(,…)) REFERENCES tablename [(CK column(,…))] [ON UPDATE [ CASCADE | SET NULL| SET DEFAULT| NO ACTION]] [ON DELETE [ CASCADE | SET NULL| SET DEFAULT| NO ACTION ]] );
مثال: قومي بإنشاء جدول بناء على العلاقة التالية: - graduate( Std_ID, name,bdate, National_ID , departmentNo, city,phone,password, notes) الحل: Create table graduate ( Std_ID number primary key, Std_name text, bdate date, National_ID number, departmentNo number, city text, phone text, password text, notes text );
مثال: قومي بإنشاء جدول بناء على العلاقة التالية: • DEPARTMENT( Dname, Dnumber) بحيث يكون (Dname) مميز. الحل: CREATE TABLE department ( Dname Text NOT NULL, Dnumber INT NOT NULL, PRIMARY KEY (Dnumber), UNIQUE (Dname));
مثال: • قومي بإنشاء جدول بناء على العلاقة التالية: • EMPLOYEE( Fname, Lname, SSN, DOB, Address, Salary, Dno) الحل: CREATE TABLE employee ( Fname TEXT NOT NULL, Lname TEXT NOT NULL, SSN TEXT NOT NULL, DOB DATE, Address TEXT, Salary Double(10,2), Dno INT NOT NULL, PRIMARY KEY (SSN), FOREIGN KEY (Dno) REFERENCES DEPARTMENT(Dnumber) ON DELETE SET DEFAULT ON UPDATE CASCADE );
بعض أوامر (DDL) 2- أمر حذف جدول في (DDL) • الصيغة العامة لحذف الجدول : DropTABLE Syntax DROP TABLE tablename [RESTRICT | CASCADE]; • تقييد : RESTRICT تعني أنه سوف يتم حذف الجدول لوحده فقط دون المبالاة بحذف أي جدول آخر يعتمد ظهوره على الجدول المراد حذفه. مثال: جدول ”الابن“ وجدول ”الأب“ نجد أن جدول الابن يعتمد وجوده على وجود جدول الأب فعند حذف جدول الأب واختيار[RESTRICT] فإن جدول الاب سيحذف وجدول الابن يبقى بالرغم أن وجوده يعتمد على وجود جدول الأب. • متتابع : CASCADE عند حذف الجدول فإنه سوف يتم حذف كل الجداول التي تعتمد في ظهورها على الجدول المراد حذفه. مثال: عند حذف جدول ”الأب“ فإنه عند اختيار[CASCADE] سوف يحذف تلقائيا جدول“الابن“
مثال: • احذفي جدول الطلبة المتخرجين من قاعدة البيانات بلغة الـ SQL مستخدمةً أوامر تعريف البيانات. • الحل: Drop table graduate • احذفي جدول الطلبة المتخرجين بالإضافة إلى جميع الجداول المعتمدة عليه من قاعدة البيانات بلغة الـ SQL مستخدمةً أوامر تعريف البيانات.
بعض أوامر (DDL) 3- الصيغة العامة لتعديل الجدول : ALTER TABLE Syntax هناك عدة أنواع من التعديل : • أولا: لأضافة عمود في الجدول نستخدم الصيغة العامة التالية ALTER TABLE table name ADDcolumn namedatatype • ثانيا: لحذف عمود من الجدول نستخدم الصيغة العامة التالية ALTER TABLE table nameDROP COLUMN column name • ثالثاً: تغير نوع البيانات في عمود معين من جدول معين ALTER TABLE table name ALTER COLUMN columnnamedatatype
مثال: • أضيفي عمود لجدول الطلبة المتخرجين لحفظ رقم السياره بلغة الـ SQL مستخدمةً أوامر تعريف البيانات • الحل: ALTER TABLE graduate ADD Car_NUM INT • قومي بحذف عمود Car_NUM في جدول الطلبة المتخرجين مستخدمةً أوامر تعريف البيانات بلغة SQL • الحل: • قومي باجراء تعديل على عمود Car_NUM في جدول الطلبة المتخرجين مستخدمةً أوامر تعريف البيانات بلغة SQL • الحل: