[Tutor] Sorting Data in Databases
spir
denis.spir at free.fr
Mon Nov 23 10:06:33 CET 2009
"Ken G." <beachkid at insightbb.com> wrote:
> I have not use the DBMS as I am unaware of them in both languages.
DBMS is short for Data Base Management System, see wikipedia entry on the topic.
Actually, the term is a bit ambiguous:
* From a user point of view, a BDMS will be an application allowing managing data sets in a hopefully meaningful and easy manner.
* From a programmer point of view, it will be a system for wich a binding exists in one's favorite programming language, meaning a library that that can be imported.
> Lie Ryan wrote:
> > Ken G. wrote:
> >> The way I use to do it in another programming language (Liberty Basic
> >> in Windows) was:
> >>
> >> 1. Count number of data entry in database.
> >> 2. Dimension or create an array to equal the maximum number of entry.
> >> 3. Copy data entry from database into array.
> >> 4. Use the SORT command on array, ascending or descending sequence.
> >> 5. Copy sorted data from array into database.
> >
> > In any programming language, that was the wrong algorithm, except for
> > very low-volume purpose. You should ask the DBMS system to sort the
> > database whenever possible instead of doing the sorting yourself.
> >
> >> From what I know of Python so far, is it possible to sort the
> >> database as it or do I have to copy data into either a list, tuple or
> >> dictionary and sort there and then, after sorting copy sorted entry
> >> back into the database.
> >
> > Question time:
> > 1. What DBMS are you using?
> > 2. What python interface to the DBMS you are using?
> > 3. Why do you think you need to sort the database? There is no
> > advantage (that I know of) of having a sorted database. A decent DBMS
> > should determine how best to store the data (it's their problem, not
> > yours). If your DBMS can't do this, you should consider using another
> > DBMS.
> > 4. Can't you simply sort the queried data? An SQL-based DBMS should
> > support ORDER BY command to sort the SELECT-ed rows. That should be
> > faster than sorting the whole database. You can sort the returned
> > tuple yourself, but it would be very difficult to beat the DBMS's
> > ORDER BY.
> >
> >> An outline of what needed to be done will be fine so I can study and
> >> learn the proper way of doing this in Python. FWIW, I just finished
> >> Alan's tutorial on list, tuple and dictionary. Whew!!! Quite
> >> comprehensive.
> > As stated, I am unaware of any DBMS in both languages. In Basic and
> > now in Python, I wrote up a program to input data to the datafile and
> > a program to output the content of the database. Very primitive and
> > basic.
>
> All of the databases I spoke of are arranged by date and if necessary,
> time. One contains my blood glucose reading and it is now, the newest
> entry is at the bottom of the database. I need to arrange it in
> descending order whereas I can print out a report of the last 55 entries
> for my doctor. Some of the entries in the other databases are not in
> sequenced order and I wish them to be, either ascending or descending
> sequence. The data are numerical, ranging in the length of 20, 22 and
> 44 long with no spaces.
I'm not sure of what order is in the file, and what order you want. Seems the data is ordered by date/time, so maybe you would like to sort last n entries by glucose rate? but it's not such clear for me.
What is clear:
* The data files are "hand-made" data recordings.
* You don't need a complicated (relational) DBMS.
If you have a bit of free time, I would advise to explore both:
* Sorting the data from files as are now (you will need to sort "records" on the proper column).
* Using the simplest possible DBMS available from python, namely I guess SQLite (correct me if I'm wrong), to replace your data storing system.
> Thank you for letting me look a little further into DBMS.
>
> Ken
________________________________
la vita e estrany
http://spir.wikidot.com/
More information about the Tutor
mailing list