1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ quản trị cơ sở dữ liệu sqlite trên thiết bị di động và ứng dụng

67 40 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,91 MB

Nội dung

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGHIÊM THỊ HƢƠNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLITE TRÊN THIẾT BỊ DI ĐỘNG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN Hà nội - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGHIÊM THỊ HƢƠNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLITE TRÊN THIẾT BỊ DI ĐỘNG VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS Đỗ Trung Tuấn Hà nội - 2014 LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn thực hướng dẫn trực tiếp giáo viên Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên công trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá, tơi xin chịu hồn tồn trách nhiệm Nghiêm Thị Hương MỤC LỤC LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU MỞ ĐẦU Chƣơng Tổng quan hệ quản trị CSDL Sqlite 12 1.1 Giới thiệu chung hệ quản trị CSDL Sqlite 12 1.1.1 Khái niệm 12 1.1.2 Khả nhúng 12 1.1.3 Sqlite CSDL nhà phát triển 13 1.1.4 Sqlite nhà quản trị 14 1.2 Mốc phát triển hệ quản trị CSDL Sqlite 14 1.3 Các đặc trƣng hệ quản trị CSDL Sqlite 16 1.3.1 Không cần cấu hình 16 1.3.2 Tính di động, khả chuyển 16 1.3.3 Tính nhỏ gọn 18 2.3.4 Tính đơn giản 18 1.3.5 Tính linh hoạt 19 1.3.6 Cấp phép tự 20 1.3.7 Tính tin cậy 20 1.3.8 Tính tiện lợi 21 1.4 Hiệu suất hoạt động hạn chế 22 1.4.1 Hiệu suất hoạt động 22 1.4.2 Hạn chế Sqlite 25 1.5 So sánh hệ quản trị CSDL Sqlite với hệ quản trị CSDL khác 28 1.5.1 Cài đặt 28 1.5.2 Kiểu liệu 29 1.5.3 Mơ hình CSDL 30 1.5.4 Sử dụng 30 1.5.5 Ưu điểm nhược điểm 31 1.6 Kết luận chƣơng 33 Chƣơng Nhu cầu hệ quản trị nhỏ gọn thiết bị di động 34 2.1 Giới thiệu thiết bị di động 34 2.2 Đặc điểm thiết bị di động 36 2.2.1 Bộ nhớ 37 2.2.2 Phần cứng 38 2.3.3 Khả tương tác 39 2.3.4 Hệ điều hành di động 40 2.3 Những vấn đề thực tế 40 2.4 Giải pháp Sqlite 43 2.5 Kết luận chƣơng 46 Chƣơng 3: Xây dựng ứng dụng thiết bị di động iPhone với Sqlite 47 3.1 Giới thiệu toán 47 3.2 Giải pháp đề xuất 48 3.2.1 Mục tiêu ứng dụng 48 3.2.2 Môi trường phát triển 49 3.2.3 Giới thiệu Bundle 51 3.3.4 Giới thiệu Sandbox 52 3.4 Quản trị CSDL Sqlite 54 3.4.1 Giao diện Sqlite Manager 54 3.4.2 Giao diện dòng lệnh 54 3.5 Phƣơng thức thực 55 3.5.1 Lưu trữ liệu thiết bị 55 3.5.2 Thiết kế CSDL 56 3.5.3 Thêm thư viện Sqlite3 57 3.5.4 Kết nối CSDL 58 3.5.5 Thao tác với CSDL 58 3.6 Phƣơng pháp lƣu trữ liệu máy chủ 59 3.7 So sánh kết thực nghiệm 61 3.8 Kết luận chƣơng 62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 65 DANH MỤC CÁC TỪ VIẾT TẮT ACID Atomicity, Consistency, Isolation, Durability API Application Programming Interface BLOB Binary Large Object CSDL Cơ sở liệu DBA Database Administrator DBMS Database Management System DDL Data Description Language DML Data Manipulation Language GPS Global Positioning System mAh Miliampe hour NFS Network File System RAM Random Access Memory DANH MỤC CÁC HÌNH VẼ, BẢNG BIỂU Hình 1.1 Logo hệ quản trị CSDL Sqlite 12 Hình 1.2 Quá trình nhúng Sqlite máy chủ 13 Hình 1.3 Sqilte Window 16 Hình 1.4 Sqilte Ubuntu 17 Bảng 1.1 Kích thước thời gian chạy Sqlite số hệ điều hành 17 Hình 1.5 Dung lượng tập tin CSDL Sqlite 18 Hình 1.6 Tập tin thư viện Sqlite công cụ lập trình Xcode 19 Hình 1.7 Danh sách API Sqlite 20 Hình 1.8 Sqlite khơng u cầu quyền 20 Hình 1.9 Một đoạn mã nguồn thư viện Sqlite 21 Bảng 1.2 Kết so sánh thời gian chạy hệ quản trị CSDL 24 Bảng 1.3 Kiểu liệu hệ quản trị CSDL Sqlite 29 Bảng 1.4 Khác biệt hệ quản trị Sqlite PostgreSQL 31 Bảng 1.5 So sánh hệ quản trị Sqlite, MySQL PostgreSQL 32 Hình 2.1 Một số thiết bị máy tính bảng 35 Hình 2.2 Một số điện thoại thông minh 35 Hình 2.3 Một số hệ điều hành di động 36 Hình 2.4 Dung lượng số thiết bị di động 38 Hình 2.5 Bộ vi xử lý số thiết bị di động 38 Hình 2.6 Dung lượng pin số thiết bị di động 39 Hình 2.7 Một mơ hình tương tác thiết bị di động 39 Hình 2.8 Số lượng thiết bị di động sử dụng hệ điều hành 40 Hình 2.9 Lưu lượng liệu di động theo loại ứng dụng 41 Hình 2.10 Lưu lượng liệu di động theo loại thiết bị 42 Hình 2.11 Quá trình nhúng CSDL ứng dụng 45 Hình 3.1 Độ phân giải camera số thiết bị di động 48 Hình 3.2 Giao diện hệ điều hành OS X 50 Hình 3.3 Cấu trúc thư mục Bundle 51 Hình 3.4 Cấu trúc thư mục Sandbox 53 Hình 3.5 Cấu trúc thư mục Sandbox chi tiết ứng dụng 56 Hình 3.6 Giao diện Sqlite Manager 54 Hình 3.7 Giao diện dịng lệnh hệ điều hành OS X 55 Hình 3.8 Thư viện sqlite3 Xcode 57 Hình 3.9 Mơ hình iPhone App-Server 59 Hình 3.10 Bảng so sánh thời gian yêu cầu liệu 61 MỞ ĐẦU Ngày nay, việc phát triển không ngừng khoa học công nghệ thúc đẩy ngành công nghiệp sản xuất thiết bị di động phát triển không ngừng Cùng với phát triển mạnh mẽ nhu cầu sử dụng phần mềm ứng dụng thiết bị di động tăng kéo theo nhu cầu lưu trữ liệu ngày lớn Vấn đề lựa chọn hệ quản trị CSDL để tối ưu hoá việc lưu trữ liệu vấn đề nhà phát triển cân nhắc nghiên cứu Với đặc điểm chung thiết bị di động hạn chế dung lượng, tốc độ xử lý nguồn lượng pin, yêu cầu đặt buộc nhà phát triển cần phải nghĩ đến giải pháp để tối ưu hoá dung lượng nhớ tốc độ xử lý chương trình Hơn nữa, ứng dụng dành cho thiết bị di thường bao gồm nhiều liệu, dung lượng liệu chúng thường lớn Một đặc điểm ứng dụng cài thiết bị di động có sử dụng hệ điều hành sở liệu thường nhúng ứng dụng, ứng dụng thao tác sử dụng trực tiếp tập tin liệu Để giải vấn đề trên, ngồi việc nhà phát triển cần phát triển mảng phần cứng dung lượng nhớ, tốc độ xử lý thiết bị nhà phát triển hệ điều hành phải xem xét giải vấn đề lập trình phương pháp tạo biến, giải phóng biến để ứng dụng chiếm nhớ nhất, ra, liệu cần lưu trữ đâu thao tác với liệu cho hiệu dễ dàng Vì việc lựa chọn hệ quản trị sở liệu để đáp ứng yêu cầu lưu trữ liệu cần thoả mãn số yêu cầu như: sở liệu nhúng, dung lượng nhỏ, thiết kế cài đặt đơn giản, dễ thao tác vấn đề mà nhà phát triển hướng tới Hệ quản trị sở liệu Sqlite với số ưu điểm nhà phát triển hệ điều hành chọn làm hệ quản trị sở liệu để lưu liệu ứng dụng Hệ quản trị sở liệu Sqlite tương tự MySql, PostgreSql, biết đến hệ quản trị sở liệu quan hệ nhỏ gọn, hồn chỉnh cài đặt bên ứng dụng hay gọi hệ quản trị sở liệu nhúng Hệ quản trị Richard Hipp viết dạng thư viện ngơn ngữ lập trình C Với số ưu điểm tệp tin sở liệu nhất, dung lượng chưa đến 350Kb nhúng ứng dụng mà khơng cần cấu hình cài đặt Sqlite thực thao tác đơn giản nhanh hệ thống sở liệu khách / chủ khác Ngoài ra, tốc độ thực thi Sqlite nhanh hiệu suất thường tốt hoạt động môi trường nhớ thấp Với số đặc điểm nêu ra, hệ quản trị sở liệu Sqlite khẳng định ưu nhà phát triển 52 thường đặt thư mục Resource Các cấu hình project bao gồm tập tin plist, pch, tập tin main.m, chúng tạo tự động Xcode đặt thư mục Supporting Files Tập tin plist có vai trị cấu hình cho ứng dụng tên ứng dụng, icon ứng dụng, hướng thiết bị Tập tin pch tập tin tiền tố tiêu đề, nội dung gồm dòng lệnh import tập tin cần dùng cho ứng dụng Nó biên dịch tự động đưa vào tập tin suốt thời gian biên dich Các tập tin thư viện, framework, plugin đặt thư mục Framework Đây framework hỗ trợ sẵn Xcode framework người dùng tạo Cuối thư mục Products, chứa tập tin app tập tin ứng dụng Cấu trúc thư mục Bundle phân cấp hình Thông thường, nhà phát triển ứng dụng không thao tác liệu trực tiếp Bundle mà dùng Bundle nơi lưu trữ ban đầu chạy ứng dụng Các tập tin chứa liệu cần thao tác liệu lên chép từ thư mục Bundle vào Sandox Với lý do, Bundle cho phép đọc mà không cho phép ghi lên tập tin bên Những tập tin có dạng tập tin CSDL, hay tập tin danh sách thuộc tính (.plist) thuộc đối tượng tập tin thường xuyên đọc ghi Nhưng tập tin lưu trữ bundle việc ghi lên chúng không thực Do đó, để có quyền ghi liệu lên tập tin chương trình chép chúng từ Bundle sang vùng khác ứng dụng – gọi Sandbox ứng dụng Sandbox cho phép ứng dụng đọc ghi liệu lên tập tin mà khơng bị hạn chế quyền Vậy Sandbox gì, cấu trúc thư mục trình bày mục sau 3.3.4 Giới thiệu Sandbox Hệ điều hành iOS có ảnh hưởng đến vài khía cạnh thiết kế ứng dụng cho thiết bị Sandbox điểm cần ý thiết kế ứng dụng Sandbox ứng dụng tập điều khiển đóng gói để hạn chế việc truy cập ứng dụng lên tập tin, tuỳ chọn, tài nguyên mạng, phần cứng Sandbox bao gồm tuỳ chọn liệu ứng dụng Mỗi ứng dụng cài đặt lên thiết bị, để đảm bảo tính bảo mật, hệ điều hành iOS dành cho ứng dụng thư mục sandbox thư mục cho ứng dụng Mục đích sandbox để hạn chế tác hại mà ứng dụng gây cho hệ thống bảo vệ liệu ứng dụng Thư mục chứa sandbox ứng dụng có đặc điểm sau: 53  Nó đặt vị trí định nghĩa hệ thống Trong ứng dụng, để truy cập đến thư mục gọi hàm NSHomeDirectory  Ứng dụng bạn không bị hạn chế truy cập đọc/ghi vào thư mục sandbox Để giúp ứng dụng tổ chức liệu, thư mục sandbox phân chia theo thư mục nhỏ, thư mục nhỏ có chức riêng:  Myapp.app: tập tin ứng dụng, thư mục không cho phép ghi Để ngăn chặn giả mạo, thư mục ký thời điểm cài đặt  Document: thư mục để lưu trữ tài liệu tập tin liệu ứng dụng Dữ liệu thường liệu người dùng tạo Thư mục cho phép người dùng đọc ghi, thao tác nhiều thiết kế ứng dụng  Library: người dùng lưu liệu vào thư mục Caches bên thư mục  Tmp: dùng để viết tập tin tạm thời, ứng dụng nên loại bỏ tập tin thư mục khơng cần thiết Hình 3.4 Cấu trúc thƣ mục Sandbox 54 3.4 Quản trị CSDL Sqlite 3.4.1 Giao diện Sqlite Manager Như đề cập phần trên, Sqlite cung cấp nhiều phương pháp khác giúp người dùng thao tác với CSDL Có phương pháp để quản lý CSDL Sqlite giao diện dòng lệnh Sqlite Manager công cụ quản lý CSDL giao diện Công cụ dễ dàng cài đặt sử dụng, Sqlite Manager hỗ trợ tất hệ điều hành đặc biệt phải kể đến hệ điều hành OS X – hệ điều hành hỗ trợ việc lập trình ứng dụng thiết bị iPhone Ngồi ra, người dùng cài đặt Sqlite Manager thơng qua chức addon Firefox Hình 4.5 biểu diễn cơng cụ Sqlite Manager, giống giao diện sử dụng hệ quản trị CSDL khác Sqlite Manager cung cấp chức để thao tác với CSDL chức thiết kế CSDL, tạo bảng, thực thi câu lệnh SQL, tạo index Hình 3.6 Giao diện Sqlite Manager 3.4.2 Giao diện dòng lệnh Một phương pháp quản lý CSDL Sqlite giao diện dịng lệnh Có thể nói, giao diện dịng lệnh dùng phổ biến hệ điều hành Linux, Unix, OS X Ngồi ra, giao diện dịng lệnh dùng hệ điều hành Window Trong hệ điều hành OS X, Sqlite hỗ trợ, dùng giao diện dịng lệnh, người dùng không cần phải cài đặt thêm công cụ Terminal cơng cụ hỗ trợ thao tác dòng lệnh hệ điều hành OS X, thao tác dịng lệnh thực cơng cụ Để thực thao tác với Sqlite thông qua giao diện dịng lệnh, người dùng dùng cơng cụ Terminal 55 Hình 3.7 Giao diện dịng lệnh hệ điều hành OS X Sqlite3 phiên thứ Sqlite Để bắt đầu sử dụng chương trình Sqlite3 giao diện dịng lệnh, người sử dụng cần gõ „sqlite3‟, theo tập tin chứa CSDL Sqlite Bạn dùng giao diện dịng lệnh với nhiệm vụ import, export liệu, trả tập kết vận hành xử lý khối chung Để xem tất trợ giúp mà Sqlite3 hỗ trợ, sử dụng chọn lựa help: 3.5 Phƣơng thức thực 3.5.1 Lưu trữ liệu thiết bị Như nói trên, ứng dụng cài đặt lên thiết bị iPhone, hệ điều hành iOS tạo thư mục Sandbox cho ứng dụng tương ứng Tất liệu ứng dụng lưu trữ thư mục Document Thư mục cho phép người dùng đọc ghi liệu Ngoài ra, đặc điểm ứng dụng quản lý hình ảnh là:  Dữ liệu hình ảnh lớn  Thao tác đọc thường xuyên với hình ảnh Do đó, cần phải lưu trữ liệu hình ảnh hợp lý để đảm bảo ứng dụng hoạt động tốt Hoạt động tốt nói đến khả quản lý dung lượng nhớ nhớ thiết bị giới hạn, tốc độ đọc ghi liệu nhanh, chương trình khơng bị chết chừng Để giải vấn đề này, hướng lưu trữ liệu đề nhiều nhà phát triển sử dụng lưu trữ liệu hình ảnh thư mục Document Sandbox tập tin CSDL Sqlite chứa bảng liệu lưu trữ thông tin cài đặt, thông tin album thông tin hình ảnh Ban đầu, tập tin CSDL lưu trữ thư mục Bundle, sau đó, chép tập tin từ Bundle sang thư mục Document Sandbox Vì thư mục Document cho phép người dùng đọc tạo thư mục nên với album tạo có thư mục có tên album tạo thư mục cha Document Việc quản lý hình ảnh theo thư mục giúp nhà phát triển ứng dụng dễ dàng quản lý việc phát triển 56 Tập tin CSDL Sqlite tập tin nhất, có mở rộng sqlite, bao gồm bảng:), bảng lưu trữ thông tin album (bảng Album), bảng lưu trữ thơng tin hình ảnh (bảng Photo) Sqlite cung cấp kiểu liệu BLOB để lưu liệu dạng NSData (là kiểu liệu ngôn ngữ lập trình Objective-C) Để lưu liệu hình ảnh CSDL liệu chuyển sang NSData lưu vào CSDL theo kiểu BLOB Tuy nhiên, ứng dụng này, thơng tin hình ảnh đưa dạng tên ảnh, đường dẫn ảnh, thuộc album mà khơng cần lưu dạng liệu hình ảnh Do đó, dung lượng tập tin CSDL Sqlite thường nhẹ tốc độ truy cập liệu vào CSDL nhanh Để dễ dàng hình dung cấu trúc thư mục lưu trữ liệu ứng dụng, hình ảnh sau diễn giải chi tiết thư mục lưu trữ liệu: Hình 3.5 Cấu trúc thƣ mục Sandbox chi tiết ứng dụng 3.5.2 Thiết kế CSDL Tập tin CSDL Sqlite tập tin có mở rộng sqlite Mọi cấu hình, bảng liệu chứa tập tin Mục đích thiết kế CSDL đưa thiết kế bảng biểu để lưu liệu cách hiệu không phức tạp sử dụng Nội dung bảng liệu bao gồm cột liệu kiểu liệu tương ứng cột liệu Các chức ứng dụng liệt kê chức tạo album album có nhiều ảnh Dữ liệu hình ảnh khơng lưu trực tiếp vào CSDL Sqlite mà liệu ảnh lưu thư mục Sandbox ứng dụng thông tin CSDL đường dẫn đến thư mục lưu liệu ảnh Với chức CSDL cần bảng liệu sau: Bảng Album: lưu tất thông tin album 57 Tên cột Kiểu liệu Mô tả + albumID + name + lablePath + note Integer String String String Id album Tên album Đường dẫn album Ghi Bảng Photo: Lưu tất thông tin Photo Tên cột photoID name createDate status albumID note path type Kiểu liệu Integer String String Integer Integer String String String Mô tả Id ảnh Tên ảnh Ngày tạo ảnh Trạng thái ảnh Ảnh thuộc album nào? Ghi Đường dẫn ảnh Kiểu ảnh (jpg, jpeg, png) 3.5.3 Thêm thư viện Sqlite3 Thư viện Sqlite3 phiên thứ thư viện Sqlite tích hợp sẵn cơng cụ lập trình Xcode Để sử dụng CSDL Sqlite ứng dụng thiết bị chạy hệ điều hành iOS cần phải thêm thư viện Sqlite3 vào project xây dựng Hình 3.8 Thƣ viện sqlite3 Xcode Lưu ý, Xcode có tồn hai thư viện libsqlite3.dylib libsqlite3.0.dylib Libsqlite3.dylib phiên có liên kết tượng trưng hay gọi liên kết mềm đến thư viện phiên quy ước cho trình quản lý gói UNIX Sau thêm thư viện Sqlite3, để sử dụng thư viện cần khai báo thư viện #import 58 3.5.4 Kết nối CSDL Kết nối CSDL công việc phải thực muốn thao tác với CSDL Sau tập tin CSDL chép từ Bundle vào Sandbox thao tác truy cập đọc ghi từ ứng dụng đến tập tin CSDL thực Để mở CSDL, Sqlite cung cấp hàm sqlite3_open, đối số truyền vào đường dẫn lưu tập tin CSDL CSDL kiểu Sqlite3 Để đóng CSDL, dùng hàm sqlite3_close 3.5.5 Thao tác với CSDL Các thao tác với CSDL bao gồm thao tác lấy liệu từ CSDL, thêm liệu vào CSDL, chỉnh sửa liệu CSDL xoá liệu Để thực thao tác đến CSDL trước hết cần phải kết nối CSDL Sau kết nối thành công, thao tác với liệu trogn CSDL thực Thư viện Sqlite cung cấp số hàm API giúp cho việc thao tác với liệu cách dễ dàng 3.5.5.1 Lấy liệu Việc lấy liệu từ CSDL thực quan số bước Đầu tiên cần xây dựng chuỗi truy vấn SQL, câu lệnh thường câu lệnh SELECT sql Thực thi câu lệnh SQL cần sử dụng hàm sqlite3_prepare_v2() Hàm có nhiệm vụ chuẩn bị cho việc thực thi câu lệnh sql Sau đó, truy xuất lên hàng bảng dùng hàm sqlite_step() để lấy giá trị cột Sqlite cung cấp số hàm để lấy liệu dạng blob, byte, int, double value Lưu ý, lấy liệu dạng text cần chuyển đổi từ liệu dạng chuỗi UTF8 sang NSString NSString kiểu đối tượng chuỗi định nghĩa ngôn ngữ Objective-C, dùng để lưu liệu dạng chuỗi 3.5.5.2 Thêm liệu Tương tự lấy liệu, để thêm liệu vào CSDL cần phải chuẩn bị câu lệnh Sql, câu lệnh thường câu lệnh INSERT INTO Và cần dùng hàm sqlite3_prepare_v2 chuẩn bị thực thi câu lệnh Sql Nếu việc lấy liệu côt theo hàng bảng liệu cần dùng đến hàm sqlite3_column_int, hay sqlite3_column_text để lấy liệu kiểu int kiểu chuỗi việc thêm liệu vào CSDL cần dùng đến sqlite3_bind_text, sqlite3_bind_int để chèn liệu dạng int dạng text vào CSDL Ngoài ra, Sqlite cung cấp hàm đề chèn liệu dạng blob, byte, double value 3.5.5.3 Chỉnh sửa liệu Thao tác chỉnh sửa liệu CSDL giống thao tác thêm liệu Chỉ có điểm khác thay câu lệnh INSERT INTO câu lệnh UPDATE 59 3.5.5.4 Xoá liệu Cũng giống thao tác trên, việc chuẩn bị câu lệnh SQL cần thiết Câu lệnh dùng cho thao tác xố liệu DELETE Thơng thường, thao tác xoá liệu cần đến id số điều kiện để xố dịng Do đó, thao tác cần truyền vào giá trị điều kiện hàm sqlite3_bind_text, sqlite3_bind_int… 3.6 Phƣơng pháp lƣu trữ liệu máy chủ Với lượng liệu lớn hình ảnh hay video phương pháp lưu trữ liệu server phương pháp lựa chọn sử dụng Hình 3.9 Mơ hình iPhone App-Server Với mơ hình Client-Server, ứng dụng iPhone kết nối đến máy chủ thông qua dịch vụ web ứng dụng không thao tác trực tiếp đến CSDL máy chủ Khi ứng dụng từ thiết bị iPhone gửi yêu cầu GET POST đến dịch vụ web, dịch vụ web truy vấn CSDL cho liệu yêu cầu sau trả lại cho ứng dụng liệu theo định dạng mà ứng dụng hiểu Trên máy chủ, truy vấn đến CSDL thực thông qua dịch vụ web Để lấy danh sách album thực kết nối truy vấn sau: 60 Tương tự, để lấy danh sách tất hình ảnh theo album: 61 Dưới ứng dụng thiết bị iPhone, hay coi máy khách Để gửi yêu cầu lên máy chủ, máy khách cần rõ địa máy chủ gì, phương thức thực POST hay GET: NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[strURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]] ]; [theRequest setHTTPMethod:@"GET"]; Sau kết nối thành công, server trả liệu dạng NSData: NSData* responeData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:&error]; 3.7 So sánh kết thực nghiệm Với phương pháp lưu trữ liệu sử dụng hệ quản trị CSDL Sqlite, liệu lưu trữ Sandbox ứng dụng, việc kết nối để lấy liệu không phụ thuộc vào kết nối mạng Trong khi, phương pháp lưu trữ liệu máy chủ lại phụ thuộc vào kết nối mạng Thực lấy liệu hình ảnh, album đo thời gian thực theo hai phương pháp để so sánh Thực test Simulator iOS 7.0 kết bảng 3.10 Hình 3.10 Bảng so sánh thời gian yêu cầu liệu Tại cục (giây) Trên máy chủ (giây) 0.000185 0.773835 Lần 0.000252 0.402350 Lần 0.000217 0.484313 0.00031 1.32767 Lần 0.000507 0.8954 Lần 0.000437 1.06865 Số lần thử Lần Lần Số lƣợng ảnh 10 100 62 Theo bảng so sánh thời gian yêu cầu liệu hai phương pháp lưu trữ thấy rằng: thời gian yêu cầu liệu cục nhanh nhiều lần so với phương pháp lưu trữ máy chủ Thời gian yêu cầu cục nhanh hay chậm phụ thuộc vào tốc độ thiết bị, thời gian yêu cầu máy chủ lại phụ thuộc vào tốc độ mạng Có thể nói, với ứng dụng cần lưu trữ dung lượng liệu trung bình nên lựa chọn phương pháp lưu trữ cục bộ, với dung lượng liệu lớn (khoảng Gb) nên sử dụng phương pháp lưu trữ máy chủ 3.8 Kết luận chƣơng Hệ quản trị CSDL Sqlite biết đến hệ quản trị dành cho thiết bị di động Nó dùng nhiều hệ điều hành nhiều thiết bị di động Vai trò Sqlite quan trọng việc lưu trữ liệu hệ điều hành ứng dụng Dữ liệu liệu dạng text, dạng số, phức tạp liệu dạng hình ảnh, âm Tuỳ theo đặc trưng hệ điều hành thiết bị mà nhà phát triển lựa chọn phương pháp thiết kế lưu trữ CSDL theo phương pháp khác Nếu liệu cần lưu dạng text hay dạng số phương pháp lưu trực tiếp vào CSDL lựa chọn đơn giản hợp lý Nhưng với liệu dạng hình ảnh âm thanh, số lượng liệu nhiều cần cân nhắc việc lưu trực tiếp hay gián tiếp vào CSDL Với ứng dụng trình bày chương này, dựa vào đặc điểm cụ thể hệ điều hành iOS phương pháp sử dụng thư mục Sandbox để lưu trữ hình ảnh, cịn CSDL lưu trữ thơng tin đường dẫn hình ảnh nhờ tiết kiệm dung lượng vừa tối ưu hoá tốc độ hiệu truy vấn Tóm lại, hệ quản trị CSDL Sqlite nhỏ gọn, lựa chọn nhiều hệ điều hành, để đảm bảo hoạt động hiệu cho ứng dụng cần phải lựa chọn phương pháp lưu trữ thiết kế phù hợp với hệ điều hành 63 KẾT LUẬN Với phát triển mạnh mẽ không ngừng khoa học công nghệ đặc biệt phát triển thị trường thiết bị di động nhu cầu sử dụng hệ quản trị CSDL phục vụ việc lưu trữ liệu ngày tăng Với hạn chế tồn thiết bị di động dung lượng nhớ, tốc độ xử lý dung lượng pin cải tiến phần cứng phần mềm nhà phát triển quan tâm đặc biệt Những cải tiến phần mềm nói đến lựa chọn phần mềm có dung lượng nhỏ gọn đáp ứng nhu cầu đặt hệ quản trị CSDL Sqlite phần mềm lựa chọn để giải vấn lưu trữ liệu cho thiết bị di động Hệ quản trị CSDL Sqlite có đặc trưng ưu điểm phù hợp với thiết bị di động, đặc trưng ưu điểm giải nhu cầu lưu trữ liệu thiết bị di động cách sử dụng ứng dụng cụ thể sao? Đây nội dung mà đề tài làm Về mặt lý thuyết: Luận văn sâu vào việc tìm nhiều đặc trưng chủ yếu Sqlite để thấy phù hợp với vấn đề lưu trữ liệu thiết bị di động Những ưu điểm Sqlite nhỏ gọn, CSDL nhúng hay khơng cần cấu hình giải nhu cầu thực tế mà thiết bị di động gặp phải Ngoài ra, luận văn kiểm tra thực tế hiệu suất hoạt động phiên Sqlite khác biệt Sqlite so với hệ quản trị CSDL khác Với trình bày chi tiết hệ quản trị Sqlite, luận văn sở lý thuyết vững để người dùng muốn tìm hiểu nghiên cứu sâu hệ quản trị CSDL dành riêng cho thiết bị di động nói chung hệ quản trị CSDL Sqlite nói riêng Về mặt ứng dụng: Dựa lý thuyết có được, luận văn xây dựng ứng dụng quản lý hình ảnh thiết bị di động iPhone Ứng dụng có chức quản lý hình ảnh theo album Ứng dụng có sử dụng hệ quản trị CSDL Sqlite để lưu trữ liệu Dựa vào đặc điểm thiết bị hệ điều hành iOS, luận văn lựa chọn phương pháp lưu trữ liệu hình ảnh thư mục Sandbox thông tin đường dẫn ảnh, thông tin cài đặt album lưu CSDL Với cách lưu trữ này, ứng dụng tận dụng đặc điểm hệ điều hành thiết bị Nhờ tối ưu hố tốc độ hoạt động tốc độ truy xuất liệu ứng dụng Ngồi ra, luận văn cịn sử dụng cách lưu trữ server, sử dụng MySQL để lưu trữ liệu Từ đó, so sánh hiệu suất truy vấn hai phương pháp Phần trình bày ứng dụng luận văn, khơng trình bày chi tiết đầy đủ bước xây dựng ứng dụng thiết bị iPhone qua có kiến 64 thức để xây dựng ứng dụng thiết bị iPhone cách thức sử dụng hệ quản trị CSDL Sqlite lưu trữ liệu Tóm lại, nghiên cứu vận dụng thực tế đề tài ưu điểm hệ quản trị CSDL Sqlite việc lưu trữ liệu thiết bị di động cách sử dụng chúng ứng dụng thực tế Bên cạnh ưu điểm mà đề tài đạt được, luận văn bộc lộ số nhược điểm mặt lý thuyết ứng dụng Về mặt lý thuyết, ưu điểm hệ quản trị CSDL Sqlite giải nhu cầu thực tế thiết bị di động luận văn chưa thống kê số thực tế phiên hệ điều hành di động hay thống kê thị trường đặc điểm thiết bị di động Về mặt ứng dụng, ứng dụng chưa triển khai vấn đề lưu trữ liệu hình ảnh trực tiếp vào CSDL dùng kiểu liệu BLOB, nên chưa thực nghiệm giới hạn dung lượng Sqlite chưa kiểm tra tốc độ chạy ứng dụng Để luận văn hoàn chỉnh hơn, tương lai luận văn cần phát triển thêm lý thuyết thực nghiệm Về mặt lý thuyết, cần thống kê thực tế số tính đặc điểm thiết bị di động để chứng minh rõ nhu cầu giải vấn đề tồn đọng chúng Và thực kiểm tra câu lệnh hệ quản trị CSDL khác để chứng minh hiệu suất hoạt động Sqlite Về mặt ứng dụng, ứng dụng cần lựa chọn phương pháp lưu trữ liệu hình ảnh trực tiếp vào CSDL thay lưu trữ sử dụng Tuy phương pháp lưu trữ dùng làm tối ưu tốc độ hoạt động truy cập liệu ứng dụng cần kiểm tra hạn chế lượng liệu lưu vào CSDL ngày lớn 65 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Thế Quế, Sở bưu viễn thơng thành phố Hà Nội (2005), Giáo trình sở liệu Tiếng Anh [2] Apple Inc (2013), iOS App Programming Guide, pp 34-36, pp 147-148 [3] Anil K.Nori, Mobile and Embedded Database, Microsoft Corporation One Microsoft Way, Redmond, WA 98052 [4] Ericsson, Ericsson Mobility Report, November 2013 [5] F Tavakkoli, A Andalib, A Shahbahrami and R.Ebrahimi Atani (2011), A Comparison of Lightweight Databases in Mobile Systems, Journal of computing, volume [6] Goodwill Community Foundation, Inc (1998-2013), Computer Basics Getting to know mobile devices, GCFLearnFree.org [7] Grant Allent, Mike Owens, The Definitive Guide To Sqlite, Second Edition, Apress [8] Niloofar Banivaheb, Mobile Databases [9] Nori, Mobile and embedded databases, SIGMOD 2007, ACM Press 2007, pp 1175-1177 [10] Raghu Ramakrishnan, Johannes Gehrke (2002), Database Management Systems, 3rd Edition, McGraw-Hill Website [11] http://www.ecomputernotes.com/fundamental/what-is-adatabase/advantages-and-disadvantages-of-dbms [12] http://www.ecomputernotes.com/fundamental/what-is-adatabase/components-of-dbms [13] http://www.en.wikipedia.org/wiki/Mobile_operating_system [14] http://www.en.wikipedia.org/wiki/Objective-C 66 [15] http://www.gizmag.com/2013-smartphone-comparison-guide/29878/ [16] http://www.gizmag.com/tablet-comparison-2013/29708/ [17] http://www.jkinfoline.com/disadvantages-of-file-system.html [18] http://www.opengarden.com/about.html [19] http://www.sqlite.org/footprint.html [20] http://www.sqlite.org/limits.html [21] http://www.sqlite.org/omitted.html [22] http://www.sqlite.org/speed.html [23] http://www.which.co.uk/technology/phones/reviews/mobilephones/page/features-explained/ ... nhu cầu hệ quản trị CSDL nhỏ gọn dành cho thiết bị di động để giải thích thiết bị di động lại chọn hệ quản trị CSDL Sqlite để lưu trữ 2.1 Giới thiệu thiết bị di động Thiết bị di động thiết bị máy... hướng tới tổng quan hệ quản trị sở liệu hệ quản trị sở liệu Sqlite, đặc trưng phương pháp sử dụng Sqlite để lưu trữ ứng dụng thiết bị di động Ngoài ra, để vận dụng Sqlite vào ứng dụng thực tế luận... trị sở liệu để lưu liệu ứng dụng Hệ quản trị sở liệu Sqlite tương tự MySql, PostgreSql, biết đến hệ quản trị sở liệu quan hệ nhỏ gọn, hồn chỉnh cài đặt bên ứng dụng hay gọi hệ quản trị sở liệu

Ngày đăng: 18/04/2021, 08:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w