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

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

صورة
- - - - -

ماعرف ايش هو الخطأ في كود لإنشاء الجداول


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

#1 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 31 May 2010 - 12:53 PM

السلام عليكم ورحمة الله
والله لي أكثر من ٣ ساعات وانا احاول ألقى الخطأ مني عاارف بس عن جد تعبت والله
ولسى وراي شغل فيه فياااليت اللي يدخل ويعرف ايش الخطأ يقلي والله يجزااه ألف أ لف خيير
علما بأني مبتدئه في هذا المجال
create table store(store_no  number(12), item_code  number(10), alley  varchar2( 30),
  foreign key (item_code ) references item,
constraints store_pk primary key(store_no,item_code) );
create table ship_I( ship_serialno  number(12), item_code  number(10), ship_q  number(38),
 foreign key (item_code ) references item (item_code) ,
constraints ship_I_pk primary key(ship_serialno,item_code) );

create table ship(ship_serialno  number(12),store_no  number(12),
   constraints ship_pk primary key(ship_serialno,store_no),
   foreign key (store_no ) references  store (store_no),
   foreign key (ship_serialno) references ship_I (ship_serialno))
لما أنشأ الجدول الاخير

يطلعلي هذا الخطأ

ORA-02270: لايوجد مفاتيح اساسيه او فريده متوافقه لقائمة العمود

وإذا حطيت هذا كمان يطلعلي
create table recive(store_no  number(12),item_code  number(10), 
recive_place  varchar2( 22),recive_date date,recive_q number(38),
foreign key (item_code) references item,
foreign key (store_no) references store,PRIMARY KEY (store_no),
constraints recive_pk primary key(store_no,item_code,recive_place )

لا يصح وجود اكثر من مفتاج اساسي في الجدول

تكفوووون ساعدوني والله ضروري

#2 abdou1984

abdou1984

    عضو نشط

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

تاريخ المشاركة 31 May 2010 - 01:49 PM

السلام عليكم
------------
المثال ده ان شاء الله يساعدك فى كتابة Script بشكل صحيح
CREATE TABLE supplier
( supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);


CREATE TABLE products
( product_id numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id)
);

#3 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 31 May 2010 - 02:16 PM

يعطيكـ العافيه..

بس ماقلتلي ووين المشكله عندي??

#4 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 31 May 2010 - 02:39 PM

اخى الكريم المشكله عندك فى كتابه الكونسترين الجمله صج لغايط الكونسترين
1-سايب مسافات فى اسماء الجدوال فى الفورنج
2-طريقه كتلبت لكونستران مش صح
متال
CREATE TABLE v_user(
emp_id NUMBER(6) ,
gro    NUMBER(6) ,
velad VARCHAR2(25),
nick VARCHAR2(25),
pass VARCHAR2(25),
CONSTRAINT emp_emp_id_pk
PRIMARY KEY (emp_id)
);

  • mostfa_future معجب بهذا

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#5 ahmad48

ahmad48

    مشترك

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

تاريخ المشاركة 31 May 2010 - 02:43 PM

اخي الحبيب اعتقد ان الخطأ بسبب انك جعلت احد الحقول مفتاح اساسي وفي نفس الوقت عرفته على انه مفتاح اجنبي


ممكن ان تطلع على الكود تبعك بالصيغة التالية ، وياريت لو تكتب توضيح اكثر على الجدول الذي تريد عمله
create table recive(
store_no number(12) references store (store_no),

item_code number(10) references item(item_code),

recive_place varchar2( 22),

recive_date date,

recive_q number(38))

#6 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 31 May 2010 - 05:12 PM

..الاستاذ مصطفى ..

ماعتقد انو السبب الكونسترينت لاني أنشأت جدوال بنفس الطريقه وزبطت معاايا. :)
وبالنسبه لمثالكـ..اوكي بس انا ابغى يكون للجدول اكثر من برايمري كي..
يعطيكـ العافيه وإذا عرفت لي الغلطـ الله لا يهينكـ قلي :rolleyes:


