Kirish Ma’lumotlar bazasi haqida mbbt funktsityalari


-Mavzu: Sqlda Jadvallarni yaratish



Download 5,2 Mb.
bet78/79
Sana17.04.2022
Hajmi5,2 Mb.
#558651
1   ...   71   72   73   74   75   76   77   78   79
Bog'liq
Maruza mbbt (1-60)

59-Mavzu: Sqlda Jadvallarni yaratish
Reja:
1. TQuery komponenti
2. WISQL
3. Jadvalini yaratish

Agar siz TQuery komponentidan foydalanmoqchi bo'lsangiz, avval uni formaga joylashtiring. Shundan so'ng, DatabaseName xususiyatiga kerakli taxallusni o'rnating (agar ma'lumotlar bazasi hali mavjud bo'lmasa, uni WISQL da File|Create Database... buyrug'i yordamida yaratish qulayroq, so'ngra unga yangi taxallus o'rnating. ). Shundan so'ng siz SQL ko'rinishini SQL xususiyatiga kiritishingiz mumkin. Serverga tuzilmani o'zgartiruvchi, ma'lumotlarni qo'shadigan yoki yangilaydigan so'rovni bajarish uchun TQuery komponentining ExecSQL usulini chaqirish kerak. Qabul qilingan so'rovni bajarish uchunserverdan olingan ma'lumotlar (ya'ni, SELECT operatori asosiy bo'lgan so'rov), siz TQuery komponentining Open usulini chaqirishingiz kerak. Buning sababi, SELECT so'rovini yuborishda BDE kursor deb ataladigan narsani ochadi, bu ma'lumotlar tanlovi bo'ylab harakatlanish uchun ishlatiladi (batafsilroq, TQuery bo'yicha darsga qarang).


Tajriba shuni ko'rsatadiki, WISQL yordam dasturidan foydalanish osonroq. Buning uchun WISQL da File|Run an ISQL Script... buyrug'ini tanlang va ma'lumotlar bazasini yaratuvchi skriptingiz bo'lgan faylni tanlang. "OK" tugmasini bosgandan so'ng, skriptingiz bajariladi va uning ish protokoli pastki oynada ko'rsatiladi.
InterBase SQL serverida jadval yaratish uchun soddalashtirilgan SQL bayonoti sintaksisi (to'liqroq sintaksis uchun mahalliy InterBase bilan ta'minlangan onlayn SQL ma'lumotnomasiga qarang):
JADVAL jadvalini yaratish
( [, | ...]);
bu yerda
jadval yaratiladigan jadval nomi,
 maydon tavsifi,
 cheklovlar va/yoki kalitlarning tavsifi (kvadrat qavslar [] ixtiyoriy, vertikal satr | “yoki” degan maʼnoni anglatadi) .
Maydon tavsifi maydon nomi va maydon turidan (yoki domen - 9-darsga qarang), shuningdek maydonga kiritilgan qo'shimcha cheklovlardan iborat:
= col {ma'lumotlar turi | HISOBLANGAN () | domen}
[DEFAULT {literal | NULL | USER}]
[NULL EMAS] []
[HARMASHLASH]
Bu yerda
col - maydon nomi;
ma'lumotlar turi - har qanday joriy SQL server turi (InterBase uchun bu turlar - 11-darsga qarang - SMALLINT, INTEGER, FLOAT, DOUBLE PRECISION, DECIMAL, NUMERIC, DATE, CHAR, VARCHAR, NCHAR, BLOB), belgilar turlarida CHARACTER SET - a bo'lishi mumkin. mamlakat tilini belgilaydigan belgilar to'plami. Rus tili uchun belgilar to'plamini WIN1251 ga o'rnating;
COMPUTED BY () - server darajasida hisoblangan maydon ta'rifi, bu erda - bu yagona qiymatni qaytaradigan haqiqiy SQL ifodasi;
domen - ma'lumotlar bazasida aniqlangan domen nomi (umumiy turdagi);
DEFAULT - maydonning standart qiymatini belgilaydigan konstruksiya;
NULL EMAS- dala bo'sh bo'lmasligini ko'rsatadigan konstruktsiya;
COLLATE - tanlangan belgilar to'plami uchun tartiblash tartibini belgilaydigan band (BLOB maydoniga taalluqli emas). Ruscha belgilar to'plami WIN1251 ikkita tartiblash tartibiga ega - WIN1251 va PXW_CYRL. Katta harflarni o'z ichiga olgan to'g'ri tartiblash uchun PXW_CYRL tartibini tanlash kerak.
Cheklovlar va/yoki kalitlarning tavsifi noyob maydonlarni, birlamchi kalitlarni, tashqi kalitlarni va CHECK cheklovlarini tavsiflovchi CHEKLAMA bandlari yoki bandlarini o'z ichiga oladi (bunday tuzilmalar bir nechta maydonlarga ta'sir etsa, maydon darajasida ham, umuman jadval darajasida ham aniqlanishi mumkin. ):
= [CONSTRAINT cheklovi
]

Bu yerda
= {{ASOSIY KALT | UNIQUE} (col[,col...])
| FOREIGN KALİT (col [, col ...]) ADABIYOTLAR boshqa_jadval
| TEKSHIRISh ()}

qidiruv_shart =


{ operator { | ()}
| VA O'RTAsida [EMAS]
| [EMAS] YOQMAGAN [QOCHISH ]
| [NOT] IN ( [, ...] |


= {
col [array_dim] | | |
| NULL | FOYDALANUVCHI | RDB$DB_KEY } [Harmalash]


= son | "string" | belgi nomi "string"


= {
COUNT (* | [ALL] | DISTINCT )
| SUM ([hamma] | DISTINCT )
| AVG ([hamma] | DISTINCT )
| MAKS ([hamma] | DISTINCT )
| MIN ([hamma] | DISTINCT )
| CAST ( AS )
| YUQORI ()
| GEN_ID (generator, )
}


= {= | < | > |<= |>= | !< | !> | <> | !=}
= Aynan bitta qiymatni qaytaradigan bitta maydonda SELECT iborasi.
Yuqoridagi to'liq bo'lmagan sintaksis turli mavzularda echilgan ko'pgina masalalar uchun etarli. SQL sintaksisini tushunishning eng oson yo'li misollardir. Shuning uchun biz SQL yordamida jadvallar yaratishga misollar keltiramiz.
A misol: Maydon darajasida PRIMARY KEY konstruksiyaga ega oddiy jadval
JADVAL MINTANINI YARAT (
REGION REGION_NAME BO'LGAN ASOSIY KALT EMAS,
POPULATION INTEGER NO NULL);
Ma'lumotlar bazasida REGION_NAME domeni aniqlangan deb taxmin qilinadi, masalan, quyidagicha:
DOMAIN REGION_NAME YARATING
AS VARCHAR(40) CHARAKTERLAR TO'plami WIN1251 COLLATE
PXW_CYRL;
Misol B: maydon va jadval darajasida UNIQUE bandli jadval
STOLLARNI YARATING (
MODEL SMALLINT NO NONO EMAS,
NOMI CHAR(10) NULL EMAS,
ITEMID INTEGER NULL EMAS, MOD_UNIQUE
UNIQUE (NAME, ITEMID));
Misol C: Birlamchi kalit, tashqi kalit va CHECK konstruktsiyasi va belgilar massivlari aniqlangan jadval
JADVAL ISH YARASH (
JOB_CODE ISH KODI NULL EMAS,
JOB_GRADE JOBRADE NULL EMAS,
JOB_REGION REGION_NAME NULL EMAS,
VARCHAR_JOB_SAVOLI(25) BARAKTERLAR TO'plami WIN1251
PXW_CYRL NULL EMAS,
MIN_OYLIK ISHI NO EMAS,
MAX_ISOLIK ISHLAB CHIQISH BO'LGAN EMAS,
JOB_REQ BLOB(400,1) CHARAKTERLAR TO‘PLAMI WIN1251,
LANGUAGE_REQ VARCHAR(15) [5],
ASOSIY KALT (JOB_CODE, JOB_GRADE, JOB_REGION),
Xorijiy kalit (JOB_REGION) MA'LUMOTLAR MINTAQ (MINTAQ),
CHECK (MIN_SLARY < MAX_SALARY));
Ushbu misol ish joylari (kasblari) haqidagi ma'lumotlarni o'z ichiga olgan jadvalni yaratadi. Maydon turlari JOBCODE, JOBGRADE, REGION_NAME va SALARY domenlariga asoslangan. VARCHAR(15) tipidagi 5 ta elementdan iborat LANGUAGE_REQ massivi aniqlangan. Bundan tashqari, JOB_REQ maydoni kiritiladi, u BLOB tipidagi 1 kichik turi (matnli blob) va segment o'lchami 400. Jadval uchun JOB_CODE, JOB_GRADE va ​​JOB_REGION uchta maydondan iborat birlamchi kalit belgilangan. Keyinchalik, REGION jadvalining REGION maydoniga ishora qiluvchi tashqi kalit (JOB_REGION) aniqlanadi. Nihoyat, CHECK bandi kiritilgan bo'lib, bu sizga ikkita maydon o'rtasidagi munosabatni tekshirish va munosabatlar buzilgan taqdirda istisno qilish imkonini beradi.
Misol D: Hisoblangan maydon bilan jadval
SALARY_HISTORY JADVAL YARATISH (
EMP_NO EMPNO NO NULL,
CHANGE_DATE SANA SUFAT "HOZIR" NULL EMAS,
UPDATER_ID VARCHAR(20) NULL EMAS,
ESKI_ISOLIK ISHI BO'L EMAS,
PERC_CHANGE DOUBLE PRECISION DEFAULT 0 NO NO NO
TEKSHIRING (-50 VA 50 ORASIDAGI PERC_CHANGE),
YANGI_MASH HISOBLANGAN
(OLD_SALARY + OLD_SALARY * PERC_CHANGE / 100),
ASOSIY KALT (EMP_NO, CHANGE_DATE, UPDATER_ID),
XORIY KALİT (EMP_NO) REFERANSLAR XODIMI (EMP_NO));
Ushbu misol jadvalni yaratadi, unda boshqa maydonlar qatorida hisoblangan (jismoniy jihatdan mavjud bo'lmagan) NEW_SALARY maydoni mavjud bo'lib, uning qiymati boshqa ikkita maydon (OLD_SALARY va PERC_CHANGE) qiymatlaridan hisoblanadi.
Diskda odamlar va tashkilotlar o'rtasidagi aloqalarni saqlaydigan ma'lumotlar bazasini yaratuvchi skript namunasi mavjud.
Xulosa
Shunday qilib, biz SQL operatorlari yordamida jadvallarni qanday yaratishni ko'rib chiqdik. Bu jarayon interaktiv ma'lumotlar bazasi ish stoli kabi qulay bo'lmasa ham, tizimingizni sozlash va uning aloqalarini boshqarishning eng moslashuvchan usuli hisoblanadi.


Download 5,2 Mb.

Do'stlaringiz bilan baham:
1   ...   71   72   73   74   75   76   77   78   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish