Egzamin Oracle Certified Professional: Java SE 11 Developer za 25$ zamiast 245$. Do 25 kwietnia.
Cześć,
Dziś zapraszam do kontynuacji JOINów w Oracle SQL :)
Dzisiaj poznamy czym są złączenia zewnętrzne a w szczególności:
Czym w ogóle jest złączenie zewnętrzne
Poznasz Oracle LEFT JOIN – składania i przykłady
Poznasz Oracle RIGHT JOIN – składania i przykłady
Poznasz FULL OUTER JOIN – składania i przykłady
Poznasz składnię i przykłady złączenia zewnętrznego w Oracle wykorzystując operator (+)
Poznasz złączenia zewnętrzne wielu tabel
Kurs dostępny pod linkiem Oracle LEFT JOIN choć jest nie tylko o LEFT JOIN :)
#sql #oracle #blog #programowanie #naukaprogramowania #oracledev #kurs #szkolenie
W Oracle LEFT JOIN oraz innej rodzaje złączeń zewnętrznych (RIGHT JOIN, FULL OUTER JOIN) służą do łączenia ze sobą tabel i rekordów.
https://oracledev.pl/oracle-left-join/Joiny w oracle są jakieś szczególnie trudne? Bo co chwilę widzę tutaj "Kurs XYZ w oracle" gdzie XYZ jest jakimś bardzo podstawowym konceptem
@Pixello: To zależy :)
Ten wpis i kurs dedykowany jest dla początkujących tj. osób które uczą się składni i działania bazy danych. Ten kurs piszę od podstaw i tworzę go w taki sposób aby był kompletny. Jest wiele kursów o joinach wyrwanych z kontekstu lub bez wcześniejszych tematów które mówią o podstawach. W Oracle masz np. notacje (+) która nie występuje nigdzie indziej.
Piszę też kurs o tym jak pod spodem działa baza danych i jak wyglądają różne rodzaje JOINa np. https://oracledev.pl/sort-merge-join-w-oracle/ https://oracledev.pl/join-nested-loops/ czy https://oracledev.pl/hash-join-w-oracle/
Oracle to wielka moc.
Germański architekt to również potężna moc.
Z połączenia tych mocy rodzi się insert do tabeli z 253 kolumnami, który kończy się komunikatem:
ORA-01438: value larger than specified precision allowed for this column
Niestety, w tabeli nie ma kolumny this
. Problemem jest jedna z tych 253 wartości - dzięki ci Oracle za tak doskonałe zawężenie problemu.
Jako, że mam ograniczone możliwości grzebania w tej bazie... to czeka mnie niezła zabawa (20 kolumn już sprawdziłem).
Cześć!
Ostatnio wspominałem, że napiszę czym są indexy bitmapowe. Słowa dotrzymałem więc zapraszam na wpis o tym czym jest i jak działa index bitmapowy w Oracle
Index Bitmapowy w Oracle jest specjalną strukturą danych powiązaną z tabelą, pozwalającą przyspieszyć dostęp do danych.
https://oracledev.pl/index-bitmapowy-w-oracle/Dziwne, że w kontekście indeksów bitmapowych nie napisałeś ani słowa o deadlockach. Developer powinien mieć świadomość, że jeśli decyduje się na użycie indeksu bitmapowego i ma współbieżne sesje modyfikujące tabelę (nie musi to być super częsta modyfikacja), to ma spore szanse na rozwiązanie klasy "deadlock by design" ;)
@yarel: Ten wpis jest jedynie wstępem do całej serii wisów o indexach bitmapowych tak aby ktoś kto o nich słyszy pierwszy raz, zobaczył jaka jest koncepcja i ogólna logika działania. Index bitmapowy potrafi być bardzo problematyczny właśnie z powodu updatów dlatego będzie jeszcze kilka wpisów, między innymi o tym jak zbudowany jest liść indexu bitmapowego, jak wykonywany jest update i lock na tym indeksie wraz z dokładnym wytłumaczeniem dlaczego. Oczywiście będą też wpisy i przykłady o tym jak index bitmapowy może przyspieszyć wykonanie zapytania :)
Masz dość tnsnames.ora ?
Nie potrzebujesz go, ani zmiennej TNS_ADMIN, używając EZConnect - Easy Connect.
Przykład:
sql użytkownik/hasło@[//]host[:port][/service_name]
service_name - jeśli pominiesz to podłączysz się o ile w listener jest poprawnie zdefiniowana domyślna baza danych.
port - jeśli pominiesz to podłączysz się jeśli listener słucha na 1521
// - możesz dodać jak lubisz notację URL ;-)
Działa, również z: rman, sqlplus, tnsping czy Twoją aplikacją.
Możesz nie używać ani tnsnames.ora ani EZConnect:
sql użytkownik/hasło@(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=<service_name>))(ADDRESS=(PROTOCOL=tcp)(HOST=<host>)(PORT=<port>)))
A jeśli używasz 19c to możesz wykorzystać load balancing w connect stringu:
sql użytkownik/hasło@[//]host1,host2[:port][/service_name]
O ile listener'y słuchają na tym samym porcie. Bo jeśli na różnych to:
sql użytkownik/hasło@[//]host1:port1,host2:port2[/service_name]
Notacja testowana z SQLcl - klient w Java. Trzyma historię, pozwala na edycję komend i dokańcza/podpowiada nazwy obiektów oraz słowa kluczowe - klawisz TAB. Możesz też pisać skrypty, uruchamiane po stronie klienta, w JavaScript. Przydatne np. do obróbki wyników.
Do pobrania stąd:
https://www.oracle.com/database/technologies/appdev/sqlcl.html
#dba4dev #marcinbadtke #sqlplus #sqlcl #oracle #oracledatabase #oracledba #sql #tnsnames #ezconnect
Popłakałam się. Kobieta władcza będzie was do tego namawiać. To ewidentnie o mnie.