Оқулық «Білім беруді дамытудың федералды институты»



жүктеу 2,79 Kb.
Pdf просмотр
бет78/101
Дата20.05.2018
өлшемі2,79 Kb.
#15312
түріОқулық
1   ...   74   75   76   77   78   79   80   81   ...   101

(
ТауарVARCHAR (20) NOT NULL,
 
Баға INTEGER NOT NULL,
 
PRIMARYKEY(
Тауар))
 
Бағынысты САТЫЛЫМ кестесінде Өріс өрісі үшін негізгі кілт және 
Өрістер  кестесіне  сілтеме  тұтастығын  қамтамасыз  ету  үшін  Элемент 
өрісі  үшін  сыртқы  болады.  Негізгі  кестедегі  байланыс  өрісі 
көрсетілмегендіктен,  кестенің  негізгі  кілті  байланыс  үшін 
пайдаланылады:
 
CREATE TABLE 
ПРОДАЖИ (НөмірINTEGER 
NOT NULL PRIMARY KEY,
 
Күні DATE,
 
Тауар VARCHAR (2 0) NOT NULL,
 
FOREIGN KEY (
Тауар) REFERENCES ТАУАРЛАР)
 
Негізгі  және  бағынышты  кестелердің  ортақ  өрістерін  анықтау  дәл 
сәйкес  болуы  керек.  Егер  рәміздердің  сұрыптау  тәртібінде 
айырмашылықтар  бар  болса,  байланыс  бағандары  іс  жүзінде  бірдей 
болмайды, бұл сілтеме тұтастығының бұзылуына әкеледі. 
ТАУАРЛАРДЫҢ  кестелері  мен  САТЫЛЫМ  арасында  байланыс 
орнатудың тағы бір мысалы. 
Бағынысты  кесте  бастапқы  кілтде  мән  өзгертілгенде  және  негізгі 
жазбадағы жазбаны жойғанда, сервердің әрекеттерін көрсетеді:
 
CREATE TABLE 
САТЫЛЫМ (НомерINTEGER 
NOT NULL PRIMARY KEY,
 
Күні DATE,
 
ТауарVARCHAR (2 0) NOT NULL,
 
CONSTRAINT FK1 FOREIGN KEY (
Тауар) REFERENCES 
ТОВАРЫON UPDATE NO ACTION ON DELETE NO ACTION)
 
Енді ТАУАРЛАР кестесінде осы өнім сатылымы үшін САТЫЛЫМ 
кестесінде  жазбалар  бар  болса,  Таутар  бағанындағы  жоюдың  немесе 
өзгертудің құлдырауы болады. Бұл мысалда сілтеме тұтастығына FK1 
атауы берілді. 
Деректермен  толтырылған  кестелер  құрылымын  өзгерту  ең  жиі 
дерекқордың  ерекше  жағдайына  немесе  кестеде  бар  деректердің 
жоғалуына әкелетін ең қауіпті әрекеттердің бірі болып табылады. 
Қолданыстағы кестелердің құрылымын өзгерту үшін ALTERTABLE 
операторын  пайдаланыңыз,  оның  оңайлатылған  синтаксисі  төменде 
келтірілген:
 
243
 


ALTERTABLE<
кесте атауы>
 
{ [ADD<
баған атауы><деректер түрі> [
 
NULL| NOTNULL] ]
 
| [DROP [COLUMN] <
баған атауы>]}
 
Бір  мәлімдемеде  кестедегі  өзгерістердің  ерікті  санын  орындай 
аласыз. 
Бар  кестені  өзгертуге  арналған  әртүрлі  операциялар  бір-бірінен 
үтірлермен бөлінеді. ALTER TABLE операторы рұқсат береді:
 
■ 
Жаңа баған анықтамасын қосу;
 
■ 
Кестедегі бағанды өшіру;
 
■ 
кестенің немесе бір бағаның тұтастығы атрибуттарын жою; 
■ 
жаңа тұтастық атрибуттарын қосу.
 
Егер  бағанның  сипаттамаларын  өзгерту,  сондай-ақ  бағанды  жою, 
мүмкін болмаса, сәтсіз болуы мүмкін:
 
■ 
баған  PRIMARY  KEY  немесе  UNIQUE  атрибуттарын  алады,  бірақ 
бағандағы  ескі  мәндер  бірегей  деректерге  қойылатын  талаптарды 
бұзады;
 
■ 
Кестелер арасындағы сілтеме тұтастығын бұзуға алып келген негізгі 
немесе шетелдік кілтдің бөлігі ретінде енгізілген қашықтағы баған;
 
■ 
бағанда кесте деңгейінде тұтастық шектеулер тағайындалды;
 
■ 
баға  есептік  бағандарда  іздеу,  триггерлер  және  өрнектердегі  басқа 
дерекқор компоненттерінде пайдаланылады. Осылайша, егер қажет 
болса, атрибуттарды өзгерту 
■ 
бағанды немесе бағанды жою жағдайында алдымен кесте мен 
дерекқордың салдарын өзгерту немесе жою сияқты өзгерістерді 
неге әкелуі мүмкін екенін мұқият талдау қажет. Жаңа бағанды қосу:
 
 
ALTER TABLE <
кесте атауы>ADD <баған анықтамасы>
 
Жаңа бүтіндік шегін қосу: 
 
ALTER TABLE <
кесте атауы>ADD [CONSTRAINT <шектеу атауы^ 
<
бүтіндік анықтамасы>
 
Бағанды өшіру:
 
ALTER TABLE <
кесте атауы>DROP <баған атауы>[...,...] бүтіндігін 
шектеуді өшіру:
 
ALTER TABLE <
кесте атауы>DROP <шектеу атауы>
 
244
 


Кесте оператор тарапынан жойылады:
 
DROP TABLE <
кесте атауы>
 
Мысалы, бағанды келесі пәрмені бар кестеге қосуға болады:
 
ALTER TABLE KLIENT ADD ADRES VARCHAR(50)
 
Кестеге  тұтастық  шектеу  қосу  (бастапқы  кілт)  пәрмен  арқылы 
орындалады:
 
ALTER TABLE KLIENT
 
ADD CONSTRAINT PK_ KLIENT
 
PRIMARY KEY (ID)
 
Кестені өшіру мысалы:
 
DROP TABLE KLIENT
 
Өшіру негізгі кестелер үшін бұғатталуы мүмкін, оларға бағынатын 
кестелерде  (қазіргі  уақытта  жойылмайды)  осы  кестелердің  шетелдік 
кілтіне  сілтемелер  бар.  Шындығында,  негізгі  кестені  жою  сілтеме 
тұтастығын бұзады. Сондықтан, барлық бағынды кестелердегі сілтеме 
тұтастығы  шектеулерін  алып  тастаңыз  немесе  қажет  болса  алдымен 
бағынысты кестелерді жойыңыз, содан кейін негізгі кестені жойыңыз.
 
12.3.
 
ДЕРЕКТЕРДІ ТАҢДАУ. SELECT ОПЕРАТОРЫ
 
SELECT 
мәлімдемесі DML сұрау тілінің DML бөлімшесіне сілтеме 
жасайды. Бұл ең күрделі және қуатты SQL операторларының бірі. Бұл 
оператор  өте  күрделі  және  дамыған  құрылымға  ие.  Дерекқорлармен 
қандай  да  бір  түрде  байланысқан  кез  келген  маманға  белгілі  болуы 
керек. Сондықтан осы оқу құралы оған үлкен көңіл бөледі. 
12.1-
суретте  келесі  талқылауға  мысал  ретінде  пайдаланылатын 
дерекқор үлгісі көрсетілген. 
Тауарлар  кестесі  үстелдермен  байланысты,  содан  кейін  тауарлық 
өріс бірден-көпге дейін. Осыған ұқсас, Клиенттер кестесі Клиент өрісіне 
арналған  біріктірілген  байланыспен  Сатылым  кестесіне  байланысты. 
Сұранысты  орындау  нәтижелерін  неғұрлым  нақты  көрсету  үшін  біз 
аяқталған кестелерді мысал ретінде пайдаланамыз (12.2-сурет).
 
245
 


жүктеу 2,79 Kb.

Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   101




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау