Fizik modelni yaratish: indekslar; triggerlar va saqlanadigan protseduralar; ma'lumotlar omborini loyihalash

|
Fizik modelni yaratish: indekslar; triggerlar va saqlanadigan protseduralar; ma'lumotlar omborini loyihalash
|
bet | 50/50 | Sana | 14.01.2024 | Hajmi | 86,94 Kb. | | #137189 |
Bog'liq 1. Axborot tizimlarini (AT) loyihalash texnologiyasining asosiy Fizik modelni yaratish: indekslar; triggerlar va saqlanadigan protseduralar; ma'lumotlar omborini loyihalash.
Jismoniy modelni ishga tushirishdan oldin biz maqsadli ma'lumotlar bazasi mexanizmini bilishimiz kerak. Bu xatosiz amalga oshirilishi mumkin bo'lgan jismoniy modelni loyihalashni osonlashtiradi.
Ushbu texnik mulohazalar va ularni Vertabeloda qayerdan topishni tushunishingizga yordam berish uchun biz misol sifatida juda oddiy jismoniy diagrammadan foydalanamiz, maqsadli DBMS sifatida SQL Server. Mana sxema:
Keling, ko'pgina jismoniy modellarga kiritilgan eng keng tarqalgan texnik fikrlarni ko'rib chiqaylik.
1. Ob'ekt nomi uzunligi
Turli ma'lumotlar bazasi dvigatellari ob'ekt nomlari bo'yicha turli cheklovlarga ega.
Masalan, Oracle 12.1 ga qadar jadvallar, ustunlar, cheklovlar va boshqa barcha ob'ektlar nomlari 30 belgi bilan cheklangan; Oracle 12.2 jadval maydonidan tashqari barcha ob'ektlar uchun nomlar 128 baytgacha bo'lishi mumkin (ular hali ham 30 belgi bilan cheklangan). Ma'lumotlar bazasi nomlari hali ham 8 ta belgi bilan cheklangan. Vertabelo-da ushbu shartlarning barchasini siz uchun tasdiqlovchi xususiyat mavjud; "Vertabelo'da modelni tekshirish qanday ishlaydi" maqolasida bu haqda ko'proq bilib oling.
Qoidaga ko'ra, juda uzun nomlarni ishlatishdan saqlaning. Bundan tashqari, juda ko'p qisqartmalardan foydalanishdan saqlaning; bu jadval mazmunini, ustun yoki cheklash ma'nolarini va hokazolarni tushunishni imkonsiz qilishi mumkin.
2. Ma'lumotlar turlari
Har bir ma'lumotlar bazasi mexanizmi turli xil ma'lumotlar turlarini qo'llab-quvvatlaydi. Har bir ustun (atribut) uchun to'g'ri turni aniqlash biznes talablarini ham, maqsadli ma'lumotlar bazasi mexanizmida mavjud bo'lgan ma'lumotlar turlarini ham bilishni talab qiladi.
Masalan, SQL Server butun sonlar uchun TINYINT, SMALLINT, INT va BIGINT ma'lumotlar turlarini o'z ichiga oladi; ular mos ravishda 1, 2, 4 va 8 bayt saqlashni talab qiladi. Muayyan ustun uchun juda kichik bo'lgan ma'lumotlar turini tanlash kelajakda uni o'zgartirishni talab qilishi mumkin (bu juda ko'p resurs talab qiladigan vazifa bo'lishi mumkin, pul va vaqt jihatidan qimmat). Juda katta maʼlumotlar turini tanlash unumdorlikning pasayishiga va ortiqcha resurs sarflanishiga olib kelishi mumkin. Masalan, 1 dan 100 gacha raqamlarni saqlash uchun BIGINT dan foydalanish har bir raqam uchun 1 o‘rniga 8 bayt saqlashni talab qiladi; har bir indeks qidiruvi 1 bayt o'rniga 8 baytni solishtirishi kerak edi.
Oldindan rejalashtirishingiz va har bir atribut uchun tegishli ma'lumotlar turi, hajmi va aniqligini aniqlashingiz kerak. Kelajakda foydalanishni o'ylab ko'ring, lekin ortiqcha o'lchamlardan saqlaning.
3. Cheklovlar
Ko'pgina ma'lumotlar bazasi dvigatellari qoidalarni bajarish uchun cheklovlar yaratishga imkon beradi. Ushbu cheklovlarga quyidagilar kiradi:
Birlamchi kalit: Jadvaldagi har bir satrni o'ziga xos tarzda aniqlaydigan ustun yoki ustunlar to'plami; jadvalda bitta va faqat bitta asosiy kalit bo'lishi mumkin. Birlamchi kalitlar NULLlarni qabul qila olmaydi. Aksariyat zamonaviy dizaynlar asosiy sifatida tabiiy kalitlardan ko'ra surrogat kalitlardan (ya'ni identifikatsiya ustunlari kabi avtomatik yaratilgan qiymatlardan) foydalanadi. k Har ikkala yondashuvning ijobiy va salbiy tomonlari haqida ajoyib tushuntirish uchun Ma'lumotlar bazasini loyihalash: Asosiy kalit tabiiy bo'lishi kerakmi yoki surrogat bo'lishi kerakmi? .
Noyob kalit(lar): Jadvalda yagona bo'lgan ustun yoki ustunlar to'plami. Jadvalda juda ko'p noyob kalitlar bo'lishi mumkin. Misol uchun, Mahsulot jadvalida korxona tomonidan belgilanadigan ProductCode ustunida noyob kalit bo'lishi mumkin (bu ikkita mahsulot bir xil kodga ega bo'lishiga yo'l qo'ymaydi) va EANustundagi boshqa noyob kalitga ega bo'lishi mumkin. (EAN yoki IAN 100 dan ortiq mamlakatlarda qo'llaniladigan standart mahsulot identifikatsiya kodidir.)
Chet el kaliti: Ustun yoki ustunlar to'plamida saqlangan qiymat mavjud bo'lishi va boshqa jadvalda yagona bo'lishi kerakligini ta'minlaydi. Masalan, ProductIDjadvalimiz ustunidagi tashqi kalit Stockjadvaldagi yozuvga Productishora qiladi va buni bildiradi:
Ustunda saqlangan qiymat jadval ustunida ProductIDmavjud bo'lishi kerak .IDProduct
Bu qiymat noyob bo'lishi kerak. Chet el kalitlari havola qilingan jadvaldagi asosiy yoki yagona kalitga ishora qilishi kerak.
Null emas: Ushbu cheklov ustunda to'g'ri qiymat saqlanishini ta'minlaydi; ustunni bo'sh qoldirish mumkin emas. Vertabelo'da barcha ustunlar sukut bo'yicha null bo'lmaydi; quyida ko'rsatilganidek, katakchani belgilash orqali ularga nulllarni qabul qilishlariga aniq ruxsat berishingiz kerak.
Tekshirish cheklovi: Tekshirish cheklovi ustun yoki ustunlar to'plamining maxsus qoidaga bo'ysunishini ta'minlaydi. Masalan, Stockjadvalda "CurrentStock >= 0" sharti bilan chek cheklovi bo'lishi mumkin, ya'ni tizim ushbu ustundagi salbiy qiymatlarga ruxsat bermaydi.
4. Standart sozlamalar
Standart qiymatlar foydali xususiyat bo'lib, yozuv kiritilgan/yaratilganda uning qiymati ko'rsatilmagan ustun uchun standart qiymatni beradi. Misol uchun, LastVerifiedustunda GETDATE() ga o'rnatilgan DEFAULT bo'lishi mumkin, ya'ni yozuv yaratish vaqtida hech qanday qiymat ko'rsatilmagan bo'lsa, ustun joriy sanadan foydalanishi kerak.
5. Indekslar
Indekslar axborotga kirishni tezlashtirish uchun bir yoki bir nechta ustunlarga joylashtirilishi mumkin. Ko'pgina ma'lumotlar modellari dastlab ba'zi indekslarni o'z ichiga oladi. Tizim ishlatilgandan keyin ko'proq indekslar qo'shilishi mumkin (ma'lumotlar bazasi ma'murlarining ishlash takliflari asosida).
6. Saqlash va qismlarga ajratish
Jadvallar va indekslar ma'lumotni saqlaydi, ya'ni siz ushbu ma'lumotlarni diskda jismoniy joylashtirishni belgilashingiz kerak. Ma'lumotlar bazasi dvigatellari foydalanuvchilarga jadval(lar) joylashgan mantiqiy birlikni aniqlash imkonini beruvchi (ularni haqiqiy jismoniy joylashuvdan mustaqil holda saqlash) mantiqiy variantlarni (masalan , Oracle-dagi jadval maydonlari yoki SQL Serverdagi fayl guruhlari ) o'z ichiga oladi. Keyin bu mantiqiy birliklarga ma'lumotlar fayl tizimida saqlanadigan haqiqiy joy bo'lgan fayllar (ya'ni Oracle'dagi ma'lumotlar fayllari, SQL Serverdagi fayllar ) tayinlanadi .
Bundan tashqari, jadvallar va indekslarni qismlarga bo'lish mumkin. Bu shuni anglatadiki, jadval har xil jismoniy joylarda saqlanadi va hali ham bitta birlik sifatida foydalaniladi. Bo'limga ajratish kirish samaradorligini oshirishning asosiy usuli hisoblanadi. Masalan, siz bo'lim kaliti sifatida Invoicejadvalni bo'lishingiz va buni belgilashingiz mumkin:Invoice Date
Joriy yil hisob-fakturalari juda tez diskda saqlanadi (bu qimmat).
So'nggi ikki yil uchun hisob-fakturalar oddiy diskda saqlanadi.
Uch yoshdan oshgan hisob-fakturalar sekinroq (lekin arzonroq) disklarda saqlanadi.
Bu eski (va kamdan-kam ishlatiladigan) ma'lumotlarga ko'p pul sarflamasdan, hozirgi ma'lumotlarga juda tez kirish imkonini beradi.
7. Xavfsizlik
Aksariyat ma'lumotlar bazasi dvigatellari dam olishda shifrlash imkonini beradi (ya'ni, ma'lumotlar diskka yozilgunga qadar avtomatik ravishda shifrlanadi va diskdan o'qilganda shifrlanadi). Bundan tashqari, ijtimoiy xavfsizlik raqamlari yoki ish haqi kabi nozik ma'lumotlarni o'z ichiga olgan ba'zi jadvallar qo'shimcha xavfsizlik masalalarini talab qilishi mumkin. Bir misol, ustunni shifrlash, ya'ni ustun tarkibi diskdan o'qilgandan so'ng shifrlanadi; faqat ba'zi foydalanuvchilar uni parolini hal qilishlari va saqlangan qiymatlarga kirishlari mumkin.
8. Triggerlar, ko'rinishlar, protseduralar va funktsiyalar
Ma'lumotlar bazasi dvigatellari odatda kod sifatida qabul qilinadigan ba'zi qo'shimcha ob'ektlarni o'z ichiga oladi:
Ko'rinishlar ma'lumotlar bazasini so'rashni soddalashtiradi; ko'rinish - bu murakkab birlashma va filtrlash shartlari, guruhlar va boshqalar bilan ko'plab jadvallarga ichki havola qila oladigan oddiy ob'ekt.
Triggerlar xususiy dasturlash tillarida (Oracle’da PL/SQL yoki SQL Serverda T-SQL) yozilgan kichik kod bo‘laklari bo‘lib, jadvalga satr kiritilganda, o‘chirilganda yoki yangilanganda avtomatik ravishda bajariladi.
Protseduralar va funksiyalar - bu ma'lumotlar bazasida saqlanadigan kod qismlari (xususiy dasturlash tillarida yozilgan), chunki ular to'g'ridan-to'g'ri ma'lumotlar bazasida muntazam foydalaniladi.
Ushbu ob'ektlar ham aniqlanishi va jismoniy ma'lumotlar modeliga kiritilishi mumkin.
Tashkiliy mulohazalar
Foydalanilayotgan texnologiyaga bog'liq bo'lgan texnik cheklovlar va xususiyatlardan tashqari, jismoniy ma'lumotlar modelini yaratishda e'tiborga olish kerak bo'lgan boshqa narsalar ham mavjud. Bu biz ishlab chiqayotgan dasturiy ta'minotga egalik qiluvchi tashkilot tomonidan o'rnatilgan standartlar yoki ta'riflar.
AT-ni axborot bilan ta'minlash. Tashqi axborot ta’minoti.
|
| |