SQL негіздері

Кіріспе 4
1. Мәліметтерді басқару және алмастыру стандарттауы 7
2. SQL тілінің формалары 10
3. SQL тілінің құралдары срқылы сұратулар құру 16
4. Сұратуларды біріктіру 25
5. Ішкі сұратулар 30
6. Ұсыныстарды құру 37
7. Транзакциялар 42
8. Артықшылықтар 46
9. Статистикалық SQL 57
10. Динамикалық SQL операторларын құру 65
11. PL/SQL программасына сипаттама 73
12. Коллекциялар 82
13. Объектілік типтер 88
14. Курсорды басқару 97
Қолданылған әдебиеттер 103
Кіріспе
SQL тілі мәліметтерге қолжетім үшін және реляциялық деректер қорын басқаруға арналған. Әртүрлі реляциялық деректер қорын басқаруды ДҚБЖ - деректер қорын басқару жүйесі (DBMS - DataBase Management System) деп аталатын программалар жүзеге асырады. Реляциялық деректер қоры дегеніміз белгілі бір түрде ұйымдасқан ақпарат пен ДҚБЖ сақтау. Бірақ іс жүзінде ДҚБЖ теминін Деректер Қоры ДҚ терминімен жиі алмастырады. Oracle, Microsoft SQL Server, Informix, DB2, Access, MySQL сияқты әртүрлі деректер қорын бір тілде басқару үшін SQL тілі өңделді..
1986 жылдан бастап ISO (International Organization for Standardization) және ANSI (American National Standards Institute) комитеттері ISO (International Organization for Standardization) и ANSI (American National Standards Institute) тілінің бірнеше стандарттарын жасауға кірісті, нәтижесінде олар қабылданып келесі атауларға ие болды: SQL86, SQL89, SQL92 и SQL99.
SQL86 стандарты SQL тілінің минималды синтаксисін бекітті.
SQL89 стандарты 1989 жылы қабылданды. Ол барлық ДҚБЖ жүзеге асыра алатын SQL тілінің операторлар жиынын енгізді. Іс жүзінде кез келген коммерциялық ДҚБЖ стандарттқа қарағанда бірсыпыра көп мүмкіндіктер ұсынады. Стандартты қабылдаған кезде ДҚБЖ көбінде ішкі және динамикалық SQL бар бюолғанына қарамастан, SQL89 стандартында SQL тілін процедуралық программалау тіліне енгізу және динамикалық SQL тілін пайдалану ережесі жазылмаған.
Қазіргі таңға дейін ДҚБЖ көбі SQL 92 стандартын пайдалануда.
SQL92 стандартында үш сәйкестік деңгейі анықталған:
• негізгі (Entry);
• орта (Intermediate);
• толық (Full).
Сонымен қатар SQL92 стандартын пайдаланатын ДҚБЖ жасау үшін өндірушілердің көбі тек қана негізгі деңгейді жасап шығарды.
Жаңа SQL99 стандарты, жасау барысында SQL3 аталған, SQL тілінің объектілі және кейбір процедуралық кеңейюлерін стандарттады. Осы стандартты қабылданған уақытында көптеген коммерциялық ДҚБЖ, Oracle сиқты, аталған өзгерістерді пайдаланып жүрген еді.
SQL99 стандартында міндетті түрдегі функциональды ядро (Core) анықталған және кеңейтілген сәйкестік деңгейлер жиыны анықталған. SQL99 функционалды ядросы SQL92 негізгі сәйкесті деңгейіне ие. Кеңейтілген сәйкестік деңгейлері ДҚБЖ жүзеге асыру үшін міндетті емес. ДҚБЖ кеңейтілген сәйкестік деңгейін пайдаланбауы да мүмкін немесе кез келгенін пайлануы мүмкін.
Әр деңгей данных SQL тілінің мүмкіндіктер жиынын сипаттайды, олар аталға ддәрежедегі ДҚБЖ жүзеге алуы қажет.
Осыған қарамастан SQL99 стандарты жарияланған, ол алда пайда болатын барлық деңгейлер үшін ашық.
1. Баженова И. Ю.
Основы проектирования приложений баз данных
Интернет-университет информационных технологий - ИНТУИТ.ru
2. Полякова Л.Н.
Основы SQL
БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ru
3. Кузнецов С.Д.
Основы баз данных
Интернет-университет информационных технологий - ИНТУИТ.ru
        
        Мазмұны
| |Кіріспе |4 |
| ... ... және ... стандарттауы |7 |
| |SQL ... ... |10 |
| |SQL ... құралдары срқылы сұратулар құру |16 |
| ... ... |25 |
| ... ... |30 |
| ... құру |37 |
| ... |42 |
| ... |46 |
| ... SQL |57 |
| ... SQL ... құру |65 |
| |PL/SQL ... сипаттама |73 |
| ... |82 |
| ... ... |88 |
| ... ... |97 |
| ... ... |103 ... тілі ... ... үшін және ... ... қорын
басқаруға арналған. Әртүрлі реляциялық деректер қорын басқаруды ДҚБЖ -
деректер қорын басқару жүйесі (DBMS - DataBase ... System) ... ... ... асырады. Реляциялық деректер қоры дегеніміз
белгілі бір түрде ұйымдасқан ақпарат пен ДҚБЖ сақтау. Бірақ іс ... ... ... Қоры ДҚ ... жиі алмастырады. Oracle, Microsoft
SQL Server, Informix, DB2, Access, MySQL ... ... ... ... ... ... үшін SQL тілі ... жылдан бастап ISO (International Organization for Standardization)
және ANSI (American National ... ... ... ... ... for ... и ANSI ... National
Standards Institute) тілінің бірнеше стандарттарын ... ... олар ... ... атауларға ие болды: SQL86, SQL89, SQL92
и SQL99.
SQL86 стандарты SQL ... ... ... ... ... 1989 жылы ... Ол барлық ДҚБЖ жүзеге асыра алатын
SQL ... ... ... ... Іс ... кез келген коммерциялық
ДҚБЖ стандарттқа қарағанда бірсыпыра көп мүмкіндіктер ... ... ... ДҚБЖ ... ішкі және ... SQL бар бюолғанына
қарамастан, SQL89 стандартында SQL тілін процедуралық ... ... және ... SQL ... ... ... жазылмаған.
Қазіргі таңға дейін ДҚБЖ көбі SQL 92 стандартын пайдалануда.
SQL92 стандартында үш сәйкестік деңгейі анықталған:
• негізгі ... орта ... ... ... ... SQL92 ... пайдаланатын ДҚБЖ жасау үшін өндірушілердің
көбі тек қана негізгі деңгейді жасап шығарды.
Жаңа SQL99 ... ... ... SQL3 ... SQL ... ... ... процедуралық кеңейюлерін стандарттады. Осы ... ... ... ... ДҚБЖ, Oracle сиқты, ... ... ... ... ... ... түрдегі функциональды ядро (Core) анықталған
және кеңейтілген сәйкестік деңгейлер жиыны анықталған. SQL99 ... SQL92 ... ... ... ие. ... ... ДҚБЖ ... асыру үшін міндетті емес. ДҚБЖ ... ... ... да мүмкін немесе кез келгенін пайлануы
мүмкін.
Әр деңгей данных SQL ... ... ... сипаттайды, олар аталға
ддәрежедегі ДҚБЖ ... алуы ... ... SQL99 ... ... ол алда ... ... барлық
деңгейлер үшін ашық.
Қазіргі таңда SQL99 стандарты келесі сәйкестік деңгейлеріне ие:
• Функциональды ядро.
Аталған деңгей кез келген ДҚБЖ ... ... үшін ... ... ... құрамында SQL92 сәйкестіктің негізгі деңгейі бар, сонымен қатар LOB
объектілерімен (Large Object) ... ... ... ... ... SQL ... ... шақыру, сонымен қатар қолданушы
анықтайтын қарапйым мәлімет түрін ... ... ... LOB-объектілерді қолдаудың екі түрі бар: ... ... (Binary Large Object) және ... CLOB-объектілер (Character
Large Object). ... ... үшін ... деп ... ... Локаторлар сілтеме бойынша LOB-объектілерге
мүмкіндік ... ... ... ... ... ... ... сонымен қатар кесте объектілері ретінде де
анықталады. Жүзеге асыру түріне ... ... коды ... ... ... ... мүмкін, ал ішкі программалар CREATE
PROCEDURE немесе CREATE FUNCTION операторларымен LANGUAGE және ... ... ... ... жасалады. Сыртқы программаларды
пайдалану функционалды ядроға енсе де, процедуралар мен SQL функцияларын
шақыру ... ... Stored Module) ... ... ... ... анықтайтын түр қарапайым және ... ... ... ... ... базалық басқару» сәйкестік деңгейіне
жатады.
Қолданушы анықтайтын мәліметтер қарапайым түрі – ол жаңа ат ... ... мен ... қатысты кейбір шектеулер көрсетілген негізгі түр.
Қолданушы анықтайтын ... ... түрі CREATE TYPE ... ... CREATE TYPE name_of_new_type AS INTEGER (5) FINAL;).
• Мерзім/уақыт жұмысын қолдау.
Бұл сәйкестік деңгейі DATETIME және INTERVAL ... ... ... үшін ... және ... өрістерін енгізеді,
универсалды уақыттың аудандық уақыттан ... ... ... DATETIME және INTERVAL ... ... ... деңгейі
алдын ала дағдыланған.
• Бүтіндікті басқару.
Бұл сәйкестік деңгейі сілтемелік бүтіндіктің ... ... ... CREATE TABLE операторының CHECK шектеулеріндегі ішкі
сұратулар , триггерлер, CREATE ... ... ... ... ... көбі SQL92 ... ... Белсенді деректер қоры.
Бұл сәйкестік деңгейінде деректер қорының триггерлерін қолдау ... ... ... ... ... немесе жасағаннан кейін
код фрагменттері триггерлерді ұсынады (жол ... ... ... өшіру).
• OLAP.
Бұл сәйкестік деңгейі неғұрлым күрделі сұратуларды сипаттау құралдарын
анықтайды. SELECT операторында ... ... ... ... ... INTERSECT фразасы қосылған. SQL92 стандартында бұл мүмкіндік тек
қана ... ... ... ... SELECT ... ... ... бірігуін қамтамасыз ететін FULL OUTER JOIN жазбасы
берілген. Мұндай бірігу барлық біріккен ... ... ... ... жағдайда NULL мәні беріледі. ... ... ... ... ... ... де ... SQL тілінің
мәліметтері басқаруда қолданатын операторларында кесте мен ... ... ... Жол конструкторлары бір ... ... ... ( ... (NULL,1,'Field1')). Кесте мәндерінің
конструкорлары жол конструкторлары жиынын береді, жолдар тобын сипаттайды.
(мысалы , VALUES (1,'A'), (2,'B')).
... ... ... SQL99 ... құжаттарында толығымен SQL/PSM
сипаталған. SQL тілі SQL CASE, IF, WHILE, REPEAT, LOOP және ... ... CREATE ... және CREATE ... құрлатын функциялар мен процедуралар пайдалану енгізілуде
SQL тілінде айналымдарды ... және ... ... қолдану
енгізілген.
• CLI-интерфейсі.
Бұл сәйкестік деңгейі SQL операторларының шақырылу деңгейін анықтайтын
интерфейс енгізеді. Өз ... ... ... ODBC ... ... ... тереңінек қарастырылады.
• Объектілерді базалық қолдау (Basic Object Support).
Бұл сәйкестік деңгейі қолданушы ... ... ... түрлерін
енгізе отырып объектілерді пайдалануды стандарттайды, типтелген кестелерді
пайдаланады, ... емн ... ... ... ... ... сыртқы процедураларды алдына ала анықтау..
• Объектілерді кең пайдалану (Enhanced Object ... ... ... ... ... ... ... ұсынатын
барлық мүмкіндіктерді қамтиды, қолданушы анықтайтын мәліметтер түрінің
жиынын қолдаумен толықтырады.
Жоғарыда ... ... ... ... ... ... келетін құжаттарға тура байланысты емес. Қазіргі ... ... ... негізгі бөлімдерден тұрады.:
• SQLFramework – стандарттың логикалық негіздерін сипаттайды..
• SQLFoundation – стандарттың әр тарауының ... ... ... функционалдық ядросын сипаттайды (Core SQL99).
• SQL/CLI – шақыру деңгейі интерфейсін сипаттайды.
• SQL/PSM – SQL ... ... ... ... ... - SQL тілінің басқа программалау тілдерімен арақатынас
мехнизмін анықтайды.
• SQL/MM – мультимедиялық ... ... ... ... SQL
тілінің құралдарын анықтайды.
• SQL/OLB - SQL тілінің басқа объектілі тілдермен ... ... ... басқару және алмастыру стандарттауы
ISO халықаралық стандарттау ... 32 JTC1 ("Data ... ... ішкі ... ... локальды жэәне тараған ақпараттық
жүйелер үшін мәліметтерді басқару мен алмастыру аумағында стандарт жасауда.
SC32 қарастыратын мәселелер ... ... ... және жаңа ... ... ... ... де қарастырылады; мәліметтер құрамымен
түрін анықтау, бұл ... ... ... ... мәліметтерді өзгертуге, мәліметтерді алмастыруға, мәліметтерді
сақтауды жүзеге асыруға арналған хаттамалар, сервистер және ... ... мета ... ... ... ... және басқа да ақпараттық ресурстарда пайдаланатын хаттамалар,
сервистер, тілдер.
SC32 ұйымының қарсаңында келесі жұмыс топтары қызмет атқаруда:
WG01 – ... ... ... мен олардың компоненттерін формальды
сипаттау спцификациясы мен идентификациясы үшін ... ... ... топ, ... ... ... аумағындағы басқа да
стандарттар.
WG02 – метамәліметтерді басқару, түрлі орталарды( Internet, Intranet ... ... ... ... мен ... бойынша
стандарттарды жасау және дамытумен айналысатын топ. Аталған топтың ... ... ... ... ISO/IEC AWI 20943-2 ... ... ... құрылымданған мәліметтерді деректерді тіркеу процедурасына
қолдану" (Information technology - Procedure for Achieving Data
Registry Content Consistency - XML ... Data). XML ... ... ... жіне ... ... тілі ретінде пайдаланылып жүргені белгілі;
o 1.32.17.01.00.00 ISO/IEC AWI 20944 "Ақпараттық технологиялар -
метамәліметтерді пайдалану сервистері (Information technology -
Metadata Access ... WG03 – ... ... ... ... ... ... топ.
WG03 қарастыратын мәселелердің біріне көпқолданушы және көпсервисті
орталарда деректер қорының ... мен ... ... үшін ... ... ... ... стандартты деректер қорын
анықтайды, жаңа деректер қорын құру мехнизмін қарастырады. ... ... топ ... ... басқа программалау тілдерімен
интерфейсін стандарттау ... ... ... ... ... ... өңдеу мен ұсынуды стандарттаумен
айналысады. Аталған ... ... ... ретінде келесілерді атауға
болады:
o 1.32.03.05.09.00 ISO/IEC CD 9075-9 "АТ- SQL тілі: Сыртықы
мәліметтерді ... ... ... - Database
Languages - SQL - Part 9: ... of External ... ... ISO/IEC WD 9075-14 " АТ- SQL ... SQL мен ХМL
арақатынасы" (Information technology - Database Language SQL -
Part 14: SQL/XML (for SQL:200n)).
• WG04 – түрлі ... ... ... ... мәліметтердің
абстракты түрі паекттерін стандарттайтын топ.
• WG05 – ... мен ... қоры ... ... жасаушы топ, соымен қатар мәліметтерге жеке қолжетім мен
мәліметтерді жіберу хаттамаларын ... ... ... ... ... келесілерді атауға болады:
o 1.32.05.04.00.00 ISO/IEC CD 9579 ed 4 "АТ – SQL мәліметтерге
меншіктік қолжетім" ... ... - Remote ... for SQL: ... Edition ... ... ... алмастыру жіне ақпарат ұсыну үшін көбінесе XML
(eXtensible Markup Language) тілін ... Бұл тіл ... бір ... ... ... бекітілмеген. XML 1.0 ... ... 1998 жылы W3C ... ... ... ... Ары ... консорциумы XML (Extensible Markup Language (XML) Version 1.0 (Edition
2): ... ... ... ... тобын
жасап және жариялады, XLink мен Xpointer байланыс мехнаизміне ... ... ... XML Schema Part 1: Structures, 2 May, ... XML Schema Part 2: ... 2 May, ... мәліметтер сызбасы
синтаксисін ... ... in XML, 14 January, ... ... кеңістігін қолдану мен анықтау
бойынша спецификациясы.
W3C ... XML ... ... ... DOM XML – ... ... ... ұсынатын құжаттың объектілі моделі бойынша ұсынымдарды
баспаға шағарды.
XML стандарттау мәселесімен OASIS - Organization for the ... ... ... ... ... та айналысады.
IETF инженерлі тобы мәліметтердә алмасу тілі сияқты XML тілі пайдаланатын
SOAP (Simple Object Access Protocol) стандарты ... Іс ... ... ... арқылы CORBA, EJB мен COM технологияларын біріктіру арқылы
мәліметтерге ... ... ... ... ... W3C консорциумы жасап жатқан XQL (XML Query Language:
http://www.w3.org/TR/2001/WD-xquery-20011220/) ... XML ... ... ... ... байланысты мәселелерді қарастырады.
WG3 32 қарсаңында JTC1 ішкі комитетінде XML ... ... ... жасалуда: "АТ - SQL тілі – 14 бөлім: SQL/XML спецификациясы " ... ... - Database ... - SQL - Part 14: XML-Related
Specifications (SQL/XML)). Жазылып ... ... SQL ... ... ... XML тілі ұсынатын мәліметтерге түрлендіру, және
керісінше SQL кестелерінің сәйксті алгоритмін қоса отырып, SQL ... ... ... ... ... сонымен қатар SQL/XML үшін
XML-сызба сипатын көрсетеді. Бұл стандарт бойынша Final ... ... FCD 9075-14 ... ... таңда жасалып жатқан, мәліметтерді алмастыруға арналған белгілі
стандарттардың бірі ISO/IEC WD 9579, Fourth Edition "АТ - SQL ... ... ... ... (Information Technology - Remote
Database Access for SQL with Extended ... ... ... ... келесі белгілі стандарттар IETF ... ... ... RFC 791 Internet ... RFC 793 Transmission Control Protocol.
• RFC 819 The Domain Naming ... for Internet User ... RFC 1122 ... for Internet Hosts - Communication Layers.
• RFC 1123 Requirements for Internet Hosts - ... and ... RFC 2246 The TLS ... ISO/IEC 9075 (Database Language SQL) стандартына ... ... ... ... жүзеге асыру үшін қажет.
RDA/SQL стандарты коммуникациялық хаттамалар арқылы бір немесе бірнеше SQL-
клиенттермен ... ... ... ... ... TCP/IP және TLS ... Layer Security)
стандартты хаттамасымен арақатынас моделін ... ... ... ... және ... ... ... SQL ортасының RDA-моделін анықтайды, RDA-клиент пен ... ... ... ... ... (11. ... 1.1. SQL ортасының RDA-моделі
RDA-моделі RDA-клиент пен RDA-сервер қатынасын жүзеге ... ... ... ... 9075-3 ... ... серверде анықталатын нәтижелік жиынды
спаттайды, RDA/SQL стандарты нәтижелі жиын мен SQL/CLI ... ... ... RDA-операторын сипаттайды. ... ... ... стандарт атрибут кодтарын енгізеді. Қазіргі
күнге дейін WR5 жұмыс тобы RDA/SQL ... 4-ші ... ... ... SQL ... ... ... сұратулар тілі келесі формаларда жүзеге асады:
• Интерактивті SQL.
• Статистикалық SQL.
• Динамикалық SQL.
• Ішкі SQL.
Интерактивті SQL ... ... ... ... ... ... береді. Барлық ДҚБЖ интерактивті режимде деректер
қорымен жұмыс инструментальды құралдарын ұсынады. ... Oracle ... ... ... SQL*Plus утилитасын қосады, соңғысы жолдық режимде
SQL операторларының көбін орындауға мүмкіндік береді.
Статистикалық SQL ішкі SQL ... ... SQL ... жүзеге асады.
Статистикалық SQL операторлары программаны компиляциялау уақытында алдын
ала анықталып қояды. SQL.
Динамикалық SQL программаны орындау уақытында SQL операторларын ... ... SQL ... ... ... ... ... SQL операторларын
қосуға мүмкіндік береді.
SQL операторлар тобы
SQL тілі:
• Кейде SQL тілі ... деп ... тіл ... ... типі;
• Ішкі функциялар жиыны.
Өздерінің логикалық мәндері бойынша SQL тілі операторлары келесі топтарға
бөлінеді:
• DDL мәліметтерді анықтау тілі (Data Definition Language);
... ... тілі DML (Data ... ... ... тілі деректер қорының обьектілерін басқаратын
операторлардан тұрады. Соңғыларға индекстер, кестелер және ... Әр ... бір ... қоры үшін стандартта қарастырылған обектілер
жиынын кеңейтетін өз обьектілер жиыны бар. Кейбір ДҚБЖ, мысалы Oracle
сияқты, бір қолданушының меншігіндегі ... ... ... қоры
схемасын құрады. Сонымен қатар, SQL92 стандартында схема терминімен
байланысқан кестелер тобын атай бастады.
Мәліметтерді басқару тілі деректер қоры ... ... ... осы ... ... алып шығу ... тұрады.
DML тілі келесі операторларды анықтайды:
• SELECT – бір ... ... ... ... ... INSERT – кестелерге жолды қосу;
• DELETE – кестелерден ... алып ... UPDATE – ... ... ... ... орындалу фазалары
|SELECT A,B,C, FROM X,Y WHERE A ANY (12, 2 0, NULL 5, 20),
Ішкі сұратудың бірінші жолы шартты ... ... NULL) = ANY (12, 2 NULL, NULL 5, ... UNKNOWN ... ... ... NULLді ... салыстыру
UNKNOWN ибереді.
(10, 1)> ALL (12, 0 0, NULL 5, 20)
Предикаты FALSE мәнін қайтарады, себебі (10,1) жолын ішкі ... ... ... кезде FALSE мәнін қайтарады.
Агрегациялау функциясы
SELECT операторының GROUP BY жазбасы агрегациялау функциясы орындалатын
жолдар ... ... ... Егер SELECT операторында GROUP BY
жазбасы көрсетілген болса онда нәтижелік жиынды анықтау ... аты ... ... ... көрсетілуі қажет, себебі
нәтижелік жиынға әр топ үшін берілген жолдар тобын агрегациялау
нәтижесінде алынған мәнге ие тек қана бір жол ... ... SQL ... ... ... ... COUNT - ALL немесе DISTINCT жазбасын ескере отырып және NULL
көрсеткішін ... ... ... ... ... COUNT (*) – ... барлық бағандар санан есептеу.
• AVG – орта мәнін анықтау.
• SUM – топтың барлық міндерінің ... ... Егер ... мән
қосылатын мәліметтер типі шектеуінен асып кеткен болса, онда SQL-
операторының орындалу ... ... MAX – ... ең үлкен мәнді анықтау.
• MIN – топтағы ең кіші мәнді ... ... HAVING ... WHERE ... ... ... ... нәтижесінде алынған жолдарға қолданылады.
Топтарды пайдалану арқылы таңдау мысалын көрсетейік. dno бағаны тек қана
үш мәнге ие 11, 22 және 33. Әр үш топ үшін f2 ... ... ... мәні бар:
SELECT dno, MIN(f2), MAX(f2)
FROM tbl1
GROUP BY dno;
Бұл SQL-операторының орындалу нәтижесі келесі жолдардың ... ... MIN(f2) ... 125 ... 200 ... 100 ... ... және ... ... ... ... ... мәндері:
SELECT dno, MIN(f2), MAX(f2)
FROM tbl1
GROUP BY dno
HAVING MAX(f2) < ... ... ... ... екі ... ғана қайтарылады -
бірінші және соңғы:
DNO MIN(f2) ... 125 ... 100 ... ... ... BY ... ORDER BY жазбасынан кейінгі тізімді көрсетілген бағандар
мәніне сәйкес орындалатын нәтижелік жиынды ретке келтіруге арналған.
Бастапқыда бірінші көрсетілге баған, кейңн ... ... ... келтіріледі.
Ретке келтіруде ASC (өсу ретімен) немесе DESC (кему ретімен) ... ... f1,f2 FROM tbl1 ORDER BY ... ... ... ... ... үлгі бойынша кесте құруға мүмкіндік береді, кесте құрамын
көшіруп жаңа кесте құру, бағандар саны мен тимптері бастапқы кестеге
толығымен сәйкес келеді. Үлгі ... ... ... LIKE ... TABLE tbl2 LIKE tbl1;.
Кестелерді қосу
Бірдей кестелерді қосу
Аттары бірдей бағандары бар ... ... ... өз ... үшін ... ... FROM жазбасында кесте атынан кейін
пробелден кейін көрсетіледі.
Мысалы:
select t1.f1, t1.f2, t2.f1, t2.f2
from tbl1 t1, tbl1 ... t1.f1= ... ... (CROSS ... FROM ... бірден көп кесте немесе ішкі сұрату анықтайтын болса
ондар олар барлығы байланысады. Ғым бойынша ... ... ... ... (CROSS JOIN), сонымен қата декарттық көбейтінді деп
аталады (Cartesian product).
Келесі екі оператор эквивалентті:
SELECT tbl1.f1, tbl2.f1 FROM tbl1, tbl2;
SELECT tbl1.f1, tbl2.f1
FROM tbl1 CROSS JOIN ... және tbl2 ... SELECT ... ... ... ие
болсын 3.2 суретіндегі:
Сурет. 3.2.  tbl1 және tbl2 кестелер жолдары
tbl1 және tbl2 ... SELECT ... ... ... ... ... ... жиын ұсынады.
Сурет 3.3. қиылысып байланысу (cross JOIN)
Осылай қиылысып байланысу барлық жолдар мүмкін комбинацияларымен нәтижелік
жиын ... ... ... мәліметтерді уақытша біріктеруге мүмкіндік
береді (атан аналық және сыртқы кілттермен).
SELECT операторының FROM жазбасында ... ... үтір ... ... ... біріктіру операторларын пайдалануға болады:
• CROSS JOIN – қиылыстырып біріктіру.
• NATURAL JOIN- шынайы біріктіру. SQL стандарты бұл ... ... ... ... бойынша кестелерді байланыстыру нәтидесі ретінде
анықтайды:
o INNER JOIN – ағымда қолданылатын ішкі ... LEFT JOIN [OUTER] – сол ... ... RIGHT JOIN [OUTER] – оң ... ... FULL JOIN [OUTER] – ... сыртқы бірігу.
• UNION JOIN – бірігуді байланысьыру.
Ішкі бірігу (INNER JOIN)
Ішкі табиғи ... ... ... мәні ... ... ... топтастырылады. Екі кестенің ішкі бірігу нәтижесі 3.4 суретте
көрсетілген
Сурет 3.4. ішкі біріктірілу (INNER JOIN)
Сыртқы сол ... LEFT JOIN ... сол ... ... ... сол кестенің барлық жолдары
таңдалады (бірінші көрсетілетін). Біріктірулер кезінде бағандар мәндер
сәйкескен жағдайда екінші кестенің мәндері сәйкес жолдағы нәтижелік
жиынға ... ... ... ... ... кетенің мәні ретінде
NULL көрсетіледі.
Сурет 3.5. Сыртқы сол бірігу LEFT JOIN [OUTER]
Сыртқы оң бірігу RIGHT JOIN ... сол ... ... ... оң ... ... ... (екінші көрсетілетін). Біріктірулер кезінде бағандар мәндер
сәйкескен жағдайда бірінші кестенің мәндері ... ... ... ... ... ... ... бірінші кетенің мәні
ретінде NULL көрсетіледі.
Сурет. 3.6.  сыртқы оң бірігу RIGHT JOIN [OUTER]
Толық сыртқы бірігу FULL JOIN ... ... ... нәтижелік жиынға оң және сол кестенің барлық
жолдары ... ... ... Біріктіруші мәндер сәйкескен
жағдайда жол оң жақтағы және сол жақтағы кестелердің мәніне ие болады. Кері
жағдайда кестелер ... жоқ ... ... NULL ... ... ысртқы бірігу FULL JOIN [OUTER]
Көрсетілген бағандар бойынша біріктіру
USING жазбасы көрсетілген бағандар бойынша табиғи ... ... бір ... ... бар ... дұрыс түрде қосуға мүмкіндік
береді. Біріктірулер жүретін бағандар тізімі USING. Кейін көрсетіледі.
Мысалы:
select t1.f1, t1.f2, t2.f1
from tbl1 t1 join tbl2 t2 using ... ... ... предикат бойынша табиғи бірігу ON жазбасының көмегімен
орындалады. Нәтижелік жиынға берілген шартты қанағаттандыратын жолдар
жазылады. Бұл ... t1.f1, t1.f2, t2.f1, ... tbl1 t1 join tbl2 ... t1.f1= t2.f2;
4. Сұратуларды біріктіру
SQL тілі кестелерді біріктірудің екі әдісін ұсынады:
• Байланыстырылушы кестелерді SELECT ... FROM ... ... кестелерді біріктіру жүреді, содан кейін WHERE
жазбасында көрсетілген GROUP BY жазбасымен ... ... ... ... шарттар алынған жиынға қолданылады.
• SELECT операторын ... ... ... ... бірігуін
анықтай отырып. Бұ жағдайда екі SELECT операторлары UNION ,
INTERSECT , EXCEPT ... ... ... ... ... екі ... нәтижесін біріктіреді:
• Біроіктірілетін сұратулардың әрқайсысы бірдей бағандар санына ие болу
керек;
• Жұптасып біріктірілетін бағандар ... ... ... бір ... болу ... integer ... типті баған мен varchar
типті баған мәндерін біріктіруге болмайды;
• Нәтижелік жиыннан автоматты түрде сәйкес жолдар ... ... ... ... ... ... ... арқылы UNION-бірігуінің
орындалуы.
• Егер жолға сұратуда қосатын қандай да бір тұрақты қосылатын болса,
онда оның мәні жол идентивтілігіне әсер етеді ( ... ... ... ... UNION- ... ... ... жиында жолдарды реттеуге ешқандай шектеу қоймайды.
Кейбір ДҚБЖ бастапқыда бірінші сұрату нәтижесін шығарады да, содан ... ... ... шығарады. Oracle ДҚБЖ бірінші көрсетілген бағанның
мәндерін оған индекс құрылмаған жағдайда да автоматты түрде реттейді.
Қажетті реттеу ... ... үшін ORDER BY ... ... ... ... атын да, ... де қолдануға болады ( сурет. 4.3).
Сурет 4.3. Нәтижелік жиынды реттеумен UNION- бірігуінің орындалуы.
UNION ALL ... UNION ... екі ішкі ... ... ... жайттар ескерілмейді:
• Құрылатын нәтижелік жиыннан сәйкес жолдар жойылмайды;
• біріктірілуші сұратулар нәтижелік жиынға реттелместен тізбектеліп
ұсынылады.
Екі сұратудан көп біріктірген жағдайда операцияның орындалу ... ... ... ... ... ( ... 4.4).
Сурет 4.4. Үш сұрату үшін UNION- бірігуінің орындалуы
INTERSECT-бірігуі
INTERSECT жазбасы әр біріктірілуші нәтижелік жиында бар жолдарды ғана
таңдауға мүмкіндік береді. 4.5 ... ... ... ... ... ... көрсетілген.
Сурет 4.5.  INTERSECT-бірігуінің орындалуы
EXCEPT-бірігу
EXCEPT жазбасы бірінші біріктіруші нәтижелік жиында бар, екіншісінде жоқ
жолдарды ғана ... ... ... және EXCEPT ... SQL-92 ... ... ... орындалады. Кейбір ДҚБЖ EXCEPT жазбасының орнына MINUS опциясын
алады ( сурет. 4.6).
Сурет 4.6.  ... ... ... ... ... сұратуларды біріктірудің басқа
түрлері үшін де сәйкес жолдар нәтижелік жиынға қосылмайды, көрсетілген
суретте жақсы байқалады.
Егер ... ALL ... EXCEPT ALL ... ... онда ... ... ... азайтуда қайталанушы жол нәтижелік жиыннан,
біріктірілуші нәтижелік жиындарда неше рет қайталанса, сонша рет аллынып
тасталады. то при ... ... или ... множеств повторяемая
строка удаляется
CORRESPONDING BY жазбасы біріктірілуші жиындарда ьүрлі бағандар санын
қолдануға мүмкіндік береді: нәтижелік жиынға тізімді ... ... ... Бұл ... ... бірге нәтижелік жиынға бағандардың қосылу
ретін анықтайды.
5. Ішкі сұратулар
SQL тілі DML ... ... ... ішкі сұратуларды пайдалануға
мүмкіндік береді, SELECT операторымен анықталатын ішкі сұратулар болып
табылады.
Ішкісұрату- SQL тілінің өте қуатты ... Ол ... ... ... ... ... ... (DELETE , INSERT , UPDATE )
операторларының бірін орындайтын сұратулардың күрделі иерархиясын құруға
мүмкіндік береді.
Шартты ... ішкі ... үшке ... ... ... алдынғысының
салдары болып табылады:
• кестелік ішкі сұрату, бағанадар немес жолдар жиынын қайтарады;
• жол ішкі ... тек бір ғана жол ... ... ... ... да
қайтаруы мүмкін (мұндай ішкі сұратулар ішкі SQL да кездеседі);
... ішкі ... бір ... бір ... ... ... ... сұрату келесі мәселерді шешуге мүмкіндік береді:
• INSERT операторының бір ... ... ... ... жиынын
көрсеиеді ;
• CREATE VIEW операторымен құрылатын ұсынымдарға қосылатын мәліметтерді
анықтайды;
• UPDATE операторымен модификацияланатын мәнді анықтау ;
• SELECT ... WHERE және HAVING ... бір ... мән ... FROM жазбасында кестелерді ішкі сұрату орындалу нәтижесі ретінде
анықтайды;
• Корреляцияланған ішкі сұратуларды ... Егер ... ... ... ... ... кесте мәніне сілтемеге ие
болса (берілген сұратуға сыртқы) ішкі ... ... ... ДҚБЖ ... Oracle ... ішкі ... ... CREATE TABLE
операторының көмегімен жаңа кестелер құруға мүмкіндік береді.
Ішкі сұратуы қолданудың қарапайым мысалы ретінде келесі операторды
қарастыруға ... * from ... ... f2 FROM ... ... операторда ішкі сұрату предикатта қайталанатын жалғаз мәнді қайтару
керек. Егер ішкі сұрату бір мәннен көп қайтарса, онда ДҚБЖ SQL-оператордың
қатесі туралы ... ... ішкі ... ... бір ... ... онда ... UNKNOWN тең
болады, ДҚБЖ көбінде FALSE деп көрсетіледі.
Стандарт предикаттың жазылуын «ішкі ... ... ... ... ... анықтайды.
Мысалы:
SELECT * from tbl1 WHERE
(SELECT f2 FROM tbl2 WHERE f1=1) = ... ішкі ... ... ... ... қолданылады,
олар шартты «топ бойынша ортадан жоғары» типінде анықтауға мүмкіндік
береді.
Мысалы:
SELECT f1,f2,f3 FROM tbl1
WHERE f2> (SELECT AVG(f2) FROM ... ішкі ... ... ... тобы ... ... ішкі сұратудың
мәнін жалғыздығына шарт кепілдік бермеген жағдайда) ... ... ... бір ... ... ... ... IN операторын
қолданған дұрыс.
Мысалы:
SELECT * from tbl1 WHERE
f2 IN (SELECT f2 FROM tbl2 WHERE ... ... ... TRUE ... ие болады, егер ішкі сұрату қайтаратын
мәндердің біреуін қабылдайтын болса, онда шарт орындалады.
Бірақ IN операторының қолдануының кейбір ... ... ... ... қанша жол болу керектігі нақты анықталмаған. Шынайы
мәліметтер моделін құру кезде бұл қандайда бір бірмәнсәздікке немесе
мәліметтердің өзіне тәуелділікке әкелуі ... Кері ... ... ... сқраудысқраудың нәтижесі ретінде бір ғана жолды болжайтын
болса, сәйкесәнше слыстыру = операторы қолданылатын болса, сұрату нәтижесі
бірнеше жол болғанда мәліметтер құрылымы ... ... ... ... онда ... ... ... кезде қате көрсетуі мүмкін.
Егер сұратуда екі кестеден көп кезіксе, өрістердің аттары көрнектірек болу
үшін нүктеден кейін кестенің аты ... ... өріс атын ... ... ... етпейді, егер бірмәнділік тумаса (өріс бірінші
ағымдағы сұратудың FROM жазбасы бар кестеден ... де, ... ... ... ... ... ... SELECT операторының жазбасының орнына
біріктіруді қолданады. Бірақ тәжірибеде ДҚБЖ көбі сұратуды тиімді
пайдаланады. Жылдам әрекет бойынша критикалық ... бар ... ... ... ... бір ДҚБЖ үшін ... ... сұрыптау қажет.
Неғұрлым алдыңғы қатардағы ДҚБЖ Oracle сияқты, SQL тілінің нақты
операторларын орындалу ... ... ... ... ... ... ... сұрату WHERE жазбасымен анықталатын предикатта көрсетілгендей, HAVING
жазбасымен анықталатын топтар бойынша предикатта да көрсетіледі.
Мысалы:
SELECT avg_f1, COUNT (f2) from ... BY ... avg_f1 >(SELECT f1 FROM ... ... ішкі сұратулар
SELECT операторында ішкі сұратудан онда көрсетілген сыртқы бағандарға
сілтеме жасауға болады. Мұндай ішкі сұрату кестенің әр жолы үшін құрылатын
нәтижелік жиынға оның кіру ... ... ... ... * from tbl1 ... f2 IN (SELECT f2 FROM tbl2 ... ... жағдайда tbl1 кестесінің әр жолы үшін келесі шарт тексеріледі:
f2 өрісінің мәні tbl2 кестесінің жолының мәнімен сәйкес ... ... f3 ... мәні (tbl1) ... кестесінің f3 өрісінің мәніне тең
болу қажет. Бұл коррелирленген ішкіссұратудың қарапайым мысалы.
Көбінесе ішкі ... ... ... ... ... талап етіледі. Бұл
жаідайда алиастарды мүндетті түрде қолдану керек.
Мысалы:
SELECT * from tbl1 t_out
WHERE f2< (SELECT AVG(f2) FROM tbl1 ... ... ... ішкі ... ... HAVING ... тек қана
агрегацияланатын кестелерді ғана пайдалану қажет. Себебі әр ішкі ... ... ... жол ... оның ... ішкі сұрату
қолжетімге ие, негізгі сұратудың агрегацияланатын функциясы негізіндегі
жолдарды топтастыру нәтижесі алынады.
Мысалы:
SELECT f1, COUNT(*), SUM(f2) from tbl1 ... BY ... SUM(f2)> (SELECT ... tbl1 ... ... жол ... ішкі сұрату үшін предикатты құру.
Егер преликатта мәнді қандайда бір жиынмен салыстыру үшін жоғарыда
көрсетілгендей IN операторын қолдануға ... ... ... бір ... ... жол ... ... EXISTS операторы қолданылады.
Мысалы:
SELECT f1,f2,f3 from tbl1
WHERE EXISTS (SELECT * FROM ... ... ... бос емес ... жиын тек қана ... f4 ... ... мәніне мерзім енгізілген жағдайда ғана құрады, мысалы: '10/11/2003'.
Ішкі сұрату нәтижелерімен EXISTS операторын қолданудың ... ... ... жиыны сияқты, бағандар жиынында қайтара алады.
Коррелирленген ішкі сұратуда EXISTS операторы сыртқы сұратудың әр жолы үшін
әр кез ... ... ... EXISTS ... ... ішкі сұратуларда
агрегациялық функцияларды қолдану қарастырылмаған. Бірақ кейбір ДҚБЖ ішкі
сұратулардың мынандай түрлері кездеседі.
Ішкі сұрату нәтижесін предикатт қолдану үшін сонымен ... ... ... қарастырылған ANY және ALL операторлары қолданылады.
ANY операторын қолдану мысалын көрсетейік:
SELECT f1,f2,f3 from tbl1
WHERE f3 = ANY (SELECT f3 FROM ... ... ... ... f3 ... мәндері tbl2
кестесінде кездесетін барлық жолдар қосылады.
Мәліметтерді өзгерту операторларында ішкі сұратуларды қолдану
DML тілінің операторларына, SELECT операторынан басқа, кестелерді
деректерді өзгертуге ... ... ... ... Бұл ... ... бір ... бірнеше жол қосады, DELETE операторы,
кестеден бір немес бірнеше жолды алып ... UPDATE ... ... ... өзгертеді.
INSERT операторы
INSERT операторы SQL-92 стандартында келесі формальды жазбаға ие:
INSERT INTO table_name
[ (field .,:) ]
{ VALUES (value .,:) }
| ... {DEFAULT ... ... ... бір немесе бірнеше жол қоса алады. Өрістер тізімі
(field .,:) өрістер атауларын көрсетеді немесе VALUES жазбасымен
анықталатын мәндер тізімі арасынан оларға мән ... ... ... ... орындалу нәтижесін дер көрсетеді.
VALUES жазбасымен анықталатын тізім кесте мәндерінің конструкторы деп
аталады, үтіри арқылы жақшаларға алынады.
Егер (field .,:) ... ... ... ... онда ... ... ... кестені құру кезінде CREATE TABLE операторындат көрсетілген
бағандар ретіне ... ... NOT NULL ... ... бағандар үшін қосылатын деректер
көрсетілмеген болса, онда ДҚБЖ SQL-операторының орындалуындағы қатені
көрсетеді.
Келесі INSERT операторы ішкі сұрату ... ... tbl2 ... ... ... INTO tbl1(f1,f2,f3)
(SELECT f1,f2,f3 FROM tbl2);
Өрістер тізімінде көрсетілген өрістер саны және осы ... ... ... ... ... неиес ішкі сұрату арқылы қолданылатын
нәтижелік жиындағы өрәстер саны мен деректер типіне сәйкес болу қажет.
DELETE операторы
DELETE операторы SQL-92 ... ... ... ... ... FROM ... { WHERE condition }
| { WHERE CURRENT OF cursor_name } ... ... WHERE ... ... ... ... ... (іздеуші жою, searched deletion) немесе WHERE CURRENT ... жою, ... ... CURRENT OF ... ... позициялық жою, курсордағы жолдарды
жоя отырып, қорында осы курсор құрылған деректер қорының кестесінен жояды.
Егер DELETE операторы ... бір ... ... ... ... ... кесте негізінде құрылған деректер қорынан мәліметтер
жойылады.
Егер WHERE жазбасы болмасы, немесе WHERE жазбасындағы предикат ылғи да
TRUE ... ие ... ... онда DELETE операторы кестеден барлық
жолдарды жойп жіберетінін ешқашан ұмытпау қажет.
UPDATE операторы
UPDATE операторы SQL-92 стандартында келесі ... ... ... ... { field =
{ expr | NULL | DEFAULT }} .,
[ { WHERE ... }
| { WHERE CURRENT OF cursor_name } ];
UPDATE операторы кесте деректеріне өзгерістер енгізу үшін ... ... ... ... ... арналған, қарапйым өрнек те және
жалғыз мән қайтаратын ішкі сұратуда бола алады. Өрнекте өзгеретін бағанның
немесе ағымдағы ... ескі ... ... ... ... ... анықтаған кезде CASE шартты өрнегін және типтерді көрсету
үшін CAST өрнектерін пайдалануға болады.
Мысалы:
SELECT f1, CAST (f2 AS ... (f3 AS CHAR) from ... tbl2 SET f2 = (SELECT CAST (f2 AS ... tbl1 WHERE ... tbl2 SET f5 = (SELECT CAST (f5 AS ... tbl1 WHERE ... CAST ... AS ... ... ... шартты өрнегі берілген шартқа негізделіп бірнеше мәндердің біреуін
таңдауға мүмкіндік береді.
CASE шартты өрнегі келесі формальды сипаттауға ие:
{ CASE
{ expr WHEN expr THEN { expr | NULL }}
| { WHEN expr THEN { expr | NULL }}
[ ELSE { expr | NULL } ... { NULLIF ... }
| ... (expr .,:) ... шартты өрнегі төрт нысанда жазылуы мүмкін:
• CASE ... ... SELECT f1, CASE ... WHEN 'abc' THEN '1_abc' END FROM ... CASE предикатты. Мысалы:
• SELECT f1, CASE
• WHEN f3= 'abc' THEN ... ELSE f3 END FROM ... NULLIF – егер ... ... ... ... ... онда бұл
мәндердің біріншісі таңдалады, кері жағдайда NULL мәні
көрсетіледі.Мысалы:
• UPDATE tbl2 SET f3 = (SELECT NULLIF ... FROM tbl1 WHERE ... COALESCE - NULL тең емес ... мән ... ... INSERT INTO ... VALUES (1+ COALESCE(SELECT MAX(f1)
• FROM tbl1, 0 ), ... ... ... ... үшін келесі шарттар тізімі қажет:
• Сәйкес артықшылықтардың болуы;
• Ұсыным үшін оны ... ... ... ... ... Ұсынымды өзгерткен кезде WITH CHECK OPTION немесе WITH CASCADED CHECK
OPTION шектеулері қолданылады, бұл ұысынымды құрастыру кезеінде
орнатылған;
• «тек оқу» ... ... ... ғана үшін ... ... анықтау үшін қолданылатын өрнектер агрегациялайтын функциялары
бар ішк сұратуларға ие бола алмайды;
• FOR UPDATE ... ... ... курсор үшін әр
өзгертілетін баған FOR UPDATE ретінде анықталу қажет
• ORDER BY жазбасы бар курсорда аталған жазбада көрсетілген ... ... ... Ұсыныстарды құру
Бейнелеу, кейде түр деп аталатын, сақталғансұратуды орындау нәтижесі
ретінде алынатын логикалық кестені анықтайды. Бейнелеу – бұл ... ... ... кесте, ол SQL-операторда бір бейнеге сілтеме
көрсетілген ... ... ... ... ... ... анықтайтын
сұратуды орындаудың нәтижесі ретінде нәтижелік жиын деректер қорының ... ... ... ... құру үшін ... ... негізгі кестелер деп аталады.
Ұсыным сызба объектісі болып табылады да, деректер қорының логикалық
кестесі ретінде ... ... үшін CREATE VIEW ... ... VIEW ... VIEW операторы SQL-92 стандартында келесі формальды сипаттауға ие:
CREATE VIEW table_name [(field .,:) ]
AS (SELECT_operator
[WITH [CASCADED | LOCAL]
CHECK OPTION ] ... ... ... ... ... ... (field) сұаруда
қолданылатын негізгі кесте бағандарының атауларын өзгертуге мүмкіндік
береді. Бұл кестелерді біріктіруде қолданылатынсұратуларда ... ... ... ... ... ... ... әртүрлі
кестелердің бағандарының біріктірілуі салдарынан алынған есептелетін
бағандарды атау үшін де ... құру үшін ... SELECT ... ... ... екі ... ... мүмкін:
• кеңейтілген;
• тұрақты.
SELECT операторының кеңейтілген нысаны SELECT * конструкциясы ретінде
беріледі,сұратудан алынатын өрістер тізімін қатаң шектемейді. Бұл ... ... ... кесе ... ... ... синтаксисін
өзгертпейді. Бірақ бұл кемшілікте болуы мүмкін, себебі ұсынымдар ұсынатын
SQL-операторлар бағандар ... ... және ... ... ... ... ... формасысұратуға қатысы бар бағандар санын қатаң
қадағалай отырып SELECT бағандар тізімі конструкциясы арқылы ... ... ... ... ... әсер ... ALTER TABLE
операторында көрсетуге болады:
• RESTRICT жазбасы егер ... ... ... ... сілтеме бар
болса кестенің өзгеруін қайтаратын шектеулерді анықтайды;
• CASCADE жазбасы ... ... ... ... ... ... көрсетеді (сонымен қатар өшірілетін бағанға сілтенетін
немесе FOREIGN KEY шектеулері бар барлық сыртқы кілттер де өшіріледі).
ALTER TABLE операторы SQL-92 ... ... ... ... ... TABLE table_name
{ ADD [COLUMN] column_name column_type
[(size)]
[column_ constraint] }
| { ALTER [COLUMN]column_name
{ SET DEFAULT value } | DROP DEFAULT }
| { DROP [COLUMN] ... | CASCADE }
| { ADD table_ ... }
| { DROP ... ... | CASCADE };
ALTER TABLE операторы стандартқа толығымен сәйкестік деңгейі үшін ғана
қажеть, бірақ кейбір коммерциялық ДҚБЖ ... ... ... ... ... шектеулер мен кеңейтілулер енгізеді.
Келесі оператор барлық өзгеретін кестенің f2 ... ... ... ... ... ... TABLE tbl1 DROP COLUMN f2 CASCADE;
Ұсынымдардағы мәліметтерді өзгерту
Егер ұсынымдарда DELETE, INSERT ... UPDATE ... ... , онда барлық өзгерістер ұсынымдарда да, және осы ұсынымдарды жазуда
қолданған ... де ... ... ... өзгермелі және тұрақты
болады..
Стандартта өзгерічстер тек қана бір, негізгі кестеге ғана енгізіледі. Бірақ
коммерциялық ДҚБЖ көбі ... ... екі ... де бір ... ... стандарты келеесі шарттар орындалған жағдайды ұсыным өзгермелі
екендігін анықтайды :
• Ұсынымды құруға арналғансұратулар тек қана бір ... ... ... ... ... ... ... ретінде ұсыным алынатынг болса,
онда ол да өзгермелі болуы қажет;
• Ешқандай кестелердің біріктірілуіне, тіпті өзімен өзі, жол ... ... ... ... ... бағандар, агрегацияланатын
функциялар және DISTINCT, GROUP BY және HAVING жазбалары болмауы
қажет;
• Ұсынымарды құруға арналғансұратуларда екі рет бір ... ... ... [CASCADED | LOCAL] CHECK OPTION опциялар
Өзгермелі ұсыным үшін ұсынымдардағы жолдардың жоғалуын алдыналатын WITH
CHECK OPTION жазбасын көрсетуге болады. Егер бұ ... ... ... ... ... ... көрсетілген предикат кестелерге
өзгерістер енгізгенде тексеріледі. Егер предикат TRUE мәнін қайтармайтын
болса ондаөзгерістер енгізілмей қалады.
Мысалы егерсұрату келесі оператормен құрылған болса
CREATE VIEW v_tbl1 ... f1,f2, f3 FROM tbl1 WHERE ... CHECK ... жол қосылмайды:
INSERT INTO v_tbl1 (f1,f2,f3)
VALUES (1,50,'abc');
WITH CHECK OPTION жазбасы:
• WITH CASCADED CHECK OPTION – барлық ішкісұратуларда предикат
тексеріледі;
• WITH LOCAL CHECK OPTION – ... ... ... ... ғана ... ... операторлармен құрылған ұсынымдар үшін
CREATE VIEW v_1 AS
(SELECT f1,f2, f3 FROM tbl1 WHERE ... VIEW v_2 ... f1,f2, f3 FROM v_1 WHERE ... LOCAL CHECK ... ... INTO v_2 ... ... жол негізгі кестеге қосылады да, ұсынымда көрсетілмейді..
Ағым бойынша WITH CHECK OPTION үшін CASCADED ... ... ... ... ... әр бағанының бағанды құру кезінде көрсетілетін өз типі
бар.
В стандарте SQL-92 определены следующие типы:
• смволды:
o CHARACTER (len);
o CHAR ... ... VARYING ... CHAR VARYING (len);
o VARCHAR (len);
o NATIONAL CHARACTER ... NATIONAL CHAR ... NCHAR ... NATIONAL CHARACTER VARYING (len);
o NATIONAL CHAR VARYING (len);
o NCHAR VARYING (len);
... BIT ... BIT VARYING ... ... NUMERIC;
o DECIMAL;
o DEC;
o INTEGER;
o INT;
o SMALLINT;
o FLOAT;
o REAL;
o DOUBLE PRECISION;
... ... ... TIME WITH TIME ... ... ... WITH TIME ZONE;
• аралық:
o INTERVAL.
Көп жағдайларда жақшаларда көрсетілетін типтер параметрін қажет болған
жағдайларда ескермеуге болады.
Символдық типтер үшін CARACTER SET { set_name | ... ... ... қолданылатын символдар жиынын орнатады.
Жиі қолданылатын деректер типтерін сипаттайық:
• CHAR (num) – ... ... ... жол ( ... ... жолға
орын босатылады );
• VARCHAR (num) – num символдан көп емес айнымалы ұзындығы бар мәтіндік
жол ( дискіде жол ұзындығына қатысты орын ... INTEGER ... INT - ... NUMERIC – ... ... сан, үтірден кейінгі белгілер санын
анықтау мүмкіндігі;
• DECIMAL немесе DEC – жылжымалоы нүктелі сан, дәлдіктің минималды мәні
көрсетіледі;
• FLOAT – ... ... бар сан, ... беруге мүмкіндік береді
(үтірден кейінгі белгілер саны);
• REAL ... ... сан, ... асу ... ... ... DATE – мерзім типі;
• TIME WITH TIME ZONE – уақыт типі, аумақтық уақыттың жылжуын
сипаттаушы өрісі бар.
Уақыт пен ... ... ... типі ... ... ... типінде YEAR, MONTH және DAY өрістері бар. TIME типінде HOUR, MINUTE
және SECOND өрістері бар.
TIMESTAMP типінде мерзім және ... ... ... ... мәні ... ... жазылады: '10-12-2003 08:30:00'.
Мерзімді жазуда тізбектелу реті компьютерде анықталады.
Мерзім/уақыт функциялары
Мерзім\уақыт ... бар ... ... ... үшін SQL тілінде келесі
функциялар қарастырылады:
CURRENT_TIME – ағымдағы ... ...... ... ... – ағымдағы мерзім мен уақытты анықтайды.
Мысалы:
INSERT INTO tbl1 (f1,f2,f3,f4)
VALUES (1,100,'abc', CURRENT_DATE);
7. Транзакциялар
Транзакция деп ... ... ... ... ... ... ... жиынтығын айтады. Кейде транзакция деп SQL-
операторларының тобын емес, SQL-операторларының барлығын фиксациялап немесе
керісінше қайтарып жіберуге кететін ... ... ... ... бір ... ... ... аударым операциясы бір
транзакциядан тұру қажет. Әйтпесе, бірінші SQL-оператор ақшаны басқа шотқа
аударатын болса, ал оларды ... ... ... ... ... ... ... орындалмай қалу жағдайын тудыру мүмкін.
Транзакцияны фиксациялау SQL-операторымен немесе ... ... ... жүзеге асуы мүмкін. Екінші жағдайда автокоммит
тәртібінде орындалуы ... ... ... ... ... автокоммитті қолданады. Жиі құрудың қосарланған орталарында
жұмысты деректер қоймаларымен инкапсуляциялайтын класстар, қалыпты жағдайда
автокоммит тәртібін ұсынады.
Келесі сұлба транзакцияларды қолдану принципін ... ... ... ... деректер қоймасымен жұмыстың әрбір жаңа сеансының
басталуымен басталады. ... соң ... ... ... ... немесе ROLLBACK WORK операторлары орындалмайынша бір транзакцияға
кіреді.
COMMIT WORK операторы деректер қоймасында өзгерістерді орындап, ... ... ... COMMIT WORK ... ... ... те айтады.
ROLLBACK WORK операторы ағымды транзакцияда орындалған барлық SQL-
операторлардың әрекетін қайтарып, транзакцияны қайтарады.
Логика бойынша транзакция өзара байланысқан операциялардың орындалуын
қамтамасыздандырады. ... егер ... ... ... ... ... «өте ... ететін болсақ, онда
транзакцияны автоматты қайтаратын кез келген істен шығу, ... ... ... ... ... қайтарылуына әкеледі.
Өзгерістерді автоматты фиксациялау
Көптеген коммерциялық ДҚБЖ (СУБД) өзгерістерді автоматты фиксациялау
тәртібін қосуға мүмкіндік береді - автокоммит.
Бұл тәртіпті қосу үшін ... ... ... SET ... ON
қолдануға болады, ал тәртіпті қайтару үшін - SET AUTOCOMMIT OFF
қолданылады.
Транзакцияларды параллельді қолданудағы қиындықтар
Транзакцияларды параллельді қолдануда келесідей қиындықтар кездесуі мүмкін:
... оқу ... ... "лас" оқу (dirty read) – ... ... жазылған деректерді
оқу;
• жоғалған жаңарту (lost update);
• фантомдық кірістіру (phantom insert).
Берілген қиындықтар мүмкін болатын жағдайларды қарастыру.
Қайталанбайтын оқу
Болжамға сәйкес, әртүрлі ... ... және ... ... бар екі ... бар ... 1 ... 2 ... f2 FROM tbl1 WHERE f1=1; |SELECT f2 FROM tbl1 WHERE |
| |f1=1; ... tbl1 SET f2=f2+1 WHERE | ... |  |
| | ... |SELECT f2 FROM tbl1 WHERE |
| |f1=1; |
| | ... f2 ... мәні ... ... соң1-транзакцияда f2
алаңының мәні өзгертіледі. f2 алаңынан мәнді қайта алу жағдайында 1-
транзакцияда басқа нәтиже алынады ( ... Бұл ... ... өзгерту және деректер қоймасына қайта жазу кезінде әсіресе
жағымсыз.
7.1-сурет. Қайталанбайтын оқу
"Лас" оқу
Болжамға сәйкес, әртүрлі қосымшалармен ... және ... ... бар екі ... бар делік:
|Транзакция 1 ... 2 ... f2 FROM tbl1 WHERE f1=1; |  |
| | ... tbl1 SET f2=f2+1 WHERE |  ... | |
| |SELECT f2 FROM tbl1 WHERE ... |f1=1; |
| | ... WORK; |  |
| | ... f1 ... мәні ... ... соң ... f2
алаңының мәні алынады. Осыдан кейін 1-транзакцияның қайтарылуы орындалады.
Нәтижесінде 2-транзакциямен алынған ... ... ... ... өзгеше болады.
Жоғалған жаңарту
Болжамға сәйкес, әртүрлі қосымшалармен ашылған және келесідей орындалған
SQL-операторлары бар екі транзакция бар делік:
|Транзакция 1 ... 2 ... f2 FROM tbl1 WHERE f1=1; |SELECT f2 FROM tbl1 WHERE f1=1; |
| | ... tbl1 SET f2=20 WHERE |  ... | |
| |UPDATE tbl1 SET f2=25 WHERE ... |f1=1; |
| | ... f1 алаңының мәні өзгертіледі, ал сонан соң 2-транзакцияда
бұл алаң мәні тағы да өзгертіледі. Нәтижесінде бірінші ... ... ... ... ... кірістіру
Болжамға сәйкес, әртүрлі қосымшалармен ашылған және келесідей орындалған
SQL-операторлары бар екі транзакция бар делік:
|Транзакция 1 ... 2 ... |SELECT SUM(f2) FROM |
| |tbl1; ... INTO tbl1 (f1,f2) VALUES | ... |  |
| | ... |SELECT SUM(f2) FROM |
| |tbl1; |
| | ... f2 ... барлық мәндерін қолданатын SQL-оператор
орындалады. Сонан соң 1-транзакцияда жаңа жол ... де, ... ... ... ... ... нәтиже береді. Мұндай
жағдай фантомдық кірістіру болып табылады да, қайталанбайтын оқудың жеке
түрі ... ... ... егер ... SQL-оператор f2 алаңының барлық
мәндерін алмай, тек кестенің бір жолының мәнін алатын болса (WHERE
предикаты қолданылады), онда INSERT операторының орындалуы фантомдық
кірістіру ... ... ... деңгейлері
SQL-92 стандарты берілген келеңсіз жағдайлардың алдын алатын изоляция
деңгейлерін анықтайды.
Изоляция деңгейлерінің келесідей төрт түрі ... ...... ... ... жағдайда қолданылады). Бұл
деңгей жоғарыда көрсетілген барлық келеңсіз жағдайлардың алдын алуын
қамтамасыздандырады, алайда, ... ... ең ... ... REPEATABLE READ – қайталанатын оқу. Бұл деңгейде"фантомдық кірістіру"
келеңсіз жағдайына әкелетін INSERT операторларының орындалуы мүмкін.
Бұл деңгейді егер ... ... жаңа ... қосу ... өолданған жөн;
• READ COMMITTED – фиксацияланған оқу . Бұл деңгей бірдей сұратуларға
әртүрлі нәтиже алу қажет болған жағдайда қолданған жөн, алайда ... ... ... ... ... кейін;
• READ UNCOMMITTED – фиксацияланбаған оқу . Мұнда транзакцияны
фиксациялаусыз бірдей сұратулар үшін әртүрлі нәтиже алуға болады.

Келесі кестеде изоляция деңгейлері ... ... ... ... конфликтной ситуации ... | |
| ... оқу ... ... |Фантомдық |
| ... |оқу ... ... |
| |read) |(dirty |(lost ... |
| | |read) |update) |insert) ... |+ |+ |+ |+ ... READ|+ |+ |+ |- ... ... |- |+ |+ |- ... |- | | | ... | | | | |
8. ... ... ... ... ... беріледі
де, деректер мен сұлба объектілерімен жасалатын әрекеттердің қайсысы рұқсат
екенін анықтайды. ... ... ... ... ... ... ID) деп те аталатын деректер базасының
тұтынушы аты қолданылады. Кейбір ДҚБЖ "тұтынушы" мен "есеп жазбасы" ... ... ... ... оның ... ... ... жүзінде
бір тұтынушы әдетте бір сұлбамен ассоцияланады, алайда стандарт бір
тұтынушыға өзара байланысқан объектілері бар бірнеше сұлба келеді.
Идентификация ... ... ... ... ... ашылып,
деректер базасымен байланыс орнатылады.
Екі түрлі артықшылықтар кездеседі:
• жүйелік артықшылықтар (system privileges), деректер базасына жалпы
жетуді ... ... ... (object ... деректер базасының
белгілі объектілеріне жетуді бақылайды.
Артықшылықтармен жұмыс істеуде қолданылатын синтаксис практика жүзінде
стандарттан әлдекайда кең, алайда нақты ДҚ архитектурасына байланысты.
Артықшылармен ... ... ... ... анықталған:
• Объект құрған тұтынушынікі болып саналады (егер синтаксиспен объекттің
сәйкес құзыры бар басқа тұтынушымен құрылғаны ... ... ... ... сәйкес, өзінің объектінің артықшылықтарын
өзгертуге мүмкіндігі бар (Oracle секілді коммерциялық ... ... ... күрделі иерархияны құрады);
• Объектілік артықшылық әрқашан нақты объектпен, ал жүйелік – жалпы
объектілермен сәйкестендіріледі.
SQL тілі келесі артықшылықтарды қолдайды:
• ALTER - ALTER TABLE ... ... ... ... SELECT – ... операторын орындауға мүмкіндік береді;
• INSERT – кестеге жолдарды қосу операторын орындауға мүмкіндік береді;
• UPDATE – ... ... ... ... ... мәндерді өзгертуге
мүмкіндік береді;
• DELETE – кестеден жолдарды алып тастауға мүмкіндік береді;
• REFERENCES – сыртқы кілттің аталық кілті ретінде кестенің кез ... ... ... ... мүмкіндік береді;
• INDEX – индекстерді құруға мүмкіндік береді (SQL-92 стандартына
кірмейді);
• DROP – ... ... ... ... ... ... береді.
Артықшылықтарды беру мен алып тастау
Артықшылықтарды беру GRANT SQL-операторымен орындалады, және SQL-92
стандартында төмендегідей сипатталады:
ON { [TABLE] ... DOMAIN ... ... ... ... SET ... ... translation_name }
TO { user_name .,: } | PUBLIC
[ WITH GRANT OPTION ]
мұндағы privilege төмендегідей анықталады
{ ALL PRIVELEGES }
| ... ... INSERT [(field ... UPDATE [(field ... REFERENCES [(field .,:)]
| USAGE
GRANT сөзінен кейін барлық берілетін артықшылықтар тізімін беруге болады.
ON сөзі артықшылық берілетін объектіні анықтайды.
TO ... ... ... ... GRANT SELECT ON tbl1 TO PUBLIC ... tbl1 ... үшін ... тұтынушыларға ғана емес, деректер базасына кейіннен қосылатын
тұтынушыларға SELECT операторының орындалуына рұқсат береді.
GRANT UPDATE ON tbl1 TO user1 ... user1 ... ... ... кестеге береді, ал GRANT UPDATE (f1,f2) ON tbl1 TO
user1 операторы UPDATE артықшылығын тек f1 мен f2 алағдарын өзгерту ... GRANT OPTION сөзі ... алып ... тұтынушыға алынған
артықшылықтарды беру мүмкіндігін беретін қосымша GRANT OPTION ... ... REVOKE ... ... да, ... ... сипатталады:
REVOKE [ GRANT OPTION FOR ]
{ ALL PRIVILEGES } | privilege
ON { [TABLE] table_name
| DOMAIN ... ... ... CHARACTER SET set_name
| TRANSLATION translation_name }
FROM { PUBLIC | user_name .,: }
[ CASCADE | RESTRICT ]
REVOKE сөзінен соң үтір ... ... ... артықшылықтардың тізімін
келтіруге болады.
ON сөзі артықшылық қайтарылатын объектіні ... сөзі ... ... ... немесе тұтынушыларды көрсетеді.
GRANT OPTION FOR сөзі артықшылықтардың өзін емес, тек басқа тұтынушыларға
беру хұқығын қайтарады.
Егер бір артықшылық WITH GRANT OPTION ... ... бір ... ... ... рет реттілігімен берілетін болса, онда тәуелді
артықшылықтың тізбегі ... CASCADE және RESTRICT ... осы ... ... ... ... жағдайда қалай пайда
болатынын анықтайды.
Егер тәуелді артықшылықтарды жойған ... ... үшін ... ... онда бұл ... ... болады. Мысалы, артықшылық
жоғалтқандағы құрылған кестеге сұраныс берген кезде ұғым ... ... ... ... ... ... ... пайда болуы 
Егер артықшылықты жойған кезде құрастырылмаған объект пайда болса, ... сөзі REVOKE ... ... жол ... және ... жойылмайды.
Егер CASCADE сөзі көрсетілсе және артықшылықты жойған кезде құрастырылмаған
объект пайда ... онда ... ... объектілер(ұғымдар)
жойылады. Ал құрастырылмаған шектеулер кестелерде ALTER TABLE оператордың
орындалуымен ... ... ... ALTER DOMAIN оператордың
орындалуымен домендерде автоматты ... ... ... ... ... жиынтығы. Артықшылықтарды
біріктіру ролі едәуір артықшылықтарды енгізу мен алып ... ... Егер ... рольдерді басқаруды қолдаса, онда SQL-де
GRANT, REVOKE операторларда ... ... ... рольдің атын
көрсетуге болады.
Oracle деректер ... ... ... ... ... ... ДББЖ-де бақылау саласы жөнінен Oracle ең мықты
деректер базасы болып табылады. Барлық ... ... ... ... ... операторының синтаксисі қолданушыға жіберуді немесе рольдерге ... ... ... беруді орындайтын келесі схема ретінде
берілуі мүмкін:
қолданушыға беру немесе рольдерге және жүйелік өкілеттігінің рольдеріне
беру
Қолданушыға ... Oracle ДБ – ның ... ... ... беру ... ... ... көрсетілген:
Қолданушыға немесе Oracle ДБ – ның қарапайым объектілерінің артықшылық
рольдеріне беру
system_priv – беретін жүйелік өкілеттік.
role - ... ...... ... объектілік өкілеттікті қолданушыға немесе рольдерге
беруді анықтайды.
PUBLIC - ... ... ... объектілік өкілеттіктерді анықтай отырып,
барлық қолданушыға беретінін көрсетеді.
WITH ADMIN OPTION – жүйелік ... ... ... ... ... ... ... басқа қолданушыға немесе рольдерге беруге
рұқсат береді. Мұндай рұқсат ... ... ... алып тастауға
мүмкіндік береді. (Берілген опция синтаксистік түрде SQL-92 ... ...... ... ... айқындалатын артықшылықтарды
анықтайды:
• ALTER
• DELETE
• EXECUTE (тек рәсімдер, функциялар және пакеттер үшін)
• INDEX (тек кестелер ... ... ... (тек ... ... ... UPDATE.
column - артықшылықтарды кең тарататын кестелердің бағаналарын немесе
ұғымды анықтайды.
ON – артықшылық бере ... ... ... түр, ... ... ... SELECT, UPDATE ON tbl1 TO PUBLIC
GRANT REFERENCES (f1), UPDATE (f1, f2, f3)
ON user1.tbl1 TO user2
Oracle деректер базасына кіру ... ... ... GRANT
операторымен берілген жүйелік өкілеттіктің тізімін қарастырамыз.
Жүйелік өкілеттікке келесі тізімдер ... ANY CLUSTER – ... ... қолданушыға кез келген схемада кез
келген кластерді өзгертуге болады;
ALTER ANY INDEX – кез ... ... кез ... ... ... ... ANY ... - кез келген сақталған функцияларды, рәсімді, пакетті
кез келген схемада өзгертуге болады;
ALTER ANY ROLE - ... ... кез ... ... ... ... ANY SEQUENCE - ... базасында кез келген реттілікті өзгертуге
болады;
ALTER ANY SNAPSHOT – ... ... кез ... ... ... ANY TABLE - ... кез келген кестені немесе түрді өзгертуге
болады;
ALTER ANY TRIGGER ... ... кез ... ... кез ... ... беруге, тиым салуға немесе құрастыруға ерік береді; ... кез ... ... ... DATABASE- деректер базасын өзгертуге болады;
ALTER PROFILE – бағытты өзгертуге болады;
ALTER RESOURCE COST – қолданушының жұмыс сеансы ... ... ... ROLLBACK SEGMENT – ... ... өзгертуге болады;
ALTER SESSION - ALTER SESSION операторының орындалуына жол береді;
ALTER SYSTEM - ALTER SYSTEM операторының орындалуына жол береді;
ALTER ...... ... өзгертуіне жол береді;
ALTER USER – кез келген қолданушы ... ... ... кіру
саны, жүктелген бағыт т.с.с ) параметрлерді өзгертуіне жол береді;
ANALYZE ANY - кесте, кластер немесе индексті кез ... ... ... AUDIT ANY – кез ... ... аудитін әр түрлі схемада
орындауға болады;
AUDIT SYSTEM - ... AUDIT ... жол ... ANY TABLE - ... ... ... объектілер экспортын
орындауға мүмкіндік береді;
BECOME USER – басқа қолданушы ретінде болуға рұқсат ... ... ... қажет етеді);
COMMENT ANY TABLE – кез келген кесте, түр немесе бағана үшін
түсініктемелердің осы ... ... ... әр түрлі схемада
рұқсат етеді;
CREATE ANY CLUSTER ;
CREATE ANY INDEX ;
CREATE ANY LIBRARY ;
CREATE ANY PROCEDURE ;
CREATE ANY SEQUENCE ;
CREATE ANY SNAPSHOT ... ANY SYNONYM ... ANY TABLE ... ANY TRIGGER ;
CREATE ANY VIEW ;
CREATE CLUSTER - өзінің схемасында кластер құруға рұқсат етеді(жүйелік
өкілеттік, ANY сөзі қолданылмайтын, ... ... ... ... DATABASE LINK - ... схемасында деректер базасының линкін құруға
болады;
CREATE PROCEDURE ;
CREATE PROFILE ;
CREATE PUBLIC DATABASE LINK – ... ... ... ... ... болады;
CREATE PUBLIC SYNONYM ;
CREATE ROLE – рольдерді құруға болады;
CREATE ROLLBACK SEGMENT ;
CREATE LIBRARY ;
CREATE SEQUENCE;
CREATE SESSION – ... ... ... ... ... SNAPSHOT;
CREATE SYNONYM;
CREATE TABLE;
CREATE TABLESPACE ;
CREATE TRIGGER;
CREATE USER ;
CREATE VIEW ;
DELETE ANY TABLE ... ANY CLUSTER ... ANY INDEX – кез ... ... ... ... ANY LIBRARY ;
DROP ANY PROCEDURE ;
DROP ANY ROLE ;
DROP ANY SEQUENCE ... ANY SNAPSHOT ... ANY SYNONYM ... ANY TABLE ... ANY TRIGGER ... ANY VIEW ;
DROP LIBRARY ;
DROP PROFILE ;
DROP PUBLIC DATABASE LINK ;
DROP PUBLIC SYNONYM ;
DROP ROLLBACK SEGMENT ;
DROP ... ... USER ... ANY ...... және функцияларды орындауға рұқсат
етеді, және де әр түрлі схемада пакеттердің ортақ кіру өзгертулерге
сілтемелерді орындайды;
FORCE ANY ...... ... ... ... деректер базасында
әр түрлі күдікті таралған транзакцияның шегінуін және де таралған
транзакцияның жаңылуын(сбой) орындайды;
FORCE TRANSACTION - фиксация жасауға немесе локалдық деректер ... ... ... ... ... орындайды;
GRANT ANY PRIVILEGE ;
GRANT ANY ROLE ;
INSERT ANY TABLE ... ANY TABLE ... ... –кестелік кеңістіктің автономиялы режимнен оперативті
режимге ауысуын немесе керісінше ауысуын қамтамасыз етеді және де кестелік
кеңістіктің көшірмесін орындайды;
RESTRICTED SESSION ;
SELECT ANY SEQUENCE ... ANY TABLE ... ... – кез ... ... ... ... қолдануын
қамтамасыз етеді. Бұл өкілеттікті беру кестелік кеңістіктің кіру ... үшін ... ... кез ... шектеулерді қайта жабады;
UPDATE ANY TABLE – әр түрлі схемада кестелердегі және түрдегі жолдарды
өзгертуге болады.
Oracle деректер базасын құрғанда ... ... ... ... ... деректер базасында автоматты түрде құрылатын рольдер және ... ... ... мен ... ... ... ... Бұл рольдер берілген өкілеттіктердің иерархиясын орнатады.
|Роль ... ... ... мен ... |
|CONNECT |ALTER SESSION |
| |CREATE CLUSTER |
| |CREATE DATABASE LINK |
| |CREATE SEQUENCE |
| |CREATE SESSION |
| |CREATE SYNONYM |
| |CREATE TABLE |
| |CREATE VIEW ... |CREATE CLUSTER |
| |CREATE ... |
| |CREATE SEQUENCE |
| |CREATE TABLE |
| |CREATE TRIGGER ... ... ... өкілеттіктер WITH ADMIN |
| |OPTION |
| ... ... |
| ... ... ... |SELECT ANY TABLE |
| |BACKUP ANY TABLE |
| |INSERT, UPDATE, DELETE |
| |ON ... sys.incvid, sys.incfil |
Деректер базасының администраторы берілген артықшылықтарды алдын ала көру
үшін ... ... ... ... ... ... ... |Сипатталуы ... ... ... ... ... ... |
| ... үшін ... ... тізімін |
| ... |
| ... ... |
| |GRANTOR ... кім ... |
| |GRANTEE ... ... ... |
| ... ( объектінің схемасы) |
| ... |
| ... |
| ... ... | ... ... ... қолданушылар ие бола |
| ... ... ... ... құрайды. |
| ... ... |
| |GRANTEE |
| |OWNER |
| |GRANTOR |
| ... |
| ... |
| ... ... | PUBLIC –ке ... ... ... ... |
| ... үшін ... ... ... |
| ... тұрады: |
| |GRANTOR |
| |GRANTEE |
| ... ... ... ... ... бағытының |
| ... және ... ... ... |
| ... ... |
| ... ... |
| |PROFILE |
| ... |
| |LIMIT ... | ... базасындағы барлық рольдердің аталатын |
| ... ... |
| ... ... |
| |ROLE |
| ... ... |Басқа қолданушыға немесе ... ... |
| ... ... ... |
| ... тұрады: |
| |GRANTEE (кім ... ... |
| ... ... роль) ... ... және ... ... жүйелік |
| ... ... ... |
| ... ... |
| |GRANTEE (кім ... ... |
| ... (жүйелік өкілеттіктің атауы) |
| ... ... ... ... ... үшін ... |
| ... ... ... ... |
| ... тұрады: |
| |GRANTEE |
| |OWNER |
| ... |
| |GRANTOR ... ... ... ... ... ... туралы |
| ... ... |
| ... ... |
| ... |
| |USER_ID |
| ... |
| ... |
| |PROFILE ... ... ... рольдеріне беру туралы |
| ... ... |
| ... тұрады: |
| |ROLE |
| ... ... ... мен ... ... ... ... беру жөнінде ақпараттан тұрады. |
| ... ... |
| |ROLE |
| |OWNER |
| ... |
| ... |
| ... ... ... ... ... ... ... |
|TABLE_PRIVILEGE_MAP |Кестелер мен бағаналарға кіру артықшылығының |
| ... ... ... тұрады. ... ... ... ... тізімін құрайды. |
| ... ... |
| ... |
| ... ... ... ... барлық жүйелік өкілеттіктің |
| ... ... |
| ... ... |
| ... |
| ... ... |Қолданушы артықшылықтарды беру иесі және ... |
| ... ... ... табылатын объектілер үшін |
| ... ... ... |
| ... ... |
| |GRANTEE ... ... беріледі) |
| |OWNER ... ... аты) |
| |GRANTOR ... кім ... ... |Қолданушы ие болатын объектілер үшін ... |
| ... беру ... ... |
| ... ... |
| |GRANTEE |
| |GRANTOR |
| ... |
| ... ... ... ... ... ... ... |
| ... үшін ... ... беру |
| ... ... |
| ... тұрады: |
| |OWNER ... ... |
| ... ... аты) |
| |GRANTOR ... ... қолданушының аты) |
| ... ... ... түсініктер Oracle деректер базасының администраторына жүктеуді,
қайта беруді, жүйелік және объектілік артықшылықтардың өзара тәуелділікті
толығымен бақылауға ... ... ... ... SQL ... программалу тілдеріне препроцессорлы өңдеу
түрінде тізбектеледі.
SQL операторлар прекомпиляторлармен өңделеді.
SQL операторларда қолданбалы программа айнымалылары қолданылады.
Операторлар:
DECLARE CURSOR сұратуды анықтайды;
OPEN немесе CLOSE – ... ... ... және ... SQL ... ... ... қателерді өңдеу құрылымын қосу
{ EXEC SQL INCLUDE SQLCA;
// хост-айнымалыларды ... ... және ... SQL BEGIN DECLARE ... ... NumID; // бұл ... ... кейін көрсетіледі
char Sal[10];
EXEC SQL END DECLARE SECTION;
// Қатені өңдеу
EXEC SQL WHENEVER SQLERROR GOTO err_1;
EXEC SQL WHENEVER NOT FOUND GOTO ... ... ... ("Type ... number: ... SQL ... орындау
EXEC SQL SELECT NumID, Sal FROM tbl1
WHERE NumIndID =: NumIndID
INTO :NumID, :Sal;
// нәтижені бейнелеу
std::cout

Пән: Информатика
Жұмыс түрі: Материал
Көлемі: 78 бет
Бұл жұмыстың бағасы: 6 200 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
MS SQL Server туралы мәліметтер және жұмыс істеу негіздері4 бет
Sql13 бет
SQL Server18 бет
SQL серверін қолданып қосымшалар жүйесін жетілдіру80 бет
SQL тілі39 бет
SQL тілінде деректерді өңдеудің негізгі операторлары. Деректер базасын құру13 бет
SQL құрылымдық сұранымдар тілі32 бет
SQL-дің жүйелік құрылым және мәліметтер базасында қолданылуы20 бет
Sql-тілі4 бет
“Персонал” бағдарламасының SQL тіліндегі негіздері86 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь