-->
Главная » Статьи » Информатика

Деректердің реляциялық моделі

Деректердің реляциялық моделі.


Реляциялық деректер қорын жобалау.Реляциялық деректер қоры: деректер типі, домен, қатынас схемасы, деректер қоры схемасы, кортеждер және қатынастар, қатынас қасиеті, кілттер.

Деректердің реляциялық модель негізі алғашқы рет 1970 ж Е.Кодд мақаласындаы мазмұндалды. Бұл жұмыс реляциялық модель өркендеу алған үлкен санды мақала және кітап үшін стимул болды. Деректердің реляциялық моделінің ең көп тараған трактовкасы К.Дейтке жатады. Дейттің атйқанына сәйкес реляциялық модель үш бөліктен тұрады:

·         Құрылымдық бөлімнен.

·         Тұтастық бөлімнен.

·         Манипуляциялықө бөлімнен.

Құрылымдық бөлім, реляциялық модельде қандай объектілер қарастырылады, соны сипаттайды. Реляциялық модельде қолданылатын деректердің жалғыз моделі болып қалыпты n-арлы қатынас табылады. 

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

Манипуляциялық бөлім реляциялық деректерді манипуляциялаудың екі эквивалентті тәсілін сипаттайды - реляциялық алгебраны және реляциялық есептеуді.

Осы бөлімде реляциялық модельдің құрылымдық бөлігі қарастырылады.

Деректер типі. Программалаудағы қолданылатын, кез келген деректер өздерінің типі болады.

Қажетті! Реляциялық модель қолданылатын деректер типі қарапайым болуын талап етеді.

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

Деректердің қарапайым типі.

Қарапайым, не болмаса атомарлы деректер типінде ішкі құрылым болмайды. Мұндай типті деректі скалярлы  деп атайды. Деректердің қарапайым типіне келесі типтер жатады: Логикалық, Жолдық, Сандық.

Бұл тізім программалаудың әртүрлі тілдерін кеңейтіп, оған мынадай типтерді үстемелейді:

·         Бүтін; Нақты; Күн; Уақыт; Ақша; Тізбектелетін; Интервальды және т.б....

Расында атомарлы түсінігі өте қатысты. Оны деректердің қатар типі, символдардың бір өлшемді массиві, ал деректердің бүтін типін - биттер жиынтығы деп қарастыруға болады. Ең керектісі, мұндай төменгі деңгейге өту кезіңде деректердің  семантикасы (мәні)  жоғалады. Егер, мысалы қызметкер фамилиясын сипаттайтын жолды символ массивіне салсақ, онда мұндай жолдың бір бүтін сияқты мәні жо,алады.

Деректердің құрылымдық типі.

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

·         Массивтер.

·         Жазбалар (Құрылымдар).

Математикалық көқарастан массив анықтаманың соңғы сала функциясын білдіредіМысалынатуралды сан соңғы көпмүшесін қарастырайық индекс көпмүшесі деп аталадыКескін

 

  көпмүшесінен нақты сандар көпмүшесіне бірөлшемді нақты массивті береді.  индексінің кейбір мәні үшін бұл функция мәні тиісті массив элементі деп аталады. Осы ұқсас көп өлшемді массивтерді де беруге болады.

Жазба  (немесе құрылым) көпмүшенің кейбір декартты туындысының кортежін береді. Расында, жазба запись представляет собой именованный упорядоченный набор элементов  элементтерінің аты бар реттелеген жиынының білдіреді, олардыі әрқайсысы  типіне жатады. Соынмен, жазбасы, көпмүше элементі. Бар типтер негізінде жазбаның жаңа типін хабарлай отырып, пайдаланушы, деректердің күрделі типін құрай алады. Жалпы құрылымдық деректер типі үшін, абстракция еңгейінде деретер типі қолданатын ішкі құрылым болады.

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

Дерекердің қарапайым типімен жұмыс істей отырып, мысалы сандық, біз оларды бөлінбейтін бүтін объект ретінде манипуляция жасаймыз. Деректердің сандық типі күрделі екенін «көру» үшін (биттер жиыны), абстракцияның төменгі деңгейіне өту керек. Программалық код деңгейінде бұл жоғарғы деңгейдегі тілдің кодқа ассемблерлік қою немесе битті арнайы операцияны қолдану  болып көрінеді.

Деректердің сілтеме типтері.

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

Реляциялық модельде қолданылатын деректер типі.

Негізінен, деректердің реляциялық моделі үшін деректердің қолданылатын типі қажетті емесДеректер типі қарапайым деген талапты қалай түсіну керек. Реляциялық операцияларда деректердің ішкі құрылымы саналуы керекМынадай әрекеттер сипатталу керек деректерді бір бүтін етіп қараумысалыдеректердің сандық типін қою, жол үшін конкатенация операциясы болады және т.б. Бұл кө қарастан массивті қарастыратын болсақ, мысалы бір бүтін ретінде және элементі операцияны қолданбасақ, онда массивті деректердің қарапайым типі деп қарауға болады. Сонымен бірге өзіміздің күрделі деректер типін құруға, осы деректер типінің мүмкін әрекеттерін сипаттауға болады. Егер операцияда деректердің ішкі құрылым білімі қажет болмаса, онда деректердің мұндай типі реляциялық теориядан қарағанда қарапайым болады. Мысалы, жаңа тип құруға болады  - кешенді сандарды жазба түрінде, мұндағы. Қосу, азайту, көбейту және бөлі функцияларын сипаттауға болады, барлық әрекеттер және компонеттімен осы операцияның ішінде ғана орындалады. Егер осы типпен әрекетте тек сипатталған операцияларды қолдансақ, онда ішкі құрылым рол ойнамайды және деректер типі атомарлы болады. Дәл сол кейбір пост-реляциялы ДҚБЖ пайдалнушымен құрылатын деректердің күрделі типімен жұмыс құрылады.

Домендер.

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

·         Доменде ерекше ат болады (деректер қоры аймағында).

·         Домендер деректердің кейбір қарапайым типінде немесе басқа доменде анықталынады.

·         Доменде осы домен үшін болатын, деректер көпмүшесін сипаттауға мүмкіндік беретін кейбір логикалық шарты болады.   

·         Доменде нақты бір мәндік жүктеме болады.  

Мысалы«қызметкер жасы» деген мағынасы бар доменнің, натурал сандар көпмүшесі деп  сипаттауға болады:

 

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

Қатынастар, атрибуттар,қатынас кортежі.

Анықтама және мысал.

Деректердің реляциялық моделінің фундаменталды түсінігі болып қатынас түсінігі табылады.  Қатынас түсінігін анықтау үшін К. Дейт кітабына сүйенеміз.

1 Анықтама. Қатынас атрибуты болып жұп түрі  <Атрибут_аты :Домен_аты>.

Қатынас шегінде атрибут аттары ерекше болу керекЖиі қатынастың атрибут аттары тиісті домен аттарымен ұқсас болады.

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

Мысал. "Қызметкер_нөмірі", "Фамилия", "Еңбек ақы", "Бөлім_нөмірі" домендеріндегі "Қызметкерлер" қатынасын қарастырамыз. Барлық домендер әртүрлі, онда қатынас атрибутының атын тиісті домен атымен атауға болады. Қатынас тақырыбы келесі түрде:

Қызметкерлер  (Қызметкер_нөмірі, Фамилия, Еңбек ақы, Бөлім_нөмірі)

Осы кезде қатынас үш кортежден тұрады:

(1,Иванов, 1000, 1)

(2, Петров, 2000, 2)

(3, Сидоров, 3000, 1)

мұндай қатынастың нақты көрінісі келесі түрде болады:

 

"Қызметкер_нөмірі"

Фамилия

"Еңбекақы"

"Бөлім_нөмірі"

1

Иванов

1000

1

2

Петров

2000

2

3

Сидоров

3000

1

Кесте 1 - "Қызметкерлер" қатынасы.

3  Анықтама.  Реляциялық деректер қоры қатынастар жиыны деп аталады.

4 АнықтамаРеляциялық деректер қорының схемасы деректер қорына кіретін қатынастың тақырыптар жиыны деп аталады.

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

Реляциялық деректер моделіндегі терминдер тиісті «кестелік» синонимдері бар:

Реляциялық термин

Тиісті "кестелік" термин

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

Кесте жиыны

Деректер қорының схемасы

Кесте тақырыбының жиыны

Қатынас

Кесте

Қатынас тақырыбы

Кесте тақырыбы

Қатынас денесі

Кесте денесі

Қатынас атрибуты

Кесте тік жолының аталуы

Қатынас кортежі

Кесте жолы

Қатынас дәрежесі (-арность)

Кестенің тік жолының саны

Қатынас қуаттылығы

Кестенің  жолының саны

Домендер және деректер типі

Кесте ұяшығындағы деректер типі

 

 

Категория: Информатика | Добавил: admin_ (17.11.2013)
Просмотров: 6422 | Теги: Деректердің реляциялық моделі oracl | Рейтинг: 0.0/0
Всего комментариев: 0

Имя *:
Email:
Код *: