ebnelbana2000

دورة مطولة لتعليم sql server 2005

182 ردود في هذا الموضوع

بسم الله الرحمن الرحيم

الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين ومن تبعه بإحسان إلى يوم الدين

أما بعد :

كثيرا ما يبحث المبرمج العربي عن الجديد ولكن لا يجده في الصفحات العربية إلا بعد أن يصبح قديما

وإن وجده سيجد نبذات عنه ولا يجد ما يغنيه

لذلك قررت بمشيئة الله عمل دورة مركزة لتعليم sqlserver 2005 من البداية أي أنني سأشرح كل شيء عن قواعد البيانات وسأطبق ذلك بإستخدام أدوات sqlserver 2005 الجديدة

أعلم أن الحمل ثقيل ولكن أسئل الله التثبيت

ولكي نستفيد جميعا من هذه الدورة هنا .. أريد أن أطلب من أحبائي أعضاء المنتدى

- عدم الرد بالشكر لكي لا نقطع سير الدورة بردود لن تنفع المتعلم .. فشكري هو تعلمكم الجديد وخدمة دينكم به

- رجاء أن نأجل الأسئلة التى تتعلق بالموضوع أو لا تتعلق به بعد إنتهاء الدورة لكي لا نقطع التركيز بها لأن الأمر فعلا طويل ونريد أن نخرج شيء مميز ينفع الجميع

-حاول أن تطبق ما تتعلمه سريعا وتذكر أن علمك هذا هو مستقبلك فيجب أن تجتهد في إتقانه

والله من وراء القصد وهو يهدي السبيل

سنبدأ بإذن الله بالتنويه على بعض الجديد في sqlserver 2005 والذي سنشرحه بالتفصيل في حينه بإذن الله

ثم نشرع في شرح الأدوات الجديدة القادمة مع sqlserver 2005 والتى سنصاحبها طيلة عملنا مع السيرفر ونرى ما الجديد الذى أضافته ميكروسوفت في هذه الأدوات وسأحاول تدعيم الشرح بالصور على قدر إستطاعتي .

فهيا بنا ...

بسم الله

تم تعديل بواسطه ebnelbana2000
3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الجديد في sqlserver 2005

- إستخدام net framwork. و sqlclr لكتابة الإجرائات المخزنة stored procedures وغيرها من الجمل البرمجية مثل user-defined functions, triggers, aggregates, user-defined types وكأنك تكتب برنامج في Visual Studio 2005 بأي لغاته التى تروق لك .. إذا وبعد أن كان sqlserver 2000 سيرفر قواعد بينات يعيبه أنه ليس له واجهة تصميمية برمجية لإنشاء الواجهة الأمامية للمستخدم للتعامل مع قاعدة البيانات كما في oracle أصبحت الآن Visual Studio 2005 بما فيها من قوة وتوافقية مع SQL Server 2005 هي واجهة تطبيقه الأمامية بصدق وسهولة وإمكانية إستخدام مكتبتها البرمجية في كتابة الكود جمبا بجنب مع الـ transact-sql وهي اللغة البرمجية لل SQL Server 2005 .

- دعم جديد ومتميز للـ xml .. فهي الأن نوع جديد للبيانات المخزنة داخل الـ SQL Server 2005 مثل int , string أي عندما تنشأ جدولك حدد أن هذا الصف سيحتوى على xml ليس هذا فقط ولكن يمكنك البحث فيه عن طريق لغة الإستعلام داخل الـ xml المسماه xquery .. هل تعرف ماذا يعني ذلك .. يعني أنه يمكنك تخزين ملفاتك التى تحتوى على بيانات مخزنة داخل xml مع قواعد بياناتك في الـ SQL Server 2005 بل والبحث فيها كأنها في ملف خارجي بل أفضل .. هذا يعني كثيرا لمن يتعاملون مع ملفات الـ xml في عملهم وفي نقل بيناتهم .

- الآن في النسخة الـ Enterprise يمكنك تشغيل 50 نسخة من SQL Server 2005 على نفس المكنة " لازم تبقى مكنة جبارة :D أنا مشغل نسخة واحدة عاندي بالعافية :blink: " وذلك مفيد وموفر لشركات الـ hosting بعد أنا كان SQL Server 2000 يسمح بحد أقصى 16 نسخة .

- يمكنك الآن الوصول للـ SQL Server 2005 عن طريق الـ http مباشرة دون على الـ iis وذلك سيفتح مجالات كبيرة جدا للعمل مع الـ web service و الـ SOAP protocol .

- الآن يمكنك تغيير مكان ملفات الـ data و الـ log من مكانهم إلي أنشئا فيه إلى أي مكان آخر تحبه " وقاعدة البيانات غير مستعملة طبعا " وتخبر قاعدة البيانات بهذا التغيير بألتر بسيط .. كما يلي :

ALTER DATABASE <database_name>
 MODIFY FILE(name=<'data_file_name'>, filename=<'new path'>)

- جداول النظام أصبحت الآن منفصلة في مجلد مستقل وأحيطت بمزيد من الحماية " يعني الحمد لله مش حنتكعبل فيها أثناء شغلنا على جداولنا "

- حدث بعض التطوير على إستخدام كلمة السر لمستخدم قاعدة البيانات حيث يمكنك تحديد مقدارها لجعل المستخدم ينشأ كلمة سر أكثر صعوبة ، وكذلك يمكنك جعل كلمة السر تنتهي كل فترة وتجبر مستخدم قاعدة البيانات أن يقوم بتحديثها .. وكذلك أيضا يمكنك تحديد عدد مرات لإدخال كلمة سر خاطئة وبعدها يتم إغلاق قاعدة البيانات .

