لغة الاستعلام الهيكلية(SQL)
Download
Report
Transcript لغة الاستعلام الهيكلية(SQL)
STRUCTURED QUERY لغة قواعد البيانات
)SQL) LANGUAGE
األهداف
تعريف لغة االستعالم الهيكلية.
تعريف االستعالم.
معرفة األقسام الثالثة ل()SQL
)DDL( -1
)DML( -2
)DCL( -3
معرفة بعض األوامر الخاصة ب()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
CREATE VIEW
DROP VIEW
CREATE INDEX
DROP INDEX
ALTER TABLE
DROP TABLE
أنواع البيانات Data Types
النوع
الوصف
Text
تقوم بتخزين الحروف واألرقام والرموز وأقصى عدد تخزنه
255خانة
Integer
تسمح بتخزين األعداد ما بين( )-32,678و 32,676
Number
تخزن أرقام
DATE
تخزن تاريخ
Time
تخزن زمن
Double
تسمح بتخزين أرقام عشرية
BOOLEAN
البيانات الممثلة منطقيا مثل TRUE,FLASEأو Yes/Noأو
1 /0
)DDL( بعض أوامر
)DDL( أمر إنشاء جدول في-1
CREATE TABLE Syntax : الصيغة العامة ألنشاء الجدول
CREATE TABLE tablename
( columnName
dataType
[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
);
Std_ID
Std_name
bdate National_ID
departmentNo
city
phone
password
notes
:مثال
:قومي بإنشاء جدول بناء على العالقة التالية
DEPARTMENT( Dname, Dnumber)
.) مميزDname( بحيث يكون
:الحل
CREATE TABLE department (
Dname Text
NOT NULL,
Dnumber
INT
NOT NULL,
PRIMARY KEY (Dnumber),
UNIQUE (Dname));
Dnumber
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
ON UPDATE
SET DEFAULT
CASCADE );
بعض أوامر ()DDL
-2أمر حذف جدول في ()DDL
الصيغة العامة لحذف الجدول DropTABLE Syntax :
;][RESTRICT | CASCADE
tablename
TABLE
DROP
تقييد RESTRICT :
تعني أنه سوف يتم حذف الجدول لوحده فقط دون المباالة بحذف أي جدول آخر يعتمد ظهوره على
الجدول المراد حذفه.
مثال :جدول ”االبن“ وجدول ”األب“ نجد أن جدول االبن يعتمد وجوده على وجود جدول األب فعند
حذف جدول األب واختيار[ ]RESTRICTفإن جدول االب سيحذف وجدول االبن يبقى بالرغم أن
وجوده يعتمد على وجود جدول األب.
متتابع CASCADE :
عند حذف الجدول فإنه سوف يتم حذف كل الجداول التي تعتمد في ظهورها على الجدول المراد حذفه.
مثال :عند حذف جدول ”األب“ فإنه عند اختيار] [CASCADEسوف يحذف تلقائيا جدول“االبن“
مثال:
احذفي جدول الطلبة المتخرجين من قاعدة البيانات بلغة الـ SQL
مستخدمةً أوامر تعريف البيانات.
الحل:
Drop table graduate
احذفي جدول الطلبة المتخرجين باإلضافة إلى جميع الجداول المعتمدة
عليه من قاعدة البيانات بلغة الـ SQLمستخدمةً أوامر تعريف
البيانات.
بعض أوامر ()DDL
-3الصيغة العامة لتعديل الجدول ALTER TABLE Syntax :
هناك عدة أنواع من التعديل :
أوال :ألضافة عمود في الجدول نستخدم الصيغة العامة التالية
ALTER TABLE table name
ADD column name datatype
ثانيا :لحذف عمود من الجدول نستخدم الصيغة العامة التالية
ALTER TABLE table name
DROP COLUMN column name
ثالثا ً :تغير نوع البيانات في عمود معين من جدول معين
ALTER TABLE table name
ALTER COLUMN column name datatype
مثال:
أضيفي عمود لجدول الطلبة المتخرجين لحفظ رقم السياره بلغة الـ SQL
مستخدمةً أوامر تعريف البيانات
الحل:
ALTER TABLE graduate
ADD Car_NUM INT
قومي بحذف عمود Car_NUMفي جدول الطلبة المتخرجين مستخدمةً
أوامر تعريف البيانات بلغة SQL
الحل:
قومي باجراء تعديل على عمود Car_NUMفي جدول الطلبة المتخرجين
مستخدمةً أوامر تعريف البيانات بلغة SQL
الحل: