Деректерді айқындап сұрауды пайдалану арқылы кестелерді немесе индекстерді жасау немесе өзгерту

Microsoft Office Access 2007 бағдарламасында кестелерді, шектеу және индекс Жасақтама көрінісінде жасап, өзгерту және қатынасҚатынастар терезесі пайдалану арқылы жасау жеңіл болып табылады. Балама ретінде SQL көрінісінде деректерді айқындап сұрауды жазу арқылы осы бірдей болмыстарды жасауыңызға және өзгертуіңізге болады.

Бұл бөлім деректерді айқындап сұрауларды суреттеп, кестелер, индекстер, шектеулер және қатынастар жасау үшін мұндай сұрауларды қалай пайдалану керектігін көрсетеді. Сондай-ақ, бұл бөлім деректерді айқындап сұрауды қашан қолдану керектігін шешуге көмектеседі.

Не істегіңіз келеді?

Деректерді айқындап сұрауды қашан пайдалану керектігін білу

Кестені жасау немесе өзгерту

Индекс жасау

Шектеуді немесе қатынасты жасау

Деректерді айқындап сұрауды қашан пайдалану керектігін білу

Басқа сұрауларға қарағанда деректерді айқындап сұрау деректерді қалпына келтірмейді. Көптеген сұраулар қажетті деректер нәтижелерін шығару үшін бар дерекқор нысандарынан деректердің қалай біріктірілетінін және амал жасалатынын көрсететін SQL тілі (Құрылымдық сұраулар тілі) пәрмендерін қамтитын DML тілін (Деректердің амалдық тілі) пайдаланады. Деректерді айқындап сұраулары деректерді сақтайтын немесе индекстейтін дерекқор нысандарын анықтайтын SQL пәрмендерін және пайдаланушылардың дерекқор нысандарына қатынасын басқаратын SQL пәрмендерін қамтитын DDL тілін (Деректерді анықтау тілі) пайдаланады. Office Access 2007 бағдарламасында деректерді айқындап сұрауы дерекқор нысанын анықтайды және оны анықтауын өзгертеді.

Жалпы алғанда, сізге кестелерді, шектеулерді, индекстер мен қатынастарды жасау үшін Office Access 2007 бағдарламасы қамтамасыз ететін сызбалық жасақтама тілдесулерін (мысалы, Жасақтама көрінісі және Қатынастар терезесі) пайдалану керек. Дегенмен, сізде үнемі жойылатын немесе қайта жасалатын кестелер болса, бұл тілдесулерді пайдалану уақытты қолдануы мүмкін. Деректерді айқындап сұрауы арқылы сұрауды бір рет жазып, оны қажет кезінде қайтадан іске қосуыңызға болады. SQL нұсқауларымен таныс болған және белгілі бір кестелерді, шектеулерді немесе индекстерді үнемі жоюға немесе қайта жасауға жоспарлаған жағдайда ғана деректерді айқындап сұрауды пайдалану арқылы қарастырыңыз.

Маңызды : Дерекқор нысандары өзгертуге деректерді айқындап сұрауларды пайдалану тәуекелді болуы мүмкін, себебі әрекеттер растау тілқатысу терезелері арқылы жүзеге аспайды. Егер қате жіберсеңіз, деректерді жоғалтуыңыз немесе кесте жасақтамасын ұқыпсыздықтан өзгертіп алуыңыз мүмкін. Дерекқорыңыздағы нысандарды өзгерту үшін деректерді айқындап сұрауын пайдаланғаныңызда мұқият болыңыз. Егер пайдаланылатын дерекқорды сақтауға жауапты болмасаңыз, сізге деректерді айқындап сұрауын іске қосардың алдында дерекқор әкімшісімен ақылдасу керек. Бұған қосымша, кез келген кестелердің сақтық көшірмесін жасап алу ұсынылады. Осы кестелерде сұрау іске қосылады.

Беттің жоғарғы жағы

Кестені жасау немесе өзгерту

Кестені жасау үшін КЕСТЕНІ ЖАСАУ пәрменін пайдаланасыз. КЕСТЕНІ ЖАСАУ пәрменінің төмендегідей синтаксисі болады:

CREATE TABLE table_name
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

КЕСТЕНІ ЖАСАУ пәрменінің талап етілетін элементтері КЕСТЕНІ ЖАСАУ пәрменінің өзі, кестенің аты, кемінде бір өріс және әр өрістің деректер түрі болып табылады. Қарапайым мысалға қарайық.

Сіздің қолданыстағы сатып алынатын көліктердің атын, жылын және бағасын сақтау үшін кесте жасауыңыз қажет деп ұйғарайық. Сіздің атына 30 таңбаға дейін, ал жылға 4 таңбаға дейін рұқсат бергіңіз келеді. Кесте жасауға деректерді айқындап сұрауын пайдалану үшін төмендегілерді орындаңыз:

Ескерту : Деректерді айқындап сұрауының іске қосылуы үшін, алдымен дерекқор мазмұнын қосуыңыз керек.

  1. Хабар тақтасы тобындағы Параметрлер тармағын таңдап, Осы мазмұнды қосу түймешігін басыңыз.

  2. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  3. Кестені көрсету тілқатысу терезесін жабыңыз.

  4. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  5. Төмендегі SQL нұсқасын енгізіңіз:

    CREATE TABLE Cars (Name TEXT(30), Year TEXT(4), Price CURRENCY)

  6. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Кестені өзгерту

Кестені өзгерту үшін КЕСТЕНІ ӨЗГЕРТУ пәрменін пайдаланасыз. Бағандарды немесе шектеулерді қосу, өзгерту немесе алып тастау (жою) үшін КЕСТЕНІ ӨЗГЕРТУ пәрменін пайдалануыңызға болады. КЕСТЕНІ ЖАСАУ пәрменінің төмендегідей синтаксисі болады:

ALTER TABLE table_name predicate

баяндауыш төмендегілердің кез келгені болатын жерде:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Сіздің әр көліктің күйі туралы мәліметті сақтау үшін 10 таңбалы мәтін өрісін қосқыңыз келеді деп ұйғарайық. Төмендегілерді орындай аласыз:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL нұсқасын енгізіңіз:

    ALTER TABLE Cars ADD COLUMN Condition TEXT(10)

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Беттің жоғарғы жағы

Индекс жасау

Индекс немесе бас кестені жасау үшін ИНДЕКС ЖАСАУ пәрменін пайдаланасыз. ИНДЕКС ЖАСАУ пәрменінің төмендегідей синтаксисі болады:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Ең қажетті элементтері ИНДЕКСТІ ЖАСАУ пәрмені, индекстің аты, ҚОСУ дәлелі, индекстегіңіз келген өрістері бар кестенің аты және индекске қосылатын өрістердің тізімі болып табылады.

  • DESC дәлелі индекстің индекстелетін өріске арналған негізгі мәндерді іздейтін немесе индекстелген өрісті кему ретімен сұрыптайтын сұрауларды жиі іске қосқан жағдайда қолайлы болатын кему ретімен құрылуына себепші болады. Әдепкі бойынша, индекс өсу ретімен құрылады.

  • БАСТАПҚЫ АРҚЫЛЫ дәлелі индекстелген өрісті немесе өрістерді кестенің негізгі кілт ретінде бекітеді.

  • БОС МӘНГЕ ТЫЙЫМ дәлелі индекстің индекстелген өріске енгізілетін мәнді талап етуіне себепші болады — яғни, бос мәндерге тыйым салынады.

Сізде сатып алғыңыз келетін қолданыстағы көліктердің атын, жылын, бағасын және күйін сақтайтын Көліктер деп аталатын кесте бар деп ұйғарайық. Сондай-ақ, кесте үйкейді және сұрауларға жыл өрісін жиі қосасыз делік. Төмендегі іс рәсімі арқылы сұрауларыңыздың нәтижелерді жылдам беруіне көмектесу үшін Жыл өрісінде индекс жасауыңызға болады:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL нұсқасын енгізіңіз:

    CREATE INDEX YearIndex ON Cars (Year)

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Беттің жоғарғы жағы

Шектеуді немесе қатынасты жасау

Шектеу мәндер енгізілгенде өріс немесе өріс тіркесімдері кездесетін логикалық шартты құрады. Мысалы, БІРЕГЕЙ шектеуі шектелген мәннің өріске арналған бар мәнді көшіретін мәнді қабылдауына жол бермейді.

Қатынас — мәннің шектеулі өріске немесе өрістер тіркесіміне енгізілетінін анықтау үшін басқа кестедегі өрістің немесе өрістер тіркесімінің мәндеріне сілтеме жасайтын шектеу түрі.

Шектеуді жасау үшін КЕСТЕНІ ЖАСАУ немесе КЕСТЕНІ ӨЗГЕРТУ пәрменіндегі ШЕКТЕУ тармағын пайдаланасыз. ШЕКТЕУ тармағының екі түрі бар: біреуі бір өрісте шектеу жасауға арналған және екіншісі бірнеше өрісте шектеу жасауға арналған.

Бір өрісті шектеулер

Бір өрісті ШЕКТЕУ тармағы шектелетін және төмендегідей синтаксисі бар өріс анықтамасын бірден орындайды:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Сізде сатып алғыңыз келетін қолданыстағы көліктердің атын, жылын, бағасын және күйін сақтайтын Көліктер деп аталатын кесте бар деп ұйғарайық. Сондай-ақ, көліктің күйіне арналған мәнді енгізуді жиі ұмытасыз және әрдайым осы ақпаратты жазып алғыңыз келеді делік. Төмендегі іс рәсімін пайдалана отырып, бос өріс қалдырмай, Күй өрісінде шектеу жасауыңызға болады:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL нұсқасын енгізіңіз:

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT ConditionRequired NOT NULL

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Енді кішкене уақыттан кейін бірдей болуға тиісті Күй өрісінде көптеген ұқсас мәндердің бар екенін байқап қалдыңыз деп ұйғарайық. Мысалы, кейбір көліктердің Күй мәні ескі, ал басқаларының мәні нашар болып келеді. Мәндердің сәйкес болуы үшін оларды тазалағаннан кейін, көліктердің күйлеріне қолданғыңыз келген мәндердің барлығын қамтитын Күй деп аталатын өрісі бар Көлік күйі деп аталатын кестесін жасауыңызға болады:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL нұсқасын енгізіңіз:

    CREATE TABLE CarCondition (Condition TEXT(10))

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

  6. Көліктер кестесінің Күй өрісіндегі мәндерді жаңа Көліктер кестесіне енгізу үшін төмендегі SQL сұрауын SQL көрінісінің нысандық қойындысына теріңіз:

    INSERT INTO CarCondition SELECT DISTINCT Condition FROM Cars;

    Ескерту : Бұл қадамдағы SQL нұсқауы үстеме сауалы болып табылады. Деректерді айқындап сұрауына қарағанда қосымша сұрау үтірлі нүктемен аяқталады.

  7. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Көліктер кестесінің Күй өрісіне енгізілген жаңа мәннің Көлік күйі кестесіндегі Күй өрісінің мәніне сәйкес келтіру үшін төмендегі іс рәсімі арқылы Күй деп аталатын өрісте Көлік күйі мен Көліктер кестелерінің арасында қатынас жасауыңызға болады:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL нұсқасын енгізіңіз:

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT FKeyCondition REFERENCES CarCondition (Күйі)

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Бірнеше өрісті шектеулер

Бірнеше өрісті ШЕКТЕУ тармағын өрісті анықтау тармағының сыртында ғана пайдалануға болады және оның синтаксисі төмендегідей болады:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Көліктер кестесі арқылы екінші мысалды көрейік. Сіздің Көліктер кестесіндегі екі жазбада Аты, Жылы, Күйі және Бағасы мәндерінің жинағы бірдей еместігіне көз жеткізгіңіз келеді делік. Төмендегі іс рәсімі арқылы осы өрістерге қолданылатын БІРЕГЕЙ шектеуін жасауыңызға болады:

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесін жабыңыз.

  3. Жасақтамақойындысының Сұрау түрі тобындағы Деректерді анықтау түймешігін басыңыз.

    Құрастыру торы жасырынады, ал SQL көрінісінің нысандық қойындысы бейнеленеді.

  4. Төмендегі SQL мағлұмдамасын енгізіңіз:

    ALTER TABLE Cars ADD CONSTRAINT NoDupes UNIQUE (аты, жылы, күйі, бағасы)

  5. Жасақтама қойындысының Нәтижелер тобында Жегу түймешігін нұқыңыз.

Беттің жоғарғы жағы

Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×