Скачиваний:
6
Добавлен:
24.03.2015
Размер:
13.92 Кб
Скачать

мбвптбфптобс тбвпфб 6 мбвптбфптобс тбвпфб 4

тебмйъбгйс ртпуфекыйи претбгйк тбвпфщ у вбъпк дбоощи утедуфчбнй чуфтпеоопзп SQL

гЕМШ ТБВПФЩ

рТЙПВТЕФЕОЙЕ ОБЮБМШОЩИ ОБЧЩЛПЧ ТБВПФЩ УП ЧУФТПЕООЩН SQL УТЕДУФЧБНЙ ЧУФТПЕООПЗП SQL/C.

уПДЕТЦБОЙЕ ТБВПФЩ Й НЕФПДЙЮЕУЛЙЕ ХЛБЪБОЙС Л ЕЕ ЧЩРПМОЕОЙА

чУФТПЕООЩК SQL (ESQL)- ЙОУФТХНЕОФ ТБЪТБВПФЛЙ РТЙМПЦЕОЙК ДМС ВБЪЩ ДБООЩИ ОБ СЪЩЛЕ уЙ У ЧПЪНПЦОПУФША ЙУРПМШЪПЧБОЙС УТЕДУФЧ SQL. рТЙ УПЪДБОЙЙ ESQL/C-РТПЗТБННЩ РПМШЪПЧБФЕМШ ТБЪТБВБФЩЧБЕФ у-РТПЗТБННХ, ЧЛМАЮБЕФ Ч ОЕЕ УРЕГЙБМШОЩЕ ЪБЗПМПЧПЮОЩЕ ЖБКМЩ Й SQL-ПРЙУБОЙС, ТЕБМЙЪХАЭЙЕ ТБВПФХ У ВБЪПК ДБООЩИ. рТЕРТПГЕУУПТ ESQL/C РТЕПВТБЪХЕФ SQL-ПРЙУБОЙС Ч ПВТБЭЕОЙС Л ВЙВМЙПФЕЮОЩН ЖХОЛГЙСН, ЛПФПТЩЕ ЧЪБЙНПДЕКУФЧХАФ У УЕТЧЕТПН ВБЪЩ ДБООЩИ, Й ДБЕФ ОБ ЧЩИПДЕ у-ЛПД. дБМЕЕ РПМХЮЕООЩК у-ЛПД ЛПНРЙМЙТХЕФУС Й МЙОЛХЕФУС. йУИПДС ЙЪ ЧЩЫЕУЛБЪБООПЗП, РПМШЪПЧБФЕМШ, ЦЕМБАЭЙК ТБЪТБВБФЩЧБФШ ESQL/у-РТПЗТБННЩ ДПМЦЕО ПВМБДБФШ ОБЧЩЛБНЙ ТБВПФЩ У СЪЩЛПН уЙ Й ХНЕФШ РПМШЪПЧБФШУС УТЕДУФЧБНЙ SQL. рТЙ ЬФПН ОЕПВИПДЙНП ХЮЙФЩЧБФШ ПУПВЕООПУФЙ ФПК ПРЕТБГЙПООПК УЙУФЕНЩ, Ч ТБНЛБИ ЛПФПТПК УПЪДБЕФУС ЛМЙЕОФУЛПЕ РТЙМПЦЕОЙЕ. ч ДБООПК Й ДЧХИ РПУМЕДХАЭЙИ МБВПТБФПТОЩИ ТБВПФБИ РТЕДРПМБЗБЕФУС ТБЪТБВПФЛБ ОЕУМПЦОЩИ ESQL/у-РТПЗТБНН. ч МБВПТБФПТОЩИ ТБВПФБИ ЙУРПМШЪХЕФУС УИЕНБ ВБЪЩ ДБООЩИ, УПЪДБООБС Ч 1 МБВПТБФПТОПК ТБВПФЕ, УПДЕТЦБЭБС 4 ФБВМЙГЩ:

ФБВМЙГБ РПУФБЧЭЙЛПЧ (S);

ФБВМЙГБ ДЕФБМЕК (P);

ФБВМЙГБ ЙЪДЕМЙК (J);

ФБВМЙГБ РПУФБЧПЛ (SPJ).

еУМЙ РТЙЧЕДЕООБС УИЕНБ ВБЪЩ ДБООЩИ ПФУХФУФЧХЕФ (ЙМЙ МАВБС ФБВМЙГБ ЙЪ ОЕЕ), ФП ОЕПВИПДЙНП ЧПУУФБОПЧЙФШ ВБЪХ ДБООЩИ, РПМШЪХСУШ ЙОФЕТБЛФЙЧОЩНЙ УТЕДУФЧБНЙ РТПЗТБННЩ phpPgAdmin, МЙВП ЧЩРПМОЙЧ ОЕПВИПДЙНЩК ЪБРТПУ ОБ СЪЩЛЕ SQL Ч ТБНЛБИ ДБООПК РТПЗТБННЩ:

create table S (n_post char(6) NOT NULL, family nchar(20),

rating smallint, town nchar(20));

create table P (n_det char(6), name nchar(20),

color nchar(20), weigh smallint,

town nchar(20));

create table J (n_izd char(6), name nchar(20),

town nchar(20));

create table SPJ (n_post char(6), n_det char(6),

n_izd char(6), kol smallint));

insert into S

values (...........................);

insert into P

values (...........................);

insert into J

values (...........................);

insert into SPJ

values (...........................)

дМС ТБЪТБВПФЛЙ ESQL/у-РТПЗТБНН ОЕПВИПДЙНП ЙЪХЮЙФШ:

ПВЭЙЕ РТБЧЙМБ РПДЗПФПЧЛЙ РТПЗТБНН Й ЙУРПМШЪПЧБОЙС РТПЗТБННОЩИ УТЕДУФЧ ЧУФТПЕООПЗП SQL/C;

БРРБТБФ ПРТЕДЕМЕОЙС Й ЙУРПМШЪПЧБОЙЕ ЗМБЧОЩИ РЕТЕНЕООЩИ;

УТЕДУФЧБ ЧУФТБЙЧБОЙС SQL-ПРЙУБОЙК Ч у-РТПЗТБННЩ;

УФТХЛФХТХ ПВМБУФЙ УЧСЪЙ SQLCA Й УТЕДУФЧБ ПВТБВПФЛЙ ПЫЙВПЛ SQL-ЪБРТПУПЧ;

ОБЪОБЮЕОЙЕ Й УФТХЛФХТХ ЪБЗПМПЧПЮОЩИ ЖБКМПЧ.

дБООБС МБВПТБФПТОБС ТБВПФБ УЧСЪБОБ У ОБРЙУБОЙЕН ФБЛЙИ РТПЗТБНН ОБ ESQL/C, ЛПФПТЩЕ РПУМЕ ПВТБВПФЛЙ SQL-ЪБРТПУБ ЧПЪЧТБЭБАФ ЕДЙОУФЧЕООХА УФТПЛХ, Б ФБЛЦЕ ЧЩРПМОСАФ РТПУФЕКЫЙЕ ПРЕТБГЙЙ РП НПДЙЖЙЛБГЙЙ ВБЪЩ ДБООЩИ ВЕЪ ЙУРПМШЪПЧБОЙС БРРБТБФБ ЛХТУПТБ.

йУИПДОЩК ЖБКМ У РТПЗТБННПК ОБ ЧУФТПЕООПН SQL/C ДПМЦЕО ЙНЕФШ ТБУЫЙТЕОЙЕ .ec (ОБРТЙНЕТ, source.ec).

чЩЪПЧ ФТБОУМСФПТБ УП ЧУФТПЕООПЗП ESQL/C ЧЩРПМОСЕФУС ЛПНБОДПК pgcci. оЙЦЕ РТЙЧЕДЕО ХРТПЭЕООЩК ЧБТЙБОФ УЙОФБЛУЙУБ ЛПНБОДЩ pgcci:

pgcci <ЙНС ЖБКМБ ВЕЪ ТБУЫЙТЕОЙС>

чИПДОЩЕ ДБООЩИ ДМС SQL-ПРЙУБОЙК РЕТЕДБАФУС ЮЕТЕЪ ФБЛ ОБЪЩЧБЕНЩЕ ЗМБЧОЩЕ РЕТЕНЕООЩЕ, ЮЕТЕЪ ОЙИ ЦЕ ЧПЪЧТБЭБАФУС ТЕЪХМШФБФЩ ЪБРТПУБ, ЛПФПТЩЕ ПФПВТБЦБАФУС ОБ ЬЛТБОЕ ФЕТНЙОБМБ ДМС ЛПОФТПМС ЧЩРПМОЕОЙС. рТЙ ПВЯСЧМЕОЙЙ ЗМБЧОЩИ РЕТЕНЕООЩИ Ч СЪЩЛЕ ЧУФТПЕООПЗП SQL/C ПРЕТБФПТХ ПРЙУБОЙС РЕТЕНЕООЩИ РТЕДЫЕУФЧХЕФ ЪОБЛ $, МЙВП ПВЯСЧМЕОЙЕ РТПЙЪЧПДЙФУС ЧОХФТЙ ВМПЛБ

exec SQL begin declare section

. . . .

exec SQL end declare section

рТЙ ЙУРПМШЪПЧБОЙЙ ЗМБЧОЩИ РЕТЕНЕООЩИ Ч РТПЗТБННЕ ESQL/C ЧОХФТЙ SQL-ПРЙУБОЙК ЙН ФБЛЦЕ РТЕДЫЕУФЧХЕФ ЪОБЛ $, ЧОЕ SQL-ПРЙУБОЙК ЗМБЧОЩЕ РЕТЕНЕООЩЕ ЙУРПМШЪХАФУС ПВЩЮОЩН ПВТБЪПН. SQL-ПРЙУБОЙСН (ПРЕТБФПТБН СЪЩЛБ SQL) Ч РТПЗТБННЕ ОБ ЧУФТПЕООПН SQL/C ФБЛЦЕ РТЕДЫЕУФЧХЕФ ЪОБЛ $.

уЕТЧЕТ ВБЪ ДБООЩИ ЧПЪЧТБЭБЕФ ЛПД ТЕЪХМШФБФБ Й, ЧПЪНПЦОП, ДТХЗХА ЙОЖПТНБГЙА Ч УФТХЛФХТХ ДБООЩИ, ОБЪЩЧБЕНХА ПВМБУФША УЧСЪЙ SQL (SQL Communication Area - SQLCA). уФТХЛФХТБ Й ОБЪОБЮЕОЙЕ ПФДЕМШОЩИ РПМЕК SQLCA РТЙЧЕДЕОЩ Ч рТЙМПЦЕОЙЙ 3. уФТХЛФХТБ SQLCA ПРЙУБОБ Ч ЪБЗПМПЧПЮОПН ЖБКМЕ sqlca.h, ЛПФПТЩК БЧФПНБФЙЮЕУЛЙ РПДЛМАЮБЕФУС Л РТПЗТБННЕ ОБ ЧУФТПЕООПН SQL/C. уТЕДЙ ДТХЗЙИ ЪБЗПМПЧПЮОЩИ ЖБКМПЧ ПФНЕФЙН:

datatime.h - ПРЙУЩЧБЕФ УФТХЛФХТХ ДМС ФЙРБ ДБООЩИ datetime;

decimal.h - ПРЙУЩЧБЕФ УФТХЛФХТХ ДМС ФЙРБ ДБООЩИ decimal;

locator.h - ПРЙУЩЧБЕФ УФТХЛФХТХ ДМС blobs-ДБООЩИ;

varchar.h - ПРЙУЩЧБЕФ УФТХЛФХТХ ДМС ФЙРБ ДБООЩИ varchar;

sqlhdr.h - ПРЙУЩЧБЕФ РТПФПФЙРЩ ЖХОЛГЙК ВЙВМЙПФЕЛЙ SQL/C;

