الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

البناء الداخلي للجدول

Featured Replies

بتاريخ:

السلام عليكم

كيف الحال؟

اخواني ارجو منكم مساعدتي في هذا

انا عندي مجموعة جداول لمحل تجاري قمت بأنشاء هذه الجداول ثم انشأة علاقات الرابط بينهم ونفذتهم بـ SQL Plus واقبل التنفيذ لكن عندما اقوم بأدخال البيانات يقبل بعضها فقط والباقي لايقبلها وايضا الجداول جميعها مقبوله وما عدا جدول s_inventory فما ادري ويش المشكلة
هذه الجداول وعلاقات الرابط بينهم الي ما اتمنى تكون فيها

//first input this table

CREATE TABLE s_region(
reg_id  NUMBER(7) NOT NULL, 
name  VARCHAR2(50) NOT NULL,
constraint reg_id_prim primary key (reg_id)); 

//second

CREATE TABLE s_image(
im_id NUMBER(7) NOT NULL, 
format VARCHAR2(25) , 
use_filename VARCHAR2(25), 
filename VARCHAR2(25),
constraint im_id_prim primary key (im_id));

//third

CREATE TABLE s_customer(
cust_id NUMBER(7) NOT NULL , 
name VARCHAR2(50) NOT NULL, 
phone  VARCHAR2(25), 
address  VARCHAR2(400), 
city  VARCHAR2(30), 
state   VARCHAR2(20), 
country  VARCHAR2(30), 
zip_code VARCHAR2(75), 
credit_rating VARCHAR2(9), 
sales_rep_id NUMBER(7), 
region_id NUMBER(7), 
comments VARCHAR2(255),
constraint cust_id_prim primary key (cust_id),
CONSTRAINT reg_id_fk FOREIGN KEY (region_id) REFERENCES s_region(reg_id));

//fourth

CREATE TABLE s_dept(
de_id NUMBER(7) NOT NULL, 
name VARCHAR2(25) NOT NULL, 
region_id NUMBER(7),
constraint de_id_prim primary key (de_id),
CONSTRAINT regi_id_fk FOREIGN KEY (region_id) REFERENCES s_region(reg_id)); 

//fifth

CREATE TABLE s_emp(
em_id NUMBER(7) NOT NULL, 
last_name VARCHAR2(25) NOT NULL, 
first_name VARCHAR2(25), 
userid VARCHAR2(8) NOT NULL, 
start_date DATE, 
comments VARCHAR2(255), 
manager_id NUMBER(7), 
title VARCHAR2(25), 
dept_id NUMBER(7), 
salary NUMBER(11,2), 
comission_pct NUMBER(4,2),
constraint em_id_prim primary key (em_id),
CONSTRAINT dep_id_fk FOREIGN KEY (dept_id) REFERENCES s_dept(de_id)); 

//sixth

CREATE TABLE s_order(
ord_id   NUMBER(7) NOT NULL, 
customer_id  NUMBER(7) NOT NULL, 
date_ordered  DATE, 
date_shipped  DATE, 
sales_rep_id  NUMBER(9), 
total  NUMBER(11,2), 
payment_type    VARCHAR2(6), 
order_filled    VARCHAR2(1),
constraint ord_id_prim primary key (ord_id),
CONSTRAINT cust_id_fk FOREIGN KEY (customer_id) REFERENCES s_customer(cust_id));

//seventh

CREATE TABLE s_product(
prod_id   NUMBER(7) NOT NULL, 
name   VARCHAR2(50) NOT NULL, 
short_desc  VARCHAR2(25), 
longtext_id  NUMBER(7), 
image_id    NUMBER(7), 
SUGGESTED_WHLSL_PRICE  NUMBER(11,2), 
whlsl_units   VARCHAR2(25),
constraint prod_id_prim primary key (prod_id),
CONSTRAINT im_id_fk FOREIGN KEY (image_id) REFERENCES s_image(im_id));

//eighth

CREATE TABLE s_inventory(
prod_id NUMBER(7) NOT NULL, 
warehouse_id NUMBER(7) NOT NULL, 
amount_in_stock NUMBER(9), 
reorder_point NUMBER(9), 
max_in_stock NUMBER(9), 
out_of_stock_explanation VARCHAR2(255), 
restock_date DATE,
CONSTRAINT prod_id_fk FOREIGN KEY (prod_id) REFERENCES s_product(prod_id)); 

//finally

CREATE TABLE s_item(
ord_id  NUMBER(7) NOT NULL, 
item_id  NUMBER(7) NOT NULL, 
product_id  NUMBER(7) NOT NULL, 
price   NUMBER(11,2), 
quantity  NUMBER(9), 
quantity_shipped NUMBER(9),
CONSTRAINT orde_id_fk FOREIGN KEY (ord_id) REFERENCES s_order (ord_id),
CONSTRAINT produ_id_fk FOREIGN KEY (product_id) REFERENCES s_product (prod_id));


البيانات المستخدمه لهم فهيا في هذا الملف المرفق
drop_table_s.doc

انا عااارف اني طولت بس والله مالي غيركم يفيدني في الموضوع

واخير ايضا اذا جيت بعمل تصميم في الي Form Builder لجدولين يعطيني رسالة خطا

ولكم مني جزيل الشكر

drop_table_s.doc

drop_table.txt

بتاريخ:

بالنسبة للجداول
عدم وجود مفتاح رئيسي لجدول s_inventory
وايضا عدم وجود مفتاح رئيسي لجدول s_item
لماذا ؟؟؟
---------------
بالنسبة للبيانات
يوجد تكرار لبيانات المفتاح الرئيسي فى جدول s_product
-------------
بالنسبة لامر ادخال السجلات insert
مع جدول s_inventory
اسم الحقل prod_id مكتوب بالخطأ produ_id
-------------------------------
يجب مراعاه ترتيب التعامل مع الجداول عند ادخال البيانات
حسب ترتيب العلاقات بينهم
-----------------------------------

inv_doc.doc

تم تعديل بواسطة Amgad

بتاريخ:

برجاء كتابة الرساله التى تظهر عند عدم استقبال البيانات

ايهاب وجدى

بتاريخ:
  • كاتب الموضوع

هذه رسالة الخطا
تم انتهاك قيد التكامل (SCOTT.PRODU_ID_FK) مفتاح العنصر الرئيسي غير موجود

بتاريخ:

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

بتاريخ:

السلام عليكم

اخي المحترم المشكله عندك في اولويه ادخال البيانات على الجداول اي يعني يجب ادخال البيانات من نوع foriegn key و بعد ذلك
عبء باقي الجداول و بإذن الله امورك تمام

بتاريخ:
  • كاتب الموضوع

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

وعلى فكرة انا ادخلت البيانات بترتيب حسب الـ Foriegn key

بتاريخ:
  • كاتب الموضوع

مرحبا اخ Amgad واشكر على التعليق
حبيبي اخ امجد

بالنسبة للجداول 
عدم وجود مفتاح رئيسي لجدول  s_inventory
وايضا عدم وجود مفتاح رئيسي لجدول s_item
لماذا ؟؟؟
---------------
بالنسبة للبيانات
يوجد تكرار لبيانات المفتاح الرئيسي فى جدول s_product
-------------
بالنسبة لامر ادخال السجلات insert
مع جدول s_inventory
اسم الحقل prod_id  مكتوب بالخطأ produ_id
-------------------------------
يجب مراعاه ترتيب التعامل مع الجداول عند ادخال البيانات
حسب ترتيب العلاقات بينهم
-----------------------------------

68875[/snapback]



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

بالنسبة للجداول 
عدم وجود مفتاح رئيسي لجدول  s_inventory
وايضا عدم وجود مفتاح رئيسي لجدول s_item
لماذا ؟؟؟

68875[/snapback]




لان انا رابط بنفس المفتاح لجدول s_product على اساس انه Foriegn key في جدول s_inventory ما فيها اي مشكلة اعتقد
اذا في مشكلة ارجوا التوضيح
ولو في مشكلة ماقبل بيانات جدول s_item الي هو فيه مفتاح جدول s_product ايضا على اساس انه Foriegn key في جدول كان عطاني نفس الخطا صح كلامي لاااااا
اووكي
---------------
بالنسبة للبيانات
يوجد تكرار لبيانات المفتاح الرئيسي فى جدول s_product
-------------

68875[/snapback]



مافيها تكرار
اتمنى توضحلي البيانات الي يوجد فيها تكرار
بالنسبة لامر ادخال السجلات insert
مع جدول s_inventory
اسم الحقل prod_id  مكتوب بالخطأ produ_id
-------------------------------

68875[/snapback]



اسم الحقل prod_id مكتوب بالخطأ produ_id
مافي خطا لان في في البنا الداخلي للجدول هو
CREATE TABLE s_inventory(
prod_id NUMBER(7) NOT NULL, 
warehouse_id NUMBER(7) NOT NULL, 
amount_in_stock NUMBER(9), 
reorder_point NUMBER(9), 
max_in_stock NUMBER(9), 
out_of_stock_explanation VARCHAR2(255), 
restock_date DATE,
CONSTRAINT prod_id_fk FOREIGN KEY (prod_id) REFERENCES s_product(prod_id)); 


وفي ادخل البيانات

INSERT INTO s_inventory (prod_id, warehouse_id, amount_in_stock,reorder_point,max_in_stock,out_of_stock_explanation,restock_date) 
VALUES (1011, 101 , 650, 625, 1100, NULL ,NULL); 


وين الخطا ياليت انك توضحه لي


-------------------------------
يجب مراعاه ترتيب التعامل مع الجداول عند ادخال البيانات
حسب ترتيب العلاقات بينهم
-----------------------------------

68875[/snapback]



اما عن ادخال البيانات
ادخلتها حسب الترتيب

اوخوي امجد اشكرك من اعماق قبلي على مشاركة في الموضوع
واتمنى منك ارشادي الي الصواب اذا كنت خطاً في احدى الفقرات

انا طبعا راح اعمل بطريقة الاخواني في خذف جميع الجداول وبينائها مرة اخرى على حسب الطريقة التي اوضحتها لي

انا عااارف اني راح اتعبكم معاي
بس ويش نسوي مع "ملغوف" :rolleyes: غصب يبي تعلم كل شي في الاوراكل

شكرا لكم جميعا
بتاريخ:
  • كاتب الموضوع

اخ امجد
الملف الي ارفقه مافيه اي اختلاف عن ملفي الي ارفقته

بتاريخ:
بالنسبة لامر ادخال السجلات insert
مع جدول s_inventory
اسم الحقل prod_id مكتوب بالخطأ produ_id

INSERT INTO s_inventory (produ_id , warehouse_id, amount_in_stock,reorder_point,max_in_stock,out_of_stock_explanation,restock_date) 
VALUES (10012, 101 , 600, 560, 1000, NULL ,NULL); 
INSERT INTO s_inventory (produ_id , warehouse_id, amount_in_stock,reorder_point,max_in_stock,out_of_stock_explanation,restock_date) 
VALUES (10112, 101 , 300, 300, 525,NULL ,NULL); 
INSERT INTO s_inventory (produ_id , warehouse_id, 



ثانيا : لكي تكتشف الاخطاء فى البيانات .. لاتنفذ ملف تحميل بيانات الجدوال بامر واحد .. ولكن جزء التحميل جدول ثم جدول اخر .. بترتيب الربط بينهم .. اى ابدء تحميل البيانات الاساسيه اولا مثل
s_region - s_image كلا على حده
ثم جداول
s_dept
s_customer
s_emp
s_order
s_product
واذا تم التحميل بالكامل بدون اى اخطاء
بعد ذلك حمل جداول
s_inventory
s_item


بالنسبة للجداول
عدم وجود مفتاح رئيسي لجدول s_inventory
وايضا عدم وجود مفتاح رئيسي لجدول s_item
لماذا ؟؟؟


فيما يخص المفتاح الرئيسي لجدول s_item

وهو كما فهمت يحتوى على الاصناف الخاصه بكل طلبية شراء
اي ممكن ان يكون المفتاح الرئيسي لهذا الجدول ( رقم طلبية الشراء + كود الصنف ) بشرط الا يتكرر الصنف فى الطلبيه الواحده

او ان يكون المفتاح لهذا الجدول حقول ( رقم طلبية الشراء + رقم مسلسل item_id)
اذا تكرر رقم الصنف مع رقم الطلبيه اكثر من مره

سؤال : ما فائدة حقل ال item_id ? فى جدول s_item


فيما يخص جدول s_inventory

وهو كما فهمت يحتوى على الكميات المتاحة فى المخزن او المستودع و حد اعادة الطلب ... لكل صنف ..
السؤال هو : هل يوجد اكثر من مستودع ام مستودع واحد فقط
اعتقد انه يوجد اكثر من مستودع بدليل وجود حقل ( warehouse_id )
اذا على هذ الافتراض ... لابد ان تكون متابعة كميات الاصناف داخل كل مستودع
لذلك يجب ان يكون المفتاح الرئيسي لهذا الجدول هو ( رقم الصنف prod_id + رقم المستودع warehouse_id )


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

الاخ العزيز / يمكنك معرفة مراحل العمل بالنظام من خلال دراسة البيانات الفعلية الموجوده فى الجداول من خلال اوامر الinsert

وهذا متروك لك انت ..

ملاحظه اخيرة : لايوجد تكرار للبيانات فى جدول s_product (آسف) ..فعند تحميل البيانات لم انفذ امر الالغاء اولا للبيانات السابقه ..

تم تعديل بواسطة Amgad

بتاريخ:
  • كاتب الموضوع

مرحبا اخ امجد

بصراحة كلامك مقنع بخصوص المفتاح الرئيسي لجدول s_item
وجدول s_inventory

اما عن

بالنسبة لامر ادخال السجلات insert
مع جدول s_inventory
اسم الحقل prod_id مكتوب بالخطأ produ_id
INSERT INTO s_inventory (produ_id , warehouse_id, amount_in_stock,reorder_point,max_in_stock,out_of_stock_explanation,restock_date) 
VALUES (10012, 101 , 600, 560, 1000, NULL ,NULL);



اثنا التنفيذ يعطيني خطا في اسم الحقل produ_id

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

الاخ العزيز / يمكنك معرفة مراحل العمل بالنظام من خلال دراسة البيانات الفعلية الموجوده فى الجداول من خلال اوامر الinsert

وهذا متروك لك انت ..

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

لكن
سؤال : ما فائدة حقل ال item_id ? فى جدول s_item

يصير ماله فايدة صح بس الافضل اني استخدم
او ان يكون المفتاح لهذا الجدول حقول ( رقم طلبية الشراء + رقم مسلسل item_id)
اذا تكرر رقم الصنف مع رقم الطلبيه اكثر من مره

افضل يكون صح
اما عن
السؤال هو : هل يوجد اكثر من مستودع ام مستودع واحد فقط
اعتقد انه يوجد اكثر من مستودع بدليل وجود حقل ( warehouse_id )
اذا على هذ الافتراض ... لابد ان تكون متابعة كميات الاصناف داخل كل مستودع
لذلك يجب ان يكون المفتاح الرئيسي لهذا الجدول هو ( رقم الصنف prod_id + رقم المستودع warehouse_id )

راح اكلم فيها المدرس

انا تعبتك معاااي عااارف :rolleyes:
بس انشاء الله ماروح تعبك هبااااء منثوراء

تم تعديل بواسطة سلطان اوراكل

بتاريخ:
  • كاتب الموضوع

اخ امجد كلامك مية مية

يعطيك ربي الف عااافية

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.