[PDF] Giới Thiệu Về SQLite - te
Có thể bạn quan tâm
Search
- Categories
- Top Downloads
- Login
- Register Search
- Home
- Gi*i Thi*u v* SQLite
Short Description
Download Gi*i Thi*u v* SQLite...Description
Giới Thiệu về SQLite -Tìm hiểu chung về SQLite -Tạo , kết nối , thao tác với Database (SQLite) Tìm hiểu chung về SQLite • Mỗi ứng dụng đều sử dụng dữ liệu, dữ liệu có thể đơn giản hay đôi khi là cả 1 cấu trúc. Trong Android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng ( Mozilla Firefox sử dụng SQLite để lưu trữ các dữ liệu về cấu hình, iPhone cũng sử dụng cơ sở dữ liệu là SQLite). Các Hệ QTCSDL • Tại sao SQLite được sử dụng Tìm hiểu chung về SQLite • • SQLite có các ưu điểm sau: SQLite được Richard Hipp viết dưới dạng thư viện bằng ngôn ngữ lập trình C. • Được thực hiện như 1 thư viện thay vì chạy trên 1 tiến trình riêng biệt • • • • • • • • Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thưc hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không hỗ trợ) Không cần cài đặt cấu hình Kích thước chương trình gọn nhẹ, với cấu hình đầy đủ chỉ không đầy 300 kB Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ sở dữ liệu khách/chủ khác[1] Không cần phần mềm phụ trợ Phần mềm tự do với mã nguồn mở, được chú thích rõ ràng SQLite database requires little or no administration • • • • • Mỗi Sqlite Database sẽ được tích hợp với ứng dụng tạo ra nó Do đó: -giảm tải các phụ thuộc bên ngoài -giảm thiểu tối đa độ trễ -Đơn giản hơn trong giao dịch và đồng bộ hóa Tìm hiểu chung về SQLite • Datatype • Sqlite cho phép bạn lưu bất cứ kiểu giá trị nào cho bất cứ ô nào dù cột đó đã đc định nghĩa kiểu trước đó • TABLE STUDENT_DEMO • COLUMN : _ID : integer primarykey autoincrement; • COLUM N : S_NAME : text not null ; • • • COLUMN : S_AGE : integer ; INSERT into STUDENT_DEMO (S_NAME,S_AGE) VALUES(‘tung’,’sjka’); =>Tung ,0 Tìm hiểu chung về SQLite • • • • • • Situations Where SQLite Works Well Application File Format(SQLite Đã được sử dụng thành công như định dạng file trên đĩa cho các ứng dụng desktop như các công cụ phân tích tài chính, CAD packages,Ctr lưu trữ bản ghi,vv) Embedded devices and applications(Because an SQLite database requires little or no administration, SQLite is a good choice for devices or services that must work unattended (không giám sát)and without human support. SQLite is a good fit for use in cellphones, PDAs, set-top boxes, and/or appliances(đồ gia dụng)) Experimental SQL language, extensions(Chính vì sự đơn giản trong thiết kế các module của SQLite mà nó được sử dụng để thử nghiệm tạo ra các mẫu mới ,các tính năng và ý tưởng mới của ngôn ngữ Database) Websites(Dùng cho các trang web có lưu lượng trung bình) Internal or temporary databases(Cho các Ctr có nhiều dữ liệu cần lọc ,sắp xếp bằng nhiều cách #,để đơn giản và nhanh chóng ng ta load dữ liệu vào bộ nhớ của SQLite và sử dụng các QUERY để lấy các thông tin cần thiết , Sử dụng cách này cho phép lập trình viên linh hoạt hơn khi các cột hay các chỉ số có thể được thêm vào mà không phải mã hóa lại các câu lênh query.) Tìm hiểu chung về SQLite Adobe sử dụng SQLite như 1 ứng dụng định dạng file cho sản phẩm Photoshop Lightroom của họ, nó cũng trở thành 1 phần chuẩn của AIR (Adobe Integrated Runtime ),bên cạnh đó Acrobat Reader cũng sử dụng SQLite It is known that Google uses SQLite in their Desktop for Mac, in Google Gears, in the Android cellphone operating system, and in the Chrome Web Browser. People are suspicious that Google uses SQLite for lots of other things that we do not know about yet. Các kỹ sư tại Google đã có những đóng góp lớn cho các hệ thống con tìm kiếm toàn văn bản trong SQLite . Apple uses SQLite for many functions within Mac OS X, including Apple Mail, Safari, and in Aperture. Apple uses SQLite in the iPhone and in the iPod touch and in iTunes software. SQLite là định dạng lưu trữ siêu dữ liệu chính cho Firefox Web Browser, Thunderbird Email Reader The popular PHP programming language comes with both SQLite2 and SQLite3 built in. • • • • • • Situations Where Another RDBMS May Work Better Client/Server Applications(hiệu quả không cao,có thể dẫn đến việc 2 người dùng khác nhau sửa đổi cùng 1 dữ liệu trong cùng 1 thời điểm)-nói chung ta tránh sử dụng khi dữ liệu được chia sẻ và truy cập đồng thời bằng nhiều máy tính qua net Các website lớn Tập dữ liệu lớn :SQLite bị giới hạn tới 2 terabytes,thậm chí có thể sử lý lớn hơn,nó lưu trữ database trên file đĩa,tuy nhiên 1 số hệ thống file giới hạn max size cho các file của nó nhỏ hơn con số trên Khối lượng truy cập cao: -nếu có 1 tiến trình đang đọc 1 phần bất kì nào đó của CSDL,các tiến trình khác sẽ không được phép ghi lên bất cứ thành phần náo khác của nó, tương tự… Tạo và kết nối CSDL • SQLiteOpenHelper • Dùng để kết nối ứng dụng với database của nó • • • • • • • • • • Tạo class StudentOpenHelper implements SQLiteOpenHelper Hàm tạo public StudentOpenHelper(Context context) { super(context,DATABASE_NAME, null, 1); } Implement các hàm của Interface SQLiteOpenHelper -Oncreate(SQLiteDatabase db) -onOpen(SQLiteDatabase db) -onUpGrade(SQLiteDatabase db, int oldVersion, int newVersion) Tạo và kết nối CSDL • package data; • • • import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; • • • • • • • • • • • • • • • • • • • • • • • • • public class StudentOpenHelper extends SQLiteOpenHelper { public Context context; public static final String DATABASE_NAME = "mystudent.db1"; public StudentOpenHelper(Context context) { super(context,DATABASE_NAME, null, 1); } public void onOpen(final SQLiteDatabase db) { super.onOpen(db); } public void onCreate(SQLiteDatabase db) { StudentTable.onCreate(db); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { StudentTable.onUpgrade(db, oldVersion, newVersion); } } • • • • public void onOpen(final SQLiteDatabase db) { super.onOpen(db); //db.execSQL("alter table "+ShopItemTable.DATABASE_TABLE+" add column unit text not null"); • //db.execSQL(myItemTable.CREATE_TABLE); • //db.execSQL("DROP TABLE "+ConfigTable.DATABASE_TABLE); • //db.execSQL(ConfigTable.CREATE_TABLE); Tạo và kết nối CSDL • package data; • import android.database.sqlite.SQLiteDatabase; • • public class StudentTable { public static String DATABASE_TABLE = "student_demo"; public static String STUDENT_ID = "_id"; public static String STUDENT_NAME = "s_name"; public static String STUDENT_AGE = "s_age"; • • • • • • • • • • • • • • • • • • • • • • public static final String CREATE_TABLE = "create table "+StudentTable.DATABASE_TABLE+" ( "+ StudentTable.STUDENT_ID+" integer primary key autoincrement,"+ StudentTable.STUDENT_NAME+" text not null ,"+ StudentTable.STUDENT_AGE+" integer );"; public static void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } public static void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table if exists "+DATABASE_TABLE); StudentTable.onCreate(db); } } Cách thức truy vấn • -rawQuery(String query , String[] array); • -query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) • execSQL(String sql) Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data. Cách thức truy vấn rawQuery() Query() • • String[] cols = {“_id”,”s_name”}; • String[] params = {“1,”23”}; • Cursor c = db.query(“student_demo”, cols,”_id = ? And age = ?”,params,null, Null,5 • ); • -hơi phức tạp • -linh hoạt hơn • -tránh SQL Injection attacks String query = “select * from student_demo where _id = ? And age > ? Order by s_name limit ?”; • Cursor c = db.rawQuery( query, new String[]{“1”,”23”,”5”} • ); • -Ưu điểm : dễ sử dụng • -Nhược điểm dùng để truy vấn trên nhiều bảng hoặc nhiều cột dễ nhầm lẫn Cách thức truy vấn • • • • • execSQL(String sql) -Dùng cho ALTER , UPDATE, DELETE String query1 = “ALTER TABLE student_demo ADD COLUMN diemthi INTEGER NOT NULL”; String query2=“CREATE TABLE diemthi (s_id integer, diemthi interger)”; • String query3 =“Delete from student_demo where s_id = 1”; • Db.execSQL(query1); • Db. execSQL(query2); • Db. execSQL(query3); Cách thức truy vấn • Db.delete(“TABLE”, “WHERE” ,String[] args); • Delete From Student_demo where ID = 1; • Db.delete(“Student_demo”,”ID = ?”, new String[]{id}); • ContentValues values = new ContentValues(); • values.put(“s_name”, name); • values.put(“s_age”, url); • db.update(“Student_demo”, “ _id = ? ", • new String[]{String.valueOf(id)}); ContentValues và Cursor • ContentValues • Dùng để INSERT hoặc UPDATE,mỗi ContentValues object giống như 1 hàng mà các cột của có có tên như các cột của bảng cần tác động • ContentValues values = new ContentValues(); • Values.put(“s_name”,”Tung”); • Values.putAge(“s_age”,23); • Db.update( “student_demo”,values, “where userID = 1”,null ); • Db.insert(“student_demo”, getNullColumnHack() , values); ContentValues và Cursor Giả sử ta cho bảng FOO mà các cột của nó có thể nhận giá trị NULL INSERT INTO foo;//ERR! INSERT INTO foo (somecol) VALUES (NULL);//OK Trong trường hợp bạn chưa set giá trị cho biến values Bạn sẽ lấy tên 1 trong số các cột cho phép lưu trữ giá trị NULL; Create table Student_demo ( _id integer not null autoincrement, Name text, Age integer, ) ContentValues và Cursor -getCount() – int – trả về số hàng có trong kết quả -movetoFirst() , movetoNext() , isAfterlast(); -getColumnName(); -getColumnnames(); Cursor c = db.rawQuery(“select * from Student_demo”,null); c.moveToFirst(); While(c.isAfterLast()) { Toast.makeText(context, c.getString(1),200).show(); c.moveToNext(); } CursorAdapter • • • • • class studentAdapter extends CursorAdapter public studentAdapter(Context context, Cursor c) public void bindView(View view, Context context, Cursor cursor) public View newView(Context context, Cursor cursor, ViewGroup parent) public void creatView(final View view,Cursor c) View more...Comments
Report "Gi*i Thi*u v* SQLite"Please fill this form, we will try to respond as soon as possible.
Your name Email Reason -Select Reason- Pornographic Defamatory Illegal/Unlawful Spam Other Terms Of Service Violation File a copyright complaint Description Close Submit Share & Embed "Gi*i Thi*u v* SQLite"Please copy and paste this embed script to where you want to embed
Embed Script Size (px) 750x600 750x500 600x500 600x400 URL Close Copyright © 2017 DOCUMEN Inc.Từ khóa » Tìm Hiểu Về Sqlite
-
SQLite Là Gì? - Viblo
-
Giới Thiệu SQLite - SQLite Là Gì? - Freetuts
-
Bài 1: SQlite Là Gì? Ưu Và Nhược điểm Của SQLite - Học SQLite Cơ Bản
-
Giới Thiệu SQLite Và Thực Hành Lệnh SQL
-
SQLite Là Gì
-
6 Tìm Hiểu Về SQLite - Tài Liệu Text - 123doc
-
Đề Tài: Tìm Hiểu SQLite Và Xây Dựng Chương Trình ứng Dụng, 9đ
-
Giới Thiệu SQLite - SQLite Là Gì? - Freetuts - Sen Tây Hồ
-
Lưu Trữ Dữ Liệu Với SQLite | How Kteam
-
SQLite Là Gì
-
Tổng Quan Về Cơ Sở Dữ Liệu SQLite - TEK4
-
SQLite – Wikipedia Tiếng Việt
-
Sqlite Là Gì? Download Sqlite Như Thế Nào Bạn đã Biết?
-
Giới Thiệu Về SQLite3 Và Hướng Dẫn Cài đặt SQLite3 Trên Docker