Differences between revisions 47 and 49 (spanning 2 versions)
Revision 47 as of 2007-06-16 04:58:52
Size: 2481
Editor: anonymous
Comment:
Revision 49 as of 2007-06-16 05:00:19
Size: 2498
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * GOAL: SAGE Enhancement Proposal. GOAL: SAGE Enhancement Proposal.
Line 35: Line 35:
     * clear_queries

Databases

[:days4/projects/: Other SAGE Days 4 Projects]

Robert Miller, Emily Kirkman, Tom Boothby, David Joyner, Yi Qiang

GOAL: SAGE Enhancement Proposal.

  • unified Database class
    • recursive queries without actually calling sqlite every time: queries kept track of by a string...
    • exactly what should the following do?
      • D = Database('something.db')
        Q = D.query({'number_of_finches' : 7}, inplace=False) # hypothetical way to query
      • proposal: it should create a new Database object, with a separate connection to the same database, and add "number_of_finches = 7" to the query string
        D = Database('something.db')
        D.query({'number_of_finches' : 7}, inplace=True) # hypothetical way to query
      • proposal: it should add "number_of_finches = 7" to the query string
    • init establishes connection to sqlite
      •  D = Database()  creates a new temp database and opens a connection to it

      •  D = Database('existing.db')  opens a connection to 'existing.db'

    • create, remove and modify tables
    • copy method
    • print?
      • should probably just print a string with database name, number of tables...?
    • save
      •  D.save('my.db')  should copy the class's database file to my.db.

      • should this execute queries first?
    • show
      • for extensions to the Database class, this can be anything, e.g. graph database prints nice table
      • for default database class, what would this do? execute any queries and print the data?

    • clear_queries
  • Brainless database creation.
  • Databases distributed with sage: Standard databases included with sage should be immutable
  • Online databases
    • cgi web-accessible...
    • accessible from SAGE, perhaps hosted at sage.math...
    • SQLite servers?
  • Automagic caching: keep track of computation results
    • keeping those results in portable objects, making these objects merge-able, etc...
  • Licensing: \exists DBGPL?

  • Noticing identical database entries
  • SAGE [http://www.initd.org/pub/software/pysqlite/doc/usage-guide.html interface] to sqlite [:sqlite-tutorial: creating your own database using sqlite in sage]

days4/projects/database (last edited 2008-11-14 13:42:11 by anonymous)