UNIQUE шектеулерді негізгі кілттер шектеулері бойынша қолданудың артықшылықтары
UNIQUE шектеуді жасай отырып, SQL Server әкімшілері бағанда қайталанатын мәндер болмауы керектігін көрсетеді. Жаңа UNIQUE шектеуін жасаған кезде, SQL Server ол туралы кез-келген қайталанатын мәндер бар-жоғын анықтау үшін бағанды тексереді. Егер кестеде бұрыннан бар көшірмелер бар болса, шектеулерді жасау пәрмені сәтсіз аяқталады. Сол сияқты, бағандағы UNIQUE шектеуі бар болған кезде, қайталанатын файлдарға әкелетін деректерді қосу немесе өзгерту әрекеті сәтсіздікке ұшырайды.
Неге UNIQUE шектеулерді қолдану
UNIQUE шектеуі және негізгі кілт бірегейлікті қамтамасыз етеді, бірақ UNIQUE шектеуі жақсы таңдау болып табылады.
- Кестеге бірнеше шектеулер қажет болғанда UNIQUE шектеуді пайдаланыңыз. Кестеге тек бір ғана бастапқы кілтті қоса аласыз.
- Баған бос мәндерге рұқсат берген кезде UNIQUE шектеуін пайдаланыңыз. Бастапқы кілт шектеулері бос мәндерге рұқсат бермейтін бағандарға ғана қосылуы мүмкін.
UNIQUE шектеулерді жасау
SQL Server бағдарламасында UNIQUE шектеулерді жасаудың көптеген жолдары бар. Егер сіз бұрыннан бар кестеде UNIQUE шектеу қосу үшін Transact-SQL қолданғыңыз келсе, төменде көрсетілгендей, ALTER TABLE операторын пайдалануға болады:
ALTER TABLE ADD CONSTRAINT UNIQUE ()Егер сіз GUI құралдарын пайдаланып SQL Server-мен өзара әрекеттесуді қаласаңыз, SQL Server Management Studio-ты пайдалану арқылы UNIQUE шектеуін жасай аласыз. Мұнда келесідей:
- SQL Server басқару студиясын ашыңыз.
- Шектеуді жасағыңыз келетін дерекқордың кестелер қалтасын кеңейтіңіз.
- Шектеуді қосқыңыз келетін кестені тінтуірдің оң жағымен басып, Дизайн түймешігін басыңыз.
- Кесте жасаушысы мәзірінде Индекстер / Кілттер түймешігін басыңыз.
- Индекстер / Кілттер тілқатысу терезесінде Қосу түймешігін басыңыз.
- Түрі ашылмалы тізімінде Бірегей кілтті таңдаңыз.
UNIQUE шектеулер мен UNIQUE индекстеріне қатысты
UNIQUE шектеуі мен UNIQUE индексі арасындағы айырмашылық туралы кейбір шатасулар болды. Сіз оларды жасау үшін әртүрлі Transact-SQL пәрмендерін қолдануға болады (ALTER TABLE ... шектеу үшін CONSTRAINT қосу және көрсеткіштер үшін CREATE UNIQUE INDEX), олар көбінесе бірдей әсерге ие. Шындығында, UNIQUE шектеу жасағанда, ол шын мәнінде кестеде UNIQUE индексін жасайды. Дегенмен, бірнеше айырмашылық бар екенін атап өту маңызды:
- Индексті жасағанда, жасау пәрменіне қосымша опцияларды қосуға болады.
- UNIQUE шектеулері бар баған шетелдік кілт ретінде пайдаланылуы мүмкін.