You are on page 1of 13

SQL ‫مقدمة قواعد البيانات‬

SQL ‫أمثلة فى مقدمة قواعد البيانات‬


=====================
1- LOWER('JICC Center') ________ jicc center
2- UPPER('jicc Center') _________ JICC CENTER
3- 'JICC'+'CENTER' __________ JICCCENTER
4- SUBSTRING(String',1,3) _________Str
5- Len('String') __________ 6
6- CHARINDEX('String','t') __________ 2
7- Round(42.926,2) ___________ 42.930
8- Round(43.923,0) ____________ 44.000
9- Round(44.923,-1) ____________ 40.000
10- Square(4) ___________ 16
11- Sqrt(9) ___________ 3
12- Abs(-20) ____________ 20
:‫مثال‬
: ‫الظهار التاريخ والوقت الحالى للنظام‬
SELECT GetDate()
:‫مثال‬
‫الظهار الفترة الزمنية بالسنة والشهر والبوم مابين تاريخ تعيين الموظف‬
:‫والتاريخ الحالى للنظام‬HireDate
SELECT DateDiff(Year,HireDate,GetDate()) As Years,
DateDiff(Month,HireDate,GetDate()) As Months,
DateDiff(Day,HireDate,GetDate()) As Days
From Emp
:‫مثال‬
:‫ كل على حدة‬HireDate‫ لتاريخ تعيين الموظفين‬m‫الظهار السنة والشهرواليوم‬
Select DatePart(Year,HireDate) As Years,
DatePart(Month,HireDate) As Months,
DatePart(Day,HireDate) As Days
From Emp
: ‫مثال‬
:‫ الحالى‬m‫األيام)للتاريخ‬/‫األشهر‬/‫الضافة عدد محدد من (السنين‬
1- Select DateAdd(Year,2,'20-Mar-2005') ____ 20-03-2007
2- Select DateAdd(Month,2,'20-Mar-2005') ____20-05-2005
3- Select DateAdd(Day,2,'20-Mar-2005') _____ 22-03-2005
:‫مثال‬
‫نتيجة قسمة عدد صحيح على عدد صحيح هى عدد صحيح وسيتم تجاهل الكسور‬

30
‫مقدمة قواعد البيانات ‪SQL‬‬

‫‪1-Select 50/8‬‬ ‫‪____________ 6‬‬


‫‪2- Select 50/Convert(Float,8) _________ 6.25‬‬
‫‪3- Select 50/Cast(8 As Float) ________ 6.25‬‬
‫مثال‪:‬‬
‫لطباعة جملة "‪ "The Salary Is‬وبجانبها قيمة المرتب مثال ‪ 5000‬مكون من‬
‫أربع أرقام‬
‫)‪Select 'The Salary Is'+Convert(Char(4),5000‬‬
‫تظهر كما يلى ‪:‬‬
‫‪The Salary Is 5000‬‬
‫مثال‪:‬‬
‫الظهار التاريخ بحيث يظهر التنسيق ‪ dd/mm/yyyy‬نكتب الجملة التالية ‪:‬‬
‫‪Select Convert(char(10),HireDate,103) From Emp‬‬
‫يظهر‬
‫‪22/06/2008‬‬
‫مثال‪:‬‬
‫تستخدم الدالة ‪ ISNULL‬فى تحويل القيم الفارغة الى قيم فعلية مع االلتزام بنفس‬
‫نوع البيانات ‪Data types‬‬
‫)‪1- IsNull(comm.,0‬‬
‫يتم تعبئة حقل ‪ .comm‬الفارغ بالقيمة صفر‬
‫)'‪2- IsNull(Job,'no UnitPrice yet‬‬
‫يتم تعبئة حقل ‪ Job‬الفارغ ب ‪no UnitPrice yet‬‬
‫)'‪4- IsNull(hiredate,'01-jan-98‬‬
‫يتم تعبئة حقل ‪ hiredate‬الفارغ ب ‪jan-98-01‬‬

‫استخدام تعليمات التثبيت ‪ commit‬والتراجع ‪Rollback‬‬


‫==========‬
‫ملحوظات‪:‬‬
‫=====‬
‫‪ -1‬يقوم ‪ SQL-SERVER‬بحفظ جميع العمليات التى تقوم بها تلقائيا وحتى‬
‫اليتم حفظ مايتم تنفيذه من اضافة وحذف نكتب العبارة التالية مرة واحدة فى‬
‫كل مرة عند بدء العمل فى محلل االستعالمات‬
‫‪SET IMPLICIT_TRANSACTIONS ON‬‬
‫وعند اغالق محلل االستعالمات التحفظ العمل الذى قمت به‬
‫ولحفظ أى عبارة نكتب ‪COMMIT‬‬
‫‪ -2‬أما عند كتابة الجملة ‪:‬‬
‫‪SET IMPLICIT_TRANSACTIONS OFF‬‬
‫فان اى تعديل او حذف يتم حفظه تلقائيا‬

‫‪31‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫‪-3‬لحفظ التغيرات حتى جزء محدد من التغيرات نكتب‬


‫‪SAVE TRAN‬‬
‫‪ -5‬للتراجع عن عملية معينة فقط‬
‫اسم العملية ‪ROLLBACK TRANSACTION‬‬
‫‪ -6‬للتراجع عن جميع العمليات بعد آخر حفظ‬
‫‪ROLLBACK‬‬
‫مثال‪:‬‬
‫الضافة عمود ‪ JOB‬الى جدول ‪ Dept10‬نقوم بكتابة الكود التالى‪:‬‬
‫‪ALTER TABLE Dept10‬‬
‫)‪ADD job VARCHAR(9‬‬
‫مثال‪:‬‬
‫للتعديل فى نوع البيانات ‪ data type‬الخاصة بعمود ال ‪ Ename‬فى جدول‬
‫‪ Dept10‬نقوم بكتابة الكود التالى ‪:‬‬
‫‪ALTER TABLE Dept10‬‬
‫)‪ALTER COLUMN Ename Varchar(15‬‬
‫مثال‪:‬‬
‫لحذف العمود ‪ job‬من الجدول ‪ Dept10‬نكتب مايلى‪:‬‬
‫‪ALTER TABLE Dept10‬‬
‫‪Drop COLUMN job‬‬
‫مثال‪:‬‬
‫لحذف جدول ‪ Dept10‬نقوم بكتابة الكود التالى‬
‫‪DROP TABLE Dept10‬‬
‫تمارين محلولة‬
‫=======‬
‫ضع دائرة حول اإلجابة الصحيحة في كل مما يلي ‪:‬‬
‫‪ )1‬األمر التالي ‪:‬‬
‫‪ALTER TABLE COURSE DROP COLUMN COURSENAME‬‬
‫يستخدم لـ ‪:‬‬
‫ب) إضافة بيان جديد في عمود‬ ‫أ) إضافة عمود جديد في جدول‬
‫د) حذف بيان في عمود‬ ‫ج) حذف عمود في جدول ‪‬‬

‫‪ )2‬أغلب جداول النظام (‪ )System Tables‬تحتفظ بمعلومات عن ‪:‬‬


‫ب) إعدادات قاعدة البيانات األساسية‬ ‫أ) إعدادات قاعدة البيانات وقاعدة البيانات المنشئة‬
‫‪‬‬ ‫بواسطة المستخدمين‬
‫د) غير ما تقدم‬ ‫ج) إعدادات البرامج التطبيقية التي تستخدم‬
‫‪ )3‬افترض الترميز التالي ‪:‬‬
‫‪Use Mydb‬‬
‫‪GO‬‬
‫‪CREATE TRIGGER EmployeeOpt ON Employees FOR DELETE‬‬
‫‪AS‬‬
‫‪IF (SELECT COUNT(*) FROM Deleted) > 1‬‬

‫‪32‬‬
SQL ‫مقدمة قواعد البيانات‬

BEGIN
RAISERROR ('You can not do this operation. ',16,1)
ROLLBACK TRANSACTION
END
: ‫سوف يثور هذا الزناد عند‬
‫ب) التعديل‬  ‫أ) الحذف‬
‫د) الحذف أو التعديل‬ ‫ج) اإلدراج‬
: ‫ يستخدم لـ‬DROP TABLE ‫) أمر‬4
 ‫ب) حذف جدول في قاعدة البيانات‬ ‫أ) حذف قاعدة بيانات‬
