الأربعاء، 27 ديسمبر 2017

الدرس السادس تكوين الجداول في قاعدة البيانات CREATE TABLE

لتكوين الجداول في  قاعدة البيانات بأستخدام لغة SQL سوف نستخدم الايعاز CREATE TABLE  وهو من ايعازات Data Definition Language او ما يعرف اختصارا ب DDL
 
 CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);
مثلا لتكوين جدول الزبائن CUSTOMER يمكن كتابة وتنفيذ الايعاز التالي في SQL Server Management Studio
 
 CREATE TABLE CUSTOMER 
(
CUTSOMER_ID VARCHAR (10),
CUTSOMER_NAME VARCHAR (200),
CUTSOMER_AGE INT,
CUTSOMER_ADDRESS VARCHAR (3000)
); 
ملاحظة لنفيذ هذا الايعاز يجب ام تمتك الصلاحيات الامنية المناسبة يجب ان يكون المستخدم عضو في الدور الامني المسمى db_owner role.
ايعاز تكوين الجداول مقسم الى جزئين . الجزء الاول يتكون من عبارة CREATE TABLE متبوعة بأسم الجدول الذي نريد تكوينه. 
الجزء الثاني سوف يحتوي على قائمة بألاعمدة  التي يحتويها الجدول وتكون موضوعة بين القوسين ( ) ويفصل بين العمود والاخر بالفارزة ( , )COMMA.
وعند تعريف العمود نحتاج الى شيئين رئيسسين الاول هو اسم العمود مثلا (CUSTOMER_ID) متبوع بنوع البيانات (Data Type) الذي سوف يحتويها هذا العمود.
 مثلا عمود CUSTOMER_ID سوف يكون من نوع (VARCHAR (10 وذلك لان حقل معرف الزبون (CUSTOMER_ID) سوف يحتوي على قيم نصية. الرقم 10 ضمن نوع البيانات (VARCHAR (10 يعني ان الطول الاقصى الذي يمكن ان نخزنه بهذا الحقل يجب ان يتكون من عشر حروف فأذا حاولنا ان نخزن نص اطول من العشرة سوف نحصل على رسالة الخطأ التالية من SQL Server والتي تعني ان النص الذي نحاول تخزينه في حقل معرف الزبون يتعدى الطول المسموح.
 

Msg 8152, Level 16, State 14, Line 1
String or binary data would be truncated.
The statement has been terminated.

لذلك من المنهم جدا تحديد انواع البيانات والطول المطلوب لكل حقل بشكل دقيق قبل تكوين الجداول وذلك لتجنب المشاكل التي تنتج عن عدم اختيار نوع البيانات المناسب. ولكن توجد هناك طرق لتعديل الجداول بعد تكوينها وحتى اذا كانت تحتوي على بيانات سوف نتطرق لها في موضوع منفصل في هذا الفصل.
الحقل الثاني وهو اسم الزيون تم تعريفه كحقل نصي ايضا ولكن بطول اكبر و هو 200 وبتالي نستطيع تخزين الاسماء الطويلة و الحقل الثالث هو عمر الزبون(CUTOMER_AGE) هنا استخدمنا نوع بيانات جديد (INT) وهو يمثل الارقام الصحيحة واخترنا هذا النوع لانه يتناسب مع نوع البيانات التي نريد تخزينها في هذا العمود كرقم صحيح (مثلا عمر الزبون يكون 22 او 43 الخ ...). اخيرا الحقل الاخير هو عنوان الزبون وهو حقل نصي ايضا ولكن بطول يناسب معلومات العنوان لذا اخترنا الطول 3000.

ليست هناك تعليقات:

إرسال تعليق