Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'plenty': 0.03; 'python.': 0.04; 'skip': 0.04; 'postgresql': 0.05; 'sqlite': 0.07; 'python': 0.08; 'relational': 0.09; 'mon,': 0.15; 'apis.': 0.16; 'beginning.': 0.16; 'complexity,': 0.16; 'computation': 0.16; 'databasing,': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'mission:': 0.16; 'with?': 0.16; 'wrote:': 0.18; 'received:209.85.210.174': 0.18; 'received:mail- iy0-f174.google.com': 0.18; 'figure': 0.20; 'later': 0.21; 'fundamentals': 0.23; 'similar,': 0.23; 'header:In-Reply-To:1': 0.23; 'code': 0.25; 'worked': 0.26; "i'm": 0.26; 'developing': 0.26; 'all,': 0.27; 'bit': 0.28; 'message-id:@mail.gmail.com': 0.29; 'second': 0.29; 'databases,': 0.30; 'separately': 0.30; '(the': 0.30; 'subject:?': 0.31; "i'll": 0.31; 'nov': 0.31; 'pm,': 0.31; 'web.': 0.32; 'pretty': 0.32; "can't": 0.32; 'to:addr :python-list': 0.32; "i've": 0.33; 'that,': 0.33; 'done': 0.33; 'too': 0.33; 'idea': 0.34; 'subject:project': 0.34; 'things': 0.35; 'skip:" 10': 0.36; 'speak': 0.36; 'cases,': 0.38; 'received:google.com': 0.38; 'easier': 0.38; 'subject:new': 0.38; 'received:209.85': 0.38; 'tutorials': 0.38; "there's": 0.39; 'subject:: ': 0.39; 'change': 0.39; 'to:addr:python.org': 0.39; 'received:209': 0.40; 'your': 0.61; 'back': 0.62; '2011': 0.62; 'engine.': 0.63; 'direct': 0.66; 'heavy': 0.71; 'subject:this': 0.74; 'quality': 0.74; 'best!': 0.84; 'guts': 0.84; 'hand.': 0.84; 'engines.': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=bShbNRnavbrci2vEEF3sQm/vb4oyAFOfGZqTGwaSp1M=; b=j4BRRq6Jf6hMtdbNE+H1afOGmNSwxnF4xxVz3+Lpv3YhaEaJGEyOyrd73fiyG+I1XE 8/RHBu62Q3pyv6wScc+MB7ObaZQbm3/sivWdnEWnMo4RRf/YYyqTPG4MmL4PW5LV4lXx d4Q+CO9tt+BsBCabsbZ5IJ2kNoAKxgf6LqQHo= MIME-Version: 1.0 In-Reply-To: <4ec0f070$0$1378$4fafbaef@reader2.news.tin.it> References: <4ec0f070$0$1378$4fafbaef@reader2.news.tin.it> Date: Mon, 14 Nov 2011 21:55:43 +1100 Subject: Re: my new project, is this the right way? From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 35 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1321268146 news.xs4all.nl 6883 [2001:888:2000:d::a6]:38314 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:15665 On Mon, Nov 14, 2011 at 9:41 PM, Tracubik wrote: > Hi all, > i'm developing a new program. > Mission: learn a bit of database management If your goal is to learn about databasing, then I strongly recommend a real database engine. > since i'm mostly a new-bye for as regard databases, my idea is to use > sqlite at the beginning. > > Is that ok? any other db to start with? (pls don't say mysql or similar, > they are too complex and i'll use this in a second step) The complexity, in most cases, is a direct consequence of the job at hand. I recommend PostgreSQL generally, although I've never used it with Python and can't speak for the quality of the APIs. The most important thing to consider is a separation of the back end (the "guts") from the front end (the "interface"). Since your goal is to explore databases, the guts of your code will basically just be working with the database (no heavy computation or anything). Make sure you can work with that, separately from your GUI. You may find it easier to dispense with GTK and just work through the console; you can always change later to make a pretty window. If you've never worked with databases before, it may be best to skip Python altogether and explore the fundamentals of relational database engines. There's plenty of excellent tutorials on the web. Get to know how things are done generally, and you'll be able to figure out how things are done in Python. All the best! ChrisA