Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Pole v PostgreSQL

jos
jos (neregistrovaný) 193.179.128.---
10. 9. 2009 12:55

Re: Pole v PostgreSQL

doufam že mají postgresové v plánu podporu datovýho typu „relace“, když umí tak pěkně zacházet s polema

Pavel Stěhule aura:89
10. 9. 2009 22:52

Re: Pole v PostgreSQL

Co si pod pojmem relace představujete? N-tici hodnot nebo něco jiného?

Tomáš Vondra aura:87
11. 9. 2009 0:04

Re: Pole v PostgreSQL

No, pro nás matematiky je relace definována jako podmnožina kartézského součinu, ale už jsem potkal i „odborníky“ kteří žijí v představě že relace je vazba mezi tabulkami :D

Petr
Petr (neregistrovaný) ---.21.broadband2.iol.cz
12. 9. 2009 1:49

Re: Pole v PostgreSQL

Takovéto interpretaci bohužel napomáhaly i některé „databázové“ produkty. Například (tuším že) ve FoxBase/Pro byl používán příkaz SET RELATION… na propojení dvou tabulek. Inu, také vztah, jen ve zcela jiném významu – a pak se divte.

Pavel Stěhule aura:89
14. 9. 2009 11:01

Re: Pole v PostgreSQL

Docela dlouho jsem si s podobným chápáním relace vystačil. Nejspíš záleželo, kde a s čím člověk začal. Za mě (na výšce) se dělalo vše (včetně výuky) ve Foxce, o SQL bohužel neměl nikdo páru :(. Na druhou stranu, alespoň pro mne nematematika, je relace coby vazba dvou tabulek více-méně jeden speciální případ obecnější matematické definice – beru-li ovšem jako relaci výsledný produkt spojení tabulek, nikoliv samotnou vazbu.

jos
jos (neregistrovaný) ---.tabor.telecom.cz
14. 9. 2009 18:55

Re: Pole v PostgreSQL

teď sem málem spadnul ze židle

pod pojmem relace si představuju relaci, v SQL se tomu říká tabulka nebo pohled

Pavel Stěhule aura:89
14. 9. 2009 19:40

Re: Pole v PostgreSQL

ok – znam databazi, kde datovy typ relace predstavoval pole ukazatelu.

Jinak k Vasi puvodni otazce – pole muze obsahovat krome skalarnich hodnot, take kompozitni hodnoty – tudiz lze prevest tabulku do jedne hodnoty.

postgres=# create table f(a int, b int, c int);
CREATE TABL
postgres=# create table ff(v f[]);
CREATE TABLE
postgres=# insert into  f values(10,20,30),(40,50,60);
INSERT 0 2
postgres=# insert into ff select array(select row(a,b,c)::f from f);
INSERT 0 1
postgres=# select * from ff;
              v
-----------------------------
 {"(10,20,30)","(40,50,60)"}
(1 row)

postgres=# select unnest(v) from ff;
   unnest
------------
 (10,20,30)
 (40,50,60)
(2 rows)

postgres=# select (unnest(v)).* from ff;
 a  | b  | c
----+----+----
 10 | 20 | 30
 40 | 50 | 60
(2 rows)
Zasílat nově přidané příspěvky e-mailem