     /// The names of all tables in the database.
     public var tableNames: [String] {
         return tables.map { $0.name }
+    }
+    
+    /// Returns the entry for a particular table.
+    public func tableNamed(tableName:String) -> SchemaEntry? {
+        for entry in schemaEntries {
+            if entry.isTable && entry.name == tableName {
+                return entry
+            }
+        }
+        return nil
     }
     
     // -----------------------------------------------------------------------------------------------------------------

    /// The entries in the Schema, each describing a table, index, or other structure.
    public let schemaEntries: [SchemaEntry]
    
    // -----------------------------------------------------------------------------------------------------------------
    // MARK:  Tables
    

    /// The names of all columns in the table.
    public var columnNames : [String] {
        return columns.map { $0.name }
    }
    
    public subscript(columnName:String) -> ColumnInfo? {
        for column in columns {
            if column.name == columnName {
                return column
            }
        }
        return nil
    }
    
}
