منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة vb6.0 المتعلقة بقواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=72)
+--- الموضوع : انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado (/showthread.php?tid=4366)



انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - اشروفا - 23-09-12

اولا احب اهنئ اصحاب ومراقبين المنتدى الجديد على هذا العمل المبدع وجزاهم الله كل خير لما يقدموه لنا نحن الاعضاء من معلومات مفيده لكى نرتقى الى الاحسن ..
سوف ابدأ اولى مشاركاتى فى هذا المنتدى بمثال بسيط لكيفية انشاء داتا بيز وجداول بداخلها بالكود بمكتبة الادو..

http://www.mediafire.com/?kzrp39553b39ja9


انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - اشروفا - 23-09-12

اسف يا جماعة على تقصيرى فى وضع هذا المثال على استعجال دون شرح ولكن انا هكمل شرح لبعض النقاط المهمه هنا مع العلم ان المثال فى الاعلى تمام ...

معظم الناس بتحب تستخدم constraint
ودى معناها القيود على القحول
انواع القيود مش هتكلم فيها كتير
1/ primary key
2/ Unique
3/ not null
4/ Foreign key
5/ Check
============================
القيد رقم 1 (primary key) وده معناه مفتاح اساسى على الجدول يعنى مينفعش يتقرر وقيمة ثابته وبيتم عن طريقه الربط بجداول اخرى
كيفية انشاؤه بالكود ؟
constraint tab_id_pk primary key
ايه الكلام اللى انا كاتبه ده ؟
Constraint عرفنا ان معناها قيد
tab_id_pk ده اسم القيد اللى انا هنشأه وهنا انا سميته
باسم الجدول واسم الحقل و الـ pk ترمز انه primary key اى انه مفتاح اساسى
2/ القيد رقم 2 (Unique) تعريف تلك الكلمة فريد
بمعنى ان الحقل ده مينفعش يتكرر فيه نفس القيم كل row فى هذا الحقل قيمته مختلفة عن الاخرى
شبيه للقيد رقم 1 بس كل منهم ليه استخدام معين
كيفية انشاؤه بالكود ؟
constraint tab_name_ uq Unique
طبعا احنا شرحنا معنا الكلام ده فى القيد رقم 1
القيد رقم 3 (not null) وده معناه ان الحقل اللى عليه هذا القيد مينفعش نضع فيه قيمة فاضية او null لازم يكون هذا الحقل بيه قيمة
كيفية انشاؤه بالكود ؟
constraint tab_date_ nn not null
القيد رقم 4/ (Check) وده معناه التحقق من القيمة المدخله
ويستحسن استخدامه على الحقول الرقيمة وليست النصية
كيفية انشاؤه بالكود ؟
constraint tab_salary_ck check(salary between 1000 and 2000 )
الشرح انا بقوله هنا تحقق من قيمة المرتب المدخله فى هذا الحقل يجب ان تكون موجوده ما بين 1000 و 2000
مينفعش تكون اصغر من 1000 او اكبر من 2000
القيد رقم 5 / (Foreign key) وده معناه مفتاح اجنبى
بمعنى انه مربوط بمفتاح اساسى primary key
بجدول اخر
وهذا يدل على ان قيمة الحقل اللى عليه هذا القيد يجب ان تكون متاشبه فى نفس القيم الحقل اللى فى الجدول الاخر اللى عليه قيد primery key
يعنى مينفعش يكون الحقل اللى فى الجدول اللى عليه قيد primary key القيم اللى فيه من 1 لحد 10 مثلا
واجى انا اضيف فى الجدول الثانى فى الحقل اللى عليه قيد Foreign key وااقوله ضيف رقم 11 هنا القيد بيشتغل بقى بيتحقق اذا كان رقم 11 ده متسجل فى الجدول اللى مربوط بيه ولا لا
كيفيه انشاؤه بالكود ؟
لنفترض مثلا اننا عندنا جدولين جدول a وجدول b
جدول a يوجد به حقل id وهوا مفتاح اساسى primary key والجدول b يوجد به حقل id وهوا مفتاح اجنبى Foreign key
من شروط الانشأ يجب ان يكون الحقل id فى الجدول a
مفتاح اساسى primary key
الان نأتى لكيفية انشاؤه بعد ما وضحت شروط الانشأ
constraint b _ id _fk foreign key (id) references a (id)
مش محتاج شرح باستثناء كلمة references a (id)
ودى معناها ان القيد ده مربوط بالحقل id اللى فى الجدول a
احنا اتكلمنا عن كيفية انشاؤه بالكود لكن مش شوفنا كيفية موضعه عند الانشاء