‫د) حذف حقل في جدول‬ ‫ج) حذف سجل في جدول‬
‫ فإنه من‬، m‫) وأردنا أن نعدل في بنيته‬SQL Server( ‫) بعد إنشاء جدول في نظام إدارة قواعد البيانات‬5
: ‫األفضل‬
 )Alter( ‫ب) استخدام أمر‬ ‫) وإعادة إنشاءه‬Drop( ‫أ) حذف الجدول باستخدام‬
)Update( ‫د) استخدام أمر‬ ‫) وإعادة إنشاءه‬Delete( ‫ج) حذف الجدول باستخدام‬

: ‫) لديك الجدولين التاليين‬6


‫ الطالب‬STUDENT ‫القسم‬ DEPT
STDID FNAME LNAME DEPTID
10 Saad Ahmed 50 DEPTNO NAME LOCATION
20 Khaled Omar 50 50 Mechanical Dammam
30 Fahad Saed 70 60 Computer Dammam
40 Omer Saleh 60 70 Electrical Jeddah
50 Hussien Omar 50

: ‫ التالية‬SQL ‫جملة‬
SELECT LNAME, FNAME FROM EMPLOYEE
INNER JOIN DEPT ON EMPLOYEE.DEPTID = DEPT.DEPTNO
WHERE DEPT.LOCATION = 'Dammam'
: ‫تقوم باسترجاع‬
a) 
Ahmed Saad
Omer Khaled
Saleh Omar
Omar Hussain

b)
Ahmed Saad
Omar Khaled
Saleh Omar

c)
Ahmed Saad
Omar Khaled
Omer Hussain

d)
Ahmed Saad

33
‫مقدمة قواعد البيانات ‪SQL‬‬

‫‪Omar‬‬ ‫‪Khaled‬‬
‫‪Omar‬‬ ‫‪Hussain‬‬

‫‪ )7‬يستخدم أمر ‪ GRANT‬لــ ‪:‬‬


‫ب) إزالة صالحية‬ ‫أ) منح صالحية ‪‬‬
‫د) غير ما تقدم‬ ‫ج) منح رقم سري‬

‫‪ )8‬أمر ‪ COMMIT TRANSACTION‬يستخدم لـ ‪:‬‬


‫أ) استرجاع العمليات األخير المثبتة بأمر ‪ COMMIT‬ب) استرجاع العمليات غير المثبتة‬
‫السابق‬
‫د) غير ما تقدم ‪‬‬ ‫ج) تثبيت العمليات غير المثبتة‪m‬‬

‫‪ )9‬يستخدم أمر (‪ )USE‬في نظام إدارة قواعد البيانات (‪)SQL Server‬‬


‫ب) لالنتقال إلى جدول‬ ‫أ) لالنتقال إلى قاعدة بيانات ‪‬‬
‫د) غير ما تقدم‬ ‫ج) لالنتقال إلى حقل‬

‫‪ )10‬افترض مجموعة األوامر التالية ‪:‬‬


‫‪USE PUBS‬‬
‫‪GO‬‬
‫‪CREATE TABLE EMPLOYEE‬‬
‫)‪(EID INT, NAME VARCHAR(10) , SALARY MONEY‬‬
‫‪GO‬‬
‫)‪INSERT INTO EMPLOYEE VALUES (1,'AHMED',3500‬‬
‫)‪INSERT INTO EMPLOYEE VALUES (2,'ALI',2500‬‬
‫)‪INSERT INTO EMPLOYEE VALUES (3,'KHALED',2600‬‬
‫‪GO‬‬
‫أمر االسترجاع‬
‫‪SELECT * FROM EMPLOYEE‬‬
‫)‪WHERE SALARY = (SELECT MAX(SALARY) FROM EMPLOYEE‬‬
‫سيقوم بإظهار ‪:‬‬
‫ب) ثاني أعلى راتب في جدول ‪EMPLOYEE‬‬ ‫أ) أقل راتب في جدول ‪EMPLOYEE‬‬
‫د) استرجاع جميع معلومات الموظف الذي يتقاضى‬ ‫ج) أعلى راتب في جدول ‪EMPLOYEE ‬‬
‫أعلى راتب‬

‫‪ )11‬تعرف المهمة أو الدور (‪ )Role‬على أنها ‪:‬‬


‫ب) صالحية أو مجموعة من الصالحيات تعامل كوحدة‬ ‫أ) صالحية واحدة يمكن أن تمنح لمستخدم‬
‫واحدة ويمكن أن تمنح للمستخدمين ‪‬‬
‫د) غير ما تقدم‬ ‫ج) مهمة أساسية يقوم بها المستخدم بشكل دوري‬
‫‪ )12‬افترض الترميز التالي ‪:‬‬
‫‪Use MySystem‬‬
‫‪CREATE TABLE dbo.Students‬‬
‫(‬
‫‪StudentID int NOT NULL,‬‬
‫‪StudentFname nvarchar(40) NOT NULL,‬‬
‫‪StudentLname nvarchar(30) NOT NULL,‬‬
‫‪DeptId int NULL,‬‬
‫)‪CONSTRIANT Pk_Student PRIMARY KEY CLUSTER) (StudentID‬‬
‫‪CONSTRIANT Fk_StdDepartment FOREIGN KEY(DeptId) References‬‬
‫)‪dbo.department(dno) ON UPDATE CASCADE‬‬

‫‪34‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫‪GO‬‬
‫سوف يقوم الترميز بــ ‪:‬‬
‫أ) إنشاء جدول ‪ Students‬وتكوين مفتاح أجنبي (‪ )Foreign Key‬اسمه ‪ DeptId‬و أي تعديل في قيم ‪DeptId‬‬
‫الموجود في جدول ‪ Students‬سوف ينعكس ويعدل في حقل ‪ dno‬في جدول ‪Department‬‬
‫ب) إنشاء جدول ‪ Students‬وتكوين مفتاج أجنبي (‪ )Foreign Key‬اسمه ‪ DeptId‬و أي تعديل في قيم‬
‫‪ dno‬الموجود في جدول ‪ Department‬سوف ينعكس ويعدل في حقل ‪ DeptId‬في جدول ‪Students ‬‬
‫ج) إنشاء جدول ‪ Students‬وتكوين مفتاح أجنبي (‪ )Foreign Key‬اسمه ‪ dno‬وأي تعديل في قيم ‪DeptId‬‬
‫الموجود في جدول ‪ Students‬سوف ينعكس ويعدل في حقل ‪ dno‬في جدول ‪Department‬‬
‫د) إنشاء جدول ‪ Students‬وتكوين مفتاح أجنبي (‪ )Foreign Key‬اسمه ‪ dno‬وأي تعديل في قيم ‪ dno‬الموجود‬
‫في جدول ‪ Department‬سوف ينعكس ويعدل حقل ‪ DeptId‬في جدول ‪Students‬‬

‫‪ )13‬يستخدم أمر ‪ Revoke‬لـ ‪:‬‬


‫ب) إزالة صالحية ‪‬‬ ‫أ) منح صالحية‬
‫د) غير ما تقدم‬ ‫ج) منح رقم سري‬

‫‪ )14‬افترض الترميز التالي إلنشاء جدولين ‪:‬‬


‫‪CREATE TABLE table‬‬
‫(‬
‫‪Id bigint identity ( 45,17),‬‬
‫‪Field01 varchar(300) unique,‬‬
‫‪Field02 char(300),‬‬
‫‪Field03 char(300),‬‬
‫)‪Field04 char(300‬‬
‫)‬
‫‪CREATE TABLE table2‬‬
‫(‬
‫‪Id int,‬‬
‫‪Fk varchar(300) foreign key references table(Field01), tally int‬‬
‫)‬
‫ما هو الجزء الذي تتوقع يحتوي على خطأ ‪:‬‬
‫ب) عدد األعمدة تجاوز الحد األعلى المسموح به‬ ‫أ) التعريف ‪bigint ‬‬
‫ج) ‪ varchar‬ال يمكن استخدامه كنوع للمفاتيح األجنبية د) ال يوجد أي مشاكل‬
‫(‪)Foreign key‬‬
‫‪ )15‬لديك اإلجراء التالي ‪:‬‬
‫‪CREATE PROC CalculatePrice‬‬
‫‪@ discount Decimal‬‬
‫‪AS‬‬
‫)‪SELECT Itemame, ItemPrice – ( ItemPrice * @discount / 100‬‬
‫‪FROM SaleItem WHERE ItemPrice > 200‬‬
‫والجدول ‪SaleItems‬‬
‫‪ItemName‬‬ ‫‪ItemPrice‬‬
‫‪Monitor‬‬ ‫‪350‬‬
‫‪RAM‬‬ ‫‪100‬‬
‫‪Hard Disk‬‬ ‫‪500‬‬
‫بعد تنفيذ الجملة‬
‫‪EXEC CalculatePrice 30‬‬
‫سيسترجع محرك قاعدة البيانات التالية ‪:‬‬
‫أ) ‪‬‬
‫‪ItemName‬‬ ‫‪ItemPrice‬‬
‫‪Monitor‬‬ ‫‪245‬‬
‫‪Hard Disk‬‬ ‫‪350‬‬
‫‪35‬‬
SQL ‫مقدمة قواعد البيانات‬

)‫ب‬
ItemName ItemPrice
Monitor 245
RAM 100
Hard Disk 350

)‫ج‬
ItemName ItemPrice
Monitor 245
RAM 70
Hard Disk 350

)‫د‬

ItemName ItemPrice
Monitor 105
RAM 30
Hard Disk 150

36
‫مقدمة قواعد البيانات ‪SQL‬‬

‫قواعد البيانات العامة‬


‫============‬
‫إذا كان لدينا الجداول التالية الخاصة بسجالت الموظفين والمشاريع التي يعملون بها ‪ ،‬حيث أن الموظف يمكن أن‬
‫يشترك في أكثر من مشروع كما أن المشروع يمكن أن يشارك به موظف أو أكثر ‪ .‬ورقم الموظف هو المفتاح‬
‫الرئيسي ‪ Primary Key‬في جدول الموظفين ورقم المشروع هو المفتاح الرئيسي ‪ Primary Key‬في جدول‬
‫المشاريع‬

‫‪ -3‬جدول المشاريع ‪:‬‬ ‫‪ -2‬جدول المشاركة في المشاريع ‪:‬‬ ‫‪ -1‬جدول الموظفين ‪:‬‬
‫‪ ‬رقم المشروع‬ ‫‪ ‬رقم الموظف‬ ‫‪ ‬رقم الموظف‬
‫‪ ‬اسم المشروع‬ ‫‪ ‬رقم المشروع‬ ‫‪ ‬اسم الموظف‬

‫‪ )16‬المفتاح الرئيسي ‪ Primary Key‬في جدول المشاركة في المشاريع هو ‪:‬‬


‫ب) رقم الموظف و رقم المشروع ‪‬‬ ‫أ) رقم الموظف‬
‫د) ال يوجد مفتاح رئيسي‬ ‫ج) رقم المشروع‬
‫‪" )17‬رقم المشروع" في جدول المشاركة في المشاريع هو ‪:‬‬
‫ب) المفتاح الرئيسي ‪Primary Key‬‬ ‫أ) مفتاح خارجي ‪Foreign Key‬‬
‫د) ال شيء مما ذكر‬ ‫ج) المفتاح الرئيسي ومفتاح خارجي ‪‬‬

‫‪ )18‬أي من جمل ‪ SQL‬التالية تعطي عدد الموظفين في كل مشروع‬


‫(حيث أن ‪ Empl_id‬رقم الموظف و ‪ Proj_emp‬اسم جدول المشاركة في المشاريع و ‪ Project_no‬رقم‬
‫المشروع)‬
‫)*(‪a) Select project_no, count‬‬
‫‪From proj_emp‬‬
‫‪Group by project_no‬‬ ‫‪‬‬

‫)*(‪b) Select project_no.count‬‬


‫;‪From proj_emp‬‬

‫‪c) Select project_no‬‬


‫‪From proj_emp‬‬
‫;‪Group by project_no‬‬

‫)*(‪d) Select project_no, count‬‬


‫‪From proj_emp‬‬
‫‪Group by proj_no‬‬
‫‪Where‬‬
‫ضع عالمة ‪ ‬أمام الجمل الصحيحة وعالمة ‪ ‬أمام الجمل الخاطئة فيما يلي ‪:‬‬

‫)‬ ‫‪‬‬ ‫‪ )19‬من األفضل إضافة حقل جديد للقيم التي يمكن حسابها من الحقول األخرى (‬
‫‪)‬‬ ‫‪ )20‬دمج الحقول في جدول واحد يساعد دائما ً على التخلص من التكرار (‬
‫‪ )21‬أي من الخواص التالية من خواص المفتاح الرئيسي ‪Primary Key‬‬
‫ب) قيمته تصاعدية دائما ً‬ ‫أ) ال يمكن أن يأخذ قيمة فارغة ‪‬‬
‫د) دائما ً يتكون من حقل واحد فقط‬ ‫ج) ممكن أن يتكرر عند الحاجة‬

