Skip to main content

الجزء السادس: العمود المتماثل Identity Column

الجزء السادس: العمود المتماثل Identity Column


اذا تم تعيين احد اعمدة الجدول بأن يكون عموداً متماثل فهذا يعني ان القيم داخل هذا العمود سيتم توليدها بصورة تلقائية عند اضافة سجل داخل الجدول, وهذا العمود الذي سيعرف وبصورة فريدة كل سجل داخل الجدول, مثال بسيط عن ذلك, عند تسجيلك في موقع فأن هذا العمود سيولد رقم فريد للتعريف الخاص بك بدون تدخل منك وبدون ان تدرك ذلك!

ملاحظة: يجدر الذكر ان خاصية التماثل Identity حالها كنوع بيانات العمود لا يمكن تغييرها! عند انشاء جدول جديد, حيث تكون هذه الخاصية عاطلة بصورة افتراضية.

لأضافة خاصية التماثل في احد الأعمدة في الجدول عن طريق الواجهة الرسومية ,سأقوم بأنشاء جدول جديد بأسم “tblPerson1” وأضف له عامودين فقط “personID, Name” , وسأختار عامود ال ”personID” بأن يكون عموداً متماثل:
على مجلد الجداول tables أضغط على زر الماوس الأيمن وأختر انشاء جدول جديد New Table :



قم بأنشاء الأعمدة وحدد العمود الأول "personID" ليكون  المفتاح الرئيسي PK , والذي سيكون به خاصية التماثل Identity  والتي سيتم تحديدها عن طريق نافذة خصائص العمود Column Properties , اذهب الى تفاصيل التماثل Identity specification  وفي حقل (Is Identity ) غيره من No  الى Yes , والIdentity increment القيمة التي سيتم اضافتها للقيمة السابقة مثلاً اذا كان الPersonID يساوي 10 وقمت بأضافة سطر او سجل جديد داخل الجدول فأن الPersonID للسجل الجديد ستكون 11   لأن القيمة الأفتراضية للتزايد التماثل Identity increment =1 مالم تغيرها !
اما بذرة او اصل التماثل Identity Seed يقصد بها من اين يبداُ العد من ال0 او ال1 او ال100
وبعد ذلك قم بتخزين الجدول الجديد بأسم "tblPerson1":




عند اضافة سجل جديد داخل الجدول الذي سبق انشاءه, يجب عدم تزويد قيمة للPersonID ولا يجب تحديدها اصلاً, لأن القيمة سيتم توليدها بصورة تلقائية لأن هذا الحقل يحتوي على خاصية التماثل Identity , كما في المثال التالي:


نلاحظ قيمة الPersonID =1 لأنها اول قيمة
ولكن السؤال هنا!!! اذا قمنا بأضافة 3 حقول اخرى واخذت الرقم التماثلي بالتدريج 2 و3 و4 , واذا اردنا خذف اول سجل سيكون الجدول به فراغ رقم 1 غير موجود ويأخذ العمود بتكملة التزايد من اخر رقم كالأتي:



لحل ذلك سأقوم بتشغيل خاصية أضافة التماثل Identity_insert  عن طريق الأمر التالي:
SET IDENTITY_INSERT tblPerson1 ON




ولكن في المثال اعلاه عند اضافة سجل جديد قمت بأضافة اسماء الحقول لأن حقل الpersonID لم يعد متماثلأً عند اضافة Identity_insert  وقمنا بتشغيلها


سؤال اخر؟
ماذا لوحذفنا كل الحقول من الجدول , واردنا الحقول المضافة جديداً ان تبدأ من ال1 ؟
الحل :
 اولاً قم بتعطيل الIdentity_insert
ثانياً قم بتطبيق الأمر التالي:
DBCC CHECKIDENT('tblPerson1',RESEED,0)








الخطوة الأخيرة لأضافة خاصية التماثل لجدول جديد عن طريق جملة الأستعلام:
CREATE TABLE tblPerson2
(
personID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(30) NOT NULL
)

Comments

Popular posts from this blog

PART #2: Registration and Login System Tutorial Using PHP and MYSQL

PART #2: Registration and Login System Tutorial Using PHP and MYSQL Registration and login system using PHP and MySQL database, in this part you will do the following: 1- Creating the registration page. 2- Validating the registration form. 3- Sending the activation link on successful registration. note: you can find the mailserver tool here: [MailServerTool] Good luck. PHP,Mysql,Programming,web development,How to,Technology,web programming,web project ideas,safaa al-hayali,saf3al2a,Registration and login,Registration and login in php,php and mysql login system,registration system using php and mysql,login and register php,login and register php with database,database,php tutorial,learn php,tutorial

How To Play .srt Subtitles File in Windows Media Player

How To Play .srt Subtitles File in Windows Media Player links: https://sourceforge.net/projects/wmpsub/ wmp,.srt Subtitles File in Windows Media Player,How To Play .srt Subtitles File in Windows Media Player,How To,Safaa Al-Hayali,saf3al2a,srt subtitle in WMP,Windows,Windows Media Player,media,.ass,local subtitles

Virtual Box : How to Increase Disk Size - Windows

How to increase disk size or disk storage in oracle virtual box the command you have to use: vboxmanage.exe modifymedium "[YourPathToVdiFileOfYourVirtualMachine]" --resize [NUMBER] virtual,box,vbox,oracle,partition,size,disk,increase,resize,windows,10,microsoft,vdi,vboxmanage,configuration,Safaa AL-Hayali,saf3al2a,Oracle,VirtualBox,How to,windows 10