14
дәріс. Деректер қорын құру және кестелерді жобалау
Мақсаты: деректер қорын құру үрдісін анықтау. Деректер қорын құру,
өзгерту операторларын сипаттау. Деректерді сақтауға арналған файл немесе
61
бірнеше файлдардың атын көрсету мүмкіндігін, өлшемдерін және файлдардың
орнын қарастыру.
Деректер қорын құру.
Әртүрлі ДҚБЖ деректер қорын құру процедурасы әдетте тек деректер
қорының әкімшілігіне бекітіледі. Бір қолданушылық жүйеде әдеттегі қалыппен
қабылданатын деректер
қоры
орнату
және
ДҚБЖ
өзінің
күйге
келтіруүрдістерінде тікелей құрылуы мүмкін. Стандарт SQL, деректер қоры
қалай құрылу керектігін, анықтамайды, сондықтан SQL тілінің әр
диалектісінде әдетте өзінің амалы қолданылады. SQL стандартына сәйкес,
кестелер және деректер қорының басқа да нысандары белгілі-ортада өмір
сүреді. Бұдан басқа, әр орта бір немесе одан да көп каталогтардан тұрады, ал әр
каталог – сұлбалар жиынынан. Сұлба, біршама жағдайда бір-бірімен
байланысқан (деректер қорындағы барлық нысандар сол немесе басқа да
сұлбалармен сипатталуы қажет), деректер қорының атаулы нысандар
топтамасын білдіреді. Сұлба нысандары кестелер, ұсыныстар, домендер,
тұжырымдар, салыстырулар, түсіндірулер және символдар жиыны болуы
мүмкін. Олардың барлығының иесі және әдепкі қалыппен қабылданатын, ортақ
мәндер жиыны бір.
SQL стандарты ДҚБЖ жасақтаушыларға каталогтарды құру мен жоюдың
нақты механизмін таңдау құқығын қалдырады, алайда сұлбаларды құру мен
жоюдың
механизмі
CREATE
SCHEMA
және
DROP
SCHEMA
операторларының көмегімен реттеледі. Алайда әртүрлі ДҚБЖ мұндай
артықшылықтарды анықтаудың әртүрлі тәсілдері бір-бірінен ажыратылады.
Қазіргі уақытта CREATE SCHEMA және DROP SCHEMA операторлары
аса көптеген ДҚБЖ жүзеге асырылған. Басқа жүзеге асырылуларда, мысалы MS
SQL Server ДҚБЖ, CREATE DATABASE операторы қолданылады.
MS SQL Server ортасында деректер қорын құру.
SQL-сервер жүйесінде деректер қорын құру үрдісі екі сатыдан тұрады:
алдымен деректер қорының өзі ұйымдастырылады, ал содан кейін оған жататын
транзакция журналдары. Ақпараттар, *.mdf (деректер қоры үшін ) және *.ldf.
(транзакция журналы үшін) кеңейтілулері бар, сәйкес файлдарда орналасады.
Деректер қорының файлында негізгі нысандар (кестелер, индекстер, ұсыныстар
және т.б.) туралы мәліметтер жазылады, ал транзакция журналының файлында
– тарнзакциялармен жұмыс үрдісі туралы (деректердің бүтіндігін бақылау,
транзакция орындалғанға дейінгі және орындалғаннан кейінгі деректер
қорының жағдайы).
SQL-сервер жүйесінде деректер қорын құру CREATE DATABASE
бұйрығымен жүзеге асырылады. Айта кететін жәйт, SQL-сервер жүйесінде
деректер қорын құру процедурасы сервер әкімшілігі құқығының бар болуын
талап етеді.
<деректер_қорын_анықтау> ::=
CREATE DATABASE деректер_қорының_аты
[ON [PRIMARY]
[ <файлды_анықтау> [,...n] ]
62
[,<топты_анықтау> [,...n] ] ]
[ LOG ON {< файлды_анықтау>[,...n] } ]
[ FOR LOAD | FOR ATTACH ]
Ұсынылған операторлардың негізгі параметрлерін қарастырайық.
Деректер қорының атын таңдау кезінде нысандарды атаудың жалпы
ережелерін басшылыққа алу қажет. Егер деректер қорының аты бос
орындардан немесе мүмкін емес символдардан тұрса, ол шектеулерге (қос
тырнақшалар немесе тік жақшалар) алынады. Деректер қорының аты сервер
шеңберінде бірегей болуы және 128 символдан аспауы қажет.
Деректер қорын құру және өзгерту кезінде, ол үшін құрылатын, файл
атын көрсетуге, атын, жолын және осы файлдың бастапқы өлшемін өзгертуге
болады. Егер деректер қорын қолдану үрдісінде оны бірнеше дискілерге
орналастыру жоспарланатын болса, онда *.ndf. кеңейтілуі бар аталмыш екінші
ретті файлдарды құруға болады. Бұл жағдайда деректер қоры туралы негізгі
ақпарат бастапқы (PRIMARY) файлда орналасады, ал оған бос орын жетпеген
кезде қосылатын ақпарат екінші ретті файлда орналастырылады. SQL-серверде
қолданылатын, амал деректер қорының мазмұнын бірнеше дискілік томдар
бойынша реттеуге мүмкіндік береді.
ON параметрі деректер қорында сақталған, ақпаратты орналастыруға
арналған дискіде файлдар тізімін анықтайды.
PRIMARY параметрі бастапқы файлды анықтайды. Егер ол түсіп қалған
болса, онда бірінші болып тізімдегі бірінші файл табылады.
LOG ON параметрі транзакция журналына орналастыруға арналған
дискідегі файлдар тізімін анықтайды. Транзакция журналына арналған файл
аты деректер қорының аты негізінде түрленеді және соңында оған _log символы
жалғанады..
Деректер қорын құру кезінде файлдар жиынын анықтауға болады. Файл
келесі құрастырылым көмегімен анықталады:
<файлды_анықтау>::=
([ NAME=логикалық_файл_аты,]
FILENAME='физикалық_файл_аты
[,SIZE=файл_өлшемі ]
[,MAXSIZE={max_файл_өлшемі |UNLIMITED }]
[, FILEGROWTH=өсу_шамасы ] )[,...n]
Мұндағы логикалық файл аты – бұл, әртүрлі SQL-бұйрықтарын орындау
кезінде анықталатын, файл аты.
Физикалық файл аты толық жолды және қатты дискте құрылатын, сәйкес
физикалық файл атын көрсетуге арналған. Бұл ат операциялық жүйе деңгейінде
файлмен қалады.
SIZE параметрі файлдың бастапқы өлшемін анықтайды; параметрдің ең
кіші өлшемі – 512 Кб, егер ол көрсетілмесе, әдепкі қалып бойынша 1 Мб
қабылданады.
MAXSIZE параметрі деректер қоры файлының ең үлкен өлшемін
анықтайды. Параметрдің UNLIMITED мәні кезінде деректер қорынің ең үлкен
өлшемі дискідегі бос орынмен шектеледі.
63
Деректер қорын құру кезінде оның өлшемінің автоматты түрде өсуіне
рұқсат беруге немесе тыйым салуға болады (бұл FILEGROWTH параметрімен
анықталады) және Мб-ғы абсолютті шаманың немесе пайыздық қатынастың
көмегімен өсімшені көрсетуге болады. Мәндер килобайтпен, мегабайтпен,
гигабайтпен, терабайтпен немесе пайызбен (%) көрсетілуі мүмкін. Егер сан МБ,
КБ немесе % жалғауларынсыз берілсе, онда әдепкі қалып бойынша МБ мәні
қолданылады. Егер өсу қадамының өлшемі пайызбен (%) көрсетілсе, өлшем
файл өлшемінен пайызбен берілген бөлікке өседі. Көрсетілген өлшем жуық 64
КБ дейін дөңгелектенеді.
Қосымша файлдар топқа қосылуы мүмкін:
<топты_анықтау>::=FILEGROUP файлдар_топтарының_аты
<файлды_анықтау>[,...n]
Мысал 14.1. Деректер қорын құру, сонымен қоса деректер үшін C
дискісінде үш файлды анықтау, транзакция журналы үшін – C дискісінде екі
файлды.
CREATE DATABASE Archive
ON PRIMARY ( NAME=Arch1,
FILENAME=’c:\user\data\archdat1.mdf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch2,
FILENAME=’c:\user\data\archdat2.mdf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch3,
FILENAME=’c:\user\data\archdat3.mdf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)
LOG ON
(NAME=Archlog1,
FILENAME=’c:\user\data\archlog1.ldf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Archlog2,
FILENAME=’c:\user\data\archlog2.ldf’,
SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)
Мысал 3.1. Деректер қорын құру.
Деректер қорын өзгерту.
Деректер қорының конфигурациясын өзгерту бойынша көпшілік
әрекеттер келесі құрастырылымдардың көмегімен орындалады:
<деректер_қорының_өзгерісі> ::=
ALTER DATABASE деректер_қорының_аты
{ ADD FILE <файлды_анықтау>[,...n]
[TO FILEGROUP файл_топтарының_аты ]
| ADD LOG FILE < файлды_анықтау>[,...n]
| REMOVE FILE файлдың_логикалық_аты
| ADD FILEGROUP файл_топтарының_аты
| REMOVE FILEGROUP файл_топтарының_аты
64
| MODIFY FILE < файлды_анықтау>
| MODIFY FILEGROUP файл_топтарының_аты
< файл_топтарының _қасиеті>}
Синтаксистен көріп отырғандай, бұйрықты бір рет шақырғанда деректер
қоры конфигурациясының бір параметрі ғана өзгеруі мүмкін. Егер бірнеше
өзгертулер жасау қажет болса, үрдісті жеке қадамдар қатарына бөлуге тура
келеді.
Деректер қорына жаңа деректер файлын (көрсетілген файлдық топқа
немесе әдепкі қалып бойынша қабылданған, топқа) немесе транзакция
журналының файлын қосуға (ADD) болады.
Файлдар және файл топтарының параметрлерін өзгертуге (MODIFY)
болады.
Деректер қорынан файлдарды немесе файл топтарын кетіру үшін
REMOVE параметрі қолданылады. Алайда файлдарды кетіру тек оны
деректерден босату шарты кезінде ғана мүмкін. Қарама-қайшы жағдайда сервер
кетіруге рұқсат бермейді.
Файлдық топ қасиеттері ретінде келесілер қолданылады:
READONLY – файлдар тобы тек оқу үшін қолданылады; READWRITE –
файлдар тобында өзгертуге рұқсат беріледі; DEFAULT – көрсетілген файлдар
тобы әдепкі қалпы бойынша қолданылады.
Деректер қорын кетіру.
Деректер қорын кетіру келесі бұйрықтармен жүзеге асырылады:
DROP DATABASE деректер_қоры_аты [,...n]
Деректер қорындағы барлық деректер кетіріледі, сонымен қатар, ол
орналасқан, файлдар да. Деректер қорын кетіру операциясын орындау үшін
қолданушы сәйкес құқықтарға ие болуы қажет.
|