و الأن قم بأنشاء أسكيمة الـ Store كما من خلال الخطوات التالية :-
1 - حمل الملف المضغوط المتضمن لملف الـ store_schema.sql من هذا الرابط >>> أضغط هنا (هو نفس الرابط المذكور فى نبذة الكتاب).
2 - الملف ستجده فى هذا المسار :-
0072229810_code\sql_book\SQL\store_schema.sql
4 - قم بالدخول على الـ SQL*PLUS و أكتب أمر @ ثم أكتب المسار الذى به الملف ثم اضغط انتر من لوحة المفاتيح ، فمثلا لو الملف فى مجلد اسمه HANY على دريف الـ C فقم بكتابة :-
@C:\HANY\store_schema.sql
بعد الأنتهاء من أنشاء أسكيمة الـ store (وذلك من خلال توقف الشاشة عن التحرك) قم بقطع الأتصال بقاعدة البيانات من خلال أمر DISCONNECT ، و لكن هذا سيبقى على برنامج الـ SQL*PLUS ، أما اذا أردت قطع أتصالك بقاعدة البيانات و أيضاً غلق برنامج الـ SQL*PLUS فى وقت واحد فنفذ أمر EXIT .
ملحوظة : كلمة مرور أسكيمة الـ Store هى store_password
سنلقى نظرة سريعة على الـ Data Definition Language - أختصاراً لـ DDL - المستخدمه فى أنشاء أسكيمة الـ Store ، وسوف نستعرض كيفية أنشاء مستخدم و ماهى انواع البيانات الأكثر شيوعاً المستخدمه فى الأوراكل و الجداول المفترض أستخدمها بهذه الأسكيمة.
أولاً : أنشاء مستخدم (أسكيمة) :-
بندخل الاول على اسكيمة الـ System لكى نستطيع تنفيذ اوامر الـ DCL من خلالها .
لأنشاء أسكيمة أستخدم هذه الصيغة :-
CREATE USER user_name IDENTIFIED BY password;
اذن لأنشاء اسكيمة الـ Store ينبغى كتابة التالى :-
CREATE USER store IDENTIFIED BY store_password;
GRANT connect, resource TO store;
ثانياً : أنواع بيانات الأوراكل الأكثر شيوعاً :-
لبناء جدول يجب ان يكون هناك Data type لكل حقل .... و هذه هى الـ Data type التى يمكن أن تستخدمها عند بناء الجدول :-
نوع البيانات (Data Type) | المـــــــعـــــــنى |
(CHAR(length | يخزن سلسلة (حرفية او رقمية) ثابته و العامل الثابت الـ Length يحدد طول هذه السلسلة ، و أذا كانت السلسلة أصغر من القيمة المحدده بعامل الطول فأنه يتم أضافة مسطرة حتى تبقى القيمة ثابته ، فمثلاً أذا حددت العامل الثابت بـ (CHAR(2 فان البيانات التى ستخزن على هذا الحقل يجب الا تزيد عن حرفيين او رقميين ( كــ 25 أو AB ) ، اما أذا قل فسوف يضاف مسافة بعد القيمة المفردة التى ادخلتها حتى تتساوى مع طول السلسلة . |
(VARCHAR2(length | يخزن سلسلة (حرفية او رقمية) متغيرة ، و العامل الثابت الـ Length يحدد الحد الأقصى لطول هذه السلسلة ، فمثلاً (VARCHAR2(20 تتسع لتخزين 20 حرف او رقم ، و أذا قلت الأحرف عن 20 فلن يتم أضافة أى مسافات لمطابقة الطول ، لأنه كما ذكرنا هذه الـ Data Type ذات تسلسل متغير و ليس ثابت . |
DATE | يخزن التاريخ و الوقت ، كالـقرن و أرقام السنة الأربعة (كــ 1996) و الشهر و اليوم و الساعة (بما يحوى ذلك تنسيقه الى 24 ساعة) و الدقيقة و الثانية ، و بالأمكان أيضاً تسجيل التاريخ ما بين 1 يناير لسنة 4712 قبل الميلاد B.C الى 31 ديسمبر لسنة 4712 بعد الميلاد A.D |
INTEGER | يخزن الأرقام الكاملة ، حيث أن الأرقام الكاملة - الصحيحة - لا تحتوى على كسور عشرية ( فهى مثل 1 , 10 , 115 و هكذا ). |
(NUMBER(precision,scale | يخزن ارقام الصحيحة و العشرية حيث ان الـ precision هو الحد الأقصى من الارقام فيما امام و خلف العلامة العشرية ، و الحد الأقصى للـ precision هو 38 ، أما الـ scale فهى عدد الارقام التى ستوضع بالجانب الايمن للعلامة العشرية ، و فى حال عدم أستخدام كلا الـ precision و الـ scale فسوف يقوم الأوراكل أوتوماتيكياً بجعل الـ precision يساوى 38 و الارقام التى ستتعدى ارقامها الـ 38 رقم سوف يتم رفض تخزنها . |
BINARY_FLOAT | و هو جديداً فى الأوراكل 10g ، و هو يقوم بتخزين precision مفرد 32-bit للرقم ذات الفاصله العشرية ... سوف تتعلم أكثر عن BINARY_FLOAT فيما بعد فى درس (The New Oracle10g BINARY_FLOAT and BINARY_DOUBLE Types) . |
BINARY_DOUBLE | و هو جديداً فى الأوراكل 10g ، و هو يقوم بتخزين precision مضاعف 64-bit للرقم ذات الفاصله العشرية ... سوف تتعلم أكثر عن BINARY_DOUBLE فيما بعد فى درس (The New Oracle10g BINARY_FLOAT and BINARY_DOUBLE Types) . |
و سوف ترى جميع انواع البيانات Data Type فى ملحق الكتاب.
و هذا الجدول يوضح بعض الامثلة على الأرقام التى نوع بياناتها NUMBER و كيفية تخزنها على قاعدة البيانات :-
Format | Number Supplied | Number Stored |
---|---|---|
NUMBER | 1234.567 | 1234.567 |
NUMBER(6, 2) | 123.4567 | 123.46 |
NUMBER(6, 2) | 12345.67 | الرقم تعدى الحد المسموح و تم رفضه |