بسم الله
الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .
سنبعد في درسنا هذا عن TSQL
مؤقتاً عن جو البحث وسنتحدث عن اضافة وحذف الجداول في قواعد البيانات .
سنبدأ أولاً بصيغة انشاء جدول وذلك بالشكل التالي :
رمز برمجي:
CREATE TABLE tb1 ( colum type, colum type,........);
وكمثال على ذلك ... لننشئ جدولاً تحت اسم Tb2 يحتوي على حقلين : الإسم Name
من نوع ( نص - String ) والآخر Age من نوع Number :
رمز برمجي:
CREATE TABLE tb1 (name text,age number );
إذن ماذا لو أردنا أن نحدد حجم حقل العمر Name بخمس خانات فقط ... إذن ضع عدد الخانات بين قوسين
مع تعيين نوع بيانات الاسم ك Text وذلك بالشكل
التالي :
رمز برمجي:
CREATE TABLE tb1 (name text(6),age number );
آخر نقطة سأشرحها في انشاء الجداول هي كيف نجعل الحقل لا
يقبل فراغ - Null ... ولنجرب هذا المثال مع
الإسم أيضاً :
رمز برمجي:
CREATE TABLE tb1 (name text(6) Not Null,age number );
ولكن ماذا عن الحذف ... في الواقع هذا الكود يقوم بحذف الجدول الذي قمنا بإنشاءه
تواً :
رمز برمجي:
DROP Table tb1;
ولو كان هذا الجدول مرتبطاً بعلاقات فلا بد من تحديثها
باضافة CASCADE إلى آخر الكود وذلك بالشكل
التالي :
رمز برمجي:
DROP Table tb1 CASCADE;
لا تنسى أن تنشأ
الجدول بعد حذفه لأننا سوف نعمل عليه مجدداً
والآن سنبدأ في اضافة حقول إليه وذلك بعد عملية الانشاء - أعتقد أن الفرق بين الجدول وقاعدة
البيانات والحقول أصبح واضحاً - .
نستطيع اضافة الحقول بصيغة عامة بالطريقة التالية :
رمز برمجي:
ALTER TABLE tb1 ADD colum type;
فلنضف حقلين جديدين : الأول هو تاريخ الميلاد ، والثاني
النوع ( ذكر - أنثى ) .
رمز برمجي:
ALTER TABLE tb1 ADD birth_Date date,Gender Text;
والآن لنحذف أحد هذه الحقول وليكن حقل Gender ... لاحظ أننا
دائماً نضيف كلمة CASCADE لتحديث العلاقات - في
حال وجودها - ، وذلك بالشكل التالي :
رمز برمجي:
ALTER TABLE tb1 DROP gender CASCADE;
والآن سوف نتعلم اضافة السجلات ، وسوف نستخدم Tb_Main كجدول لنجرب
أوامرنا عليه ، والآن إلى الصيغة العامة لأمر الإضافة :
رمز برمجي:
INSERT INTO table VALUES (v1, v2,......);
لاحظ أننا سنمرر القيم واحداً وراء الثاني وتفصل بينهم
فاصلة ، مع مراعاة وضع النصوص بين علامتي تنصيص "" والتواريخ بين علامتي ##
.
سنمرر القيم التالية : الرقم - الإسم الأول - الإسم الأخير -
رقم الهاتف - العمر - العنوان - البريد الإلكتروني - السنة - اللغة -
الموقع - متزوج/لا - ملاحظات .
وذلك بالشكل التالي :
رمز برمجي:
Insert into tb_main values(11,'ahmed','gamal',6666666,18,'Cairo','Hammada2091','First Year','','',false,'');
تواحهنا مشكلة وهو أننا جعلنا الرقم حقلاً وحيداً - لا
تتكرر قيمه - لذا وجب علينا في كل مرة أن نغير الرقم ... برمجياً يمكننا
ذلك ولكن من خلال الأكسيس جرب ازالة رقم 11 ووضع كلمة MyNumber
بالشكل التالي :
رمز برمجي:
Insert into tb_main values(MyNumber,'ahmed','gamal',6666666,18,'Cairo','Hammada2091','First Year','','',false,'');
جرب تنفيذ جملة الإستعلام وستظهر
لك رسالة تطلب منك ادخال قيمة MyNumber . ضع
قيمة بشرط ألا تكون مكررة وسوف يتم اضافتها في الجدول .
* ملاحظة :
إن هذا الجزء في الأكسيس سيقابله متغير في الفيجوال بيسك ..
كذا الامر بالنسبة للبحث .
هل تتذكر جملة البحث
التالية :
رمز برمجي:
Select * From Tb_Main where name='ahmed';
جرب أن تزيل Ahmed
وضع متغيراً MyName بالشكل التالي :
رمز برمجي:
Select * From Tb_Main where name = myname;
وهذا يعطيك تحكماً فيما ترغب في البحث عنه ...
التعديل
:
الصيغة العامة لتعديل
بيانات سجل بالشكل التالي :
رمز برمجي:
UPDATE table_name SET colum1 = v1 , colum2 = v2 WHERE colum = v;
سنجرب الآن مثالاً لجعل العمر = 28 والموقع =
www.vb4arab.com للشخص الذي اسمه الأول (
Ahmed ) والاخير (
Gamal ) :
رمز برمجي:
Update tb_main set age=25 , site='
www.vb4arab.com' where fname='ahmed' and lname='Gamal';
ولكن ماذا لو كان الأمر يشمل أكثر من سجل . في الواقع هذا
الأمر شائع ويشبهه المثال التالي :
رمز برمجي:
Update tb_main set fname='Ahmad' where fname='ahmed';
قد يستخدم مثل هذا المثال لتوحيد
الأسماء خصوصاً مع اللغة العربية ، كما يمكن أن يستخدم أيضاً لتجاهل تأثير
الهمزة في عمليات البحث ، فمثلاً يصبح أحمد = احمد .
ولكن ماذا لو أردنا تعميم التغييرات ... في هذه الحالة لن
نضع الشرط ، ويمكن وضع أمر شبيه بالأمر التالي لزيادة الأعمار 5 سنوات :
رمز برمجي:
Update tb_main set age=age 5;
يعتبر هذا الأمر من أكثر الأوامر شيوعاً في قواعد بيانات
الشركات ... فمثلاً يستخدم لزيادة رواتب الموظفين بنسبة معينة ( يمكن أن
تكون زيادة ثابته أو نسبيه ) .
ولكن ماذا عن الحذف ... في الواقع تتخذ جملة البحث صيغة عامة كالتالي :
رمز برمجي:
DELETE FROM table WHERE colum = value;
ويمكن أن يكون الحذف تحت تأثير تحقق أكثر من شرط .. في
المثال التالي سوف نحذف جميع الأشخاص الذين تزيد أعمارهم عن الأربعين :
رمز برمجي:
Delete from tb_main where age>40;
ولكن ماذا عن حذف كامل محتويات
جدول ما ... هذه هي الطريقة :
رمز برمجي:
DELETE * FROM table;
يتبع في الجزء القادم ...