using databases and sql what is databasea database is file that is organized for storing data most databases are organized like dictionary in the sense that they map from keys to values the biggest difference is that the database is on disk (or other permanent storage)so it persists after the program ends because database is stored on permanent storageit can store far more data than dictionarywhich is limited to the size of the memory in the computer like dictionarydatabase software is designed to keep the inserting and accessing of data very fasteven for large amounts of data database software maintains its performance by building indexes as data is added to the database to allow the computer to jump quickly to particular entry there are many different database systems which are used for wide variety of purposes includingoraclemysqlmicrosoft sql serverpostgresqland sqlite we focus on sqlite in this book because it is very common database and is already built into python sqlite is designed to be embedded into other applications to provide database support within the application for examplethe firefox browser also uses the sqlite database internally as do many other products sqlite is well suited to some of the data manipulation problems that we see in informatics such as the twitter spidering application that we describe in this database concepts when you first look at database it looks like spreadsheet with multiple sheets the primary data structures in database aretablesrowsand columns in technical descriptions of relational databases the concepts of tablerowand column are more formally referred to as relationtupleand attributerespectively we will use the less formal terms in this