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

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


ta3bt

Recommended Posts

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

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 )



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

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

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

السلام عليكم
------------
المثال ده ان شاء الله يساعدك فى كتابة 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)
);

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

اخى الكريم المشكله عندك فى كتابه الكونسترين الجمله صج لغايط الكونسترين
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)
);

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

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


ممكن ان تطلع على الكود تبعك بالصيغة التالية ، وياريت لو تكتب توضيح اكثر على الجدول الذي تريد عمله
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))

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

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

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


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

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

tables.doc

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

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

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

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


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

ماعتقد انو السبب الكونسترينت لاني أنشأت جدوال بنفس الطريقه وزبطت معاايا. :)
وبالنسبه لمثالكـ..اوكي بس انا ابغى يكون للجدول اكثر من برايمري كي..
يعطيكـ العافيه وإذا عرفت لي الغلطـ الله لا يهينكـ قلي :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 كولم بريمر حاول تجرب الاكود بتاعتى هتلاقى المشكله زاى مابقولك ان شاء الله
باتوفيق

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

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

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

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

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

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

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

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

الملاحظة الاساسية فى جدول 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 + اسم المستودع + مكان المستودع او المدينه...

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

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

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

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

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

السلام عليكم

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));



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

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

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

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

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

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

smile.gif

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

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

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

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

×   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.

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

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

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