<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - relacje między tabelami]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=228</link>
		<description><![CDATA[Najświeższe odpowiedzi w relacje między tabelami.]]></description>
		<lastBuildDate>Tue, 09 Jun 2009 09:00:46 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: relacje między tabelami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=955#p955</link>
			<description><![CDATA[Struktura wydaje się być ok.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 09 Jun 2009 09:00:46 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=955#p955</guid>
		</item>
		<item>
			<title><![CDATA[Odp: relacje między tabelami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=954#p954</link>
			<description><![CDATA[Może inaczej jakich relacji byście użyli mając takie tabele.]]></description>
			<author><![CDATA[dummy@example.com (SAKALA23)]]></author>
			<pubDate>Tue, 09 Jun 2009 08:55:54 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=954#p954</guid>
		</item>
		<item>
			<title><![CDATA[Odp: relacje między tabelami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=953#p953</link>
			<description><![CDATA[[quote]
Oto kod tego co do tej pory wymyśliłem, niestety jak próbuje zwrócić coś z tabel połączonych key joinem to mi błąd wyskakuje w zasadzie to działa mi tylko natural join.
[/quote]
Co znaczy 'key joinem'? Jaki jest komunikat błędu.

Materiałów poszukaj w googlach :).]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 09 Jun 2009 08:00:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=953#p953</guid>
		</item>
		<item>
			<title><![CDATA[relacje między tabelami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=952#p952</link>
			<description><![CDATA[Witam ma pisze bazę która ma obsługiwać punkt bukmacherski na razie jest to szkielet ale już mam problemy.
Dopiero zaczynam zabawę z sqlem i nie wiem za bardzo na jakiej zasadzie mam ustalać klucze w relacjach między tabelami, chodzi mi o klucze obce.
Oto kod tego co do tej pory wymyśliłem, niestety jak próbuje zwrócić coś z tabel połączonych key joinem to mi błąd wyskakuje w zasadzie to działa mi tylko natural join.
Jak ktoś wie jak mogło by to wyglądać albo zna jakieś dobre w miarę zrozumiałe źródło które ten temat wyjaśnia to będę wdzięczny.

[code]
CREATE TYPE POZIOM AS ENUM ('PIERWSZA LIGA','DRUGA LIGA','REPREZENTACJA');

CREATE TYPE TYP_ROZGR AS ENUM ('LIGOWE','PUCHAROWE');

CREATE TYPE FAZA AS ENUM ('GRUPOWA','PUCHAROWA');

CREATE TYPE STATUS AS ENUM ('WYGRANY','PRZEGRANY','AKTYWNY');

CREATE TYPE TYP_KURSU AS ENUM ('ZWYCIESTWO_H', 'ZWYCIESTWO_A', 'REMIS', 'ZWYCIESTWO_H_1P', 'ZWYCIESTWO_A_1P', 'REMIS_1P', 'IL_GOLI<+2,5>', 'IL_GOLI<-2,5>', 'STRZ_GOLA_H', 'STRZ_GOLA_A');


CREATE TABLE ROZGRYWKI (

    NAZWA_ROZGR VARCHAR (40) PRIMARY KEY,

    RODZAJ_ROZGR TYP_ROZGR NOT NULL,

    POZIOM_ROZGR POZIOM NOT NULL

);


CREATE TABLE KLUB ( 

    ID_ZESP SERIAL PRIMARY KEY,

    NAZWA VARCHAR(30) UNIQUE NOT NULL,

    KRAJ VARCHAR(30) NOT NULL,

    MIASTO VARCHAR(30) NOT NULL,

    ROZGRYWKI VARCHAR (40),

    FOREIGN KEY (ROZGRYWKI) REFERENCES ROZGRYWKI (NAZWA_ROZGR) ON DELETE CASCADE ON UPDATE CASCADE

);


CREATE TABLE MECZ (

    ID_MECZU SERIAL PRIMARY KEY,

    ID_ZESP_H SERIAL,

    ID_ZESP_A SERIAL,

    ROZGRYWKI VARCHAR(40),

    FAZA_ROZGR FAZA,

    DATA DATE,

    IL_GOLI_H_1P SMALLINT DEFAULT(0),

    IL_GOLI_A_1P SMALLINT DEFAULT(0),

    IL_GOLI_H SMALLINT DEFAULT (0) CHECK (IL_GOLI_H >= IL_GOLI_H_1P ),

    IL_GOLI_A SMALLINT DEFAULT (0) CHECK (IL_GOLI_A >= IL_GOLI_A_1P ),

    FOREIGN KEY (ROZGRYWKI) REFERENCES ROZGRYWKI (NAZWA_ROZGR) ON DELETE CASCADE ON UPDATE CASCADE

);


CREATE TABLE KURSY (

    ID_MECZU SERIAL PRIMARY KEY,

    RODZAJ_KURSU TYP_KURSU NOT NULL,

    WYSOKOSC_KURSU REAL NOT NULL CHECK (WYSOKOSC_KURSU > 1.00),

    FOREIGN KEY (ID_MECZU) REFERENCES MECZ (ID_MECZU) ON DELETE CASCADE ON UPDATE CASCADE

);


CREATE TABLE KUPON (

    ID_KUPONU SERIAL PRIMARY KEY,

    ID_KURSU SERIAL,

    AKO REAL NOT NULL CHECK (AKO > 1.00),

    STAWKA INT NOT NULL CHECK (STAWKA > 1),

    EW_WYGRANA REAL NOT NULL,

    STATUS_KUPONU STATUS NOT NULL DEFAULT ('AKTYWNY'),

    FOREIGN KEY (ID_KURSU) REFERENCES KURSY (ID_MECZU) ON DELETE CASCADE ON UPDATE CASCADE

);

[/code]]]></description>
			<author><![CDATA[dummy@example.com (SAKALA23)]]></author>
			<pubDate>Tue, 09 Jun 2009 07:39:35 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=952#p952</guid>
		</item>
	</channel>
</rss>
