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

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

صورة
- - - - -

مشكلة تواجهنى فى ال composite key


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

#1 ayman_tamim

ayman_tamim

    عضو نشط

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

تاريخ المشاركة 17 January 2005 - 09:04 AM

تابعت الدروس الملحقة فى المنتدى ووجدت مثال على ال composite primary key
فى صفحة
http://www.araboug.o...869&hl=composit

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

و لكى استعمل ال constraint يجب ان يكون على الاقل unique و هذا مستحيل فى فهارس الكتب حيث انها تتماثل و تتكرر فما الحل؟ :rolleyes:

#2 enrique2k

enrique2k

    مشترك

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

تاريخ المشاركة 17 January 2005 - 10:29 AM

Dear Ayman there is many types of constraints
1-primary key which is Unique and not null
2-foreign key which is reference for PK
3-not null
4-unique
5-check

so its not necessary to make the column just primary u can make for example not null

for example u can make ename in the emp table on scott schema not null in the table level as follows:


create table emp (
ename varchar2(25),
.
.
.
.
constraint emp_ename_nn not null(ename));


or u can just type not null besides the column name

for example


create table emp(

ename varchar2(25) not null

#3 ayman_tamim

ayman_tamim

    عضو نشط

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

تاريخ المشاركة 17 January 2005 - 11:53 AM

لم تنجح و رسالة الخطئ هيه

ORA-02270: no matching unique or primary key for this column-list

#4 Amgad

Amgad

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

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

تاريخ المشاركة 17 January 2005 - 04:27 PM

ORA-02270 no matching unique or primary key for this column-list
Cause: An attempt was made to reference a unique or primary key in a table
with a CREATE or ALTER TABLE statement when no such key exists in the
referenced table.
Action: Add the unique or primary key to the table or find the correct names of
the columns with the primary or unique key, and try again

.

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


....


#5 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 17 January 2005 - 07:49 PM

اخى الكريم
فى الحالة التى ذكرتها لا يمكن استخدام الفصل والابواب لحقل اساسى مركب compsite primary key
ونلجأ فى مثل هذه الاحوال الى استخدام حقل واحد فقط ويعتبر هو الحقل الاساسى للجدول ويسمى فى هذه الحالة Artificial Primary Key

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com


#6 ayman_tamim

ayman_tamim

    عضو نشط

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

تاريخ المشاركة 18 January 2005 - 07:22 AM

يوجل حل للموضوع ببناء جدول واحد يضم الابواب و الفهارس مع بعض
و لكن التصميم الذى اريدة ان يكون الابواب فى جدول و الفصول فى جدول اخر

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

غير ذالك يمكن وضع الجميع فى جدول واحد و تنتهى المشكلة

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

ملفات مرفقة

  • ملف مرفق  boook.jpg   22.05كيلو   39 عدد مرات التحميل


#7 ayman_tamim

ayman_tamim

    عضو نشط

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

تاريخ المشاركة 18 January 2005 - 08:57 AM

و دا واجهة الكتاب

ملفات مرفقة

  • ملف مرفق  booook.jpg   65.06كيلو   41 عدد مرات التحميل


#8 enrique2k

enrique2k

    مشترك

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

تاريخ المشاركة 18 January 2005 - 09:22 AM

The First Column(Book Series) Make it PK
THEN the other Book Series Fields Make It As FK which references The PK

AND IF you want to add another PK For another Record Dont Make Unique And Not Null As Primary Key


Just Define It As Not null, or Unique or Check

#9 mmerwa

mmerwa

    عضو

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

تاريخ المشاركة 28 January 2005 - 10:09 AM

CREATE TABLE BOOKS(
book_id NUMBER, bkname, ...,
CONSTRAINT books_pk PRIMARY KEY(book_id)
);

CREATE TABLE BOOKSECTIONS(
book_id NUMBER, bksection NUMBER, sec_title, pgnumber, ...,
CONSTRAINT booksections_pk PRIMARY KEY(book_id, bksection),
CONSTRAINT booksections_bookid_fk FOREIGN KEY(book_id)
REFERENCES books(book_id)
);

CREATE TABLE BOOKCHAPTERS(
book_id NUMBER, bksection NUMBER, bkchapter NUMBER, ch_title, pgnumber,...,
CONSTRAINT bookchapters_pk PRIMARY KEY(book_id, bksection, bkchapter),
CONSTRAINT bookchapters_bookid_fk FOREIGN KEY(book_id)
REFERENCES books(book_id),
CONSTRAINT bookid_bksection_fk FOREIGN KEY(book_id, bksection)
REFERENCES booksections(book_id, bksection)
);

Mohamed M. Erwa