V tomto článku bych rád pohovořil o jedné ze základních certifikací od Oracle – Oracle Database SQL Certified Expert. Tato certifikace je bohužel v poslední době nedostupná, ale přesto může být tento článek užitečný pro přípravu na další certifikace a zkoušky od společnosti Oracle. Přeji dobré čtení všem, kteří chtějí vědět, jaké otázky a triky je mohou čekat, a chtějí být napřed.
Abych získal certifikát, musel jsem složit zkoušku 1Z0-047 .
S předstihem mohu říci, že zkouška byla obtížná a obsahovala spoustu skrytých triků a překvapení. Z následujících 50 položek se dozvíte, jak překonat záludné otázky a jaké znalosti jsou nutné pro úspěšné složení zkoušky 1Z0-047.
Takže, začněme!
- SQL je deklarativní programovací jazyk, který popisuje který musí být proveden výpočet, nikoli jak. Jak je to s imperativními jazyky.
- Když budete požádáni o vyhodnocení schématu nebo tabulky, neztrácejte čas jejich podrobným zkoumáním. Nejprve prozkoumejte celou otázku. Možná nebudete potřebovat ani tabulku, ani schéma, ani výraz SQL.
- Maximální rozměr NUMBER typ je 38 znaků.
- Výchozí maska data je DD-MON-YY . Ačkoli jsou viditelné pouze poslední dvě číslice, ve výchozím nastavení jsou uloženy všechny čtyři.
- Nejrozšířenější formou transakčních DB je 3NF.
- ZAHRANIČNÍ KLÍČ lze propojit nejen s PRIMÁRNÍM KLÍČEM . Jedinou podmínkou je, že toto pole musí být UNIQUE .
- Maximální rozměr VARCHAR2 , NVARCHAR2 a RAW je:
- 32767 bajtů, pokud MAX_STRING_SIZE =EXTENDED
- 4000 bajtů, pokud MAX_STRING_SIZE =STANDARD
- Platný rozsah pro DATE je 1. leden 4712 př. n. l. – 31. prosinec 9999.
- Rozměr ve zlomcích sekund pro TIMESTAMP (všech druhů) může být od 0 do 9. Výchozí hodnota je 6.
- Obecně se v rámci zkoušky berou v úvahu následující výroky:
- 5 DML příkazy:SELECT, INSERT, UPDATE, DELETE, MERGE
- 8 DDL příkazy:CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT, FLASHBACK, PURGE
- 2 DCL prohlášení:GRANT, REVOKE
- 3 TCL příkazy:COMMIT, ROLLBACK, SAVEPOINT
- KDE vždy vrátí FALSE , pokud existuje NULL v seznamu hodnot pro NOT IN klíčové slovo. Buďte opatrní!
- Počet spojení =počet stolů ve spojeních – 1.
- Použití názvu tabulky nebo aliasů v USING je zakázáno!
- SELECT implementuje následující základní koncepce:PROJEKCE, VÝBĚR, SPOJOVÁNÍ .
- Interpunkce mysli. Autoři testu možná udělali v kódu úmyslné chyby!
- Jakékoli aritmetické operace s NULL vždy vrátí NULL .
- Předpoklad, že výsledek aritmetické operace s daty bude typu datum, je chybný. Zpravidla se jedná o INTERVAL nebo NUMBER typu.
- DISTINCT lze použít s jakoukoli agregační funkcí.
- Posloupnost provádění příkazů ve standardním dotazu:
- OD
- KDE
- GROUP BY
- MÍT
- VYBRAT
- OBJEDNAT PODLE
- Neexistuje žádná DROP TABLE privilegium. K dispozici je DROP JAKÉKOLI TABULKY .
- Chcete-li udělit oprávnění všem uživatelům, udělte je VEŘEJNÉM .
- INDEX es a OMEZENÍ s mají svůj vlastní jmenný prostor.
- Agregační funkce jsou zakázány v WHERE blokovat.
- Skupinu GROUP BY lze použít bez HAVING , ale MÍT lze použít pouze s GROUP BY .
- OMEZENÍ z NOT NULL typ nelze vytvořit nad rámec popisu pole při vytváření tabulky. Lze jej vytvořit pouze s popisem pole.
- Při nastavování parametrů pro Všechny MONTHS_BETWEEN() funkce, je povoleno zadat nejprve menší datum a poté větší. V tomto případě bude výsledek negativní.
- DATUM typ nemůže ukládat funkční sekundy a časová pásma.
- S ROLLUP lze použít jakoukoli agregační funkci .
- Agregační funkce nepodporují více než dvě úrovně vnoření.
- Položka ORDER BY sloupec lze odkazovat následujícími třemi způsoby:
- Podle názvu sloupce.
- Podle svého aliasu.
- Pořadovým číslem.
- PŘÍRODNÍ + POUŽÍVÁNÍ nebo NATURAL + ON nemůže existovat v jednom dotazu. Zobrazí se chyba.
- Položka OD sekce může obsahovat neomezený počet vnořených poddotazů, ale maximální počet vnořených poddotazů pro WHERE sekce je 255.
- Existují 3 druhy dílčích dotazů: JEDNORÁZOVÝ , VÍCE ŘÁDKŮ a KORELAČNÍ .
- Počítání znaků v řádku začíná 1, nikoli 0.
- Jediný SET OPERÁTOR operátor, který neřadí řádky, je UNION ALL .
- Transakce je násilně uzavřena v následujících případech:
- Uživatel vydal COMMIT nebo DCL ROLLBACK příkaz samostatně.
- Uživatel vydal jakékoli DDL nebo DCL příkaz.
- Platnost uživatelské relace vypršela.
- ORACLE se zlomil (nedej bože)).
- Nejvhodnější pole pro indexování jsou:
- Pole cizího klíče
- Pole, která se často používají v WHERE , GROUP BY a OBJEDNAT PODLE .
- Neexistuje žádný BOOLEAN zadejte ORACLE SQL .
- Přesvědčení, že POČET(1) je rychlejší než COUNT(*) je jen mýtus.
- Neexistuje způsob, jak změnit časové pásmo databáze, pokud existuje alespoň jedna tabulka s polem TIMESTAMP WITH LOCAL TIME ZONE typu.
- Funkce může přijímat od 0 do mnoha parametrů. Ale vždy vrátí 1 hodnotu.
- POČET nikdy nebude možné vrátit NULL . Pokud nebudou žádné řádky, spustí se znovu 0.
- VYBERTE POČET (VŠECHNY DUMMY) Z DUÁLNÍHO je syntakticky správný dotaz.
- SEMIJOIN je dotaz s EXISTUJE doložka.
- Pokud NEXTVAL zavolá, počítadlo začne fungovat bez ohledu na úspěch provedení dotazu.
- Pokud je pro objekt vytvořen alias a objekt již neexistuje, bude alias nadále existovat.
- FLASHBACK TABULKA nelze vrátit zpět.
- Pro n výrazů CUBE vrátí 2 umocněnou na n seskupení.
- SQL , PL/SQL a JAVA jsou nativní jazyky pro ORACLE DB .
- Chcete-li vytvořit hierarchický dotaz, ZAČNĚTE S nebo CONNECT BY musí být přítomen.
Děkuji za přečtení. Těším se na vaše dotazy a komentáře.