- تم تطوير لإمكانية تحكم مدير قاعدة البيانات في إعطاء الصلاحيات ، فأصبحت الصلاحيات المعطاة للمستخدمين أكثر دقة وتحديدا .. " يعني إلي كان بيلعب في شغل غيره مش حيعرف يلعب بعد كدة "

- يمكنك الآن أخذ صورة من قاعدة البيانات كل فترة معينة " Snapshot " وهى عبارة عن نسخة للقراءة فقط يمكنك العودة إليها إذا حدث عيب في قاعدة البيانات ، أو يمكنك إستخدامها لتوليد تقارير عن قاعدة البيانات كل فترة .

- هناك بالطبع أشياء أخرى جديدة " إنها خمس سنوات من التطوير " وسنشرح كل جديد عندما يعترض لنا في الشرح بإذن الله .

تم تعديل بواسطه ebnelbana2000
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انت حتشرح من وجهة نظر الديفيلوبر و لا من وجهة نظر الادمين ؟؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

-- خطة الشرح بإذن الله كالتالي في خطوط عريضة " ردا على سؤال الأخ busbar بارك الله فيه "

أولا : شرح أدوات التطوير والإدارة " Administration and Development Tools " .

ثانيا : إنشاء قواعد البيانات وكل ما يتعلق بها .

ثالثا : كيفية حماية هذه القاعدة .

رابعا : إنشاء الجداول وكل ما يتعلق بها .

خامسا : إنشاء الفهارس لقاعدة البيانات " indexes " .

سادسا : كيفية رسم مخطط لقاعدة بياناتك .

سابعا : كيفية إنشاء نسخة إحتياطية من قاعدة البيانات وكيفية إسترجاعها .

ثامنا : كيفية صيانة قاعدة بياناتك .

تاسعا : التعامل مع قاعدة البيانات بالإضافة والتعديل والإختيار والبحث والحذف .

عاشرا : إنشاء جداول العرض من قاعدة البيانات " Views " .

الحادي عشر : الإجرائات المخزنة " Stored Procedures " .

الثاني عشر : لغة transact - sql والقديم والجديد فيها .

الثالث عشر : الـ Triggers " لمن لا يعرفها -- وهي عبارة عن محفزات لتنفيز أمر معين ينفذ على قاعدة البيانات في وقت معين " .

الرابع عشر : إنشاء التقارير في SQL Server 2005 وكل جديد فيها " Reporting Services " .

الخامس عشر : تعامل الـ SQL Server 2005 مع الـ Net.

السادس عشر : التركيز على xml وتعامله مع SQL Server 2005 وكيفية الإستفادة منه .

- بعد ذلك سنركز بإذن الله على الذكاء التجاري " Business Intelligence " من خلال خدماته الثلاثة :

السابع عشر : خدمات تجميع البيانات " Integration Services " .

الثامن عشر : خدمات التحليل " Analysis Services " .

التاسع عشر : خدمة التقارير " Reporting Services " والتى أشرنا إليها في النقطة الرابعة عشر ولكن هنا سنستخدمها بمنطق مختلف .

- بعد ذلك بإذن الله سنشرع في شرح الجديد من أدوات الأدمن والتحكم في طريقة عمل قاعدة البيانات وسريتها :

العشرون : إستخدام المساعد الآلي في إنجاز الأعمال بدلا عنك " SQL Server Agent " .

الحادي والعشرين : خطط الصيانة " Maintenance Plans " .

التاني والعشرين : إستخدام محث الدوس للوصول لقاعدة البيانات " SQLCMD " .

الثالث والعشرين : كيف تجعل قاعدة البيانات تقوم بإرسال إيميلات إلكترونية " Database Mail " .

الرابع والعشرين : وسيط الخدمات أو سمسار الخدمات " Service Broker " وهو إضافة متميزة في SQL Server 2005 حيث يتولى الإتصال والتخاطب مع قواعد البينات الأخرى ويريح قاعدة بياناتك من مشاكل هذا التخاطب .. " كأن تقوم مثلا قاعدة بيناتك بإرسال طلب شراء نصف كيلوا جبنة بيضاء من قاعدة بيانات السوبر ماركت الكائن تحت منزلكم ويكون السوبر ماركت مغلق .. وهنا سيتولى السمسار متابعة هذا الطلب دون إنتظار من قاعدة بياناتك " .

** لو ربنا أحيانا وخلصنا إلي فوق .. لسة في حجات تانية حنشرحها بإذن الله خصيصا في متابعة قاعدة البيانات والصيانة .

** المواضيع السابقة مرتبة من زهني الآن .. أي يمكن أن أجد الترتيب غير مناسب فأستبدل نقطة مكان الآخرى .. أو أضيف جديد أثناء الشرح .

والله ولي التوفيق .

تم تعديل بواسطه ebnelbana2000
4

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بسم الله نبدأ :

أولا : شرح أدوات التطوير والإدارة " Administration and Development Tools " :

- بصدق التعامل مع قواعد البيانات في SQL Server 2005 بقى أيسر وأجمل .. فبالطبع كل من تعامل مع SQL Server 2000 قد تعامل مع الـ SQL Server Enterprise Manager للتعامل مع قواعد البيانات ، Query Analyzer لكتابة الكود وتنفيذه .. الآن تم دمج الآداتين في الآداه الأساسية بحق في SQL Server 2005 وهي SQL Server Management Studio وبيطلقوا عليه " ssms " .. وأنا بتعامل معاه بحس إني بتعامل مع برنامج access من السهولة وكذلك بحس بالقوة القديمة للـ Enterprise Manager ، Query Analyzer .

هيا للعرض ..

بعد إنزال الـ SQL Server 2005 على جهازك .. إذهب إلى start ثم programs ثم Microsoft SQL Server 2005 ثم SQL Server Management Studio كما في الصورة .

03_03_06_03_45_20_11413863201.gif

بعد ذلك قم بالإتصال بالسيرفر بالطريقة المعتادة ... وإن كنت على نفس الجهاز إضغط connect

هذه هيه واجهة SQL Server Management Studio التى ستجدها أمامك طيلة عملك مع الـ SQL Server 2005

03_03_06_03_45_59_1141386359_.gif

قم بالنقر على علامة الزائد بجوار databases لترى أن قواعد بينات النظام قد وضعت بمفردها في مجلد System Databases والصور التى تأخذها من قاعدة بيناتك في المجلد Databases Snapshots وأسفل ذلك ستجد قواعد بيناتك ومعهم قاعدة البيانات التدريبية الجديدة AdventureWork

03_03_06_03_46_49_11413864093.gif

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

03_03_06_03_47_17_11413864374.gif

- وبالطبع ولأن بيئة عمل SQL Server 2005 مبنية على بيئة عمل Visual Studio 2005

فكل إمكانيات التحكم في العرض والنوافذ والتنقل موجودة كما هي في SQL Server 2005 .. فمثلا يمكنك النقر نقرا مزدوجا على نافذة Object Explorer لتنفصل بمفردها ثم تسحبها وتدرجها في أي ناحية من الشاشة تريد .. كما في الصور :

03_03_06_03_47_44_11413864645.gif

03_03_06_03_48_09_11413864896.gif

-- إلعب ونظم براحتك ولو أردت العودة للتنسيق الإفتراضي كل ما عليك هو الذهاب للقائمة

Window ثم إضغط Reset Window Layout

- ولكن ماذا عن Query Analyzer وكتابة الكود والذي منه .. كل ما عليك أن تنقر زر New Query من أعلى اليسار لتجد نافذة الكود على يمينك .. واكتب يا سيدي كود زي ما إنت عايز .

03_03_06_04_00_56_11413872567.gif

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

من Tools ثم Options ومن General أسفل Environment يمكنك إختيار MDI environment بدلا من Tabbed document والنتيجة كما في الصورة :

03_03_06_04_01_30_11413872908.gif

ومن النافذة options هذه يمكنك التعديل والتغيير كثيرا في مظهر واجهتك وتغيير ألوان وأحجام الخطوط والأزرار النشطة في لوحة المفاتيح وكيفية التعامل مع المساعدة وغير ذلك الكثير .. من الجميل أن تجرب ذلك بنفسك .. ولا تخشي من شيء :D

-- من الأشياء الجميلة في الـ ssms صفحة الـ Sammery وكل ما تشمله من معلومات عن العنصر المحدد من النافذة Object Explorer وأهم هذه المعلومات هي المعلومات التى ستعرفها عن طريق نقر زر التقرير Report والذي سيعطيك تقارير نصية ورسومية عن كل شيء مرتبط بالعنصر المحدد السيرفر كان أو قاعدة البيانات أو جدول محدد .. إختار نوع التقرير الذي تريد بالنقر على السهم المجاور للزر .. لتعرف متى وأين ومن .. كل شيء حدث لهذا العنصر ومقدار كفائته وإنجازه .. تصفح وجرب وشوف قمة الرفاهية :)

03_03_06_04_02_17_11413873379.gif

وبإذن الله سنشرح هذه التقارير بالتفصيل عند الحديث عن صيانة ومتابعة السيرفر وقواعد البيانات .

تم تعديل بواسطه walcom
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

-- نرجع شوية لكتابة الكود .. حيث يمكنك الآن كتابة الكود في الـ ssms وأنت غير متصل بالسيرفر ويطلب منك الإتصال فقط عند طلب تنفيذ الكود وتطبيقه على قاعدة البيانات وهذه الخاصية لم تكن موجودة في 2000 حيث كان لابد من الإتصال بالسرفر لكتابة الكود .

-- أما عن التيسير في كتابة الكود فحدث ولا حرج : وأهم حاجة في القصة دي وإلي حتخليك تطير من الفرحة هي نافذة الـ Temmplate Explorer إلي مليانة كود جاهز لمعظم الجمل البرمجية وكل ما عليك هو سحب ما تريد وإفلاته في المكان الذي تريد في كودك .. وتعديل الأسماء والجداول والمتغيرات بما يناسبك .. بجد كانت مشكلة عاندي إني أنسى حرف أو أنسى الجملة البرمجية .. بس الآن البرمجة بجد بقة متعة .

من قائمة View إنقر Temmplate Explorer

وتصفح الجمل البرمجية .. ومتنساش تدعيلي ;)

03_03_06_04_03_03_11413873831_.gif

القصة مش كدة وبس دة كمان بيسر عليك جدا تعديل الأسماء والمتغيرات دي

كل ما عليك الذهاب إلى قائمة query ثم ... Specify Values For Tmplate Parameters