الاستاذ أحمد ..
طيب هو هذا المطلوب مني أنه يكون مفتاح اساسي في الجدول بس هو أصلن مفتاح اجنبي :(

بحط الجداول المطلوبه مني في المرفقات الجداول اللي بالاصفر اللي ابغى أنشأها واللي بالأحمر هي الاساسيه
وإذا ماعليكـ أمر شوفها لي وقلي ايش الغلط =_="

ملفات مرفقة

  • ملف مرفق  tables.doc   34كيلو   23 عدد مرات التحميل


#7 ahmad48

ahmad48

    مشترك

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

تاريخ المشاركة 31 May 2010 - 06:12 PM

انت لما تريد تعمل العلاقة بين جدولين بأستخدام مفتاح اساسي في الجدولين ، يعني انت بدك تنشئ علاقة واحد - الى - واحد ، هل انت اتريد
تنشئ علاقة واحد - الى - واحد

بالنسبة للملف الذي في المرفقات شو الي في الاحمر وشو الي في الاصفر ، ياريت توضيح اكثر

#8 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 31 May 2010 - 06:27 PM

..الاستاذ مصطفى ..

ماعتقد انو السبب الكونسترينت لاني أنشأت جدوال بنفس الطريقه وزبطت معاايا. :)
وبالنسبه لمثالكـ..اوكي بس انا ابغى يكون للجدول اكثر من برايمري كي..
يعطيكـ العافيه وإذا عرفت لي الغلطـ الله لا يهينكـ قلي :rolleyes:


