Автовокзал

Кіріспе

ДҚ ол файлдардың жиынтығы: кестелердің, индекстері және триггерлері , кестелер аралық байланысты бейнелейді .

Деректер қоры :

  • ДҚ кестесі ,
  • индекстер,
  • ескертулер ( мемо - алаң ) және т . б . құралады.

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

Деректер базасын біз деректердің  ұйымдастырылуы ретінде білеміз  және ол үшін арнайы программалық тілдік құралдар пайдаланылады (деректер базасын  басқару жүйесі), сонымен қатар  ол ақпараттық жүйелерді ұйымдастырудың спецификалық әдістерінен тұрады. 

Осы курстық жобаны жасау  барысында реляциялық ДҚБЖ құралдары  көмегімен жасалды және қолданушы  интерфейсі өңделді, программалар, әдістер  және құрастырудың, жөндеудің және ЭЕМ программаларының  орындалуының теорияық және тәжірибелік технологиялары игерілді.

Курстық жобаны жасаудағы  мақсаты – реляциялық деректер базасын  индивидуалды тапсырмаларға сәйкес құру және оны іске асыруды реляциялық  ДҚБЖ құралдары көмегімен жасау.  

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

 

 

I – бөлім MySQL тарихы, қолданылуы 

MySQL – дүние жүзінде ең көп қолданылатын, қайнары тегін және ашық, реляцияланған мәліметтер қоры жүйесі (RDBMS). Серверлік бағдарлама ретінде, бірнеше қолданушыларға бірнеше мәліметтер қорын қолдануды қамтамасыз етеді. MySQL сөзіндегі "My" сөзі, бағдарлама жасаушысы Майкл Видньюс-тың (Michael Widenius) қызының аты - "My" сөзінен алынған. Ал SQL фразасы - Құрылымдасқан Тапсырыс Тілі (Structured Query Language) дегенді білдіреді.

MySQL, проект қайнарын GNU General Public License (GPL) және әр түрлі жеке  меншік лицензияларында шығарды. MySQL-ды кезінде MySQL AP атты Шведттық  фирма демеу еткен, ал қазір  оны толығымен Oracle корпорациясы  сатып алды.  Толық функционалды мәліметтер қорын қажет ететін, қайнары тегін проекттер жиі MySQL-ды қолданады. Серверді коммерциялық проекттерде қолдану үшін, қосымша функциялармен ұсынылатын бірнеше нұсқалары бар. MySQL-ді қолданатын бағдарламаларға TYPO3, Joomla, WordPress, phpBB, MyBB, Drupal және де басқа LAMP бағдарламаларын жатқызуға болады. MySQL сонымен қатар Google, Wikipedia, Facebook және Twitter сияқты дүниежүзілік және кең ауқымды web-бағдарламаларында қолданылады.

Қолданылуы. Веб-бағдарламаларында MySQL кең қолданылады және кең тараған LAMP бағдарламаларының ішінде басты компонент рөлін атқарады. LAMP сөзі - "Linux, Apache, MySQL, Perl/PHP/Python" сөйлемінің акронимі.

MySQL - қайнары тегін бағдарламалар  мен Интернеттегі танымал Flickr, Nokia.com, YouTube, Wikipedia, Google, Facebook және Twitter сайттарында  қолданылады. MySQL - C және C++ тілдерінде, ал SQL парсері және sql_lex.cc деп аталатын лекксикалық анализаторы yacc тілінде жасалған. MySQL көптеген жүйелер платформаларында жұмыс істейді. Оларға кіретіндер: AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos және Tru64. Сонымен қатар OpenVMS жүйесіне портталған түрі бар. Мәліметтер қорымен жұмыс істеу үшін, көптеген бағдарламалау тілдеріне кітапханалар жасалынған. Мысалы, C# және VB.NET үшін MySQL Connector/Net, ал Java үшін JDBC драйвері. Бұнымен қатар ODBC интерфейсін қолдайтын ASP және ColdFusion сияқты тілдер үшін MyODBC кітапханалары бар. Ал URL арқылы кез-келген web-клиенттің MySQL серверімен араласуға мүмкіндік беретін HTSQL технологиясы, MySQL-серверімен бірге келеді. MySQL көбінесе реляциялық мәліметтер қоры ретінде қолданылатындықтан ол, жүйені және ондағы мәліметтерді басқаруға арналған клиенттік бағдарламамен келмейді.

MySQL бірнеше командалық  жолмен орындалатын құралдармен  келеді. Олар мәліметтерге тапсырыс, мәліметтерді мұрағаттау, сервер  статусын қадағалау, мәліметтер  қорын жасау және т.б. Сонымен  қатар командалық жолмен орындалатын басқалар жасаған бағдарламалар да бар. Мысалы, Perl-да жасалған Maatkit бағдарламасы. MySQL серверін қайнардың өзінен жинап орнатуға болады. Бірақ бұл біршама уақыт қажет ететін және жалықтыратын процесс. Бұл операция көбінесе егер сізге ерекше конфигурацияда сервер қажет болса ғана істеледі. Linux операциялық жүйесінің бағдарлама пакеттерін басқаруға арналған жүйесі бұндай жұмыстарды минималды қимылмен орындатқызады. Дей тұрғанмен, әдетте орнатудан кейін қауіпсіздік және оңтайландыруға байланысты конфигурациялық жұмыстар жасау керек болады.

MySQL нарықтағы ірі және  ақылы мәліметтер қорларына балама  ретінде жасалса да, кең ауқымды  мәліметтерге байланысты талаптарды  орындай алады. Ол көбінесе  кіші және орта көлемді бір-серверлік  LAMP-негізінде жасалған бағдарламаларға  компонент ретінде немесе жеке  сервер ретінде қолданылады. MySQL-ге  деген тартымдылық - оны қолдану  оңайлығында. Мүны phpMyAdmin сияқты қайнары  ашық және тегін бағдарламалардан  көруге болады. Орта бағамен есептегенде, MySQL-ді бірнеше гигабайт жадты  және бірнеше процессорлы қуатты  аппараттық құрылғыларда ауқымды  етіп қолдану әбден мүмкін. Бірақ  та жалғыз серверлік ауқымдатуда  қуаттылық жағынан шектеулер  бар, сондықтан кеңірек ауқымдатуда,  жоғары өнімділік пен сенімделікті  қамтамасыздандыру үшін мульти-серверлік  MySQL орнатулары қажет. Әдеттегі  жоғарғы класстағы конфигурация  жазу операцияларын орындайтын  қуатты "master", "master"-дегі мәліметтердің  көшірмесін сақтайтын және оқу  операцияларын орындайтын бірнеше  "slave" серверлерден тұрады.  "Master" сервері әрдайым "slave" серверлерімен синхронда болады, сондықтан кездейсоқ бір уақытта  "master" өшіп қалса, бір "slave" жүйе жаңа "master"-ге автоматты  түрде көшеді. Cөйтіп жұмыссыз  уақыт көлемі кішірейтіледі. Өнімділікті  ары қарай жақсарту үшін, мәліметтер  қорынан алынған нәтижелерді  memcached деп аталатын бағдарламаны  қолдану арқылы жадта сақтауға  ұсынылады немесе мәліметтер  қорын "shard" деп аталатын  бірнеше бөліктерге бөліп оны  бөлісілген сервер класстерлеріне  жаюға болады.  Жүктеуге арналған екінші опция ол MySQL серверін Amazon EC2 сияқты cloud-платформаларында орнату. Cloud-та MySQL үшін орнатудың 2 түрі бар:


  • Virtual Machine Image - cloud-ты қолданатын қолданушылар, MySQL сервері орнатылған өздерінің компьютерлерінің файл ретіндегі көшірмесін жүктеу арқылы немесе дайын және оңтайландырылған MySQL сервері бар Amazon EC2 сияқты қызметтер қамтамасыздандырған көшірмені қолдана алады.
  • MySQL as a Service - кейбір "cloud" платформалары MySQL мәліметтер қорын "қызмет" ретінде ұсынады. Бұл ретте бағдарламашыларға MySQL мәліметтер қорын өздеріне орнатудың және оны қолдаудың қажеті жоқ. Оның орнына қызметті қамтамасыздандырушы жауапкершілікті және оны қолдауды өзіне алады, ал сол қызметті қолданатын бағдарламашылар соның қолданған бөлігіне ғана төлейді. Екі айқын байқалатын cloud-негізіндегі MySQL қызметтері - Amazon Relational Database Service және Xeround Cloud Database. Соңғысы Amazon EC2, Rackspace және Heroku қызметтерінде істейді.

