• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

ebnelbana2000

اعضاء
  • عدد المشاركات

    32
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

13 عادي

عن ebnelbana2000

  • الرتبة
    عضو جديد

طرق الإتصال

  • ICQ 0
  1. دورة مطولة لتعليم sql server 2005

    طريقة تنزيل النسخة الكاملة لمدة 6 أشهر من الـ sql server 2005 أولا إذهب إلى هذه الوصلة Sql server 2005 لتجد هذه الصفحة قم بالضغط على المفتاح Continue ليذهب بك إلى صفحة إدخال إيميلك على الهوت ميل بعدها سيعود بك إلى الصفحة السابقة وقد إستبدا المفتاح Continue بالوصلة Download files below إنزل قليلا في الصفحة لتجد وصلات التحميل إختار النسخة X86 Executable وهي المناسبة للأجهزة الـ 32 بايت بعد التنزيل " ربنا يديك طول العمر والبركة فيه " قم بفك الضغط عن الملف كي ينتج لديك مجلدين قم بتسطيب ما بداخل المجلد Servers فهو ما نحتاجه ** وكل تسطيب وحضراتكم طيبين :D
  2. دورة مطولة لتعليم sql server 2005

    في المجموعة General نجد أول خيار هو Check Existing Data On Creation Or Re-Enabling وهو المسؤول عن التأكد من أن بيانات الصف الذي سيستخدم في الربط متطابقة في الجدولين وذلك إن كنا نقوم بالربط وفي الصف بيانات وليس فارغا .. وعند إختيار Yes .. لابد أن تكون البيانات متطابقة وإلا فلن تتم عملية الربط بنجاح . -- أما الخيار Enforce Foreign Key Constraints فهو المسؤول عن جعل أي تغيير يحدث في أي صف من الصفين يتم مثله في الصف الآخر بالضبط كي يكون الصفين دائما متطابقين -- ومن الخيار الذي أسفل منه Insert And Update Specification نحدد طبيعة هذا التغيير بالنسبة إلي الرقم المسلسل و كل البيانات المتعلقة به . وهناك أربع خيارات في حالة الحذف أو التعديل .. هي بالترتيب 1- No Action ... أي لا شيء يحدث . 2- Cascade ... أي .. أي شيء يحدث هنا يحدث مثله هناك .. أي لو حذفنا مستخدم هنا ستحذف كل الفواتير المتعلقة به " وهذا خيار خطير ولكن نحتاجه أحيانا " 3- Set Null ... أي أنه عند حذف أو تعديل الرقم المسلسل مثلا في جدول الزبائن سيتم إستبداله بالقيمة Null في جدول الفواتير وذلك للحفاظ على بيانات الفواتير وللدلالة على أن الزبون الخاص بها تم حذفه أو تعديله " لازم الصف يكون بيقبل القيمة Null " 4- Set Default ... نفس عمل الخيار Null .. ولكن هنا بيحط القيمة الإفتراضية إلي إنت كنت عاملها للصف دة أثناء إنشاء الجدول . " لازم تكون حاتط قيمة إفتراضية على الصف " -- أما عن الخيار Enforce For Replication فسنعود له عند الحديث عن الـ Replication إن شاء الله .. وهي عبارة عن صنع صورة طبق الأصل من قاعدة البيانات في مكان آخر .. وعند تغيير البيانات في أحدهم يتم نفس التغيير في قاعدة البيانات الأخرى
  3. دورة مطولة لتعليم sql server 2005

    والآن بعد أن أكمل الباشمهندس زكي إدخال تخطيط كل جداول سوبر ماركت الخلافة .. تذكر أنه جعان وعايز يأكل .. فتوجه إلى المطبخ وعمل ساندوتش جبنة بيضة تلاجة .. وكباية شاي :D .. ورجع علشان يعمل العلاقات بين الجداول .. طبعا إنتوا فاكرين إننا إتكلمنا عن العلاقات دي في الأول في تخطيط قاعدة البيانات وتوزعها .. فهيا نطبق ذلك عملي مع الباشمهندس . أولا .. قام الباشمهندس بوضع المفتاح الأساسي على صفوف الأرقام المسلسلة لكل جدول ليقوم الـ sql server بعمل إندكس له لسرعة البحث في الجدول ولمراقبة عدم تكرار أي قيمة في هذا الصف وكذلك لإستخدامه في الربط بين الجداول " سنتحدث بالتفصيل عن الإندكس قريبا إن شاء الله " -- كل ما قام به الباشمهندس أنه قام بعمل ضغطة يمين من الماوس على إسم الجدول " Customer " وإختار modify لفتح الجدول في طور التصميم -- ثم قام بعمل ضغطة يمين على الصف CustomerID وإختار set primary key لتجد أنه قد وضع أمامه علامة مفتاح أصفر .. ليخبرك أن العملية نجحت :D والحمد لله .. ولكن لسة خطوة :o لازم تقوم بحفظ الجدول علشان يثبت هذا التعديل . -- الآن يريد الباشمهندس زكي ربط جدول الفاتورة Invoice الذي يشمل الفواتير بجدول الزبائن .. حيث أن كل زبون ممكن أن يحصل على أكثر من فاتورة ولو على فترات متباعدة .. " ذلك مثلا لو كان سوبر ماركت الخلافة يسجل زبائنه ويوصل لهم الطلبات للمنازل مثلا فهو يسجل كل مرات الشراء قبل ذلك ، وكل مرة شراء غالبا تكون بفاتورة منفصلة " ... " واللذيذ بقة لو ربط قاعدة البيانات دي بالتليفون وإظهار رقم الطالب .. فلما يتصل بيه الزبون وقبل ما يرد عليه تجبله قاعدة البيانات إسمه وكل بياناته ;) " -- والباشمهندس زكي في تخطيطه لقاعدة البيانات في البداية وضع الرقم المسلسل للزبائن في جدول الفاتورة تمهيدا للربط الذي سيقوم به الآن وهنا يسمى الرقم المسلسل للزبائن في جدول الفاتورة بالمفتاح الأجنبي forign key .. ويسمى في جدول الزبائن نفسه كما أسلفنا بالمفتاح الأساسي primary key . -- قام الباشمهندس زكي بعمل ضغطة يمين على جدول الفاتورة Invoice " وهو الجدول الذي يحتوى مفتاح من جدول آخر " وإختار modify لفتح جدول الفاتورة في طور التصميم .. وفي أي مكان من نافذة التصميم قام بضغطة يمين وإختار relationships من القائمة المختصرة .. هنا ظهر المربع الحواري forign key relationships .. وهو المسؤول عن إنشاء العلاقة بين الجدولين .. نقوم بضغط المفتاح add لإضافة علاقة جديدة .. على اليمين تجد كل الأحداث التى يمكننا تطبيقها على هذه العلاقة. -- أولا .. نقوم بفتح علامة الزائد بجوار tables and columns specification ثم نقوم بضغط الزر المنقط بجوارها ... لتخرج لنا النافذة الحوارية tables and columns وهنا قام بوضع إسم للعلاقة في الخانة relationship name يحمل إسم جدولي العلاقة " الذي إخترناه والآخر المتوقع " يمكننا تغيير الإسم للذي نريد .. وهو سيقوم بتغييره لك عند تغيير إختيار الجدول . -- وأسفل ذلك على اليمين الخانة forign key table وبها إسم الجدول الذي إخترناه والذي سيحمل في حشاياه الرقم المسلسل الأساسي لجدول آخر .. ونلاحظ أنه قد ثبته ومنع تغييره وذلك لأنه الجدول الذي إخترناه لنقيم عليه العملية من البداية وهو أساس الشغل كله -- أما على اليسار فقد وضع الخانة primary key table والتى يمكنك من خلالها إختيار الجدول الذي ستحضر المفتاح الأساسي له " في حالتنا customer " وتربطه بالمفتاح الأجنبي في الجدول المختار " في حالتنا Invoice " وبالطبع لابد أن يحمل كلا الصفين نفس البيانات ونفس الخصائص .. حيث يمكن أن تجعل المفتاح الأساسي للجدول كما أسلفنا رقم تليفون الشخص مثلا لأنه لا يتكرر .. وهنا لابد أن يكون صف المفتاح الأجنبي في الجدول الآخر موصف بنفس نوع البيانات والحجم تماما مثل صف المفتاح الأساسي في الجدول الآخر .. ولكن لا يشترط أن يكون إسمهما هو نفس الإسم .. " في حالتنا كلاهما يحمل الإسم CustomerID .. ولكن لا يشترط تطابق الإسم " -- أسفل كلا الجدولين سيضع لنا كل صفوف كل جدول لنختار الصف الذي سيستخدم في الربط .. نختار CustomerID من كلاهما ثم نختار ok ليعود بنا للمربع الحواري السابق .. فهيا بنا نقوم بشرح محتوياته
  4. دورة مطولة لتعليم sql server 2005

    الله أكبر ولله الحمد جزا الله إخواننا جزيل الخير على التثبيت .." كدة المسؤلية كبرت أوي " .. .. " ربنا يعينني " وجزاكم الله خيرا أخي فيصل الحربي .. عن الصور .. أنا بدأت في رفع صور المواضيع الجديدة التى أصنعها على السيرفر الخاص بالمنتدى ولكن .. لا أستطيع تعديل المشاركات السابقة لتعديل كود الصور .. فهل أرسل لك الصور لتعدلها في المشاركات السابقة ؟
  5. دورة مطولة لتعليم sql server 2005

    أخبرتكم فيما مضى أن هناك ميزة جديدة في sql server 2005 تسمى الـ Template وهي عبارة عن كود جاهز لإنشاء العناصر المختلفة التى نتعامل معها خلال عملنا مع قواعد البيانات .. ومنها بالطبع الجدول .. :D .. إذن جاء الوقت لنستكشف هذه الميزة وننشأ بها جدول جديد -- أنقر المفاتيح Ctrl+Alt+T .. أو إذهب للقائمة view ثم Template Explorer لفتح نافذة الـ Template -- قم بإستكشافها والتعرف على ما بها .. حتى تصل للجزء Table .. قم بفتحه لتجد مجموعة من الأكواد التى يمكن تطبيقها على الجداول .. قم بالنقر المزدوج على create table ... أن أن تششششش .. :D .. قد تم فتح نافذة الكود ووضع كود إنشاء جدول .. ولكن ما هذا .. إنه كود كبير .. -- ========================================= -- Create table template -- ========================================= USE <database, sysname, AdventureWorks> GO IF OBJECT_ID('<schema_name, sysname, dbo>.<table_name, sysname, sample_table>', 'U') IS NOT NULL  DROP TABLE <schema_name, sysname, dbo>.<table_name, sysname, sample_table> GO CREATE TABLE <schema_name, sysname, dbo>.<table_name, sysname, sample_table> ( <columns_in_primary_key, , c1> <column1_datatype, , int> <column1_nullability,, NOT NULL>, <column2_name, sysname, c2> <column2_datatype, , char(10)> <column2_nullability,, NULL>, <column3_name, sysname, c3> <column3_datatype, , datetime> <column3_nullability,, NULL>,    CONSTRAINT <contraint_name, sysname, PK_sample_table> PRIMARY KEY (<columns_in_primary_key, , c1>) ) GO -- إنه كبير ولكن لأنه يشمل الكثير من التوضيح ليس إلا .. ولكن الأمر مربك :wacko: .. :D .. لا عليك .. هل ترى هذا الكلام الذي بين قوسين أكبر من وأصغر من .. إنه يرشدك لأن تضع مكانه ما يناسب جدولك فهو يضع أولا إسم هذا العنصر ثم نوعه ثم قيمته . .. وكل ما عليك الآن هو نقر المفاتيح Ctrl+Shift+M لتفتح لك نافذة ملء مكان هذه الأقواس ، التى تحول لك هذه الأقواس لجدول لطيف تعدل فيه بيانات وقيم الجدول كما تشاء ... ولكن هذا الجدول يعطيني 3 صفوف فقط ، ولا يناسب إحتياجاتي .. .. يا راجل إشتغل بقة شوية .. عدل في الكود وضاعف عدد الصفوف كما تشاء ورتب ونسق وفي النهاية أنقر Ctrl+Shift+M وعدل القيم كما تشاء . والمفاجأة كمان إنك ممكن تعمل الـ template الخاصة بيك .. أو تعدل في أصل الـ template الموجودة علشان تناسب إحتياجاتك .. إزاي ؟ بص يا سيدي .. كل ما عليك هو عمل نقرة يمين على الـ template وإختيار new لعمل folder أو template جديد ، أو إختيار edit لتعديل الـ template الموجود وفي النهاية إحفظ ناتج تغيراتك . -- ملفات الـ template دي موجودة في المسار C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\sqlworkbenchnewitems\Sql دة لو كنت من هواة الإستكشاف -- فعلا تطوير جميل وحيوفر عليك شغل كتير .. على فكرة في بداية كود إنشاء الجدول في الـ template بيشوف الأول هل الجدول إلي عايز تنشأه موجود ولا لا .. ولو موجود بيحذفه وبينشأ جدول جديد .. " برده لو عايز تعدل في القصة دي على راحتك " وطبعا بالمثل في كل المكتبة إلي موجودة عاندك دي ;)
  6. دورة مطولة لتعليم sql server 2005

    أخذ الباشمهندس ذكي في إدخال تخطيط الجدول .. وبجوار نوع بينات الصف يوجد مربع كتب عليه Allow Nulls أحيانا كان يتركه الباشمهندس فارغ وأحيانا يقوم بإختياره .. نعم .. هذا المربع " إذا تم إختياره " يرشد الـ sql server أن خلايا هذا الصف يمكن أن تكون خاليه إذا أراد مدخل البيانات عدم إدخالها .. وهنا سيرضى الـ sql server ويجعل هذه الخلية من النوع null أي فارغ ، أما لو لم يقوم الباشمهندس ذكي بإختيار المربع أمام صف معين فلابد من إدخال بياناته ولن يقبل الـ server إلا بإدخالها. -- ولكن ما هو النوع null ولماذا لم نضع صفر دليل على أنه لا يوجد بيانات .. هذا السؤال قد يسأله من لم يتعامل مع قواعد البيانات .. أولا لأن الصفر يعتبر بيانات .. ثانيا أنه سيأخذ مساحة .. على عكس الـ null فهي لا تأخذ مساحة وتخبر الـ server أن هذه الخلية خالية . ونستخدمها في البيانات التكميلية التى قد لا تتواجد عند مدخل البيانات مثل مثلا رقم الفاكس فليس كل الناس يملك جهاز فاكس .. ولو أجبرته على وضعه لوضع لك فاكس الجيران :) -- كثيرا ما كان ينتقل الباشمهندس إلى نافذة أسفل نافذة تخطيط الجدول ويعدل بها بعض البيانات .. نعم .. إنها نافذة خصائص الصفوف .. هيا بنا نلقي نظرة عليها : -- الخانة Default Values or binding .. وهنا نضع القيمة الإفتراضية للخلية .. فلو أدخل المستخدم ما يريد فسيقوم الـ server بتسجيل ما أدخله .. ولكن ماذا لو ترك المستخدم الخلية فارغة هنا سيقوم الـ server بتسجيل القيمة الإفتراضية التى وضعتها أنت .. وهذا الأمر مفيد جدا كثيرا .. ومن إستخداماته أنه يمكننا تسجيل الوقت الذي أنشأ فيه الصف عن طريق صنع خلية تاريخ وجعل القيمة الإفتراضية لها الدالة ()getdate والتى ستقوم بإحضار الوقت والتاريخ في نفس لحظة الإدخال وتسجيلها في الخلية .. وفي هذه الحالة لن أنت تعرض هذه الخانة أمام المستخدم لكي يقوم الـ server بتسجيل الوقت الإفتراضي دائما . -- الخانة Identity Specification .. هنا لو أردنا جعل الـ server يتولى إدخال أرقام مسلسلة لنا مثل الرقم المسلسل للزبائن وجعلها لا تتكرر .. فهذه الخانة هي الكفيلة بذلك عن طريق فتح علامة الزائد المقابلة لها لتظهر لنا ثلاث خانات الأولى is Identity نجعل قيمتها yes لتنشيطها ونضع الرقم الذي سيبدأ عنده التسلسل في الخانة Identity Seed ونضع الرقم الذي بمقداره ستكون الزيادة على الرقم الذي سيبدأ منه التسلسل في الخانة Identity Increment -- الخانة Description يمكننا أن نضع بها شرح للصف وطبيعة عمله للذكرى بعد ذلك أو لتوضيح تركيب قاعدة البيانات لشخص آخر . " هذا ما نحتاجه الآن من هذه الإعدادات " -- بعد أن إنتهى الباشمهندس ذكي من تخطيط جدول الزبائن قام بكتابة إسم الجدول بجوار الخانة name في نافذة الخصائص العامة على اليمين properties window .. ويمكنك إظهارها إن لم تكن ظاخرة بنقر f4 أو من القائمة view إختر properties window وكذلك قام بإختيار من له حق الملكية والتعديل لهذا الجدول من الخانة Schema من نفس نافذة الخصائص العامة . " سيكون لنا حديث مطول بإذن الله عن المستخدمين عند الحديث عن سرية وأمان قاعدة البيانات " -- والآن ماذا لو أرنا معرفة ما يدور وراء الكواليس وما هو الكود الذي كتبه الـ server نيابة عنا لإنشاء الجدول ببساطة هذا هو الجدول use alkhilafah CREATE TABLE CustomerDetails (Customer_Id int IDENTITY(1,1) NOT NULL, Customer_FirstName  nvarchar(50) NOT NULL, Customer_LastName  nvarchar(50) NOT NULL, DateEntered datetime NOT NULL, Notes nvarchar(max) NULL) هنا قمنا بتحديد قاعدة البيانات التى سنقوم بإنشاء الجدول بها من خلال use alkhilafah ثم قمنا بكتابة الكلمة CREATE TABLE ثم إسم الجدول CustomerDetails وفتحنا قوس ثم كتبنا إسم الصف Customer_Id ثم مسافة ثم نوع البيانات int ثم أخبرنا السيرفر أنا يقوم بعمل IDENTITY أي زيادة تلقائية كما أسلفنا .. على أن يبدأ بالرقم 1 وكل مرة يزيد 1 .. أي أرقام الزبائن ستكون .. أول زبون 1 ، وثاني زبون 2 ، وثالث زبون 3 وهكذا .. بعد ذلك أخبرنا الـ server أن هذا الصف لابد من إدخال بيانات فيه وأن لا يقبل أن يكون فارغا وذلك عن طريق الكلمة NOT NULL .. ثم نضع علامة كومة " , " لنخبر الـ server أننا إنتهينا من كون أول صف وسننتقل للذي يليه .. وهكذا حتى آخر صف ثم نغلق القوس . " أليس الأمر بسيط :D " --
  7. دورة مطولة لتعليم sql server 2005

    السلام عليكم ورحمة الله وبركاته عدنا بفضل الله أعتذر لجميع الأخوه وذلك لسفري المفاجأ .. وعدم وجود إنترنت في المكان الذي كنت أتواجد به .. أنا معكم بإذن الله حتى النهاية .. وفي الأيام القادمة بإذن الله سنقطع شوطا كبيرا .. أنا أستعد خلال أيام لدخول إختبار الـ MCTS " وتعني Microsoft Certified Technology Specialist " في الـ SQL SERVER 2005 وسأحاول وضع النقاط العملية التى ستأتي في الإمتحان إن شاء الله في هذه الدورة وشرحها وتطبيقها بإذن الله .. أكرر الإعتذار .. ونستأنف المسيرة بإذن الله :)
  8. دورة مطولة لتعليم sql server 2005

    17- النوع money : وهو النوع المخصص للتعامل مع الأموال ويقبل من –922,337,203,685,477.5808 حتى 922,337,203,685,477.5807 ويحتل مساحة 8 بايت والجميل فيه أن التطبيقات تضع علامة الدولار أو علامة العملة التى تحددها بجوار الرقم .. وهذا يرشدنا أن العلامة لا تسجل داخل قاعدة البيانات .. فلو أردت أن تقوم بتخزينها فستقوم بذلك في صف منفصل .. والنوع money يقبل حتى 4 خانات عشرية فقط . 18- النوع smallmoney : مماثل للنوع money ولكن يقبل من –214,748.3648 حتى 214,748.3647 ويحتل مساحة 4 بايت . 19- النوع datetime : وهو المسؤول عن تخزين التاريخ والوقت وهو يقبل من تاريخ الأول من يناير 1753 حتى 31 ديسمبر 9999 ويخزن الساعة والدقيقة والثانية والمليثانية هكذا 00:00:00:000 ويحتل مساحة 8 بايت 20- النوع smalldatetime : مماثل للنوع datetime ولكن يقبل من تاريخ الأول من يناير 1900 حتى 6 يونية 2079 ويخزن الساعة والدقيقة فقط ويحتل مساحة 4 بايت 21- النوع binary : هذا النوع بيخزن بيانات باينري .. زي الصور والصوت والأفلام ويقبل حتى 8000 بايت 22- النوع varbinary : نفس النوع binary لكن من النوع المطاطي الذي يحجز حجم ما يحتويه فقط .. " يوفر في المساحة ولكن سرعة العمل معه تكون أقل من الـ binary " وأيضا يقبل حتى 8000 بايت . 23 - (varbinary(max : هو نفس النوع varbinary لكن يأخذ كل الـ 8000 بايت ويأخذ منها ما يتم تخزينه به فقط .. وستستبدل به ميكروسوفت النوع image 24- النوع bit : يأخذ القيمة صفر أو 1 .. وهو يستخدم لتخزين ناتج العملية البرمجية .. 1 أي صحيحة ، صفر أي خاطئة . 25- النوع xml : هو نوع جديد في الـ sql server 2005 يقبل بيانات xml بكامل تنسيقها ويمكنك البحث فيه عن طريق لغة الإستعلام داخل الـ xml المسماه xquery ** نكتفي الآن بهذا القدر من أنواع البيانات ونعود لإنشاء الجدول مع الباشمهندس زكي
  9. دورة مطولة لتعليم sql server 2005

    14- النوع decimal أو numeric : الإتنين بيعملوا نفس العمل والإختلاف في الأسماء فقط فلإسم الأول هو الإسم الأصلي والإسم الثاني من إختراع ميكروسوفت . وعملهم هو إنهم بيقبلوا الأرقام العشرية .. بيقبلوا من الرقم – 0.00000000000000000000000000000000000001 حتى الرقم 10,000,000,000,000,000,000,000,000,000 يعني 38 صفر .. بس هنا إنت بتاخد إلي إنت عايزه من الرقم دة بس .. يعني لو عايز الرقم بتاعك يكون مكون من 6 خانات للأرقام الصحيحة وخانتين للأرقام العشرية .. حتكتب نوع بياناتك كالتالي .. (decimal(8,2 و الـ 8 تدل على مجمل عدد الخانات المراد إستخدامها والـ 2 تدل إنك عايز من الـ 8 خانتين للكسور ونفس القصة (numeric(8,2 .. ومينفعش طبعا في المثال دة تختار 8 خانات وتقول عايز منهم 12 رقم عشري مثلا (decimal(8,12 .. حتطلعلك رسالة توبخك :D وطبعا أقصى خانات عاندك 38 زي ما قلنا في الأول ولو إخترت أكتر من كدة حتطلعلك نفس رسالة التوبيخ :D ويمكنك تحويل الرقم دة لرقم صحيح بإختيار . " صفر " في خانة الرقم العشري مثلا : (decimal(8,0 يعني عايز رقم مكون من 8 خانات ومفهوش كسور " مزاجي كدة ;) " أو تخليه كله كسور .. مثلا (decimal(8,8 .. يعني ممكن تلعب براحتك :D 15- النوع float : وهو يقبل الأعداد الحقيقية .. يعني الأعداد إلي فيها كسور دقيقة أوي .. ويستخدم في علوم الفلك والحسابات الدقيقة جدا ، وهو يأخذ من الرقم – 1.79 أس 308 إلى الرقم 1.79 أس 308 .. بقوة 15 رقم عشري ، وبياخد حجم 8 بايت . وهنا إنت مبتحددش عدد الأرقام العشرية .. النوع هو إلي بيطلعها على حسب نسبة الرقم المتبقي .. لكن لو الرقم طلع بدون باقي كسور حيطلعهولك سليم .. زي 25 على 5 حتساوي 5 .. لكن 25 على 1.3 حتساوي 19.2307692307692 16- النوع real : زي النوع float بالضبط بس بياخد .. من الرقم –3.40 أس 38 إلى الرقم 3.40 أس 38 بقوة 7 أرقام عشرية ، وبياخد حجم 4 بايت .
  10. دورة مطولة لتعليم sql server 2005

    7- النوع text : وهو يأخذ حروف حتى 2 جيجا بايت .. ولكن تخزين هذا الكم الهائل من البيانات داخل خلية بياناتك ومع إستخدامه بكثرة يزيد من بطء قاعدة بياناتك .. لذلك لو ستدخل بيانات بحجم كبير جدا فنصيحتى أن تخزنه في ملف خارجي أفضل.. " وسنتعلم بإذن الله كيف نربط الملفات الخارجية بقاعدة البيانات " .. وميكروسوفت نفسها سوف تلغي هذا النوع كما تقول في الإصدارات القادمة وتزيد من إمكانيات إستخدام الـ (varchar(max -- ولكن لو شعرت أن بياناتك ستزيد في الخلية عن 8000 حرف فستعمل هذا النوع طبعا ولكن لا تكثر من إستخدامه في إدخال حجم بيانات كبير لدرجة الـ 2 جيجا أو أقل . 8- النوع ntext : زي الـ النوع text بس بيحزن حروف بالنظام Unicode زي ما إحنا عارفين .. وعلشان كدة بياخد حروف حتى 1 جيجا بايت بس ، ونفس القصة حيستبدلوه بـ (nvarchar(max إن شاء الله :D 9- النوع image : زي النوع text بالضبط بس بيخزن بيانات باينري .. زي الصور والصوت والأفلام .. وبرده حيلغوه في الإصدار القادم ويستخدموا النوع (varbinary(max إلي حنشرحه حالاً إن شاء الله . 10 - النوع int : " إلي إستخدمه الباشمهندس زكي في صف الرقم المسلسل للموظف :D " وهو نوع يأخذ أرقام صحيحة فقط سالب أو موجب .. " يعني ميخدش كسور " يعني لو البيانات بتاعتك من النوع int وقسمت 9 / 10 .. النتيجة حتكون إيه ؟؟؟ ... حتكون 0 علشان النوع دة لا يقبل الكسور .. دي نقطة مهمة جدا لو حتتعامل مع فلوس وحسابات .. وعلشان الباشمهندس زكي محتاج أعداد صحيحة لأرقام الموظفين فستخدم النوع دة .. والنوع Int بيقبل من الرقم – 2,147,483,648 حتى الرقم 2,147,483,647 يعني 2 بليون وشوية .. فلو الشركة بتاعتك فيها عدد موظفين أكتر من كدة .. يبقى متستخدمش النوع دة :D ، والنوع int بياخد مساحة 4 بايت . 11- النوع bigint : زي النوع int بالضبط بس بيقبل من الرقم – 9,223,372,036,854,775,808 حتى الرقم 9,223,372,036,854,775,807 يعني 9 كونتليون وشوية .. وللي مسمعش عن الـ كونتليون .. يعني واحد وقدامه 18 صفر .. " بس ميغركش الرقم .. برده مبيقبلش كسور .. يعني متستخدمهوش في الفلوس والحسابات إلي ممكن تطلع كسور " والنوع bigint بياخد مساحة 8 بايت . 12- النوع smallint : زي النوع int بالضبط بس بيقبل من الرقم – 32,768 حتى الرقم 32,767 " حاجة صغيرة كدة على قدنا :D وبياخد مساحة 2 بايت . " -- لاحظ إن الباشمهندس زكي مستخدمش النوع دة وإستخدم النوع int ودة لأنه لو في أي إحتمال إن أعداد الصف بتاعك يزيد عن العدد دة فإستخدم int أحسن ولكن لو متأكد إنه مش حيزيد بأي حال من الأحوال عن الرقم دة فإستخدمه طبعا أحسن علشان حيوفرلك في المساحة . " لاحظ إنه في الأرقام المتسلسلة لو حذفت موظف مثلا رقمه 500 وبعدين أضفت موظف آخر .. قاعدة البيانات حتحطه بـ 501 مش 500 يعني حيكون عاندك أعداد مهدورة فحط دة في حسبانك وإنت بتختار نوع البيانات المناسب " 13- النوع tinyint : وهو أصغر نوع في أنواع الأعداد الصحيحة ويأخذ من الرقم . حتى الرقم 255 .. وبياخد مساحة 1 بايت . ** واحد من حضراتكم حيسألني .. طاب إمته نستخدم النوع دة .. والإجابة .. إنك ممكن تستخدمه في التسلسل بتاع حجات ثابته ومش حتزيد عن 255 زي مثلا عدد المحافظات في دولتك .. أو إستخدمه في المدخلات التي لن تقبل عدد أكبر من 255 .
  11. دورة مطولة لتعليم sql server 2005

    عدنا .. السلام عليكم يا شباب وبارك الله فيكم يا إخواني __ طبعا تستطيع المساعدة يا أخ imadouzoun .. فالتعاون أساس نجاح أي شيء أما عن كيفية المساعدة .. فعن طريق التعليق على ما أقول .. فقم أنت بمذاكرة الكتاب وإقرأ موضوعي وعندما تجد أنني لم أذكر شيء مهم أو شرحت جزء بإبهام ويريد المزيد من التوضيح .. فقم أنت بذلك .. أو يمكننا التنسيق وتشرح أنت جزء وأنا جزء .. ** على فكرة ردك أسعدني .. فإنجازك العمل بمفردك قد يأخذ وقت طويل .. أما لو أنجزته في فريق متعاون ومتحاب .. فسيكون الوقت أقل بكثير وسيكون العمل أقوى .. فإلى الأمام .. والله ولي التوفيق .
  12. كتاب فورمس من اوراكل مترجم للعربيةneww

    الخمس فصول مجمعة بواصلة مباشرة http://www.microtemplate.com/t3alam/forms_5_chap.zip
  13. كتاب فورمس من اوراكل مترجم للعربيةneww

    الفصل الخامس Chapter_5.pdf
  14. كتاب فورمس من اوراكل مترجم للعربيةneww

    الفصل الثالث Chapter_3.pdf
  15. كتاب فورمس من اوراكل مترجم للعربيةneww

    الفصل الثاني Chapter_2.pdf