‫‪ )22‬فائدة الفهرس ‪: Index‬‬


‫ب) ربط الجداول‬ ‫أ) عدم التكرار‬

‫‪37‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫د) سرعة البحث ‪‬‬ ‫ج) تقليل حجم البيانات‬

‫‪ )23‬إلجبار مدخل البيانات على إدخال قيمة في أحد الحقول نستخدم خاصية ‪:‬‬
‫ب) القيمة االفتراضية ‪Default value‬‬ ‫أ) المفتاح الرئيسي ‪Primary Key‬‬
‫د) قناع اإلدخال ‪Input Mask‬‬ ‫ج) مطلوب ‪Required ‬‬

‫‪ )24‬إلجبار مدخل البيانات على إدخال أرقام مكونة من أربعة خانات نستخدم خاصية ‪:‬‬
‫ب) القيمة االفتراضية ‪Default value‬‬ ‫أ) المفتاح الرئيسي ‪Primary Key‬‬
‫د) قناع اإلدخال ‪Input Mask ‬‬ ‫ج) الفهرس ‪Index‬‬

‫‪ )25‬يتم تكوين فهرس ‪ Index‬بطريقة تلقائية لـ ‪:‬‬


‫ب) لجميع الحقول‬ ‫أ) لحقل المفتاح الرئيسي ‪Primary Key ‬‬
‫د) ال يتم تكوين الفهرس بطريقة تلقائية‬ ‫ج) للحقول من النوع الرقمي‬

‫س‪ :26‬يطلق على إصدار ‪ Microsoft SQL Server‬أنه ‪ .....................‬والذي يتوافق مع ‪NET.‬‬
‫‪Framework‬؟‬
‫)‪)AMicrosoft Access(MA‬‬

‫‪)B Microsoft Data Engine (MSDE) ‬‬

‫)‪)CSimple Data Engine (SDE‬‬

‫)‪)DMicrosoft Access Engine (MAE‬‬

‫س‪ : 27‬يطلق على الحقل الذي يرتبط مع حقل مفتاح أساسي لجدول آخر ‪................................‬؟‬

‫‪ A) relative key‬مفتاح عالقي‬

‫‪ primary key‬مفتاح أساسي‪B‬‬


‫)‬

‫‪ logical key‬مفتاح منطقي‪)C‬‬

‫‪foreign key‬مفتاح خارجي‪)D‬‬ ‫‪‬‬

‫س ‪ : 28‬ما هو نوع العالقة المطلوب إنشائها للجدول الثالث والذي يدعى جدول الربط؟‬

‫‪One-to-Many ‬واحد إلى الكل‪)A‬‬

‫‪B‬‬ ‫‪ One-to-One‬واحد إلى واحد‬


‫)‬

‫‪)C‬‬ ‫‪ Many-to-One‬الكل إلى واحد‬

‫‪)D‬‬ ‫‪ Many-to-Many‬الكل إلى الكل‬

‫‪38‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫س‪ :29‬أي من الكائنات التالية في ‪ ADO.NET‬لها القدرة على التعامل مع أكثر من جدول بوجود‬
‫عالقات بين هذه الجداول؟‬
‫‪A DataStructu‬‬
‫)‬ ‫‪re‬‬

‫‪B DataG‬‬
‫)‬ ‫‪rid‬‬

‫‪C‬‬ ‫‪DataSet ‬‬


‫)‬

‫‪D DataTa‬‬
‫)‬ ‫‪ble‬‬

‫س‪ :30‬أي من الكائنات التالية تصف العالقات بين جداول قاعدة البيانات؟‬
‫‪)ADataAdapter‬‬

‫‪BDataGrid‬‬
‫)‬

‫‪)CDataSet‬‬

‫‪)DDataRelation ‬‬

‫س‪ : 31‬أي من النصوص البرمجة التالية صحيحا لتصفية نتيجة االستعالم حسب قيمة المتغير‬
‫‪ FName‬؟‬

‫'‪)A "FirstName' = "FName‬‬

‫‪B) "FirstName = ' " & FName & " ' " ‬‬

‫"‪)C " ' " FirstName = ' " FName‬‬

‫‪)D‬‬ ‫"‪" " & FirstName = " & FName‬‬

