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

أنشاء أسكيمة الـ 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

السبت، ٢٧ ديسمبر ٢٠٠٨

تنفيذ جمل الـ Select من خلال الـ SQL*PLUS

و الأن سنجرب أستخدام لغة ال SQL .... قم بتنفيذ هذا الكود لمعرفة تاريخ اليوم :-
SELECT SYSDATE FROM dual;
حيث ان الـ SYSDATE هو دالة تابعة للاوراكل - اى انه يتم أنشائها أوتوماتيكياً - و يستخدم لجلب تاريخ اليوم ، و الـ dual هو جدول تابع للاوراكل يحتوى على عمود واحد و صف واحد و يستخدم لغرض تنفيذ أكواد معينة بحيث يكون الغرض منها ليس جلب بيانات جدول معين.
ملحوظة : عندما تضع علامة semicolon ; بعد أنتهاء الكود فهذا معناه انك بتخبر الـ SQL*PLUS انه عليه أن ينفذ الكود الأن ... أى بعد ضغطك على زر Enter من لوحة المفاتيح.

Image Hosted by ImageShack.us

يمكنك التعديل فى اخر كود قمت بتنفيذه من خلال الامر Edit - و اختصارها ed - و هى مفيده جداً لأنك عادتاً ما ستقوم بكتابة اخطاء غير مقصوده بالكود و بالطبع سينتج خطاء عند تنفيذ الكود و سيكون الحل هو بتعديله من خلال الامر edit .

ملحوظه : سوف تعرف اكثر كيفية التعديل فى اوامر الـ SQL باستخدام الـ SQL*PLUS فى الفصل الخامس Ch5 .

فى الدرس القادم سوف ننشىء أسكيمة الـ Store التى سوف ننفذ فيها الاكواد المكتوبه بكتاب الـ Oracle Database 10g SQL .

Share/Save/Bookmark

أستخدام الـ SQL*PLUS

يوجد أصداريين من ال SQL*PLUS أصدار للدوس command-line version و أصدار للويندوز Windows version، و بأمكانك استخدام نسخة الدوس على أى نظام تشغيل ... و الأن سنشرح كيفية تشغيل برنامج ال SQL*PLUS

نسخة ال SQL*PLUS الخاصة بالويندوز :-
لبدء تشغيل SQL*PLUS أدخل على
Start >>> Programs >>> Oracle >>> Application Development >>> SQL*Plus
ثم ستظهر لك شاشة ستكتب Scott فى الخانة الاولى الخاصة بأسم المستخدم و ستكتب Tiger فى الخانة الثانية الخاصة بكلمة المرور ..... كما هو مبين بهذه الصورة :-

Image Hosted by ImageShack.us

حيث يعتبر مستخدم ال Scott - و مستخدم ال HR أيضاً - الأكثر شهرة من بين المستخدميين الأخريين لأن شركة أوراكل دائماً تستخدمهم كأمثلة تدريبية لأكودها .
أما ال Host String فهى تستخدم لأخبار الـ SQL*PLUS أسم قاعدة البيانات التى سيقوم بالدخول عليها ، فأذا كنت قد ثبت الاوراكل على جهازك فأترك هذه الخانة فارغة ، أما اذا كان قد تم تثبيت الاوراكل على جهاز اخر فعلي مدير قاعدة البيانات DBA ان يقوم بالاجرأت الازمة لأدخالك على قاعدة بيانات الأوراكل .
ملحوظة : أذا لم يكن مستخدم ال Scott موجود لديك فعليك الأتصال بالـ DBA الذى قام بتثبيت الاوراكل لك ، من ناحية أخرى يمكنك قرأة هذا الكتاب فى حال أذا أردت أن تعرف كيفية تحميل و تنصيب الأوراكل .... أضغط هنا .
و الأن سترى هذه الشاشة بعد دخولك بنجاح على قاعدة البيانات :-
Image Hosted by ImageShack.us

بالنسبة للتعامل مع نسخة الدوس Command-Line Version
أدخل على Start ثم RUN و أكتب بداخله ما يتفق مع هذه الصيغة :-
sqlplus [user_name[/password[@host_string]]]
و كما هو واضح من ال Syntax فأنه يكفيك أن تكتب sqlplus فقط فى الـ Run دون ذكر باقى العوامل ، و لكن سوف تسأل عنهم عند الدخول على الـ sqlplus الخاص بالدوس ، و فى حال اذا اردت الدخول مباشرتاً على الـ sqlplus فيجب أدخال العوامل الثابته المبينه بالـ Syntax و التى تتمثل فى التالى :-
user_name و هو اسم المستخدم - او ما يطلق عليه أيضاً الأسكيمة Schema (و كلاهما واحد).
password و هى كلمة المرور الخاصة بالمستخدم .
host_string و هى اسم قاعدة البيانات ، و يمكن تركها فارغة طالما انك مسطب قاعدة بيانات واحده على جهازك.

مثال :-
sqlplus scott/tiger
sqlplus scott/tiger@orcl
دا على أعتبار ان الأسم الأفتراضى لقاعدة البيانات هو orcl

و فى الدرس القادم سوف نأخذ كيفية تنفيذ اول جملة Select



Share/Save/Bookmark

الجمعة، ٢٦ ديسمبر ٢٠٠٨

مقدمة فى لغة الأستعلام البنيوية SQL

لغة الـ SQL هي اختصار للعبارة الإنجليزية Structured Query Language أي لغة الاستفسار الهيكلة، وهي عبارة عن مجموعة من التعليمات القريبة من اللغة الطبيعية التي توجه لنظام إدارة قواعد البيانات للقيام بعمليات بناء الكائنات وتحديثها والبحث فيها.

و تستخدم الـ SQL صيغة سهلة الفهم فهى لغة قريبة من اللغة الطبيعية - و الصيغة أو كما يطلق عليها Syntax هى الطريقة التى يكتب بها اللغة البرمجية - و سوف ترى بعض الأمثلة البسيطة لل SQL فى هذا الفصل ، و بصفة عامة توجد خمسة اوامر لل SQL و هم :-


1 - جمل الأستعلام Query statements : و هى الجمل المستخدمه لأسترجاع البيانات من الجداول الموجوده بقاعدة البيانات .

2 - جمل لغة التعامل مع البيانات Data Manipulation Language (DML) : و هى تسمح لك بالتعديل فى محتويات الجدول .... و يوجد منها ثلاثة أوامر و هم :-

· INSERT: و هى تستخدم لأضافة صفوف للجدول.

· UPDATE: و هى تستخدم لتعديل البيانات.

· DELETE: و هى تستخدم لحذف الصفوف.

3 – لغة تعريف البيانات Data Definition Language (DDL) : و هى تسمح لك بتعريف هيكلة البيانات كالجداول التى تكون قاعدة البيانات ... و هى مقسمة الى خمسة أوامر كما يلى :-

· CREATE: تسمح لك ببناء هيكلة قاعدة البيانات ، فمثلاً CREATE TABLE تستخدم لأنشاء جدول جديد ، و CREATE USER تستخدم لأنشاء مستخدم جديد.

· ALTER: تسمح لك بالتعديل فى هيكلة قاعدة البيانات ، فمثلاً ALTER TABLE تسمح لك بالتعديل فى هيكلة الجدول.

· DROP: تسمح لك بحذف اى كائن من قاعدة البيانات ، فمثلاً DROP TABLE تسمح لك بحذف الجدول.

· RENAME: تسمح لك بتغير أسم الجدول.

· TRUNCATE: تسمح لك بمسح جميع بيانات الجدول نهائياً – و ليس الجدول ذاته.

4 – التحكم فى الأجراء Transaction Control (TC) : تسمح لك بتسجيل التغيرات التى حدثت فى صفوف الجداول مع أمكانية الرجوع عنها ... و هى تنقسم الى ثلاثة أوامر :-

· COMMIT: يسمح لك بحفظ نهائى للتغيرات التى حدثت للبيانات.

· ROLLBACK: يسمح لك بالعدول عن اخر تغيرات حدثت للبيانات.

· SAVEPOINT: يسمح لك بحفظ مؤقت عند مرحلة معينة فى عملية تنفيذك للاكواد حتى تستطيع الرجوع للهذه النقطة مرة اخرى فى حال اذا لم تكن مقتنع بسير الاكواد بعد هذه النقطة.

5 – لغة التحكم فى البيانات Data Control Language (DCL): تسمح لك بتغير وضع الصلاحيات التى تعطى للمستخدميين حتى يستطيعوا الدخول على قاعدة البيانات و استخدام كائناتها ..... و هى تقسم الى امريين :-

· GRANT: تسمح لك بأعطاء صلاحية للمستخدم للدخول على قاعدة البيانات و استخدام كائناتها.

· REVOKE: تسمح لك بسحب الصلاحية من المستخدم.

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


Share/Save/Bookmark

أهداف الفصل الأول

فى هذا الفصل ستتعلم التالى :-

1 - قواعد البيانات العلائقية

2 - مقدمة عن لغة الأستعلام البنيوية SQL التى ستكون المدخل لقاعدة البيانات

3 - أستخدام بيئة الـ SQL*PLUS البرمجية لتنفيذ أكواد لغة الـ SQL عليها

4 - نظرة سريعة للغة ال PL/SQL (اللغة الأجرائية للغة الاستعلام البنيوية) ، التى سيوضع بداخلها اكواد الـ SQL

و الـ PL/SQL تسمح لك بعمل برامج يمكن تخزنها بقاعدة البيانات

دعنا الأن نرى طرق الدخول على قاعدة البيانات و كيفية التعامل معها .


Share/Save/Bookmark

الخميس، ٢٥ ديسمبر ٢٠٠٨

نبذة عن الكتاب ( Oracle Database 10g SQL )



هذا الكتاب يشرح المزايا الجديدة الموجودة فى أصدار Oracle Database 10g ، حيث يشرح كيفية القيام بحسابات معقدة من خلال الدوال التحليليه ، و كيفية أستخدام الكائنات الكبيرة لتخزين الاحرف و البيانات الرقمية .




و هذا هو محتوى الكتاب :-




Chapter 1 - Introduction

Chapter 2 - Retrieving Information from Database Tables

Chapter 3 - Using Simple Functions

Chapter 4 - Storing and Processing Dates and Times

Chapter 5 - Using SQL*Plus

Chapter 6 - Subqueries

Chapter 7 - Advanced Queries

Chapter 8 - Changing Table Contents

Chapter 9 - Database Security

Chapter 10 - Creating Tables, Sequences, Indexes, and Views

Chapter 11 - Introducing PL/SQL Programming

Chapter 12 - Database Objects

Chapter 13 - Collections

Chapter 14 - Large Objects

Chapter 15 - Running SQL Using Java

Chapter 16 - High Performance SQL Tuning

Appendix - Oracle Data Types



و الـ ISBN لهذا الكتاب هو : 0072229810 حيث أن الـ ISBN هو الرقم المعيارى الدولى للكتاب و يجدر الأشارة على ان الأكواد المستخدمه فى شرح هذا الكتاب يمكن تحملها من موقع الـ Oracle Press أو من خلال هذا الرابط المباشر :- http://www.mediafire.com/?gxmjftzzzdj




و أنا هحاول أن أجعل شرحى بسيط قدر المستطاع .

مع تمنياتى لكم بالتوفيق .


Share/Save/Bookmark

الخميس، ١٨ ديسمبر ٢٠٠٨

Privacy Policy for OracleByArabic.BlogSpot.com



The privacy of our visitors to http://oraclebyarabic.blogspot.com/ is important to us.

At OracleByArabic.BlogSpot.com, we recognize that privacy of your personal information is important. Here is information on what types of personal information we receive and collect when you use and visit OracleByArabic.BlogSpot.com, and how we safeguard your information. We never sell your personal information to third parties.

Log Files
As with most other websites, we collect and use the data contained in log files. The information in the log files include your IP (internet protocol) address, your ISP (internet service provider, such as AOL or Shaw Cable), the browser you used to visit our site (such as Internet Explorer or Firefox), the time you visited our site and which pages you visited throughout our site.

Cookies and Web Beacons
We do use cookies to store information, such as your personal preferences when you visit our site. and this for Google Analytics purposes.

We also use third party advertisements on OracleByArabic.BlogSpot.com to support our site. Some of these advertisers may use technology such as cookies and web beacons when they advertise on our site, which will also send these advertisers (such as Google through the Google AdSense program) information including your IP address, your ISP , the browser you used to visit our site, and in some cases, whether you have Flash installed. This is generally used for geotargeting purposes (showing New York real estate ads to someone in New York, for example) or showing certain ads based on specific sites visited (such as showing cooking ads to someone who frequents cooking sites).

DoubleClick DART cookies
We also may use DART cookies for ad serving through Google’s DoubleClick, which places a cookie on your computer when you are browsing the web and visit a site using DoubleClick advertising (including some Google AdSense advertisements). This cookie is used to serve ads specific to you and your interests (”interest based targeting”). The ads served will be targeted based on your previous browsing history (For example, if you have been viewing sites about visiting Las Vegas, you may see Las Vegas hotel advertisements when viewing a non-related site, such as on a site about hockey). DART uses “non personally identifiable information”. It does NOT track personal information about you, such as your name, email address, physical address, telephone number, social security numbers, bank account numbers or credit card numbers. You can opt-out of this ad serving on all sites using this advertising by visiting http://www.doubleclick.com/privacy/dart_adserving.aspx

You can choose to disable or selectively turn off our cookies or third-party cookies in your browser settings, or by managing preferences in programs such as Norton Internet Security. However, this can affect how you are able to interact with our site as well as other websites. This could include aborting some Google Analytics functions , hence our service will be worse.

Deleting cookies does not mean you are permanently opted out of any advertising program. Unless you have settings that disallow cookies, the next time you visit a site running the advertisements, a new cookie will be added.

For more information : Click Here to know how Interest-based advertising works.



Share/Save/Bookmark
Newer Posts Home Page