Үшінші опция, қолданушылардың  қатысуымен басқарылатын MySQL. Бұл жерде MySQL серверін қызмет қамтамасыздандырушысы  ұстаса да, оны басқару бағдарламашының  қатысуымен өтіп отырады. 2011 жылдан бастап, көптеген ірі cloud қызметін қамтамасыздандырушылардың  ішінен тек Rackspace ғана осы опцияны  ұсынады.

MySQL, кебір SQL стандарттарын  толық қолдамайды. Мысалы, стандартты SQL синтаксын, мәліметтер шектеулері, сыртқы кілттерге сілтемелерді  тексеру және де басқа бизнесс  логикадағы тұрақтылықты сақтауға  арналған функциялары, қатаң тексерулерді  орындамайды. Триггерлер болса  бір тапсырыста бір рет ғана  орындалады, яғни бір кестеге  орындалған енгізу операциясының  алдында немесе одан кейін  бір-ақ рет бір триггерді орындауға  болады. Көріністерге болса триггер  орындауға болмайды.

MySQL жасалу кезеңдері келесілерден  тұрады:


  • Майкл Видньюс (Michael Widenius) және Дэвид Аксмарк (David Axmark) 1994 жылы ең бірінші нұсқасын жасады
  • Бірінші ішкі шығарылым 23 мамыр 1995 жылы шықты
  • 1998 жылдың 8 қаңтарында Windows 95 және NT арналған нұсқасы шығарылды
  • 3.19 нұсқа: www.tcx.se сайтында 1996 жылдың аяғында шықты
  • 3.20 нұсқа: 1997 жылы, қаңтарында
  • 3.21 нұсқа: www.mysql.com сайтында 1998 жылы шықты
  • 3.22 нұсқа: 1998 жылы alpha және beta нұсқалары шықты
  • 3.23 нұсқа: 2000 жылы beta, ал 2001 жылы қаңтарда шығарылымға жіберілді
  • 4.0 нұсқа: 2002 жылы тамызда бета, ал 2003 наурызда толық шығарылымға шықты
  • 4.01 нұсқа: 2003 жылы тамызда бета нұсқасы шықты
  • 4.1 нұсқа: 2004 жылы маусымда бета нұсқасы, 2004 жылы қарашада толық шығарылымға шықты(R-tree және B-tree алгоритмдері, құрама тапсырыстар, дайындалған тапсырыстар)
  • 5.0 нұсқа: 2005 жылдың наурызынан бастап бета нұсқасы, 2005 жылы қазанда толық шығарылымы (курсорлар, сақталған процедуралар, триггерлер, көріністер, XA транзакциялары)

Біріктірілген Сақтау Қозғалтқышын (Federated Storage Engine) жасаған бағдарламашы: "Біріктірілген Сақтау Қозғалтқышы - сынауға жасалған қозғалтқыш" деген, бірақ ол MySQL 5.0 нұсқасының басты таратылымдарына енгізіліп, стандартты опция ретінде қосылды. Бұл туралы біраз мағлұматтар "MySQL Federated Tables: The Missing Manual" құжаттамасында жазылған.

MySQL Server 6.0.11-alpha нұсқасы, 6.0 нұсқаларының  ішіндегі соңғысы болып 2009 жылы 22 маусымда шықты.Келесі MySQL Server жасалымдары  қолданысқа шығарудың жаңа моделін  қолданып, жаңа енгізілімдерді келесі  шығарылымдарға кіргізеді.

2011 жылы болған MySQL қолданушылар  конференциясында, MySQL 5.6 нұсқасының  аралық шығарылымы жарияланды. Енгізілген  жаңа функциялар мен ерекшеліктерге  жақсартылған өңдеу өнімділігі, тапсырыстарды оңтайландырғыш, InnoDB-да  транзакция жылдамдығының арттырылуы, NoSQL-стиліндегі жаңа memcached API-лары, өте  үлкен кестелерге тапсырыс беруге  арналған партицияларға жақсартулар, PERFORMANCE_SCHEMA мәліметтерін қолдану  арқылы репликация жасау және  жүйе өнімділігін бақылау жақсартуларын  кіргізуге болады. Шілдеде, келесі  нұсқасы BINLOG API, топтық транзакциялық  жазулар және InnoDB толық текстік  іздеу функцияларымен шықты. MySQL server және клиент кітапханалары  екі жақтық лицензияны қолданады.  Олар 28 маусым 2000 жылдан бастап GPL лицензиясы (Oracle кейін оны FLOSS лицензиясынсыз  етіп өзгертті) және ақылы лицензия  негізінде шықты. Ең біріншіден, қолдауды http://dev.mysql.com/doc/refman/5.5/en/index.html сілтемесіндегі ресми нұсқаудан алуға болады. Қосымша, тегін қолдауларды әр түрлі IRC каналдарынан және форумдардан алуға болады. Сонымен қатар Oracle, өздерінің MySQL Enterprise өнімдері арқылы, ақылы қолдау көрсетеді. Олар қызметтері және бағаларымен ерекшеленеді.

2005 жылы қазанда, InnoDB қозғалтқышын  шығаратын Финдік компания Innobase OY-ды сатып алды. Сатып алынғаннан  кейін, Oracle корпорациясы MySQL AB бағдарламаларына  қатысты келісім-шарттар 2006-жылы  жаңартылуы немесе қайта қаралуы  мүмкін деп жариялады. 2006 жылы  болған MySQL қолданушылары конференциясында, MySQL өз баспасөз хабарламасында, Innobase YO және MySQL "бірнеше жылдық" кеңейтілген лицензиялық келісім  шартқа отырғандығын жариялады.

2006 жылы ақпанда, Oracle корпорациясы, Berkeley DB қозғалтқышын жасайтын Sleepycat Software компаниясын сатып алды. Бұл  келісімнің әсері аз болды,  өйткені оның қолданылуында кемшіліктер  болғандықтан, оны қолдау MySQL 5.1.12 нұсқасынан  бастап тоқтатылды.  2008 жылы қаңтарда, Sun Microsystems MySQL-ді 1 миллиард долларға  сатып алды.  2009 жылы сәуірде, Oracle корпорациясы Sun Microsystems, сонан кейін  MySQL авторлық құқықтары мен сауда  белгілерін сатып алуға келісімге  кірді. 2009 жылы 20 тамызда, Sun компаниясының  директорлар кеңесі, акционерлері  және АҚШ үкіметі жасырын түрде  бұл келісімді мақұлдады. 2009 жылы 14 желтоқсанда, Oracle MySQL-ды ары қарай жақсартып, қолдауын жалғастыратынын мәлімдеді.

 

 

Тарамдары


  • Drizzle – cloud-нарығына және web-инфраструктурасына бағытталған тарам. Бағдарламашылар оны: "MySQL-дің кішкентай, жеңіл және тез нұсқасы" деп атайды. Бұл нұсқадан - сақталған процедуралар, тапсырыстар кэшы, дайындалған тапсырыстар, көріністер және триггерлер сияқты функциялар мен мүмкіншіліктер алынып тасталған соң, MySQL серверімен үйлесімділікті сақтамайды.
  • MariaDB – қоғамдастық жасаған және онымен қолдау көрсетілетін MySQL тарамы. Oracle MySQL-ды сатып алғаннан кейін, MySQL-дің лицензия статусы ары қарай қалай болатыны белгісіз болғандықтан, бұл тарам соған қарсы GPL-лицензиялы түрде қарсы шығарылған. MySQL-дің командалары, кітапханалары және бинарлы файлдарымен үйлесімділік сақтап, MySQL-дың орнына қолданылатындай етіп жасау - MariaDB-ның басты мақсаттарының бірі. MariaDB-да InnoDB-қозғалтқышының орнына XtraDB қозғалтқышы қолданылады.
  • Percona Server – XtraDB қозғалтқышын қолданатын тарам. Бұл MySQL-дың кеңейтілген және онымен толық үйлесімділігі бар тарам. Қосымшаларына және мүмкіншіліктеріне кіретіндер - пайдалы жаңа функциялар, қосымша өнімділік және жүйені қолдану мен өнімділік-ті анализдеуге арналған құралдарды атауға болады.
  • OurDelta – MariaDB, Percona және Google сияқсы тарамдардан алынған өзгертулер мен түзетулерден құралған MySQL тарамы.

 

    1.  Деректер базасымен жұмыс істеудегі негізгі түсініктер.

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

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

Сонымен, мәліметтер базасын басқару жүйесі (МББЖ) – ақпараттық жүйенің негізгі компоненті. МББЖ-да ақпараттық жүйені құру және басқару үшін, тура алгоритмдік тілдегі программаларды құрудағы сияқты транслятор қажет. МББЖ-ның негізгі функциялары:

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

Ақпараттық жүйелерді  проектілеу теориясында пән облысын (немесе бүкіл нақты әлемді) үш түрлі жолмен сипаттау қабылданған:

  • пән облысын, нақты түрде қалай бар сол қалпында қабылдау
  • адам қалай қабылдайды сол қалпында қабылдау (мәліметтер базасын проекциялаушы)
  • оны символдар көмегімен қалай сипатталады, солай қабылдау.

Яғни, біз бұл қабылдау қайтаратын, нақтылықты және берілгендерді  сипаттаумен нақты жұмыс істейтінімізді білдіреді.

Пән облысын сипаттау үшін қолданылатын мәліметтер, үш деңгейлі схема (ANSI/SPARC деп аталатын модель) түрінде  көрсетіледі:

Кесте 1. Схема түрлері.

Сыртқы сипатталу (сыртқы схема) мәліметтері, қолданушы орындайтын бірқатар нақты функцияның мәліметтерге қоятын талаптар жиыны арқылы анықталады.

Концептуальды схема қолданушының нақты әлем туралы ойларынан алынған, мәліметтерге қоятын барлық талаптарының жиынтығы.

Ішкі схема – бұл мәліметтер базасының өзі.

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

Концептуальды проектілеу – бұл мәліметтерге қойылатын талаптарды жинау, талдау және өңдеу. Ол үшін келесі қасиеттер орындалады:

  • пән облысын зерттеу және оның ақпараттық құрылымын оқу
  • әрқайсысы қолданушының ойымен, ақпараттық объектілермен және олардың арасындағы байланыстармен, ақпараттық объектілерге қолданылатын процесстермен сипатталатын барлық фрагменттерді табу
  • барлық сипаттауларды модельдеу және интеграциялау.

Бұл этапты аяқтағанан кейін  мәліметтер базасына инвариант болатын  концептуальды схеманы аламыз. Ол көбінесе «маңыз-байланыс» моделі түрінде  өрнектеледі.

Логикалық проектілеу – ол мәліметтерге қойылатын талаптарды мәліметтер структурасына түрлендіру. МББЖ-дан шығарда мәліметтер базасының ориентацияланған структурасын және қолданбалы программалар спецификациясын аламыз. Бұл этапта көбінесе әртүрлі МББЖ-ға қолдануға болатын мәліметтер базасын моделдейді және моделдердің салыстырмалы талдауын жасайды.

Физикалық проектілеу – ол мәліметтердің сақталу ерекшеліктерін, оларға кіру әдістерін және т.с.с. анықтайды.

Инфологиялық  модельді  жасау.

 

Инфологиялық модельдеу  мақсаты – жасалатын деректер базасында сақталатын ақпараттарды жинақтау мен ұсынуды адамдар  үшін  табиғи болып табылатын  әдістерімен қамтамасыз ету. Сол  себептен инфологиялық модеьді барынша  табиғи тілге аналогия ретінде тұрғызуға  тырысады (соңғысы текстерді өңдеудің компьютерлік қиындығы және кез келген табиғи тілдің біркелкі еместігінен  қолданыла алмайды). Инфологиялық модельдің  ең негізгі құрылымдық элементтері  болып негіз, олардың арасындағы байланыс және қасиеттері (атрибуты) табылады.

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

Атрибут – негіздің атауландырылған мінездемесі. Оның атауы негіздің нақты типі үшін қайталанбайтын, уникалды болуы тиіс, ал негіздердің түрлі типтері (мысалы, түс ит немесе машина үшін анықталған, т.б. сияқты) үшін бірдей бола береді. Атрибуттар сол негіз туралы қандай ақпараттың жиналуы керектігін анықтайды. Автомобиль негізі үшін атрибут болып типі, маркасы, номер белгісі, т.б. табылады. Мұнда да тип пен экземплярдың арасында айырмашылық бар. Түс атрибутының типі көптеген экземплярлардан немесе мәндерден тұрады: Қызыл, Көк, Ақ түн, т.б., бірақ негіздің әрбір экземплярына атрибуттың тек қана бір мәні меншіктеледі. Атрибуттар мен негіз типтері арасындағы абсолютті айырмашылық жоқ. Атрибуттың осындай болу себебі негіз типіне байланысты болып келеді. Басқа контексте атрибут жеке-дара негіз ретінде шыға алады. Мысалы, автомобиль заводы үшін түс – тек өндіріс қнімінің атрибуты ғана, ал лак-сыр шығарушы фабрика үшін бұл – негіз типі.

Біздің жағдайда атрибуттар: Жастар үкіметі қызметкерлерінің фамилиялары, есімдері, қызметі, оқитын факультеті т.б.

Кілт – талап етілетін негіздің керекті экземплярын табуға мүмкіндік береді атрибуттардың  минималды жиыны. Минималдылық деген  – кез келген атрибуттың жиыннан  алынып тасталуы қалған атрибуттар бойынша  негізді идентификациялай алмау. Кесте  негізі үшін кілт ретінде Рет саны өрісі.

Байланыс – екі немесе одан да көп негіздердің ассоциациялануы. Деректер базасының мәні бір бірімен байланыспаған жай деректер болса, оның құрылымы да өте қарапайым болушы еді. Бірақ деректер базасын құрудағы негізгі талап – негіздің бір мәні арқылы басқа бір негіз туралы анықталған байланыстарды орнату арқылы ақпарат алу мүмкіндігі. Нақты деректер базасында жүздеген, тіпті мыңдаған негіздер болатындықтан, теориялық түрде олардың арасында миллионнан аса байланыстар болатындығы туралы болжап айтуға болады. Осындай байланыстардың жиыны инфологиялық модельдің күрделілігін анықтайды.

Инфологиялық модельді құрастырғанда ER-диаграммалары тілін (ағылшынның Entity-Relationship сөзінен, яғни негіз-байланыс) қолдануға болады. Оларда негіз белгіленген  тіктөртбұрыш арқылы, ассоциациялар  – белгіленген ромбтар немесе алтыбұрыштар арқылы, атрибуттар –  балгіленген сопақшалар арқылы, ал олардың арасындағы байланыстар  – үстерінде байланыс дәрежесі және керекті түсіндірулері бар бағытталмаған  қабырғалар түрінде көрсетіледі.

Көбінесе көрнекілігі  аз болғанымен, маңыздылығы жоғары негіздер мен ассоциациялар түр  қосымшалары арқылы ұсынылатын инфологиялық модельдеу тілі (ЯИМ) қолданылады:

Негіз (атрибут 1, атрибут 2 , ..., атрибут n)

Ассоциация [НЕГІЗ S1, НЕГІЗ S2, ...]

(атрибут 1, атрибут 2, ..., атрибут n),

Мұндағы S – байланыс дәрежесі, ал кілтке кіретін атрибуттардың  асты сызылып, ерекшеленуі тиіс. Мысалы, А және В негіздерінің арасында төрт түрлі байланыс түрі болуы мүмкін.

Бірінші тип – бірге  бір байланысы (1:1): әрбір уақыт  мезетінде А негізінің әр экземплярына В негізінің 1 немес 0 экземпляры сәйкес келеді: Студент стипендияны “табыс ретінде” таба алмайды, тек қарапайым  немесе жоғарылатылған стипендиялардың  бірін ала алады.

Екінші тип – бірге  көп байланысы (1:M):  А негізінің  бір экземплярына В негізінің  0, 1 немесе бірнеше экземплярлары  әйкес келеді. Пәтер бос тұруы  мүмкін, онда бір немесе бірнеше  адам тұруы мүмкін.

