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

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


khaledhere

Recommended Posts

انا ياجماعه فى حاجه مش فاهمها ياريت حتى يوضحها ليا دلوقتى انا عندى جدولين

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
مش ده المفروض اللى يحصل ولا انا كده فاهم غلط
منتظر الرد

رابط هذا التعليق
شارك

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

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

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

رابط هذا التعليق
شارك

  • بعد 5 أسابيع...

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

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية