إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

سؤال فى إنشاء الجداول محتاج تفسير


2 رد (ردود) على هذا الموضوع

#1 khaledhere

khaledhere

    مشترك

  • الأعضــاء
  • 55 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 29 August 2010 - 10:35 PM

انا ياجماعه فى حاجه مش فاهمها ياريت حتى يوضحها ليا دلوقتى انا عندى جدولين
create table item1(
item_id number(6),
item_name varchar2(15),
address varchar2(28),
phone number(10),
email varchar2(30),
city varchar2(10),
buy_date date,
age number(3),
constraint item1_pk primary key (item_id));
===============================================
create table item2(
item2_id number(10),
item2_number number(6),
item2_date date,
item2_type varchar2(18),
item2_name varchar2(40),
item2_content varchar2(60),
item_id number(6),
constraint item2_pk primary key (item2_id),
constraint item2_fk foreign key(item_id) references item1(item_id));

دلوقتى ياجماعه انا اللى عايز أفهمه انا دلوقتى عامل علاقه بين الجدولين primary key , foreign key
دلوقتى المفروض اللى يحصل الاتى
يعنى مثلا لو عملت insert لى item_id اللى فى الجدول الاول اللى هو item1
والقيمه اللى عملت ليها insert هى مثلا 100

مش المفروض لو دخلت على الجدول الثانى item2
يكون فى العمود item_id نفس القيمه اللى هى 100
مش ده المفروض اللى يحصل ولا انا كده فاهم غلط
منتظر الرد

#2 aseldalatony

aseldalatony

    عضو

  • الأعضــاء
  • 8 مشاركة

تاريخ المشاركة 29 August 2010 - 11:58 PM

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

2 - الحل الثاني والافضل هو وضع البيانات الثابتة او التي تتكرر بصورة مستمرة(كود الطالب - اسم الطالب - العنوان) في جدول مستقل واختيار حقل من البيانات ليكون مفتاح اساسي (Primary Key) للجدول لضمان عدم تكرار السجل في الجدول وربط السجل بباقي بياناته (اسماء الكورسات التي يدرسها مثلا)
فيصبح لدينا التصميم الجديد
جدول الطلاب (كود الطالب<PRIMARY KEY> - اسم الطالب - العنوان)
جدول كورسات الطلاب(اسم الكورس - كود الطالب<FOREIGN KEY>)
نأتي لعملية INSERT
نفترض اننا قمنا بتسجيل طالب بكود 100 وآخر بكود 101 في جدول الطلاب
وعند محاولة ادخال الكورسات لن يقبل الا بكود 100 و 101 او بصورة اشمل لن يتم التسجيل في الجدول الثاني الا بأكواد سبق ادخالها في الجدول الاول
اما عن كيفية الحصول على المعرف في الجدول الثاني اتوماتيكيا فلن يتم الا عن طريق الواجهة الرسومية التي قد تصممها بنفسك او بعض برامج ادارة قواعد البيانات

وعذرا على الاطالة

#3 walid elsayed

walid elsayed

    عضو

  • الأعضــاء
  • 41 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 29 September 2010 - 12:14 PM

السلام عليكم ورحمه الله وبركاته
حضرتك ههمت العلاقه غلط
لوعندنا جدولين وبينهم علاقه مثلا زى جدولemp وجدولdept معناها انى عشان اقدر ادخل بيانات فى الجدول الdetail لازم ادخل البيانات  الاساسيه فى الجدول master
انما البيانات لاتذهب لوحدها للجدول التانى ولو عايز تخليها تكون فى الجدول التانى لازم تعمل جمله insert للجدول التانى بنفس بيانات الجدول الاول
عسى الله ان ينفعنا واياك اخى فى الدنيا والاخرة