Екі негіздің арасында екі  жаққа да бағытталған байланыстар  болуы мүмкін. Бұл өз кезегінде  тағы да екі типтің тууына әкеледі: көпке бір (M:1) және көпке көп (M:N).

Негіздерді классификациялау. К.Дейт негіздердің үш класын қарасты-рады: оқтама (стержень) тәрізді, ассоциативті және мінездемелік, сонымен қатар ассоциативтіктің класына тиісті – белгілеулер.

Стерженьдік негіз – атауы  тіктөртбұрышқа енгізілген тәуелсіз негіз.

Ассоциативті негіз –  екі немесе одан да көп негіздер немесе негіз экземплярлары арасындағы «көптің көпке» («бірдің көпке»,т.б.) түр байланысы. Ассоциациялар теңқұқылы  негіздер ретінде қарастырылады: олар басқа ассоциацияларда тап стерженьдік  негіздер сияқты қатыса алады; қасиеттерге  ие бола алады, яғни байланыстарды көрсететін кілттік атрибуттар жиынынан ғана емес, байланысты мінездейтін басқа да атрибуттардан тұра алады.

Мінездемелік негіз –  бұл екі негіздің арасындағы байланыс «көптің бірге» немесе «бірдің бірге» болатын түр байланысы (ассоциацияның  жекелен жағдайы). Қарастырылатын пәндік облыс аумағында мінездеменің жалғыз мақсаты  басқа бір негізді  сипаттау мен нақтылаудан тұрады. Оларға деген қажеттілік нақты әлемнің  негіздері кейде көпмағыналы  қасиетке ие болуы себебінен туындайды.

Мінездемені сипаттау үшін жалпылама түрде ЯИМ жаңа сөйлемі  қолданылады:

Мінездеме (атрибут 1, атрибут 2, ...)

   [Мінездеме берілетін  негіздер тізімі].

Негіз белгілеушілері немесе белгілеу - бұл екі негіздің арасындағы байланыс «көптің бірге» немесе «бірдің  бірге» болатын түр байланысы, мінездемеліктен  айырмашылығы белгіленетін негізге  тәуелсіздігі.

Даталогиялық  модельді  жасау.

Инфологиялық үлгіден  кейін міндетті түрде келесі қадам  даталогиялық үлгіні жобалау процедуралары  келесі адымдар қажетті орындауы  жүреді:

1. Әрбір бөлікті таныстыру  ( тәуелсіз маңыз ) дәл осы база  кестесімен ( негіздік кестемен ) және  бұл базалық  кестенің  алғашқы  кілт өзгешеліктерін анықтау.

2. Әрбір ассоциацияны  базалық кесте сияқты таныстыру  ( түр байланысы "көпке көп"  немесе "көпке көп көпке"  және маңыздар аралықпен т.б.). Бұл кестеде ассоциацияға қатысушыларының  теңестіруіне арналған сыртқы  кілттер  және шек қоюлар  өзгешеліктерін анықтау базалық  кесте сияқты бұл сыртқы кілттің  әрбірімен байланысын қолданылады

3. Сыртқы кілтпен базалық  таблица сияқты  әрбір мінездемені  маңызын белгілейтін, мінездемені  сипатталуын ұсыну

4. Бұл кестеде сыртқы  кілтіне  және алғашқы кілтке  шек қоюлар және оның өзгешеліктерін  анықтау - барлық ықтималдықтары, сыртқы кілттің комбинациясы  және қасиеттің " суреттелетін  маңыз рамкаларында бірегейлік ". сияқты кепіл болатындай  анықтау.

5. Алдындағы пунктіде  анықтап қаралмаған, сыртқы кілтпен  базалық кесте сияқты, белгіленетін  маңыз белгілейтінмен әрбір мағынасын  таныстыру. Шек қою әрбір сондай  сыртқы кілтімен байлаулы өзгешеліктерін  анықтау.

6. Базалық кестенің  алаңы  сияқты әрбір қасиетті ұсыну,  маңыз таныстырушы   осы қасиетпен  сипатталады.

