Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абдикаримов.docx
Скачиваний:
54
Добавлен:
09.02.2016
Размер:
1.12 Mб
Скачать

1.2.3 Ақпараттық жүйені жүйелік тұрғыда жобалау.

Мысалы, АҚШ-та барлық шығарылатын ЦЕМ-нің 90%-ы экономикалық есептеулерге және өндірісті басқару жұмыстарында пайдаланылады. Аналогты есептеуіш машина технологиялық процестерді оптимальдық реттеу қызметін атқарады. Оны электрондық басқару машиналарымен біріктіре отырып, процестерді тек оптимальды технологиялық режимде ғана емес, оптимальды экономикалық режимде де реттеуге болады. Аналогты машинаның жаңа типі – автоматты оптимизаторды экономикалық басқару мақсатында пайдалануға болады.

Басқару жұмыстарын автоматтандыруда электрондық есептеуіш машинадан басқа сан алуан арнаулы жабдықтар қолданылады. Оларды былайша топтастыруға болады:

Мәлімет тіркегіш машиналар – перфораторлар, жазу машинасы, тіркеуіштер, өнімнің саны мен сапасын есепке алатын автоматты санауыштар басқарылатын процестердің өтуі туралы мәлімет беретін сигналдық аппаратуралар, магнитофондар, диктофондар, стенографиялық машинкалар, документті көшіру әрі көбейту аппаратуралары т.б.;

Мәліметтерді өңдейтін машиналар-клавишті есептеуіш машиналар, фактур жинақатуыш табулятор т.б. аналитикалық есептеуіш машиналар;

Mәлімет түрлендіретін жабдықтар – конверторлар, оптикалық және басқадай оқу, кодтау құрылғылар, перфокартадан перфолентаға және керісінше көшіріп жазатын құрылғылар, фикрофильмдеу және микрокарта оқу аппаратуралары т.б.;

Mәлімет шығару жабдықтары – декодтауыш құрылғымен біріктірілген автоматтық перфорациялауыш машиналар, автоматты басу машиналары т.б.;

Mәлімет іздейтін және оны сақтайтын жабдықтар – картотека сұраптағыштар, документ іздеу машиналары, көп таңбалы сандарды жинақтай алатын және сыйымдылығы көп еске сақтау құрылғылары бар арнаулы мәліметтік электрондық машиналар;

Байланыс жабдықтары – телеграф, телефон, радио аппаратуралары, ішкі байланыс және сигнализация құралдары – директорлық және диспетчерлік телефон коммутаторлары, ішкі АТС, селекторлар, электрлік, механикалық және пневматикалық тәсілдермен документ беру құралдары т.б.[3]

1.3 Программалық құралдар сипаттамалары

Программалық өнімді жасау кезінде, программалық жабдықтаудың 2 түрі ес­ке­ріледі: жүйелік және қолданбалы.

Жүйелік программалық жабдықтау – бұл программалық өнім жұмыс істейт­ін операциялық орта.

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

Жүйелік программалық жабдықтау ретінде Microsoft компаниясының – Win­dows операциялық жүйесі алынған.

Бағдарламалық құралдарды жасақтау үшін, Delphi/C/C#/C++ және т.б. белгілеу тілдері және мә­лі­мет­тер базасын басқару үшін MySQL тілі қолданылады.

Әр есепке құралдар таңдағанда шебер ең ыңғайлыларын таңдауға ты­ры­са­ды, солардың ең танымалдарын қарастырайық.

Бағдарламалауға арналған басты тілдері мыналар: Pascal, Delphi, C, C#, C++, F#, Python, Java.

Мәліметтер қорымен жұмыс жасайтын бағдарламаларға мыналарды жатқызуға болады: жергілікті жадыда орналасқан қормен жұмыс жасауға Microsoft Office Access, ал желілік серверде орналасқан қормен жұмыс жасауға MySQL жатқызуға болады.

1.3.1 MySql арқылы база жасау

SQL - Structured Query Language-дің қысқартылуы (сұраныстардың құ­ры­­лымдық тілі). SQL реляционды мәліметтер базасымен жұмыс істеу үшін жа­сал­ған. Ол қолданушыға мәліметтер базасымен жұмыс істеуге (қарау, іздеу, қос­у­ға және ақпаратты басқаруға) мүмкіндік береді. MySQL ANSI 92 SQL спе­ци­фи­ка­сына сәйкес келеді.[13]

MySQL – интернеттегі ең кең таралған және ең атақты ақпарат базасын бас­қару жүйесі. Ол үлкен көлемді ақпаратпен жұмыс істеуге арналмаған, бірақ үл­кен, кіші интернет сайттар үшін өте ыңғайлы жүйе.

MySQL үлкен және орташа қосымшалармен жұмыс істеуге өте ыңғайлы. Сервердің негіздері көптеген платформаларда компиляция жасайды. Сервердің толығ­ырақ мүмкіндіктері өнімділікті арттыратын көпағымдылықтың қолдауы бар Unix-серверлерде байқалады.

РНР мен қарым-қатынасы.

