Дәмхана жұмысын автоматтандыру

Автор работы: Пользователь скрыл имя, 29 Января 2014 в 20:30, курсовая работа

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

Жиырма бірінші ғасырдың басталуы жаппай ақпараттық қоғамға көшумен сипатталады. Оған компьютерлік техника, ақпараттық технология және басқа да ғылыми-техникалық прогресс әсерін тигізуде. Қазақстан Республикасы ғылыми-техникалық прогрестің негізгі белгісі болып табылатын қоғамды ақпараттандырудың жаңа кезеңіне енді. Қоғамды ақпараттандыру – еліміздің экономикасының, мәдениетінің, ғылымының дамуының негізгі алғышарты. Мәліметтер базасы - белгілі бір арнаулы ауқымға қатысты мәлтеттерді баяндау, сақтау мен амал-тәсілдермен ұқсата білудің жалпы прииңиптерін қарастыратын белгілі бір ережелер бойынша үйымдастырылған мәлімет-тердің жиынтыгы.

Содержание

Кіріспе…………………………………………………………………..............… 2
1. DELPHI Ппроцедуралар ұғымы…………………...……………............……. 4
1.1 Процедуралар……………………………………………………........…....….6
1.2 Функциялар ……………………………………………………….......…....…7
1.3 Рекурсивтік ішкі бағдарламалар…………………………………..................7
2. Дәмхана жұмысын автоматтандыру…......................................................…..9
2.1 SQL көмегімен мәліметтер қорын басқару .........................................…...9
2.2 Программаны сипаттау .................................……………………........…... 19
2.3 Тағамдар мен қызметкерлер тізімін толтыру ...................................….…..19
2.4 Тапсырыс алу …………………………....……………….......……………...20
Қорытынды ……………………………………………….......……………...….22
Қолданылған әдебиеттер………………………………….......……………...…23
Қосымша…………………………………….……………........…………...…….24

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

курсавой.docx

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

Character типінен айырмашылығы Varchar пайдалану дискідегі кеңістікті үнемді шығындауды қамтамасыз етеді. Хабарландыруда көрсетілген жол өлшеміне қарамастан, өріс, енгізілген ақпаратты сақтауға қанша орын қажет болса, сонша алады. Мысалы, егер Varchar(10) өрісі хабарланып және оған 3 символдан тұратын жол енгізілсе, онда бұл жолды сақтау үшін белгіленген ұзындықты жол жағдайындағы сияқты 10 емес, 3 байт қана пайдаланылады.

Сандық типтер былай  бөлінеді:

  • Бүтін санды типтер;
  • Белгіленген нүктелі заттық типтер;
  • Жүзуші нүктелі заттық типтер;
  • Белгіленген және айнымалы ұзындықты екілік жолдар;

Бүтін санды типтер.

ANSISQLстандартыменекібүтінсандытиптерорнатылады:

  • INTEGER-4 байтты пайдаланатын таңбалы бүтін сан. 2147483648-ден 2147483647-ге дейінгі диапазондағы сандарды бере алады;
  • SMALLINT–2 байтты пайдалантын таңбалы қысқа бүтін сан. 32768-ден 32647-ге дейінгі диапазондағы бүтін сандарды бере алады.

Белгіленген нүктелі  заттық типтер.

Белгіленген нүктелі  заттық типтер бөлшек сандарды нақты  беру үшін арналған. Көп жағдайда бұл  типтер қателіктер жіберілмейтін екілік формада жүзгімелі нүктелі заттық сандарды беруде пайдаланылады. (Мысалы, ақшалай шамадағы мәндерді сақтауда). Белгіленген нүктелі заттық типтер шын мәнісінде ондық нүкте  түрінде бейнеленетін бүтін санды  типтер болып табылады.

Белгіленген үтірлі типті хабарлау синтаксисі келесідей:

DECIMAL (n.m)

Мұндағы n-дәлділік; m-масштаб

Дәлділік -ол сандық мәннің жалпы ұзындығы, масштаб-ол ондық  нүктеден оң жақта орналасқан белгілер саны.

Жүзгімелі нүктелі  заттық типтер.

Жүзгімелі нүктелі  типтер әдетте ғылыми және инженерлік есептеулерде пайдаланылады. Бұл типтерді пайдалануда қандай да бір санды  жүзгімелі нүктелі екілік формаға  өзгерту кезінде мәліметтер қорына енгізуде үнемі қандай да бір қателік  жіберіледі. Бұл қателік өте аз болса да, кейбір жағдайларда кешірілмейді және үлкен қателік әкелуі мүмкін, мысалы, үлкен санды мәндерді сомалауда. Сондықтан, жүзгімелі нүктелі типтер ақшалай шамалы мәндерді сақтауға қолданылмайды.

