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

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

صورة
- - - - -

أين الخطأ فى كود أنشاء الجدول


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

#1 moslem_12002

moslem_12002

    عضو

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

تاريخ المشاركة 04 September 2007 - 03:47 AM

بسم الله الرحمن الرحيم
عندى مشكله مش عارف احلها يارب تساعدونى فيها
بعمل برنامج مكون من أربع جداول
الجدول الأول والتانى مفيهمش أخطاء اما الجدول الثالث بقولى فيه أن
no matching unique or primary key for this column-list
مع أنى عاملهم متطابقين
والجداول بالترتيب هى
1-items
-------------------------------------------------
create table items(
code varchar2(10),
itname varchar2(30),
sdate date,
min number(10),
quntity number(10),
kind varchar2(30),
note varchar2(1000),
CONSTRAINT items_code_pk PRIMARY KEY (code));
----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
2-supplier
----------------------------
create table supplier (
code varchar2(10),
name varchar2(30),
phone varchar2(20),
mobile varchar2(20),
address varchar2(30),
note varchar2(1000),
constraint supplier_code_pk primary key (code));
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
3- purchases
-------------------
وده اللى فيه الخطا
-----------------------
create table purchases(
code varchar2(10),
name varchar2(30),
sname varchar2(30),
quantity number(10),
pdate date,
kind varchar2(30),
note varchar2(1000),
constraint code_purchases_pk primary key (code),
constraint purchases_items_fk foreign key (name) references items(itname),
constraint purchases_supplier_fk foreign key (sname) references supplier(name));
-------------------------------------------------------------------------------------------------

الخطا بعد تنفيذ أنشاء الجدول الثالث
constraint purchases_items_fk foreign key (name) references items(itname),
*
ERROR at line 10:
ORA-02270: no matching unique or primary key for this column-list

#2 King Oracle

King Oracle

    مشرف قسم المشاريع

  • فريق الإشراف
  • 2,043 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 04 September 2007 - 09:19 AM

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

انظر هذه الجملة (references items(itname
طبعا itname في جدول المواد ليست مفتاح رئيسي وليست unique وبتالي لا يمكن انشاء
ربط بين الجدولين .

وايضا نفس الشيء بالنسبة name في جدول supplier .

قم بالتعديل التالي

ALTER TABLE items
ADD CONSTRAINT ITNAME_UK unique (ITNAME);

ALTER TABLE supplier
ADD CONSTRAINT sname_uk unique (name);

ثم نفذ جملة انشاء الجدول الثالث ........

خبرني ................ هه هه هه

[سبحان الله وبحمده ... سبحان الله العظيم]


م.علاء الدين الجبالي
Oracle APPS HCM Techno Functional Consultant


مدونتي الخاصة ... ( للتواصل معكم )
http://aljabali2010.blogspot.com/

التواصل عبر السكايبي

araboug.org
or
aladdin_aljabali

للتواصل عبر الايميل ( الماسنجر )

aladdin2011@live.com

موبايل 1: 00966540873048 ( حاليا في السعودية)
موبايل 2: 00962798522832


اللهم لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم


#3 nhamzehn

nhamzehn

    مشترك

  • الأعضــاء
  • 187 مشاركة
  • الاهتمامات:المطالعة

تاريخ المشاركة 04 September 2007 - 12:28 PM

من شروط عمل foreign key هو ان يكون عائد على مفتاح اساسي (primary key) او عائد على (Unique) وفي الجدول الثالث انت تقوم بعمل شرط purchases_items_fk يعود على itname مع انه ال itname ليس primary key ولا حتى unique ونفس العملية بالنسبة للشرط الثاني purchases_supplier_fk.

طبعاً هذه خطأ في ال database ان تقوم بتخزين الإسم في جدولين والأصل ان تخزن الكود ليصبح الجدو الثالث كالتالي:
create table purchases(
code varchar2(10),
itcode varchar2(30),
scode varchar2(30),
quantity number(10),
pdate date,
kind varchar2(30),
note varchar2(1000),
constraint code_purchases_pk primary key (code),
constraint purchases_items_fk foreign key (itcode) references items(code),
constraint purchases_supplier_fk foreign key (scode) references supplier(code));

سبحان الله وبحمده سبحان الله العظيم

اللهم لك الحمد والشكر كما ينبغي لجلال وجهك وعظيم سلطانك

#4 moslem_12002

moslem_12002

    عضو

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

تاريخ المشاركة 04 September 2007 - 04:05 PM

الففففففففففففففففففففففففففففففففف شكر أخى العزيز الجبالي حقا أنك عضو مميز
والففففففففففففففففففففففففففففففف شكر أخى العزيز nhamzehnعلى الشرح والتوضيح
أنا فعلا كنت نسيت خالص شروط عمل fk المهم أنى كده صح
أنا بس كنت عاوز فى الجدول الثالث (جدول المشتريات)(purchases) أخلى المستخدم لا يضيف أسم الصنف(name) الا بعد التاكد من وجوده فى جدول (items) فى حقل (name) ونفس الكلام لأسم المورد لا يتم عملية شراء الا بعد التاكد من أنه مسجل مسبقا فى جدول (supplier)
والحمد لله كده تمام
ألففففففففففففففففففففففففف شكررررررررررررررررررررررررررررررر