"테이블" = "릴레이션"이라고 부른다.

그래서 "관계형 데이터 베이스"라고 합니다.

 

"레코드" = "튜플" = 가로

"컬럼" ="attribute" = 세로

 

 

 

이미 만들어진 상태에서 또 만들 수는 없기 때문에 -> 이 코드 사용하면됩니다

(이미 만들어져 있으면, 안 만듭니다.)

"create table if not exists 테이블명(컬럼1 interger PRIMARY KEY autoincrement, 
                                              컬럼2 text,
                                               컬럼3 float);"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-코드1차- (데이터베이스 오픈)

-결과-

 

 

 

 

 

-코드1차(추가 했음)- (테이블 생성)

-결과-

 

 

 

 

 

 

-코드(추가 했음)- (데이터 추가)

-결과-

 

 

 

 

 

 

-코드(추가 했음)- (데이터 조회)

-결과-

생략

 

 

 

 

 

 

 

 

 

 

 

헬퍼 클래스

어떤 하나 앱을 깔아서 사용하고 있습니다.

그러면 그 앱을 계속 사용하다가 보면, 데이터들이 계속 저장 되어 있잖아요,

근데, 데이터베이스에 컬럼 하나를 추가했다라고 하면,

데이터베이스 안에 테이블이 있는데, 테이블을 삭제하고 새로 만들면, 전혀 문제가 없는데,

그 전에 사용자들이 거기에 데이터 들이 이미 저장하고 사용하고 있던게, 문제가 됩니다.

 

그 상황에서 테이블을 그냥 삭제를 하면 어떻게 되요?

기존에 쓰고 있던 데이터들이 전부 날라가게 됩니다.

 

그래서, 이미 쓰고 있는 경우에는 무작정 삭제할 수가 없잖아요!!

 

그러면, 어떻게 해야하냐면,

월래 쓰고 있던 사람들은 업그레이드를 해야 하는 거구요,

새로 사용하는 사람들은 신규로 만들어 주어야 합니다.

 

그런것을 지원해 주는 것이 SQLiteOpenHelper클래스 입니다.

SQLiteOpenHelper클래스를 사용 하면 기존에 설치되어 있는 데이터베이스가 있는지,

그 다음에 그 데이터베이스에 버전이 뭔지를 확인해 주어야합니다.

 

 

 

 

 

 

 

 

 

 

 

- SQLiteOpenHelper를 상속한 클래스 안에 메소드들 -

- onCreate() 생략

- onUpgrade()

 

 

 

 

- 쓸때는 이렇게 사용 하면 됨 -

DatabaseHelper <- SQLiteOpenHelper 상속한 클래스