03_03_06_04_04_55_114138749511.gif

وهنا سيحضر لك كل المتغيرات غير المحددة في كودك المظلل الآن والذي أتيت به من نافذة Temmplate Explorer

03_03_06_04_06_30_11413875901_.gif

-- عندما تجد شيء مبهم فلا تتأزم .. كل ما عليك هو تحديد إسم هذا الشيء من الكود أو إختياره من الأدوات ونقر زر F1 لتجد sql server 2005 أتى لك بكل شيء عنه من الإنترنت أو من المساعدة الموجودة على جهازك على حسب إختيارك .. ونصيحتي أن تستخدم هذا الأمر كثيرا لتلم بكل جديد وتنجز عملك بشكل أفضل ..

** سنتعامل مع الـ ssms كثيرا أثناء عملنا .. فسنتركه الآن للإنتقال إلى أداه أخرى . كونوا معنا ;)

تم تعديل بواسطه walcom
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

فى انتظارك علىاحر من الجمر وربنا يعينك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ياريت لو الدروس تبقة PDF أو DOC

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا لك اخي

ممكن تضع لنا كتاب عن sql server 2005

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

سنعرج الآن بمشيئة الله على بعض أدوات الأدمن والتحكم في السيرفر

نبدأ بالآداة الأساسية

SQL Server Surface Area Configuration

يمكنك تشغيلها من Start ثم Programs ثم Microsoft SQL Server 2005 ثم Configuration Tools ثم انقر SQL Server Surface Area Configuration

03_03_06_04_03_03_11413873831_.gif

هنا سيخرج لك نافذة الآداة وتشتمل على خيارين

الأول :

هو للتحكم في الخدمات والإتصالات

Surface Area Configuration for Services and Connections

03_03_06_04_12_28_114138794817.gif

وهذا ملعبك لتشغيل وإبطال الخدمات العامله على جهازك وكل إتصالاتك بالأجهزة الأخرى المرتبطة بهذه الخدمات .. وبإذن الله سيكون لنا جولات مع هذه الأداة .

- أما الإختيار الثاني :

Surface Area Configuration for Features

03_03_06_04_13_04_114138798418.gif

فيمكنك من خلاله تشغيل أو إبطال الخدمات الجديدة القادمة مع Sql Server 2005 والتى سنعرج عليها واحدة واحدة بإذن الله .

-- الآداة التالية وهي :

SQL Server Configuration Manager

03_03_06_04_09_05_114138774513.gif

وهي بإختصار تجميع لعمل الثلاث أدوات المعروفه في SQL Server 2000

Service Manager

Server Network Utility

Client Network Utility

يمكنك تشغيلها من Start ثم Programs ثم Microsoft SQL Server 2005 ثم Configuration Tools ثم انقر SQL Server Configuration Manager

وهي أداة تحكم في السيرفر وخدماته والسيرفرات المتصله به .

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

والآن ننتقل إلى أدوات تحسين ومتابعة أداء قواعد البيانات

أولا : الأداة SQL Server 2005 Profiler

03_03_06_04_09_46_114138778614.gif

ويمكنك تشغيلها من داخل الـ Managment Studio من القائمة Tools ثم SQL Server 2005 Profiler

أو من

Start ثم Programs ثم Microsoft SQL Server 2005 ثم Performance Tools ثم انقر SQL Server 2005 Profiler

وهي عبارة عن أداة إختبار لكفائة عمل قاعدة البيانات من خلال إختبارها بيتشغيل عمليات معينة وإختبار مقدار كفائة إنجازها . ولقد تم إضافة تحسينات كثيرة عليها في SQL Server 2005 . سنتعرض لها أثناء الشرح بإذن الله .

ثانيا : الأداة Database Engine Tuning Advisor

03_03_06_04_11_19_114138787915.gif

ويمكنك تشغيلها من داخل الـ Managment Studio من القائمة Tools ثم Database Engine Tuning Advisor

أو من

Start ثم Programs ثم Microsoft SQL Server 2005 ثم Performance Tools ثم انقر Database Engine Tuning Advisor

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

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم

جزاكم الله خيرا يا اخى وتقبل الله منا ومنكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أجزل الشكر للأخ ebnelbana2000 على هذه المبادرة.

قمت بتثبيت الموضوع.

----

مواضيع مرتبطة: مصادر تعليمية SQL Server، فيها روابط لكتب عن SQL Server 2005

وألقيت نظرة على SQL Server 2005

و اخيرا القيت اول نظرة على SQL Server يوكون !!!! بواسطة الأستاذ خضر ترزي.

:)

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزا الله كل إخواني عظيم الجزاء وجمعنا في الجنة تحت ظل عرشه وحول حوض نبيه صلى الله عليه وسلم .

والشكر الجزيل على التثبيت الذي حملني الكثير من المسئولية للخروج بهذه الدوره على أحسن وجه نافع بإذن الله .

بسم الله نبدأ ..

سنعتبر أن ما مضى تعريف بسيط بالآداة التى سنعمل عليها .. والآن هيا بنا إلى الجد

-- سنبدأ الآن من البداية مع قواعد البيانات وسأعتمد في شرحي أسلوب القصة القصيرة لأنها بالتجربة أفضل إسلوب للشرح إستعملته .

-- سنتصور أنك مبرمج محترف ومشهور في بلدك وليكن إسمك مثلا الباشمهندس " ذكي " ، وفي أحد الأيام قام رجل بإفتتاح سوبر ماركت كبير جدا أسفل منزلكم .. وعندما أراد أن يصنع برنامج لإدارة السوبر ماركت .. دله أهل المنطقة عليك وأخبروه أنه ليس هناك أفضل منك .. وعندها طلب صاحب السوبر ماركت .. وليكن أسمه " الحاج عبد الرحمن " مقابله منك .. وبالفعل ذهبت إليه وألقيت نظرة على السوبر ماركت الذي كان يحمل إسم " سوبر ماركت الخلافة " مثلا .. وأخبرك الحاج عبد الرحمن بتطلعاته في كيفية إدارة السوبر ماركت .. وأنه يريده على أحدث أسلوب من التكنولوجيا والحداثه .. " كل ذلك وأنت تستمع له " .. وفجأة سألك .. كم سيتكلف هذا البرنامج .. وحينها قمت بالرد كمبرمج متمرس أن الأمر يحتاج إلى دراسة بسيطه أولا .. ولكن حددت له مدى معين للتكلفة وأخبرته بمميزات هذا البرنامج لإدارة السوبر ماركت " .. و رحب الحاج عبد الرحمن .. وسألك متى سنبدأ .. فقلت من الآن لو أردت .. فقال : إذا هيا بنا ... هنا إستأذنت منه وصعدت إلى منزلك وأحضرت دفترك وقلمك .. وجلست أنت والحاج عبد الرحمن تسأله ..

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

--" إلى كل مبرمج أو مصمم قاعدة بيانات .. هذه أول خطوة صحيحة فعلها الباشمهندس ذكي من أجل إنشاء قاعدة بيانات تصلح للحاج عبد الرحمن .. فإياك أن تنشأ قاعدة بيانات على هواك أنت وتقول أني سأنشأ قاعدة بيانات على أحسن تراز ثم تكون النتيجة عدم توافقها في المتطلبات المرجوه منها عند التنفيذ على أرض الواقع "

-- هنا صعد الباشمهندس ذكي إلى منزله وأخذ في رسم جدول واحد كبير يمثل كل العناصر المطلوب تجميع بيانات عنها في سوبر ماركت الخلافة على الورق .. ولنتصور جانب من هذا الجدول معه :

* تاريخ الفاتورة

* ترتيب الفاتورة خلال اليوم

* الصنف الأول في الفاتورة

* سعر الصنف الأول في الفاتورة

* الصنف الثاني في الفاتورة

* سعر الصنف الثاني في الفاتورة

* موظف الحسابات

* أجرة موظف الحسابات

* أجازات موظف الحسابات

* موظف البيع

* أجرة موظف البيع

* أجازات موظف البيع

* أجرة المكان

* أجرة الكهرباء

* .............

وأخذ يكتب ويكتب ...

ثم بدأ في عمله بتطبيق قواعد الـ Normalization وهي عبارة عن ثلاث مراحل ترشدك إلى توزيع بياناتك على عدد من الجداول ذات العلاقة المرتبطة وضمان عدم تكرار البيانات المتشابههة في قاعدة بياناتك .. وكذلك وضع مفتاح رئيسي يكون دليلك على كل جدول . هيا إلى التنفيذ :

المرحلة الأولى من الـ Normalization

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

الجدول الأول :

* اسم الصنف أو " المنتج "

* سعر الصنف

* وزن الصنف

* مكان تواجده في السوبر ماركت

* درجة حرارة حفظه

* الكمية المتوفرة منه

* الوقت الذي يزيد فيه الطلب على هذا الصنف

* ........... ضف ما يحلو لك على حسب طلبات الحاج عبد الرحمن طبعا

-- ونسمي هذا الجدول جدول الأصناف " بالطبع عند إنشاء قاعدة البيانات سنختصر هذه الأسماء ونجعلها بلإنجليزية ليسهل لنا التعامل معها في الـ sql server

الجدول الثاني : الفاتورة

* تاريخ الفاتورة

* ترتيب الفاتورة خلال اليوم

* نسبة الخصم

* الثمن المدفوع

* الباقي من الثمن

* ................

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

* إسم الموظف

* نوع الوظيفة

* المرتب

* رتبة الوظيفة

* الأجازات

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

-- تنقص نقطة في المرحلة الأولى من الـ Normalization وهي أن تضع مفتاح إرشادي متسلسل لكل جدول

مثلا في جدول الموظفين :

* الرقم المسلسل للموظف

* إسم الموظف

* نوع الوظيفة

* المرتب

* رتبة الوظيفة

* الأجازات

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

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

-- نأتي للمرحلة الثانية من الـ Normalization

تم تعديل بواسطه ebnelbana2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

المرحلة الثانية من الـ Normalization :

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

هنا النوع الثاني من الـ Normalization يخبرك أن تفصل هذا الصف في جدول منفصل وتضع له مفتاح تسلسل خاص به .. ووضع هذا المفتاح المتسلسل في الجدول الرئيسي كرابط بين الجدولين .. وهذا ما نشرحه بالتفصيل عند الحديث عن العلاقات بين الجداول وربطها ببعض .

إذا سيصبح جدول الموظفين هكذا :

* الرقم المسلسل للموظف

* إسم الموظف

* الرقم المسلسل لنوع الوظيفة

* المرتب

* رتبة الوظيفة

* الأجازات

وأصبح عندنا جدول جديد بإسم نوع الوظيفة :

* الرقم المسلسل لنوع الوظيفة

* نوع الوظيفة

* متطلبات الشخصية المأهلة لهذا النوع

* ..... ضف ما تشاء من معلومات ....

-- هنا سيسألني أحدكم .. أني الآن أملك إسم عمود متكرر في جدولين وهو الرقم المسلسل لنوع الوظيفة " ألم تخبرنا أن لا نكرر البيانات "

* كلامكم صحيح .. ولكن نحن نصنع هذا التكرار في المفاتيح المتسلسلة للجداول فقط من أجل الربط بينها وإمكانية الوصول للمعلومات المرتبطة من جدول لآخر كما سنوضح في العلاقات بين الجداول .

أما عن المرحلة الثالثة من الـ Normalization :

فهي عبارة عن البحث في الجدول عن نوع بيانات لا يترتب على المفتاح الرئيسي للجدول : مثلا في سوبر ماركت الخلافة .. يضع الحاج عبد الرحمن رتبة لكل وظيفة مثل الدرجة الأولى والثانية والثالثة .. وعلى أساس هذه الرتب والدرجات يحدد مقدار المرتب .. إذا فالمرتب هنا يعتمد على رتبة الوظيفة وليس على الموظف الذى هو أساس جدول الموظفين والذي على أساسه أشتق الرقم المسلسل للموظف .

وهنا تخبرك المرحلة الثالثة من الـ Normalization أن تنقل كلا من المرتب ورتبة الوظيفة في جدول منفصل وتسمية جدول رتب الوظائف وتضع له رقم متسلسل خاص به وتضع هذا الرقم المتسلسل أيضا في جدول الموظفين كرابط بين الجدولين . كما يلي :

-- جدول الموظفين :

* الرقم المسلسل للموظف

* إسم الموظف

* الرقم المسلسل لنوع الوظيفة

* الرقم المسلسل لرتبة الوظيفة

* الأجازات

-- جدول رتب الوظائف :

* الرقم المسلسل لنوع الوظيفة

* رتبة الوظيفة

* المرتب

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

ولكن نريد أن نفهم أكثر ما هي العلاقات بين الجداول وكيف تعمل . فهيا بنا ..

تم تعديل بواسطه ebnelbana2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

ذلك سيكون كما أخبرتك من خلال الرقم المسلسل .. ففي الجدول الأساسي يكون إسم الرقم المسلسل " الرقم المتسلسل الرئيسي " وأي رقم متسلسل آخر من جدول آخر يسمى " الرقم المتسلسل الثانوي " وهو المسئول عن ربط هذا الجدول بالجدول الآخر .. فمثلا عند إستعلامي عن الموظف " محمد محمود " ستجد قاعدة البيانات أن مسلسل نوع وظيفته في جدول الموظفين هو المسلسل 9 مثلا وهنا ستذهب قاعدة البيانات إلى جدول نوع الوظيفة وتحضر المعلومات المتعلقة بالرقم 9 ..

بس هذا كل شي .. أليس الأمر بسيط ؟

-- هذه الأمور ستطضح جلينا عند الإنشاء الفعلي من قبل الباشمهندس ذكي لقاعدة البيانات على الـ sql server 2005

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم .. عدنا ..

أحضر الباشمهندس ذكي كوبا من الشاي بعد عودته من صلاة العصر في مسجد الحي .. وأحضر دفتره الذي وضع به تخطيط جداوله .. ثم فتح جهازه وعلى إثر ذلك فتح الـ SQL Server Management Studio من الـ Sql Server 2005 ..

03_03_06_03_46_49_11413864093.gif

" سنجد كما أسلفنا أنه قد تم جمع قواعد بيانات النظام في فلدر منفصل بالإسم System Databases ، ولكن ما هي قواعد بيانات النظام ؟

1- قاعدة البيانات master : هي أهم قاعدة بيانات .. فهي التى تحتوى كل المعلومات الخاصة بالمستخدمين وكلمات سرهم وصلاحياتهم في التعامل مع قواعد البيانات ، أماكن وجود ملفات الداتا ، إعدادات قواعد البيانات ، رسائل الأخطاء .. يعني بصدق هي قلب السيرفر .

2- قاعدة البيانات tempdb : وهي قاعدة بيانات تنشأ عند تشغيلك للسيرفر وتوضع بها البيانات المؤقتة التى يحتاج السيرفر لتخزينها مؤقتا أثناء عمل الإجرائات المخزنة مثلا .. وعند إغلاق الـ Sql server وإعادة فتحه تضيع هذه البيانات وتصبح قاعدة البيانات tempdb فارغة وجاهزة لإستقبال بيانات مؤقتة جديدة .

3- قاعدة البيانات model : هي عبارة عن موديل يمكنك التعديل فيه .. حيث أن كل قاعدة بيانات جديدة تنشأها تأخذ كل خصائصها المبدأية من هذه القاعدة .. إذا يمكنك تعديلها لتناسب إحتياجاتك في قواعد بياناتك الجديدة من حيث الحجم مثلا أو إنشاء جدول إفتراضي بها ليتم إنشائه تلقائيا داخل أي قاعدة بيانات جديدة تقوم بإنشائها .

4- قاعدة البيانات msdb : وهي المسئولة عن كل الأوامر والوظائف التى سيقوم بها الإنسان الآلي المساعد في الـ Sql Server وهو SQL Server Agent

وهو المسئول عن تنفيذ كل الوظائف التلقائية التى تريد تنفيذها بالتعاون من الويندوز .. على قاعدة البيانات أو على أي شيء متعلق بالويندوز بناء على حدث معين يحدث في قاعدة البيانات أو وقت معين . "

" أسفل مجلد قواعد بيانات النظام هناك قاعدتين للبيانات .. للتجربة والتعليم .. هما AdventureWorks - AdventureWorksDW

وهي عبارة عن قاعدة بيانات لشركة " وهمية " تملك مصنع لتجميع وتصنيع الدرجات مقرها واشنطن ويعمل لديها 290 عامل وتوزع منتجها لشمال أمريكا وأوربا وأسيا

ومطبق عليها كل الجديد في الـ Sql Server 2005 لغرض التعليم . "

وعلى الكلمة Databases قام الباشمهندس ذكي بعمل نقرة يمين من الماوس وإختار New Database

03_03_06_04_13_37_114138801719.gif

وعلى إثر ذلك خرج له المربع الحواري الجديد لإنشاء قاعدة بيانات جديدة كما في الصورة :

03_03_06_04_14_10_1141388050_.gif

فقام بإدخال إسم قاعدة بياناته وسماها alkhilafah

ثم حدد المستخدم الرئيسي لهذه القاعدة وهو المستخدم الذى لدية كل صلاحيات التعامل والتعديل مع قاعدة البيانات ويسمى مالك قاعدة البيانات

* ولو تركها <default> حيكون مستخدم الـ Sql server الأساسي هو مالك هذه القاعدة

ثم قام بالتأشير على المربع use full-text indexing وهو المسؤول عن تنشيط عملية البحث داخل قاعدة البيانات عن الكلمات أو الجمل داخل النصوص

-- وأسفل ذلك نجد أن هناك ملفان سينشأهما السيرفر لقاعدة البيانات

- الأول يملك الإمتداد MDF. وهو المسأول عن تخزين البيانات

- والثاني يملك الإمتداد Log. وهو المسأول عن تخزين الحركات " وتعني أي تعديلات على قاعدة البيانات " وهو العامل والمصدر الأساسي لإرجاع البيانات المفقودة من ملف البيانات "

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

ويمكنك من خلال نافذة إنشاء قاعدة البيانات تحديد الحجم الإبتدائي للملف ومقدار الزيادة في حجمه كلما زادت البيانات المخزنة فيه .

ومن خلال هذا النافذة يمكنك تحديد الكثير من إعدادات ملفات قاعدة البيانات وطريقة عملها .. وذلك سيكون حديثنا بالتفصيل عند الحديث عن شق التحكم والصيانة بإذن الله .. أما الآن فسنترك الإعدادات الإفتراضية كما هي وننقر Ok لإنشاء قاعدة بياناتنا الجديدة .

-- والآن ماذا لو أراد الباشمهندس ذكي حذف هذه القاعدة .. كل ما عليه هو عمل نقرة يمين من الماوس على إسم القاعدة وإختيار Delete من القائمة المختصرة

03_03_06_04_14_47_1141388087_1.gif

* لتخرج له النافذة الحوارية لحذف قاعدة البيانات :

03_03_06_04_15_33_1141388133_.gif

وأسفل النافذة ستجد خيارين جديدين ..

الخيار الأول : يتيح لك إختيار حذف أو عدم حذف معلومات النسخ الإحتياطي لهذه القاعدة وإسترجاعها .

* والخيار الثاني : " مميز " وهو يقوم بغلق أي إتصال بقاعدة البيانات أولاً قبل حذفها لكي تتم عملية الحذف بنجاح

.. أما لو لم تختار هذا الخيار وكان هناك إتصال بقاعدة البيانات فيجب عليك غلقه أولا وإلا لن تنجح عملية الحذف .

-- والآن ماذا لو أردنا كمبرمجين مخضرمين مثل الباشمهندس ذكي أن نكتب نحن كود إنشاء قاعدة البيانات .. هيا بنا

نقوم بإنشاء صفحة كود جديدة بالنقر على الزر New Query من الأعلى .. أقصى اليسار

ونكتب بكل بساطة

CREATE DATABASE alkhilafah

ثم ننقر الزر Execute أو F5 لتنفيذ الأمر وإنشاء قاعدة البيانات .

ولكن بهذا الأمر ننشأ قاعدة البيانات بالإعدادات الإفتراضية ولتغيير هذه الإعدادات نضيف كود إضافي .. سنتناوله عند الحديث عن شق التحكم والصيانة بإذن الله

*ولكي تظهر قاعدة البيانات أمامنا يجب عمل refresh للسيرفر كما في الصورة ..

03_03_06_04_16_16_1141388176_3.gif

* مع إستخدامك مربع حوار إنشاء قاعدة البيانات ستظهر قاعدة البيانات حالا ولا تحتاج لعمل refresh للسيرفر

-- والآن ماذا لو أردنا حذف قاعدة البيانات بالكود أيضاً ..

كل ما عليك هو إستبدال كلمة Create بكلمة Drop

ويكون الكود كما يلي

DROP DATABASE alkhilafah

تم تعديل بواسطه walcom
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

وجائت اللحظة المنتظرة :D

سيقوم الباشمهندس ذكي الآن بإنشاء جداول قاعدة البيانات

فأسفل مجلد قاعدة البيانات يوجد مجلد يسمى Tables وهم المجلد الذي يحوى جداول قاعدة بياناتك

وعندها قام بالنقر عليه بزر الماوس الأيمن وإختار من القائمة ...New Table

03_03_06_04_16_45_1141388205_4.gif

فخرجت له نافذة تصميم الجداول

ثم أخذ في إدخال التصميم الذي كان على الورق على مصمم الجداول

وبدأ بجدول الموظفين

أدخل أولا عنوان الصف الأول وهو الرقم المسلسل للموظف Customer_ID

وبجوارها حدد نوع البيانات التى سيتم إدخالها في هذا الصف .. فختار int

03_03_06_04_17_32_1141388252_5.gif

ما هذا .. ماذا تعني int هذه ولماذا إختارها هي بالذات ؟

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

-- جميل .. إذا ما هي أنواع البيانات التى يمكن التعامل بها في الـ Sql Server 2005

1- النوع char : وهو يعني حرف ، وهو عبارة عن نوع يجعل حقل البيانات يتقبل عدد معين من الحروف من 1 إلى 8000 حرف .. فمثلا أنت تريد إدخال رمز مختصر لكل بلد من ثلاث حروف .. هنا ستستخدم هذا النوع كما يلي :

char(3)

س : ولكن ماذا لو أدخل المستخدم حرف واحد فقط ؟

ج : هنا ستخزنه قاعدة البيانات على أنه حرف ومسافتين فارغتين .. أي أنها " كدة كدة " حتدخر له مكان ثلاث حروف .

-- في الـ Sql Server 2005 حتلاقيه حتطلك في القائمة (char(10 وهو هنا بيعتبر إن الحروف المعقوله 10 .. يعني دي من عانده وممكن إنته تحط إلي على مزاجك.

2- النوع nchar : وهو أيضا يأخذ حروف ولكن حروف من النوع Unicode أي يمكنة تخزين حروف كل اللغات وليس الإنجليزية فقط .. وهو يأخذ من 1 إلى 4000 حرف لأن الحرف فيه يأخذ مكان حرفين من النوع char

** وهو بالطبع النوع إلي حنستخدمه لما نتعامل مع لغتنا الحبيبة لغة أهل الجنة .. اللغة العربية .

ومثاله نفس الشيء :

nchar(5)

- هو برده هنا بيحط 10 حروف في القائمة بتاعة الأنواع للـ nchar .. ممكن تغيرها لعدد الحروف إلي إنته عايزه .

3- النوع varchar : نفس قصة char .. برده يقبل من 1 إلى 8000 حرف .. بس الفرق إن لما تحدده بـ 3 حروف مثلا وتحط فيه حرف واحد بس .. حيعتبره حرف واحد مش تلاته زي الـ char ، يعني بمفهومنا نطلق عليه نوع مطاطي بيغير الحجم المخزن على حسب عدد الحروف المخزنة فيه ، ولكن أقصى عدد حروف بياخده هو ما حددته أنت .

وعلشان الميزة الجميلة دي عملوا نوع جديد في Sql Server 2005 إسمه ..

4 - (varchar(max : إيه قصته النوع الجديد دة بقة .. قصته إنه بيقبل حتى الـ 8000 حرف ولكن بيخزن أماكن لعدد الحروف الموجودة فيه بس

يعني كأنك كتبت كدة .. (varchar(8000 .. بس لو دخلت مثلا كلمة مكونة من 10 حروف فقط فسيخزنها في مكان يتسع لـ 10 حروف فقط وليس 8000 .

5- النوع nvarchar : نفس قصة varchar بس بياخد حروف Unicode وعلشان كدة هو بيقبل من 1 إلى 4000 حرف بس . " اللغة العربية "

6- (nvarchar(max : نفس قصة (varchar(max بس برده بياخد حروف Unicode وعلشان كدة هو بيقبل من 1 إلى 4000 حرف بس . " اللغة العربية "

تم تعديل بواسطه walcom
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا يا اخي وزادك من علمه ورزقه واسكنك فسيح جناته .

وشكرا جزيلا

السلام عليكم

تم تعديل بواسطه Massay
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الأخ ebnelbana2000

رغم أنك أشرت في بداية بحثك من أنك لاتريد أجوبة شكر , إلا أنني لاأملك إلا أن أقول لك "شكرا" :) وجزاك الله خيرا وزادك علما.

وننتظر المزيد ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم و رحمة الله :

طبعاً لا أريد ان أشكرك ... عارف ليه .. على شان الشكر قليل على مجهودك أخ ebnelbana2000 ..

بس في شغلة(حاجة) صغيرة كده عايز أقولها :

بعون الله استطعت أن أحصل على كتاب SqlServer2005 للمطور و هو كتاب رائع جداً .. (نسخة مطبوعة)

و أنا حقيقة حابب و أتمنى أن أساعد في هذه الدورة طبعاً إذا الموضوع يحتاج أكثر من يد لأنه مثل ما بتعرف هناك مثل(قول مأثور) " يد واحدة لا تصفق " .. فما رأيك أخي الكريم .. و كيف أستطيع المساعدة .. :)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

إبدأ T-Sql

أكواد نادرة بدلفي

نعيب زماننا و العيب فينا *********** و ما لزماننا عيب سوانا ( الشافعي رحمه الله )

عماد .. B) B)

-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

عدنا ..

السلام عليكم يا شباب

وبارك الله فيكم يا إخواني

__ طبعا تستطيع المساعدة يا أخ imadouzoun .. فالتعاون أساس نجاح أي شيء

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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 .

تم تعديل بواسطه ebnelbana2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .