Portál AbcLinuxu, 10. května 2025 20:43

Dotaz: Datové typy Oracle

15.12.2011 21:58 Robin Balon
Datové typy Oracle
Přečteno: 1193×
Odpovědět | Admin
Zdravím, máme mít vypracovanou seminárku z databází. Konceptuální a relanční model máme modelovat v nástroji Oracle datamodeler. Krom entit, vztahů apod. máme z úkol použít 4 datové typy u atributu - vestavěný, strukturovaný (např. Adresa, Kontakty atd.) a pak kolekci a domény. Právě kolekcím a doménám moc nerozumím. Na internetu jsem našel, jak na to přímo v PL/SQL, ale nějakou definici (laickou), kdy se to používá. Dělám databázi dopravního integrovaného systému, kde mám entity dopravce, ridic, dalsi_zamestnanec, smlouva, vozidlo, zastavka, linka apod. Šlo by to někde použít? Ale stačí mi, když budu vědět, co to přesně je ta kolekce a doména.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.12.2011 08:48 Ivan
Rozbalit Rozbalit vše Re: Datové typy Oracle
Odpovědět | | Sbalit | Link | Blokovat | Admin
kolekce je bud vektor anebo hash mapa(klic je integer nebo varchar). kolekce v Oracle jsou "chore" a divne se pouzivaji, problem je v tom, ze SQL a PL/SQL jsou dva ruzny enginy a kazdy ma svoje datove typy. Nektere kolekce jdou pouzit pouze v PL/SQL ale SQL je nezna.

Co je to domena tak to netusim. Oracle DB nema neco jako enum. Oracle corporation prodava jeste jednu databazi jmenem RDB a ma prikaz "create domain" (podle google). K Oracle RDB se ale normalne nedostanes.
16.12.2011 09:12 kuka
Rozbalit Rozbalit vše Re: Datové typy Oracle
Odpovědět | | Sbalit | Link | Blokovat | Admin
Domena je obvykle vycet hodnot, kterych muze neco nabyvat. Napriklad rodinny stav je "svobodny", "zenaty" atd.

Kolekce je mnozina hodnot. Na urovni datoveho modelu je to takovy trochu krok smerem od relacniho modelu k objektovemu. Napriklad pro matku bych mohl mit atribut "deti", jehoz typem je kolekce zaznamu typu "dite". Je to trochu kontroverzni a rada lidi to na urovni datoveho modelu z principu nepouziva. Naopak v PLSQL jsou kolekce celkem killer feature.
17.12.2011 13:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Datové typy Oracle
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neznám Oracle, ale u jiných DBe:
Doména je definice datového typu a případně včetně jeho omezení, například „celé číslo 1-10“, takže (asi to moc nepomůže pro oracle)
CREATE DOMAIN MOJE_CISLO AS INTEGER DEFAULT 5
CHECK (VALUE > 0 AND VALUE < 11);
A pak se normálně použije
CREATE TABLE t1(
malekladnecislo MOJE_CISLO,…
v Oracle to bude asi CREATE TYPE + nějaké fce (to jen tuším!)… a pro kolekci to bude asi to samé, možná něco jako:
CREATE TYPE telfoniklapky AS VARRAY(3) OF CHAR(4);
Takže doména lze použít téměř na cokoliv co má nějaká pravidla, telefonní číslo, směrovák apod. a kolekce snad (vařím z vody) třeba „telefonní klapky“ nebo „řidičská oprávnění“.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
19.12.2011 13:30 rich
Rozbalit Rozbalit vše Re: Datové typy Oracle
prikaz "create domain" Oracle nezna. Podle toho co popisujes by to mohlo byt, jak se v Oracle nazyva, "Check constraints".
Viz. http://docs.oracle.com/cd/E11882_01/server.112/e25789/datainte.htm#CHDGBFBJ
19.12.2011 17:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Datové typy Oracle
Však nikde nepíšu, že to Oracle zná.
Check constraints je asi to co CHECK,
takže Oracle: CREATE TYPE + CHECK CONSTRAINTS je asi to co znám odjinud, tedy CREATE DOMAIN + CHECK a tedy doména,
i když za doménu můžeme podkládat samostatný datový typ (typedef), tedy jen CREATE TYPE.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
GeoRW avatar 21.12.2011 10:31 GeoRW | skóre: 13 | blog: GeoRW | Bratislava
Rozbalit Rozbalit vše Re: Datové typy Oracle
Odpovědět | | Sbalit | Link | Blokovat | Admin
- domain ako uz bolo uvedene vyssie spravit v Oracle s Check Constraints, kde zadas ake hodnoty moze dany stlpec nadobudat
- ohladom oklekcii si pozri nested tables
"This is to be taken with a grain of salt." ACBF - Advanced Comic Book Format

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.