Re: PostgreSQL - 'SKYLINE OF' clause added!

From: "ranbeer makin" <ranbeer(at)gmail(dot)com>
To: "Martijn van Oosterhout" <kleptog(at)svana(dot)org>
Cc: pgsql-hackers(at)postgresql(dot)org, Nikita <nikita(dot)p(at)gmail(dot)com>
Subject: Re: PostgreSQL - 'SKYLINE OF' clause added!
Date: 2007-03-03 14:12:38
Message-ID: a0eedc000703030612g2ffeddafib2f60a0aa915107c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Here is a description of what the SKYLINE operator is:
---
Suppose you wish to purchase books and you are looking for books with high
rating and low price. However, both the criteria of selecting books are
complementary since books of higher rating are generally more expensive. For
finding such books, you'll query the database system of the book store which
will return a set of interesting books. The word 'interesting' implies all
the books which are as good or better in both the dimensions (rating and
price) and better in at least one dimension. This set of interesting points
forms the Skyline.

Skyline operator finds points which are not dominated by other data points.
A point dominates another point if it is as good or better in all dimensions
and better in at least one dimension.

For specifying the Skyline queries, we extend SQL SELECT statement by an
optional *SKYLINE OF* clause as given below:

SELECT ... FROM ... WHERE...

GROUP BY ... HAVING...

*SKYLINE OF [DISTINCT] d1 [MIN | MAX | DIFF], .., dm [MIN | MAX | DIFF]*

ORDER BY...

Where, d1, d2 ,…, dm denote the dimensions of the Skyline, and MIN, MAX,
DIFF specify whether the value in that dimension should be minimized,
maximized, or simply be different. When DIFF is specified, two tuples are
compared only if the value of the attribute on which DIFF is applied is
different.

When DISTINCT clause is specified and if there are two or more tuples with
the same values of skyline attributes, then only one of them is retained in
the skyline set. Otherwise, all of them are retained.

Let's consider the above example of purchasing books with high rating and
low price.

*Book Name*

*Rating (out of 5)*

*Price (Rs)*

Prodigal Daughter

3

250

The city of Joy

5

400

Vanishing Acts

2

250

The Notebook

4

300

Fountain Head

5

350

Dear John

5

500

*Table1. Sample of book database*

Now, in order to get books with high rating and low price, you simply can
issue the following query:

SELECT *

FROM Books

SKYLINE OF rating MAX, price MIN;

The Skyline set returned will be:

*Book Name*

*Rating (out of 5)*

*Price (Rs)*

Prodigal Daughter

3

250

The Notebook

4

300

Fountain Head

5

350

*Table2. Skyline set*

From this set, you can now make your choice of books, by weighing your
personal preferences for price and rating of the books.

For more information, you can refer to:
S. Borzsonyi, D. Kossmann, and K. Stocker. The skyline operator. In *ICDE*,
pages 421.430, 2001

---

Thanks.

On 3/3/07, Martijn van Oosterhout <kleptog(at)svana(dot)org> wrote:
>
> On Sat, Mar 03, 2007 at 07:02:41PM +0530, ranbeer makin wrote:
> > We at International Institute of Information Technology (IIIT)
> Hyderabad,
> > India, have extended the Postgres database
> > system with the skyline operation. For this work, we were guided by our
> > Prof. Kamalakar Karlapalem
> > (http://www.iiit.ac.in/~kamal/).
>
> <snip>
>
> > Can this piece of work contribute to PostgreSQL? If yes, then we'll send
> out
> > a detailed report of this project including changes
> > made, issues involved/need to be solved, limitations, future work, and
> the
> > source code etc.
>
> Well, that kind of depends. I have no idea what "Skyline" means so
> telling us what it is would be a good start
>
> Have a nice day,
> --
> Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> > From each according to his ability. To each according to his ability to
> litigate.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFF6XrkIB7bNG8LQkwRAqw8AJ0UKAy41OMxdgLUdY1G+e7R6/jGPwCZAQY4
> 9uCKFUW65UBIx7fpogR75Yo=
> =6Yc0
> -----END PGP SIGNATURE-----
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shane Ambler 2007-03-03 14:19:55 Re: PostgreSQL - 'SKYLINE OF' clause added!
Previous Message Andrew Dunstan 2007-03-03 14:10:32 Re: PostgreSQL - 'SKYLINE OF' clause added!