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

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

صورة
- - - - -

سيناريو بناء مصفوفة Type لحقل هاتف الموظف


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

#1 MMA

MMA

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

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 16 July 2007 - 08:09 AM

إخواني الكرام ، تحية طيبة وبعد،

أنظروا معي الي هذا السيناريو الجميل

1- قمت بإنشاء النوع التالي :
Create Or Replace Type T_Phone Is Object(Phone1  VarChar2(5),Phone2 VarChar2(10))
/

2- وقمت بإنشاء جدول الموظفين ، ويرتبط النوع السابق لهاتف الموظف :

Create Table Emp
(
  Emp_ID	   Number(10), 
  Emp_Code   VarChar2(10),
  Emp_Name  VarChar2(50),
  Emp_Phone  T_Phone,
  Constraint PK_EMP Primary Key(Emp_ID)
)
/

3- قمت بإجراء إدراج لمجموعة من السجلات :

Insert Into Emp Values(1,'001','Ahmed',T_Phone('02-54215678','012-25789425'));
Insert Into Emp Values(2,'002','Usif',	 T_Phone('05-32564785','012-85426549'));
Insert Into Emp Values(3,'003','Sara',	T_Phone('04-45789657','010-12587648'));

4- ولكي أقوم بإجراء تعديل علي إحدي السجلات كما يلي :
Update Emp Set Emp_Phone = T_Phone('02','15487528') Where Emp_ID = 2;

ولكن مشكلتي الحقيقية عند أمر الـ Select !!

Select * From Emp;
Emp_ID	   Emp_Code	 Emp_Name		   Emp_Phone(Phone1,Phone2)
-----------	   ----------------	  -----------------		   ------------------------------------------
1				 001				Ahmed				 T_Phone('02-54215678','012-25789425')
2				 002				Usif					  T_Phone('05-32564785','012-85426549')
3				 003				Sara					 T_Phone('04-45789657','010-12587648')

المطلوب :
كيفية إقتباس حقل واحد من المصفوفة T_Phone ، علي سبيل المثال عرض Phone1 في عمود مستقل ، و Phone2 في عمود آخر كما يلي :

Emp_ID	   Emp_Code	 Emp_Name		   Phone1			 Phone2
-----------	   ----------------	  -----------------		   -------------------	 ----------------------
1				 001				Ahmed				 02-54215678	 012-25789425
2				 002				Usif					  05-32564785	 012-85426549
3				 003				Sara					 04-45789657	 010-12587648

إخواني الكرام ، آسف علي طول رسالتي ، ولكنني أتمني مساعدتكم

وشكراً

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )

 


#2 Amgad

Amgad

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

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

تاريخ المشاركة 17 July 2007 - 01:58 AM

فكرة جيده لتعريف type ثم التعامل معه من خلال جدول الموظفين ..

فى حالة ان عدد ارقام الهاتف الاول معروف وثابت

يمكنك استخدام امر

substr(fieldname,startfrom,lenght)


ولكن لماذا فضلت استخدام هذه الطريقه .. ؟
وما هى المزايا من استخدامها وكيفية التعامل معها من خلال شاشات الادخال
أو الاستعلام برقم الهاتف

وكيفية التعامل .. اذا طلب اضافة رقم هاتف ثالث بعد فترة من التعامل وادخال بيانات بالجدول ؟

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

هل ستكون هناك مرونه عند الاستعلام بأى من هذه الارقام ؟

شكرا على الجهد المبذول

منتظر ردك

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


....


#3 MMA

MMA

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

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 17 July 2007 - 06:32 AM

أخي الكريم ، أشكرك كثيراً علي الرد ،

أخي Amgad ، هناك العديد من الطرق !!
1- يمكن من خلال إنشاء حقل واحد وتقسيمة كما تشاء.
2- يمكن من خلال بناء جدول ( حقل متعدد القيم ) ، ويتم الربط مع الجدول الرئيسي.
3- يمكن من خلال إنشاء أكثر من حقل بنفس الجدول بحيث أن كل حقل يمثل هاتف معين.
4- يمكن إستخدام طريقة Type.


إذاً أخي الكريم ، هناك العديد من الطرق ، والبرمجة غير مقيدة علي شيء محدد.

لكنني من الأفراد الذي لديهم الفضول ، وهذا الفضول ساعدني في عملي ، لأنني وجدت
برنامج المخازن والمشتريات والمبيعات به العديد من الأشكال والأنماط بقاعدة بيانات SQL-Sever

فإذا كان لديك الفكرة ، أتمني المساعدة

وشكراً لك وللجميع



--------------------------
( رجاء المساعدة )

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )

 


#4 فلة

فلة

    مشترك

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

تاريخ المشاركة 17 July 2007 - 08:24 AM

اخي الكريم اعمل جملة مثل هذي الجملة على الجدول تبعك


SELECT t1.person_id, last_name, t2.*
FROM person t1, TABLE(t1.person_phones) t2
;
عِرضُنا يُهتـَك فوقَ الطـُّرقاتْ وحماةُ العِرضِ أولادُ حرامْ نهضوا بعد السُّباتْ يبسطون البـُسُطَ الحمراءَ من فيضِ دمانا تحتَ أقدامِ السلامْ أرضُنا تـَصغرُ عاماً بعد عامْ وحماة الأرضِ، أبناءُ السماءْ! عُــــــمَــــلاءْ!!
لا بـِهم زلزلة الأرضِ، ولا في وجههم قطرة ماء!

#5 Amgad

Amgad

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

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

تاريخ المشاركة 17 July 2007 - 10:06 AM

الأخ / MMA

شكرا للايضاح ...

اتمنى لك التوفيق

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


....