카테고리 없음

SQLITE (테이블/정규화_필요에 따른 테이블 분할)

장꾸꾸 2020. 9. 23. 12:02

 

3months.tistory.com/193

 

데이터베이스 정규화 1NF, 2NF, 3NF, BCNF

데이터베이스 정규화 1NF, 2NF, 3NF, BCNF 데이터베이스 정규화란 데이터베이스의 설계를 재구성하는 테크닉입니다. 정규화를 통해 불필요한 데이터(redundancy)를 없앨 수 있고, 삽입/갱신/삭제 시 발��

3months.tistory.com

webnautes.tistory.com/830

 

간단한 Android Sqlite 예제 ( DB생성,테이블 생성, 데이터 입력, 테이터 보여주기)

간단한 SQLite를 사용하는 예제 입니다. 앱을 시작하면 데이터 베이스를 생성하고  names, phones 두개의 컬럼이 있는 테이블을 생성하고 데이터를 삽입합니다. 그리고 나서 테이블에서 데이터를 가�

webnautes.tistory.com

 

 

SQLITE.MainActivity.class

 

package com.example.sqlite;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();

    }

    private void init() {
        SQLiteDatabase db = openOrCreateDatabase("sqlist_test.db", Context.MODE_PRIVATE, null);

        db.execSQL("CREATE TABLE IF NOT EXISTS member("
                + "idx INTEGER PRIMARY KEY AUTOINCREMENT,"
                + "name TEXT,"
                + "age INTEGER,"
                + "address TEXT" + ");");

        /** 삽입 **/
//        for (int i = 0; i < 20; i++) {
////            String sql = "INSERT INTO member (name,age,address) VALUES ('하하 "+ i +"', 10 ,'Seoul')";
////            //로그찍어서 확인하면 편함
////            db.execSQL(sql);
////        }


        /** 검색 **/
        Cursor c = db.rawQuery("SELECT * FROM member", null);
//        Log.d("heu", "count: " + c.getCount()); // 전체 줄수를 가져온다
        c.moveToFirst();
        while (c.isAfterLast() == false) {
            Log.d("heu",
                    "name: " + c.getString(1)
                            + " age: " + c.getInt(2)
                            + " address: " + c.getString(3));
            c.moveToNext();
        }

        c.close();
        db.close();
    }
}

 

DB저장확인) 로그 출력

로그출력값

        /** 삽입 **/
        for (int i = 0; i < 20; i++) {  //실행될 때마다 저장되는 무한루프니까 주석처리해둠. 실행할 때는 주석 풀고
            String sql = "INSERT INTO member (name,age,address) VALUES ('하하 "+ i +"', 10 ,'Seoul')";
            //로그찍어서 확인하면 편함
            db.execSQL(sql);
            Log.d("ggg", sql);
        }
        Log.d("heu", "count: " + c.getCount()); // 전체 줄수를 가져온다

 

DB검색) 로그출력

// db는 저장 공간을 말하는 거고

// 테이블 이름이 member. 한 프로젝트 내에서 공유됨. 

        /** 삭제 **/
        sql = "DELETE FROM member";
        // ex_ sql = "DELETE FROM member WHERE idx=6";
        db.execSQL(sql);

        /**수정**/
        sql = "UPDATE member SET name = '개똥' WHERE idx=2";
        Log.d("aabb", "sql: "+sql);
        db.execSQL(sql);

 

        //테이블 열기 또는 만들기
        SQLiteDatabase db = openOrCreateDatabase("sqlist_test.db", Context.MODE_PRIVATE, null);