Hosting s Oracle Database?

Ivan

Re:Hosting s Oracle Database?
« Odpověď #30 kdy: 24. 11. 2015, 10:16:24 »
Ohledně hodnoty null nejde o psaní podmínek, ale jde o to, že oracle není schopen uložit řetězec nulové délky a vyrobí z něj null. A když pak zkusíš ten řetězec nulové délky vyhledat, tak už nenajde nic. Kvůli tomu nelze mít not null sloupec pro řetězce, které mohou mít nulovou délku. Takže se na to musí furt myslet a obcházet to. Úžasná vlastnost.

V praxi se na to az tak casto nenarazi. Pouze tam kde se uklada to sloupce nejaky free text. Je zajimavy, ze v tyhle diskuzi lidi nadavaji na to jak je Oracle desne konzervativni a dodrzuje zpetnou kompatibilitu a zaroven tem samym lidem vadi, ze Oracle neni kompatibilni s databazemi, ktere vznikly o nekolik dekad pozdeji.

PS: licencni politiku Oracle nehodlam komentovat.


Pavel..

Re:Hosting s Oracle Database?
« Odpověď #31 kdy: 24. 11. 2015, 10:19:17 »
Ohledne Vmware clusteru to zase prinasi tu vyhodu, ze pak ten Oracle muzes mit ve vsech virtualech na nem bezici. Jinak to tam asi nema ani cenu instalovat, ne?

Pokial si spolocnost zvolila (musela zvolit) licencovanie podla poctu procesorov, kde kazdy procesor je vyvazeny v Oracle zlatom,
je mimoriadne plytvanie platit vsetky jestvujuce procesory v clustri ak nebezi vo vsetkych VM Oracle.

Ohledne hodnoty NULL nemas pravdu, nebo to neumis pouzivat?
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm
http://psoug.org/definition/null.htm

Mozno Vas to prekvapi, ale su databazy ktore rozoznavaju NULL a prazdny string.
Skuste si obzriet svet mimo Oracle a skusit co vam vrati porovnanie dvoch prazdnych stringov.

Rownum je pseudosloupec a vice o jeho pouziti zde http://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm

autor pisal o "vymozenosti" kde "Conditions testing for ROWNUM values greater than a positive integer are always false".
Co je minimalne neesteticke, nech to okecava Oracle ako chce.

---

dufam, ze Vas za toto trollovanie aspon platia.

Pavel..

Re:Hosting s Oracle Database?
« Odpověď #32 kdy: 24. 11. 2015, 10:24:04 »
Oracle desne konzervativni a dodrzuje zpetnou kompatibilitu

ano, vzdy si na to zanadavam, ked pisem "varchar2" :)

lojza

Re:Hosting s Oracle Database?
« Odpověď #33 kdy: 24. 11. 2015, 10:33:13 »
jak je Oracle desne konzervativni a dodrzuje zpetnou kompatibilitu
Kdyby to byla aspoň pravda, ale neni. Už jsem musel přepisovat primitivní jednořádkovou proceduru, aby jí novější verze oracle chroupla. Navíc by se to dalo řešit novým typem, ale nějak si nevybavuju, že by oracle nějaký zavedl.

Ivan

Re:Hosting s Oracle Database?
« Odpověď #34 kdy: 24. 11. 2015, 11:11:55 »
Ohledne Vmware clusteru to zase prinasi tu vyhodu, ze pak ten Oracle muzes mit ve vsech virtualech na nem bezici. Jinak to tam asi nema ani cenu instalovat, ne?

Pokial si spolocnost zvolila (musela zvolit) licencovanie podla poctu procesorov, kde kazdy procesor je vyvazeny v Oracle zlatom,
je mimoriadne plytvanie platit vsetky jestvujuce procesory v clustri ak nebezi vo vsetkych VM Oracle.

Ono je to bohuzel jeste slozitejsi. Je rozdil, jestli potrebujete licence pro sebe, anebo budete nabizet hosting databaze jako sluzbu.
Pokud si zalicencujete vsechny procesory v cloudu, tak ten cloud muzete pronajmout pouze jednomu zakaznikovi. Pokud by prisel druhy zakaznik, tak musite vysolit ty same penize jeste jednou. Proto jsem doporucoval pronajmout si virtual od Amazonu, ten si vyjednal nejake nadstadartni podminky a nabizi hosting Oracle databaze za ceny, kterym se neda konkurovat.


Karel

Re:Hosting s Oracle Database?
« Odpověď #35 kdy: 24. 11. 2015, 13:00:14 »
Mozno Vas to prekvapi, ale su databazy ktore rozoznavaju NULL a prazdny string.
Skuste si obzriet svet mimo Oracle a skusit co vam vrati porovnanie dvoch prazdnych stringov.

Rownum je pseudosloupec a vice o jeho pouziti zde http://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm

autor pisal o "vymozenosti" kde "Conditions testing for ROWNUM values greater than a positive integer are always false".
Co je minimalne neesteticke, nech to okecava Oracle ako chce.


Možná to překvapí vás, ale chování null není fyzikální zákon. Chování v jednotlivých systémech se liší a je obvykle dobře dokumentované. Problémy s tím mají jen lidé, co se naučí systém jeden a pak automaticky stejné požadavky kladou na jakýkoliv další systém, se kterým se setkají. Přitom rozhodnout, který přístup je ten správný, je asi tak důležité jako rozhodnout, zda by vše mělo být little-endian nebo big-endian. Oba jsou to příklady zcela zásadních otázek v oblasti IT.

A chování ROWNUM je zcela správné. Je to virtuální sloupec, který obsahuje pořadové číslo řádku ve výsledcích. Takže když vám to vrátí řádků pět, tak to budou čísla od jedné do pěti. Bohužel řada lidí s tím má mentální problém. Nějaký zkrat v mozku, který jim brání pochopit, že první řádek má číslo jedna. Do podmínky pak napíší ROWNUM > 3 a diví se, že to nevrací nic. Nepomáhá vysvětlovat jim, že podmínka typu "nevracej první řádek" automaticky znamená, že nevrací nic. V jejich vnímání světa a matematiky může existovat seznam, který nemá první řádek a přesto nějaké řádky má. Osobně neshledávám nic estetického na seznamu, který by měl více záznamů, ale žádný by nebyl první. Pokud ani v této chvíli nerozumíte tomu, proč je výsledek podmínky ROWNUM > 3 prázdný seznam, tak si to zkuste ručně na papíře: napište si pod sebe několik řádků. Pak je očíslujte od jedné do N, po jedné. A pak ty s čísly jedna, dva a tři vygumujte. Nyní seznam znovu očíslujte - první bude řádek jedna a tak dál. A opět smažte řádky jedna až tři. Opakujte. V každém kroku budete mít seznam, kde budou řádky od jedné dál. A vy z něj podmínkou ROWNUM > 3 budete mazat první tři řádky. Skončíte s prázdným seznamem.

PS: řešení programové je snadné, jeden select necháte vracet všechny záznamy a těm přes ROWNUM přiřadíte čísla řádků. A tohle použijete jako vstup pro další select, kde už nebude podmínka na rownum, ale na dříve přiřazené číslo řádku z prvního selectu:

select * from
(
select rownum x, t.*
from moje_tabulka t
) where x > 3

rich

Re:Hosting s Oracle Database?
« Odpověď #36 kdy: 24. 11. 2015, 13:06:49 »
Ohledne Vmware clusteru to zase prinasi tu vyhodu, ze pak ten Oracle muzes mit ve vsech virtualech na nem bezici. Jinak to tam asi nema ani cenu instalovat, ne?

Pokial si spolocnost zvolila (musela zvolit) licencovanie podla poctu procesorov, kde kazdy procesor je vyvazeny v Oracle zlatom,
je mimoriadne plytvanie platit vsetky jestvujuce procesory v clustri ak nebezi vo vsetkych VM Oracle.

Ohledne hodnoty NULL nemas pravdu, nebo to neumis pouzivat?
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements005.htm
http://psoug.org/definition/null.htm

Mozno Vas to prekvapi, ale su databazy ktore rozoznavaju NULL a prazdny string.
Skuste si obzriet svet mimo Oracle a skusit co vam vrati porovnanie dvoch prazdnych stringov.

Rownum je pseudosloupec a vice o jeho pouziti zde http://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm

autor pisal o "vymozenosti" kde "Conditions testing for ROWNUM values greater than a positive integer are always false".
Co je minimalne neesteticke, nech to okecava Oracle ako chce.

---

dufam, ze Vas za toto trollovanie aspon platia.

Spolecnost si musela zvolit? Jeste existuje licencni model podle poctu uzivatelu... Pokud Oracle nevyhovuje pouzivej neco jineho.

Prekvapeny rozhodne nejsem a nikam jinam se ani divat nebudu. Tato diskuse byla/je predevsim o Oracle db.

"Conditions testing for ROWNUM values greater than a positive integer are always false"
A to se pise kde?
Zde je pekne vysvetleno co to ROWNUM vlastne je a jak to pouzivat...
http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html

Tak zadarmo bych sem asi nepsal ;-) ty trapos

rich

Re:Hosting s Oracle Database?
« Odpověď #37 kdy: 24. 11. 2015, 13:25:10 »
Citace
"Conditions testing for ROWNUM values greater than a positive integer are always false"
A to se pise kde?
uz jsem to nasel ...