Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!newsfeed.eweka.nl!eweka.nl!feeder3.eweka.nl!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; 'python,': 0.01; 'library,': 0.05; 'retrieved': 0.05; 'stuff.': 0.05; 'sqlite': 0.07; 'python': 0.08; 'correct.': 0.09; 'deletion': 0.09; 'to:addr:comp.lang.python': 0.09; 'library': 0.13; 'stored': 0.13; 'beginning.': 0.16; 'csv)': 0.16; 'dbms': 0.16; 'dictionaries': 0.16; 'idea:': 0.16; 'mission:': 0.16; 'with?': 0.16; 'cc:addr :python-list': 0.16; 'wrote:': 0.18; '>>>': 0.18; 'convert': 0.19; 'cc:no real name:2**0': 0.20; 'suggest': 0.20; 'later': 0.21; "doesn't": 0.22; 'header:In-Reply-To:1': 0.22; 'figure': 0.23; 'dictionary': 0.23; 'similar,': 0.23; 'structure': 0.26; "i'm": 0.26; 'developing': 0.26; 'function': 0.27; 'all,': 0.28; 'bit': 0.28; 'problem': 0.29; 'cc:addr:python.org': 0.29; 'second': 0.29; 'nov': 0.29; 'pm,': 0.29; '(maybe': 0.30; 'databases,': 0.30; 'hash': 0.30; 'subject:?': 0.31; "i've": 0.31; "i'll": 0.31; 'quite': 0.32; 'sufficient': 0.32; 'me?': 0.32; 'idea': 0.32; 'implement': 0.32; 'header:User-Agent:1': 0.33; 'there': 0.33; 'mostly': 0.34; 'too': 0.34; 'subject:project': 0.34; 'thank': 0.35; 'window': 0.35; 'however,': 0.36; 'file': 0.36; 'question': 0.36; 'cc:2**1': 0.36; 'class.': 0.37; 'disk': 0.37; 'but': 0.37; 'reasons': 0.37; 'received:192': 0.37; 'using': 0.38; 'replace': 0.38; 'several': 0.38; 'files': 0.39; 'received:192.168': 0.40; 'management': 0.60; 'more': 0.61; '2011': 0.61; 'full': 0.62; 'saturday,': 0.64; 'simple,': 0.64; 'p.s.': 0.67; '26,': 0.67; 'show': 0.67; 'safe': 0.70; 'header:Reply-To:1': 0.71; 'reply- to:no real name:2**0': 0.72; 'access,': 0.74; 'subject:this': 0.74; 'lightweight': 0.84; 'rusi': 0.84; 'movies': 0.96; 'sheet': 0.96 Date: Sat, 26 Nov 2011 21:35:29 -0500 From: Dave Angel User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Thunderbird/3.1.15 MIME-Version: 1.0 To: comp.lang.python@googlegroups.com Subject: Re: my new project, is this the right way? References: <4ec0f070$0$1378$4fafbaef@reader2.news.tin.it> <581dab49-e6b0-4fea-915c-4a41fa887c3b@p7g2000pre.googlegroups.com> <11840843.114.1322350898307.JavaMail.geo-discussion-forums@prfi36> In-Reply-To: <11840843.114.1322350898307.JavaMail.geo-discussion-forums@prfi36> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:XJob0TPdm1z1cGa1igPWROoPU+GKJKMXmsqwzfjXml1 wxHHEZInDVM1jM4xH85wYkxy+OqvpMbYgfu2C7AnHMLIeBepgV JKEr3oGKwfSw8kOPWjd0gSMX6r6dBl59z5W60tU1RUqn6UqC+7 7R1s153YuZ1gtqV2ifFcsN5hxPpMRYPExV0Gch1kcxSzo0S3r9 JPdRhwMbfNdtnUznAU8sVuy7yycVlfDPynHVOHbKk+BjyPRNYb ZucMQlo+PjYzxrtPQUWaO73VQoozdyJOdxiooLexFJHE/0wREk +Zf+cop4aA2GK/FOgjaGlG4KHWQ7xsFeikGwZcu/ail2pzM2SC ueHU3e1JvMOqjb0weua8= Cc: python-list@python.org, 88888 Dihedral X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: d@davea.name 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: 52 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1322361338 news.xs4all.nl 6889 [2001:888:2000:d::a6]:51234 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:16274 On 11/26/2011 06:41 PM, 88888 Dihedral wrote: > On Saturday, November 26, 2011 1:01:34 AM UTC+8, rusi wrote: >> On Nov 14, 3:41 pm, Tracubik wrote: >>> Hi all, >>> i'm developing a new program. >>> Mission: learn a bit of database management >>> Idea: create a simple, 1 window program that show me a db of movies i've >>> seen with few (<10) fields (actors, name, year etc) >>> technologies i'll use: python + gtk >>> db: that's the question >>> >>> 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) >>> >>> is there any general tutorial of how to start developing a database? i >>> mean a general guide to databases you can suggest to me? >>> Thank you all >>> >>> MedeoTL >>> >>> P.s. since i have a ods sheet files (libreoffice calc), is there a way to >>> easily convert it in a sqlite db? (maybe via csv) >> To learn DBMS you need to learn sql >> [Note sql is necessary but not sufficient for learning DBMS] >> I recommend lightweight approaches to start with -- others have >> mentioned access, libreoffice-base. >> One more lightweight playpen is firefox plugin sqlite-manager >> >>> 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) >> Correct. First you must figure out how to structure data -- jargon is >> normalization. >> After that you can look at transactions, ACID, distribution and all >> the other good stuff. > If I have a fast hash library that each hash function supports insertion and deletion and can be frozen to be stored into the file system if desired and retrieved lator . Can I use several hashes to replace a database that is slow and expensive? > If you're using Python, you already have a "fast hash" library, in the dictionary class. And yes, if a problem doesn't need the full generality of a database, you may be able to implement it with dictionaries, and it may even be practical to store those dictionaries to disk for later retrieval. However, there are quite a few reasons this may not be good enough. To start with just two: if there are multiple users of the database, and they have to be synched. Or if you have to be safe from a program or a system crashing. -- DaveA