Əsas SQL Müsahibə Sualları

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.

Mündəricat

31. Məlumat Modelləşdirməsində əsaslıq nədir?

Məlumat modelləşdirməsində əsaslıq bir cədvəlin başqa bir cədvəllə əlaqəsinə aiddir. Başqa sözlə, kardinallıq bir cədvəlin digər cədvələ necə uyğunlaşdırıldığını izah edir. Verilənlər bazasında bir-bir, birdən çox / çoxdan birə və bir çoxdan çox kimi fərqli xüsusiyyətlərə sahibik. Bir cədvəlin kardinallığı bir-birinə bərabərdirsə, bu cədvəldəki hər sətrin başqa bir cədvəlin bir və yalnız bir sətri ilə eşleştirildiyi deməkdir. Bir cədvəlin kardinallığı birdən çoxa / çoxdan birədirsə, bu cədvəldəki hər sıra başqa bir cədvəlin birdən çox satırı ilə eşleştirildiyi deməkdir.
İŞÇİLƏR, ŞÖBƏLƏR və İŞLƏR tipik nümunəmizi nəzərdən keçirin. Burada BÖLMƏLƏR cədvəli, təşkilatda müxtəlif şöbələri təmsil etmək üçün istifadə olunur. Bu səbəbdən hər hansı bir təkrarlanan dəyər olmayacaqdır. Hər şöbənin öz işçiləri olacaqdır. Burada hər şöbənin bir çox işçisi olacaq və hər işçi yalnız bir şöbə üçün işləyə bilər. Beləliklə, ŞƏKİLLİKLƏR və İŞÇİLƏR arasındakı fərqlilik çoxlarına aiddir. Başqa sözlə, bir şöbədə çox sayda işçi ola bilər. Eynilə, hər bir işçinin yalnız bir işi ola bilər, ancaq eyni işi birdən çox işçi edə bilər. Bu səbəbdən İŞÇİLƏR və İŞLƏR arasındakı əlaqə çoxları ilə əlaqəlidir.

32. SQL-də kardinallıq nədir?

SQL-də kardinallıq bir sütunun ola biləcəyi fərqli dəyərlərin sayına aiddir. Başqa sözlə, kardinallıq sütundakı unikal dəyərlərə aiddir.
Məsələn, 1000 sıralı EMPLOYEES cədvəlində, EMPLOYEE_ID sütununun əsaslığı 1000-dir. Yəni EMPLOYEE_ID birincil açar sütundur və yalnız fərqli dəyərlərə sahib olacaqdır. Beləliklə, bu sütunda heç bir təkrarlanan dəyər əldə etməyəcəyik və onun cəsədliliyi həmişə cədvəldəki satır sayına bərabər olacaqdır. İŞÇİLƏR cədvəlindəki CİNS sütununa nəzər yetirin. Yalnız iki dəyərə sahib ola bilər - 'M' və 'F'. Beləliklə, onun əsas gücü ikidir. Bu iki nümunədən aydın olur ki, əsaslıq hər sütundakı fərqli dəyərlərin sayıdır.

Tutaq ki, bir sütunun kardinallığı sıfırdır. Bu, sütunun bütün NULL dəyərlərinə sahib olduğu və unikal dəyərlərin olmadığı deməkdir.

33. SQL-də Seçicilik nədir?

Seçicilik indekslə əlaqəli şəkildə istifadə olunur. Bir sözlə, hər hansı bir sütun dəyərinin seçilmə tezliyinə aiddir. Cədvəldəki hər hansı bir sütuna müxtəlif dəyərlər daxil ediləcək. Bu sütunda müəyyən bir dəyər seçmək üçün bir sorğu atıldıqda, bu dəyərin seçilməsi sütundakı dəyərin baş vermə tezliyindən asılıdır. Yəni sütunun əsaslığından asılıdır. Başqa sözlə, kardinallıq həmin sütunda nə qədər fərqli dəyər olduğunu və bu fərqli dəyərlərdən asılı olaraq izah edir; düsturdan istifadə edərək seçim tezliyini təyin edə bilərik:

Seçicilik = Kardinallik * 100 / Sətir sayı