‫س‪ : 32‬أي من المعامالت التالية ال يمكن أن تستخدم عند إنشاء جملة استعالم باستخدام ‪ where‬في جملة‬
‫‪SQL‬؟‬

‫‪A) Like‬‬

‫‪> )B‬‬

‫‪C) ?= ‬‬

‫‪39‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫=‬ ‫‪)D‬‬

‫س‪ :33‬ما هي نتيجة تنفيذ استعالم ‪ SQL‬التالي‪:‬‬


‫‪*.SELECT table1.*, table2‬‬
‫‪FROM (table1 INNER JOIN table2‬‬
‫‪)ON table1.LastName = table2.LastName‬‬

‫‪ )A‬عرض كل السجالت من الجدول‪ 1‬وكل السجالت من الجدول‪2‬‬

‫‪ )B‬عرض كل السجالت من الجدول‪ 1‬والمشتركة مع السجالت من الجدول‪ 2‬‬

‫‪ )C‬عرض كل السجالت من الجدول‪ 2‬والمشتركة مع السجالت من الجدول‪1‬‬

‫‪ )D‬عرض كل السجالت من الجدول‪ 1‬الغير مشتركة مع السجالت من الجدول‪2‬‬

‫س‪ :34‬عندما نقوم باستخدام ‪ Update Method‬برمجيا لجدول ما‪ ،‬فإن ‪ .....................‬هو المسئول‬
‫عن إرسال أوامر الـ ‪ SQL‬المختلفة للجدول لتنفيذها وهي ‪UPDATE, INSERT, DELETE ..‬‬
‫‪)ASQL SERVER‬‬

‫‪)BDATA ADAPTER ‬‬

‫‪)CBINDING MANAGER‬‬

‫‪)DADO.NET‬‬
‫س‪ :35‬أي من أوامر الـ ‪ SQL‬التالية ال يقوم بتنفيذ أي تغييرات أو تعديالت على البيانات في سجالت‬
‫الجدول؟‬
‫‪)AUPDATE‬‬

‫‪)B SELECT ‬‬

‫‪)CINSERT‬‬

‫‪)DDELETE‬‬
‫س‪ :36‬أي من جمل الـ ‪ SQL‬التالية تمثل الصيغة العامة إلدخال سجل جديد في جدول في قاعدة بيانات؟‬

‫)‪)AInsert Into Tablename (List Of Values) Fields (Field List‬‬

‫)‪)B Insert Tablename (Field List) Values (List Of Values‬‬

‫‪)C.Insert (Field List) Into Tablename‬‬

‫‪)DInsert Into Tablename (Field List) Values (List Of Values) ‬‬

‫‪40‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫س‪ :37‬أي من جمل الـ ‪ SQL‬التالية تمثل الصيغة العامة لتحديث بيانات سجل في جدول في قاعدة‬
‫بيانات؟‬

‫‪)AUpdate Tablename Set Field1=Value1, Field2=Value2, … Where‬‬


‫‪Criteria‬‬ ‫‪‬‬

‫‪)BUpdate Tablename = Field1, Field2, … In Tablename Where Criteria‬‬

‫‪)CUpdate Tablename Send Field1=Value1, Field2=Value2, … Where Criteria‬‬

‫‪)DUpdate Tablename With Fieldname=Fieldvalue, … Where Criteria‬‬

‫س‪ / 38‬لتعديل هذه الجملة بحيث تعرض جميع السجالت مرتبة تنازليا حسب االسم االخير ‪ Lastname‬نقوم‬
‫ب‪:‬‬
‫أ_ تبديل االمر ‪ Asc‬باألمر ‪Desc ‬‬
‫ب‪ -‬تبديل‪ m‬األمر ‪ Order‬باألمر ‪Sort‬‬
‫ج‪ -‬تبديل‪ m‬األمر ‪ Select‬باألمر ‪Show‬‬
‫د‪ -‬الشئ مما ذكر‬

‫س‪ /39‬اذا كان لدينا الجداول التالية الخاصة بسجالت درجات طالب المعهد‪:‬‬

‫‪ -2‬بيانات شعب المواد ‪:‬‬ ‫‪ -3‬بيانات التسجيل ‪:‬‬ ‫‪ -1‬بيانات الطالب ‪:‬‬
‫‪ ‬رقم الشعبة‬ ‫‪ ‬رقم الطالب‬ ‫‪ ‬رقم الطالب‬
‫‪ ‬اسم المادة‬ ‫‪ ‬رقم الشعبة‬ ‫‪ ‬اسم الطالب‬
‫‪ ‬اليوم‬ ‫‪ ‬النتيجة‬ ‫‪ ‬القسم الذى ينتمى اليه‬
‫‪ ‬الوقت‬ ‫الطالب‬
‫‪ ‬السعة القصوى‬

‫‪ )1‬المفتاح الرئيسى ‪ Primary Key‬فى جدول بيانات الطالب هو‪:‬‬


‫‪‬‬ ‫‪ )1‬رقم الطالب‬
‫‪ )2‬رقم الطالب واسمه‬
‫‪ )3‬رقم الطالب واسمه والقسم‬
‫‪ )4‬اليوجد مفتاح رئيسى‬
‫‪ )2‬المفتاح الرئيسى ‪ Primary Key‬فى جدول بيانات التسجيل هو‬
‫أ) رقم الطالب‬
‫‪‬‬ ‫ب) رقم الطالب ورقم الشعبة‬
‫ج) رقم الطالب والنتيجة‬
‫د) جميع الحقول‬
‫‪" )3‬رقم الشعبة" فى جدول بيانات التسجيل هو‬
‫ا) المفتاح الرئيسى ‪Primary Key‬‬
‫ب) مفتاح خارجى ‪Forign Key‬‬
‫‪‬‬ ‫ج) المفتاح الرئيسى ومفتاح خارجى‬
‫د) الشئ مما ذكر‬
‫‪ )4‬الجبار مدخل البيانات على ادخال أرقام مكونة من اربعة خانات نستخدم خاصية‪:‬‬
‫أ) المفتاح الرئيسى ‪Primary Key‬‬
‫ب) قناع االدخال ‪Input Mask ‬‬

‫‪41‬‬
‫مقدمة قواعد البيانات ‪SQL‬‬

‫ج) القيمة االفتراضية ‪Default Value‬‬


‫د) الفهرس ‪Index‬‬

‫س ‪ )40‬أى من جمل ‪ SQL‬التالية تعطى عدد الطالب فى كل شعبة‬


‫( حيث أن ‪ reg_table‬اسم جدول بيانات التسجيل و‪ section_no‬رقم الشعبة)‬
‫)*(‪1) Select section_no,count‬‬ ‫‪‬‬
‫‪From reg_table‬‬
‫;‪Group by section_no‬‬

‫)*(‪2) Select section_no,count‬‬


‫;‪From reg_table‬‬
‫‪3) Select section_no‬‬
‫‪From reg_table‬‬
‫;‪Group by section_no‬‬
‫)*(‪4) Select section_no,count‬‬
‫‪From reg_table‬‬
‫‪Group by section_no‬‬
‫;‪Having count >10‬‬
‫س‪ /41‬أى من الخواص التالية من خواص المفتاح الرئيسى‪Primary Key m‬؟‬
‫‪ )1‬يمكن أن يأخذ قيمة فارغة‬
‫‪ )2‬قيمته تصاعدية دائما‬
‫‪ )3‬اليمكن أن يتكرر ‪‬‬
‫‪ )4‬دائما يتكون من حقل واحد فقط‬
‫س‪ /42‬الخاصية التى التقبل التكرار لكن تسمح بقيم فارغة ‪null‬‬
‫‪ )1‬المفتاح الرئيسى ‪Primary Key‬‬
‫‪ )2‬القيمة االفتراضية ‪Default Value‬‬
‫‪ )3‬مطلوب ‪Required‬‬
‫‪ )4‬قناع االدخال ‪Unique Key‬‬
‫س‪ /43‬فائدة التكامل المرجعى ‪Referential Integrity‬‬
‫‪ )1‬التأكد من عدم تكرار المرجع‬
‫‪ )2‬عدم السماح بادخال البيانات فى جدول اال بعد التأكد من وجود البيانات فى الجدول‬
‫‪‬‬ ‫المقابل‬
‫‪ )3‬عدم السماح بادخال البيانات فى جدول اال بعد التأكد من عدم وجود البيانات فى‬
‫الجدول المقابل‬
‫س‪ /44‬كثرة الحقول تساعد على سرعة البحث ‪‬‬

‫‪42‬‬

You might also like