Көп жағдайда екі  жүзгімелі нүктелі заттық типтер пайдаланылады:

  • FLOAT-бірлік дәлділікті сандар;
  • DOUBLE-екілік дәлділікті сандар.

Екілік жолдар.

Екілік жолдар салыстырмалы сирек қолданылады. Әдетте мұндай типті  өрістер жалаулар немесе екілік маскалар ретінде қолданылады.

Символдықжолдарсияқты, екілікжолдарбелгіленгенжәнеайнымалыұзындықтыболады. Белгіленген ұзындықты екілік жолдар келесі жолмен хабарланады:

BIT (n)-

Мұндағы n-байтпен берілген жол ұзындығы.

Айнымалы ұзындықты  жолды хабарлау түрі мынадай:

BITVARYING (n)

Мұндағы n- байтпен берілген жолдың максималды ұзындығы.

Аты айтып тұрғандай  бұл типтер дата мен уақытқа қатысты  ақпараттарды сақтау үшін пайдаланылады.

SQL-стандартында дата мен уақыт туралы ақпаратты сақтауға арналған келесі мәліметтер типтері анықталған:

  • DATE-датаны сақтау үшін пайдаланылады;
  • TIME-уақытты сақтау үшін пайдаланылады;
  • TIMESTAMP-дата мен уақытты сақтайды;
  • INTERVAL-екі дата мен уақыт моментіндегі уақыт аралығын сақтайды.

Кестелерді құру, түрлендіру және жою.

Кесте, ақпаратты  реляционды мәліметтер қорында сақтаудың  негізгі объектісі болып келеді. Кестені құруда міндетті түрде кестедегі  өріс аты, және өрістерге сәйкес мәліметтер типі көрсетіледі. Сондай-ақ, кестені  құру кезінде өрістер үшін үндемей  қабылданатын шекаралық шарттар  мен мәндер ескертілуі мүмкін.

Шектік шарттар- мәліметтер қорының кестесінің өрісінде шама мәнін шектейтін ереже.

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

CREATETABLE операторы.

КестеніқұруүшінCREATETABLEоператорыпайдаланылады. Бұл оператордың синтаксисі келесі түрде болады:

CREATETABLE имя_таблицы (

Имя_поля_1 тип_данных.

Имя_поля_2 тип_данных.

_

имя_поля_N тип_данных)

Мысал, ФИЗИЧЕСКИЕ ЛИЦА кестесін құру операторы мына түрде болады:

CREATE TABLE STUDENTS

SNUM INTEGER.

SIMA CHAR (25).

SFAM CHAR (25).

SOTCH CHAR (25).

SROZH DATE.

SADR CHAR (25).

STEL VARCHAR (25).

ALTER TRABLE операторы.

Құрылғанкестені ALTER TABLE операторын пайдаланып түрлендірге болады. Осы оператор көмегімен кестеге жаңа өрістерді қосуға және жоюға, өрістер мәліметтерінің типін өзгертуге, шектеулерді қосып немесе жоюға болады.

Жалпы түрде ALTER TABLE операторының синтаксисі былай болады:

ALTER TABLE имя_таблицы [MODIFY][имя_полятип_данных]

[ADD][имя_поля тип_данных]

[DROP][имя_поля тип_данных]

ALTER TABLE операторымен  орындалатын әрекет кесте атынан кейін көрсетіп негізгі сөзбен анықталады:

  • MODIFY- өріс анықтамасын береді;
  • ADD- кесмтеге жаңа өріс қосады;
  • DROP-кестеден өрісті жояды.

Өрістің мәліметтерінің типін өзгерту үшін ALTERTABLE операторының келесі синтаксисі пайдаланылады:

ALTERTABLE имя_таблицы ADD (имя_поля тип_данных)

Мысалы,STUDENTS кестесінестуденттің электронды почтасынан тұратын өрісті қосу үшін келесі операторды пайдаланған жөн:

ALTER TABLE STUDENTS ADD (E-mail CHARACTER (25))

Егербарөрістіңмәліметтерініңтипінөзгертуқажетболса, ALTER TABLE операторымен бірге MODIFY негізгі сөзін пайдаланған жөн:

ALTER TABLE имя_таблицы MODIFY(имя_поля тип_данных)

Мысалы, STUDENTS кестесіне E-mail өрісін енгізгеннен кейін CHARACTER типінің пайдаланылуының тиімсіздігі анықталады-студенттердің көбінде электронды почта жоқ, сондықтан дискілік кеңістіктің бөлігі пайдаланылмай, бос қалады. Бұл өріс үшін VARCHAR мәліметтер типін қолданған дұрыс. Мәліметтер типін өзгерту үшін ALTER TABLE операторын пайдаланамыз:

ALTER TABLE STUDENTS MODIFY (E-mail VARCHAR(25))

Бар өрісті өшіру үшін ALTER TABLE операторын DROP негізгі сөзбен бірге шақыруды орындау мен жүзеге асырылады:

ALTER TABLE имя_таблицы DROP (имя_поля)

DROP TABLE операторы.

Кестелерді жою  үшін DROP TABLE операторы пайдаланылады. Бұл оператордың синтаксисі мына түрде болады:

DROP TABLE имя_таблицы [RESTRICT |CASCADE]

Егер DROP TABLE операторын шақыру кезінде RESTRICT негізгі сөзі пайдаланылып, және жойылатын кестеге қандай да бір ұсыныс немесе

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

Сыртқы кілт  шектеу імәліметтер қорының сілтемелі ктұтастығын қолдаудың негізгі механизмі болып табылады. Сыртқы кілт болып анықталған өріс,басқа кестенің өрісіне сілтеме ретінде пайдаланылады,әдетте ол ата аналық кілт деп аталады,ал сыртқы кілт сілтелетін кесте ата-аналық кесте деп аталады (көп жағдайда ата – аналық кілт ата-аналық кілті болып табылады).Сыртқы және ата-аналық кілттің өрістерінің типтері міндетті түрде сәйкес болуы мүмкін. Бірақ шатыс болмас үшін сыртқы және ата – аналық кілттер өрістерінің атында бірдей берген жөн.Сыртқы кілт бір өрістен тұруы міндетті емес. Алғашқы кілт сияқты сыртқы кілтте бір объект болып өңделетін өрістердің кез – келген санынан тұруы мүмкін. Құрамдас сыртқы кілт сілтелетін ата – аналық кілт өрістері сыртқы кілттегі сияқты ретпен тізбектелуі керек.

Кесте өрісі сыртқы кілт болған кезде, ол қандай да бір жолмен осы кілт сілтелетін кестемен байланыста болады. Ол дегеніміз сыртқы кілттің әрбір мәні ата – аналық кілттегі мән мен тікелей байланысқан.

Сыртқы кілт шектеуін пайдалану иллюстрациясы ретінде қандайда бір ұжым қызметкерлерін есептеу мәліметтер қорын мысалға аламыз (5.1 сурет). Бұл мәліметтер қоры үш кестеден тұрады:

  • ФАКУЛЬТЕТ -қызметкерлердің мамандықтық мәліметтері туралы ақпараттан тұрады;
  • СТУДЕНТЫ-студенттердің жеке мәліметтері туралы ақпараттан тұрады;
  • СПЕЦИАЛЬНОСТЬ-мамандығы туралы ақпараттан тұрады.

Бұл мәліметтер қорының  негізгі кестесі екі басқа  кестелерге сілтелетін және сәйкесінше екі сыртық кілттері бар ФАКУЛЬТЕТ  кестесі. СТУДЕНТЫ және СПЕЦИАЛЬНОСТЬ  кестелерінде ата-аналық кілттер ретінде  алғашқы кілттер пайдаланылады:

Сыртқыкілтшектеуі (FOREIGNKEY) неCREATETABLEоператорында, неALTERTABLEоператорыныңкөмегіменберілуімүмкін. FOREIGNKEY шектеуінің синтаксисі келесі түрде болады:

FOREIGNKEYимя_внешнего_ключа (список полей внешнего ключа)

REFERENCES имя_родительской_таблицы (список полей родительского ключа)

Өрістердің бірінші  тізімі- үтірмен бөлінген, кестенің бін немесе бірнеше өрістеріндегі  тізім. Өрістердің екінші тізімі- ата-аналық кілтті құрайтын өрістер тізімі. Сыртқы және ата-аналық кілттер ретінде  көрсетілген өрістері тізімі сәйкес болуы керек:

  • Екеуінде бірдей өріс саны болуы керек;
  • Тізімдерде өрістердің тізбектелу реті сәйкес болуы керек, және де сәйкестік әртүрлі болатын өрістердің аттарымен емес, мәліметтер типімен және өрістер мөлшерімен анықталады.

Байланысқан кестелі  мәліметтер қорын құру мысалын қарастырамыз:

CREATE TABLE СТУДЕНТЫ (

Номер_зач_книжки INTEGER NOT NULL PRIMARY KEY.

Имя VARCHAR (25) NOT NULL.

Фамилия VARCHAR (25).

Отчество VARCHAR (25)

Дата_рождения DATE.

Адрес VARCHAR (50).

Телефон VARCHAR(25))

CREATETABLE Специальность (

Шифр_специальности INTEGERNOTNULLPRIMARYKEY.

Должность VARCHAR(50) NOT NULL UNIQUE.

Курс INTEGER NOT NULL.

Стипендия DECIMAL(7.2)NOT NULL )

CREATE TABLE Сотрудники (

Код_сотрудника INTEGER NOT NULL PRIMARE KEY.

Код_должности INTEGER.

Код_физического_лица INTEGERNOTNULL.

Рейтинг DECIMAL(4.2).

Дата_приема DATE NOT NULL.

Дата_увольнения DATE.

FOREIGNKEY Физ_ВК (Код_физического_лица)

REFERENCES Физические_лица (Код_физического_лица)

FOREIGNKEY Долж_ВК (Код_должности)

REFERENCES Должности (Код_должности)

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

ALTERTABLE имя_таблицы

ADDCONSTRAINT имя_внешнего_ключа FOREIGNKEY (список полей внешнего ключа)

REFERENCE имя_родительской_таблицы (список родительского ключа)

Сыртқы кілт кестеге  енгізуге болатын мәндерді шектейді. Сыртқы кілтті құрайтын өрістерге қандай да мәндерді енгізу үшін, бұл мәндер ата-аналық кестеде енгізіліп тұруы  қажет. Мысалы, СОТРУДНИКИ кестесіне  оның жеке мәліметтері туралы жазу болуы қажет, әйтпесе "Код_физического_лица" міндетті өрісін толтыру мүмкін емес болады.

Сыртқы кілт үшін NOTNULL шектеуі берілуі мүмкін, бірақ ол міндетті емес, тіпті кей жағдайларда қажетті емес. Мысалы, ұжымға жұмысқа жаңақызметкерқабылданады, бірақәліоныңқызметіанықталмағандепболжайық. Бұл жағдайда ол туралы барлық қажетті мәліметтерді ФИЗИЧЕСКИЕ ЛИЦА және СОТРУДНИКИ кестесіне енгізуге болады, "Код_должности" өрісінде ештеңе көрсетпей.

 

2.2 Программаны сипаттау

Программаны іске қосу үшін cafe.exe орындалатын файлын жүктеу керек. Экран бетіне 18-суреттегідей терезе пайда болады. Алдымен тағамдар тізімі мен қызметкерлер тізімін  толтырып алу керек. Содан соң  келген қонақтарды «қабылдай» беруге болады. Қонақтарды «жайлау» үшін келген клиенттер отырған столдың номерін  басу керек. Ашылған терезеде не жасау  керек екендігін келесі бөлімдерде қарастырылады.

Сурет 18. Программаның негізгі терезесі

 

2.3 Тағамдар мен қызметкерлер тізімін толтыру

Тағамдар тізімін  толтыру үшін негізгі терезедегі (18-сурет) «Тағамдар тізімі» батырмасын басамыз. 19-суреттегідей терезе пайда  болады. Жаңа тағам қосу үшін «қосу» өрісін таңдап, берілген екі өрісті толтырып, «Орындау» батырмасын басамыз. Тізімдегі тағамның атауын не бағасын  өзгерту үшін, қажетті тағамды  тізімнен таңдап, «өзгерту» өрісін таңдап, өріске қажетті өзгерістерді енгізіп, «Орындау» батырмасын басу керек. Ал өшіру әрекетін орындау  қажетті тағамды тізімнен таңдап, «өшіру» өрісін таңдап «Орындау»  батырмасын басу керек.

Сурет 19. Тағамдар тізімі терезесі

Қызметкерлер кестесін өзгерту дәл осындай әрекеттер  арқылы орындау керек.

 

2.4 Тапсырыс алу

Тапсырыс алу  үшін, қонақтар жайғасқан столды шертіп, ашылған терезеде әрі қарай әректтерімізді орындаймыз. Олар мынандай ретпен орындалады: алдымен сол столға қызмет көрсететін адамды бекітемз, содан соң терезенің  оң жақ қапталында орналасқан базадағы барлық тағамдардың тізімінен тапсырыс берген тағамды таңдап, «Қосу» батырмасын басамыз. Егер қателесіп, не қонақ тапсырысн  өзгерткісі келсе, «Алу» батырмасын қолданамыз. Есепті жабу үшін «Есепті  жабу» батырмасын басамыз, экран  бетіне 21-суреттегідей есеп парағы пайда  болады.

Информация о работе Дәмхана жұмысын автоматтандыру