İndeksdən istifadə edib etməməyimizi müəyyənləşdirməkdə faydalıdır. Xüsusi sütun dəyəri üçün çox sayda məlumatı olan bir cədvəl soruşulursa, indeksdən istifadə edib etməməsi barədə qərar sütunun seçiciliyindən asılıdır. Alınacaq qeydlərin sayı satır sayına nisbətən az olduqda ümumiyyətlə indeks istifadə olunmur. Başqa sözlə, bir sütunda daha az seçicilik varsa, indeks istifadə olunmayacaq.

İŞÇİLƏR cədvəlindəki CİNS sütununu nəzərdən keçirin. Kardinalliyi ikidir və masanın 1000 sətir olduğunu söyləyin. Sonra seçicilik:

Seçicilik = 2 * 100/1000 = 0.2

Bu, nisbətən azdır və SEX sütunundakı indeks bu sütunu sorğu üçün istifadə olunmur. Bunun səbəbi, SEX üçün dəyərlərə sahib olmağın yalnız iki ehtimalı və qeydlərin 50% -nin bir dəyər, qalanlarının başqa bir dəyər qazanma ehtimalı yüksək olmasıdır. Beləliklə, indeksdən istifadə etsək, qadın və ya kişi ilə bütün cinsi əlaqəni seçmək üçün indeks cədvəlini də 500 dəfə soruşmalıyıq. Ancaq tam masa taraması etsək, daha sürətli olacaq. Beləliklə, indeksdən istifadə etmək bu halda daha çox mənbə və vaxt sərf edəcəkdir. Buna görə seçicilik az olduqda indeksdən istifadə etməmək həmişə yaxşıdır.

PHONE_NUMBER sütunu sorğu etməyimiz lazım olduğunu düşünək. Burada bütün satırların bu sütun üçün fərqli dəyərləri olacaq, çünki iki işçinin eyni telefon nömrəsi ola bilməz. Sonra seçicilik:

Seçicilik = 1000 * 100/1000 = 100

Bu çox yüksək dəyərdir. Bu vəziyyətdə indeksdən istifadə etmək çox faydalı olacaqdır.

34. Kardinallıq və Seçicilik arasındakı fərq nədir?


35. Səhifələr və bloklar arasındakı fərq nədir?

Qısaca həm səhifələr, həm də bloklar məlumatları saxlamaq üçün istifadə olunan eyni anlayışlardır. Hər ikisi də əməliyyat sistemi tərəfindən faylları oxumaq və ya yazmaq üçün istifadə olunur.

Blok, bir əməliyyat sisteminin faylda oxuya və ya yaza biləcəyi kiçik bir məlumat vahididir. Hər hansı bir sabit ölçüsü yoxdur və əməliyyat sisteminə və istifadəyə / kontekstə görə dəyişə bilər.

Bir səhifə bəzi əməliyyat sisteminin istifadə etdiyi bloklara da bənzəyir. Həm də virtual blok sayılır. Ancaq sabit ölçüsü var - ya 2K, ya da 4K.

Əməliyyat sistemlərinin əksəriyyətində səhifələr işlənməyi asanlaşdırdığı üçün istifadə olunur. Fərqli əməliyyat sistemi fərqli blok ölçülərinə sahib olacaqdır. Bu səbəbdən oxumaq və yazmaq üçün bloklardan istifadə ediriksə, əvvəlcə blok ölçüsünü təyin etməli, sonra oxuyub yaza bilərik. Ancaq səhifələrdən istifadə etsək, sabit ölçülü olduğundan oxumağı və yazmağı çox asanlaşdırır. Səhifələr oxumaq və yazmaq üçün əməliyyat sistemi ilə sürücülər arasında bir körpü rolunu oynayır və bundan sonra bloklardan istifadə edən sürücülərdə yenilənəcəkdir.

36. DUAL cədvəl nədir?

Verilənlər bazası yaradıldıqda yaratdığı standart saxta cədvəldir. Yalnız bir qeyd X ilə yalnız bir sütuna malikdir. Sütun növü VARCHAR2 (1). Bu cədvəl SYS şemasına aiddir. Bu cədvəl bəzi müvəqqəti hesablamaları saxlamaq və ya hesablamaq üçün müvəqqəti cədvəl kimi istifadə edilə bilər.

 

Crack Sistemi Dizayn Müsahibələri

Səhifələr: 1 2 3 4 5 6 7

Translate »