SQL-də sorğu əlavə edin

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.

Qeydlərin necə yerləşdiriləcəyini və cədvəllərdən necə seçiləcəyini görmək üçün eyni kitabxana verilənlər bazasını nəzərdən keçirək.

Kitabxana verilənlər bazasındakı bütün cədvəllər indi məhdudiyyətlər və xəritələrlədir. Buna görə də qeydləri sadəcə onlara daxil edə bilmərik. Qeydləri valideynə daxil etməliyik masaları əvvəl, sonra uşaq masalarına. Bunun səbəbi istinad bütövlüyüdür. Bu o deməkdir ki, hər hansı bir cədvəldə xarici açar varsa, əvvəlcə xarici açarın əldə edildiyi cədvəl yüklənməlidir. Məsələn, AUTHOR və BOOK_AUTHOR cədvəlləri arasında AUTHOR ana cədvəl, BOOK_AUTHOR isə uşaq cədvəlidir - çünki BOOK_AUTHOR -da AUTHOR cədvəlindən alınan sütunlar var. Buna görə əvvəlcə AUTHOR cədvəlinə məlumat daxil etməliyik.

Əvvəlcə aşağıdakı kimi ana və uşaq cədvəllərini sadalayaq.

Əvvəlcə əlavə skriptlərindən istifadə edərək ana cədvəlləri doldurmalıyıq. Müəllifdən başlayaq.

YAZARIN DƏYƏRLƏRİNƏ GİRİN ('GVP_012', 'GERALD V POST', 'PO BOX No 12, Delhi');

Bu insert ifadəsi qeydləri AUTHOR cədvəlinə daxil edir. Burada cədvəldəki sütunların sırasını sadalamamışıq. Əlavə ifadələrindəki dəyərlər artıq müvafiq olaraq birinci, ikinci və üçüncü sütunlara daxil edilir. Sütunların və ya dəyərlərin sırasını dəyişdirməyimiz lazım olsa, aşağıdakı ifadələr daxilində sütun siyahısını göstərməliyik:

INSERT INTO AUTHOR (AUTHOR_ID, ADDRESS, AUTHOR_NAME)
    VALUES ('GVP_012', 'PO BOX No 12, Delhi', 'GERALD V POST');

Artıq sütunun sırası cədvəldə göstəriləndən fərqli olduğundan, daxiletmə ifadəsində sütun siyahısını göstərdik və onlar üçün dəyərlər sütun siyahısı ilə eyni qaydada daxil edilir.

Növbəti ana cədvəl qeydini əlavə edək - YAYINCI, KATEGORİ, BORCU. Bu cədvəllər ana cədvəl olduğundan qeydləri heç bir yoxlama olmadan daxil edə bilərik. Yalnız məlumat tiplərini və sütun ölçüsünü təmin etmək üçün qayğı göstərilməlidir.

Nəşriyyat dəyərlərinə əlavə edin ('TTMH_2324', 'Tata McGraw Hill', 'Delhi');

KATEGORİ DƏYƏRLƏRİNƏ VERİN ('DBMS_1000', 'Database');

 

KREDİCİNİN DƏYƏRLƏRİNƏ KEÇİRİN ('RBT_1000', 'Robert', 'POX BOX No 34 Delhi', 9880988067);

 

Ekran görüntüləri qeydlərin müvafiq cədvəllərə daxil edildikdən sonra necə göründüyünü göstərir. İndi bütün ana cədvəllər məlumatlarla əlavə olunur. Uşaq cədvəl məlumatlarını BOOKS cədvəlindən daxil etməyə başlayaq.

KİTAB DƏYƏRLƏRİNƏ KEÇİRİN ('70608451', 'Verilənlər Bazası İdarəetmə Sistemləri', 'TTMH_2324', 800);

 

Burada yenə də sütun siyahıları göstərilməyib, lakin dəyərlər cədvəldə göründükləri sırada yerləşdirilir. PUBLISHER_ID xarici açar sütundur. Beləliklə, bu sütun üçün dəyər PUBLISHER cədvəlinə əvvəlcədən daxil edilmiş dəyərdən əldə edilir. PUBLISHER cədvəlindəki dəyərdən başqa bir başqa dəyər əlavə etməyə çalışsaq, aşağıdakı kimi bütövlük səhvini verəcəkdir. Daxil edərkən xarici açar və ya referans bütövlüyü xətası deyilmir, lakin aşağıdakı kimi göstərilir. Ancaq xarici açar sütunu üçün səhv dəyər vermə məsələsidir.

Digər uşaq cədvəllərinə qeydlər əlavə edək:

KİTAB_YAZARININ DƏYƏRLƏRİNƏ GİRİN ('GVP_012', '70608451');

 

KİTAB_KATEGORİYASI DƏYƏRLƏRİNƏ GİRİN ('70608451', 'DBMS_1000');

 

BOOK_COPY DEĞERLERİNƏ GİRİN ('70608451', '1', TO_DATE ('1-Jan-2014', 'DD-MON-YY'));

 

BOOK_LOAN DƏĞƏRLƏRİNƏ GİRİN ('RBT_1000', '70608451', 2, TO_DATE ('1-May-15', 'DD-MON-YY'), TO_DATE ('11 -May-15 ′, 'DD-MON-YY '));

 

İndi bütün cədvəllər hər birinə bir qeyd qoyulur və cədvəldəki bütün qeydlər bir-birinə aiddir. Eynilə, bütün cədvəllərə daha bir neçə qeyd əlavə edək.

Crack Sistemi Dizayn Müsahibələri
Translate »