Есептелетін және таңдау өрістерін құру

Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 17:39, реферат

Краткое описание

Мәліметтер қорының әр кестесі өрістердің жиынтығынан тұратын жеке құрылымға ие болады. Әр өрстің мәліметтерінің жиынтығы мәліметтің типін сипаттайтын мазмұнынан тұрады, оған анықталған орында мән сәйкес келуі тиіс.
Delphi тіліндегі мәліметтер қорынының қосымшасындағы әр жинаққа өзіне сәйкес объект тура келеді. Өрістің негізгі объектісі болып Tfield классы табылады, ол абстрактілі өріспен жұмыс жасауға да негізделген. Ол мәліметтердің типіне сәйкес келеді. Осы базалық классқа басқа класстар сәйкес келеді.

Прикрепленные файлы: 1 файл

ВТ-31 лекция.docx

— 1.19 Мб (Скачать документ)

        [ORDER BY <сұрыпталатын өрістер тізімі>]

        [GROUP BY <топталатын өрістер тізімі>]

 

        [HAYING <топтау шарты> ]

        [UNION <Іштестірілген SELECT операторы>.]

Мәліметтер  жиынында  жазбалар  қайталанбас  үшін  DISTINCT сипаттаушысы қолданылады. Егер мәліметтер жиынына барлық өрістерді қосу керек  болса, онда тек «*» символын көрсетуге  болады

SELECT операторында   FROM       операндысы мен өрістер тізімі  міндетті түрде  болады.  FROM    операндында  жазбалар  таңдалатын  кесте  аттары көрсетіледі. 

Егер  тізімде  бірнеше  кестеден  алынған  өрістер  болсы,  онда  құрама  ат қолданады. Яғни,

    <Кесте аты>. <өріс аты> .

WHERE операндысында мәліметтер  жиынының  нәтижесін  таңдау  шарты жазылады.  Таңдау  шарты   сипатталатын  өрнек  логикалық   өрнек  болып табылады. Оның  элементтері өріс аттары, салыстыру  амалдары, арифметикалық және логикалық  амалдар, жақшалар, LIKE, NULL, BETWEEN, IN және  басқа да арнайы функциялар  болуы мүмкін.

  ORDER BY операндысы мәліметтер  жиынының нәтижесінде жазбаларды  сұрыптау  ретін  анықтайтын  өрістер  тізімінен  тұрады. Келісім  бойынша  әрбір  өріс  бойынша  мәндерінің  өсу  ретімен  орындалады.  Кему  ретімен  сұрыптау үшін DESC сипаттаушысы қатар қолданылады.

GROUP  BY    операндасы  нәтижелік  мәліметтер  жиынтығынжа   жазбалар тобын бөліп көрсету  үшін қолданылады, топта барлық  өрістері мәндері бірдей жазбалар  қарастырылады. 

HAVING    операндысы  GROUP  BY  операндысымен  бірге   қолданылады және топтың ішіндегі  жазбаларды таңдау үшін пайдаланылады.

SELECT    инструкциясы  күрделі  құрылымнан  тұруы   және  бірінің  үшіне бірі  орналасуы  мүмкін.  Инструкцияларды   біріктіру  UNION  операндысының  көмегімен  орындалады.  Мәліметтер  жиынының  нәтижесі  екі  инструкцияның 

WHERE  операндысында   берілген  таңдау  шарты  орындалу  барысында таңдалған жазбалардан  тұрады.    

 

Жазбаларды модификациялау

 

Жазбаларды модификациялау  жазбаларды  өзгертуден,  мәліметтер жиынына жаңа жазба қосудан және бар жазбаны жоюдан тұрады.

INSERT - Жаңа жазбаны енгізу  үшін қолданылатын оператор.

    Жазылу форматы:

INSERT INTO <кесте аты>[(<Өріс  аттары>)] VALUES (<мәндер тізімі>)

Егер  өрістер  тізімі  көрсетілмесе,  онда  барлық  өрістер  кіреді  деп есептелінеді.

Мысалы:

INSERT INTO (tabnom, fiо, . . . )  VALUES (7,’Аскаров‘, ...);

