<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - relacje między tabelami]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=228&amp;type=atom"/>
	<updated>2009-06-09T09:00:46Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=228</id>
		<entry>
			<title type="html"><![CDATA[Odp: relacje między tabelami]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=955#p955"/>
			<content type="html"><![CDATA[Struktura wydaje się być ok.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-06-09T09:00:46Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=955#p955</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: relacje między tabelami]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=954#p954"/>
			<content type="html"><![CDATA[Może inaczej jakich relacji byście użyli mając takie tabele.]]></content>
			<author>
				<name><![CDATA[SAKALA23]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=920</uri>
			</author>
			<updated>2009-06-09T08:55:54Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=954#p954</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: relacje między tabelami]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=953#p953"/>
			<content type="html"><![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 :).]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-06-09T08:00:38Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=953#p953</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[relacje między tabelami]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=952#p952"/>
			<content type="html"><![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]]]></content>
			<author>
				<name><![CDATA[SAKALA23]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=920</uri>
			</author>
			<updated>2009-06-09T07:39:35Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=952#p952</id>
		</entry>
</feed>
