Article View: pl.comp.bazy-danych
Article #194074PostgreSQL - jak najlepiej definiować dynamiczne pola?
From: Marek
Date: Fri, 30 Jan 2015 13:19
Date: Fri, 30 Jan 2015 13:19
47 lines
2065 bytes
2065 bytes
Witam,
Na etapie projektu powstała tabela
CREATE TABLE tabela
(
tabela_id SERIAL PRIMARY KEY,
pola...
);
Jednakże okazało się iż tabela ta ma mieć dodatkowe pola zarówno
informacyjna jak i czasem biorące udział w wyszukiwaniu. Pól będzie
przybywać i mają być definiowane na bieżąco. Typ nieprzewidywalny -
niektóre tekstowe, niektóre liczbowe. Pomyślałem zatem, że mógłbym
wykorzystać pole typu tablicowego
CREATE TABLE tabela
(
tabela_id SERIAL PRIMARY KEY,
pola...
uniwersalne text[];
);
Zapis qusi-pól wyglądałby tak, że w polu "uniwersalne" trzymałbym
wartości. Kłopot w tym, że PostgreSQL nie ma tablic asocjacyjnych więc
musiałbym się posiłkować tabelą słownikową konwertującą nazwę na indeks:
CREATE TABLE name_to_index
(
name_to_index_id SERIAL PRIMARY KEY,
nazwa_pola varchar(100), --nie indeksowane bo tabela będzie miała do
ok 20 rekordów
indeks_odpowiadajacy_w_polu_uniwersalne int
);
Oczywiście w w plpgsql napisałbym funkcję symulującą dostęp do tablicy
asocjacyjnej. Czy taka ideologia jest poprawna? Da się to lepiej
zorganizować?
Czy da się indeksować w tablicy np. indeks 4 i 10ty np.?
--
Pozdrawiam,
Marek
Technical Details
Message-ID:
<mag0cl$o93$1@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail From: Marek <precz@spamowi.com> Newsgroups: pl.comp.bazy-danych Subject: PostgreSQL - jak najlepiej definiować dynamiczne pola? Date: Fri, 30 Jan 2015 14:19:12 +0100 Organization: ICM, Uniwersytet Warszawski Lines: 47 Message-ID: <mag0cl$o93$1@news.icm.edu.pl> NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl Mime-Version: 1.0 X-Trace: news.icm.edu.pl 1422623957 24867 89.69.222.145 (30 Jan 2015 13:19:17 GMT) X-Complaints-To: usenet@news.icm.edu.pl NNTP-Posting-Date: Fri, 30 Jan 2015 13:19:17 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit