29
қойыңыз, оны көпше терминдарда қалай шешуге болады деп, сонда сіз
мүмкін шешімін таба аласыз.
Сұлбалар.
Сұлба – бұл SQL-дағы деректер қорының жобалануы. Ол объектілердің
құрылымын анықтайды және жұмыс істеу ережесін. SQL құрлымының бірі
кестелер болып келеді. Соңғысы үнемі сақталған (жоба кестелері), уақытша
сақтау үшін қолдану және виртуалды (көрініс). Стандартты SQL-92 уақытша
(temporary), глобальды және біріккен кестелерді қолдануға мүмкіндік береді,
бірақ біз оларды қарастырмаймыз, біз оларды қарастырмаймыз, өйткені
өнімнің көп бөлігінде олар жүзеге асырылмаған.
Бір ғана мәліметтер құрылымының қолданылу артықшылығы жұмыс
нәтижесә, барлық операциялар кестеде болып саналады. Оның құрылымын
түрлендіруге қажеті болмайды, арнайы операторларды жазу немесе
ерекшеліктерін ескеріп осы немесе басқа да тілдерде.
Кесте күрделі нөлден немесе көп жолдарды көрсетеді, ал жолдар бір
немесе бірнеше бағандар қосындысы. Әр баған белгілі бір мәліметтер типіне
қатысты. Кестелердің физикалық жүзеге асырылу жолы ешқандай мағына
бермейді, өйткені оған қол жеткізу SQL операторлары арқылы жүзеге
асырылады. Қол жеткізумен толығырақ ДББЖ айналысады, сізге осы
ерекшеліктерді есептеу керек емес, физикалық файлда болатындай жасалады.
Жүзеге асырылу жайында айтқанда, атап өтетін жайт, екі ДББЖ табу
екі талай, бірдей ішкі құрылым қолданылатын болса. Кестені файл деп айту
оңай, жол – оның ішіндегі жазба, ал баған – өріс, осындай модельдің жүзеге
асырылуы жетуілікті жиі кездеседі. Файлдық жүйенің SQL-дан негізгі
ерекшелігі бағдарламаға қосу әдісі деректер тілінде болады. Файлды жеке-
жеке ашып, жабу керек; бірақ SQL сұлбасы бағдарламаға бір рет ғана
қосылады, барлық авторизацияланған кестелерге қол жеткізуге болады.
Файлдың өрісі бағдарламамен анықталады, ал бағандар мен кестедегі
сұлбалар – SQL коды арқылы. Файлдағы мәліметтерді оқу үшін, Fortran
тілінде Format және Read операторлары қолданылады. Cobol-да өрісті
сипаттау үшін Data Division конструкциясы қолданылады, ал оларды оқу
үшін – Read. Үшінші ұрпақтағы барлық бағдарламалық тілге қатысты болады
– конспекциясы бірдей, бірақ синтаксисі мен мүмкіндіктері әр түрлі болуы
мүмкін. Деректер қоры жұмыс істей отырып, бағдарлама оның
айнымалысының одан ауысуына ғана алаңдайды. Файлдың құрылымның бос
болуына да болады. Бос кесте құрамында сол бағандар болады, бірақ жолдар
болмайды. Сонымен қатар EOF белгісі жоқ болады. Файлдық жүйенің тағы
бір ерекшелігі кестелерді қолдану немесе бағандарға шектеулер коды.
Сонымен қатар, деректер қорында кестелер электронды кесте емес, бірақ
компьютер экранынан немесе шығарған кезде ұқсастық болады.
Select операторлары.
SQL-дің жақсы ерекшеліктерінің бірі, select операторын білсеңіз,
барлық тапсырмаларды орындауға мүмкіндік береді. Бір жағынан осындай
операторлардың мазмұнына көп ұсыныстар мен есептеулер ескертулер
30
күрделі болады. Деректер қорына сұраныс жасауға қолданылады. Соған
қарай ол бірнеше кестелерді біріктіреді, оңай есептеулерді орындап, соңында
нітижесін нәтиже кестесіне көрсетіп, оны бағдарламаға базалық тілге жіберу
керек.
Көріністер.
Көріністер, сондай-ақ виртуалды кесте деп аталады; бұл кестенің
базалық немесе уақытша екенін ажырату үшін қызмет етеді. SQL-92
стандарты пайда болғанға дейін, көріністер жаңа кесте блып саналған,
базалық кеселерден құралған немесе сұраныстың алғашқы қолданылған
езіндегі көріністер. Сұраныс соңында өзінің жұмыс істеуін тоқтады. ДҚБЖ
іске асыру кезінде физикалық кесте ретінде материалданған немесе басқа
тетіктерінің пайдалануын анықтайды; ол материалдандырылмаған болған
кезде, бірақ кез келген жағдайда материалдандырылған болады.
Жаңартылған көріністер және оқу үшін арналған көріністер:
Негізі көріністер базалық көрініс кестелерінен айырмашылығы
жаңартылған немесе тек оқу үшін арналған көрініс болады. Жаңартылған
көріністерге және базалық кестелерге INSERT, UPDATE және DELETE
операторларын және басқа да шектеулерді пайдалануға болады. Бұл
операторларды тек қана оқу үшін арналған көріністерге пайдалануға
болмайды, бірақ базалық кестелерге қолдануға болады.
Төменде жаңартылған көріністерге қол жетімді сұраныстар типтері
көрсетілген:
Бір кестенің проекциялануы (ANSI SQL)
Шектеу/бір кестенің проекциялануы
(ANSI SQL)
Біріктірілген көріністер
Көріністердің әртүрлілігі
Бір-бірімен байланыс
Бір-бірімен ішкі байланыс
Біреуі барлығына байланысу
31
Біреуі барлығына ішкі байланысы
Көп-көптен байланыс
Түрлендірілген және кодталған жолдар
1.8-сурет – Сұраныстар типтері
SQL3 құжатында кестелерге арналған CREATE TRIGGER механизмi
қарастырылған. Ол триггерлік орындауды BEFORE-дан әсер етеді, содан
кейін АFTER немесе INSTEAD OF қою операторлары, кестелерді жаңарту
және өшіру. Нәтижесінде пайдаланушы INSTEAD OF триггерін жаза алады
және көрініске қолдана алады. Базалық көріністерді құрастыруға триггер
өзерістер енгізіп оларды бағыттайды. Бұл ұсынылған көрсіністерді өңдеу
жобалаушыларға басқаруға толық мүмкіндік береді.
Көріністер типі
Көріністер пайдаланатын SELECT операторының түріне жіктелуі және
мақсаты, олар үшін жасалғандықтан.
Проекция және бір кестенің шектеуі
Тәжірибеде көп көріністер – бұл проекция немесе бір кестемен
шектеулер. Бұл қандай да бір қолданушылар тобының нақты кестенің
бағандары мен жолдарына жалпы қабылданған әдіс. Осындай көріністерді
кіріктірілген мәтіндік көріністер деп қарастырсақ болады: оптимизатор
олардың кодын оңай түрлендіру және қорытынды сұрауы.