الاستاذ أحمد ..
طيب هو هذا المطلوب مني أنه يكون مفتاح اساسي في الجدول بس هو أصلن مفتاح اجنبي :(

بحط الجداول المطلوبه مني في المرفقات الجداول اللي بالاصفر اللي ابغى أنشأها واللي بالأحمر هي الاساسيه
وإذا ماعليكـ أمر شوفها لي وقلي ايش الغلط =_="


الخى الفاضل الموضع زاى موقلتك فى الاول المشكله فى كتابه الكونستران و الدليل اهووووو
create table recive(store_no  number(12),item_code  number(10), 
recive_place  varchar2( 22),recive_date date,recive_q number(38),
foreign key (item_code) references item,
foreign key (store_no) references store,PRIMARY KEY (store_no),
constraints recive_pk primary key(store_no,item_code,recive_place )
ده الكود الغلط بتاعك كل الى هنعملها هنشيل السطرين بتاع الكونسترين
create table recive(store_no  number(12),item_code  number(10), 
recive_place  varchar2( 22),recive_date date,recive_q number(38))
هيشتغل و جربتها المشكله مش انك عامل 2 كولم برايمر المشكله فى كتابه الكونسترين اتبع نفس المتال فى كتابه الكونسترين
CREATE TABLE v_user(
emp_id NUMBER(6) ,
gro    NUMBER(6) ,
velad VARCHAR2(25),
nick VARCHAR2(25),
pass VARCHAR2(25),
CONSTRAINT emp_emp_id_pk
PRIMARY KEY (emp_id,pass )
);
ده متنفذ فى 2 كولم بريمر حاول تجرب الاكود بتاعتى هتلاقى المشكله زاى مابقولك ان شاء الله
باتوفيق
  • mostfa_future معجب بهذا

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#9 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 31 May 2010 - 08:34 PM

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

استاذ احمد .... ليش افكر في في انها واحد لو واحد في مرحلة الانشاء??,,اسفه مافهمتك تبغى توصل لايه في سؤالكـ:rolleyes:

بس عن المرفق اقصد اللي بالاحمر هي الجدوال البارنت واللي بالاصفر هي التشايلد

والله يجزاك خيير

#10 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,558 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 31 May 2010 - 09:34 PM

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

اعتقد ان المشكلة ليست فى كتابة الاوامر

الملاحظة الاساسية فى جدول store
مفتاح الجدول مركب من عمودين هما رقم المستودع ورقم الصنف ..


 create table store(store_no number(12), item_code number(10), alley varchar2( 30), foreign key (item_code ) references item, 
constraints store_pk primary key(store_no,item_code) );

الجدول الثاني الذى حدث به الخطأ

 create table ship(ship_serialno number(12),store_no number(12), constraints ship_pk primary key(ship_serialno,store_no),
foreign key (store_no ) references store (store_no),
foreign key (ship_serialno) references ship_I (ship_serialno))


ويتضح ان سبب الخطأ هو الربط مع جدول الstore الذي يفترض ان مفتاح الجدول هو عمود واحد فقط هو ال store_no فى جدول ال store
وهذا لا يتوافق مع امر انشاء جدول الstore فى الخطوة السابقة
لذا ظهرت رسالة الخطأ التالية

ORA-02270: لايوجد مفاتيح اساسيه او فريده متوافقه لقائمة العمود


سؤال : اين الجدول الاساسي للمستودعات والمفترض ان يكون رقم المستودع pk + اسم المستودع + مكان المستودع او المدينه...

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

والله الموفق

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


....


#11 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 01 June 2010 - 12:03 AM

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

أما بالنسبه للنظام فهو عباره عن إنشاء قاعدة بيانات لقسم المطابخ لايكيا افتراضا أنه لها ثلاث مخازن في جده والشحنه اللي تجي تتوزع على المخازن .
والاقسام اللي في ايكيا اللي هي as_is & floor تطلب من المستودع
فيصير المستودع يوزع البضاعه على هذي الاقسام بالاضافه لل dispose إذا حصل إتلاف لاي صنف
علما أنه ماكان عندي فورم لاليه العمل في ايكيا فاغلب البيانات مجرد افتراضات يعني احتمال وجود الخطأ كبيير وبقوه
صورة
بس ياليت إذا أحد يقدر يفيدني يساعدني فأسرع وقت
لانو بكره الساعه ١٢ الليل لازم الجدوال تكون أنشأت واكون أرسلتها على ايميل الاستاذه صورة

#12 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 01 June 2010 - 12:22 AM

السلام عليكم

Create Table Item(
Item_Code     Number(10) Primary Key,
Item_Dis      Varchar2(200),
Unit_No       Number(10),
Product_Id    Varchar2(30),
Dis_Code_Item Varchar2(100));


Create Table Store(Store_No   Number(12),
                   Item_Code  Number(10) Unique, 
                   Alley      Varchar2( 30),  
            Foreign Key (Item_Code ) References Item(Item_Code),
            Constraints Store_Pk     Primary Key(Store_No));


Create Table Ship_I(Ship_Serialno  Number(12),
                    Item_Code      Number(10) Unique, 
                    Ship_Q         Number(38), 
 Foreign Key (Item_Code ) References Item (Item_Code),
 Constraints Ship_I_Pk Primary Key(Ship_Serialno));


Create Table Ship(Ship_Serialno  Number(12),
                  Store_No       Number(12),   
 Constraints Ship_Pk         Primary Key(Ship_Serialno,Store_No),   
 Foreign Key (Store_No )     References  Store (Store_No),   
 Foreign Key (Ship_Serialno) References Ship_I (Ship_Serialno));


Create Table Recive(Store_No      Number(12),
                    Item_Code     Number(10), 
                    Recive_Place  Varchar2(22),
                    Recive_Date   Date,
                    Recive_Q      Number(38),
 Foreign Key (Item_Code) References Item(Item_Code),
 Foreign Key (Store_No)  References Store(Store_No),
 Constraints Recive_Pk Primary Key(Store_No,Item_Code,Recive_Place));

سيتم انشاء الجداول بهذه الطريقة.
بالتوفيق

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#13 ta3bt

ta3bt

    عضو

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

تاريخ المشاركة 01 June 2010 - 02:24 AM

أستااذه أحمد حسن ..

جزاااااااااااك الله كل خييير والله يكتب لك التيسيير في كل حيااتكـ أنت وكل اللي ردو علي ..

بس معليش إذا ماعليكـ امر بس تقولي أخطاءي

ومررة ثانيه يعطيكم العافيه جمييييع

صورة