DBMS-də ölçünün qiymətləndirilməsi (seçicilik)

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

Bir sorğuda müxtəlif növ əməliyyatlardan istifadə edirik. Birləşmə və operatorların növündən asılı olaraq nəticə dəstinin ölçüsü dəyişir. Onları aşağıda görək.

Seleksiya

Tutaq ki, bərabərlik seçmə əməliyyatımız var, σ A = dəyər (T). İndi nəticənin ölçüsü yuxarıda izah edildiyi qədər sadədir. Tutaq ki, A əsas sütundur. Sonra ölçünün qiymətləndirilməsi birinə bərabərdir. Cədvəldəki hər bir qeyd A sütunu üçün fərqli bir qiymətə sahib olmasıdır.
Fərz edək ki, seçim əməliyyatında müqayisəli operatorumuz var, σ A <= dəyər (T). Tutaq ki, A sütununun maksimum və min dəyəri məlumat lüğətində də saxlanılır. Sonra ölçüsü təxmin edilir

Fərz edək ki, seçim əməliyyatında müqayisəli operatorumuz var, σ A <= dəyər (T). Tutaq ki, A sütununun maksimum və min dəyəri məlumat lüğətində də saxlanılır. Sonra ölçüsü təxmin edilir

n r *(value – min (A)/(max(A)  - min(A)), if value> min(A)
0, if value<min (A)

Məsələn, fərz edək ki, sütun yaşı maksimum 25 və min 18-dir. Seçmə şərtimiz var, yaş <= 20. Cədvəldəki qeydlərin ümumi sayı 100-dür. Sonra ölçmə təxmini,

100 * (20 - 18) / (25-18) ≈ 29

yəni; təqribən 29 qeyd <= 20 yaş ilə masadan gətirilə bilər. Fərz edək ki, şərt <15 yaşdır, onda bu cür qeydlərin alınması ehtimalı sıfıra bərabərdir; belə yaşda heç bir qeyd yoxdur.

Tutaq ki, T cədvəlinə qoşulmalıyıq, sonra seçmə və ya birləşmə şərti ilə qeydlərin seçilmə ehtimalı SA / nr olaraq verilir. Fərz edək ki, bir neçə teta AND şərti, birləşmə ilə birləşirik. Sonra seçicilik kimi verilir nr * (S1 * S2 *… S n) / n nr.

Tutaq ki, 100 qeydli EMP cədvəlimiz var və AGE, CLASS_ID-də birləşməliyik. Tutaq ki, AGE-nin seçiciliyi 5, CLASS_ID 10-dür. Sonra konjunktiv birləşmə şərtinin seçiciliyi çox kiçik olan 100 * (5 * 10) / 100100 olaraq verilir.

Eynilə, disjunksiya vəziyyətində (OR vəziyyəti), kimi verilir nr * (1 - (1-S1 / nr) * (1-S2 / nr)… (1-Sn / nr).
İnkar vəziyyətində (şərt DEYİL), belədir nr - ölçü (σ θ (T))

qoşulmaq

Tutaq ki, iki əməliyyata qoşulduq masaları T və S. Sonra qeydlərin seçiciliyini qiymətləndirmək üçün fərqli hallarımız var

  • Kartezyen Məhsul: Kartezyen məhsulun hər iki cədvəldən kopyalanan qeydləri olacaq və bu səbəbdən nt * ns qeydləridir. Hər qeyddən ST + SS baytlarını kopyalayır. Məsələn, EMP-də 100, DEPT-də 5 qeydimiz olduğunu düşünək. Cədvəl EMP-nin seçiciliyini 5 (sütun) və DEPT 3 (sütun) olduğunu söyləyin. Daha sonra kartezyen məhsulun hər bir qeydin 500 baytını kopyalayaraq nəticə dəstinə 8 qeyd daxil olacaq.

  • T∩S =?, Onda T və S ilə birləşsək, T ∞ S, Kartezyen məhsulu ilə eyni olacaq. yəni; T və S-dəki hər bir qeyd fərqlidir və bu səbəbdən onların birləşməsinin fərqli dəyərləri olacaqdır.

  • T∩S = düymə (T), bundan sonra S-dəki hər bir qeyd T ilə birləşdiriləcək və bu səbəbdən T-S-dəki qeydlərin sayı S-dəki qeydlərin sayına çox bərabər olacaq. Məsələn, EMP-dəki qeydlərin sayı = 5 və EMP EMP_ID ∩ EMP MGR_ID = EMP açarı = EMP_ID. Sonra EMP ∞ EMP_ID = MGR_ID EMP ilə birləşmə, EMP-dəki menecer sayı ilə eyni olacaq (yəni; S)

  • T∩S = T-dəki xarici düymə, daha sonra S-dəki hər bir qeyd T ilə birləşdiriləcək və bu səbəbdən T-S-dəki qeydlərin sayı S-dəki qeydlərin sayına bərabər olacaq. Məsələn, EMP-dəki qeydlərin sayı = 5 və DEPT = 3. Sonra DEPT-in DEPT_ID-i EMP-dəki xarici açardır. Bu səbəbdən ƏMİP ∞ DEPT_ID = DEPT_ID DEPT arasındakı birləşmə ƏMİP-dəki işçilərin sayı ilə eyni olacaq (yəni; T)

  • T∩S = {A}, hər ikisi də T və S-dən bəzi qeydlər toplusudur, onda T ilə S arasındakı birləşmənin ölçüsü nT * nS / dAS-dır. yəni; cədvəl S-də fərqli dəyərlərə bölünən kəsişmə birləşmələrinin ümumi sayına bərabərdir. DESIGN_EMP və TEST_EMP-nin sırasıyla 10 və 6 qeydləri olduğunu düşünək. Tutaq ki, DESIGN_EMP-nin 6 fərqli dəyəri və TEST_EMP-nin 5 fərqli dəyəri var. Tutaq ki, ortaq 3 qeydləri var. Daha sonra birləşmə ölçüsü DESIGN_EMP ilə 10 * 6/6 = 10, TEST_EMP ilə 10 * 6/5 = 12 olaraq verilir. DESIGN_EMP ilə ölçülük smetası daha az olduğundan dəqiq qiymətləndirmə kimi istifadə olunur.

Xarici qoşulur

Xarici birləşmələr vəziyyətində normal birləşmələrdən daha az əlavə qeydimiz var. Beləliklə, xarici birləşmələrin ölçü təxmini, iki cədvəl arasındakı normal birləşmələrin bir cədvəlin ölçüsü ilə ölçüsünün cəmi kimi hesablanır. T deyək ki, T və S cədvəlləri arasında xarici birləşməni tərk etdik: T ∞ SOL OUTER JOINS, sonra ölçüsü bunun qiymətləndirilməsi T ∞ S ölçüsünün və T ölçüsünün cəmidir. Sağ xarici birləşmə halında, T ∞ S ölçüsünün və S ölçüsünün cəmidir. Tam xarici birləşmə olarsa, ölçüsü bunun qiymətləndirilməsi T ∞ S ölçüsünün T ölçüsü və S ölçüsünün cəmidir. Burada normal birləşmənin ölçüsü hesablanarkən yuxarıda izah edilən 5 fərqli hal nəzərə alınır və buna görə qiymətləndirilir.

Məsələn, EMP və PROJECT arasında sol xarici birləşməni fərz edin. EMP-nin 1000, PROJECT-in isə 30 qeydləri olsun. Bu iki cədvəl arasındakı sol xarici birləşmə, uyğun qeydlər və EMP-dən PROJECT-də uyğun olmadığı bütün digər qeydlər üçün normal birləşdirmə olacaqdır. Beləliklə, onun ölçüsü (1000 * 30) + 1000 = 31000 (T∩S =? Tutaraq) kimi verilir.

Sağ xarici birləşmə vəziyyətində yuxarıdakı ölçü təxmini (1000 * 30) + 30 = 30030 və tam xarici birləşmə vəziyyətində (1000 * 30) + 1000 + 30 = 31030 olacaqdır.

Çıxıntı

Bu, cədvəldən müəyyən sütun / lərin seçilməsi əməliyyatıdır. Beləliklə, onun ölçüsü cədvəldə mövcud olan sütun / s-nin fərqli dəyərlərinin sayına bərabərdir.
(A (T) = d AT
EMP cədvəlində EMP_ID sütununun seçilməsinin ölçüsü, EMP_ID əsas açar olduğundan EMP-dəki qeydlərin ümumi sayına bərabərdir. EMP-də AGE üçün yalnız 6 fərqli dəyər olduğunu düşünək. Sonra EMP-dən AGE-nin proqnozlaşdırılması üçün ölçü təxmini 6-dır.

Birləşmə

Bu proyeksiyaya bənzəyir. Burada sütunun fərqli dəyərləri qruplaşdırılır və məcmu dəyərləri (say, cəm, maks, min və s. Kimi) hesablanır. Beləliklə, onun ölçüsü cədvəldə göstərilən sütunun fərqli dəyərlərinin sayına bərabərdir.

Müxtəlif şöbədəki işçilərin sayını hesablamaq üçün ölçü təxmini cədvəldə mövcud olan fərqli şöbənin ümumi sayına bərabərdir.

Əməliyyatı seçin

Fərz edək ki, eyni T masasında UNION və ya INTERSECTION əməliyyatını qurmuşuq. Sonra seçim əməliyyatı üçün ölçü təxmini ilə eynidir. yəni; iki fərqli seçim şərti ilə eyni cədvəldə birləşmə əməliyyatı olduqda, seçim şərtini ardıcıllıqla və ya AND operatorundan istifadə etməklə eynidir.

σ θ1 (T) Uσθ2 (T) = σθ1σθ2 (T)

σ θ1 (T) ∩σθ2 (T) = σθ1σθ2 (T)

Fərqli T və S masalarında UNION və ya INTERSECTION əməliyyatını qurduğumuzu düşünək

Size estimate for T U S: size of T + size of S
Size estimate for T U S: min (size of T, size of S)
Size estimate for T - S: size of T

yəni birləşmə əməliyyatı istifadə edildikdə, hər iki cədvəlin qeydləri birləşdirilir. Buna görə hər iki cədvəlin ölçüsünün cəmidir. Kəsişmə əməliyyatı istifadə edildikdə, hər iki cədvəlin yalnız uyğun qeydlərinə sahib olacaqdır. Beləliklə, nəticə dəsti hansının daha kiçik olmasına baxmayaraq T və S qeydlərinin maksimum ölçüsünə sahib olacaqdır. Fərq əməliyyatı etdiyimiz zaman birinci cədvəldən və ya daha azından ən yüksək qeydlərə sahib ola bilərik. Set əməliyyatlarının bütün bu təxminləri, nəticə dəstinin əldə edə biləcəyi maksimum ölçü dəyərləridir. Ancaq əksər hallarda, təxmin edilən dəyərdən daha az olacaqdır.

Fərqli dəyərlər

Fərqli dəyərlər üçün cədvəlləri seçərkən və ya birləşdirərkən ölçünün qiymətləndirilməsinə nə baş verdiyini görək.

  • Seçim: Tutaq ki, teta qoşulma ilə bir seçim əməliyyatımız var, σ θ (T). Tutaq ki, A sütununda teta birləşməsi təyin olundu. Sonra teta A-nın göstərilən dəyərini almağa məcbur edir (bərabər operator), onda ölçünün qiymətləndirilməsi birə bərabərdir. yəni; şərti uyğunlaşdıraraq ən azı bir rekord qaytaracaq. Teta, A dəyərlər dəstindən müəyyən edilmiş bəzi dəyərləri götürməyə məcbur etdikdə, ölçünün qiymətləndirilməsi A-nın fərqli dəyərlərinə bərabərdir; d AT.

Tutaq ki, σ AGE = 18 (EMP) var, o zaman AGE = 18 olan ən azı bir qeydin çəkiləcəyi güman edilir. Heç bir qeydin bu şərtlə təqdim edilməməsi ehtimalı var. Σ YAŞ <= 21 (EMP) kimi vəziyyətimiz olduqda, fərqli yaşda olan EMP-dən dəyərlər qrupu seçirik. Beləliklə AGE-nin fərqli dəyərləri ola bilər <= 21 qeydləri qaytarıla bilər, yəni; EMP-də fərdi yaş dəyəri 18-dir. O zaman 4, 18, 19 və 20 yaşlarında ən az 21 qeyd alınacaq, lakin hər yaş üçün ən azı bir qeyd olması lazımdır. Bu yaşlara aid qeydlər ola bilər və ya olmaya bilər. Bunların hamısı fərziyyələrdir.

Ümumiyyətlə, teta seçiminin ölçü təxmini olardı dəq (dAT, n σθ (T) yəni; seçilmiş qeydlərin sayı tamamilə ya sütun dəyərinin fərqli dəyərlərindən, ya da seçimdəki qeydlərin sayından tamamilə asılı olacaqdır.

  • Qoşulub : Tutaq ki, T və S cədvəlləri arasında əməliyyatı birləşdirmişik. Tutaq ki, A T-dan gələn sütundur, onda ölçüsü təxmin edilir dəq (dAT, n T∞S) yəni; Şöbənin menecer təfərrüatlarını öyrənmək üçün EMP və DEPT arasında birləşdiyimizi düşünək. Bölmə yalnız bir menecer ola bilər. Sonra bu iki cədvəl arasında birləşmə şöbənin fərqli dəyərləri ilə eyni qeydlərə sahib olacaq, d AT.

Tutaq ki, müəyyən şöbənin işçilərinin təfərrüatlarını öyrənmək üçün qoşulduq. O zaman ölçünün qiymətləndirilməsi şöbənin fərqli dəyərlərinə bərabər deyil, aralarındakı həqiqi birləşməyə bərabərdir.

Fərz edək ki, T cədvəlindən A1 və S cədvəldən A2, T cədvəli üçün ölçüsü V (T), S cədvəli üçün V (s), A2 dəyəri olmayan T cədvəli üçün V (A1-A2) və üçün cədvəl A1 olmadan V (A2-A1). Sonra aralarındakı birləşmə verilir min (V (T) * dəq (V (A2-A1), V (S), V (S) * min (V (A1-A2) * V (T)), n T ∞S)

  • Fərqli və ümumi: Fərqli və cəmlənmə tapmaq üçün ölçü təxmini, sütunun fərqli dəyərlərinin sayı ilə eyni, dAT; yuxarıda gördüyümüz kimi proyeksiya və ya birləşmə ilə eynidir.
Crack Sistemi Dizayn Müsahibələri
Translate »