You are on page 1of 19

‫مدخل إلى قواعد البيانات ‪Microsoft Access‬‬

‫مقدمه في قواعد البيانات‬

‫قواعد البيانات بحر كبير ‪ ,‬كل ما تراه من النظمه الحاليه والمتطوره‪,‬‬


‫اساس نجاحها قواعد البيانات ولكن تتسائل ماهي قواعد البيانات ؟ قواعد‬
‫البيانات عباره عن قاعدة بها جداول توجد بها المعلومات الي تقوم‬
‫بتخزينها ‪ ,‬غير واضح صحيح ؟ انظر حولك في البيت‪ ,‬هل يوجد لديك‬
‫مكتب‪ ,‬اعتبره قاعدة البيانات‪ ,‬في هذا المكتب يوجد ادراج تضع بها‬
‫اورقاك واشياء الشخصيه‪ ,‬درج للقلم ‪ ,‬درج للكتب ‪ ,‬و درج للوراق‬
‫وهذه هي اماكن التخزين في قاعدة البيانات وماتسمى بي الجداول‪.‬‬

‫اهداف الدرس‪:‬‬

‫* مقدمه عن قواعد البيانات‬


‫* قواعد البيانات مقابل نظام الملفات‬
‫* لماذا قواعد البيانات * قاعدة البيانات ‪MySQL‬‬
‫* معرفات قواعد البيانات‬
‫* انواع العمده في قواعد البيانات‬
‫* امثله على قواعد البيانات‬
‫* العلقات في قواعد البيانات‬
‫* طرق ربط العلقات في قواعد البيانات‬
‫* تصميم قاعدة بيانات‬

‫ملحظه ‪ :‬ملحظه عن درس اليوم‪ :‬هذه مقدمه عن قواعد البيانات‬


‫ومختصره أي ليست بالشكل الكامل‬

‫مقدمه عن قواعد البيانات ‪:‬‬

‫قواعد البيانات بحر كبير ‪ ,‬كل ما تراه من النظمه الحاليه والمتطوره‪,‬‬


‫اساس نجاحها قواعد البيانات ولكن تتسائل ماهي قواعد البيانات ؟ قواعد‬
‫البيانات عباره عن قاعدة بها جداول توجد بها المعلومات الي تقوم‬
‫بتخزينها ‪ ,‬غير واضح صحيح ؟ انظر حولك في البيت‪ ,‬هل يوجد لديك‬
‫مكتب‪ ,‬اعتبره قاعدة البيانات‪ ,‬في هذا المكتب يوجد ادراج تضع بها‬
‫اورقاك واشياء الشخصيه‪ ,‬درج للقلم ‪ ,‬درج للكتب ‪ ,‬و درج للوراق‬
‫وهذه هي اماكن التخزين في قاعدة البيانات وماتسمى بي الجداول‪.‬‬

‫قواعد البيانات مقابل نظام الملفات ‪:‬‬

‫لو تسآلت لماذا نستخدم قواعد البيانات ؟ لماذا ل نستخدم ملف ونضع‬
‫فيه معلوماتنا‪ ,‬الجابه بسيطه‪ .‬طرق التخزين ‪ ,‬المساحه ‪ ,‬سهولة‬
‫الستعلم‬

‫طرق التخزين ‪:‬‬

‫في الملفات نقوم بالتخزين بطريقه صعبه ‪ ,‬فلو قلنا كل سطر يحوي على‬
‫معلومات مستخدم لدينا بالموقع ‪ ,‬وفي هذا السطر فواصل تفصل كل‬
‫معلومه على حده مثل ) السم ‪ ,‬العمر ‪ ,‬كلمة المرور ( تخيل معي كيف‬
‫ستقوم بقرائة هذا الملف وماهي الطريقة التي ستستخرج بها‬
‫المعلومات ‪ ,‬طريقه طويله لتقوم بعمل هذا كله ولكن مع قواعد البيانات‬
‫فهي سهله جدا ‪ ,‬فقط تقوم بتعيين نوع الحقل الذي تريده وتضع به القيم‬
‫وهي تقوم بعمل الباقي من ترتيب ومن استخراج ومن وضع كل قيمه‬
‫لوحدها وغيرها من الشروط مثل عدم التكرار‪.‬‬

‫المساحه ‪:‬‬

‫تخيل موقع الياهو الذي يملك اكثر من مليون مستخدم ‪ ,‬كم ملف سوف‬
‫يقوم بإستيعاب جميع هؤلء المستخدمين ؟ وكم سوف تكون احجام‬
‫الملفات ؟ هل هو شي منطقي ؟ غير ان استخراج معلومه ما سوف يكون‬
‫بطيئ جدا فهو غير منطقي اساسا‪ ,‬لكن مع قواعد البيانات فهو مسهل‬
‫بطريقه ممتازه‪ ,‬مرتب بطريقه جيده‪ ,‬ول يأخذ حيزا كبيرا مثل الملفات ‪,‬‬
‫وعند القراء يكون اسرع‪.‬‬

‫سهولة الستعلم ‪:‬‬

‫لو نرجع الى مثالنا ‪ ,‬الملف الذي يحوي على اسماء المسجلين بالموقع ‪,‬‬
‫تخيل انهم ‪ 1000‬مستخدم ‪ ,‬كل مستخدم في سطر بالملف‪ ,‬لو اردت ان‬
‫تقارن السم في الملف بالسم الذي ادخله المستخدم فسوف تحتاج الى‬
‫تقوم بقراء الملف كامل اي ‪ 1000‬سطر‪ ,‬لكي تقوم بإيجاد المعلومه‬
‫المطلوبه ‪ ,‬سوف تقول ماذا لو كان المستخدم في اول الملف ‪ ,‬اذن ماذا‬
‫لو كان في اخر الملف وكان رقم ‪ 1000‬؟ اعتقد ان الصوره وضحت‪.‬‬
‫لكن مع قواعد البيانات فالستعلم سهل جدا عن طريق اللغه المسماه‬
‫‪ , SQL‬فهي لغة منطقيه جدا وطريقتها سهله جدا فمجرد ان تقول اختر‬
‫من الجدول ) مستخدمين ( القيمه التي تساوي ) اسم المستخدم المدخل (‬
‫فقط ‪ ,‬وسوف يقوم الستعلم بأخبارك هل يوجد اسم المستخدم ام ل ‪.‬‬
‫لماذا قواعد البيانات ‪:‬‬
‫اعتقد ان الكلم الذي قرأته بالعلى اقنعك ان نظام قواعد البيانات افضل‬
‫بكثير واخبرك لماذا نحتاج الى قواعد البيانات‪ ,‬ولكن ذلك ل يعني اننا لو‬
‫اردنا عمل شي بسيط جدا ان نستعمل نظام قواعد البيانات‪ ,‬بل سيكون‬
‫كافيا نظام الملفات ولكن في حالت نادره ‪ ,‬ول اظن ان هناك احد يستخدم‬
‫نظام الملفات الى الن‪ .‬من خصائص قواعد البيانات التالي‪:‬‬

‫‪ -1‬السرعه‬

‫‪ -2‬السهوله‬

‫‪ -3‬التنظيم‬

‫‪ -4‬تقليل التكرار‬

‫‪ -5‬تقليل المعلومات الغير مفيده‬

‫وغيرها الكثير التي ل حصر لها ‪ ,‬ويمكن ان تذهب الى ‪ Google‬وان‬


‫تكتب في محرك البحث ‪ , why to use database‬وسوف تحصل‬
‫على المعلومات الكافيه التي تحتاجها‪.‬‬
‫قاعدة البيانات ‪:MySQL‬‬

‫هناك كثير من قواعد البيانات موجوده الن ‪ ,‬ويمكن انك قرأت عنها في‬
‫الدرس الول الذي يتكلم عن لغة ‪ . PHP‬ولكن لو لحظت ان اغلب‬
‫مبرمجين ‪ PHP‬يستخدمون هذه القاعده لخصائصها ‪ ,‬فهي مجانيه ‪,‬‬
‫مفتوحة المصدر ‪ ,‬سريعه ‪ ,‬سهله‪ .‬ولكن احد عيوبها انها ل تدعم‬
‫العلقات ال بطريقه معينه‪ .‬وسوف نتكلم عن العلقات في اخر الدرس‪.‬‬

‫معرفات قواعد البيانات‪:‬‬

‫لدينا ‪ 3‬معرفات في قواعد البيانات وهي ‪ :‬قاعدة البيانات ‪ ,‬الجدول ‪,‬‬


‫العمود‬

‫قاعدة البيانات ‪:‬‬

‫وهي المحتوى ) الحقيبه ( التي يكون بها جميع معلوماتنا ‪ ,‬ويمكنك‬


‫انشاء اكثر من قاعدة بيانات‬
‫الجدول ‪:‬‬

‫كل حقيبه لديها حافظات ) جيب ( واحد للقلم ‪ ,‬وواحد للوراق وواحد‬
‫للكتب ‪ ,,‬وهذه ما اعنيه بالجداول‬

‫العمود ‪:‬‬

‫العمود هنا تخيله كأنه التفرعات لحافظات ‪ ,‬فحافظات القلم ) جيب‬


