Lưu trữ dữ liệu trên thiết bị

Một phần của tài liệu Hệ quản trị cơ sở dữ liệu Sqlite trên thiết bị di động và ứng dụng (Trang 56)

Như đã nói ở trên, mỗi ứng dụng được cài đặt lên thiết bị iPhone, hệ điều hành iOS sẽ tạo ra một thư mục Sandbox duy nhất cho ứng dụng tương ứng. Tất cả các dữ liệu của ứng dụng sẽ được lưu trữ trong thư mục Document. Thư mục này cho phép người dùng đọc ghi dữ liệu.

Ngoài ra, đặc điểm của một ứ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ữ dữ liệu hình ảnh hợp lý để đảm bảo ứng dụng hoạt động tốt. Hoạt động tốt ở đây có thể nói đến khả năng quản lý dung lượng bộ nhớ do bộ nhớ thiết bị giới hạn, tốc độ đọc ghi dữ liệu nhanh, chương trình không bị chết giữa chừng...

Để giải quyết vấn đề này, một hướng lưu trữ dữ liệu được đề ra và cũng được nhiều nhà phát triển sử dụng đó là lưu trữ dữ liệu hình ảnh trong thư mục Document của Sandbox và tập tin CSDL Sqlite chứa các bảng dữ liệu lưu trữ thông tin cài đặt, thông tin album và thông tin về hình ảnh. Ban đầu, tập tin CSDL được lưu trữ trong thư mục Bundle, sau đó, sao chép tập tin này từ Bundle sang thư mục Document trong Sandbox. Vì thư mục Document cho phép người dùng đọc và tạo thư mục con trong nó nên với mỗi một album được tạo ra thì sẽ có một thư mục con có tên album được tạo ra trong thư mục cha Document. Việc quản lý hình ảnh theo thư mục con giúp nhà phát triển ứng dụng dễ dàng quản lý hơn trong việc phát triển của mình.

Tập tin CSDL Sqlite là một tập tin duy nhất, có mở rộng là .sqlite, bao gồm bảng:), bảng lưu trữ thông tin về album (bảng Album), và bảng lưu trữ thông tin về hình ảnh (bảng Photo). Sqlite cung cấp kiểu dữ liệu BLOB để lưu dữ liệu dưới dạng NSData (là một kiểu dữ liệu trong ngôn ngữ lập trình Objective-C). Để lưu dữ liệu hình ảnh trong CSDL thì dữ liệu được chuyển sang NSData rồi lưu vào CSDL theo kiểu BLOB. Tuy nhiên, trong ứng dụng này, thông tin về hình ảnh được đưa ra dưới dạng tên ảnh, đường dẫn ảnh, thuộc album nào...mà không cần lưu dưới dạng dữ liệu hình ảnh. Do đó, dung lượng của tập tin CSDL Sqlite thường rất nhẹ và tốc độ truy cập dữ liệu vào CSDL nhanh. Để dễ dàng hình dung cấu trúc thư mục lưu trữ dữ liệu của ứng dụng, hình ảnh sau đây sẽ diễn giải chi tiết thư mục lưu trữ dữ liệu:

Hình 3.5. Cấu trúc thƣ mục Sandbox chi tiết của ứng dụng

Một phần của tài liệu Hệ quản trị cơ sở dữ liệu Sqlite trên thiết bị di động và ứng dụng (Trang 56)