sqltype.h, sqltypes.h - УФТХЛФХТЩ ДМС ТБВПФБ У ДЙОБНЙЮЕУЛЙНЙ ЗМБЧОЩНЙ РЕТЕНЕООЩНЙ.

дМС ТБВПФЩ У ПВЯЕЛФБНЙ УИЕНЩ ВБЪЩ ДБООЩИ ОЕПВИПДЙНП ХЛБЪБФШ

- ВБЪХ ДБООЩИ;

- УИЕНХ ВБЪЩ ДБООЩИ.

вБЪБ ДБООЩИ ЪБДБЕФУС ПРЕТБФПТПН Ч РТПЗТБННЕ ОБ СЪЩЛЕ ESQL/C

Connect to <ЙНС ВБЪЩ ДБООЩИ>@<ЙНС УЕТЧЕТБ> USER <МПЗЙО> using <рБТПМШ> ЙНС ВБЪЩ ДБООЩИ, ЙУРПМШЪХЕНПЕ Ч МБВПТБФПТОЩИ ТБВПФБИ 1-10 - Students;

ЙНС УЕТЧЕТБ - fpm2;

ЙНС МПЗЙОБ ХЛБЪЩЧБЕФУС Ч ДЧПКОЩИ ЛБЧЩЮЛБИ;

РБТПМШ ХЛБЪЩЧБЕФУС Ч ДЧПКОЩИ ЛБЧЩЮЛБИ ЙМЙ РПУТЕДУФЧПН ЗМБЧОПК РЕТЕНЕООПК, РПДМЕЦБЭЕК ЧЧПДХ ОБ ЬФБРЕ ЧЩРПМОЕОЙС РТПЗТБННЩ.

дМС ХЛБЪБОЙС УИЕНЩ ВБЪЩ ДБООЩИ ЧПЪНПДОЩ ОЕУЛПМШЛП ЧБТЙБОФПЧ. пДЙО ЙЪ ОЙИ УПУФПЙФ Ч ХЛБЪБОЙЙ РЕТЕД ЪБРХУЛПН ЪБЗТХЪПЮОПЗП ЖБКМБ У РТПЗТБННПК ОБ СЪЩЛЕ ESQL/C УИЕНЩ ВБЪЩ ДБООЩИ ЛПНБОДПК ЙЪ ЛПНБОДОПК УФТПЛЙ:

Set_search_path <ЙНС-УИЕНЩ> <ЙНС-ВБЪЩ ДБООЩИ>

рПУМЕДПЧБФЕМШОПУФШ ЧЩРПМОЕОЙС МБВПТБФПТОПК ТБВПФЩ

1. тБЪТБВПФБФШ Й ПФМБДЙФШ ESQL/у-РТПЗТБННХ, ТЕБМЙЪХАЭХА ЪБДБЮХ 1 ЙЪ УППФЧЕФУФЧХАЭЕЗП ЧБТЙБОФБ ЪБДБОЙК.

2. тБЪТБВПФБФШ Й ПФМБДЙФШ ESQL/у-РТПЗТБННХ, ТЕБМЙЪХАЭХА ЪБДБЮХ 2 ЙЪ УППФЧЕФУФЧХАЭЕЗП ЧБТЙБОФБ ЪБДБОЙК Й УЧСЪБООХА У НПДЙЖЙЛБГЙЕК ВБЪЩ ДБООЩИ.

3. тБЪТБВПФБФШ Й ПФМБДЙФШ ESQL/у-РТПЗТБННХ, ДПВБЧМСАЭХА Ч ФБВМЙГХ РПУФБЧЭЙЛПЧ S РПУФБЧЭЙЛБ У ЖБНЙМЙЕК ЮМЕОБ чБЫЕК ВТЙЗБДЩ, Б ФБЛЦЕ 3-4 РТПЙЪЧПМШОЩЕ РПУФБЧЛЙ Ч ФБВМЙГХ SPJ, УЧСЪБООЩЕ У ЬФЙН РПУФБЧЭЙЛПН. бФТЙВХФЩ ДПВБЧМСЕНЩИ УФТПЛ ДПМЦОЩ ВЩФШ ЧЩВТБОЩ ФБЛЙН ПВТБЪПН, ЮФПВЩ ЙЪНЕОЙФШ ТЕЪХМШФБФ ТЕЫЕОЙС ЪБДБЮЙ 1.

4. чЩРПМОЙФШ ESQL/у-РТПЗТБННХ, ТБЪТБВПФБООХА Ч Р. 1 ДМС ОПЧПЗП УПУФПСОЙС ВБЪЩ ДБООЩИ. уТБЧОЙФШ ТЕЪХМШФБФЩ.

ч УМХЮБЕ ПЫЙВПЮОПЗП ЧЩРПМОЕОЙС РТПЗТБНН, РТЙЧПДСЭЙИ Л ОЕРТЕДХУНПФТЕООЩН ЙЪНЕОЕОЙСН ВБЪЩ ДБООЩИ, УМЕДХЕФ РТЙЧЕУФЙ ВБЪХ ДБООЩИ Ч ЙУИПДОПЕ УПУФПСОЙЕ.

фТЕВПЧБОЙС Л ТБЪТБВБФЩЧБЕНПК РТПЗТБННЕ

тБЪТБВБФЩЧБЕНЩЕ ESQL/C-РТПЗТБННЩ ДПМЦОЩ ХДПЧМЕФЧПТСФШ УМЕДХАЭЙН ФТЕВПЧБОЙСН:

ПВЕУРЕЮЙЧБФШ ОЕПВИПДЙНХА ПВТБВПФЛХ ПЫЙВПЛ;

ЧУЕ ДЕКУФЧЙС Ч ПФОПЫЕОЙЙ ВБЪЩ ДБООЩИ ДПМЦОЩ ЧЩРПМОСФШУС Ч ТБНЛБИ ФТБОЪБЛГЙК (ПРЕТБФПТЩ SQL Begin work, Commit work, Rollback work, УН. рТЙМПЦЕОЙЕ 2);

ДПМЦЕО ВЩФШ РТЕДХУНПФТЕО ЧЩЧПД УППВЭЕОЙК ПВП ЧУЕИ ЫБЗБИ ЧЩРПМОЕОЙС РТПЗТБННЩ, Ч ФПН ЮЙУМЕ Й П ЧПЪНПЦОЩИ ПЫЙВЛБИ;

РТПЗТБННБ ДПМЦОБ ВЩФШ ДПУФБФПЮОП ДПЛХНЕОФЙТПЧБОБ.

чБТЙБОФЩ ЪБДБОЙК

чБТЙБОФ 1

1. чЩДБФШ РПМОХА ЙОЖПТНБГЙА П РПУФБЧЭЙЛЕ, ЙНЕАЭЙН НБЛУЙНБМШОЩК ТЕКФЙОЗ.

2. рЕТЕЧЕУФЙ РПУФБЧЭЙЛБ У НЙОЙНБМШОЩН ТЕКФЙОЗПН Ч ЗПТПД, ЗДЕ ЙЪЗПФБЧМЙЧБЕФУС УБНБС ФСЦЕМБС ДЕФБМШ.

чБТЙБОФ 2

1. чЩДБФШ РПМОХА ЙОЖПТНБГЙА ПВ ЙЪДЕМЙЙ, ЙЪЗПФБЧМЙЧБЕНПН Ч ЗПТПДЕ, Ч ЛПФПТПН РТПЦЙЧБЕФ РПУФБЧЭЙЛ У НБЛУЙНБМШОЩН ТЕКФЙОЗПН.

2. рПНЕОСФШ НЕУФБНЙ ЗПТПДБ, ЗДЕ РТПЦЙЧБАФ РПУФБЧЭЙЛЙ У НЙОЙНБМШОЩН Й НБЛУЙНБМШОЩН ТЕКФЙОЗПН.

чБТЙБОФ 3

1. чЩДБФШ РПМОХА ЙОЖПТНБГЙА П ДЕФБМЙ, ЙНЕАЭЕК НБЛУЙНБМШОЩК ЧЕУ.

2. рЕТЕЧЕУФЙ РПУФБЧЭЙЛБ У НБЛУЙНБМШОЩН ТЕКФЙОЗПН Ч мПОДПО.

чБТЙБОФ 4

1. чЩДБФШ ПВЭЙК ПВЯЕН РПУФБЧПЛ ДЕФБМЕК ЛТБУОПЗП ГЧЕФБ.

2. ч ФБВМЙГЕ ДЕФБМЕК УНЕОЙФШ ОБЪЧБОЙЕ ДЕФБМЙ "чЙОФ" ОБ ОБЪЧБОЙЕ ДЕФБМЙ У НБЛУЙНБМШОЩН ЧЕУПН.

чБТЙБОФ 5

1. чЩДБФШ РПМОХА ЙОЖПТНБГЙА ПВ ЙЪДЕМЙЙ, ЙНЕАЭЕН НБЛУЙНБМШОЩК ПВЯЕН РПУФБЧПЛ ДЕФБМЕК.

2. ч ФБВМЙГЕ ДЕФБМЕК УНЕОЙФШ ЗПТПД, ЗДЕ ЙЪЗПФБЧМЙЧБЕФУС УБНБС МЕЗЛБС ДЕФБМШ, ОБ рБТЙЦ.

чБТЙБОФ 6

1. чЩДБФШ ПВЭЙК ПВЯЕН РПУФБЧПЛ ДЕФБМЕК ДМС ЙЪДЕМЙС J2.

2. хЧЕМЙЮЙФШ ТЕКФЙОЗ ЧУЕИ МПОДПОУЛЙИ РПУФБЧЭЙЛПЧ ОБ 5.

чБТЙБОФ 7

1. чЩДБФШ ПВЭЙК ПВЯЕН РПУФБЧПЛ ДЕФБМЕК ДМС ЙЪДЕМЙС У НБЛУЙНБМШОЩН ПВЯЕНПН РПУФБЧПЛ.

2. хЧЕМЙЮЙФШ ЧЕУ ЧУЕИ ЛТБУОЩИ ДЕФБМЕК ОБ 10.

 

лПОФТПМШОЩЕ ЧПРТПУЩ

юФП ФБЛПЕ ЗМБЧОЩЕ РЕТЕНЕООЩЕ? лБЛ ПОЙ ПРТЕДЕМСАФУС Й ЙУРПМШЪХАФУС Ч РТПЗТБННБИ ОБ СЪЩЛЕ ESQL/у?

лБЛПЧЩ РТБЧЙМБ ЙУРПМШЪПЧБОЙС SQL-ПРЙУБОЙК Ч РТПЗТБННБИ ОБ СЪЩЛЕ ESQL/C?

лБЛПЧБ УФТХЛФХТБ ПВМБУФЙ УЧСЪЙ SQLCA?

лБЛ ПВТБВБФЩЧБАФУС NULL-ЪОБЮЕОЙС Ч РТПЗТБННБИ ОБ СЪЩЛЕ ESQL/C?

лБЛПЧЩ ПВЭЙЕ РТБЧЙМБ ПВТБВПФЛЙ ПЫЙВПЛ SQL-ЧЩЪПЧПЧ?

лБЛПЧП ОБЪОБЮЕОЙЕ ЪБЗПМПЧПЮОЩИ ЖБКМПЧ?

лБЛПК ЪБЗПМПЧПЮОЩК ЖБКМ ДПМЦЕО ВЩФШ РПДЛМАЮЕО Л РТПЗТБННЕ ДМС ДПУФХРБ Л УФТХЛФХТЕ SQLCA?

юФП ФБЛПЕ ХТПЧЕОШ ЙЪПМСГЙЙ? лБЛПК ХТПЧЕОШ ЙЪПМСГЙЙ НПЦЕФ ЙУРПМШЪПЧБФШУС РТЙ ЧЩРПМОЕОЙЙ РТПЗТБНН ДБООПК МБВПТБФПТОПК ТБВПФЩ?

Соседние файлы в папке Лабораторные по ПРОЕКТИРОВАНИЮ ИС