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

دروس Sql من الألف الى الياء


miash80

Recommended Posts

دروس SQL من الألف الى الياء






اخواني واخواتي مشرفين وأعضاء السلام عليكم ورحمة الله وبركاته



انا اعتذر للأنقطاع عن المنتدى بسبب ظروف الحياة .

وشكر خاص لكل من سئل عني

والله يسعدكم جميعا


اليوم والحمدلله بدءت بكتابة بعض الدروس التي تشمل قسم SQL

من الألف الى الياء واليوم سأضع اول درس وإن شاء الله ان اكون قد وفقت في كتابة

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

اطلب من اي عضو او مشترك طرح اي سؤال اول باول في اي درس سيتم طرحه

مع رجاء خاص ان تكون الاسئلة طمن الدرس لكي لا يتشتت تفكير اي مشترك.


وبسم الله بندء .....

مقدمة صغيرة

SQL هي عبارة عن لغة الاستعلام المهيكلة او البنيوية


وكلمة SQL اختصاراً لـ (Structure Query Language )


أن لغة SQL بسيطة جدا جدا ولكنها في نفس الوقت ذات فعالية كبيرة فكثير من الاوامر البسيطة


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


فــــ SQL تسمح لك بالوصول الى قواعد البيانات ومن ثم التعامل معها بكل سهولة


و SQl تسمح لك بأستخراج معلومات من قواعد البيانات


و SQL تسمح لك بأضافة سجل جديد الى قاعدة البيانات


و SQL تسمح لك بحذف سجل من قاعدة البيانات


و SQL تسمح لك بالتحديث على سجل في قاعدة البيانات


* تنقسم SQL الى ثلاث اقسام


اولا : DDL وهي أختصار Data Definition Language



وهي عبارة عن Create و Alter و Rename وDrop و Truncate



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



ثانيا : DML وهي اختصار Data Manipulation Language



وهي عبارة عن Update و Delete و Insert وSelect



وتعتبر لغة التعامل مع البيانات وتختص بأضافة أو حذف أو تحديث أو أسترجاع البيانات



ثالثا : DCL وهي أختصار Data Control Language

وهي عبارة عن Grant و Revok



وتعتبر لغة التحكم بالبيانات وتختص بأعطاء وسحب الصلاحيات .



هذه مقدمة صغيرة عن SQl سأقوم ان شاء الله بأعطاء امثلة شاملة عما سبق في الدرس



أتمنى ان اكون اوصلت معلومة بشكل صحيح ومناسب



فإن أصبت فمن الله وإن أخطأت فمن الشيطان ،،



إن شاء الله في المرة القادمة بعد الأخذ برأيكم وأسئلتكم



سأبدء بكتابة الامثلة إن شاء الله



أدعو لي بالتوفيق



اخوكم موسى حمدالله

تم تعديل بواسطة miash80
رابط هذا التعليق
شارك

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


سأقوم اليوم ان شاء الله بكتابة امثلة توضحية عما قيل في الدرس السابق


ولكن قبل ذلك يجب شرح موضوع مهم وهو القيود


القيود .... ما هي القيود





بسم الله نبدء





القيود ( Constraint )




القيود : هي المسؤولة على فرض القوانين على مستوى الجداول للتحكم بها


ومن خلال شرحنا للقيود وانواعها سيتم فهمها اكثر




انواع القيود :



1 . Not Null ( القيمة في الحقل يجب الزامي تعبئتها ) ولا يقبل قيم فارغة

2. Uniqu وحيد ويقبل قيمة فارغة ( وهو معروف بالمفتاح الفريد )

3. Primary Key ( لا يقبل قيمة فارغة والزمي ان نضع فيه قيمة وحيدة ) وهو المفتاح الرئيسي في الجدول

4. Foreign Key ( وهو مفتاح خارجي او غريب ) يربط بين جدولين بعلاقة .

5 . Check ( وهو معروف بقيد الشرط او قيد الاختبار )

6. default ( يضع قيمة افتراضية في حقل ما ) مثل تثبيت اسم القسم 'Account'

تم تعديل بواسطة miash80
رابط هذا التعليق
شارك

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

الأخ / موسى

مرحبا بك مرة اخرى ... بعد طول غياب ... اتمنى لك التوفيق والسداد

ننتظر منك الكثير كما عودتنا دائما

جزاك الله خيرا

رابط هذا التعليق
شارك


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

الأخ / موسى

مرحبا بك مرة اخرى ... بعد طول غياب ... اتمنى لك التوفيق والسداد