MySQL жұмыстың жоғары жылдамдылығымен, сенімділігімен, ыңғай­лы­лы­ғы­мен ерекшеленіледі. Онымен жұмыс істеу үлкен қиындықтар тудырмайды. MySQL сервердің қолдауы РНР жеткізілуіне автоматты түрде қосылады. Те­гін­ді­лігі де үлкен роль атқарады. MySQL ортақ GNU (GPL, GNU Public License) ли­цен­зиясы негізінде таратылады. Бұрын ақпаратты ұзақ уақыт сақтау үшін файлдармен жұмыс істелетін: бірнеше жолдар санына енгізіп, келесі жұ­мыс­тар үш­ін алынатын. Ақпаратты ұзақ уақытқа сақтау мәселесі Web – қосым­шаларын про­граммалауда жиі кездеседі: қолданушыларды санау, хабар­ла­ма­ларды фо­рум­да сақтау, сайттағы ақпаратты арақашықтықтан басқару т.б.

Файлдармен маманданған түрде жұмыс істеу үлкен еңбекті талап етеді, оларға ақпаратты енгізуді, олардың сортталуын, алынуын қадағалау керек, со­ны­мен қатар бұл істердің бәрі Unix нұсқасының бірі тұратын хост – про­вай­дер­дің серверінде жүзеге асатынын ұмытпау керек, яғни файл құқығы мен оларды орналастыруды да ойластыру керек. Сонымен қатар код көлемі ел­еу­­лі түрде өседі және программада қате жіберу өте оңай. Осы мәселелердің барлығын мәліметтер базасын қолдану арқылы шешеді. Мәліметтер базасы ақпараттың қа­уіп­сіздігі мен сортталуын өздері қадағалайды және ақпаратты алу мен ор­на­туды бір жолдың көмегімен жүзеге асыруға мүмкіндік береді. Мәліметтер базасын қолданумен код жинақы болып шығады, және оны әлдеқайда жеңілірек жөн­дей­ді. Сонымен қатар, жылдамдықты да ұмытпау керек – ақпаратты мәлі­мет­тер ба­за­­­сынан алған файлдан алғанға қарағанда әлдеқайда тезірек жүзеге асады. MySQL мәліметтер базасының ақпаратын сақтауда қолданылатын РНР-ге қо­сым­ша файлдарда салынған қосымшаларға қарағанда әрқашан тезірек істейді. Өйткені мәліметтер базасы С++ тілінде жазылған және қатқыл дискте мә­лі­мет­тер базасына қарағанда нәтижелі жұмыс істейтін PHP программасына жазу шешілмейтін мәселе, өйткені РНР программалары С++ про­грам­ма­лар­ынан бая­у­ырақ жұмыс істейді, себебі РНР – интерпретатор, ал С++ компилятор.

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

  1. бір уақытта мәліметтер базасымен жұмыс істейтін тұтынушылардың шексіз санына қызмет көрсетіледі;

  2. кестедегі жолдар саны 50 млн. дейін жетуі мүмкін;

  3. бұйрықтардың тез орындалуы. MySQL серверлердің ішіндегі ең жыл­дамы болуы да мүмкін;

  4. қауіпсіздіктің қарапайым және нәтижелі жүйесі;[13]

MySQL негізінде өте жылдам сервер, бірақ бұған жету үшін өңдеушілер МББЖ-нің реляциалы талаптарынан бас тартуына тура келді. MySQL-де:

  1. SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) секілді енгізілген сұраныстар жұмыс істемейді. Мұндай мүмкіндік 3.23 вер­сия­сында болады деп айтылуда;

  2. транзакцияны қолдау жүзеге аспаған. Орнына LOCK/UNLOCK TAB­LE­ қолдану ұсынылады;

  3. сыртқы(foreign) кілттер жұмыс істемейді;

  4. триггер және сақталатын үдерістер істемейді;

  5. көрсетілім (VIEW) жұмыс істемейді. 3.23 версиясында көрсетілім мүм­кін­дігі іске асады деп жоспарлануда.[13]

Құрастырушылар сөзі бойынша дәл 2-4 пункттер жоғары жылдамдыққа қол жеткізуге мүмкіндік берді. Оларды жүзеге асыру сервердің жылдам­дылы­ғын елеулі түрде төмендетеді. Бұл мүмкіндіктер Web – қосымшаларды жа­са­ғанда қиын емес және осыған орай жылдамдық пен бағасының арзандығына байланысты серверге үлкен танымалдылық әкелді. Төменде MySQL про­грам­ма­лық жабдықтаманың маңызды сипаттамалары көрсетілген:

Ішкі сипаттамалар және тасымалдануы:

  • C және С++ - те жазылған. Көптеген түрлі компиляторларда тестіленген.

  • түрлі платформаларда жұмыс істейді. Тасымалдануды қамтамасыз етуде GNU Automake, Autoconf және Libtool қолданылады;

  • C, C++, Eiffel, Java, Perl, PHP, Python, Ruby және Tcl-ге арналған API;

  • ядро ағымын пайдалана отырып толығымен, көпағымды. Бұл дегеніміз, мұндай мүмкіншілік қамтамасыз етілсе бірнеше процессормен жұмысты оңай ұйымдастыруға болады;

  • бұтақ негізінде индексті сығумен өте тез дисктік кестелер;

  • көлемді тарату жүйесінің ағымындағы өте тез негіздеуші;

  • біржолды мультибайланыстардың (one-sweep multi-join) оптималды әдісін қолданатын өте тез байланыс;

  • уақытша кестелер ретінде қолданылатын көлемдегі хеш – кестелер

  • жақсы оптимизацияланған класс кітапханалары көмегімен жүзеге асқан SQL-функциялары. Сондықтан олар мүмкіншілігінше тез жұмыс істейді. Әдетте сұ­­ра­­нысты инициализациялағаннан кейін көлемді тарату мүлдем жаса­лын­бай­ды;[13]

MySQL – код Purify, Valgrind және GPL – құралдарының бірін қолдану ар­қылы тестілеуден өткен.

Бағана түрлері:

  • үлкен сан: белгімен/белгісіз бүтінсандық, ұзындығы 1,2,3,4 және 8 байт;

  • бекітілген және айнымалы ұзындықты жазбалармен;

  • барлық бағаналардың үндеместен мағынасы бар. INSERT көмегімен кес­ тенің көп бағаналарын қоюға болады; мағына берілмеген бағаналарға мағы­на­­лар үндеместен беріледі;

  • операторлар мен SELECT және WHERE-ді сауал жөнінде толық қолдау көрсету;

  • SQL GROUP BY және ORDER BY операторларына толық қолдау көрсету.

  • LEFT OUTER JOIN және RIGHT OUTER JOIN -ді ANSI SQL және ODBC синтаксисімен;

  • SQL92 стандартына сәйкес кестелер мен бағаналарға жалған аттар рұқсат етілген;

  • DELETE, INSERT, REPLACE, және UPDATE өзгертілген бағана сандарын қайтарады. Оның орнына сәйкес келген бағаналарды беруге болады. Ол үшін сервермен байланыс кезінде жолақ орнату қажет;

  • MySQL үшін арнайы болып табылатын SHOW командасын мәліметтер база­сы, кесте және индекс туралы ақпарат алу үшін қолдануға болады. Опти­ми­за­тордың сұранысты қалай орындайтынын анықтау үшін EXPLAIN командасын қолдануға болады;

  • функция аттары бағандар мен кестелер аттарымен дауласпайды. Мысалы, ABS бағананың дұрыс аты болып табылады. Функцияны шақыру үшін тек бір ғана шектеу бар: функция аты мен келесі ашылатын жақша арасында бос орын болмауы керек;

Қауіпсіздік:

  • жүйе құпия сөз бен жеңілдіктер негізінде құрылған, соған орай қауіп­сіз­дік пен ыңғайлылық қамтамасыз етіледі. Құпия сөздер қорғалған, өйт­кені желі арқылы берілгенде сервермен байланысқанда шешіледі.

Көлемділік және шектеулер:

  • өте үлкен мәліметтер базасын басқару. MySQL AB компаниясы MySQL - ды кейбірі 50 миллион жазбалар бар бірнеше мәліметтер базасымен жұмыс істеу үшін қолданады. Сонымен қатар, MySQL-ді 60 000 кестемен, 5000000000 жолмен жұмыс істеу үшін қолданатын тұтынушыларды білеміз;

  • әр кестенің 32 индексі болуы мүмкін. Әр индексте 1-ден 16 баған не баған бөлшектері болуы мүмкін. Индекстің максималды кеңдігі 500 бит (бұл көрсетілім MySQL-ді компиляциялағанда өзгеруі мүмкін). Индекс үшін CHAR немесе VARCHAR префикс полялары қолдануы мүмкін.

Жергіліктендіру:

  • сервер клиенттер үшін қателіктер туралы хабарламаны түрлі тілдерде қамтамасыз ете алады;

  • ISO-8859-1 (Latin1), немісше, big5, ujis тағы басқа түрлі кодиров­ка­лар­ды жұмыс істету;

  • барлық ақпаратты сақтау үшін таңдалған белгілер жинағы қол­даны­ла­ды. Қалыпты жолдары бар бағаналар үшін барлық салыс­тыр­у­лар бел­гі­лер регистрінің есептелуі бойынша жүргізіледі;

  • сорттау таңдалған алфавит бойынша жүргізіледі (үндеместен шведтік қолданылады). Бұл орнатылымды MySQL серверді қосқан кезде өз­гер­т­у­ге бо­ла­ды. Өте жақсы жасалған сортталу мысалымен танысу үшін чех тілі үшін ар­нал­ған сорттау кодын қолдануға болады. MySQL көптеген басқа кодтауларға қол­дау көрсетеді.

Клиенттер және инструментарий:

  • құрамында myisamchk, кестелерді қайта келтіру, оптимизация және тек­серу утилитасы. Барлық функционалды мүмкіншіліктері myisamchk SQL-интер­фейс арқылы да қол жетерлік;

  • барлық MySQL – программаларды көмек алу үшін help опциялары ар­қы­лы қосуға болады.[13]