الأحد، ٢٨ ديسمبر ٢٠٠٨

أنشاء أسكيمة الـ Store

الأكواد التى ستسخدم فى هذا الكتاب سوف تنفذ على أسكيمة الـ Store (و معناها محل تجارى) ، و هذه الأسكيمة تتكون من معلومات عن العملاء و قائمة الجرد و المبيعات ، حيث ان هذا المحل يقوم ببيع الكتب و الفيديو و الأسطونات.

و الأن قم بأنشاء أسكيمة الـ Store كما من خلال الخطوات التالية :-
1 - حمل الملف المضغوط المتضمن لملف الـ store_schema.sql من هذا الرابط >>> أضغط هنا (هو نفس الرابط المذكور فى نبذة الكتاب).
2 - الملف ستجده فى هذا المسار :-
0072229810_code\sql_book\SQL\store_schema.sql
3 - بعد حصولك على الملف ، قم بتحريره على اى برنامج لتحرير النصوص كالـ Notepad ثم غير كلمة مرور أسكيمة الـ System أذا كان هذا ضرورياً ، لأن أسكيمة الـ System تمتلك الصلاحيات المطلوبه لأنشاء مستخدم جديد و من ثم فلابد من الدخول عليها أولاً حتى نستطيع بناء أسكيمة الـ Store ، فأذا حدث و قد قمت بتغير كلمة مرور أسكيمة الـ System أثناء تثبيتك للأوراكل على جهازك (مع مرعاة ان كلمة المرور الافتراضية هى manager ) ، فقم بكتابتها بداخل ملف الـ store_schema.sql ، فقط أستبدل كلمة المرور بالكلمة التى أسفلها خط أحمر المبينه بهذه الصورة :-

Image Hosted by ImageShack.us

4 - قم بالدخول على الـ SQL*PLUS و أكتب أمر @ ثم أكتب المسار الذى به الملف ثم اضغط انتر من لوحة المفاتيح ، فمثلا لو الملف فى مجلد اسمه HANY على دريف الـ C فقم بكتابة :-

@C:\HANY\store_schema.sql

بعد الأنتهاء من أنشاء أسكيمة الـ store (وذلك من خلال توقف الشاشة عن التحرك) قم بقطع الأتصال بقاعدة البيانات من خلال أمر DISCONNECT ، و لكن هذا سيبقى على برنامج الـ SQL*PLUS ، أما اذا أردت قطع أتصالك بقاعدة البيانات و أيضاً غلق برنامج الـ SQL*PLUS فى وقت واحد فنفذ أمر EXIT .

ملحوظة : كلمة مرور أسكيمة الـ Store هى store_password

==========================

لغة تعريف البيانات المستخدمه فى انشاء اسكيمة الـ Store

سنلقى نظرة سريعة على الـ Data Definition Language - أختصاراً لـ DDL - المستخدمه فى أنشاء أسكيمة الـ Store ، وسوف نستعرض كيفية أنشاء مستخدم و ماهى انواع البيانات الأكثر شيوعاً المستخدمه فى الأوراكل و الجداول المفترض أستخدمها بهذه الأسكيمة.

أولاً : أنشاء مستخدم (أسكيمة) :-
بندخل الاول على اسكيمة الـ System لكى نستطيع تنفيذ اوامر الـ DCL من خلالها .
لأنشاء أسكيمة أستخدم هذه الصيغة :-
CREATE USER user_name IDENTIFIED BY password;
حيث ان الـ user_name هو اسم المستخدم (الاسكيمة) ، و الـ 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

الرقم تعدى الحد المسموح و تم رفضه




Share/Save/Bookmark
Newer Posts Older Posts Home Page