Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 17:39, реферат
Мәліметтер қорының әр кестесі өрістердің жиынтығынан тұратын жеке құрылымға ие болады. Әр өрстің мәліметтерінің жиынтығы мәліметтің типін сипаттайтын мазмұнынан тұрады, оған анықталған орында мән сәйкес келуі тиіс.
Delphi тіліндегі мәліметтер қорынының қосымшасындағы әр жинаққа өзіне сәйкес объект тура келеді. Өрістің негізгі объектісі болып Tfield классы табылады, ол абстрактілі өріспен жұмыс жасауға да негізделген. Ол мәліметтердің типіне сәйкес келеді. Осы базалық классқа басқа класстар сәйкес келеді.
Оқиға
propertyAfterPrint: TQRAfterPrintEvent;
және
propertyBeforePrint: TQRBeforePrintEvent;
сәйкесінше жолақты басып-
functionAddPrintable(
бағдарламаны өткізу процессінде жолаққа бейнелегіш компонентті орнату үшін қолданылады. Ол автоматты түрде жолақтар арасында меншіктік қатынасты орнатады. Келесі екі үзінді бірдей қызмет атқарады:
withDetailBand1.AddPrintable(
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БД кестесі болсын. ТБД құрамына келесі алаңдар кіреді:
Айта кету керек, тауарды жіберу күні күн, жыл және ай топтамасында сақталады. Бұл әдейі істелінген, есеп беруде анықтама және есептелетін алаң қалай қолданылатынын көрсету үшін.
Тақырыптан және тауарды жіберу туралы мәліметтен тұратын, жеңіл есеп беруді құрайық. Есеп беруге тауарды жіберу туралы барлық дәлелдер кіреді. Сұрыптау тауарды жіберу оқиғасының күні бойынша орындалады. Ол үшін формада 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(
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 программалау тілінің
толық функционалдық
Сонымен қатар, SQL командаларымен жұмыс істеу үшін сәйкес құралдар және компоненттер бар.
SQL - құрылымды сұранымдар
тілі көмегімен мәліметтер
1. Қосымшаның орындалу барысында мәліметтер жиынтығының өрісін қолдануға болады;
2. Бірнеше кестеден өрістер немесе жазбалар алуға болады;
3. Күрделі шарттар бойынша мәліметтер жиынтығының өрісін қолдануға болады;
4. Мәліметтер жиынтығының кез-келген өрісі бойынша сұрыптауға болады;
5. Мәліметтерді іздеуді ұйымдастыруға болады;
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 < таңдау шарты >]