هذا هوا الكود لانشاء الجدول قبل وضع القيود
cn.Execute "create table tab (id number,name text(50),dat date) ;"

نيجى نشوفه بعد وضع القيد هيكون ازاى

cn.Execute "create table tab (id number constraint tab_id_pk primary key,name text(50) tab_name_uq Unique,dat date constraint tab_dat_nn not null) ;"
القيد بيتم وضعه بعد تعريف اسم الحقل ونوعه اذا كان رقمى او نصى ...
وبكده اكون خلصت كيفيه انشاء داتا بيز وانشاء جداول
وكيفية وضع القيود على الحقول بالكود من داخل الفيجوال بيسك


انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - mmali127 - 23-09-12

شكرا اخى الكريم على المعلومات القيمة

جعله الله فى ميزان حسناتك

تقبل تحياتى


RE: انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - ثابت واصل - 26-04-17

السلام عليكم
جزاك الله خيرا اخي العزيز على المعلومات القيمة
اخي العزيز ماذا لو اردت انشاء جدول في قاعدة الببيانات اذا لم يكن منشئ من قبل
اي اذا كانت قاعدة البيانات لا تحوي  الجدول الذي انا اريد انشائة تقوم بانشائة واذا كانت تحوية لا تقوم القاعده بانشائة
ولك جزيل الشكر


RE: انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - Ahmed_Mansoor - 26-04-17

(26-04-17, 08:07 AM)ثابت واصل كتب : السلام عليكم
جزاك الله خيرا اخي العزيز على المعلومات القيمة
اخي العزيز ماذا لو اردت انشاء جدول في قاعدة الببيانات اذا لم يكن منشئ من قبل
اي اذا كانت قاعدة البيانات لا تحوي  الجدول الذي انا اريد انشائة تقوم بانشائة واذا كانت تحوية لا تقوم القاعده بانشائة
ولك جزيل الشكر

وعليكم السلام ورحمة الله وبركاته

لعمل ذلك قم بإضافة هذه الكلمات IF NOT EXISTS بعد create table وقبل إسم الجدول كما هو موضح :

PHP كود :
cn.Execute "create table IF NOT EXISTS tab (id number constraint tab_id_pk primary key,name text(50) tab_name_uq Unique,dat date constraint tab_dat_nn not null) ;" 



RE: انشاء داتا بيز + انشاء جدول بالكود بمكتبة ado - ثابت واصل - 13-05-17

(26-04-17, 11:45 PM)Ahmed_Mansoor كتب :
(26-04-17, 08:07 AM)ثابت واصل كتب : السلام عليكم
جزاك الله خيرا اخي العزيز على المعلومات القيمة
اخي العزيز ماذا لو اردت انشاء جدول في قاعدة الببيانات اذا لم يكن منشئ من قبل
اي اذا كانت قاعدة البيانات لا تحوي  الجدول الذي انا اريد انشائة تقوم بانشائة واذا كانت تحوية لا تقوم القاعده بانشائة
ولك جزيل الشكر

وعليكم السلام ورحمة الله وبركاته

لعمل ذلك قم بإضافة هذه الكلمات IF NOT EXISTS بعد create table وقبل إسم الجدول كما هو موضح :

PHP كود :
cn.Execute "create table IF NOT EXISTS tab (id number constraint tab_id_pk primary key,name text(50) tab_name_uq Unique,dat date constraint tab_dat_nn not null) ;" 
جزاك الله خيرا