5В070400 – Есептеу техникасы және бағдарламалық қамсыздандыру мамандағы бойынша ОҚУ-Әдістемелік материалдар



бет5/10
Дата24.06.2016
өлшемі5.33 Mb.
#156827
1   2   3   4   5   6   7   8   9   10

Сіздің алғаныңыз реляционды мәліметтер бзасының негізі болып табылады, яғни ақпарттың екіөлшемді кестесі (жол немесе баған). Дегенмен реляционды мәліметтер базасы бір ғана кестеден сирек болады. Мұндай кесте файлдық жүйеден де аз. Ақпараттары бір –бірімен байланысты кестелер құру арқылы сіз мәліметтеріңізбен күрделі әрі күшті операциялар орындй аласыз. Ақпараттар фрагментінің арасында құрған мәліметтер базасының күштілігі ақпарат фрагментіне емес, байланысқа тәуелді.
БІР КЕСТЕНІ БАСҚАСЫМЕН БАЙЛАНЫСТЫРУ

Бірінші кестеміздің кейіпкерлері аурухана емделушілері деп алайық. Басқа кестеде осы емделушілер туралы қосымша ақпарат толтыруымызға болады. Екінші кесте бағандарын Емделуші, Дәрігер, Сақтандыру және Баланс деп белгілейміз.

Емделуші Дәрігер Сақтандыру Баланс

Farish Drume B.C./B.S. $272.99

Grillet Halben None $44. 76

Brock Halben Health,Inc. $9077.47


Көрсетілген параметрлерге сай осы кестелерден ақпаратты алып, көптеген күшті функциялар орындауға болады, әсіресе бұл параметрларда әртүрлі кестелерде байланысқан ақпарат фрагменттері бар болса. Мысалы, дәрігерлерді алайық. Дәрігер Halben өзінің барлық емделушілерінің телефондарын алғысы келді делік. Бұл ақпаратты алу үшін емделушілердің телефон номерлары бар кестені оның емделушілері қайсы екенін көрсететін кестемен байланыстыра алады. Дегенмен, бұл қарапайым мысалда оны басында ұстап, бірден Grillet және Brock емделушілерінің телефонын алуға болушы еді, бұл кестелер тым үлкен және тым қиын болуы мүмкін. Реляционды мәліметтер базасының бағдарламасы осындай типті мәліметтердің үлкен әрі қиын қосындыларын өңдеу үшін құрылғн, анық көріп тұрғандай іскерлік әлемде универсалды әдіс болып табылады. Аурухананың мәліметтер базасында жүздеген немесе мыңдаған ат болса да, тәжірибеде солай болады да, SQL бір командасы дәрігер Halbenге лезеде керек ақапаратты тауып беруші еді.

ЖОЛДАРДЫҢ РЕТІ КЕЗ-КЕЛГЕН

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

Екінші кестені қарастырайық. Кейде сізге бұл ақпаратты аты бойынша алфавитпен реттелген, кейде өсу не кему реттілігімен, ал кейде әлде бір дәрігерге қатысты топтасқан түрде көру керек болады. Жолдағы реттілікті жөндеуде тпсырыс берушының оны өзгерте алу мүмкіндігімен соқтығысамыз, сондықтан жолдар реттелмеген болып қарастырылады. Осы себеп бойынша сіз: «Біз кестенің бесінші жолын көргіміз келеді» деп айт алмайсыз. Мәліметтер еңгізілген немесе басқа критерийлер реттілігіне қарамай, біз басқа жолды анықтаймыз, дегенмен ол бесінші болады. Қарастырылатын кесте жолдары әлдебір реттілікте болмайды.

ЖОЛДАРДЫҢ ИДЕНТИФИКАЦИЯСЫ (БІРІНШІЛІК КІЛТ)

Осы және басқа себептер үшін әрбір жолды бұлжытпай идентифицировать ететін кестеңізде баған болу керек. Әдетте бұл бағанда номер болады – мысалы, әрбір емделушіге берілетін номері. Әрине сіз емделуші аттарын қолдана аласын, бірақ мысалға бірнеше Mary Smiths болуы мүмкін ғой, осындй жағдайда оларды бір бірінен айыратын басқа әдіс таппайсыз.

Сондықтан номерлер керек. Мұндай әрбір жолды әрбір жолды идентифицирлейтін және әрбір жолды юөлек сақтайтын бірден бір баған (немесе бағандар тобы) – кестенің біріншілік кілті деп аталады.

Кестенің біріншілік кілті мәліметтер бзасындағы маңызды элемент. Олар- сіздің файлға жазу жүйеңіздің негізі; егер кестедегі белгілі бір жолды тапқыңыз келсе осы біріншілік кілтке жүгінесіз. Сонымен қтар біріншілік кілт сіздің мәліметтеріңізде белгілі бір жинақылық барлығын дәлелдейді. Егер біріншілік кілт дұрыс қабылдап, қолданса сіз бос жолдың жоқтығын және әрбір жол басқасынан ерекшеленетінін біліп отырасыз.

БАҒАНДАР АТАЛАДЫ ЖӘНЕ НОМЕРЛЕНЕДІ

Жолдарға қарағанда бағандарреттеледі және аталады. Сонымен біздің мекен-жай кестемізде «баған мекені» немесе «3 бағанаға» нұсқауға болады. Әрине бұл дегеніміз әрбір бағанда өзіндік ат болу керек, әйтпесе қайталанып кетеді. Егер аттар өріс мазмұнын көрсетсе тиімді болады. Типтік кестелерде бағандардың атауларына қысқартулар қолданамыз, мысалы тапсырыс беруші атына cname, реттілік күніне odate. Сонымен қатар әрбір кестеге жеке сандық номер береміз, ол біріншілік кілт ретінде болады. Келесі бөлімде осы кестелерді және кілттерін түсіндіреді.



Типтік мәліметтер Базасын жобалау.

1, 2 және 3 кестелер реляционды мәліметтер базасын құрайды, олар минималды жеткілікті, оңай іздестіру үшін және жеткілікті толық негізгі мағлұматтарды иллюстрирлеу және SQL тәжірибесін қолдану.

Олар SQL әртүрлі ерекшеліктерін иллюстрирлеу үшін қолданылады.

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

1 кесте:

Salespeople – сатушылар



2 кесте:


Тапсырыс берушілер - customers

cnum

cname

city

rating

snum

2001

hoffman

London

100

1001

2002

giovanni

Rome

200

1003

2003

liu

SanJose

200

1002

2004

grass

berlin

300

1002

2006

clemens

London

100

1001

2008

cisneros

SanJose

300

1007

2007

pereira

Rome

100

1004

3 кесте:


Реттілік - orders

Мысалы Тапсырыс беруші кестесінде snum өрісінде қай сатушыға берілген тапсырыс беруші белгіленгені көрсетіледі. Сатушы кестесіндегі snum өріс номері осы сатушылар туралы ақпарат береді.

ЕСКЕРТУ: Мәтіндегі берілген үш кестенің аттары – Сатушылар, Тапсырыс берушілер және Реттілік, ары қарай да осылай аталады. Кесте кітабындағы басқа аттар ағылшын тілінде айтылады, оларды біздің базалық кестеден айыру үшін. Бірмәнділік мақсатта тапсырыс берушілер аттары, сатушылар, Жүйелік Каталогтар, сондай – ақ мәтіндегі өрістер латын тілінде беріледі.

Кестелер шынайы өмірдегі жағдайға ұқсас мысал сияқты берілген, SQL қолданғанда сатушылар, тапсырыс берушілер және тапсырыс беруші ретін бақылау үшін. Енді осы үш кесте мен олардың өрістернің мәнін қарастырайық.

1 кесте бағандары көрсетілген

ӨРІС МАЗМҰНЫ

--------- ----------------------------------------------

snum әрбір сатушыға белгіленген бірден бір номер

(«қызметкер номері»).

sname сатушы аты.

city сатушы орны (қала).

comm ондық формадағы сатушылардың комиссиондары


2 кестеде келесідей бағандар болады:

ӨРІС МАЗМҰНЫ

--------- ----------------------------------------------

snum әрбір сатушыға белгіленген бірден бір номер

(«қызметкер номері»).

sname сатушы аты.

city сатушы орны (қала).

rating нұсқаушы коды берілген тапсырыс берушінің басқаларынан жоғары бағалау деңгейі. Жоғарырақ номер жоғары бағалауға нұсқайды (рейтинг).

snum осы тапсырыс берушіге белгіленген сатушы номері

( Сатушылар кестесі)

3 кестеде келесідей бағандар бар:

ӨРІС МАЗМҰНЫ

--------- ---------------------------------------------------

onum әрбір алынған затқа берілетін бірден бір номер

amt алынатын зат сомма мәні

odate сатып алынған зат күні.

cnum iстеушi алуды тапсырыс берушiнiң нөмiрi

(тапсырыс берушiлердiң кестелерiнен)

snum сатып алынатын зат сатушы нөмiрi

(сатушы кестелерiнен).


ІІ MySql жұмыс
phpMyAdmin көмегімен Мліметтер Базасын құру
Егер мәліметтер базасы әлі құрылмаса, онда phpMyAdmin бағдарламасының (1сурет) бастапқы бетінде текстік өріске болашақ мәліметтер базасының атын беріп learn және Құру (Create) бтырмасын басыңыз.

1 сурет


Кестелер

SQL барлық мәліметтер кесте деп аталатын нысандарда сақталады. Кестелерде нысандар, жағдайлар, процестер туралы мағлұмат қосындысын көрсетеді. Ешқандай басқа нысандар мәлімет сақтамайды, бірақ олар кестедегі мәліметке жүгіне алады. SQL кестелерінің құрылымы басқа да СУБД кестелеріндей:



  • Жолдар; әрбір жолда нақты нысан экземплярының атрибуттар қосындысы болады;

  • Бағандар; әрбір баған атрибут немесе атрибуттар қосындысы түрінде болады. Жолдан кейін минималды кесте элементі болып табылады. Әрбір бағанның аты, мәліметтер типі және мөлшері бар.

Пайда болған терезеде (2 сурет) кесте атын, өріс санын беріп, «Пошел» батырмасын басу керек.

2 сурет
Ары қарай пайда болған терезеге (3 сурет) кесте құрылымын сипаттау керек, яғни баған аттары – Өріс бағанында



Мәліметтер типін Тип бағанында


ұзындығын

Атрибуттарын


Мәліметпен толтырылмаған Null өрісінің болу мүмкіндігі

Үндестік бойынша мәні




Әрбір кестеде бірден бір индекс болу керек, кестені модификациялаудан кейін ақпаратты жаңарту мүмкін болу үшін.







Кестесіне түсіндіру қосуға болады. батырмасын басамыз. Оң жақ фреймда құрылған кесте пайда болады.

3сурет

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



4 сурет


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

5 сурет


Мәліметтер типі

MySql ортасында қолданылатын барлық мәліметтер типі сипатталған.



Сандық мәліметтер типі

MySQL ANSI/ISO стндарты бойынша SQL92 тілінің барлық сандық мәліметтер типін қамтиды. Оларда нақты сандық мәліметтер типтері (NUMERIC, DECIMAL, INTEGER и SMALLINT) және жақын сандық мәліметтер типтері(FLOAT, REAL и DOUBLE PRECISION) бар. INT кілттік сөзі INTEGER үшін синоним, ал DEC кілттік сөзі DECIMAL синонимі.

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

salary DECIMAL(5,2)

Бұл мысалда – 5 (дәлдік) берілген өлшем сақталатын ондық белгілердің жалпы санын көрсетеді, ал 2 (масштаб) саны үтірден кейінгі ондық белгі санын береді. Сәйкесінше бұл жағдайда salary бағанында сақталатын өлшем интервалы -99,99 бен 99,99 аралығыныда (шын мәнінде MySQL бағаны мәліметтері үшін 999,99 сақтау мүмкін, өйткені оң сандар үшін белгі сақтап керек емес).

DECIMAL және NUMERIC тип өлшемдері жол ретінде сақталады. Сонымен қтар сақталатын өлшем әрбір разряды үшін бір символдық жол қолданылады, ондық белгі үшін (егер масштаб > 0) және '-' белгісі үшін (теріс сандар үшін). Егер масштаб параметрі нольге тең болса, онда DECIMAL және NUMERIC өлшемдерінде ондық белгі және бөлшек бөлік болмайды.

DECIMAL және NUMERIC максималды интервалы DOUBLE үшін сияқты қалады, бірақ нағыз интервал DECIMAL немесе NUMERIC мәліметтер типі үшін нақтылық параметрі немесе масштаб таңдауда шектелуі мүмкін. Егер нақты бағанға ондық белгіден кейін көп разряд саны бар мән берілсе, онда берілген мән масштабпен рұсат етілген мәнге дейін домалақталынады. Егер DECIMAL немесе NUMERIC типті бағандарға интервал шегінен шығатын мән берілсе, онда MySQL берілген өлшемді берілген интервал шектік нүктесіне сәйкес мәнде сақтайды.

Тапсырма


  1. Learn МҚ құрыңыз. Мәліметтер типін дұрыс таңдап Learn МҚ-нда Selespeople, Orders және Customers кестелерін құрыңыз. Оларды Мәліметпен толтырыңыз.

  2. Тапсырыс беруші кестесінің қандай өрісі біріншілік кілт болып табылады?

  3. Тапсырыс беруші кестесінің төртінші бағаны не болады?

  4. Жолақша және баған басқаша қалай аталады?

  5. Кестенің бірінші бес жолын көру үшін неліктен сұраныс жасау міндет емес?

  6. Жасалған жұмыс бойынша отчет дайындау. Отчет құрамы:

  • Жұмыстың мақсаты

  • Түсіндірмесі бар SQL-сұранысының тексті

  • Сұраныстардың нәтижелері

  • Сұрақтарға жауап

  • Қорытынды

3 Практикалық жұмыс



Тақырыбы: «Кестеден ақпаратты алу үшін реляционды операторларды қоданып SQL-сұраныстарды жасау».

Жұмыс мақсаты: екінші лабораториялық жұмысқа дайын тұрған мәліметтер қорын , булевой және реляциялық операторларды кестелерге мәлімет іріктеуге қатысты сұрау салу.
1. SQL кіріспе

Structured Query Language реляциялық ДҚБЖдардың мәлiметтерiнiң басқаруы үшiн қолданылатын процедуралық емес тiл болады.

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

IBM жобасын зерттеу нәтижесінде SQL тiлі 70-шi жылдары реляциялық мәлiметтердiң манипуляцияның тiлiнiң жасауы болатын. Ол бастапқы (Structured English Query Language ) SEQUEL деп аталды, содан соң - SEQUEL/2, содан соң - жай ғана SQL. SQL ресми түрде стандарты (American National Standards Institute - стандартизацияның Ұлттық институты, АҚШ) ANSIда 1986 жылы жариялаған. Осы стандарт 1989 және 1992 жылдары кеңiтілген сондықтан SQLның соңғы стандарты SQL92дiң атауын таныс. Қазіргі кезде объективтiк – орентиралық кеңейтілуі бар, SQL3 тіліне жұмыстар жүргізіліп жатыр. кейбiр -хабар кеңейту болатын стандартының үстiнде жұмысты дәл қазiр апарады.

ANSIдің стандарты үш деңгейі бар: бастапқы, аралық және толық. Серверлiк ДҚБЖдардың көп өндiрушiлерi, IBM, Informix, Microsoft, Oracle және Sybase, өздерін реализациялық тіжірибелерін қолданып, берілген ДҚБЖ үшін ANSI стандартын негіздеп және кейбiр кеңейтілулер негiзделген меншiктi iске асырулары ерекше қолданады.

SQL қалай жұмыс істейді

SQL қалай жұмыс iстейтiнiн қарап шығайық. ДҚБЖ көмегiмен қандай болмасын басқарылатын деректер қорында болатынын болжаймыз. Олардың iшiнен мәлiметтердiң шығарулары үшiн SQL тiлде сипатталған сұрау салуды қолданылады. ДҚБЖ бұл сұрау салуды қарастырады, сұралатын мәлiметтер алады және оларды қайтарады. Бұл процесс схемалық 1-шi сурет көрсетiлген.



Сур 1.


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

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


SQL операторлары

SQL әр түрлi әсерлердiДҚБЖда орындауы үшiн шамамен 40 операторлар болады. Бұл операторлардың дәрежелерiнiң қысқаша сипаттамасын төменде тура келтірілген.



Data Definition Language (DDL)

Data Definition Language құрылуға мүмкiндiк беретiн операторларда болады, өзгерту және деректер қоры және объекттер (кесте, ұсыныс) операторларын құрайды.

Кесте 1

Оператор

Сипаттама


CREATE TABLE

Мәліметтер базасына жаңа кесте қосу үшін қолданады.

DROP TABLE

Мәліметтер базасынан кестені өшіру үшін қолданады.



ALTER TABLE

Кестенің берілген структурасын өзгерту үшін қолданады.

CREATE VIEW

Мәліметтер базасы туралы жаңа көрініс қосу үшін қолданады.

DROP VIEW

Мәліметтер базасын жою үшін қолданады.

CREATE INDEX

Берілген жазыққа жаңа индекс құру үшін қолданады.



DROP INDEX

Берілген индексті жою үшін қолданады.



Data Manipulation Language (DML)

Data Manipulation Language таңдауға болатын, қосуға , жоюға және мәліметтерді модифициалау оператоы құрайды. DML операторлары 2 кестеде көрсетілген.


Кесте 2

Оператор

Сипаттама

SELECT

Мәлiметтердiң таңдауы үшiн қолданылады


INSERT

Кестеге жолдардың қосу үшiн қолданылады


DELETE

Кестеден жолдардың алып тастау үшiн қолданылады


UPDATE

Мәлiметтердi өзгерту үшiн қолданылады


SELECT оператор кейде жеке дәрежелер жатқызады Data деп аталатын(DQL ) Query Language.


Transaction Control Language (TCL)

Transaction Control Language операторлар DMLның операторларының топ iстелiнген өзгерiстердiң басқаруы үшiн қолданылады. TCL операторлар кестеге 3 көрсетілген.


Кесте 3

Оператор

Сипаттама

COMMIT


Деректер қорына транзакцияның аяқтауы және өзгерiстердiң сақтауы үшiн қолданылады

ROLLBACK


Деректер қорына транзакцияның шегiнуi және өзгерiстердiң жоюы үшiн қолданылады


SET TRANSACTION

Ағымдағы транзакциядағы мәлiметке қол жеткiзудiң параметрлерiнiң қоюы үшiн қолданылады



Data Control Language (DCL)

Data Control Language (DCL) ның операторларының істелінген өзгерістерінің басқаруы үшін қолданады. DCL операторлар кестеге 4 көрсетілген.


Кесте 4

Оператор

Сипаттама

GRANT

Артықшылықтың иемденуi үшiн қолданылады


REVOKE

Артықшылықтың жоюы үшiн қолданылады



Cursor Control Language (CCL)

Cursor Control Language операторлар тінтуірді анықтау үшiн қолданылады және SQLды операторлар , ұсыныстарды орындау үшін дайындау керек. CCL операторлар кестеге 5 көрсетілген.


Кесте 5

Оператор

Сипаттама

DECLARE CURSOR

Сұрау салу үшiн мегзегiштiң анықтауы үшiн қолданылады




EXPLAIN


Сұрау салуды жоспардың сипаттамасы үшiн қолданылады. Бұл оператор Microsoft SQL Server үшiн SQLның кеңейтуi болады7.0. Ол басқа ДҚБЖдарда орындалуға мiндеттi емес. Мысалы, Oracleның жағдайында EXPLAIN PLANнiң операторы қолдану керек


OPEN CURSOR

Сұрау салудың нәтижелерi мегзегiштiң ашуы үшiн алу

кезiнде қолданылады



FETCH

Сұрау салудың нәтижелерiнен жолдың алуы үшiн қолданылады


CLOSE CURSOR

Мегзегiштiң жабуы үшiн қолданылады



PREPARE


Орындау үшiн SQLның операторының әзiрлеуi үшiн қолданылады


EXECUTE

SQLның операторының орындауы үшiн қолданылады

DESCRIBE

Дайын тұрған сұрау салуды сипаттау үшiн қолданылады

Барлық SQL операторларының түрлері 2-ші суретте берілген.



2- сур


SQLның әрбiр операторы кілттік сөзден тұратын етістіктерден басталады SELECT, DELETE.., DELETE… Операторда мәлiметтердiң үстiнде операциялар өндiрiп алатын туралы анықталатын болатын ұсыныстар болады. Әрбiр ұсыныс кілттік сөзден басталады, мысалы FROM, WHERE оның түрi - ұсыныстардың қатары кестелер немесе өрiстердiң аттарында болады, кейбiр қосымша кілттік сөздерден бола алады, тұрақты немесе өрнектен тәуелді болады..


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




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

    Басты бет