Details of this Paper

CSC113 ca4




What are the differences between flat files and Relational Databases in Informational Systems Applications;your assignment is about classes & objects, classes & functions, introspection, object & object orientation and a small database project.;Required;Read chapters 15, 16 from ?Think Python: How to Think Like a Computer Scientist (Version 1.3.3)?, a reference in the background materials. Code all the examples and exercises into the Python IDLE and successfully run them. Save the final programs into Python files.;Read chapters 4 & 5 from Dive into Python, a reference in the background materials. Code all the examples and exercises into the Python IDLE and successfully run them. Save the final programs into Python files.;You've been going to work on a database project at work for sometime now. Your boss encourages you to program the database in Python. You disagree, arguing that Python is not a database language but your boss persists by providing the source code below for a sample telephone database. He asks you to do two things: 1. Evaluate the existing source code and extend it to make it useful for managers in the firm. (You do not need a GUI interface, just work on the database aspects: data entry and retrieval - of course you must get the program to run or properly work, and 2. He wants you to critically evaluate Python as a database tool.;Import the sample code below into the Python IDLE and enhance it, run it and debug it. Add features to make this a more realistic database tool by providing for easy data entry and retrieval. Export your successful program to a Python file for later upload to coursenet.;Here is the sample source code;#!/usr/bin/python;#;# An example from Sean Reifschneider's Python Tutorial at Linux Expo 98.;#;# Copyright (c) 1998 Sean Reifschneider,, ltd.;# This program is free software, you can redistribute it and/or;# modify it under the terms of the GNU General Public License;# as published by the Free Software Foundation, either version 2;# of the License, or (at your option) any later version.;# This program is distributed in the hope that it will be useful;# but WITHOUT ANY WARRANTY, without even the implied warranty of;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the;# GNU General Public License for more details.;# You should have received a copy of the GNU General Public License;# along with this program, if not, write to the Free Software;# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.;#;# You can contact Sean Reifschneider at;# P.O. Box 270624;# Fort Collins, CO USA 80527-0624;# or at;#;# Simple phone-number database module;import shelve;import string;UNKNOWN = 0;HOME = 1;WORK = 2;FAX = 3;CELL = 4;class phoneentry;def __init__(self, name = 'Unknown', number = 'Unknown;type = UNKNOWN); = name;self.number = number;self.type = type;# create string representation;def __repr__(self);return('%s:%d' % (, self.type));# fuzzy compare or two items;def __cmp__(self, that);this = string.lower(str(self));that = string.lower(that);if string.find(this, that) >= 0;return(0);return(cmp(this, that));def showtype(self);if self.type == UNKNOWN: return('Unknown');if self.type == HOME: return('Home');if self.type == WORK: return('Work');if self.type == FAX: return('Fax');if self.type == CELL: return('Cellular');class phonedb;def __init__(self, dbname = 'phonedata');self.dbname = dbname;self.shelve =;def __del__(self);self.shelve.close();self.shelve = None;def add(self, name, number, type = HOME);e = phoneentry(name, number, type);self.shelve[str(e)] = e;def lookup(self, string);list = [];for key in self.shelve.keys();e = self.shelve[key];if cmp(e, string) == 0;list.append(e);return(list);# if not being loaded as a module, run a small test;if __name__ == '__main__;foo = phonedb();foo.add('Sean Reifschneider', '970-555-1111', HOME);foo.add('Sean Reifschneider', '970-555-2222', CELL);foo.add('Evelyn Mitchell', '970-555-1111', HOME);print 'First lookup:;for entry in foo.lookup('reifsch');print '%-40s %s (%s)' % (, entry.number, entry.showtype());print;print 'Second lookup:;for entry in foo.lookup('e');print '%-40s %s (%s)' % (, entry.number, entry.showtype());Add all your saved Python files from requirements 1 - 3 above into a zip file. Add to the zip file, a one page description of what you have accomplished and what benefits you have achieved.;Case assignment expectations;Code all the required examples and exercises and successfully run them.;Provide a paper describing what you accomplished and what benefits you have achieved.;When your zip file is done, send it in to CourseNet.


Paper#72863 | Written in 18-Jul-2015

Price : $22