To'plamga qarab kamaytirilmaydigan funktsiya

To'plamga qarab kamaytirilmaydigan funktsiya
Agar funktsiya quyidagi uchta xususiyatga ega bo'lsa, S funktsional bog'liqlik to'plami kamaytirilmaydi:
S ning funktsional bog'liqligining har bir to'g'ri to'plami faqat bitta atributni o'z ichiga oladi.
S ning funktsional bog'liqligining har bir chap to'plami kamaytirilmaydi. Demak, har qanday atributni chap to'plamdan kamaytirish S ning tarkibini o'zgartiradi (S ba'zi ma'lumotlarni yo'qotadi).
Har qanday funktsional qaramlikni kamaytirish S ning tarkibini o'zgartiradi.
Ushbu xususiyatlarga ega bo'lgan funktsional bog'liqliklar to'plamlari ham deyiladi kanonik yoki minimal. Funktsional bog'liqlikning bunday S to'plamini topish, ba'zi bir kirish S 'to'plamiga t
Mavzu:17.Ma'lumotlar bazasida kalit tushunchasi. Me'yoriy shakllar.
Reja:
1. Ma'lumotlar bazasida kalit tushunchasi
2. Me'yoriy shakllar.
3. Me'yoriy funksiyasi.
Ma'lumotlar bazasi munosabatlari barcha tegishli ma'lumotlar bazalarining asosiy qismi hisoblanadi
Agar jadvalda boshqa jadvalning asosiy kalitiga ishora qiluvchi tashqi kalit bo'lsa, ikki ma'lumotlar bazasi jadvallari orasidagi munosabat o'rnatiladi. Bu atamalar bazasini tashkil etuvchi asosiy tushunchadir.
Tashqi munosabatlarning qanday aloqasi bor?
Asosiy va chet el kalitlarining asoslarini ko'rib chiqaylik. Asosiy kalit , jadvaldagi har bir yozuvni aniqlaydi. Odatda, jadvaldagi birinchi ustun bo'lgan va u noyob bo'lishi uchun ma'lumotlar bazasi tomonidan avtomatik tarzda yaratilishi mumkin bo'lgan nomzod kalitining turi.
Chet el kaliti boshqa yozuvlardagi ma'lumotlarga ulanish uchun ishlatiladigan boshqa nomzod kalit (asosiy kalit emas).
Masalan, qaysi ikkita o'qituvchi qaysi darsni o'rgatayotganligini ko'rsatadigan ikkita jadvalni ko'rib chiqing.
Kurslar jadvalidagi asosiy kalit - Kurs_ID. Uning tashqi kaliti Teacher_ID:
Kurslar
Course_ID Kurs_Adı Teacher_ID
Kurs_001 Biologiya Teacher_001
Kurs_002 Matematika Teacher_001
Kurs_003 Inglizcha Teacher_003
Kurslardagi xorijiy kalit o'qituvchilarning asosiy kalitiga mos kelishini ko'rishingiz mumkin:
O'qituvchilar
Teacher_ID O'qituvchi_Name
Teacher_001 Karmen
Ustoz_002 Veronica
Teacher_003 Xorxe
Teacher_ID chet el kalitlari Kurslar va O'qituvchilar jadvallari orasidagi munosabatlarni o'rnatishga yordam berdi.
Ma'lumotlar bazasi munosabatlari turlari
Chet tugmalari yoki boshqa nomzod kalitlarini ishlatib, jadvallar orasidagi uch xil munosabatni amalga oshirishingiz mumkin:
Birebir : Ushbu turdagi munosabatlar o'zaro munosabatlarning har bir tomonida faqat birgina rekord o'rnatishga imkon beradi.
Asosiy kalit faqat bitta yozuv bilan bog'liq - yoki hech biri - boshqa jadvalda. Misol uchun, nikohda har bir turmush o'rtog'i faqat bitta turmush o'rtog'iga ega. Bunday aloqalar yagona jadvalda amalga oshirilishi mumkin, shuning uchun chet el kalitini ishlatmaydi.
Ko'pchilikka ko'p : birdan ko'pgacha munosabatlar bir stolda boshqa jadvalda bir nechta qaydlar bilan bog'liq bo'lishi uchun bitta qaydni beradi.
Iste'molchilar va Buyurtma jadvallari bo'lgan ma'lumotlar bazasi bilan biznesni ko'rib chiqing.
Bitta buyurtmachi bir nechta buyurtma olishlari mumkin, ammo bitta buyurtma bir nechta mijozga bog'lana olmaydi. Shuning uchun Xaridorlar jadvali Xaridorlar jadvalining asosiy kalitiga mos keladigan xorijiy kalitni o'z ichiga oladi, mijozlar jadvali Buyurtma jadvaliga ishora qiluvchi chet el kalitiga ega bo'lmaydi.
Ko'pchilikka ko'p : Bu murakkab munosabatlardir, unda jadvaldagi ko'plab yozuvlar boshqa jadvalda ko'plab qaydlarni bog'lashi mumkin. Misol uchun, bizning biznesimiz mijozlar va buyurtma jadvallarini emas, balki, shuningdek, Mahsulotlar jadvaliga ham muhtoj.
Shunga qaramay, mijozlar va Buyurtma stoli o'rtasidagi munosabatlar juda ko'p, lekin Buyurtma va Mahsulotlar jadvali o'rtasidagi munosabatni ko'rib chiqing. Buyurtmada bir nechta mahsulotlar bo'lishi mumkin va mahsulot bir nechta buyurtma bilan bog'lanishi mumkin: bir nechta mijozlar bir xil mahsulotni o'z ichiga olgan buyurtma berishlari mumkin. Ushbu turdagi munosabatlar kamida uchta jadvalda talab qilinadi.
Ma'lumotlar bazasi munosabatlari muhimmi?
Ma'lumotlar bazalari jadvallari orasidagi izchil aloqalarni o'rnatish ma'lumotlarning yaxlitligini ta'minlashga, ma'lumotlar bazasini normallashtirishga yordam beradi. Misol uchun, agar bironta jadvalni xorijiy kalit orqali bog'lamagan bo'lsak va buning o'rniga faqat Kurslar va O'qituvchilar jadvalidagi ma'lumotlarni birlashtirsak nima bo'ladi:
|