Spis treści[Ukryć][Pokazać]
- 1. Co rozumiesz przez bazę danych?
- 2. Co masz na myśli przez DBMS?
- 3. Wyjaśnij różne języki DBMS.
- 4. Wymień kilka zalet DBMS?
- 5. Wspomnij o wadach konwencjonalnych systemów opartych na plikach, które mają nad nimi DBMS.
- 6. Co rozumiesz przez właściwości ACID w DBMS?
- 7. Jaką rolę pełni SQL w DBMS?
- 8. Czy spacja lub zero liczą się jako wartości NULL w bazach danych?
- 9. Czym dokładnie jest hurtownia danych?
- 10. Co oznacza punkt kontrolny DBMS?
- 11. Opisz różne warstwy abstrakcji danych DBMS.
- 12. Co oznacza dla Ciebie „optymalizacja zapytań”?
- 13. Modelowanie relacji encji: co to jest?
- 14. Co oznaczają wyrażenia „jednostka”, „typ encji” i „zestaw encji” w systemie zarządzania bazą danych?
- 15. Czym są połączenia i jakie rodzaje relacji występują w DBMS?
- 16. Czym dokładnie jest RDBMS?
- 17. Co oznaczają terminy „intencja” i „rozszerzenie” w bazie danych?
- 18. Na czym polega wiele metod normalizacji i co oznacza termin „normalizacja”?
- 19. Opisz zamek. Należy wyjaśnić główne rozróżnienie między blokadą współdzieloną a blokadą na wyłączność podczas transakcji w bazie danych.
- 20. Co oznaczają terminy „normalizacja” i „denormalizacja”?
- 21. Omów partycjonowanie bazy danych i jego znaczenie.
- 22. Co oznaczają dla Ciebie terminy „proaktywna”, „wsteczna” i „jednoczesna aktualizacja”?
- 23. Co oznacza dla ciebie termin „kursor”? Opisz wiele rodzajów kursorów.
- 24. Opisz różnice pomiędzy sieciowym a hierarchicznym modelem baz danych.
- 25. Opisz MongoDB.
- 26. Opisz różnice między 2-warstwowym i 3-warstwowym systemem DBMS.
- 27. Co oznacza w bazie danych termin „haszowanie”?
- 28. Jaką rolę pełni administrator bazy danych w DBMS?
- Wnioski
Dane można znaleźć w dowolnym miejscu na świecie! Na dzisiejszym rynku każdego dnia wytwarzanych jest ponad 2.5 tryliona bajtów danych.
Istotne jest, abyśmy wszyscy analizowali te dane i dostarczali wymagane wyniki za pomocą systemów zarządzania bazami danych (DBMS). Z drugiej strony posiadanie wiedzy na temat DBMS umożliwia pracę jako administrator bazy danych.
Biorąc pod uwagę, że czytasz ten post o pytaniach do rozmowy kwalifikacyjnej DBMS, zakładam, że już znasz te szczegóły. Każdy zawód w analityce danych musi zaczynać się od solidnego zrozumienia systemów zarządzania bazami danych (DBMS).
Budowanie efektywnych systemów baz danych wymaga umiejętności organizowania, oceny, przeglądania i rozumienia ogromnych ilości danych.
Oto kilka pytań do rozmowy kwalifikacyjnej DBMS, które pomogą Ci odnieść sukces na następnej rozmowie kwalifikacyjnej i znaleźć stanowisko, o którym marzyłeś, niezależnie od tego, czy już rozpocząłeś karierę w analityce danych, czy dopiero zaczynasz.
Najpopularniejsze pytania podczas rozmowy kwalifikacyjnej DBMS zostały zebrane na liście dla Twojej korzyści, aby pomóc Ci usprawnić rozmowę i wzmocnić zrozumienie tematu.
1. Co rozumiesz przez bazę danych?
Baza danych to logicznie ustrukturyzowany zbiór danych, który można z łatwością aktualizować, uzyskiwać dostęp i konserwować. Wszystko wygenerowane za pomocą polecenia create jest obiektem bazy danych, a bazy danych często zawierają kolekcje tabel lub obiektów, które mają wpisy i pola.
Pojedynczy wpis w tabeli jest reprezentowany przez krotkę lub wiersz. Podstawowymi elementami przechowywania danych, które dostarczają szczegółowych informacji na temat konkretnego aspektu tabeli, są atrybuty lub kolumny.
DBMS pobiera dane z bazy danych za pomocą zapytań dostarczonych przez użytkownika.
2. Co masz na myśli przez DBMS?
DBMS to programy, które pomagają w tworzeniu i zarządzaniu logicznie połączonymi danymi.
Innymi słowy, system zarządzania bazą danych (DBMS) daje nam interfejs lub narzędzie do wykonywania różnych operacji, w tym budowania bazy danych, dodawania do niej danych, usuwania ich, zmiany danych i tak dalej.
Oprogramowanie zwane systemem zarządzania bazami danych (DBMS) umożliwia przechowywanie danych w bezpieczniejszy sposób niż system oparty na plikach.
3. Wyjaśnij różne języki DBMS.
Oto niektóre z języków używanych przez DBMS:
- DDL (język definicji danych): zawarte są w nim instrukcje potrzebne do zdefiniowania bazy danych. CREATE, ALTER, DROP, TRUNCATE, RENAME itp. to tylko kilka przykładów.
- DML (język manipulacji danymi): Zawiera polecenia potrzebne do pracy z danymi w bazie danych. Przykłady obejmują SELECT, UPDATE, INSERT, DELETE itp.
- DCL (język kontroli danych): zawiera polecenia niezbędne do obsługi uprawnień użytkownika i kontroli systemu bazy danych. Na przykład GRANT i REVOKE.
- TCL (język kontroli transakcji): Zawiera polecenia, których należy używać do zarządzania transakcjami bazy danych. Na przykład ZATWIERDZ, WYCOFUJ i ZAPISZ.
4. Wymień kilka zalet DBMS?
- Możliwa jest jednoczesna wymiana danych z tej samej bazy danych przez wielu użytkowników. Co więcej, ten rodzaj współdzielenia umożliwia użytkownikom szybkie reagowanie na zmiany w środowisku bazy danych.
- Istnieje możliwość jednoczesnego przeglądania danych z tej samej bazy danych przez wielu użytkowników.
- ogranicza duplikację w bazie danych, wprowadzając system, który ujednolica wszystkie dane w jednej bazie danych.
- W razie potrzeby dane w bazie danych można przywrócić, a kopia zapasowa danych może zostać zaprogramowana do automatycznego tworzenia.
- Umożliwia modyfikowanie formatu danych przy zachowaniu składu wszystkich uruchomionych procesów aplikacji.
5. Wspomnij o wadach konwencjonalnych systemów opartych na plikach, które mają nad nimi DBMS.
Jesteśmy zmuszeni skanować każdą stronę w typowym systemie plikowym, ponieważ nie ma indeksowania, co sprawia, że dostęp do treści jest czasochłonny i powolny.
Nadmiarowość i niespójność to inne problemy, ponieważ pliki często zawierają nadmiarowe i zduplikowane dane, a zmiana jednego z nich powoduje, że wszystkie są niespójne.
Dostęp do danych jest trudniejszy w przypadku tradycyjnych systemów opartych na plikach, ponieważ dane są zdezorganizowane. Kolejną wadą jest brak kontroli współbieżności, która uniemożliwia jednoczesne działanie wielu operacji na tym samym pliku, a zamiast tego wymusza zablokowanie całej strony za pomocą jednej akcji.
Systemy zarządzania bazami danych rozwiązały również problemy z tradycyjnymi systemami opartymi na plikach, w tym sprawdzanie integralności, separację danych, atomowość, bezpieczeństwo i wiele innych.
6. Co rozumiesz przez właściwości ACID w DBMS?
Podstawowe wytyczne, których należy przestrzegać, aby zachować integralność danych, to charakterystyka ACID systemu zarządzania bazą danych. Oto czym one są:
- Atomowość – Nazywana również zasadą „wszystko albo nic”, atomowość utrzymuje, że każda ocena pojedynczej jednostki jest przeprowadzana w całości lub wcale.
- Spójność: ta właściwość pokazuje, że dane w bazie danych są stałe zarówno przed, jak i po każdej transakcji.
- Izolacja — ta właściwość określa, że wiele transakcji może odbywać się w tym samym czasie.
- Trwałość — ta właściwość zapewnia, że każda transakcja jest rejestrowana w pamięci nieulotnej po zakończeniu.
7. Jaką rolę pełni SQL w DBMS?
SQL oznacza Structured Query Language, a jego główną funkcją jest interakcja z relacyjnymi bazami danych poprzez wprowadzanie i aktualizowanie/modyfikowanie danych.
8. Czy spacja lub zero liczą się jako wartości NULL w bazach danych?
Nie, wartość NULL różni się od zera i pustej spacji, ponieważ oznacza wartość przypisaną, niepoznawalną, niedostępną lub nieistotną, w przeciwieństwie do pustej przestrzeni i zera, z których każda reprezentuje znak.
9. Czym dokładnie jest hurtownia danych?
Hurtownia danych to proces gromadzenia, wydobywania, przetwarzania i importowania danych z kilku źródeł w celu przechowywania ich w jednej bazie danych.
Hurtownię danych można traktować jako centralne repozytorium, w którym dane są wykorzystywane do analizy danych i przepływów z systemów transakcyjnych i innych relacyjnych baz danych.
A hurtownia danych zawiera szereg danych historycznych z organizacji, które są wykorzystywane do usprawnienia podejmowania decyzji w firmie.
10. Co oznacza punkt kontrolny DBMS?
Metoda Checkpoint usuwa wszystkie poprzednie logi z systemu i trwale zapisuje je na urządzeniu magazynującym.
Dwie techniki, które mogą pomóc systemowi DBMS w odzyskaniu i zachowaniu jakości ACID, obejmują zachowywanie stron w tle i prowadzenie dziennika każdej transakcji. Punkty kontrolne są ważne dla mechanizmu odzyskiwania opartego na dzienniku.
Rekord dziennika transakcji może służyć do odzyskiwania wszystkich zatwierdzonych danych do czasu awarii z punktów kontrolnych, które są minimalnymi punktami, z których silnik bazy danych może odzyskać po awarii.
11. Opisz różne warstwy abstrakcji danych DBMS.
Abstrakcja danych polega na ukrywaniu nieistotnych informacji przed użytkownikiem w celu promowania bardziej płynnej interakcji. Istnieją trzy warstwy abstrakcji:
- Poziom fizyczny: najmniejszy poziom abstrakcji opisuje fizyczne przechowywanie danych w pamięci. W celu uzyskania dostępu do danych można stosować zarówno metody dostępu sekwencyjnego, jak i losowego. Do uporządkowania plików używane są drzewa B+ i techniki haszowania.
- Poziom logiczny: Poziom, na którym dane są przechowywane w formie tabel. Dodatkowo podstawowe struktury służą do przechowywania połączeń między różnymi elementami.
- Poziom widoku: jest to najwyższy poziom abstrakcji. Tylko część rzeczywistej bazy danych, reprezentowana przez wiersze i kolumny, jest dostępna dla użytkowników. Można sobie wyobrazić wiele widoków tej samej bazy danych. Użytkownicy nie są informowani o szczegółach przechowywania i implementacji.
12. Co oznacza dla Ciebie „optymalizacja zapytań”?
Krok optymalizacji zapytania znajduje strategię oceny o najniższym przewidywanym koszcie. Ta faza staje się istotna, gdy dostępnych jest kilka algorytmów i technik do rozwiązania tego samego problemu.
Oto niektóre korzyści z optymalizacji zapytań:
- Dane wyjściowe są dostarczane szybciej
- Zmniejsza złożoność czasu i przestrzeń
- Więcej zapytań można przetworzyć w krótszym czasie.
13. Modelowanie relacji encji: co to jest?
Ta metoda projektowania bazy danych wykorzystuje diagramy do przedstawiania rzeczywistych elementów w świecie rzeczywistym jako jednostek i przedstawiania ich relacji. Ta metoda ułatwia zespołowi DBA zrozumienie schematu.
14. Co oznaczają wyrażenia „jednostka”, „typ encji” i „zestaw encji” w systemie zarządzania bazą danych?
Jednostka: przedmiot ze świata rzeczywistego jest uważany za jednostkę, jeśli ma właściwości odpowiadające jego określonym atrybutom. Na przykład uczeń, pracownik lub nauczyciel symbolizuje jednostkę.
Typ jednostki: typ jednostki jest opisywany jako grupa jednostek o podobnych cechach. Typ jednostki jest reprezentowany przez co najmniej jedną tabelę połączoną w bazie danych. Można myśleć o typie lub atrybutach jednostki jako o cesze, która konkretnie identyfikuje jednostkę. Na przykład uczeń symbolizuje przedmiot o cechach takich jak identyfikator ucznia, imię ucznia itp.
Zestaw encji: Wszystkie encje w bazie danych, które należą do określonego typu encji, są zbierane razem jako zestaw encji. Na przykład zestaw encji to zbiór wszystkich uczniów, członków personelu, nauczycieli i tak dalej.
15. Czym są połączenia i jakie rodzaje relacji występują w DBMS?
W DBMS relacja to sytuacja, w której dwa podmioty są ze sobą połączone. W takim przypadku tabela kluczy obcych ma odniesienie do klucza podstawowego drugiej tabeli.
Poniższa lista zawiera wiele typów relacji występujących w DBMS:
- Relacja jeden-do-jednego: ten termin jest używany do opisania relacji między jednym wierszem w tabeli A a jednym wierszem w tabeli B.
- Relacja jeden-do-wielu: używana, gdy istnieje relacja między jednym wierszem w tabeli A a wieloma wierszami w tabeli B.
- Relacja wiele-do-wielu — używana, gdy duża liczba wierszy w tabeli A może być połączona z dużą liczbą wierszy w tabeli B.
- Relacja odwołująca się do siebie — używana, gdy rekord w tabeli A jest połączony z innym rekordem w tej samej tabeli.
16. Czym dokładnie jest RDBMS?
RDBMS, czyli systemy zarządzania relacyjnymi bazami danych, to skrót od tych systemów. Służy do śledzenia indeksów tabel i rekordów danych.
RDBMS są podzbiorem systemów zarządzania bazami danych, które wykorzystują strukturę do lokalizowania i pobierania informacji o innych obiektach bazy danych. System zarządzania relacyjną bazą danych (RDBMS) ułatwia aktualizowanie, wstawianie, usuwanie, edytowanie i zarządzanie relacyjną bazą danych.
W większości przypadków RDBMS używa języka SQL, ponieważ jest on przyjazny dla użytkownika i regularnie używany.
17. Co oznaczają terminy „intencja” i „rozszerzenie” w bazie danych?
Główne rozróżnienie między intencją a rozszerzeniem w bazie danych jest następujące:
Intencja: Intencja, czasami nazywana schematem bazy danych, jest używana do opisu opisu bazy danych. Jest on ustalany w trakcie budowy bazy danych iw większości się nie zmienia.
Rozszerzenie: Z drugiej strony rozszerzenie jest miarą całkowitej liczby krotek w bazie danych w dowolnym momencie. Gdy krotki są tworzone, modyfikowane lub usuwane w bazie danych, rozszerzenie, znane również jako migawka bazy danych, stale zmienia wartość.
18. Na czym polega wiele metod normalizacji i co oznacza termin „normalizacja”?
Normalizacja to proces strukturyzacji danych w celu zapobiegania duplikacji i redundancji danych. Kilka etapów normalizacji następuje po sobie i określa się je jako formy normalne. Następujące typowe formy są od siebie zależne.
Pierwsze trzy normalne formy są następujące.
NF-1, czyli pierwsza postać normalna, wiersze bez powtarzających się grupowań
2NF oznacza drugą formę normalną. Każda wartość kolumny pomocniczej (nie będącej kluczem) zależy od całego klucza głównego.
Three-Normal-Form (3NF) jest zależny tylko od klucza podstawowego i nie zależy od żadnych innych wartości kolumn pomocniczych (nie będących kluczem).
Oprócz nich masz również wyższe normalne formy, takie jak BCNF.
BNCF – Bardziej wyrafinowany i wymagający wariant 3NF jest określany jako 3.5NF. Tabela powinna być w 3NF i przestrzegać zasady BCNF, że A powinien być super kluczem tabeli dla każdej zależności funkcjonalnej A -> B.
19. Opisz zamek. Należy wyjaśnić główne rozróżnienie między blokadą współdzieloną a blokadą na wyłączność podczas transakcji w bazie danych.
Blokada bazy danych to środek bezpieczeństwa, który uniemożliwia dwóm lub większej liczbie użytkowników bazy danych jednoczesne aktualizowanie współużytkowanego fragmentu danych.
Żaden inny użytkownik lub sesja bazy danych nie może edytować danych, dopóki blokada nie zostanie zwolniona w określonej bazie danych, gdy pojedynczy użytkownik lub sesja bazy danych uzyska blokadę.
Blokada współdzielona: Odczyt elementu danych wymaga blokady współdzielonej, a wiele transakcji może blokować ten sam element danych pod blokadą współdzieloną. Elementy danych we wspólnej blokadzie mogą być odczytywane przez wiele transakcji.
Blokada na wyłączność: każda transakcja mająca na celu przeprowadzenie operacji zapisu ma blokadę, zwaną blokadą na wyłączność. Ta forma blokady zabrania wielu transakcji, zapobiegając rozbieżnościom w bazie danych.
20. Co oznaczają terminy „normalizacja” i „denormalizacja”?
Proces normalizacji obejmuje rozbicie danych na wiele tabel w celu zmniejszenia nadmiarowości. Normalizacja powoduje większe wykorzystanie miejsca na dysku i ułatwia zachowanie integralności bazy danych.
Denormalizacja jest przeciwieństwem normalizacji, ponieważ łączy znormalizowane tabele w jedną tabelę, aby przyspieszyć pobieranie danych. Odwracając normalizację, operacja JOIN umożliwia nam wytworzenie zdenormalizowanej reprezentacji danych.
21. Omów partycjonowanie bazy danych i jego znaczenie.
Logiczna baza danych jest dzielona na oddzielne, samodzielne jednostki w procesie partycjonowania danych, co poprawia dostępność, wydajność i łatwość zarządzania.
Oto kilka powodów, dla których partycjonowanie bazy danych jest ważne:
- Zwiększa wydajność zapytań
- Umożliwia dostęp do znacznych części określonej partycji
- Dane mogą być przechowywane na powolnym, niedrogim magazynie.
22. Co oznaczają dla Ciebie terminy „proaktywna”, „wsteczna” i „jednoczesna aktualizacja”?
Aktualizacja proaktywna: Zanim baza danych zacznie obowiązywać w rzeczywistym świecie, wprowadzane są w niej te zmiany.
Aktualizacja z mocą wsteczną: Po uruchomieniu bazy danych w świecie rzeczywistym dokonywane są w niej modyfikacje z mocą wsteczną.
Aktualizacja symultaniczna: Te modyfikacje są wprowadzane do bazy danych dokładnie w tym samym momencie, w którym zaczynają obowiązywać w rzeczywistym świecie.
23. Co oznacza dla ciebie termin „kursor”? Opisz wiele rodzajów kursorów.
Kursor to obiekt bazy danych, który ułatwia manipulowanie danymi wiersz po wierszu i reprezentuje zestaw wyników.
Oto kilka rodzajów kursorów:
- Kursor niejawny: Ten rodzaj kursora jest deklarowany natychmiast po wykonaniu SQL. W tym przypadku użytkownik nie jest informowany o deklaracji kursora.
- Wyraźny kursor: Ponieważ przetwarza zapytanie w kilku wierszach, ten rodzaj kursora jest opisany przez PL/SQL.
24. Opisz różnice pomiędzy sieciowym a hierarchicznym modelem baz danych.
Dane są uporządkowane w węzły przypominające drzewo w hierarchicznym paradygmacie bazy danych. Do węzła może być dołączony tylko jeden węzeł nadrzędny.
W rezultacie dane tego modelu mają połączenie jeden-do-wielu. Doskonałym przykładem tego modelu jest podejście Document Object Approach (DOM), które jest często wykorzystywane w przeglądarkach internetowych.
Ulepszonym wariantem modelu hierarchicznego jest model sieciowej bazy danych. W tym przypadku dane są ułożone podobnie do drzewa. Jednak jeden węzeł podrzędny może być połączony z kilkoma węzłami nadrzędnymi.
W rezultacie między węzłami danych powstaje połączenie wiele-do-wielu. Sieciowe bazy danych obejmują Zintegrowany Magazyn Danych (IDS) oraz IDMS (Zintegrowany System Zarządzania Bazą Danych).
25. Opisz MongoDB.
MongoDB to otwarta, nierelacyjna, nieustrukturyzowana baza danych. Twoje dane są przechowywane w zbiorach składających się z pojedynczych dokumentów w naszej bazie danych zorientowanej na dokumenty.
Dokument w MongoDB to duży obiekt JSON bez określonej struktury ani składni. Dokumenty JSON są reprezentowane przez MongoDB w formacie zakodowanym binarnie o nazwie BSON.
26. Opisz różnice między 2-warstwowym i 3-warstwowym systemem DBMS.
Termin „architektura dwuwarstwowa” odnosi się do architektury klient-serwer, w której aplikacje działające na klientach wchodzą w bezpośrednią interakcję z bazami danych uruchomionymi na serwerach bez użycia oprogramowania pośredniczącego.
Trójwarstwowa konstrukcja obejmuje dodatkową warstwę między klientem a serwerem, aby zaoferować użytkownikom graficzny interfejs użytkownika i uczynić system bezpieczniejszym i bardziej dostępnym. W tej formie projektowania aplikacja po stronie klienta wchodzi w interakcję z aplikacją po stronie serwera, która następnie komunikuje się z systemem bazy danych.
27. Co oznacza w bazie danych termin „haszowanie”?
Ciąg znaków jest haszowany do klucza lub wartości, która reprezentuje oryginalny ciąg, ale często ma mniejszą długość. Ponieważ znalezienie elementu przy użyciu krótszego klucza haszowanego niż oryginalna wartość jest szybsze, haszowanie jest używane do indeksowania i pobierania obiektów w bazach danych.
28. Jaką rolę pełni administrator bazy danych w DBMS?
Administrator bazy danych (DBA) pełni w DBMS następujące kluczowe role:
- Konfigurowanie i instalowanie baz danych
- Migracja danych
- Ocena wydajności
- Planowanie i wdrażanie środków bezpieczeństwa
- Odzyskiwanie i przechowywanie danych
- Rozwiązywanie problemów
Wnioski
Zbiór pytań i odpowiedzi na rozmowę kwalifikacyjną DBMS został dostarczony jako punkt odniesienia, aby potencjalni kandydaci mogli szybko i łatwo zrozumieć te pytania.
Podsumowując, przeanalizowaliśmy najczęściej zadawane pytania do wywiadów DBMS, które są często zadawane w organizacjach.
Dodaj komentarz