7. Нормалау принциптерінің  қандай болмасын жобада - бұзуларға  шығару үшін, нормалау процедурасын  орындау қажет. Нормалау –  бұл  процес екі немесе көп  кестелердің бұзылуын,  әсер етушілердің  негізгі  қасиеттермен қосуда, өзгертуде және қашықтауда  орындалатын  процесс. Нормалаудың сонғы мақсаты   осы базалар деректерінде  пайда  болады, сондай ақ жобасын алуына  апарылады, яғни әрбір факті  тек бір орында  пайда болуын  көрсетеді, яғни хабарға артық  шығарып тасталады. Бұның жасалуы   жад үнемділігі мақсатымен емес, қаншалықты  мүмкін қайшылық шығаруына  арналған  деректерді сақтау.

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

8. Егер нормалау барысында  кестелердің қандай болмасын  бөлінуі туындатылған болса, онда  инфологиялық модел тап осы  база үлгі модификациялауға ереді  және саналған адымдар қайталанады.

9.  Тап осы жобаланушы  база бүтіндік шек қоюлары  көрсету және беру ( егер ол  қажетті болса) алынған кестелердің  қысқаша суреттеуі және олардың  алаңы.   Сілтеме бүтіндік –  бұл  ережелердің жүйесі, байлаулы  кестелердің жазулары аралық  көңіл болуларды сыпайылық кепілдік  беруші және кездейсоқ қашықтаулар  немесе байлаулы бөлім өзгертулері  мүмкіншілік шығарып тастайтын  аралық. Кестенің әрбір жолдары  үшін сыртқы кілтпен сілтеме бүтіндік алғашқы кілтпен кестеден лайықты жол барысын күәландырады, егер ол сыртқы кілтпен кестемен байланысса; барлық – осы   әрекет үшін орындалады, кестелер аралық көңіл болу қажетті алдымен қашықтатады. Сілтеме бүтіндік оқтын-оқтын тексеруге көзі жетуге көмектеседі. Сілтеме бүтіндік кестелерде лайықты мағыналардың өзгертуімен операциялармен қосады, қашан сыртқы кілт мағыналы  және басқа алғашқы кілттен   оларды сақтайды.

 Негізгі пунктіде жасалған  даталогиялық модель біздің деректер  қорының нормализацияланған түрінде  келтіруі болып табылады , яғни  деректердің артық жойылуы құрады. Дәл осындай кестелер сияқты  біздің базамызда деректердің  жойылуы сияқты құрылды, нормализацияланған  түрді талап етпейді.

1.3  ДБ-мен жұмыс  істеу үшін арнайы басқару  элементтері.

Delphi деректер қорын басқару  жүйесін жасаудың жетілген құралдарын  ұсынады. Delphi отрасында әдетте мұндай  мақсаттарға Database Desktop утилитасы  қолданылады. Сонымен қатар Paradox, dBASE (корпорации Borland), FoxPro, Access (корпорации Microsoft), т.б.  сияқты өндірістік  ДҚБЖ пайдаланылады. 

ДБ жұмыс жасауға арналған Delphi құралдарына мыналар жатады:

  • инструментальды құралдар (арнайы программалар мен пакеттер);
  • деректер базасымен операцияларды орындайтын қосымшаларды жасауға арналған компоненттер.

Инструментальды құралдар

     Delpi-де ДБ жұмыс жасауға арналған келесі құралдар бар:

  • BDE (Borland DataBase Engine) – ДБ-на рұқсатты қамтамасыз ететін кітапханалар жиынынан тұратын деректер базасының процессоры;
  • BDE Administrator – BDE күйлерін келтіруші утилита;
  • DataBaseDesktop – SQL кестелерін және QBE сұраныстарын жасау және редакторлауды ұйымдастыратын программа;
  • SQL Explorer – ДБ параметрлерінің күйлерін келтіру мүмкіндігін беретін жол көрсетуші (проводник);
  • SQL Monitor – SQL-сұраныстардың орындалу ретін қадағалаушы программа;
  • SQL Links – ДҚБЖ-ның жойылған программаларына рұқсат үшін арналған драйверлер, мысалы MSSQL Server Oracle;
  • Local InterBase Server – Borland InterBase-дің SQL-серверінің локальді версиясы;
  • InterBase Server  Server for Windows 95 – Borland InterBase-дің SQL-серверінің көп қолданушыларға арналған бір уақытта төрт байланысқа есептеліп жасалған версиясы.
Автовокзал