‫القلم ( يحتوي على اربع خانات لحفظ القلم واكثر ‪ ,‬قلم احمر وقلم‬
‫اخضر وقلم ازرق وقلم اسود‬

‫انواع العمده في قواعد البيانات ‪:‬‬

‫النواع الرقميه ‪:‬‬

‫‪TINYINT‬‬
SMALLINT

MEDUIMINT

INT

INTEGER

BIGINT

: ‫النواع العشريه‬

FLOAT

DOUBLE

REAL

DECIMAL

NUMERIC
: ‫الوقت والتاريخ‬

DATE

TIME

DATETIME

TIMESTAMP

YEAR

: ‫النصوص العاديه‬

CHAR

VARCHAR

: ( BLOB ) ‫الكتابات و‬

TINYBLOB
****TINY

BLOB

****

MEDUIMBLOB

****MEDUIM

LONGBLOB

****LONG

:‫الخيارات والتعدديه‬

ENUM

SET
‫امثله على قواعد البيانات‪:‬‬
‫جدول يقوم بتخزين معلومات المستخدمين‪:‬‬

‫جدول يقوم بتخزين معلومات الكتب الي تباع‪:‬‬


‫العلقات في قواعد البيانات ‪:‬‬
‫من اهم الشياء التي يجب ان نراعيها في قواعد البيانات هي عدم‬
‫التكرار ‪ ,‬اي نجعل كل شي فريد من نوعه‪ ,‬لن استطيع شرح هذا كله‬
‫الن ‪ ,‬ولكن سوف اتكلم عن العلقات في قواعد البيانات بشكل مختصر ‪,‬‬
‫لدينا ثلث انواع من العلقات ‪:‬‬

‫العلقه المسماه بي ‪ 1:1‬او واحد لواحد ) ‪( One : One‬‬


‫لنأخذ مثال على هذه العلقه ‪ ,‬تخيل ان لدينا متجر ‪ ,‬وفي هذا المتجر‬
‫يوجد عامل واحد فقط‪ ,‬فالعلقه تكون ان الموظف ينتمي الى متجر واحد‬
‫و المتجر يحوي على موظف واحد فقط لحظ الصوره التاليه‪:‬‬
‫العلقه المسماه بي ‪ M:1‬او واحد لكثير ) ‪( Many : One‬‬

‫تخيل ان لدينا رسام ‪ ,‬هذا الرسام يقوم برسم عدة لوحات ‪ ,‬ولكن كل‬
‫لوحة من عمل رسام واحد فقط لحظ الصوره التاليه ‪:‬‬
‫العلقه المسماه بي ‪ N:M‬او كثير لكثير ) ‪( Many : Many‬‬

‫لو لدينا طلب ولدينا مواد ‪ ,‬فكل طالب يمكنه ان يأخذ ماده او اكثر ‪ ,‬وكل‬
‫ماده يمكن ان يأخذها اكثر من طالب اليس ذلك صحيحا ؟ ولكن هذه‬
‫العلقه ليست جيده لنها لن تحل مشكلة التكرار ‪ ,‬ولكن نقوم بحلها عن‬
‫طريق شي يسمى ) ‪ ( Bridge Entity‬او ) الجسر ( لحظ الصورتين‬
‫التاليه‪:‬‬
‫ولكي نقوم بحل هذه العلقه او ايجاد طريقه اخرى لها نستخدم الجسر‬
‫مثل الصوره التاليه‪:‬‬
‫طرق ربط العلقات في قواعد البيانات ‪:‬‬

‫كل جدول نقوم بإنشاءه يجب ان نجعل له ما يسمى المفاتح الرئيسي )‬


‫‪ ( PRIMARY KEY‬وهذا المفتاح ل يتم تكراره في الجدول ‪ ,‬حيث‬
‫ان كل مستخدم لديه رقم رئيسي نعرفه به ‪ ,‬ونحدد به اسمه ومعلوماته‬
‫الخرى ولكي نقوم بربطه في علقة ‪ ,‬في الجدول المربوط به نجعل هذه‬
‫القيمه على شكل مفتاح اجنبي ) ‪ ( FOREIGN KEY‬لحظ معي‬
‫الصوره التاليه ‪:‬‬
‫لحظ ان العمود ‪ CustomerID‬في جدول ‪ CUSTOMERS‬هو‬
‫مفتاح رئيسي ول يمكن تكراره ‪ ,‬ولكنه في جدول ‪ ORDERS‬على‬
‫شكل ) ‪ ( FOREIGN KEY‬ويمكن تكراره ‪ ,‬لن عدة طلبات يمكن‬
‫عملها عن طريق مستخدم واحد ‪ ,‬ولكن كل طلب مربوط بمستخدم واحد‬
‫فقط‪.‬‬

‫تصميم قاعدة بيانات‪:‬‬

‫في تصميم قاعدة البيانات يجب علينا ان نقوم بأشياء كثيره ‪ ,‬اولها ان‬
‫نقوم بتحليل ومعرفة ماذا نريد من هذه القاعده ‪ ,‬كيفية عملها ‪ ,‬كيفية‬
‫ترتيب المعلومات المفيده لنا بالقاعده ‪ ,‬ويجب ان نقوم برسم القاعده‬
‫على الورق اول لكي نستنتج هل منطقنا صحيح في تصميم هذه القاعده‬
‫ام ل‪ .‬ويجب ان نحل مشكلة التكرار ‪ ,‬فتخيل لو لدينا جدول يحتوي على‬
‫معلومات العميل ومعلومات الموظف الذي قام بخدمته ‪ ,‬في كل مره ندرج‬
‫مستخدم يجب ان ندرج العميل مره اخرى ولو قام العميل بتغيير اسمه او‬
‫رقمه ‪ ,‬فسنحتاج الى تغيير كل الصفوف التي يوجد بها هذا العميل ‪,‬‬
‫ولكن لو جعلنا العميل في جدول والموظف في جدول ‪ ,‬فسيكون لكل‬
‫عميل صف واحد في جدول العملء ولكل موظف صف واحد في جدول‬
‫الموظفين ثم نربطهما ببعض‪ .‬فلو غير عميل رقم هاتفه سوف نقوم‬
‫بالتعديل مره واحده فقط‪.‬‬

‫برامج قواعد البيانات من أكثر البرامج الحاسوبية انتشارًا وهي عبارة عن تخزين البيانات‬
‫وعرضها بطريقة أو أكثر ‪.‬‬

‫ميكروسووفت أكسس ‪ Microsoft Access‬هو برنامج لنشاء وتصميم قواعد بيانات‬


‫تمكنك هذه القواعد من ‪:‬‬
‫‪ -1‬تسجيل أسماء أشخاص أو وجهات وعناوينهم وأرقام هواتفهم ‪.‬‬
‫‪ -2‬تسجيل مبيعات ومشتروات واستخراج فواتير منوعة ‪.‬‬
‫‪ -3‬تسجيل بيانات ودرجات طلب واستخراج نتائجهم ‪.‬‬
‫‪ -4‬مرضى وبياناتهم الشخصية وإحصاءات متنوعة لهم ‪.‬‬
‫‪ -5‬فهارس كتب ومكتبات وإعارات ‪.‬‬
‫‪ -6‬عاملين في المؤسسة وتقارير بالمستحقات والجازات ‪.‬‬
‫‪ -7‬اتصالت إدارية )صادر ووارد( ‪.‬‬
‫‪ -8‬مكاتب سفريات وحجوزات ‪.‬‬
‫‪ -9‬تسجيل تبرعات ومصروفات وأنشطة خيرية ‪.‬‬
‫‪ -10‬فهارس مكتبات صوتية )أشرطة صوتية( ‪.‬‬
‫ومالم يذكر أكثر ‪ ،‬وما ذكر أعله نقطة من بحر ‪.‬‬

‫وقواعد البيانات كتعريف مختصر لها برنامج مهمته تخزين البيانات والتحكم بطرق إظهارها‬
‫والتعديل فيها ‪.‬‬

‫من مميزات هذه القواعد ‪:‬‬


‫‪ -1‬جمع جميع كائنات القاعدة في ملف واحد يأخذ المتداد ‪ ، MDB‬وهذا ولشك أسهل في‬
‫التعامل مع القاعدة وإن كان قد يمثل خطورة على القاعدة من جهة أن تلف هذا الملف يتلف‬
‫معه كل كائنات القاعدة ‪.‬‬
‫‪ -2‬استيراد وتصدير أنواع مختلفة من البيانات إلى برامج مجموعة الوفس أو إلى قواعد‬
‫وبرامج أخرى ‪.‬‬
‫‪ -3‬تعدد درجات المان في القاعدة وتعدد المستخدمين ‪.‬‬
‫‪ -4‬إمكانية وضع القاعدة على شبكة اتصالت داخلية وتشغيلها من عدة مستخدمين في آن‬
‫واحد ‪.‬‬
‫‪ -5‬وجود خصائص وطرق تمكن المستخدم من التحكم الكامل في القاعدة وبياناتها ومنع‬
‫تغيير تصميمها ‪.‬‬

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

‫وقد وضعت ميكروسوفت في هذا البرنامج كائنات تساعد المستخدم لدخال البيانات واستخراجها‬
‫من القاعدة وطباعتها ‪ ،‬وهذه الكائنات هي ‪:‬‬

‫)‪ (1‬الجداول ‪ :‬وهي مكان تخزين البيانات في القاعدة ‪ ،‬وتتكون الجداول من حقول )أعمدة(‬
‫وسجلت )صفوف( ‪.‬‬
‫)‪ (2‬استعلمات ‪ :‬وهي كما يتضح من اسمها استعلم عن بيانات معينة في القاعدة تنطبق‬
‫عليها معايير محددة ‪ ،‬أو كائنات لتنفيذ عمليات على البيانات في الجداول كحذف سجلت أو‬
‫تحديثها أو إنشاء الجداول أو َإلحاق سجلت بها ‪.‬‬
‫)‪ (3‬النماذج ‪ :‬وهي مكان تسجيل البيانات التي ترغب في حفظها في الجدول ‪ ،‬وتحريرها ‪.‬‬
‫)‪ (4‬التقارير ‪ :‬وهي كائنات عرض وطباعة البيانات بأشكال وطرق وتنسيقات منوعة ‪.‬‬
‫)‪ (5‬الصفحات ‪ :‬وهي صفحات تعرض البيانات في ملفات من نوع ‪ HTML‬منفصلة عن‬
‫ملف القاعدة الساسي وذلك لعرضها على شبكة النترنت ‪.‬‬
‫)‪ (6‬الماكرو ‪ :‬أبسط تعريف له هو كائن يمكن وضع أمر أو عدة أوامر أو إجراءات فيه ليتم‬
‫تنفيذها ‪.‬‬
‫)‪ (7‬الوحدات النمطية ‪ :‬هي مكان تخزين أوامر وإجراءات ليتم تنفيذها أو استدعاؤها بأكثر‬
‫من طريقة وتختلف عن الماكرو بإمكانية التحكم في هذه الوامر بشكل أكبر وأنها ذات‬
‫إمكانيات أوسع وأكبر وأدق وتحكم أكثر فيها ‪.‬‬

You might also like