9.2.1. 数据库原型及其创建

优质
小牛编辑
130浏览
2023-12-01

9.2.1.数据库原型及其创建

数据库原型(schema)是对数据库结构的描述。 在Yamba的数据库中,我们希望储存从Twitter获取的数据的以下字段:

created_at

消息的发送时间

txt

文本内容

user

消息的作者

表中的每一行数据对应一条Twitter消息,以上四项就是我们要在原型中定义的数据列了。另外,我们还需要给每条消息定义一个唯一的ID,以方便特定消息的查找。同其它数据库相同,SQLite也允许我们将ID定义为主键并设置自增属性,保持键值唯一。

数据库原型是在程序启动时创建的,因此我们在DbHelper的onCreate()方法中完成此项工作。在以后的迭代中,我们可能需要添加新列或者修改旧列,为方便版本控制,我们将为每个原型添加一个版本号,以及一个方法onUpgrade(),用以修改数据库的原型。

onCreate()和onUpgrade两个方法就是我们应用程序中唯一需要用到SQL的地方了。在onCreate()方法中,需要执行CREATE TABLE来创建表;在onUpgrade()方法中,需要执行ALTER TABLE来修改原型,不过这里为方便起见,直接使用DROP TABLE删除表然后再重新创建它。当然,DROP TABLE会毁掉表中所有的数据,但在Yamba中这样做完全没有问题,因为用户一般只关心过去24小时的消息,即使丢失了,仍可以重新抓取回来。