Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Łączenie tabel - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Łączenie tabel (/thread-%C5%82aczenie-tabel)



Łączenie tabel - Marys - 17-05-2011

Witam,
może ktoś mi wytłaczyć o co chodzi w SQL z CONSTRAIN, ON UPDATE... oraz REFERENCES?

Mam tu taki przykład:
Kod:
create table klient
(
    nr                          serial                    ,
    tytul                       char(4)                   ,
    imie                        varchar(16)               ,
    nazwisko                    varchar(32)       NOT NULL,
    kod_pocztowy                char(6)           NOT NULL,
    miasto                      varchar(32)               ,
    ulica_dom                   varchar(64)               ,
    telefon                     varchar(11)               ,
    CONSTRAINT                  klient_nr_pk PRIMARY KEY(nr),
    CONSTRAINT                  klient_telefon_un UNIQUE(telefon)
);
create table towar
(
    nr                          serial                    ,
    opis                        varchar(64)       NOT NULL,
    koszt                       numeric(7,2)      NOT NULL,
    cena                        numeric(7,2)              ,
    CONSTRAINT                  towar_nr_pk PRIMARY KEY(nr)
);
create table zamowienie
(
    nr                          serial                    ,
    klient_nr                   integer           NOT NULL,
    data_zlozenia               date              NOT NULL,
    data_wysylki                date                      ,
    koszt_wysylki               numeric(7,2)              ,
    CONSTRAINT                  zamowienie_nr_pk PRIMARY KEY(nr)         ,
    CONSTRAINT                  klient_fk FOREIGN KEY(klient_nr)
                                   REFERENCES klient(nr),
    CONSTRAINT                  dates CHECK(data_zlozenia<=data_wysylki)
);
create table zapas
(
    towar_nr                    integer               NOT NULL,
    ilosc                       integer               NOT NULL  CHECK (ilosc>=0),
    CONSTRAINT                  zapas_towar_nr_pk PRIMARY KEY(towar_nr),
    CONSTRAINT                  towar_nr_fk FOREIGN KEY(towar_nr)
                                   REFERENCES towar(nr)
                                   ON UPDATE CASCADE ON DELETE CASCADE



RE: Łączenie tabel - LoBo - 17-05-2011

może pomoże http://www.uz.zgora.pl/~agramack/files/BazyDanych/MySQL/mysql_09.pdf