we may need to revert to typing sql commands in client--part of the reason sql is language is because it must support so much generality further extensions to these scripts are left as exercises change this code as you likeit' pythonafter all sql resources although the examples we've seen in this section are simpletheir techniques scale up to much more realistic databases and contexts the websites we studied in the prior part of the bookfor instancecan make use of sql-based systems such as mysql to store page state information as well as long-lived client information because mysql (among otherssupports both large databases and concurrent updatesit' natural for website implementation there is more to database interfaces than we've seenbut additional api documentation is readily available on the web to find the full database api specificationsearch the web for "python database api you'll find the formal api definition--really just text file describing the pep (the python enhancement proposalunder which the api was hashed out perhaps the best resource for additional information about database extensions today is the home page of the python database sig go to the community and sigs links thereand navigate to the database group' pageor run search thereyou'll find api documentation (this is where it is officially maintained)links to database vendor-specific extension modulesand more and as alwayssee the pypi website and search the web at large for related third-party tools and extensions ormsobject relational mappers in this we've seen oodbs that store native python objects persistentlyas well as sql databases that store information in tables it turns out that there is another class of system that attempts to bridge the object and table worldswhich 've hinted at earlier in this orms graft the python class model onto the tables of relational databases they combine the power of relational database systems with the simplicity of python class-based syntax--you don' need to forgo sql-based databasesbut you can still store data that seems like python objects to your scripts todaythere are two leading open source third-party systems that implement this mappingsqlobject and sqlalchemy both are fairly complex systems that we cannot do full justice to in this textand you're best off researching their documentation on the web for the full story (there are also dedicated books covering sqlalchemy todaymoreoverneither is completely python ready as write these wordsso we can' run live examples with them in this text databases and persistence