290 likes | 769 Views
تصميم قواعد البيانات ولغة SQL. بشكل عام تنقسم أوامر SQL إلى نوعين من الأوامر: أوامر تعريف البيانات ( Data Definition Language ( DDL أورامر تناول البيانات Data Manipulation Language ( DML ). أصول لغة SQL. تشغيل SQL.
E N D
تصميم قواعد البيانات ولغة SQL T. Aishah Khawaji
بشكل عام تنقسم أوامر SQL إلى نوعين من الأوامر: • أوامر تعريف البيانات ( Data Definition Language ( DDL • أورامر تناول البيانات Data Manipulation Language ( DML ) أصول لغة SQL T. Aishah Khawaji
تشغيل SQL T. Aishah Khawaji
يمكن كتابة جملة SQL بالأحرف الكبيرة أو الصغيرة و ذلك لا يؤثر على سلامة الجملة. مثلاً: • CREATE TABLEINSTRUCTOR • Create table instructor 2. يفصل بين أسماء الحقول باستخدام الفاصلة ( ,). مثلاً: • ( deptno, dname) 3. يمكن كتابة جملة SQL في عدة سطور فهذا لا يؤثر في صحة الجملة. مثلاً: • SELECTemployee_id, last_name, job_id, salary إرشادات كتابة جمل SQL: T. Aishah Khawaji
4. لا يمكن استخدام الكلمات المحجوزة للغة أو اختصارها, و الكلمات المحجوزةتسمى Keywordsكأسماء للكيانات أو الحقول. مثلاً: • ( CREATE , DROP, SELECT, ORDER BY ) 5. يفضل كتابة الجملة على أسطر ليسهل قراءتها و فهمها. 6. لا بد من الإعلان عن نهاية الجملة بواسطة ( ;). مثلاً: • CREATE TABLEINSTRUCTOR; إرشادات كتابة جمل SQL: T. Aishah Khawaji
قاعدة بيانات الكلية T. Aishah Khawaji
INSTRUCTOR ( Inst# , Name , Rank , Salary , Gender , Dept# ) • STUDENT ( S# , Name , Address, Bdate, Dept#) • DEPARTMENT (Dep# , Name , Location ) • COURSE ( Code , Title , Ctedit_hours ) • TEACH ( Inst# , Course# , Semester , Year ) • STUDY ( Student# , Course# , Semester , Year , Gender ) T. Aishah Khawaji
كل علاقة من علاقات قاعدة البيانات سوف نترجمها إلى جدول فعلي في قاعدة البيانات يحمل اسمها. • حقول هذه الجداول ستكون هي خصائص العلاقات وسنفرض عليها نفس القيود. • يجب أن نحدد نوع وطول كل حقل. تنبيهات هامة: T. Aishah Khawaji
أمر الإنشاء CRATE CREATE TABLE INSTRUCTOR ( Inst# NUMBER UNIQUE NOT NULL, Name VARCHAR (40) NOT NULL, Salary NUMBER (8,2),Gender CHAR (1),Dept# NUMBER FOREIGN KEY (Dept#) REFERENCES DEPARTMENT (Dept#) ) ; PRIMARY KEY اسم الجدول لغة تعريف البيانات DDL أسماء الحقول ( الخصائص) وأنواع البيانات والقيود عليها T. Aishah Khawaji
CREATE TABLEstudent ( st# NUMBER(4) PRIMARY KEY, Name VARCHAR(30) NOT NULL, Address CHAR (40),Bdate DATE ,Dept# NUMBER, FOREIGN KEY (Dept#) REFERENCES DEPARTMENT (Dept#) ) ; CREATE TABLEdepartment ( D# NUMBER PRIMARY KEY, Name CHAR(30) NOT NULL, Location CHAR (10) ); T. Aishah Khawaji
CREATE TABLECOURSE ( Cor# CHAR(6) PRIMARY KEY, Title CHAR(20) NOT NULL, Credit_hoursNUMBER ); CREATE TABLETEACH ( inst# NUMBER, Cor# CHAR(6), Semester NUMBER, Year NUMBER, PRIMARY KEY(inst#, Cor#) ); CREATE TABLESTUDY ( st# NUMBER, Cor# CHAR(6), Semester NUMBER, Year NUMBER, PRIMARY KEY(st#, Cor#)); T. Aishah Khawaji
أمر الحذف DROP DROP TABLE student ; • أمر الحذف مع إستخدام CASECADEوRESTRICT DROP TABLE student CASECADE; DROP TABLE student RESTRICT; تستخدم مع الأمر DROP حتى لا يتم حذف الجدول إلا إذا لم يكن هناك أي استخدام له من قبل جداول أخرى تستخدم مع الأمر DROP في حالة الرغبة في الحذف دون إكتراث T. Aishah Khawaji
أمر الوصف DESCRIBE الغرض منع عرض تعريف بمكونات الجدول (أعمدة ) ومواصفاتها والقيود المفروضة عليها. DESCRIBE student ; أو DESC student ; ينتج عن تنفيذ هذا الأمر ما يلي: T. Aishah Khawaji
أمر التعديل أو التبديل ALTER • إضافة عمود جديد: ALTER TABLE department ADDColg# NUMBER; • حذف عمود موجود: ALTERTABLE department DROP COLUMN LOCATIO ; • نستطيع حذف أكثر من عمود بنفس الوقت وذلك بوضع أسماء الأعمدة بين قوسين: ALTERTABLE INSTRUCTOR DROP (Rank, Gender) ; • تعديل مواصفات عمود: ALTER TABLE department MODIFY LocationCHAR(30)) ; T. Aishah Khawaji
أمر التعديل أو التبديل ALTER • تغيير اسم جدول أو حقل: RENAME department TO DEPT; ALTERTABLE INSTRUCTOR RENAME COLUMN Dept# TODEPARTMENT# ; تغيير اسم الحقل ( العمود ) تغيير اسم الجدول T. Aishah Khawaji
تضم الأوامر الخاصة بعمليات ناول قاعدة البيانات مثل أمر الإدخال INSERT وأمر الاستخراج SELECTوأمر التحديث UPDATE وأمر الحذف DELETE. لغة تناول البيانات DML T. Aishah Khawaji
أمر إدخال البيانات INSERT بعد إنشاء قاعدة البيانات نستطيع إدخال البيانات في أي جدول من جداول قاعدة البيانات مباشرة من داخل SQL. INSERT INTO INSTRUCTOR VALUES (676, ‘Khadiga’, ‘Prof’, 15000,’f’, 2) ; INSERT INTO student VALUES (420, ‘Fahad’, ‘Qassim’, ‘09-10-1963’, 2) ; لغة تناول البيانات DML T. Aishah Khawaji
هناك عدة قواعد يجب مراعاتها في جملة INSERT وهي: • يجب أن تكون عدد القيم الموجودة في VALUESتساوي عدد أعمدة الجدول وبنفس ترتيبها وأنواعها عند إنشاء الجدول. • يجب أن تتواجد قيم للأعمدة من نوع NULL. • يتم وضع أي قيمة من نوع CHAR أو DATE بين علامتي تنصيص مفردة. T. Aishah Khawaji