ننتظر منك الكثير كما عودتنا دائما

جزاك الله خيرا


شرف كبير لي استاذي العزيز امجد مرورك على موضوع

وان شاء الله اكون عند حسن ظنك اخي العزيز
رابط هذا التعليق
شارك

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


سأقوم اليوم ان شاء الله بكتابة درس مهم قبل أعطاء الامثلة


الدرس يتكلم عن العلاقات


العلاقات بين الجداول


Relations



بسم الله نبدء




العلاقات بين الجداول ((( Relation )))


انواع العلاقات بين الجداول : -


1 ) علاقة One To One علاقة واحد لواحد


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



2 ) علاقة One To Many علاقة واحد لمتعدد او العكس


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



3 ) علاقة Many To Many علاقة متعدد لمتعدد


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


الدرس القادم يتحدث على انواع البيانات قبل اعطاء الامثلة


وبانتظار أي سؤال


اعرف اني شرحي بطيئ ولكن هدفي الشرح من الصفر وان امشي خطوة خطوة

تم تعديل بواسطة miash80
رابط هذا التعليق
شارك

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





الدرس اليوم عن انواع البيانات






أنواع البيانات الرئيسية الاكثر استخداماً



(Number (Size



الارقم وتؤخذ حجم للغاية 38 Bytes



مثال على ذلك رقم الموظف (empno number(5



وفي حالة الكسور Number(,)



مثال على ذلك مجموع الرواتب (sum_sal(7,3



رقم 7 يدل على العدد الصحيح



رقم 3 يدل على العدد الكسري



(varchar2(Size



الاحرف وتؤخذ حجم للغاية 4000 Bytes



مثال على ذلك اسم القسم (dname varchar2(40



(char(size



الاحرف وتؤخذ حجم للغاية 2000 Bytes



مثال على ذلك اسم القسم (dname char(40



Date التاريخ



مثال على ذلك تاريخ الموظف Birthdate date





Blob :Binary Large Object



يستخدم هذا المتغير للصور (image) أو صوت (sound)



ويؤخذ حجم للغاية 4 Gigabytes



مثال على ذلك المتغير صورة الموظف في جدول الموظفين emp_pic Blob



Clob :Charachter Large Object



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



ويؤخذ حجم للغاية 4 Gigabytes



مثال على ذلك المتغير حقل الملاحظات في جدول الحسابات Note Clob



طبعا هذه ليست جميعا انواع البيانات بل اكثرها استخدام

رابط هذا التعليق
شارك

جميل جداً استاذنا القدير على ما تقدمه لنا من دروس اكثر من رائعه وخصوصاً للمبتدئين مثلي وان شاء الله سوف اكون من المتابعين لهذه الدوره طبعاً وشرحك جميل مبسط جداً دمتم بود

رابط هذا التعليق
شارك


جميل جداً استاذنا القدير على ما تقدمه لنا من دروس اكثر من رائعه وخصوصاً للمبتدئين مثلي وان شاءالله سوف اكون من المتابعين لهذه الدوره طبعاً وشرحك جميل مبسط جداً دمتم بود

جميل جداً استاذنا القدير على ما تقدمه لنا من دروس اكثر من رائعه وخصوصاً للمبتدئين مثلي وان شاء الله سوف اكون من المتابعين لهذه الدوره طبعاً وشرحك جميل مبسط جداً دمتم بود



اهلا باخي العزيز

الجميل هو مرورك أخي الطيب

والحمدلله اني شرحي مبسط ومفهوم

وان شاء الله انا جاهز لأي أستفسار أخي العزيز
رابط هذا التعليق
شارك

اعتذر عن التأخر بكتابة الدروس للظروف العمل

ان شاء الله سأقوم غدا بكتابة الدروس

رابط هذا التعليق
شارك


اعتذر عن التأخر بكتابة الدروس للظروف العمل

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

جميل جداً استاذنا القدير على ما تقدمه لنا من دروس اكثر من رائعه وخصوصاً للمبتدئين مثلي وان شاء الله سوف اكون من المتابعين لهذه الدوره طبعاً وشرحك جميل مبسط جداً دمتم بود

رابط هذا التعليق
شارك

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

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

بسم الله نبدء

طريقة أنشاء الجدول في قاعدة البيانات هي كالتالي


Create Table Table-Name
(
Column1 Data Type,
Column2 Data Type,
Column2 Data Type
);




وشرح هذا الكود كالتالي


Create انشاء

Table جدول

Table-Name اسم الجدول

Column1,2,3 الحقل الاول في الجدول ...الخ

Data Type نوع البيانات لكل حقل


كلام جميل وشرح بسيط لكن نريد مثال بسيط

file:///C:/DOCUME~1/admin/LOCALS~1/Temp/msohtml1/02/clip_image001.gif

اريد ان انشئ جدول خاص بألاقسام في مصنع ما كالتالي

SQL> Create Table Sections
 2  (
 3  Sct_Id number(2),   رقم القسم
 4  Sec_Name varchar2(50)  اسم القسم
 5  );
 Table created.



الحمدلله تم أنشاء الجدول

الان سنقوم بأنشاء جدول خاص بالعاملين في هذه الاقسام


1  Create Table Staff
2  (
3  Stf_Id Number(10),  رقم العامل
4  Stf_Name Varchar2(50), اسم العامل
5  Birthdate date, تاريخ ميلاده
6  Gender Varchar2(10), جنسه
7  nationality varchar2(30), الجنسية
8  Social_sec_num number, رقم الضمان الاجتماعي
9  Sct_Id number(2) رقم قسمه
10  );
Table created.






لنكي نرى مواصفات الجدول نستخدم الامر Desc كالتالي

SQL> desc sections;
Name							Null?	Type
------------------------------- -------- ----
SCT_ID								   NUMBER(2)
SEC_NAME								 VARCHAR2(50)



والجدول الاخر

SQL> desc customer;
Name							Null?	Type
------------------------------- -------- ----
CUS_ID								   NUMBER(10)
CUS_NAME								 VARCHAR2(50)
BIRTHDATE								DATE
GENDER								   VARCHAR2(10)
NATIONALITY							  VARCHAR2(30)
SOCIAL_SEC_NUM						   NUMBER
DEPTNO								   NUMBER(10)



كلام جميل قمنا بأنشاء جدولين في قاعدة بيانات خاصة بمصنع ما

لكن لاحظنا عدم وجود قيود على الجداول

للذا يجب وضع قيود على الجداول

هنالك عدة طرق للوضع قيود على الجدول

اما تحديد القيد اثناء انشاء الجدول او تحديد القيد بعد انشاء الجدول

سنقوم بأنشاء الجداول مرة اخرى مع تحديد القيود

ولكن قبل ذلك يجب ان نحذف الجداول

ما امر حذف الجداول في قاعدة البيانات ...؟؟؟

أنه الامر Drop Table Table-Name ;

كالتالي :


SQL> Drop Table SECTIONS;
Table dropped.




SQL> Drop Table Staff;
Table dropped.




الأن سنقوم بأنشاء الجداول مع القيود

SQL> Create Table Sections
 2	   (
 3	  Sct_Id number(2) Primary Key,  
 4	  Sec_Name varchar2(50) Not Null
 5	  );
Table created.




SQL> Create Table Staff
 2	 (
 3	 Stf_Id Number(10) Primary Key,
 4	 Stf_Name Varchar2(50) Not Null,
 5	 Birthdate date,
 6	 Gender Varchar2(10) ,
 7	 nationality varchar2(30) default('Palestinian') ,
 8	 Social_sec_num number,
 9	Sct_Id number(2)
10	);
Table created.



كلام جميل جدا قمنا بأنشاء الجداول ووضعنا بعض القيود


طيب في حالة نريد اضافة بعض القيود بعد أنشاء الجداول

نستخدم خاصية اسمها الـــــــــــــــــ Alter


في الدرس القادم سأقوم بكتابة بعض الامثلة مع شرح خاصية Alter

رابط هذا التعليق
شارك

  • بعد 3 أسابيع...

شكرا على هذا الشرح الجميل ولكن عندي استفسار اذا اردت ان أدخل بيانات عن ال project_id وهذه البيانات تحتوي على أرقام وأحرف وأشكال على سبيل المثال(EfG-231) كيف يجب ان اعرفها؟

رابط هذا التعليق
شارك

  • بعد 1 سنة...

فعلا شرح جميل وبسيط جدا

و يساعد على انشاء قاعدة بيانات  بطريقه صحيحه

 

مشكور اخوي

في ميزان حسناتك ان شاء الله

رابط هذا التعليق
شارك

الله يبارك فيكم جميعا 

 

وبعتذر عن هذا الانقطاع

 

وان شاء الله عما قريب سأقول باكمال هذه الدورس 

 

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

 

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

رابط هذا التعليق
شارك

  • بعد 3 سنة...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية