Sql

Жоспар
1. SQL сұраныс тілі
2. Ақпараттарды басқару операторлары
3. Қолданылған әдебиеттер.
SQL тілі қазіргі кезде мәліметтер қорын басқару жүйесінің бірден-бір стандартты тілі болып табылады. SQL – Structured Queries Language сөзініңқысқартылған түрі, аударылғанда сұраныстың құрылымдық тілі дегенді білдіреді. SQL тілі реляциялық типтегі мәліметтермен жұмыс істеуге арналған. Ол реляциялық МҚБЖ пайдаланушы істейтін барлық негізгі мүмкіндіктерді жүзеге асырады:
мәліметтерді ұйымдастыру - мәліметтер қорының құрылымын құру және өзгерту;
мәліметтерді оқу; кешені.
мәліметтерді өңдеу - мәліметтерді қосу, өзгерту және өшіру;
мәліметтерге кіру мүмкіндігін басқару - мәліметтерді оқу және өзгерту үшін пайдаланушыға шектеу мүмкіндіктерін беру;
мәліметтерді бірге пайдалану - бірнеше пайдаланушылар мәліметтерді жалпы пайдалану;
мәліметтердің бүтіндігі - жүйе істен шыққанда немесе басқа жағдайларда бұзылудан мәліметтерді қорғау;

SQL тілі келесі DML, DDL яғни кіру мүмкіндігін басқару,транзакциямен басқару топтарынан тұратын командалар жүйесінен тұрады;
DML (Date Manipulation Language) мәліметтерді өзгерту тілі;
SELECT – мәліметті оқуға сұраныс;
INSERT – мәліметтер қорында жаңа жазбаларды енгізу (қосу);
DELETE – мәліметтер қорында жазбаларды өшіру;
DDL (Date Definition Language) мәліметтерді анықтау тілі;
CREATE TABLE – жаңа кесте құру,оның құрылымын сипаттау;
DROP TABLE – кестені өшіру;
Кіру мүмкіндігін басқару
DROP INDEX – индексті жою;
GRANT – пайдаланушыға шектеу мүмкіндігін беру;
REVOKE – пайдаланушыға шектеу мүмкіндігін алып тастау;
Транзакцияны басқару
COMMIT-транзакцияны аяқтау;
ROLLBACK-транзакцияны алып тастау;

Пайдаланушы не интерактивті режимде,немесе программада SQL сұранысын МҚБЖ –ға жібереді.Нәтижесінде МҚБЖ МҚ-н қарап шығады,мәліметтерді сәйкес түрде өңдеп және сұралып тұрған ақпаратты пайдаланушыға кесте түрінде береді.
SQL- тілі мәліметтер базасындағы кестелер мен және кестедегі мәліметтермен жұмыс істейтін іс- әрекеттерді орындауға бағытталған.
Бұл тілдің процедуралық программалау тілдерінен айырмашылығы,
SQL- тілінде енгізу- шығару құралдары және есептеу үрдісін басқару (цикл,көшу,тармақталу) нұсқалары жоқ.
Қолданылған әдебиетттер.
Ульман Д. ВВедение в системы баз данных.-М..2000
Кузин А.В., Демин В.М.Разработка баз данных в системе MicrosoftAccess:
Учебник – Учебник – м.: Форум: Инфра-М, 2005г.
. Дейт К. Введение в систему баз данных. Наука, 1990г.
Джеймс Р. Грофф, Пол Н. Вайнберг SQL - полное руководство. Перевод, Киев1999г.
Дж.Мартин Организация баз данных в вычислительных системах. М, Наука 1980г.
Наумова М.А. Системы управления базами данных и знаний. Высшая школа,1992г.
Диго С.М. Проектирование баз данных. Финансы и статистика, 1990г.
Мейс С. Использование языка SQL обеспечивает возможность объединения баз данных, в мире компьютеров, № 2, 1988 г.
Золотова С.И. Практикум по Access. Финансы и статистика, Москва,2000.
Робинсон С. Access 2000. Учебный курс.
        
        Жоспар
1. SQL сұраныс тілі
2. Ақпараттарды басқару операторлары
3. Қолданылған әдебиеттер.
SQL тілі қазіргі кезде мәліметтер ... ... ... ... тілі ... ... SQL – ... Queries Language
сөзініңқысқартылған түрі, аударылғанда сұраныстың құрылымдық тілі ... SQL тілі ... ... ... ... ... Ол реляциялық МҚБЖ пайдаланушы істейтін барлық негізгі
мүмкіндіктерді ... ... ... - мәліметтер қорының құрылымын құру және өзгерту;
мәліметтерді оқу; ... ... - ... ... ... және ... кіру ... басқару - мәліметтерді оқу және өзгерту үшін
пайдаланушыға шектеу мүмкіндіктерін беру;
мәліметтерді бірге пайдалану - ... ... ... ... бүтіндігі - жүйе істен шыққанда немесе басқа жағдайларда
бұзылудан мәліметтерді ... тілі ... DML, DDL яғни кіру ... ... ... тұратын командалар жүйесінен тұрады;
DML (Date Manipulation Language) мәліметтерді өзгерту тілі;
SELECT – мәліметті оқуға сұраныс;
INSERT – мәліметтер қорында жаңа жазбаларды енгізу ...... ... ... ... (Date Definition Language) мәліметтерді анықтау тілі;
CREATE TABLE – жаңа кесте ... ... ... TABLE – ... ... ... басқару
DROP INDEX – индексті жою;
GRANT – пайдаланушыға ... ... ... – пайдаланушыға шектеу мүмкіндігін алып тастау;
Транзакцияны басқару
COMMIT-транзакцияны аяқтау;
ROLLBACK-транзакцияны алып тастау;
Пайдаланушы не интерактивті режимде,немесе программада SQL ... ... ... МҚБЖ МҚ-н ... шығады,мәліметтерді сәйкес түрде
өңдеп және сұралып ... ... ... ... түрінде береді.
SQL- тілі мәліметтер базасындағы кестелер мен және ... ... ... іс- ... ... ... тілдің процедуралық программалау тілдерінен айырмашылығы,
SQL- тілінде енгізу- шығару құралдары және ... ... ... ... ... екі түрі ... Статикалық
2. динамикалық
Статикалық SQL- сұранысы өңдеу кезеңінде бастапқы кодқа қосылады
және қосымшаның орындалу ... ... ... ... ... ... ... көмегімен ғана SQL- сұранысты
өзгертуге болады.
Динамикалық SQL- ... коды ... ... үрдісінде
өзгереді немесе қалыптасады. Мұндай сұраныс қолданушының іс-
әрекеттерін ескеру керек деген жағдайларда ғана қолданады.
SQL- тілінің бірнеше стандарттары бар. ... ... ең көп ... SQL -89 және ... ... ... ... (ANSI,American National
Standards Institute) және стандарттау бойынша Бүкіл әлемдік ұйымы
(ISO,International Standards Organization) бірігіп қолданған ... ANSI ... ANSI/ISO деп те ... ... ... ... ... көрсетуге болады:
Мәліметтерді анықтау;
Мәліметтерді өңдеу;
Мәліметтерге қатынас құруды басқару;
Транзакциямен басқару;
SQL- тілі нұсқасының негізгі мүмкіншіліктері;
Бұл нұсқаны SQL-92 стандарттарынан бірнеше айырмашылығы бар.
Delphi қосымшаларында ... ... ... ... ... ... пайдалануға болады. SQL-
сұранысының тексті Query компонентінің SQL-қасиетінің мәні екендігін
және ол қосымшаны әзірлеу барысында ... ... ... ... ... ... ... SQL-
сұранысының орындалуын және сәйкес мәліметтер қатарын алуын қамтамассыз
етеді.
Мәліметтер ... ... Active ... мәні True болғанда
немесе Open әдісін шақыру арқылы Query компонентін активизациялау кезінде
ғана орындалады.
SQL- тілінің басқада ... ... ... ... ... ... көп қолданылатындары:
Агрегатық немесе статистикалық функциялар:
AVG () -(орташа мән)
MAX ()-(ең үлкен мән)
MIN ()-(ең кіші ... ... ... саны)
COUNT ()-(нөлге тең емес мәндердің саны)
Жолдармен жұмыс ... ... (str)-( str ... ... ... ... (str)-( str жолының символдарының төменгі регисторға
ауысуы);
TRIM (str)-( str жолының ... және ... бос ... (str From n1 to n2)-(str n1 n2)-( str жолында n1
симвлоынан басталып n2 символынан аяқталатын ... (AS ... ... Type ... пен ... ... декодтау функциялары;
EXTRACT(From)(уақыт пен күннің жадынан тұратын
өрнектен,элементке сәйкес келетін мәнді алуға болады)
Қәзіргі кезде SQL2 және SQL3 ... ... ... ... ... сөз;
- аты;
- тұрақтылар;
- мәліметтер типі;
- функциялар;
- өрнектер.
Кілттік сөз-бұл ағылшын тілінің белгіленген жиыны,ол сұраныстың ... ... ... ... үшін ... ... анықтайды.
Команда бір немесе бірнеше сөйлемнен тұрады,олардың әр қайсысы кілттік
сөзден ... 100 ... сөз қоры ... ... 300 сөз қоры ... ... үшін ... кесте атын,кесте бағанының атын,мәліметтер қорының атын белгілеу үшін
қолданады.
Команда таблицаларға және бағандарға ... ... ... ... SQL ... ... арқылы программалау. Ақпараттарды басқару
операторлары.
SQL/89 стандартындағы ... ... ... ... әрі ... ... синтаксистік ережелерден бастау қажет:
::=
   []
::=
  
|  UNION [ALL]
::=
  
|  ()
::=
   (SELECT [ALL | ... )
... SELECT [ALL | ... ... INTO
::=
   (SELECT [ALL | DISTINCT]
  
::=
  
  []
  []
  []
 
Тіл синтаксистік конструкциясның үш ... ... Олар SELECT ... басталады: курсор спецификациясы (cursor specification), іріктеу
операторы (select statement) және ... ... ... ең негізгісі «кестелі көрініс (table ... ... ... семантикасы from, where, group by и having
тарауларын ... ... ... From ... тапсырылған
кестелерден нәтижелі жаңа ... ... ... жолдарының тәртібі
анықталмаған және дубликаттары ... ... ... тәртіпте
қамтылмаған (яғни жалпы алғанда кестелі көріністің кесте-нәтижесі мультикөп
жолдардан құралады). Негізінен, кестелі ... ... ... ... ... ... Біз кестелі көрініс тарауының мазмұны мен
құрылымын төменде тереңінен қарастыратын бтоламыз, ал ... ... ... үш ... ... ... ... Динамикалық және статикалық SQL. Сақталған процедуралар.
Бұл топтың операторлары бірнеше курсорлармен ... ... ... оның ... құрылған SQL бағдарламасында
немесе модулінде сақталуы тиіс.
Курсор хабарламасының ... болу үшін бұл ... біз алда ... өткен курсор хабарламасының
синтаксистік ережелерін қайталап өтейік:
::=
   DECLARE CURSOR FOR
... ... ...
| UNION [ALL]
::= | ()
... ORDER BY
  [{,}...]
::=
{ | }
[ASC | DESC]
 
Курсор хабарламасында UNION операциясын орындау мүмкіндігінің ... ... ... ықттимал және соңғы нәтижені сұрыптауға сұраныс
берілуі мүмкін. Бұл оператордың ... ... ... ол тек ... ... қасиеттерімен байланыстырады.
Курсорды ашу оперторы
Оператор мынадай синтаксистік ережелермен сипатталады:
::= OPEN ... SQL ... үшін ... ... ... ... операторымен алдын ала мәтін жағынан сәйкестендірілуін ... ... ашу ... ... курсормен тікелей байланысты орындалатын
операторлар сериясында бірінші болып жүзеге асуы ... Бұл ... ... ... ол ... дайындалу сәті жүргізіледі. Жеке
алғанда, нақ осы сәтте ... ... ... SQL ... ... ... орын ... тілін реализациялау көбінесе курсорды ашу операторын орындау
барысында жүзеге асырылады және оның ... ... ... ... ... операторларды ашық курсор аясында ... ... ... ... оқу ... ... ... мынадай:
::=
   FETCH INTO
::=
  [{,}...]
Оқу операторында ... аты және INTO ... ... ... Бұл тарауда бұйыру (белгілеу) қасиеттерінің тізімі беріледі.
Бұйыру ... ... ... мен ... ... курсор
спецификациясындағы іріктеу тізімінің сандары мен ақпарат типтеріне
толықтай сәйкес келуі ... ... ашық ... ... мынадай позицияда болады: ол нәтиже
беретін кестенің кейбір ... ... ... ... ... ... немесе курсор ашылғаннан кейін артынша). Яғни кейбір нәітиже
жолдатрының алдында немесе нәтиженің соңғы жолынан кейін.
Егер курсор нұсқап отырған кесте бос ... ... ... курсор соңғы
жолға не содан кейін белгіленсе, онда оқу операторын орындау кезінде курсор
соңғы жолдан кейін орындалады, SQLCODE ... ... ... ... барлық мағыналар бүтіндей ене алмайды.
Егер курсор кесте жолының алдында ... онда ол нақ сол ... ... және сол ... ... ... мақсаттарына ыңғайланып
жүзеге асырыла береді.
Егер курсор r ... ... яғни ... ... ... ... онда курсор r жолынан кейінгі келесі қатарда орындалады және
оның мағынасы сол келесі ... ... ... ... ... ғана ... туындайды, мағынасы айқындалмаған курсорды қалай
параметрлеуге болады ... ... жол ... ... ... қайсысы айқындалмаған деп саналады деген сұрақты анықтауға
мүмкіндік туады. SQL/89 ... бұл ... ... параметрлер
мен ауыспалы параметрлерді пайдалану есебінен шешіледі. Егер АҚБЖ-нің басты
бағдарламаларынан алынатын ... ... ... ... ... ... айқындалмаған мағыналар ... және бұл факт ... ... қызығушылығын оятса, онда
параметрдің спецификациясы немесе SQL операторындағы өзгерістер ... ... ... [INDICATOR] - бұл
параметр ... ... ... ... - ... ... кезінде орындалады.  Индикаторлы параметрдің теріс мағынасы
немесе индикаторлы ... ... ... ... ... ... ауыспалы мағына параметрлеріне сәйкес келуі тиіс.
Шептік (позициялық) жою операторы.
Бұл оператордың синтаксисі келесідей:
::=
   DELETE FROM ... WHERE CURRENT OF ... ... ... ... ашық ... бірнеше жолдарға
белгіленген болса, және курсор өзгермейтін ... ... ... ... ағымдық қатары жойылады, ал ол келесі қатардың ... ... ... FROM ... ... ... курсор
спецификациясындағы FROM тарауының сыртқы шебіне көрінетін ... ... ... ... ... синтаксистік ережелермен сипатталады:  
::=
   UPDATE
   SET
[{,}...]
   WHERE CURRENT OF
::=
  =
{ | NULL }
::= ... ашу ... ... ... ... ... жолында көрініс
тапқан болса, және курсор өзгермелі кестені ... ... ... ... ... тарауына сәйкес модификацияланады. Курсор
позициясы өзгермейді. DELETE ... FROM ... ... ... ... FROM ... ... кестемен сәйкес
келуі тиіс.
Курсорды жабу операторы
Осы оператордың ... ... ::= CLOSE ... осы операторды орындау сәтінде курсор ашық күйінде қалса, онда
оператор курсорды жабық күйге келтіреді. Бұдан ... ... ... ... тек OPEN ... ғана ... ... болады.
Курсор арқылы орындалатын SQL динамикалық операторымен жұмыс жасау.
Аталмыш операторларды ... үшін SQL ... ... кеңейтуге тура келеді. Бірінішден, курсорды анықтау кезінде
курсордың тек литеральді қасиеттерін ғана ... ... ... ... ... ... ... атын белгілеуге
болады. (бұл жағдайда PREPARE операторының мәтіні одан ... ... ... ... ... тиіс). Бұнымен қоса, DECLARE
операторының толық синтаксисі мынадай болады:
::=
   DECLARE ... FOR { | ... ... ... үшін ену және шығу ... ... туралы ақпараттар белгісіз болса, онда OPEN и FETCH сияқты
басқа операторлар ... ... ... ... ... ... ::=
   OPEN
  [USING { | DESCRIPTOR }]
... FETCH
{ INTO
( USING
( USING ... ... отырғанымыздай, ену және шығу параметрлеріне тапсырудың екі
тәсілі бар: OPEN және FETCH операторларына тура және ... ... ... ... қандай жағдайда орындалады, егер параметрлер ... ... ... ... хабарланатын болса.
Бірінші тәсіл іріктеу операторымен жұмыс жасау кезінде ... ... ... ... шыққан параметрлердің жиынтығы тіркелген.
Нақтырақ айтсақ, шығу параметрлерінде іріктеу тізіміндегі ... мен типі ... ... ... ... ... талап ететін компиляцияланған
операторлармен жұмысға негізделеді. Ол динамикалық тұрғыдан қалыптасқан
параметрлер ... ... ... ... ... және ... ... тиіпінің сәйкестігіне
қатысты бүкіл жауапкершілік программистке жүктеледі. Осындай тізімді жасау
барысында ... қате ... ... жады ... ... ортақ қасиет «курсор спецификациясы» конструкциясының
болып танылады. Курсор – бұл SQL тілінің ұғымы. Ол ... ... АҚ ... ... қол ... ... ... спецификациясына
қатысатын кестелі көріністерде белгілі бір шектеулер болмайды. Синтаксистік
ережелерге сай ... ... ... ... ... ... ... сұраныс спецификациясы, сұраныс сөйлемі, ORDER BY
тарауы.
Ақпараттар қоры қызметі мен SQL ... ... ... ... мен ... ... ... көрінетін жетістігі – бұл
интерфайстың стандарттылығы.
Жойылған әрекеттерді шақыру хаттамасындағы жеңілдіктер.
Жойылған әрекеттерді қайта шақыру хаттамасы әсіресе ... ... ... ... ... жүйесінде аса маңызды
болып келеді.
Біріншіден, жойылған процедураларды қайта пайдалану ... ... мен ... ... ... қызметті қайта қарастыруға
мүмкіндік тудырады. ... ... ... ... ... ... ... процедурасынан еш айырмашылығы жоқ. Теориялық тұрғыдан
кез келген жүйе компоненті сервер жағына да, ... ... ... ... ... ... ... әрекетке түсетін компьютерлер
арасындағы айырмашылықты жасырады. Біржақты компьютерлердің  емес локальді
желісі өзара әрекетке түсетін ... ... ... ... ... ... ... сервер мен жұмыс
станциясына қорғауға, қамқорлық жасауға міндетті емес деп ... ... ... ... EXPLAIN
SELECT ename, loc, sal, hiredate
FROM emp, dept
WHERE ... = ... на ... ... ... ... так:
Execution Plan
----------------------------------------------------------
Plan hash value: 615168685
------------------------------------------------------------------------
---
| Id  | Operation          | Name | Rows  | Bytes | Cost ... ... 0 | SELECT ... ... |    14 |   532 ... 7  (15)|
00:00:01 |
|*  1 |  HASH JOIN         |      |    14 |   532 ...... ... 2 |   TABLE ACCESS FULL| DEPT ... 4 |    84 ... 3   ... |
|   3 |   TABLE ACCESS FULL| EMP  |    14 |   238 ... 3   ... ... Information (identified by operation id):
---------------------------------------------------
   1 - access("EMP"."DEPTNO"="DEPT"."DEPTNO")
Note
-----
   - dynamic sampling used for this ... на ... ... от имени SYS, например так:
HOST sqlplus / AS ... ... на ... ... ... со стороны
пользователя SCOTT (на углубленный анализ):
DECLARE
my_task_name VARCHAR2 ( 30 );
my_sqltext   CLOB;
 
BEGIN
my_sqltext :=
   'SELECT ename, loc, sal, hiredate FROM emp, dept '
|| 'WHERE ... = ... ... (
  ... => ... user_name   => 'SCOTT'
, task_name   => 'my_sql_tuning_task'
);
END;
/
Узнать состояние задания можно из словаря-справочника:
SELECT status, execution_start start_time, execution_end end_time
FROM dba_advisor_log
WHERE owner = 'SYS' AND ... = ... ... ... задание для настройки запроса:
EXECUTE -
DBMS_SQLTUNE.EXECUTE_TUNING_TASK ( 'my_sql_tuning_task' );
Повторный запрос к DBA_ADVISOR_LOG даст STATUS = 'COMPLETED'. (Для
серьезных запросов задание могло бы ... ... ... выполнило углубленный анализ с применением контрольных прогонов
фрагментов плана и подготовило рекомендации. Запросим их:
SET LONG 10000
SET LONGCHUNKSIZE 1000
SET LINESIZE 200
 
SELECT
DBMS_SQLTUNE.REPORT_TUNING_TASK ( ... ... ... ... ... результат.
Оптимизатор сделал два наблюдения: (а) отсутствует статистика по одной
из таблиц (и предложил готовую команду сбора ... и (б) ... ... выгодный план, применив профиль (и указал для сравнения
старый план и план с ... ... же ... можно извлечь из словаря-справочника, например:
SELECT type, message
FROM dba_advisor_findings
WHERE owner = 'SYS' AND task_name = 'my_sql_tuning_task'
;
Применим созданый профиль к ... ... чуть в иной ... нежели
чем рекомендует оптимизатор, но по сути так же:
BEGIN
DBMS_SQLTUNE.ACCEPT_SQL_PROFILE (
  task_name => 'my_sql_tuning_task'
, name      => 'my_sql_profile'
);
END;
/
Уточнить свойства (и наличие) ... ... ... ... ... ... category, type, status
FROM dba_sql_profiles
WHERE name = 'my_sql_profile'
;
Вернемся в исходный сеанс, ... ... ... и ... ... ... ... результат:
Execution Plan
----------------------------------------------------------
Plan hash value: 351108634
 
------------------------------------------------------------------------
--------------
|Id | Operation                    | Name    | Rows  | Bytes | Cost
(%CPU)| Time     ... 0 | SELECT ... ... |    14 |   364 ... 4  
(0)| 00:00:01 |
| 1 |  NESTED LOOPS                |         |    14 |   364 |     4  
(0)| 00:00:01 |
| 2 |   TABLE ACCESS ... | ... |    14 |   238 ... ... 00:00:01 |
| 3 |   TABLE ACCESS BY INDEX ROWID| ... ... 1 ... 9 |     1  
(0)| 00:00:01 |
|*4 |    INDEX UNIQUE SCAN         | PK_DEPT |     1 ... ... ... 00:00:01 ... ... (identified by operation id):
---------------------------------------------------
 
   4 - access("EMP"."DEPTNO"="DEPT"."DEPTNO")
 
Note
-----
   - SQL profile "my_sql_profile" used for this ... что от ... ... не ... ... посимвольного
совпадения. Выдадим:
select ename, LOC,SAL, hiredate
from emp,   dept    WHERE emp.deptno = dept.deptno
;
Получим снова:
Execution ... hash value: ... | ... | ... | Rows  | Bytes | ... ... |
------------------------------------------------------------------------
--------------
| 0 | SELECT STATEMENT             |         |    14 |   364 |     4  
(0)| 00:00:01 |
| 1 |  NESTED LOOPS                |         |    14 |   364 ... ... 00:00:01 |
| 2 |   TABLE ACCESS ... | ... |    14 |   238 ... ... 00:00:01 |
| 3 |   TABLE ACCESS BY INDEX ROWID| ... |     1 |     9 |     1  
(0)| 00:00:01 |
|*4 |    INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0  
(0)| 00:00:01 ... ... ... by ... ... 4 - ... - SQL profile ... used for this statement
Тем не менее опыт показывает, что несовпадение ... ... к ... в ... букв и ... ... Например,
следующий вид запроса не вызовет подключения профиля:
select ename, LOC,SAL, hiredate
from emp, scott.dept    WHERE emp.deptno = ... ... и ... ... ... ... может отказаться от
его использования. Профиль был ... для ... ... DEFAULT и ... ... только при условии, что
запрос выдается с установленым в DEFAULT ... ... ... Это ... ... ... его на ... SESSION SET SQLTUNE_CATEGORY = test;
 
SELECT ename, loc, sal, ... emp, ... ... = ... для ...... !) ... снова станет прежним:
 
Execution Plan
----------------------------------------------------------
Plan hash value: 615168685
 
------------------------------------------------------------------------
---
| Id  | ... | Name | Rows  | Bytes | Cost ... ... 0 | SELECT ... ... |    14 |   532 ...... |
|*  1 |  HASH JOIN         |      |    14 |   532 |     7  ... ... 2 |   TABLE ACCESS FULL| DEPT ... 4 |    84 ... 3   (0)|
00:00:01 |
|   3 |   TABLE ACCESS FULL| EMP  |    14 |   238 |  ... ... ... ... ... by ... id):
  1 - access("EMP"."DEPTNO"="DEPT"."DEPTNO")Note- dynamic sampling used
for this statement
Үш таблица берілген:qux атымен отырған комната ... табу ... username FROM ... username FROM table1 ORDER BY username;
SELECT username FROM table1 ORDER BY username DESC;
SELECT phone_id, user_id FROM table2 WHERE ... ... user_id FROM table2 WHERE ... LIMIT 1, 3;
SELECT table3.room_number FROM table1 INNER JOIN table2 USING(user_id)
INNER JOIN table3 ... WHERE ... = ... table3.room_number FROM table1 INNER JOIN table2 ON table1.user_id =
table2.user_id INNER JOIN table3 ON ... = ... ... = ... JOIN мәліметтерді таблицадан алу үшін қолданылады.
 INNER JOIN айырмашылықты көрсету үшін тағы бір table1 таблица қосамыз.
INSERT INTO table1 ... VALUE ... ... FROM table1 LEFT JOIN table2 ... ... table3 ... WHERE ... = 'quuz';
Көрсеткіш курсорды пайдалану:
DECLARE
TYPE GenericCursor IS REF CURSOR;
с1 GenericCursor;
empname VARCHAR2(200);
BEGIN
OPEN c1 FOR SELECT ename FROM ... c1 INTO ... WHEN ... ... со ... empname
END LOOP;
CLOSE c1;
END;
Көп жолдың пакеттік сұранысы:
DECLARE
TYPE GenericCursor IS REF CURSOR;
c1 GenericCursor;
TYPE VarcharTable IS TABLE OF VARCHAR2(200) INDEX BY BINARY_INTEGER;
-- ... тип ... ... ... ... ... нумеруются
числами
empnames VarcharTable;
-- объявили переменную созданного типа
BEGIN
OPEN c1 FOR SELECT ename FROM ... c1 BULK COLLECT INTO ... ... ... орындалуы:
DECLARE
BEGIN
UPDATE employees SET hire_date = SYSDATE WHERE id != ... INTO ... (name, city) VALUES ... ... анық емес ... rec IN (SELECT id, ename, 1 AS VALUE FROM ... ... || ': ' || rec.ename); END LOOP;
END;
Қолданылған әдебиетттер.
Ульман Д. ВВедение в системы баз данных.-М..2000
Кузин А.В., ... ... баз ... в системе MicrosoftAccess:
Учебник – Учебник – м.: Форум: Инфра-М, 2005г.
. Дейт К. Введение в систему баз ... ... ... Р. ... Пол Н. ... SQL - ... руководство. Перевод,
Киев1999г.
Дж.Мартин Организация баз данных в вычислительных системах. М, ... М.А. ... ... ... ... и ... Высшая
школа,1992г.
Диго С.М. Проектирование баз данных. Финансы и статистика, 1990г.
Мейс С. Использование языка SQL обеспечивает возможность ... ... в мире ... № 2, 1988 ... С.И. ... по Access. ... и ... Москва,2000.
Робинсон С. Access 2000. Учебный курс.

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









Ұқсас жұмыстар
Тақырыб Бет саны
MS SQL Server туралы мәліметтер және жұмыс істеу негіздері4 бет
SQL Server18 бет
SQL негіздері78 бет
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
Жабу / Закрыть

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