msh بتاريخ: 16 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2004 السلام عليكم ورحمة الله وبركاته ،يوجد الكثير من المميزات الجديدة والمفيدة في الإصدار التاسع من قاعدة بيانات أوراكل ORACLE 9i ومنها دعم إنشاء الجداول الخارجية External Tables وهي عبارة عن جداول يتم تعريف هيكلها STRUCTURE في داخل قاعدة البيانات ويتم حفظ بياناتها في خارج قاعدة البيانات وهي مشابهة للجداول العادية فيما عدا أن البيانات لايتم حفظها في ملفات DATAFILES وأيضا لاتتم إدارة هذه الجداول عن طريق قاعدة بيانات أوراكل .وهذا مثال تطبيقي وتوضيحي للموضوع :1-ننشئ ملف إكسل يحتوي على 3 أعمدة هي ( رقم الموظف ، الإسم ، العمل ) ثم نقوم بتعبئة بيانات الموظفين ونحفظ الملف في صيغة comma-separated values *.CSV أي أن بيانات الجدول سوف تكون مفصولة بفاصلة مثل 7788,SCOTT,ANALYST ونحفظ هذا الملف في c:\emp\emp.csv .2-بعد الإنتهاء من الخطوة الأولى نقوم بإنشاء مجلد DIRECTORY OBJECT في الأوراكل وفائدة هذا المجلد هو أنه يعمل كمؤشر للمجلدالذي قمنا بإنشاءه في نظام التشغيل : SQL> CREATE DIRECTORY EMP_DIR AS 'c:\emp'; Directory created. 3-نقوم الآن ببناء الجدول في الأوراكل عن طريق تنفيذ مايلي : create table emp2 ( empno number, ename varchar2(50), job varchar2(20) ) organization EXTERNAL ( type oracle_loader default directory EMP_DIR access parameters ( records delimited by newline badfile 'emp.bad' logfile 'emp.log' fields terminated by ',') location ('emp.csv') )reject limit unlimited / ملاحظات على الجملة السابقة :نلاحظ أن الجزء الأول من الجملة هو عبارة عن إنشاء جدول كأي جدول عادي لايوجد إختلاف ، ولكن بالنسبة للجزء الثاني نلاحظ الجملة organization EXTERNAL والتي تدل على أن هذا الجدول خارجي ،أيضا هناك نوع الجدول oracle_loader وهو النوع الوحيد الذي تدعمه الأوراكل حالياً ، default directory EMP_DIR وهذا هو المجلد الذي قمنا بإنشاءه في الخطوة الثانية حيث يدل الأوراكل على مكان الملف الذي يوجد به الجدول .ACCESS PARAMETER :records delimited by لتحديد العلامة التي تفصل الصفوف .badfile لتحديد الصفوف التي تم إستثنائها من الملف الرئيسي emp.csv وقت إنشاء الجدول حيث لا تنطبق عليها الشروط مثلا لو كان لدينا صف يحتوي على البيانات AAAAA/DDD....DDDLS;DLS; سوف يتم رفضه وتسجيل بياناته في الملف emp.bad .logfile لتسجيل معلومات الأداء للجدول وأي أخطاء قد تحصل ويتم تسحيل البيانات في الملف emp.log .fields terminated by تحديد الفاصل الذي سوف يفصل بين حقول الجدول وهو في هذه الحالة (,) .location وهنا يتم تحديد أسم الملف الذي سوف يتم الدخول عليه وهو emp.csv .وأخيرا reject limit حيث يتم تحديد عدد الصفوف التي يتم رفضها قبل أن تظهر رسالة خطأ توضح أن عدد الصفوف تخطى العدد المسموح به وفي هذه الحالة unlimited .الصلاحيات : يمكننا منح الصلاحيات على الجداول الخارجية للمستخدمين عن طريق تنفيذ الأمر : grant read, write on directory emp_dir to hr; grant select on emp2 to hr; وتعني الجملة الأولى منح القراءة والكتابة في المجلد ، أما الجملة الثانية فتعني منح صلاحية select على الجدول .مميزات الجداول الخارجية :1- يمكن أن تسنخدم كبديل للأداة SQL LOADER حيث يمكن بناء جدول في قاعدة البيانات من بيانات الجدول الخارجي وبالتالي يتم تحميل جميع البيانات إلى قاعدة البيانات مثال : CREATE TABLE EMPTAB AS SELECT * FROM EMP2; عند تنفيذنا للجملة السابقة سوف يتم بناء جدول جديد بإسم EMPTAB له نفس الأعمدة والبيانات الموجودة في الجدول الخارجي .2- يتم الإستفادة منها عند التعامل مع قواعد البيانات من data-warehousingحيث تسهل عملية إستخلاص وتحويل وتحميل البيانات .عيوب الجداول الخارجية :1-هي عبارة عن جداول للقراءة فقط أي أنها لايمكن تنفيذ جمل DML عليها (Insert, Update, or Delete)2-لاتدعم الملفات التي يكون حجمها أكبر من 2 جيجا بايت .3- لايمكن تنفيذ عدد من الأوامر عليها مثل analyze table .4-لايتم عمل نسخ إحتياطي لبياناتها لإن إدارتها لاتتم عن طريق ORACLE SERVER هذا ملخص عن الجداول الخارجية ،أرجوا أن تكون هذه المعلومات مفيدة ، ولاتنسونا من دعوة صالحة .ملاجظة :يوجد ملف مرفق يحتوي على ملف EXCEL جاهز .هذا والله أعلم emp.zip اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عمر باعقيل بتاريخ: 16 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2004 السلام عليكم ورحمة الله وبركاتهاخي محمد , شكرا على الشرح والمثال الرائع جدا , جزاك الله كل خير وان شاء الله تتحفنا بمشاركاتكالمتميزه اكثر والى الامام .عمر باعقيلكندا - مونتريال[email protected]MSN Messenger :-[email protected] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ابو صالح بتاريخ: 16 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2004 مشكور على الشرح الرائع والتوضيح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Essam بتاريخ: 16 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2004 شكرا لك على المعلومات المفيدة... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
msh بتاريخ: 17 يونيو 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 17 يونيو 2004 (معدل) وعليكم السلام ورحمة الله وبركاته ،،، حياكم الله جميعا إخواني ، أخي عمر شكرا على مرورك وهذا جزء قليل جدا من الواجب علينا إتجاه هذا المنتدى الرائع والذي تعلمنامنه الكثير ،أخي أبو صالح ماهي أخبار الأوراكل مع اللينكس ؟ في إنتظار المزيد من الدروس الرائعة ، شكرا أخي عصام ... مع تحياتي تم تعديل 17 يونيو 2004 بواسطة msh اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
developer بتاريخ: 19 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 19 يونيو 2004 شكرا لك اخي محمد على هذه المعلومات و الشرح الرائعوجزاك الله خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
arab20002000 بتاريخ: 19 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 19 يونيو 2004 مشكور على الموضوع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
IBN_OMAN بتاريخ: 6 يوليو 2004 تقديم بلاغ مشاركة بتاريخ: 6 يوليو 2004 أخي محمد...أشكرك جزيل الشكر... بصراحة هذا الموضوع هو افضل مقال أطلعت عليه في هذا المنتدى .. اشكرك جزيل الشكر مرة ثانية على الجهد الرائع....بصراحة هذي الفكرة سوف تفيدني كثير في مجال عملي...وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Guest عادل الشهري بتاريخ: 10 يوليو 2004 تقديم بلاغ مشاركة بتاريخ: 10 يوليو 2004 سلام عليكمأخي العزيز Msh أشكرك على الجهد الرائع والشرح الرائع ... جزاك الله خير من تقدم إلى تقدم ان شالله أخوك عادل . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sameera_96 بتاريخ: 13 يوليو 2004 تقديم بلاغ مشاركة بتاريخ: 13 يوليو 2004 جزاك الله كل الخير يا أخ عمر واتمنى لك مزيدا من التقدم والنجاحاخك سمير من فلسطين المحتلة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hany_yassin بتاريخ: 18 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 18 أبريل 2005 إخواني الملف المرفق يحوي عدة أمثلة و شاملة عن الجداول الخارجية و التي يمكن ان تكون على ملفات نصية txt أو dat, و التي تسمى flat files Oracle_External_Tables.rar اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
searcher_rn بتاريخ: 27 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2005 جــــــــــــزاك اللـــــــــــه كــــــــــــل خيـــــــــــــر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sgio73 بتاريخ: 1 يوليو 2005 تقديم بلاغ مشاركة بتاريخ: 1 يوليو 2005 شكرا على الشرح والمثال الرائع جدا اخوك امير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Walid Azmy بتاريخ: 1 يوليو 2005 تقديم بلاغ مشاركة بتاريخ: 1 يوليو 2005 تسلم يدك أخى mshوألف شكر أخى hanny_yassin على الملف المرفق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
aza بتاريخ: 5 يوليو 2005 تقديم بلاغ مشاركة بتاريخ: 5 يوليو 2005 شرح ممتاز ومميز .... شكرا جزيلا لك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
kash بتاريخ: 25 سبتمبر 2005 تقديم بلاغ مشاركة بتاريخ: 25 سبتمبر 2005 الف شكر على المعلومة القيمة.. وننتظر المزيد عن Database9i اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alabqari بتاريخ: 30 سبتمبر 2005 تقديم بلاغ مشاركة بتاريخ: 30 سبتمبر 2005 جزاك الله الف خير يا اخي الكريم و زادك علماً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nedalna بتاريخ: 30 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 30 أبريل 2006 مشكوررررررررررررررررررررر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nedalna بتاريخ: 30 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 30 أبريل 2006 موضوع رائع ومجهود كبير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m.ghareb بتاريخ: 24 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 24 يناير 2007 جزاك الله خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
comander بتاريخ: 17 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 17 فبراير 2007 جزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
armia2006 بتاريخ: 7 أغسطس 2007 تقديم بلاغ مشاركة بتاريخ: 7 أغسطس 2007 شكراً جزيلاً على هذا الموضوع الرائع والممتاز ولكن لدي سؤال صغيرما فائدةgrant write on directory إن كان لا يمكن استخدام أوامر dml عليهمع خالص شكري لك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nhamzehn بتاريخ: 13 أغسطس 2007 تقديم بلاغ مشاركة بتاريخ: 13 أغسطس 2007 جزاك الله خيراًانا قرأت الموضوع في كتاب الأوراكل بس بصراحة ما فهمته كثيرولما قرأته من شرحك فهمته مية بالمية والحمد لله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m_hanifa بتاريخ: 23 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 23 نوفمبر 2008 اشكرك اخي العزيز على المعلومات القيمة.ولكن لي سؤال وهو عندما اعمل تعديل البيلنات في الملف كيف يتم تحديث البيانات في الجدول الخارجي؟محمد بلوجي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ammarthaher بتاريخ: 23 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 23 نوفمبر 2008 الشكر الجزيل وازيدونا بارك الله فيكم .... في كيفية الاضافة الى الجدول الخارجي ؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.