50 najpopularniejszych pytań i odpowiedzi podczas rozmów kwalifikacyjnych dotyczących DB2 (2025 r.)
Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych w DB2, zarówno dla nowicjuszy, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.
1) Zdefiniuj DB2.
DB2 to system zarządzania bazami danych dla systemu operacyjnego MVS, gdzie DB2 jest podsystemem systemu operacyjnego MVS.
2) Jaki jest cel użycia COMMIT?
Zmiany danych można wprowadzić na stałe za pomocą polecenia COMMIT. Umożliwia także dostęp do danych innym aplikacjom, które mogą odwoływać się do zatwierdzonych danych
Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu dotyczącego DB2
3) Wymień dostępne typy danych.
Dostępne typy danych to:
1. SMALLINT 2. INTEGER 3. FLOAT 4. DECIMAL 5. CHAR 6. VARCHAR 7. DATE 8. TIME
4) Jakie są zastosowania Optymalizatora DB2?
-
- To przetwarza SQL sprawozdania.
- Pomaga w wyborze ścieżki dostępu
5) Zdefiniuj SQLCA.
Obszar komunikacji SQL to struktura zmiennych, które są aktualizowane po każdym wykonaniu instrukcji SQL. W przypadku aplikacji zawierającej wykonywalne instrukcje SQL potrzebny jest tylko jeden ośrodek SQLCA. FORTRAN wymaga zapewnienia więcej niż jednego ośrodka SQLCA. W przypadku języka Java baza SQLCA nie ma zastosowania.
6) Zdefiniuj ograniczenie CHECK.
Jest to określone jako warunek lub kryterium zapewniające integralność danych. Wartość, która ma zostać wstawiona lub zaktualizowana do tabeli, jest testowana przez ograniczenie CHECK. Ograniczenia CHECK tworzone są podczas tworzenia tabeli.
7) Jaka jest maksymalna długość SQLCA?
136 to maksymalna długość ośrodka SQLCA.
8) Omówić kwestię powiązania DB2?
Proces budujący ścieżki dostępu do tabeli DB2 nazywany jest powiązaniem. Powiązanie wykorzystuje moduły żądań bazy danych z etapu przedkompilacji DB2 jako dane wejściowe i tworzy plan aplikacji. Sprawdza uwierzytelnienie użytkownika i sprawdza poprawność instrukcji SQL w DBRM.
9) Wymień trzy rodzaje blokad stron, które można trzymać.
-
- Ekskluzywny
- Aktualizacja
- Podziel się.
10) Zdefiniuj pulę buforów.
Pula buforów to zarezerwowana pamięć główna, która ma spełniać wymagania dotyczące buforowania dla jednego lub większej liczby obszarów tabel lub indeksów. Może składać się ze stron o wielkości 4K lub 32K.
11) Wyjaśnij funkcję Menedżera Danych.
Fizyczna baza danych jest zarządzana przez komponent DB2 o nazwie Menedżer danych. Wywołuje inne komponenty systemu w celu rejestrowania, blokowania itp.
12) Co to jest grupa magazynowa (STOGROUP)?
STOGROUP to nazwany zbiór woluminów DASD, który ma być używany przez przestrzenie indeksowe i obszary tabel bazy danych.
13) Zdefiniuj predykat?
Predykat jest elementem warunku wyszukiwania. Wyraża lub sugeruje warunek wyszukiwania.
14) Zdefiniuj generator deklaracji (DCLGEN).
Generator deklaracji to narzędzie służące do tworzenia instrukcji SQL opisujących tabelę lub widok. Na etapie poprzedzającym kompilację opisy tabel lub widoków są następnie wykorzystywane do sprawdzania ważności instrukcji SQL.
15) Wypisz pule buforów w DB2
W DB2 istnieją cztery pule buforów:
-
- BP0
- BP1
- BP2
- BP32
16) Zdefiniuj indeks skupienia.
Indeks grupujący to rodzaj indeksu, który lokalizuje wiersze tabeli i określa sposób grupowania wierszy w obszarze tabel.
17) Co to jest współbieżność?
Więcej niż jeden proces aplikacji DB2 może uzyskać dostęp do tych samych danych w tym samym czasie, co nazywa się współbieżnością. Mogą jednak wystąpić problemy, takie jak utrata dostępu aktualizacji do niepowtarzalnych odczytów i niezatwierdzonych danych.
18) Wyjaśnij funkcję wykonywaną przez menedżera danych?
Menedżera danych można uznać za komponent umożliwiający zarządzanie fizycznie obecnymi bazami danych i umożliwiający wywoływanie innych komponentów powiązanych z systemem w celu wykonywania takich funkcji, jak rejestrowanie, blokowanie i wykonywanie innych operacji we/wy.
19) Wyjaśnij o DBRM.
DBRM oznacza moduł żądania bazy danych i jest komponentem DB2, który jest tworzony przez prekompilator DB2. Jest to moduł składający się z instrukcji źródłowych SQL wyodrębnianych z aplikacji. DBRM tworzą dane wejściowe, które są pomocne w procesie wiązania.
20) Zdefiniuj stronę Dane.
Stronę danych można uznać za jednostkę zdolną do pobierania danych z bazy danych. Baza danych, z której można pobrać dane, ma postać 4 kilobajtów lub 32 kilobajtów. Forma, w jakiej pobierane są dane, zależy od sposobu zdefiniowania tabeli w bazie danych. Strona danych zawiera również informacje dotyczące katalogu lub użytkownika będącego częścią bazy danych.
21) Wyjaśnij o RCT.
RCT jest rozwijany jako Zasób – Tabela Sterująca i jest zdefiniowany w regionie DB2/CICS. Jest to komponent składający się z funkcji zbieranych za pomocą makr DSNCRCT. RCT pasuje do identyfikatora transakcji CICS, z identyfikatorem autoryzacji DB2. Należy to również dopasować do identyfikatora planu.
22) W jaki sposób można przenieść obszar tabel na inny wolumin DASD przydzielony dla tego obszaru tabel?
Przestrzeń tabel, której używasz, jest przydzielona tylko do STOGROUP, możesz wtedy wpisać polecenie ALTER STOGROUP, aby dodać lub usunąć wolumen. REORG TABLESPACE i RECOVER TABLESPACE to instrukcje pomocne w tworzeniu nowej STOGROUP, która może wskazywać nowy wolumin. ALTER obszaru tabel oraz REORG i RECOVER to instrukcje używane do zmiany i odzyskiwania obszaru tabel przydzielonego w pamięci.
23) Jakie informacje są powiązane z tabelą SYSIBM.SYSLINKS?
Jest to tabela zawierająca informacje na temat powiązań istniejących między tabelami utworzonymi poprzez ograniczenia referencyjne.
24) Wyjaśnij szczegółowo menedżera buforów i jego funkcjonalności?
Menedżera buforów można uznać za komponent programu DB2, który pomaga w przesyłaniu danych pomiędzy nośnikiem wirtualnym i zewnętrznym. Menedżer bufora zmniejsza ilość fizycznych operacji wejściowych i wyjściowych, które są faktycznie wykonywane, poprzez wykorzystanie wysoce wyrafinowanych technik buforowania.
25) Wyjaśnij kwestię stabilności kursora?
Stabilność kursora to właściwość informująca program DB2, że wartości bazy danych odczytywane przy użyciu tej aplikacji są chronione podczas korzystania z danych.
26) Podaj wiarygodny powód, dla którego opcja SELECT* nigdy nie jest preferowana w osadzonym programie SQL.
Istnieją trzy główne powody, dla których opcja SELECT* nigdy nie jest preferowana we wbudowanym programie SQL. To są: -
- W przypadku zmiany struktury tabeli program musi zostać poddany procesowi modyfikacji.
- Program pobierze wszystkie kolumny, łącznie z tymi, które mogą nie zostać wykorzystane.
- W przypadku, gdyby użytkownik chciał przeskanować indeks, nie będzie to możliwe.
27) Wyjaśnij powiązane zapytania podrzędne.
Skorelowane podzapytania to te zapytania, w których zapytanie zagnieżdżające po wewnętrznej stronie odsyła bezpośrednio z powrotem do tabeli zapytania zewnętrznego. Dla każdego kwalifikowanego wiersza konieczna jest ocena skorelowanego zapytania podrzędnego.
28) Skomentuj, czy kursor jest zamknięty podczas COMMIT, czy nie.
Tak. Kursor jest zamknięty podczas COMMIT.
29) Jaka jest procedura odzyskiwania wierszy będących częścią tabeli DB2 w osadzonej tabeli SQL?
Możesz użyć instrukcji SELECT dla pojedynczych wierszy lub alternatywnym sposobem jest użycie CURSOR.
30) Wspomnij sposób podświetlania oraz użycia KURSORA w programie COBOL.
Najlepszym sposobem wykorzystania CURSORA w programie COBOL jest użycie DECLARE CURSOR, którego można używać albo w operacji dzielenia procedur, albo w pamięci roboczej. Odbywa się to zasadniczo w celu podświetlenia instrukcji SELECT. Po użyciu opcji DECLARE CURSOR następuje OPEN, FETCH i na końcu CLOSE.
31) Jeśli po wydaniu COMMIT CURSOR pozostaje otwarty, jaka jest procedura pozostawienia CURSORA w ten sposób?
Wewnątrz opcji DECLARE CURSOR znajduje się opcja Z HOLD, która w tym przypadku się przyda. Chociaż należy zauważyć, że funkcja WITH HOLD nie ma absolutnie żadnego efektu, jeśli weźmie się ją pod uwagę w przypadku pseudokonwencjonalnych programów CICS.
32) Wyjaśnij PAKIETY.
PAKIETY to jednostki składające się z kodów wykonywalnych przeznaczonych dla instrukcji SQL dla jednego odpowiedniego DBRM.
33) Podkreśl wszystkie zalety PAKIETU.
Poniżej przedstawiono korzyści związane z PAKIETEM.
- Unikaj kosztów dużej kolekcji bindów. O wiele bardziej wskazane jest wybranie małej kolekcji niż dużej.
- Upewnij się, że nie musisz gromadzić dużej kolekcji członków DBRM dla konkretnego planu.
- W przypadku, gdy chcesz dokonać zmian w programie, a zmiany te ostatecznie doprowadzą do błędów, możesz zmniejszyć złożoność awaryjną za pomocą PAKIETU.
- Podczas procesu automatycznego wiązania i ponownego wiązania konkretnego planu upewnij się, że cała transakcja dołączona do procesu jest w trakcie trwania niedostępna.
34) Wspomnij definicję języka COBOL w polu VARCHAR.
UWAGI w kolumnie VARCHAR są następujące: –
10 REMARKS 49 REMARKS – LEN PIC S9 (4) USAGE COMP. 49 REMARKS – TEXT PIC X (1920).
35) Podaj długość fizycznego przechowywania danych typów danych DB2 –
DATA, ZNACZNIK CZASU, CZAS
DATE: PIC X (10) TIMESTAMP: PIC X (26) TIME: PIC X (08)
36) W przypadku kolumny DB2 zdefiniowanej jako DECIMAL (11, 2) omów klauzulę obrazu COBOL.
PIC S9 (9) V99 COMP – 3
W wyrażeniu DECIMAL (11, 2) tak się składa, że 2 oznacza precyzję, podczas gdy 11 oznacza rozmiar typu danych.
37) Wyjaśnij DCLGEN.
DCLGEN w zasadzie odnosi się do GENeratora deklaracji, którego głównym celem jest generowanie ksiąg w języku hosta dla tabel. Służy także do tworzenia tabeli DECLARE.
38) Wspomnij o niektórych polach wchodzących w skład SQLCA.
SQLERRM, SQLCODE, SQLERRD.
39) Wyjaśnij zawartość będącą częścią DCLGEN.
Istnieją głównie dwa składniki DCLGEN. To są: -
- Zeszyt w języku hosta, który zawiera alternatywne definicje wszystkich nazw kolumn.
- Jeśli chodzi o typy danych DB2, EXEC SQL DECLARE TABLE pokazuje estetyczny układ tabeli.
40) Skomentuj, czy DCLGEN jest obowiązkowe. Jeśli nie, to jaki jest sens jego stosowania?
Uruchomienie DCLGEN nie jest dokładnie obowiązkowe. Podstawowe użycie DCLGEN ma miejsce w fazie przedkompilacyjnej, gdzie pomaga w wykryciu błędnie napisanych nazw kolumn. Ponieważ DCLGEN jest tylko narzędziem, wygeneruje jedynie definicje zmiennych dla hosta i zmniejszy ryzyko błędów.
41) Czy w przypadku, gdy w pewnym momencie DB2 przestanie działać, czy będzie to miało wpływ na proces wstępnej kompilacji programu DB2-COBOL?
Nawet jeśli w pewnym momencie DB2 przestanie działać, nie będzie to miało wpływu na proces prekompilacji programu DB2-COBOL. Powodem tego jest to, że prekompilator nigdy nie odwołuje się do tabel katalogów DB2.
42) Jaki jest najszybszy sposób obliczenia całkowitej liczby zaktualizowanych wierszy po instrukcji aktualizacji DB2?
Wszystko, co musisz zrobić, to sprawdzić wartość, która została zapisana w SQLERRD (3).
43) Co oznacza WYJAŚNIJ?
EXPLAIN jest zasadniczo używany do pokazania ścieżki dostępu optymalizatora, w zasadzie dla instrukcji SQL. Co więcej, EXPLAIN można również zastosować w SPUFI lub nawet w kroku BIND.
44) Zanim wydasz polecenie EXPLAIN, jakie masz uprawnienia?
Przed podaniem instrukcji EXPLAIN musimy się upewnić, że w obszarze AUTHID została już utworzona PLAN_TABLE.
45) Wspomnij lokalizację, w której przechowywane są dane wyjściowe otrzymane z instrukcji EXPLAIN.
Dane wyjściowe EXPLAIN są przechowywane w userid.PLAN_TABLE
46) Wyniki EXPLAIN mają wartość MATCHCOLS = 0. Co to oznacza?
Oznacza to niepasujący skan indeksu, pod warunkiem, że ACCESSTYPE = I
47) Wymień różne blokady dostępne w DB2.
WYŁĄCZNIE, UDOSTĘPNIJ i AKTUALIZUJ
48) Co to jest ZWOLNIENIE/NABYCIE w BIND?
W pewnym momencie programu DB2 nabywa lub być może zwalnia blokady blokujące tabele i obszary tabel. Należą do nich blokady intencji.
49) Wymień różne poziomy blokowania dostępne w DB2.
TABLE, STRONA i TABLESPACE
50) Wspomnij o wadach blokady poziomu PAGE.
W przypadku konieczności wykonania dużych aktualizacji wykorzystanie zasobów jest odpowiednio wysokie.
Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)
Gdybym tylko pamiętał te wszystkie pytania podczas rozmowy kwalifikacyjnej…