السبت، 25 يناير 2014

أساسيات قواعد البيانات أنواع البيانات SQL - Data Types

أساسيات قواعد البيانات أنواع البيانات

 SQL - Data Types

أساسيات قواعد البيانات أنواع البيانات SQL - Data Types


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

توجد العديدة من أنواع البيانات التي تتعامل معها SQL اس كيو ال وهذه أنواع البيانات هي التي تحفظ داخل الاعمدة في الجدوال فهي تحدد نوع البيانات الذي يجب أن يحتفظ فيها العمود

توجد ستة اصناف من أنواع البيانات.

  1. نوع بيانات من النوع الرقمي

نوع البيانات الرقميمنالى
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
smallint-32,76832,767
tinyint0255
bit01
decimal-10^38 +110^38 -1
numeric-10^38 +110^38 -1
money-922,337,203,685,477.5808+922,337,203,685,477.5807
smallmoney-214,748.3648+214,748.3647

نوع بيانات رقمي كسري

نوع البياناتمنالى
float-1.79E + 3081.79E + 308
real-3.40E + 383.40E + 38

نوع بيانات من نوع التاريخ

نوع بياناتمنالى
datetimeJan 1, 1753Dec 31, 9999
smalldatetimeJan 1, 1900Jun 6, 2079
dateStores a date like June 30, 1991
timeStores a time of day like 12:30 P.M.

نوع بيانات حرفي

نوع البياناتمنالى
charchar 8000 الاف حرف من نوع يونكودثابت
varcharvarchar8000 حرف متغير
varchar(max)varchar(max)231 حرف متغير يونكود
texttext2,147,483,647 عدد الحروف.

نوع بيانات نصي من نوع يونكود

نوع البياناتالوصف
nchar4,000  حرف ثابت
nvarchar4,000  حرف ولكن متغير
nvarchar(max)231 حرف يونكود
ntext 1,073,741,823 حرف يونكود

نوع بيانات ثنائي

نوع البياناتالوصف
binary 8,000 bytes بايت ثابت الحجم
varbinary 8,000 bytes.  بايث متغير الحجم
varbinary(max)231 bytes ( بايث
image 2,147,483,647 bytes. بايت متغير الحجم

أنواع مختلفة انواع البيانات

نوع البياناتالوصف
sql_variantتخزن اي نوع ماعدا
 text, ntext,  timestamp.
timestampتخزن الوقت والتاريخ بصيغة رقمية مميزة بحيث في كل مرة يتم تحديث فيه الصف
uniqueidentifierتخزن رقم تعريف مميز
 (GUID)
xmlتخزن ملف بيانات تشعبي من نوع
 xml
cursorمرجع  الموشر للكائن
tableتخزن نتائج الكتابة ليتم معالجتها لاحقا

Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
22/1/2014

التسميات:

الخميس، 23 يناير 2014

برمجة متقدمة سي شارب مصفوفة البت الثنائي C# - BitArray Class

 مصفوفة البت الثنائي C# - BitArray Class

برمجة متقدمة سي شارب مصفوفة البت الثنائي C# - BitArray Class

مزيد من المعلومات »

التسميات:

الأربعاء، 22 يناير 2014

برمجة متقدمة سي شارب الطابور الطوابير C# - Queue Class

الطابور الطوابير  C# - Queue Class

برمجة متقدمة سي شارب الطابور الطوابير  C# - Queue Class

برمجة متقدمة سي شارب الطابور الطوابير  C# - Queue Class

مزيد من المعلومات »

التسميات:

الثلاثاء، 21 يناير 2014

برمجة متقدمة سي شارب المكدس المكدسات C# - Stack Class

سي شارب  المكدس المكدسات C# - Stack Class

برمجة متقدمة سي شارب  المكدس المكدسات C# - Stack Class

برمجة متقدمة سي شارب  المكدس المكدسات C# - Stack Class

مزيد من المعلومات »

التسميات:

أساسيات البرمجة برمجة المواقع بي اتش بي دالة $ PHP GET and POST Methods

دالة $ PHP GET and POST Methods

دالة $ PHP GET and POST Methods


أساسيات البرمجة  برمجة المواقع بي اتش بي  دالة $ PHP GET and POST Methods

مزيد من المعلومات »

التسميات:

الأحد، 19 يناير 2014

برمجة متقدمة سي شارب فئة الجداول التجزئة C# - Hashtable Class

فئة الجداول المجزء C# - Hashtable Class

برمجة متقدمة سي شارب فئة الجداول  التجزئة C# - Hashtable Class

برمجة متقدمة سي شارب فئة الجداول  التجزئة C# - Hashtable Class

مزيد من المعلومات »

التسميات:

السبت، 18 يناير 2014

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

 القائمة المرتبة C# - SortedList Class

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

ماهي القائمة  المرتبة؟

القائمة المرتبة تمثل مجموعة من زوج يحتوي على القيمة value والمفتاح key ويمكن الوصول اليها بالفهرس أو المفتاح.القائمة المرتبة هي مزيج بين جدوال التجزئة والمصفوفات في حال استخدمت الفهرس للوصول الي عناصرالقائمة المرتبة  فهي اذن مصفوفة قائمة وفي حال استخدمت المفتاح للوصول لعناصر القائمة المرتبة فهي اذن جدول التجزئة.


دوال وخصائص القائمة المرتبة

اولا خصائص القائمة المرتبة

الخاصيةالوصف
Capacityكتابة او قراءة سعة القائمة المرتبة
Countقراءة عدد العناصر التي تحتويها القائمة المرتبة
IsFixedSizeقراءة القيمةالتي تشير هل القائمة المرتبة ذات حجم ثابت
IsReadOnlyقراءة القيمةالتى تشير هل ان القائمة المرتبة للقراءة فقط
Itemقراءة وكتابة القيمة المرتبطة مع المفتاح المحدد  في القائمة المرتبة
Keysقراءة المفاتيح في القائمة المرتبة
Valuesقراءة القيم في القائمة المرتبة

دوال القائمة المرتبة

التسلسلالدالة والوصف
1public virtual void Add( object key, object value ); اضافة عنصر حسب المفتاح والقيمة المعطاة الى القائمة المرتبة
2public virtual void Clear(); حذف كل العناصر من القائمة المرتبة
3public virtual bool ContainsKey( object key ); تحديد اذا ماكانت القائمة المرتبة تحتوي على المفتاح المحدد ام لا
4public virtual bool ContainsValue( object value ); تحديد إذا ماكانت القائمة المرتبة  تحتوي على القيمة المحددة
5public virtual object GetByIndex( int index ); قراءة القيمة حسب الفهرس المعطى في القائمة  المرتبة
6public virtual object GetKey( int index ); قراء قيمة المفتاح حسب الفهرس المعطى في القائمة المرتبة
7public virtual IList GetKeyList(); 
قراءة المفاتيح في القائمة المرتبة
8public virtual IList GetValueList(); قراءة القيم في القائمة المرتبة
9public virtual int IndexOfKey( object key ); تعيد قيمة صفر اعتماد على اساس الفهرس لقيمة المفتاح المحدد القئمة المرتبة
10public virtual int IndexOfValue( object value ); تعيد قيمة صفر اعتماد على اساس الفهرس لاول قيمة يجدها للقيمة المحدد في القائئمة المرتبة
11public virtual void Remove( object key ); ازالة العنصر حسب قيمة المفتاح الممرر في القائمة المرتبة
12public virtual void RemoveAt( int index ); ازالة العنصر حسب قيمة الفهرس المرر للقائمة المرتبة
13public virtual void TrimToSize(); تحديد سعة العناصر حسب الرقم في القائمة المرتبة

مثال على القائمة المرتبة

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         SortedList sl = new SortedList();

         sl.Add("001", "Zara Ali");
         sl.Add("002", "Abida Rehman");
         sl.Add("003", "Joe Holzner");
         sl.Add("004", "Mausam Benazir Nur");
         sl.Add("005", "M. Amlan");
         sl.Add("006", "M. Arif");
         sl.Add("007", "Ritesh Saikia");

         if (sl.ContainsValue("Nuha Ali"))
         {
            Console.WriteLine("This student name is already in the list");
         }
         else
         {
            sl.Add("008", "Nuha Ali");
         }

         // get a collection of the keys. 
         ICollection key = sl.Keys;

         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + sl[k]);
         }
      }
   }
}

ناتج مثال القائمة المرتبة

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Banazir Nur
005: M. Amlan 
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali







Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
20/1/2014

التسميات:

الجمعة، 17 يناير 2014

برمجة متقدمة سي شارب مصفوفة القائمة C# - ArrayList Class

مصفوفة القائمة C# - ArrayList Class

مزيد من المعلومات »

التسميات:

الأربعاء، 15 يناير 2014

برمجة متقدمة سي شارب المجموعات أو التجميعات C# - Collections

 المجموعات أو التجميعات C# - Collections

برمجة متقدمة سي شارب المجموعات أو التجميعات C# - Collections

ماهي المجموعات أوالتجميعات؟

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

أنواع فئات المجموعات أو التجميعات واستخدامها

جميع فئات المجموعات أو التجميعات  تستخدم فضاء الاسماء system.collections .

الفئةوصف واستخدام المجموعات
ArrayList
تمثل لمجموعة مرتبة لكان يمكن فهرسته فردا فرد
وهي في الاساس بديل للمصفوفات ومع ذلك في لا تشبه المصفوفات حيث يمكنك اضافة وحذف العناصر من القائمة في  الموقع المحدد باستخدام الفهرس وحيث المصفوفة تقوم بتغير حجم المصفوفة بنفسها تلقائيا.كما أنها تسمح بتخصيص المساحة في الذواكر الديناميكية وتضيف وتبحث وترتيب العناصر في القائمة.
Hashtable
تستخدم مفتاح للوصول للعناصر في المجموعات
الجدول المجزء يستخدم عندما نجناتج للوصول للعناصر باستخدام المفتاح وبامكانك تعريف قيمة مفتاحية تستخدمها.وكل عنصر في الجدول المجزء له زوج من المفتاح وقيمته.حيث المفتاح  يستخدم للوصول للمجموعة
SortedList
تستخدم المفتاح مثلما يستخدم الفهرس للوصول لعناصر القائمة
القائمة المرتبة هي عبارة عن تركيب أو خليط من المصفوفات وجداول المجزئة. تحتوي على قائمة من العناصر التي يمكن الوصول اليها بالمفتاح أو الفهرس . إذا أردت الوصول للعناصر بواسطة الفهرس فانه يستخدم مصفوفات القوائم وفي حال استخدم المفتاح للوصول للعناصر فانه يستخدم جدول التجزئة.دائما يتم ترتيب العناصر بواسطة قيمة المفتاح
Stack

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


تستخدم عندما نحتاج للوصول لعناصر نريدها الداخل أخيرا خارج  أولا.وعندما نحتاج أضافة عنصر فانها تسمى 
PUSHING
وعندما نريد حذف عنصر تسمى
popping

Queue
الطابور ويمثل الداخل أولا خارج أخيرا  لكائن المجموعة

تستخدم عندما نحتاج للوصول لعناصر الداخل أولا خارج أخير . عندما تستخدم لاضافة عنصر في القائمة فانها تستدعي 
enqueue
وعندما تريد حذف عنصر تستدعي
deque

BitArray
مصفوقة البث هي مصفوفة تمثل بالنظام الثنائي أما بقيمة 0 أو 1

تستخدم عندما تريد تخزين البثات وانت لا تعرف عدد البثات عموما. يمكنك الوصول للعناصر مصفوفة البتات للمجموعة باستخدام الفهرس العدد الصحيح ويبدا من الصفر














Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
18/1/2014

التسميات:

أساسيات البرمجة برمجة المواقع بي اتش بي مفاهيم الويب PHP Web Concepts

 مفاهيم الويب PHP Web Concepts

أساسيات البرمجة  برمجة المواقع بي اتش بي مفاهيم الويب PHP Web Concepts

مفاهيم الويب في البي اتش بي.

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

اولا في مفاهيم الويب التعرف على المتصفح الويب ومنصة التشغيل

لغة البي اتش بي قامت بتعريف متغيرات خاصة تسمى متغيرات البيئة وهي تتعرف على بيئة المنصة والمتصفح والسرفر بحيث عن تمرير هذه المتغيرات تقوم بارجاع معلومات عن منصة التشغيل التي يتستخدمها المستخدم وغيرها. ويتم كتابة المعلومات عن طريق الطلب بربتوكول http ويتم حفظ معلومات منصة التشغيل والمتصفح في المتغير HTTP_USER_AGENT وهو متغير من متغيرات البيئة.
ويتم الحصول على معلومات متغيرات البيئة بواسطة الدالة ()getenv.

مثال على مفاهيم الويب الحصول على معلومات المتصفح ومنصة التشغيل التي يستخدمها المستخدم 
الدالة  ()preg_match سيتم شرحها في درس التعابير المنتظمة.
<html>
<body>
<?php
   $viewer = getenv( "HTTP_USER_AGENT" );
   $browser = "An unidentified browser";
   if( preg_match( "/MSIE/i", "$viewer" ) )
   {
      $browser = "Internet Explorer";
   }
   else if(  preg_match( "/Netscape/i", "$viewer" ) )
   {
      $browser = "Netscape";
   }
   else if(  preg_match( "/Mozilla/i", "$viewer" ) )
   {
      $browser = "Mozilla";
   }
   $platform = "An unidentified OS!";
   if( preg_match( "/Windows/i", "$viewer" ) )
   {
      $platform = "Windows!";
   }
   else if ( preg_match( "/Linux/i", "$viewer" ) )
   {
      $platform = "Linux!";
   }
   echo("You are using $browser on $platform");
?>
</body>
</html>

ناتج مثال مفاهيم الويب مرتبط ماهو المتصفح والنظام التشغيل الذي ستنفذ 

You are using Mozilla! on Windows!


استعراض مجموعة الصورة مع تغيرها عشوائية

تستخدم الدالة العشوائية لاختيار عشوائي حسب مجموعة من بين الارقام الدالة  ()rand.

<html>
<body>
<?php
  srand( microtime() * 1000000 );
  $num = rand( 1, 4 );
   
  switch( $num ) 
  {
  case 1: $image_file = "/home/images/alfa.jpg";
          break;
  case 2: $image_file = "/home/images/ferrari.jpg";
          break;
  case 3: $image_file = "/home/images/jaguar.jpg";
          break;
  case 4: $image_file = "/home/images/porsche.jpg";
          break;
  }
  echo "Random Image : <img src=$image_file />";
?>
</body>
</html>

استخدام نماذج الهتمل HTML

سيتم شرح النماذج والدوال لاحقا.

<?php
  if( $_POST["name"] || $_POST["age"] )
  {
     echo "Welcome ". $_POST['name']. "<br />";
     echo "You are ". $_POST['age']. " years old.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
  </form>
</body>
</html>


  
Name: Age:


توجية المستخدم الى صفحة أخر Browser Redirection

<?php
  if( $_POST["location"] )
  {
     $location = $_POST["location"];
     header( "Location:$location" );
     exit();
  }
?>
<html>
<body>
   <p>Choose a site to visit :</p>
   <form action="<?php $_PHP_SELF ?>" method="POST">
   <select name="location">
      <option value="http://w3c.org">
            World Wise Web Consortium
      </option>
      <option value="http://www.google.com">
            Google Search Page
      </option>
   </select>
   <input type="submit" />
   </form>
</body>
</html>


عرض صندوق الحوار لتنزيل ملف 

#!/usr/bin/perl

# HTTP Header
print "Content-Type:application/octet-stream; name="FileName"rn";
print "Content-Disposition: attachment; filename="FileName"rnn";

# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
   print("$buffer");
}




Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
15/1/2014

التسميات:

الثلاثاء، 14 يناير 2014

أساسيات قواعد البيانات الصيغة العامة SQL - Syntax

الصيغة العامة SQL - Syntax


أساسيات قواعد البيانات الصيغة العامة SQL - Syntax


الصيغة العامة للغة الاستعلام البنيوية

لغة الاستعلام البنيوية تستخدم مجموعة من القواعد المميزة والارشادات تعرف بالصيغة العامة.وفي هذا الدرس سيتم عرض نظرة سريعة على الصيغ الاساسية في SQL أو بما يعرف بالصيغة العامة.

كافة الصيغ العامة او الاساسية في لغة SQL تبدا اما باحدى الكلمات التالية :-
 SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, CREATE, USE, SHOW
وتنتهي بفاصلة منقوطة ;.
لغة الاستعلام SQL غير حساسة لحالة الاحرف بمعنى ان SELECT هي نفسها select. بالنسبة لاسماء الجداول في mysql هي حساسة فيجب اعطاء الاسماء نفسها كما سميت في قاعدةالبيانات.

SQL SELECT Statement صيغة الاستعلام المستخدم بارجاع السجلات

SELECT column1, column2....columnN
FROM   table_name;

SQL DISTINCT Clause صيغة ارجاع السجلات مع استبعاد التكرار

SELECT DISTINCT column1, column2....columnN
FROM   table_name;

SQL WHERE Clause استعادة السجلات حسب شرط

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION;

SQL AND/OR Clause استعادة السجلات مع شرط اما او و

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION-1 {AND|OR} CONDITION-2;

SQL IN Clause ارجاع السجلات من بين قيم معطاة

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);

SQL BETWEEN Clause ارجاع السجلات من بين قيمتين

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name BETWEEN val-1 AND val-2;

SQL LIKE Clause استعادة السجلات لشرط بحيث تكون شبيه بالصيغة المعطاة

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name LIKE { PATTERN };

SQL ORDER BY Clause استعادة السجلات مع الترتيب تصاعدي او تنازلي

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};

SQL GROUP BY Clause ارجاع السجلات مع تجميع حسب المجموعة

SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name;

SQL COUNT Clause ارجاع مجموع السجلات لعامود ما

SELECT COUNT(column_name)
FROM   table_name
WHERE  CONDITION;

SQL HAVING Clause استعادة السجلات حسب دالة حسابية معطاة

SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name
HAVING (arithematic function condition);

SQL CREATE TABLE Statement صيغة انشاء جدول

CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);

SQL DROP TABLE Statement صيغة حذف جدول

DROP TABLE table_name;

SQL CREATE INDEX Statement صيغة انشاء فهرس

CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);

SQL DROP INDEX Statement  صيغة حذف الفهرس

ALTER TABLE table_name
DROP INDEX index_name;

SQL DESC Statement صيغة عرض هيكل الجدول

DESC table_name;

SQL TRUNCATE TABLE Statement صيغة الاقتصاص من الجدول

TRUNCATE TABLE table_name;

SQL ALTER TABLE Statement صيغة تعديل او حذف او اضافة عامود للجدول

ALTER TABLE table_name {ADD|DROP|MODIFY} column_name {data_ype};

SQL ALTER TABLE Statement (Rename)  صيغة إعادة تسمية الجدول

ALTER TABLE table_name RENAME TO new_table_name;

SQL INSERT INTO Statement صيغة إضافة سجلات للجدول

INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);

SQL UPDATE Statement صيغة تعديل سجلات الجدول

UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE  CONDITION ];

SQL DELETE Statement صيغة حذف سجل من الجدول

DELETE FROM table_name
WHERE  {CONDITION};

SQL CREATE DATABASE Statement صيغة انشاء قاعدة بيانات

CREATE DATABASE database_name;

SQL DROP DATABASE Statement صيغة حذف قاعدة بيانات

DROP DATABASE database_name;

SQL USE Statement صيغة استخدام قاعدة البيانات

USE database_name;

SQL COMMIT Statement صيغة اعتماد الاوامر

COMMIT;

SQL ROLLBACK Statement صيغة التراجع عن اخرامر

ROLLBACK;


Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
14/1/2014

التسميات: