473,378 Members | 1,391 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

Book about database application development?

Hello,

does anyone know of a good book that about development of database
applications?

Preferrably language independent, if that's not available something
"readable" as the example language would be nice (Delphi is ok for me, not
any kind of C-dialect including Java and C#). Unfortunately there seems to be
nothing dedicated to database applications with Python.

I'm especially interested in such practical topics as e.g. how to implement
things such that the resulting application doesn't show the hourglass for
minutes on every mouseclick.

And, btw; "W** applications" are totally irrelevant for me.

TIA,

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 15 '06 #1
16 1807
Wolfgang Keller <wo********************@gmx.dewrites:
I'm especially interested in such practical topics as e.g. how to implement
things such that the resulting application doesn't show the hourglass for
minutes on every mouseclick.

And, btw; "W** applications" are totally irrelevant for me.
Here's a start:

http://philip.greenspun.com/sql/
Oct 15 '06 #2
Hello,

and thanks for your reply, but...
Here's a start:

http://philip.greenspun.com/sql/
....small misunderstanding: I already know a bit of SQL, and I intend to avoid
its use as far as possible (and use e.g. Modeling or SQLAlchemy).

What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 15 '06 #3
On 10/15/06, Wolfgang Keller <wo********************@gmx.dewrote:
What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.
You've described Dabo perfectly. Have you looked into it yet? It's
written by a couple of database application developers.

--

# p.d.
Oct 15 '06 #4
Wolfgang Keller wrote:
Hello,

and thanks for your reply, but...
>Here's a start:

http://philip.greenspun.com/sql/

...small misunderstanding: I already know a bit of SQL,
Developping quality SQLDBMS-based applications requires more than "a
bit" of SQL knowledge.
and I intend to avoid
its use as far as possible (and use e.g. Modeling or SQLAlchemy).
I don't know Modeling, but have a bit of experience with SQLAlchemy, and
without SQL and relational model knowledge, you won't get very far.
What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.
This is more a general design question than a database-related (or even
Python-related) one. The answer starts with forgetting about
"connect(ing) a GUI to a database" IMHO and experience. Might be time to
google for MVC...
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Oct 16 '06 #5
Wolfgang Keller <wo********************@gmx.dewrites:
http://philip.greenspun.com/sql/

...small misunderstanding: I already know a bit of SQL, and I intend to avoid
its use as far as possible (and use e.g. Modeling or SQLAlchemy).
I'm not sure what you mean, that book isn't just an intro to SQL, it
discusses how to tune for performance, etc. It has quite a bit of
practical advice that you can tell came from hard-won experience by
the author. On the other hand, it's somewhat out of date by now and
it's Oracle-centered. Anyway it's online, you might spend a minute
looking at it to see if it's useful to you. It had sounded like the
type of thing you're asking for.
What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.
Erm, I can't really tell what you're asking for here; the application
simply makes database queries as needed.
Oct 16 '06 #6
>What I'm interested in is rather how to connect a GUI to a database, with
>quite a bit of application logic in between. And how to do it well.

You've described Dabo perfectly. Have you looked into it yet? It's
written by a couple of database application developers.
Yes, thanks, I know about Dabo. As I know about Kiwi, Thyme, GNUe, TinyERP
and so on...

But I would still like to learn how to do things myself if I need to.

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 16 '06 #7
Paul Rubin wrote:
http://philip.greenspun.com/sql/
There was a time (some time in the mid 90s) when I thought that Philip
Greenspun had a Clue. Then I realised just how wrong he was (he started
off reasonably right, he just didn't keep up when the world moved on).
The highlight of this process was seeing him booed during a conference
keynote speech -- by angry librarians and museum curators (he deserved
it too).

I can't imagine any topic, except possibly dog grooming, where I'd
listen to his advice.

Oct 16 '06 #8
Developping quality SQLDBMS-based applications requires more than "a
bit" of SQL knowledge.
No doubt. :-) But my "bit" is enough to get me going and to know where to
look for further information if I hit a wall. Especially the people on the
Postgres mailinglists (as well as the excellent documentation of Postgres)
tend to be very helpful here. :-)
>What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.

This is more a general design question than a database-related (or even
Python-related) one.
The question is specific to database applications in so far as these are
typically client-server aplications (multiple users working with the same
data with all the resulting concurrency nightmares), and as the volumes and
the complexity of the data to be handled are non-trivial.
The answer starts with forgetting about "connect(ing) a GUI to a database"
IMHO
Well, _somehow_ the GUI _has_ to be connected to the database. ;-)

I didn't say that this would be through a spaghetti-heap of SQL queries
hard-coded into the GUI event handlers.
and experience. Might be time to google for MVC...
I know about the existence of MVC. But what I'm actually missing is a nice
textbook that teaches how to actually implement it (and other design patterns
which are useful for database applications) in a real-world application in a
way that leads to non-ridiculous behaviour of the resulting application when
it gets actually used.

Preferrably using a language for the examples that's readable for someone who
has learned programming ages ago with Pascal and is now using Python because
he _hates_ everything that remotely ressembles to any mutation of
C(++/#/Java).

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 16 '06 #9
Wolfgang Keller wrote:
>Developping quality SQLDBMS-based applications requires more than "a
bit" of SQL knowledge.

No doubt. :-) But my "bit" is enough to get me going and to know where to
look for further information if I hit a wall. Especially the people on the
Postgres mailinglists (as well as the excellent documentation of Postgres)
tend to be very helpful here. :-)
Well, this was intended as a general observation !-)
>>What I'm interested in is rather how to connect a GUI to a database, with
quite a bit of application logic in between. And how to do it well.
This is more a general design question than a database-related (or even
Python-related) one.

The question is specific to database applications in so far as these are
typically client-server aplications (multiple users working with the same
data with all the resulting concurrency nightmares), and as the volumes and
the complexity of the data to be handled are non-trivial.
This can be true for non "database-applications" (well... non "SQL DBMS
based applications" would be better here I think) as well.
>The answer starts with forgetting about "connect(ing) a GUI to a database"
IMHO

Well, _somehow_ the GUI _has_ to be connected to the database. ;-)
The GUI has to be connected to the application, which uses the database.
There's no need for the GUI code itself to know anything about the SQL DBMS.
I didn't say that this would be through a spaghetti-heap of SQL queries
hard-coded into the GUI event handlers.
Hopefully not !-)
>and experience. Might be time to google for MVC...

I know about the existence of MVC. But what I'm actually missing is a nice
textbook that teaches how to actually implement it
Yes, this can be another problem. But FWIW, most modern GUI toolkits
already do a big part of the job.
(and other design patterns
which are useful for database applications) in a real-world application in a
way that leads to non-ridiculous behaviour of the resulting application when
it gets actually used.
There are some known anti-patterns at least. Like selecting a whole
table (preferably with all attributes) then looping thru the result set
just to count the number of records in the table (don't laugh, I've
actually seens this (and even worse) in production code).

But given your concerns, I don't think you'd do such a thing anyway !-)

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Oct 17 '06 #10
Wolfgang Keller wrote:
I know about the existence of MVC. But what I'm actually missing is a nice
textbook that teaches how to actually implement it (and other design patterns
which are useful for database applications) in a real-world application in a
way that leads to non-ridiculous behaviour of the resulting application when
it gets actually used.
Maybe you would like Martin Fowler's "Patterns of Enterprise Application
Architecture"
http://martinfowler.com/books.html#eaa
Preferrably using a language for the examples that's readable for someone who
has learned programming ages ago with Pascal and is now using Python because
he _hates_ everything that remotely ressembles to any mutation of
C(++/#/Java).
Examples are mostly Java and C#, sorry!

Kent
Oct 17 '06 #11
Maybe you would like Martin Fowler's "Patterns of Enterprise Application
Architecture" http://martinfowler.com/books.html#eaa
Thanks, this one is already on my list, just like "Data Access Patterns" from
the same publisher.
Examples are mostly Java and C#, sorry!
Which is precisely the reason why I wanted to make sure there really is
nothing else before I buy.

*sigh* I thought with Delphi being quite popular for database applications,
there should be _something_.

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 17 '06 #12
Dennis Lee Bieber wrote:
>
Python has a half dozen GUI toolkits, and multiple adapters for
databases (some don't even follow DB-API2 specs). All independently
written. So no, you are not going to find, say, a grid widget that
automatically links to a database table/view/cursor, with bi-directional
updates.
Aren't we going round in circles here? There presumably are grid
widgets connected to database tables/views/cursors, if only exposed via
user interface toolkits and other frameworks such as PyQt, Dabo and so
on, but I thought the questioner wanted to know how to implement these
things from the ground up.

Paul

Oct 18 '06 #13
Dennis Lee Bieber wrote:
On 18 Oct 2006 02:20:15 -0700, "Paul Boddie" <pa**@boddie.org.uk>
declaimed the following in comp.lang.python:

Aren't we going round in circles here? There presumably are grid

Possibly -- it was the fairly recent lamentation about Delphi that
made me think the initial desire had been for some such "automatic"
linkage between GUI and database that would have been preferred...
I think it's about finding the right level: the stated toolkits (Kiwi,
Thyme, GNUe, TinyERP) are probably quite high-level or mix in various
application-specific bonus material, and perhaps a fairly elementary
datagrid widget is what is being sought.
widgets connected to database tables/views/cursors, if only exposed via
user interface toolkits and other frameworks such as PyQt, Dabo and so
on, but I thought the questioner wanted to know how to implement these
things from the ground up.
... lacking such automation, a search for books on how to do this was
next. But given so many combinations of toolkits, I didn't think a
general (cookbook?) solution would be available.
True. Still, I can only point to things which might provide useful
building blocks in developing some of the solutions mentioned above.
For example, PyQt's QSqlRelationalTableModel and QTableView might be
acceptable building blocks:

http://www.riverbankcomputing.com/Do...ablemodel.html

See here for Python-based examples:

http://indico.cern.ch/contributionDi...d=41&confId=44

I'm sure other people can provide links to resources for other toolkits
and frameworks.

Paul

Oct 19 '06 #14
Wolfgang Keller wrote:
does anyone know of a good book that about development of database
applications?
Scott Ambler's "Agile Database Techniques"

Regardless of whether you'll actually use a full MVC framework or
not, I suggest that you write model classes that are fully decoupled
from the UI. Work in a test-driven fashion, writing tests first
and just coding until the test goes through, and then write the
next test. See e.g. Kent Beck's "Test-Driven Development". If
you use an SQL database below some ORM, you can use SQLite with
an in-memory database ":memory:" for your functional test. Fast
and simple.

I'd make the GUI as thin as possible, since GUI code it typically
more complicated to test automatically.
Oct 19 '06 #15
>does anyone know of a good book that about development of database
>applications?

Scott Ambler's "Agile Database Techniques"
Thanks for the hint, the summaries indicate that this one could be very
useful indeed.

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 20 '06 #16
and perhaps a fairly elementary datagrid widget is what is being sought.

*snip*
I'm sure other people can provide links to resources for other toolkits
and frameworks.
Err, slight misunderstanding. I am _not_ searching for a toolkit or framework
for database applications.

What I am searching for is a _book_ (or other learning material) about how to
implement database applications. See subject.

I want to learn this because I want to be able to

- understand the existing frameworks and be able to choos ethe one that suits
my needs best
- be able to fix bugs
- be able to implement missing things myself
- be able to do things "from scratch" if nothing else helps.

I mentioned Delphi just as an example for a language that I am able to read
easily.

TIA,

Sincerely,

Wolfgang Keller

--
My email-address is correct.
Do NOT remove ".nospam" to reply.

Oct 23 '06 #17

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

18
by: mountain man | last post by:
Greetings to all database professionals and laymen, Let us make a bold assumption that we have developed a software tool for the SQL Server environment which simply acts as an interface between...
5
by: Ben Kim | last post by:
Hello all, Can any of you recommend some good book titles for someone that has decades of experience programming various in languages (COBOL, Basic, Clarion, etc.)? I would like a full...
3
by: Griff | last post by:
I wish to buy a book to help me with the following "adventure". I've tried to specify what I need to achieve and my current level of ability. What I want to achieve: The decision has been made...
6
by: ted | last post by:
Hi, I have been programming for about 5 years mainly on client apps that are standalone and n-tier. I have very little experience with web development. I need a recommendation on a book that...
1
by: Georg Gast | last post by:
Hi, i'm looking for a good book to learn .NET and VS2005 (C++) . I know MSVC6 (C++) very good. Is there a book like "The Bible" (The C++ Programming Language) from Bjarne Stroustrup for...
1
by: Billy Biro | last post by:
Hi. I'm looking for some recommendations for Visual Basic 2005 books. Specifically, I'm NOT looking for books that detail the elements of the language, nor explain OOP, but rather present...
8
by: situ | last post by:
Hello all, i have Database1 and database2, is it possible to make database connection to database2 by running stored procedure on database1. Thanks and Regards Situ
7
by: simonZ | last post by:
I would like to buy a book with some windows application example in C# net , but all books I have found are only about theory. I would like to have a book, where is explained how to create...
6
by: Hello | last post by:
Hello every body Please can any body tells me a good book that can teach me "visual basic 2005" (as beginner). Thank you all =========================================
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.