Кестеге бірнеше жазбаларды енгізуде Insert инструкциясы келесі форматта болады: 

INSERT INTO <кесте аты> [( <өріс  аттары> )] <оператор SELECT>

Бағандарға  меншіктелетін  мәндер    select  операторын  қайтратын  мәндері болады.  SELECT  операторы  жазбалар  жиынын  қайтаратын  болғандықтан

INSERT операторы сонша жаңа  жазбаны қосады.

UPDATE  – бір  немесе  бірнеше  жазбаларды  өзгерту   үшін  қолданылатын оператор.

Жазылуы форматы:

UPDATE <кесте аты>

                   SET өріс аты1 = мән1

        ...

        SET өріс  атыN = мәнN

                   [WHERE <іздеу шарты>];

Егер  WHERE іздеу шарты  болмаса, онда кестедегі барлық жазба  өзгереді.

Мысалы:

         UPDATE sotr

         SET otdel =’ИСЦ’, staj=staj+2

         WHERE fio=’Маратов’;

DELETE – кестедегі жазбалар  тобын жою үшін қолданылатын  оператор.

   Жазылу форматы:

  DELETE FROM <кесте аты>

    [WHERE <іздеу шарты>];

Іздеу шартын қанағаттандыратын  барлық жазбалар жойылады. Егер  іздеу  шарты көрсетілмесе, онда кестеден барлық жазбалар жойылады.

       

TQuery компонентімен  жұмыс

 

TQuery компоненті қасиетінің ерекшелігі  реляциялық мәліметтер қорымен  жұмыс істеуге арналған арнайы  тіл SQL-ді пайдалану болып табылады. Бұл тіл көмегімен программа  SQL-сұраныстарды құрады, оны TQuery мәліметтер  қоры машинасы BDE-ге береді.Машинада SQL құрылған интерпретаторы болады, ол сұраныста сипатталған іс-әрекеттерді  орындайды.

Егер сұраныс BDE көмегімен құрылған қажет мәліметтерді мәліметтер қорынан  алуды талап етсе, мәліметтер программаны  іске қосу каталогінің уақытша файлы  түрінде желілік кестеге салынады да, TQuery осы кестенің үстінен қарайтын болады.Уақытша кестедегі мәліметтер TDataSource делдал-компанент арқылы визуальді  компаненттерге беріледі де, оларды TTable компанентінен алынған сияқты көрсетіледі.Бірақ TTable-ден айырмашылығы қолданушы  оларды өзгерте алады, себебі олар анық мәліметтердің тек көшірмесі  болады. Мәліметтер қорында сақталып тұрған информацияларды өзгерту  үшін TQuery BDE-ге беретін арнайы сұраныстар қалыптасады. Бұл жағдайда BDE жаңаларын  қалыптастырмайды, және алдында құрылған уақытша кестелерді пайдаланбайды  да, тек сұраныста орындап, программаға  оның нәтижесін хабарлайды. Демек  мәліметтер жүйесінің модификациясы  жағдайында сұраныстың программалық өзгеруін талап ету TQuery-дің TTable-ден өзгешілігін  көрсетеді.

SQL-сұранысқа кейбір шектеулер  қойғанда TQuery ”тірі” мәліметтер  жүйесін құруы мүмкін, яғни оған  енгізілген BDE өзгертулері мәліметтер  қоры кестесінде TTable компоненті  жасайтындай көрсетіледі.

Желілік немесе файл-серверлік мәліметтер қорымен жұмыс кезінде TQuery-дің  мәліметтерге ену жылдамдығы жалпы  жағдайда, TTable-ге қарағанда аз болады, себебі TQuery өзімен жұмыс кезінде  уақытша кестелер құрады. Бір жағынан SQL-дің қуатты мүмкіндіктері TQuery көмегімен TTable көмегімен алынбайтын мәліметтер жүйесін қамтамасыз етеді (мысалға, мәліметтер жүйесінде мәліметтер қорының  бірнеше кестелерін біріктіру). Серверлі мәліметтер қорымен жұмыс кезінде TTable-дің қажеттілігі төмендейді, себебі бұл жағдайда ол төменгі мәліметтер қорының барлық серверлердің желілік  көшірмесі болатын уақытша кесте  құрады, содан соң барып одан қажет  мәліметтер қорын құрады. Үлкен жергілікті кестелерді құруда уақыттың көп кетуі мен күрделі мәліметтер қорын алуға қатысты TTable-дің аз мүмкіндіктері оның клиент-сервер қосымшаларымен жұмыс істеуін алып тастайды.

 

Бақылау сұрақтары:

1. SQL тілі не үшін қолданылады?

2. Кестені құру, өзгерту  және жою үшін қандай опеарторлар  қолданылады?

3. Кестеге мәліметті енгізу, өзгерту және жою үшін қандай  операторлар 

қолданылады?

4. Таңдау операторының  жазылуы?

   5. TQuery компонентімен жұмыс

 

11.9 тақырыбы Алыстағы мәліметтер қоры INTERBASE

 

 Мәліметтер базасымен  байланысты басқару (TDataBaseклассы, Sessionобъекті)

 

Осы мақалада TDataBase компонентінің  және TSession объектінің көмегімен мәліметтер базасын басқару туралы айтылған, ол бағдарламада автоматты түрде  құрылады. Мәліметтер базасының локальді жалған атын құру процедурасы және пароль бойынша Paradox кестелеріне рұқсаттылық  айтылған.

TdataBase классы

 

TDataBase типті объект мәліметтер  базасымен жұмыс кезінде міндетті  болып табылмайды, бірақ ол мәліметтер  базасымен байланысты басқару  бойынша бірнеше қосымша мүмкіндіктерін  қатарын ұсынады.  TDataBase:

 

  • Мәліметтер базасымен тұрақты байланысты орнату үшін
  • Мәліметтер базасымен байланыс кезінде өздік диалогты анықтау (парольді сұрау)
  • Мәліметтер базасының локальді жалған атын құру үшін
  • Байланыс кезінде параметрлерді өзгерту үшін
  • Транзакцияларды басқару үшін қолданылады.

 

TDataBase объектпен орындау кезінде  көрінбейді. Ол “Data Access” Палитра  Компонентбетінде орналасқан. Жобаға TDataBase-ті қосу үшін оны сіздің  бағдарламаңыздың бас терезесіне  “салу керек”.

 

Мәліметтер базасымен  тұрақты байланысты орнату

 

Егер сіз мәліметтер базасымен  жұмыс істесеңіз, онда жұмыс алдында  осы базамен байланыс процедурасы  орындалады. Байланысу процедурасына, бұдан басқа, қолданушының атын және паролін сұрау да кіреді (тек IDAPI арқылы Paradox және dBase локальді кестелерімен жұмыс кезінде).

 Егер бағдарламада TDataBase қолданылмаса, онда байланысу процедурасы мәліметтер  базасынан бірінші кестені ашу  кезінде орындалады.

Мәліметтер базасымен байланыс үзіледі, бағдарламада осы базаның  соңғы кестесі жабылған кезде (бұл Sessionобъектісінің KeepConnectionsқасиетінде False орнатылса, бірақ оны кешірек талқылармыз).

Енді, егер кестені ашсақ, онда онда байланыс орнату процедурасы қайталануы мүмкін, ал олқолданушы үшін ыңғайсыз. Осы мәліметтер базасының ашық кестелері  болмаған кезде де, байланыс үзілмес  үшін, TDataBase типті компонентін қолдануға  болады.

AliasName қасиетінде бағдарлама жұмыс  істейтін мәліметтер базасының  жалған атын көрсетіңіз; DatabaseName қасиетінде  – базаның ескі жалған атының  орынына кестенің сілтемесі болатын  кез келген ат (БД-ның жалған  аты). Connected қасиетінде True-ды орнатыңыз–базамен  байланыс процедурасы бағдарламаны  жүктеу кезінде орындалады. Және  де KeepConnection қасиетінде True-ды орнату  керек (1-ші суретті қара).

 

 

Сурет 1- Инспектор объектіндегі TDataBase қасиеті

 

Біздің мысалымызда, DataBase1 қасиеттерін  бергеннен кейін, DatabaseName қасиетіндегі IBLOCAL жұмыс істейтін барлық кестелерге Loc_IBLOCAL-ты қою керек.

 

Мәліметтер базасымен  байланыс кезіндегі өзінің диалогын анықтау 

 

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

 

 

Сурет 2 - Қолданушының авторизация  диалогы

 

Диалогтың түрін өзгертуге  болады немесе оны тіптен алып тастауға болады. Ол үшін TDataBase классының қасиеттері мен оқиғалары - LoginPrompt, ParamsжәнеOnLoginқолданылады.

Қолданушының аты мен  паролін сұрауды алып тастау үшін LoginPrompt қасиетінде False–ты орнатыңыз. Бұл жағдайда Params қасиетінде анық түрде (дизайн кезінде немесе орындау кезінде) қолданушының аты мен паролін  көрсету керек. Мысалы, бағдарламада жазуға болады (мәліметпен байланыс кезіне дейін, мысалы, Form1 OnCreate оқиғасы үшін):

 

DataBase1.LoginPrompt:=False;

DataBase1.Params.Clear;

DataBase1.Params.Add(‘USER NAME=SYSDBA’);

DataBase1.Params.Add(‘PASSWORD=masterkey’);

DataBase1.Connected:=True;

 

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

 

procedure TForm1.Database1Login(Database: TDatabase;

  LoginParams: TStrings);

begin

  Form2.ShowModal;

if Form2.ModalResult = mrOK then

with LoginParams do begin

Values['USER NAME'] := User_Name;

Values['PASSWORD'] := User_Pass;

end;

end;

 

МұндаForm2–ат пен парольді енгізуге арналған жаңа терезе-диалог, User_NameжәнеUser_Pass–енгізілген ат және пароль сақталатын жолдар.

 

Мәліметтер базасының локальді жалған атын құру

 

Әдетте, мәліметтер базасының жалған аты (Alias) BDE конфигурация утилитасында анықталады және ол туралы ақпарат IDAPI.CFG конфигурация файлында сақталады. Бірақ, бағдарламада ертерек анықталған мәліметтер базасының BDE конфигурациясының жалған атын ғана емес, сонымен қатар локальді (яғни осы бағдарлама ішінде ғана көрінетін) жалған атты да қолдаунға болады. Бұл кейбір кездерде керек емес болады, мысалы, BDE конфигурациясының файлынан қолданыстағы жалған атты өшірген кезде бағдарламаны сақтап қалу үшін керек..

БД локальді жалған атты құру үшін, жобаның басты терезесіне DataBase1 компонентін салыңыз. Келесі әрекеттерді Объектілер Инспекторының көмегімен орфндауға болады, бірақ оны компонент редакторы арықылы орындауға болады. DataBase1-ге екі рет тышқанның батырмасымен шертіңіз – 3-ші суретте көрсетілген диалог пайда болады.

 

 

Сурет 3 - TDataBase классының редакторлар компоненті

 

Бұл диалогта мәліметтер базасының  атын көрсету талап етіледі –  бұл кестелер сілтеме жасайтын оның локальді жалған аты болады (DatabaseName қасиеті);  драйвер типі (біздің мысалымызда  бұл INTRBASE); сонымен қатар мәліметтер базасымен байланыс кезінде қолданылатын параметрлер.“Parameter Overrides”алаңында  сипаттамалар тізімін “Defaults” батырмасын басу арқылы  алуға болады. Сипаттамалар жиынтығы сіз жұмыс істейтін БД типіне байланысты болады. Осы сипаттамаларға талап етілетін мағыналарды беру керек – серверге дейінгі жолды, қолданушы атын және т.б.Редактордан  шыққаннан кейін, “Name” алаңында көрсетілген ат компонентіTDataSet (TTable, TQuery etc.) типті компоненттер үшін мәліметтер базасының аттар тізімінде пайда  болады.

 

Информация о работе Есептелетін және таңдау өрістерін құру