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

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

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

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

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

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

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

 

Оқиға

 

propertyAfterPrint: TQRAfterPrintEvent;

және

propertyBeforePrint: TQRBeforePrintEvent;

сәйкесінше жолақты басып-шыққанға дейін және кейін басталады. Тәсіл

functionAddPrintable(PrintableClass: TQRNewComponentClass): TQRPrintable;

 

 

бағдарламаны өткізу процессінде  жолаққа бейнелегіш компонентті  орнату үшін қолданылады. Ол автоматты түрде жолақтар арасында меншіктік қатынасты орнатады. Келесі екі үзінді бірдей қызмет атқарады:

withDetailBand1.AddPrintable(TQRLabel) do

begin

Size.Left := 20;

Size.Top := 5;

Caption := ‘Жаңажолақ’;

end;

 

var

aLabel : TQRLabel;

begin

aLabel := TQRLabel.Create(ReportForm);

aLabel.Parent := DetailBand1;

with aLabel do

begin

Size.Left := 20;

Size.Top := 5;

Caption := ‘Жаңажолақ’;

end;

end;

Жеңіл есеп беруді құру

 

TQuickRepжәнеTQRBandкомпоненттері өзінде ақпарат тобынан тұрмайтын, жеңіл есеп беруді құру үшін жетерлік болып табылады.

Қоймадан материалдарды  жіберу туралы ақпараты бар, Rashod.DBБД кестесі болсын. ТБД құрамына келесі алаңдар кіреді:

  • N_RASH – тауарды жіберу оқиғасының бірегей нөмірі;
  • DEN – күн нөмірі;
  • MES– ай нөмірі;
  • GOD– жыл нөмірі;
  • TOVAR– жіберілген тауарды аты;
  • POKUP– сатып алуышының аты;
  • KOLVO – жіберілген тауардың шамалар көлемі.

Айта кету керек, тауарды  жіберу күні күн, жыл және ай топтамасында сақталады. Бұл әдейі істелінген, есеп беруде анықтама және есептелетін  алаң қалай қолданылатынын көрсету  үшін. 

Тақырыптан және тауарды  жіберу туралы мәліметтен тұратын, жеңіл  есеп беруді құрайық. Есеп беруге тауарды  жіберу туралы барлық дәлелдер кіреді. Сұрыптау тауарды жіберу оқиғасының күні бойынша орындалады. Ол үшін формада TTableкомпонентін орналастырамыз, оны Rashod.DB кестесімен байланыстырамыз және (Active = True) ашамыз. Формада TQuickRepкомпонентін орналастырамыз. Оны Table1мағынасының  DataSetқасиетіне орналастырамыз, осылайша есеп беруде шығарылатын жазбаларды НД есеп беруге тағайындау арқылы. Есеп беруге TQRBand компонентін қосамыз. QRBand1компонентінің BandTypeқасиетіне үнсіздік бойынша rbTitleмағынасы орнатылады, яғни QRBand1компоненті есеп берудің тақырыбын анықтайды. QRBand1-ке TQRLabelкомпонентін орналастырамыз. Осы компоненттің Captionқасиетіне Қоймадағы тауарлады жіберу мағынасын орнатамыз және Font қасиетінде биіктігі 16 пункт болатын, қалың еңіс шрифтін орнатамыз. Есеп берудің форма түрлері осы кезге 5-ші суретте көрсетілген.

 

Сурет- 5. Есеп беруде тек  оның тақырыбы анықталған.

 

Енді есеп беруде сәйкес келетін Rashod кестесінің ағымдағы жазбасынан тұратын мәліметтерді орналастырамыз. Ол үшін есеп беруге жаңа TQRBand (атыQRBand2)компонентін кіргіземіз және оның қасиетіне rbDetailмағынасының BandTypeқасиетін орналастырамыз. Сосын QRBand2жолағында алты TQRDBTextкомпоненттерін орналастырамыз. Осы компоненттерді Нд-ның N_RASH, TOVAR, KOLVO, DEN, MES, GODалаңдарымен байланыстырамыз. Ол үшін әрбір QRDBText компонентінің DataSet қасиетіне Table1мағынасын орнатамыз, ал DataField қасиетіне – сәйкес келетін алаңнаң атын орнатамыз. Есеп берудің түрі осв кезге дейін 6-шы суретте көрсетілген.

 

 

Сурет - 6. Тақырыптармен  және нақты ақпарат тобынан тұратынесеп  беру

 

Алынған есеп беруді қарау  үшін оны тышқанның оң жақ батырмасымен басамыз және пайда болған мәзірден Previewэлементін таңдаймыз. Есеп беруді алдын ала қарау терезесі 7-ші суретте көрсетілген.

 

 

Сурет 7. Алдын  ала қарау терзесіндегі есеп берудің  құрамы

 

Алдын ала қарау терезесі форманы қосқан кезде ашылуы үшін форманың OnActivateсияқты оқиғаларды өңдеушіні құрамыз:

 

procedure TForm1.FormActivate(Sender: TObject);

begin

QuickRep1.Preview;

end;

 

ал алдын ала қарау  терезесінен шыққаннан кейін, мәтін  орналасқан форма жабылуы үшін  AfterPreviewсияқты оқиғаларды өңдеушіні қолданамыз:

 

procedure TForm1.QuickRep1AfterPreview(Sender: TObject);

begin

Form1.Close;

end;

 

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

 

1. Есеп беру не үшін  қолданылады?

2. Есеп беру түрлері?

3. Есеп беруде қолданылатын  компоненттер палитрасы?

4. Есеп беруде қолданылатын  негізгі және құрама компоненттер?

 

Тақырыбы 11.8. SQLтілі негіздері

 

 

Дәріс мақсаты: SQL тілі туралы түсінік беру және негізгі операторлармен

таныстыру.

Кілттік сөздер: SQL, сұраныс, агрегаттық функциялара, CREATE TABLE,

DROP TABLE, ALTER TABLE, INSERT, UPDATE, DELETE, SELECT.

 

 

SQL тілі туралы  түсінік. SQL функциялары

 

Мәліметтерге  ену  мүмкіндігінің  реляциялық  тәсілі  жазбалар  тобының амалдарына  негізделген.  Амалдарды  орындауға  SQL  (Structured  Query Language)  құрылымдық  сұраныс  тілінің  құралдары  қолданылады.  Delphi қосымшаларында  BDE  механизмін  қолдану  барысында  мәліметтер  жиыны ретінде  SQL-сұранысты  орындауды    беретін  Query  немесе  StoredProc компоненттері  қолданылады.    SQL  құралдарын  жергілікті  және  қашықтағы мәліметтер қорымен амалдар орындауға қолдануға болады.

Программалаудың  процедуралық  тілінен  айырмашылығы:  есептеу  процестерін басқару инструкциясы (циклдер, тармақталу, басқа операторға өту) және енгізу/шығару құралдары жоқ.

Microsift  Access,  Visual  FoxPro  немесе  Paradox  сияқты  МҚБЖ,  SQL-де сұраныстарды  программалаумен   байланысты  әрекеттерді  өздері  орындайды, мысалы  Query  By  Example  (QBE)  – үлгі  бойынша  сұраныс,    пайдаланушыға сұранысты визуальды  құру құралдарын білдіреді.

SQL  программалау  тілінің   толық  функционалдық  мүмкіндіктерін  қамтымағанмен,  ол  мәліметтерге  ену  мүмкіндігіне  арналған,  және  оны программаны  жасау   құралына    қосады.  Және  Delphi  жүйесіне  ендірілген.

Сонымен қатар,  SQL командаларымен жұмыс істеу үшін сәйкес құралдар және компоненттер бар.

SQL  - құрылымды сұранымдар  тілі көмегімен мәліметтер қорына  күрделі сұраныстарды құруға  болады. Сұраныс – бұл белгілі  ақпараттарды алуға талап болып  табылады. SQL-сұраныстардың көмегімен:

 

1. Қосымшаның  орындалу  барысында  мәліметтер  жиынтығының  өрісін қолдануға болады;

2. Бірнеше кестеден өрістер  немесе жазбалар алуға болады;

3. Күрделі  шарттар   бойынша  мәліметтер  жиынтығының   өрісін қолдануға болады;

4. Мәліметтер  жиынтығының   кез-келген өрісі  бойынша   сұрыптауға болады;

5. Мәліметтерді іздеуді  ұйымдастыруға болады;

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

DELPHI тіліндегі қосымшаға  SQL көмегімен:

-Paradox және dBase кестелерінің – локальді SQL тілі қолданылады;

-InterBase  локальді  серверінің  – толығымен сәйкес  синтаксис қолданылады;

-SQL қашықтықтағы  серверінің,  SQL Links  драйверлері арқылы мәліметтерін қолдануға мүмкіндік береді;

SQL сұраныстың екі түрі  бар: статикалық және динамикалық.

Статикалық SQL сұраныстар қосымшаны  құру барысында жазылады.

Динамикалық  SQL сұраныстар  коды  қосымша  орындалу  барысында  құрылады немесе өзгертіледі.

SQL тілінің операторлары  мынадай топқа бөлінеді:

1. Мәліметтерді анықтау  тобы ( жаңа кесте құру, өшіру);

2.  Мәліметтерді басқару  тобы ( таңдау, топтастыру );

 

SQL тілінде қолданылатын  негізгі функциялар:

 

- Статистикалық функциялар:

 

• AVG() – орташа мән;

• MAX() – ең үлкен мән;

• MIN() – ең кіші мән;

• SUM() – қосынды;

• COUNT() – мәндердің саны;

• COUNT(*) – нөлдік емес мәндердің  саны;

 

- Жолдармен жұмыс істеуге  арналған функциялар:

 

• UPPER(Str) – Str символдық жолды  жоғарғы регистрге айыстыру;

• LOWER(Str) – Str символдық жолды  төменгі регистрге айыстыру;

• TRIM(Str) – Str жолының бастапқы және соңғы бос орындарын өшіру;

•  SUBSTR  (Str  FROM TO)  –  Str жолынан,  өзі  симводардан  тұратын,  n1 жолынан бастап, n2 жолымен  аяқталатын ішкі жолды бөліп алу;

•  CAST(<Expression>  AS  <Type>) – Expression өрнегін  Type  типіне келтіру;

- Дата және уақытпен  жұмыс істейтін функция:

• EXTRACT(<Элемент> FROM <Өрнек>) – дата және уақыт мәндерінен тұратын  өрнектен, сәйкес көрсетілген элементтен мәндер алу; дата жәнеуақыт  элементі  ретінде  YEAR,  MONTH.  MINUTE  және  SECOND элементтерін көрсетуге болады.

 

 

Кестелермен орындалатын  амалдар

 

Кестелермен келесі амалдарды  орындауға болады:

• жаңа кесте құру;

• кестені жою;

• кесте өрістерінің құрамын  өзгерту;

• индексті құру және өшіру.

Бұл әрекеттер SQL тілінің  инструкцияларының көмегімен орындалады.

 

Кестені құру және жою, құрамын өзгерту

Кестені құру үшін CREATE TABLE инструкциясы қолданылады:

CREATE TABLE <Кесте аты>

                (<Өріс аты> <мәлімет типі>

                  . . .

                 <Өріс аты> <мәлімет типі>);

 

Файлдың кеңейтілуі бойынша  кестенің форматы автоматты түрде, яғни .db

– Paradox кестесі үшін,  .dbf dBase кестесі үшін  анықталады. Кесте  файлы МҚ

псевдонимі көрсетілген, МҚ каталогында орналастыру керек.

SQL тілінің көмегімен кесте  құру мысалы:

CREATE TABLE Student.dbf

                (Numer Integer

                 Name CHAR(15)

                 Datarogd DATE);

Paradox кестесі үшін PRIMARY KEY сипаттамасын және жақшаның ішіне  оның  өрістерін  көрсетіп,  негізгі  немесе  алғашқы   кілтті  анықтауға  болады.

Кілттік  өріс  өрістер  тізімінде  бірінші  болып  орналасуы  керек.  Негізгі  кілтті құрумен  жаңа кестеге құруға мысал:

CREATE TABLE Personal.db

                (Code AUTOINC

                 Name CHAR(15)

                 Post CHAR(15)

                 Oklad Numeric(10,2)

                 PRIMARY KEY(Code));

Кестені өшіру үшін келесі инструкция қолданылады:

DROP TABLE <Кесте аты>;

Мысалы   DROP TABLE <student>; Дискіден  student  атты  кестеге  қатысы бар барлық файлдар өшіріледі.

Кесте өрістерінің құрамын  өзгерту өрістерді қосу немесе өшіруді  білдіреді және  оның  құрылымын  өзгертуге  әкеледі,  сонымен  қатар  кестені  басқа қосымшалар  қолданбауы  керек.  Кесте  өрістерінің  құрамын  өзгерту  ALTER

TABLE инструкциясының көмегімен  орындалады:

 

ALTER TABLE <Кесте аты>

  ADD <өріс аты> <мәліметтер  типі>,

  DROP <өріс аты>,

  ADD <өріс аты> <мәліметтер  типі>,

  DROP <өріс аты>;

 

Индекс құру және жою. 

Индекс  мәліметтерге  тез  ену  мүмкіндігін  қамтамасыз  етеді.  Кестемен орындалатын  амалдарды  тездету  үшін,  жазбаларды  іздеу  және  жиі  таңдау жүргізілетін  өрістерге  индекс  қойылады.  Индекс  CREATE  INDEX операторының көмегімен  құрылады. Жазылуы:

CREATE INDEX <Индекс аты> ON <Кесте аты> (<өріс аты>, ... <өріс 

аты>);

 

Бір  инструкциямен  бір  индекс  құруға  болады,  сонымен  қатар  бір  индекс бірнеше өрістің  құрамына кіре алады.

Мысалы, 2 өріс бойынша индекс құру.

CREATE INDEX

IndNamePost ON personnel. db (Name, Post) 

Индексті жою үшін DROP INDEX операторы қолданылады.

DROP INDEX <Кесте аты>.<индекс  аты> 

немесе 

DROP INDEX <Кесте аты>. PRIMARY 

Егер  алғашқы  индекс  (алғашқы  кілт)  жойылатын  болса  индекс  атының

орнына        PRIMARY    сипаттамасы  көрсет-ді,  өйткені  алғашқы  кілттің  аты 

болмайды.

 Мысалы,

DROP INDEX  «personnel.Db».indName Post

 

Кестеден  мәліметті  таңдау.  Select  операторының  негізгі  сипаттамалары

 

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

SELECT - SQL тілінің негізгі  операторы.

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

SELECT [DISTINCT] <өрістер тізімі> немесе  *

        FROM   <Кестелер тізімі>

        [Where < таңдау шарты >]   

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