DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

33
DKU-MUST Mobile ICT Education Center 12. Data Storage and Management

Transcript of DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 1: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

DKU-MUST Mobile ICT Education Center

12. Data Storage and Management

Page 2: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 2

Goal

• Learn the basic concepts of database.

• Learn how to use the SQLite.

• App development using SQLite.

• Learn how to use the SQLite GUI Tool.

Page 3: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 3

1. SQLite Basic ▶ Basic concepts of database

Overview the SQLite SQLite is a relational database management system contained in a small C

programming library. In contrast to other database management systems,

SQLite is not a separate process that is accessed from the client application, but an integral part of it.

SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity.

SQLite is a popular choice as embedded database for local/client storage in application software such as web browsers.

It is arguably the most widely deployed database engine, as it is used today by several widespread browsers, operating systems, andembedded systems, among others.

SQLite has many bindings to programming languages.

Page 4: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 4

1. SQLite Basic ▶ Basic concepts of database

Database definition A database is an organized collection of data.

The data is typically organized to model relevant aspects of reality(for example, the availability of rooms in hotels), in a way that supports processes requiring this information(for example, finding a hotel with vacancies).

Database management systems (DBMSs) are specially designed applications that interact with the user, other applications, and the database itself to capture and analyze data.

A general-purpose database management system(DBMS) is a software system designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, SQLite, Microsoft SQL Server, Microsoft Access, Oracle, SAP, dBASE, FoxPro, and IBM DB2. A database is not generally portable across different DBMS, but different DBMSs can inter-operate by using standards such as SQL and ODBC or JDBC to allow a single application to work with more than one database.

Page 5: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 5

Relational Database A relational database is a database that has a collection of tables of data

items, all of which is formally described and organized according to the relational model. The term is in contrast to only one table as the database, and in contrast to other models which also have many tables in one database.

In the relational model, each table schema must identify a primary column used for identifying a row called the primary key. Tables can relate by using a foreign key that points to the primary key. The relational model offers various levels of refinement of the table relations called database normalization. (See Normalization below.) The database management system (DBMS) of a relational database is called an RDBMS, and is the software of a relational database.

The relational database was first defined in June 1970 by Edgar Codd, of IBM's San Jose Research Laboratory. Codd's view of what qualifies as an RDBMS is summarized in Codd's 12 rules.

A relational database has become the predominant choice in storing data. Other models besides the relational model include the hierarchical database model and the network model.

1. SQLite Basic ▶ Basic concepts of database

Page 6: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 6

Database-related terms

1. SQLite Basic ▶ Basic concepts of database

Database

Naver Database

A Database B Database

Table

B Table

C Table

Column Name

Member Table

Column

Row

Page 7: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 7

Steps to build the database in the SQLite

① Create the Database↓

② Create the Table↓

③ Input the Data↓

④ Select/Using the Data

1. SQLite Basic ▶ Build a database in SQLite

Step. 1 Step. 2 Step. 3

Install the DBMS(Already Installed)

Building the Database

Using the datathat built in application

Page 8: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 8

[Practice 12-1] To build a database (1/7)

To build a Database Build a database in SQLite

Access the command prompt

Project Info. Project Name : Project12_1 Package Name : com.cookandroid.project12_1 build SDK : Goolge API 15 or 16 Minimum Required SDK : API 15 or 16 Activity Name : Project12_1Activity Layout Name : main Title : Project12_1

First, Run the projectBecause AVD is Running이번 실습은 프로젝트를 실행해서우선 AVD 를 가동해야 한다 .

1. SQLite Basic ▶ Build a database in SQLite

Page 9: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 9

Run the adb.exe Run the command prompt → Run the adb.exe Adb.exe path is “androidsdk\platform-tools\”

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (2/7)

Page 10: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 10

Ready access to SQLite

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (3/7)

Page 11: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 11

① Create a Database

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (4/7)

Page 12: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 12

② Create a table

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (5/7)

Page 13: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 13

③ Input the Data

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (6/7)

Page 14: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 14

④ Using and select… the data

1. SQLite Basic ▶ Build a database in SQLite

[Practice 12-1] To build a database (7/7)

Page 15: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 15

Create the myDB(Database), and Create the table

[Self Test 12-1]

1. SQLite Basic ▶ Build a database in SQLite

Product Name PriceDate of Manufac-

tureManufacturing

CompanyRemaining quan-

tity

TV 100 2012.07.22. Samsung 55

Computer 150 2013.05.05. LG 7

Monitor 50 2014.09.09. Daewoo 33

Printer 80 2013.05.20. HP 24

Page 16: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 16

SQLite behavior for the development of Android App Using the

SQLiteOpenHelper Class, SQLiteDatabase Class, Cursor Interface

2. Using the SQLite ▶ SQLite Programming

SQLiteOpenHelper Class

SQLiteDatabase

Inheritoverride

SQLiteDatabase Class

Cursor Interface

Create the DatabaseCreate the Table

Execution of the SQL Query

Move the Cursor

Page 17: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 17

Mainly used the method in each class

2. Using the SQLite ▶ SQLite Programming

Class or Interface Method Main purpose

SQLiteOpenHelper Class

Constructor Create the Database

onCreate() Create the Table

onUpgrade() Delete the Table and recreate

getReadableDatabase()

Open read-only DB, return the SQLiteDatabase

getWritableDatabase()Open for reading and writing DB, Return the SQLiteDatabase

SQLiteDatabase Class

execSQL() Execute the SQL Query(Insert, Update, Delete)

close() Close the DB

Query(), rawQuery() After running, the select cursor returns

Cursor Interface

moveToFirst() Move to the first row of the cursor

moveToLast() Move to the last row of the cursor

moveToNext() Move to the next row of the cursor

Page 18: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 18

[Practice 12-2] Create the DB management singer name App (1/9)

Create the singer name DB management App Insert and Select the name of Singer group in the Database

Project Info. Project Name : Project12_2 Package Name : com.cookandroid.project12_2 build SDK : Goolge API 15 or 16 Minimum Required SDK : API 15 or 16 Activity Name : Project12_2Activity Layout Name : main Title : Project12_2

2. Using the SQLite ▶ SQLite Programming

Page 19: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 19

Design the Screen LinearLayou 1 : 1 TextView, 1 EditText(edtName) LinearLayou 2 : 1 TextView, 1 EditText(edtNumber) LinearLayou 3 : 3 Button(btnInit, btnInsert, btnSelect) LinearLayou 4 : 2 EditText(edtNameResult, edtNumberResult)

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (2/9)

Page 20: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 20

Java Coding 1 Define a class that inherits from SQLiteOpenHelper class Modify the constructor

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (3/9)

Page 21: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 21

Java Coding 2 : Coding the onCreate( ) and onUpgrade( ) method of the myDBHelper class

onCreate( ) method : Coding the create a table code onUpgrade( ) method : Coding the delete table and recreate table code

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (4/9)

Page 22: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 22

Java coding 3 : Coding the main Activity class

The newly created myDBHelper class variables / Four variables respond to EditText

The three variables respond to the Button / SQLiteDatabase Class variabless

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (5/9)

Page 23: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 23

Java coding 4 Coding the Listener to run, when you click the <Default>

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (6/9)

Page 24: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 24

Java coding 5 When you click the <input>,

Coding the Listener for input the value of the EditText

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (7/9)

Page 25: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 25

Java Coding 6 When you click the <select>,

coding the Listener for show the all data in the table.(printed on the bottom of the EditText)

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (8/9)

Page 26: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 26

Run and the results confirm After running the project, enter the required information and confirm the

results At the command prompt, confirm the contents of the groupDB

2. Using the SQLite ▶ SQLite Programming

[Practice 12-2] Create the DB management singer name App (9/9)

Page 27: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 27

Update the [Practice 12-2] Add a <Update> and <Delete>

button

① 이름에 그룹 이름과 변경된 인원을 입력한 후 < 수정 > 을 클릭하면 해당 그룹의 인원이 변경되도록 한다 .

② 이름에 그룹 이름을 입력하고 < 삭제 > 를 클릭하면 해당 그룹의 행이 삭제되도록 한다 .

③ < 입력 >, < 수정 >, < 삭제 > 를 클릭하면 그 결과가 즉시 화면에 보이도록 한다 .

[Self Test 12-2]

2. Using the SQLite ▶ SQLite Programming

Page 28: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 28

SQLite Database Browser (1/2) : Create a database and table

2. Using the SQLite ▶ Using SQLite GUI Tool

Page 29: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 29

SQLite Database Browser (2/2): Input the data

생성한 데이터베이스 파일은 DDMS 를 통해 AVD 에 넣어서 (Push) 사용할 수 있다 .

2. Using the SQLite ▶ Using SQLite GUI Tool

Page 30: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 30

[ 실습 12-2] 의 groupDB 데이터베이스 파일을 DDMS 를 이용해서 AVD 에서 PC 로 가져 온 (Pull) 후 수정한다 . SQLite Database Browser 에서 가수 그룹 이름을 모두 한글로 고치고

가수그룹을 몇 개 더 입력해보자 . 그리고 AVD 에 다시 넣은 (Push) 후 [ 실습 12-2] 를

실행해서 데이터가 잘 조회되는지 확인한다 .

[Self Test 12-3]

2. Using the SQLite ▶ Using SQLite GUI Tool

Page 31: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 31

SQLite Developer

2. Using the SQLite ▶ Using SQLite GUI Tool

Page 32: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

Page 32

Summary

1. Database-related terms Data, Table, Database, DBMS, column(column or field), column

name, Type of data(data type), row, SQL

2. The database type of SQL statements Create a table : CREATE TABLE Input the data : INSERT INTO Update the data : UPDATE Delete the data : DELETE FROM Select the data : SELECT

3. SQLite Progamming Using the SQLiteOpenHelper Class, SQLiteDatabase Class and

Cursor Interface

Page 33: DKU-MUST Mobile ICT Education Center 12. Data Storage and Management.

DKU-MUST Mobile ICT Education Center