1 сауда мекемесі үшін ақпараттық ЖҮйе қҰрудың Қазіргі деңгейі 5



бет13/18
Дата26.06.2024
өлшемі2.72 Mb.
#502794
1   ...   10   11   12   13   14   15   16   17   18
jihaz mekemesinin saityn kuru

2.5.1 MySQL арқылы база жасау


SQL - Structured Query Language-дің қысқартылуы (сұраныстардың құ­ры­­лымдық тілі). SQL реляционды мәліметтер базасымен жұмыс істеу үшін жа­сал­ған. Ол қолданушыға мәліметтер базасымен жұмыс істеуге (қарау, іздеу, қос­у­ға және ақпаратты басқаруға) мүмкіндік береді. MySQL ANSI 92 SQL спе­ци­фи­ка­сына сәйкес келеді.
MySQL – интернеттегі ең кең таралған және ең атақты ақпарат базасын бас­қару жүйесі. Ол үлкен көлемді ақпаратпен жұмыс істеуге арналмаған, бірақ үл­кен, кіші интернет сайттар үшін өте ыңғайлы жүйе [4].
MySQL үлкен және орташа қосымшалармен жұмыс істеуге өте ыңғайлы. Сервердің негіздері көптеген платформаларда компиляция жасайды. Сервердің толығ­ырақ мүмкіндіктері өнімділікті арттыратын көпағымдылықтың қолдауы бар Unix-серверлерде байқалады.
РНР мен қарым-қатынасы.
MySQL жұмыстың жоғары жылдамдылығымен, сенімділігімен, ыңғай­лы­лы­ғы­мен ерекшеленіледі. Онымен жұмыс істеу үлкен қиындықтар тудырмайды. MySQL сервердің қолдауы РНР жеткізілуіне автоматты түрде қосылады. Те­гін­ді­лігі де үлкен роль атқарады. MySQL ортақ GNU (GPL, GNU Public License) ли­цен­зиясы негізінде таратылады. Бұрын ақпаратты ұзақ уақыт сақтау үшін файлдармен жұмыс істелетін: бірнеше жолдар санына енгізіп, келесі жұ­мыс­тар үш­ін алынатын. Ақпаратты ұзақ уақытқа сақтау мәселесі Web – қосым­шаларын про­граммалауда жиі кездеседі: қолданушыларды санау, хабар­ла­ма­ларды фо­рум­да сақтау, сайттағы ақпаратты арақашықтықтан басқару т.б. [9].
Файлдармен маманданған түрде жұмыс істеу үлкен еңбекті талап етеді, оларға ақпаратты енгізуді, олардың сортталуын, алынуын қадағалау керек, со­ны­мен қатар бұл істердің бәрі Unix нұсқасының бірі тұратын хост – про­вай­дер­дің серверінде жүзеге асатынын ұмытпау керек, яғни файл құқығы мен оларды орналастыруды да ойластыру керек. Сонымен қатар код көлемі ел­еу­­лі түрде өседі және программада қате жіберу өте оңай. Осы мәселелердің барлығын мәліметтер базасын қолдану арқылы шешеді. Мәліметтер базасы ақпараттың қа­уіп­сіздігі мен сортталуын өздері қадағалайды және ақпаратты алу мен ор­на­туды бір жолдың көмегімен жүзеге асыруға мүмкіндік береді. Мәліметтер базасын қолданумен код жинақы болып шығады, және оны әлдеқайда жеңілірек жөн­дей­ді. Сонымен қатар, жылдамдықты да ұмытпау керек – ақпаратты мәлі­мет­тер ба­за­­­сынан алған файлдан алғанға қарағанда әлдеқайда тезірек жүзеге асады. MySQL мәліметтер базасының ақпаратын сақтауда қолданылатын РНР-ге қо­сым­ша файлдарда салынған қосымшаларға қарағанда әрқашан тезірек істейді. Өйткені мәліметтер базасы С++ тілінде жазылған және қатқыл дискте мә­лі­мет­тер базасына қарағанда нәтижелі жұмыс істейтін PHP программасына жазу шешілмейтін мәселе, өйткені РНР программалары С++ про­грам­ма­лар­ынан бая­у­ырақ жұмыс істейді, себебі РНР – интерпретатор, ал С++ компилятор.
Осылайша, мәліметтер базасының басты артықшылығы қатты дискпен жұмыстың бәрін өз мойнына алады және өте жоғары деңгейде жүзеге асырады. MySQL мүмкіншіліктерінің қысқаша тізімі:

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

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

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

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

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 версиясында көрсетілім мүм­кін­дігі іске асады деп жоспарлануда.

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

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

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

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

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

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

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

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

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

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

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 опциялары ар­қы­лы қосуға болады.


Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   18




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет