Article View: pl.comp.lang.delphi.bazy-danych
Article #82553Re: Firebird, klucz główny i obcy
From: wloochacz
Date: Mon, 17 Aug 2015 17:23
Date: Mon, 17 Aug 2015 17:23
35 lines
2597 bytes
2597 bytes
W dniu 2015-08-16 o 09:49, Borneq pisze: > Zaczynam pracę z bazami danych Firebirda. Jak na razie mam problem, bo > pole typu VARCHAR nie może być kluczem głównym, np. ISBN książki. Co?! Od kiedy to varchar nie może być PK tabeli? Albo potem wchodzisz w zakładkę, na edytorze danej tabeli, "Constraints" i dalej "1.Primary Key" > Mam pytania: jak zrobić klucz główny składający się z kilku kolumn w > IBExpercie? Klikasz w kolumnę z nazwą PK obok kolumny, która ma wchodzić w skład PK. > To znaczy jedna i druga kolumna może się powtarzać, ale ich > konkatenacja nie, jest unikalna i może być kluczem głównym. To jest praktycznie zawsze bardzo zły pomysł. To, czyli PK złożony z wielu pól. Każdy FK musi mieć powtórzone wartości w pozostałych tabelach. Zawsze trzeba te wartości uzupełniać. Żeby jednoznacznie zidentyfikować wiersz w takiej tabeli, trzeba podać wszystkie wartości. Jest zdecydowanie więcej argumentów przeciw, niż za. Zdecydowanie lepiej założyć tzw. klucz sztuczny. A jeśli naprawdę zależy Ci na unikalności konkretnych złożeń wielu kolumn, to załóż sobie klucz unikalny - ale nie główny. > A co z foreign key? Gdy mamy relację one-to-many to po której stronie > (one czy many?) tworzymy foreign key? Many. PS. Panie, to są absolutne podstawy. Szkoda takich pytań na grupę... -- wloochacz
Technical Details
Message-ID:
<55d218ae$0$4766$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!feed.xsnews.nl!fbe001.ams.xsnews.nl!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<mqpf9j$e91$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!feed.xsnews.nl!fbe001.ams.xsnews.nl!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Firebird, klucz główny i obcy References: <mqpf9j$e91$1@node2.news.atman.pl> From: wloochacz <wloochacz@no.spam.gmail.com> Newsgroups: pl.comp.lang.delphi.bazy-danych Date: Mon, 17 Aug 2015 19:23:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <mqpf9j$e91$1@node2.news.atman.pl> Lines: 35 Message-ID: <55d218ae$0$4766$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.23.144.64 X-Trace: 1439832238 unt-rea-a-01.news.neostrada.pl 4766 83.23.144.64:2375 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 2308 X-Received-Body-CRC: 2980897968 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit