Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СБД[1].doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
211.46 Кб
Скачать

6. Атрибуттардың функционалдық, транзитивтік тәуелділігі.

Анықтама 1. Әр уақыт аралығындағы А мәні қандай да бір Б мәніне тең болған жағдайда R қатынасындағы Б атрибуты А-ға функционалды тәуелді болады.

Анықтама 2. Егер атрибут кілттің құрамдас бөліктерінен емес толық кілтке тәуелді болса, онда ол толық функционалды тәуелділіктегі атрибут болады.

Нормализацияның 3 қадамы – бұл транзитивті тәуелділіктердің алынуы. 2НФ-тегі қатынастар транзитивті тәуелділіктің мүмкін болуына талдануы тиіс.

Б атрибуты А атрибутына функционалды тәуелді болады, егер әр А мәніне бір Б мәні толығымен сәйкес келсе.

В мәнінің А мәніне математикалық функционалды тәуелділігі А ® В деп белгіленеді.

Бұл бірмәнді А атрибутты кортеждердегі Б мәнінің де бір болатынын көрсетеді.

А ж/е Б атрибуттары құрама болуы да мүмкін, яғни екі немесе одан да көп атрибуттан тұрады.

Оқытушы қатынасындағы функционалды тәуелділіктер келесідей болады: ТАЖ ® Каф, ТАЖ ® Лауазымы, Лауазымы ® Еңбекақы ж/е т.б.

Транзитивті тәуелділік – бұл кілттік емес атрибуттар арасындағы тәуелділік.

Транзитивті қатынасты алу үшін қатынас декомпазициясының басқа екі немесе одан да көп транзитивті қатынастары жоқ ж/е оларды біріктіру барысында алғашқы қатынас алынатын қатынастар арқылы да іске асырылады.

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

С атрибуты А атрибутына тәуелді, егер А, Б, С атрибуттары үшін А ® В ж/е В ® С шарттары орындалса. Бірақ кері тәуелділік болмайды. Мысалда атрибуттар транзитивті тәуелді:

ТАЖ ® ЛАУАЗЫМЫ ® ЕҢБЕКАҚЫ

7. SQL-сұраныстар тілі. Тілдің негізгі өрнектерін сұраныстар құруға қолдану.

SQL (Structure Query Language) – сұранымдардың құрылымдық тілі. Осы тіл кестеде сақталынатын байланысқан ақпараттар жиыны болатын мәліметтердің реляциялық қорын құруға ж/е жұмыс жасауға мүмкіндік береді.SQL тілінің құрамы. SQL тілі реляциялық мәліметтер қорында мәліметтермен қүрделі әрекеттер орындауға, мәліметтер қорының құрылымын анықтауға ж/е көпшілік қолданатын ортадағы мәліметтерге кіру құқығымен басқаруға арналған.

Сон-тан, SQL тіліне құрамдық бөлімі ретінде:

1) мәліметтермен күрделі әрекеттер тілі (Data Manipulation Language, DML) – мәліметтер қорында мәліметтермен күрделі әрекеттер орындауға қолданылады. Ол 4 негізгі бұйрықтардан тұрады: SELECT (таңдау), INSERT (енгізу), UPDATE (жаңарту), DELETE (жою).

2)мәліметтерді анықтау тілі (Data Definition Language, DDL). Негізгі бұйрықтары: CREAT DATABASE (мәліметтер қорын құру), CREAT TABLE (кестені құру), ALTER DATABASE (мәліметтер қорын өзгерту), ALTER TABLE (кестені өзгерту), DROP DATABASE (мәліметтер қорын жою), DROP TABLE (кестені жою),т.б.

3)мәліметтерді басқару тілі (Data Control Language, DCL) қарастырылған. Ол негізгі екі бұйрықтан тұрады: GRANT (құқық беру), REVOKE (құқықты қайтарып алу).

SQL де операциялар көбінесе WHERE кілттік сөздің өрнектерінде қолданылады. SQL операторларында операциялар белгісі шарттарды беру ж/е бірнеше шарттарды бір бірімен байланастыру үшін қолданылады.

Салыстыру операциялар SQL операторларында жеке мәндерді салыстыру үшін қолданылады ж/е =, <>, < ж/е> белгілермен көрсетіледі.

WHERE Kol_vo = '20000' Саны (данасы) тең 20000

SQL тілінде логикалық опер-р кілттік сөздермен беріледі. Лог-қ опер-р: IS NULL; EXISTS; BETWEEN; UNIQUE; IN; ALL ж/е ANY; LIKE; IS NULL

is NULL кілттік сөзі берілген мәні NULL мәніне теңдігін тексеруге қолданылады. М/ы, егер қай қызметкерлерде пейджер жоқ екенің білу керек болса,

EMPLOYEE_TBL кестесінде NULL мәнін PAGER бағанында іздеу керек.

WHERE SALARY is NULL Енбек ақысының мәні көрсетілмеген

2) Келесі мысалда NULL мәні табылмайды Терістеу операция арқылы шартты терістеу. Жоғарыда қарастырылған операциялардың барлық типтері үшін олардың терістеуін құруға болады, сонымен қарама қарсы шартты қарастыруға болатындай.

NOT кілттік сөзі келесі опер-мен қолд-ды: NOT BETWEEN; IS NOT NULL; NOT IN; NOT EXISTS; NOT LIKE; NOT UNIIQUE

NOT BETWEEN терістеу операциясы келсі түрде қолданылады:

WHERE SALARY NOT BETWEEN Еңбек ақысы 20000 мен 30000 мән-ң аралықтарында '20000' AND '30000' болмау керек

SQL тілінде арифметикалық операциялар басқа тілдеріндей қолданылады Ондай операциялар төртеу: + (қосу); * (көбейту); - (алу); / (бөлу).

ҚОСУ

Қосу "+" белгісімен көрсетіледі.

1) SELECT SALARY + BONUS SALARY мәні мәнімен қосылады әр жолдың мәндері FROM EMPLOYEE_PAY_TBL; бойынша

2) SELECT SALARY FROM EMPLOYEE_PAY_TBL SALARY мен BONUS қосындысы

WHERE SALARY + BONUS > '40000'; 40000 асатын жолдарды табу