Re: Need advise for database structure for non linear data.

Поиск
Список
Период
Сортировка
От Radosław Smogura
Тема Re: Need advise for database structure for non linear data.
Дата
Msg-id 6b1f39d86f3f6787b09e8a81823a5e6c@softperience.pl
обсуждение исходный текст
Ответ на Re: Need advise for database structure for non linear data.  (Thomas Schmidt <postgres@stephan.homeunix.net>)
Ответы Re: Need advise for database structure for non linear data.
Список pgsql-general
 I can propose you something like this:

 website(id int, url varchar);
 attr_def (id int, name varchar);
 attr_val (id int, def_id reference attr_def.id, website_id int
 references website.id, value varchar);
 If all of your attributes in website are single valued then you can
 remove id from attr_val and use PK from website_id, def_id.

 Depending on your needs one or many from following indexes:
 attr_val(value) - search for attributes with value;
 attr_val(def_id, value) - search for given attributes with values;
 attr_val(website_id, def_id, value) - checks, if given site has
 attribue, search by values for given site and attribute;
 attr_val(def_id, website_id) - like above, without value searching;
 attr_val(website_id, value) - search for attributes on given site with
 value.
 Probably you will use 2nd or 3rd index.

 Example of search on website
 select d.name, v.value from attre_def d join attr_val v on (v.def_id =
 d.id) join website w on (v.website_id = w.id)
 where d.name = 'xxxx' and w.url='http://somtehing'

 This is common map structure.

 Kind regards,
 Radosław Smogura

 On Mon, 03 Jan 2011 12:26:45 +0100, Thomas Schmidt
 <postgres@stephan.homeunix.net> wrote:
> Hello,
>
> Am 03.01.11 12:11, schrieb Andre Lopes:
>> Hi,
>>
>> I need advise about a database structure. I need to capture data
>> from the
>> web about one specific subject on few specific websites and insert
>> that data
>> to a database. I have done this question here before, but I think I
>> have not
>> explained very well.
>>
>> What I mean with non linear data is the following:
>>
>>      array(
>>            'name' =>  'Don',
>>            'age'  =>  '31'
>>           );
>>
>>
>>      array(
>>            'name' =>  'Peter',
>>            'age'  =>  '28',
>>            'car'  =>  'ford',
>>            'km'   =>  '2000'
>>           );
>>
>> In a specific website search I will store only "name" and "age", and
>> in
>> other website I will store "name", "age", "car" and "km".
>>
>> I don't know If I explain weel my problem. My english is not very
>> good.
>>
> In theory, using a single table having three columns
> (array-id,key,value) will suit your needs.
> However, providing a simple key/value store is not the idea behind
> DBMS like postgres ...
> See:
> http://en.wikipedia.org/wiki/NoSQL
> http://en.wikipedia.org/wiki/Relational_database_management_system
>
> Thomas


В списке pgsql-general по дате отправления:

Предыдущее
От: Thomas Kellerer
Дата:
Сообщение: Re: Need advise for database structure for non linear data.
Следующее
От: Trupti Ghate
Дата:
Сообщение: Loading "posgres 9.0" libpq library on Linux version"Red Hat 3.4.6-3"