Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

MS SQL Server ортасында деректер қорымен жұмыс жасау. Деректерқорынқұру.

Деректер қоры операциялық жүйенің бір немесе бірнешефайлдарындаорналасады. Операциялық жүйенің бір файлы бірнеше деректер қорларынантұра алмайды. Бұл файлда кесте жəне индекстер сияқты объектілерсақталынады.Транзакция журналы – бұл SQL Server - дің транзакция орындалғаннан

кейінгі жəне оған дейінгі ақпараттарды жазуға пайдаланатын жұмыс аймағы.Бұл ақпарат транзакция жұмысын тоқтатуға немесе деректер қорын қайтақалпына келтіруге пайдаланылады, əрине егер қажет болса. Деректерқорын Transact-SQL көмегімен құру үшін CREATE DATABASE командасықолданылады.

CREATE DATABASE kadryON PRIMARY(NAME = kadry_data, FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL\Data\kadry_data.mdf', size = 4, maxsize =25, filegrowth = 1 mb)LOG ON(NAME = kadry_log, FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL\Data\kadry_log.ldf', size = 4, maxsize = 20,filegrowth =1 mb)Деректер қорын жəне транзакция журналын 'С:\…’ – ға орналастыру SQLтүріне байланысты.

Мұндағы:kadry - Құрылатын деректер қорының аты.

ON – Деректер қоры туралы ақпараттар сақталынатын дискідегі файлдартізімін анықтайды.PRIMARY – жүйелік кестелер мен деректер қорының логикалықбасталуынан тұратын файлды анықтайды. Деректер қорында тек бір ғанабірінші файл (PRIMARY) болады. Егер бұл параметр жұмысты орындау

барысында жасалмаса, онда бірінші файл болып тізімдегі бірінші файлтағайындалады.LOG ON – транзакция журналы сақталынады сақталынатын дискідігіфайлдар тізімін анықтайды. Егер бұл параметр анықталмаса, онда транзакцияжурналының өлшемі деректер файлының жалпы өлшемінің 25 % ын құрайды.kadry_data – файлдарға сілтеме жасау үшін SQL Server қолданатынлогикалық атты анықтайды.FILENAME – Операциялық жүйе файлдарының параметрлерін береді (SQLServer орнатылған сервердеорналасатын файл аты, size, maxsize, filegrowth –деректер қорының бастапқы жəне максималды өлшемі).

 

 

9. MS SQL Server ортасында деректер қорымен жұмыс жасау. Кеселерді құру және жою.Деректер қорында кестелерді Transact-SQL тілінің CREATE TABLEоператорының көмегімен құруға болады. Кесте құру барысында кестебағанының деректер типін анықтап алу басты рольді атқарады. Мұндабағандардың деректер типін анықтау ғана емес, NULL немесе NOT NULLқосымша сипаттамасын да анықтау қажет. Егер бағанда NULL атрибуты

қойылса, онда берілген бағанның мəндерін енгізуде бос орын қалтырып кетугемүмкіндік беріледі. Егер керісінше бағанда NOT NULL атрибуты қойылса, ондаSQL Server жолдарды толтыру кезінде берілген бағанды бос қалтырып кетугежол бермейді. Осылайша NULL жəне NOT NULL атрибуттары мəліметтердің

енгізілуін қадағалап отырады(мұндағы бағандағы бос қалтыру деген босорын(пробел) жəне нөл емес).CREATE TABLE командасының синтаксисы келесі түрде болады:

CREATE TABLE <table name >

(<column namel ><data type>

<column name2 ><data type>)

Мысалретінде Sclad кестесіналуғаболады. Бұлкестеқоймадағықұрылысматериалдарынаесепжүргізугеқажетболсындепалайық. Кестеқұруғамысалтөмендекелтірілген:

CREATE TABLE Sclad

(Tovar char (20),

Firma char (20),

Col int,

DataPostup DateTime)

Енді kadry деректерқорын Create Database kadry командасының көмегімен құрайық. Осы деректер қорын келесі команда арқылы анықтайық: USE kadry. Енді кездесетін командалардың барлығы осы деректер қорында пайдаланылады.

Қызметі (Должности) кестесініңқұрылуы:

CREATE TABLE doljn (kodd bigint not null PRIMARY KEY, nazv char(15) not null)

Бөлімдер (Отделы) кестесініңқұрылуы:

CREATE TABLE otdel (

Kodotd bigint not null PRIMARY KEY,

nazotd char(15) not null

)

Дəрежесі(Степени) кестесініңқұрылуы:

CREATE TABLE Stepen (

kodst bigint not null PRIMARY KEY,

nazvst char(10) not null

)

Бағыты (Направлениестепеней) кестесініңқұрылуы:

CREATE TABLE napr (

kodn bigint not null PRIMARY KEY,

nazvn char(15) not null,

kodst bigint not null

Foreign key References Stepen (kodst)

)

Қызметкератағы (Звания) кестесініңқұрылуы:

CREATE TABLE Zvanie (

kodz bigint not null PRIMARY KEY,

nazvz char(15) not null

)

Қызметкерлер (Сотрудники) кестесініңқұрылуы:

CREATE TABLE person (

nud int not null PRIMARY KEY,

Family char(15) not null,

name char(10) not null,

father char(15) not null,

sik char (15) not null,

pnn char (10) not null,

pol char(1) not null,

kodd bigint not null Foreign key References doljn (kodd),

kodotd bigint not null Foreign key References otdel (kodotd),

kodst bigint not null Foreign key References Stepen (kodst),

kodn bigint not null Foreign key References napr (kodn),

kodz bigint not null Foreign key References zvanie (kodz),

staj int not null,

ostaj int not null,

data_r datetime not null,

data_p datetime not null

) Деректерқорынанкестелердіжоюүшін DROP TABLE командасы

қолданылады. Алоныңсинтаксисітөмендекөрсетілгендейөтеқарапайым:

DROP TABLE <table name>

 

10.Берілгендерді модификациялау. AlterTable операторы. Индекстерді құру және алыптастау. Деректер қорындағы кестенің құрылымын өзгерту үшін ALTER TABLEоператорын қолдануға болады. Бұл операторды қолдана отырып серверлік

шектеуді немесе өрістерді қосуға жəне алып тастауға болады. ALTER TABLEоператорының 4 түрі болады.Бұл оператордың бірінші түрі кестеге бағандарды қосу үшін қолданылады

жəне синтаксисі келесі түрде болады:

ALTER TABLE table ADD [COLUMN] column datatype

[(size)]

[CONSTRAINT sinlge-column-constraint]

Сұраныстардакестеаты, жаңаөрісатауы, жəнеолардыңдеректертипі, қажетболсаөлшеміанықталады. Соныменқатарберілгенөрістерменбайланыстысерверлікшектеулердідекөрсетугеболады. Мысалы, Simple кестесінің Phoneөрісінқосуүшінкелесісұраныстыжазуғаболады:ALTER TABLE Simple ADD Phone varchar(30)ALTER TABLE операторыныңекіншітүрікестегесерверлікшектеулерқоюүшінқолданылады, алоныңсинтаксисікелесітүрдеболады:ALTER TABLE table ADD CONSTRAINT constraintМұндайсұраныстартексəйкесболатынөрістердібіріншінемесесыртқыкілттерретіндеқолдануғамүмкіндікберетіниндекстердіқосады.Оператордың үшінші түрі кестеден өрісті жою үшін қолданылады:

ALTER TABLE table DROP [COLUMN] column

Мұндағы COLUMN кілттік сөзін қолдану міндетті емес. Мысалы:

ALTER TABLE Simple DROP PhoneБұлжердеиндекстелгенөрістіжоюүшін, еңалдыменөрістіңиндексіналыптастауқажет. Алолүшін ALTER TABLE операторыныңтөртіншітүріқолданылады.

ALTER TABLE table DROP CONSTRAINT indexМұндайсұранысретіндетөмендекелесімысалкелтірілген:

ALTER TABLE Simple DROP CONSTRAINT PrimaryKey

1 - мысал.

Person кестесінезейнеткерліккелісімшартномерітуралыақпараттарсақталынатынөрісқосайық:

USE kadry

ALTER TABLE person

ADD Npers int

Кестедененгізілгенөрістіалыптастайық:

ALTER TABLE person

DROP COLUMN Npers

Егеркестедебіріншіжəнесыртқыкілттеранықталмағанболса, онда ALTERTABLE командасыныңкөмегіменқосуғаболады.

Айталық, person кестесіндебіріншікілтқойылмағанболсындепесептейік:

ALTER TABLE person

ADD CONSTRAINT PK_person PRIMARY KEY (Nud).

Егер person кестесіндесыртқыкілттердіңбіріқайылмағанболса:

ALTER TABLE person

ADD CONSTRAINT VK_ person FOREIGN KEY (kodotd)

REFERENCES otdel (kodotd).

2 - мысал.

Біріншікестеніқұрыпжəнеоғанбіріншікілтқою.

Create table reader

(nomer int constraint pk_nomer primary key,

Family char(15),

Name_r char(10)

)

Екіншікестеніқұрыпжəнеоғанбіріншікілтқою.

Create table book

(shifr int constraint pk_shifr primary key,

Avtor char(15),

Nazvanie char(15)

)

Біріншікестегеөзгертулеренгізу. Біріншікілттіалыптастау.

Use bibl

Alter Table reader

Drop constraint pk_nomer

Біріншікестегеөзгертулеренгізу. Өріскебіріншікілтқою.

Use bibl

Alter table reader

Add constraint pk_nomer primary key(nomer)

Үшіншікестеніқұрып, оғанекіншікілтқою.

Create table readbook

(nomer int foreign key references reader (nomer),

Shifr int foreign key references book (shifr),

Data_v datetime)

Индекстердіқұружəнеалыптастау

Индекстердіқұрукомандасыныңсинтаксисітөмендекөрсетілген:

CREATE INDEX <index name> ON <table name>

(<fieldl>,<field2>,...)

Командасыөтеқарапайым. Ондаиндекстелетінөрістертізімі, индексаты,кестекөрсетіледі. Мысалретіндеқұрылғанкестедегі Firma өрісінеиндексқояйық:

CREATE INDEX Scladlndex ON Sclad (Firma)Мұндаиндексқұрылатынкестежəнеиндексаты, индекстелетінөрістертізімі

көрсетіледі. Мысалретіндеқұрылғанкестедегі Firma өрісіниндекстепкөрейік:

CREATE INDEX Scladlndex ON Sclad (Firma)

Өрістіиндекстеудебірегейиндексқолдансынделік, онда INDEX кілттіксөзініңалдына UNIQUE директивасынқоюқажет. Ондасұранысымызмынатүрдеболады:

CREATE UNIQUE INDEX Scladlndex ON Sclad (Firma)

Өрістегіиндекстібірегейиндексретіндеқұруүшіналдымен Firma кілттікөрісіндегімəндердіңқайталанбайтындығытексеріледі. Яғни Firma өрісіндегімəндерқайталанатынболса, ондаиндексқұрылмайды.Өрістегіиндекстіалыптастауүшін DROP INDEX командасынқолданады:

DROP INDEX Sclad.Scladlndex

DROP INDEX командасынанкейінкестеатыжəнеиндексатыкөрсетіледі.

 

 

11.Сақталынған процедурлар. Процедураларды қолдану. Сақталынған процедуралар – программада қолдануға ыңғайлы етіп құрылған SQL операторларының жиыны. Оған кірететін SQL операторларының барлық жиындарын қайта қайта жазып отырғаннан қарағанда сақталынған процедураларды қолдану ыңғайлы. Сақталынған процедуралардың біріне басқасын қоюға болады (қою реті 16 дан аспау керек).

Сақталынған процедура қолданушы енгізген мəндерді алдын ала қойылған шарттар бойынша салыстыра алады, қандайда бір нəтижелер есептеп береді жəне т.б.

Сақталынған процедураны пайдаланудағы кейбір артықшылықтар: - процедура операторлары деректер қорында сақталынып қойылған;

- процедура операторлары тексерілген жəне қолдануға дайын күйде тұрады;

- процедураны пайдалануда нəтиже жылдам алынады;

- процедураны сақтау мүмкіндігі модульдік программалауды қолдануға мүмкіндік береді;

- сақталынған процедуралар басқа процедураларды шақыра алуы мүмкін;

- сақталынған процедуралар басқа процедуралармен шақырылуы мүмкін.

SQL - Server – де процедуралар келесі операторлар көмегімен құрылады: CREATEPROCEDURE процедура_ аты

[ [ (] @параметра_аты

ДЕРЕКТЕР_ТИПІ [(ҰЗЫНДЫҒЫ) | (ДƏЛДІГІ) [, МАСШТАБЫ ]) [=DEFAULT][OUTPUT] ]

[, @ПАРАМЕТР_АТЫ ДЕРЕКТЕР_ТИПІ [(ҰЗЫНДЫҒЫ) | (ДƏЛДІГІ) [, МАСШТАБЫ ])

[=DEFAULT][OUTPUT] ] [WITH RECOMPILE]

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

Сақталынған процедураларды келесі түрде қолдануға болады: EXECUTE [@ =] процедура_аты

[ [ @ параметр_аты =] мəні |

[@ параметр_аты =] @ Айнымалы [OUTPUT]]

[WITHRECOMPILE]

Мысалы, бізге курс номерін GRUPPA кестесінде бірге артыру қажет болсын (Grup_COURSE): CREATEPROCEDUREnew_course

AS

UPDATE GRUPPA

SET Grup_COURSE = Grup_COURSE +1

Процедура нəтижесін тексерейік: EXEC new_course

SELECT * FROM GRUPPA

Құрылған сақталынған процедураны С++Builder ортасында келесі түрде шақыруға болады: ADOQuery1->Close();

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add(“Exec new_course”);

ADOQuery1->ExecSQL();

GRUPPA кестесінің бастапқы кұйіне келейік: CREATE PROCEDURE old_course

AS

UPDATE GRUPPA

SET Grup_COURSE = Grup_COURSE -1

EXEC old_course

SELECT * FROM GRUPPA

SELECT операторын қолданудағы қарапайым процедура: CREATE PROCEDURE spisok_stud

AS

SELECT * from Students

 

 




Дата добавления: 2015-09-12; просмотров: 79 | Поможем написать вашу работу | Нарушение авторских прав

Тұтынушы бөлімі арқылы деректер қорындағы мәліметтерді өзгерту коды сұранысын жазыңыз. | Агрегаттық функциялар. | Кестелерді байланыстыру, ADOQuery негізгі қасиеттері. | Деректер қорын пайдаланудағы ADO технологиясы. | Деректерқорындақолданушынықұру | Берілгендерді модификациялау. Insert операторы. | Берілгендердімодификациялау. Update операторы. | Шарт бойынша таңдау | ADOTable компонентінің негізгі қасиеттері мен әдістері. | Динамикалық сұраныстар және ADOQuery параметрлері. |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.019 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав