19. SQLite - Cơ sở dữ liệu

iThanh
4/9/2013 15:41Phản hồi: 14
19. SQLite - Cơ sở dữ liệu
SQLite - Cơ sở dữ liệu

SQLite là một ứng dụng dùng để quản lý cơ sở dữ liệu.
SQLite gần tương tự như MySQL, MSSQL, …
Đặc điểm của SQLite là gọn, nhẹ, đơn giản, chỉ dùng 1 file duy nhất để lưu dữ liệu. Không cần cài đặt hay cấu hình phức tạp. Phân quyền đơn giản.
SQLite được phát triển và sử dụng ngôn ngữ SQL để truy vấn và xử lý dữ liệu.

Đến đây thì các bạn cũng chưa hiểu được hình dáng, màu sắc nó như thế nào.
Mình lấy một ví dụ như thế này:
Một ngân hàng muốn lưu trữ các hồ sơ vay vốn ngân hàng của các khách hàng.

Trước đây, người ta phải dùng giấy để ghi chép và đóng thành tập để lưu trữ.
Ngày nay, nhờ sự phát triển mạnh mẽ và tính ứng dụng cao trong quản lý và lưu trữ dữ liệu của máy tính và công nghệ máy tính, người ta ứng dụng máy tính và các thiết bị truy xuất dữ liệu để có thể lưu trữ những hồ sơ vay vốn của khách hàng trên máy tính. Việc này rất thuận tiện cho tra cứu, bởi vì không phải mất công lục tìm từng tập hồ sơ. Trên máy tính, người ta chỉ cần nhập một vài lệnh là có thể truy vấn được dữ liệu.

Đến đây, bạn cũng sẽ chưa hiểu SQLite làm việc như thế nào.
Cũng như ví dụ trên, việc lưu trữ dữ liệu sẽ được trình diễn ở ví dụ bên dưới.
Mình có các đơn hàng như sau:

- Đơn hàng số 1:
+ Bà: Nguyễn Thị Mỹ Linh.
+ Sinh năm: 1980
+ Vay vốn ngân hàng để đầu tư nuôi bò giống.
+ Số tiền vay: 50.000.000 vnđ
+ Thời hạn vay: 5 năm.
+ Lãi suất: 4.5%

- Đơn hàng số 2:

Quảng cáo


+ Ông: Hoàng Nguyên Duy
+ Sinh năm: 1982
+ Vay vốn ngân hàng để đầu tư trồng cao su
+ Số tiền vay: 100.000.000 vnđ
+ Thời hạn vay: 8 năm
+ Lãi suất: 5.3%

Để lưu trữ hai đơn hàng trên bằng SQLite, chúng ta cần phải nhận định kiểu dữ liệu của các giá trị sẽ được nhập vào.
Tên: kiểu chuỗi (là string nhưng trong SQLite quy định là char, varchar, text)
Năm sinh: kiểu số hoặc kiểu ngày tháng (integer hoặc DateTime)
Ghi chú: kiểu chuỗi (là string nhưng trong SQLite quy định là char, varchar, text)
Số tiền vay: có thể là kiểu tiền tệ hoặc kiểu số (Decimal hoặc Money)

Quảng cáo


Thời hạn vay: có thể là kiểu số hoặc kiểu ngày tháng.
Lãi suất: kiểu số

Sau khi nhân định kiểu dữ liệu xong thì chúng ta tạo cơ sở dữ liệu SQLite bằng cách sơ sài như sau:
Để dễ dàng trong việc quản lý, người ta sẽ phân chia thành các bảng (Table), mỗi bảng sẽ có một hoặc nhiều trường dữ liệu.
Ở đây mình tạo 2 bảng.
Bảng thứ nhất là bảng “Thông tin”, bảng này sẽ chứa các thông tin cơ bản của toàn bộ các khách hàng, như là thông tin về Tên, tuổi, địa chỉ, số điện thoại, ngày tháng năm sinh, … mỗi thông tin như vậy gọi là một "trường" (field).
Bảng thứ hai là bảng “Hồ sơ”, bảng này sẽ chứa các thông tin liên quan đến hồ sơ vay vốn của các khách hàng, bảng này sẽ liên kết với bảng “Thông tin" bằng một trường nào đó ở bảng "Thông tin" mà giá trị của trường này không thay đổi trong suốt quá trình lưu trữ.
Vậy trường mà có giá trị không thay đổi trong suốt quá trình lưu trữ đó, trong SQLite, người ta gọi là khoá chính (Primary Key).
Về cơ bản là như vậy, các bạn nhìn hình bên dưới để hình dung rõ hơn về hai bảng mà mình vừa giải thích ở bên trên.

Vậy thì, đối với một người, họ chỉ có một thông tin và có thể có nhiều hoá đơn vay vốn, cho nên việc tạo thành bảng dữ liệu như trên, sẽ giúp cho việc quản lý dễ dàng hơn.

Tiếp theo, mời các bạn xem video để hình dung rõ ràng hơn các bước tiến hành.

File: http://www.mediafire.com/folder/5dg9qi1e2rvjs/Bài_19

Thời gian vừa qua do công việc nên có phần thiếu sót và chậm trễ thời gian viết bài, làm video hướng dẫn cho mọi người.
Mong nhận được sự thông cảm của các bạn đối với Thanh.
Cảm ơn các bạn!
14 bình luận
Chia sẻ

Xu hướng

iThanh
ĐẠI BÀNG
11 năm
Mình hi vọng sẽ không làm các bạn nản lòng.
Chỉ cần b còn hướng dẫn thì k nản lòng
Foxbit
ĐẠI BÀNG
11 năm
Rất cám ơn loạt bài viết của bạn, nhờ loạt bài này mà mình dần tiếp cận được môi trường lập trình mới. Mình có một vài thắc mắc đã post tại http://www.tinhte.vn/threads/xin-hoi-ve-object-trong-object.2157511/ mong bạn giúp đỡ
Bài viết, video cực kỳ tỉ mỉ và dễ hiểu 😃 Cám ơn Thanh nhé! App mình lại có thêm ý tưởng rồi, dùng SQLite thay vì plist 😁
Mình muốn thêm dữ liệu là hình ảnh vào sqlite thì phải làm sao bạn?
iThanh
ĐẠI BÀNG
10 năm
@Doryvu Bạn dùng NSData nhé.
Cảm ơn bác vì những bài viết khá trực quan, lại có video hướng dẫn đơn giản, mình cũng đang mày mò tự học 😃
phokhongmua
ĐẠI BÀNG
10 năm
bạn có các kiểu dữ liệu đc hỗ trợ trong sqline không bạn, cho mình với đc không, trước h mình dùng sql nó có sẵn nhưng vì vài lí do mình chuyển qua sqline và gần như mù tịt về nó @@
Cảm ơn những bài viết của anh. Anh có thể viết một bài hướng dẫn thao tác với server để lấy cơ sở dữ liệu về không ạ?
sao mình làm kiểu gì nó cũng ko vào cái dòng
if (sqlite3_prepare_v2(SQLite_Database, query_stmt, -1, &Statement, NULL) == SQLITE_OK) nhỉ, mình toàn copy của bạn xong bỏ vào mà lại làm ko đc T_T
Cho mình hỏi làm thế nào bôi chọn một vùng
Ví dụ:
Lúc đầu đoạn code thế này:

NSMutableArray *HoSo_SoTienVay;
NSMutableArray *HoSo_ThoiHanVay;
NSMutableArray *HoSo_LaiSuat;
NSMutableArray *HoSo_NoiDung;

Giờ mình muốn xoá đi "NSMutableArray" giống nhau ở 4 dòng
Như trong video bạn hướng thì mình sử dụng phím nào để xoá vậy ?

Mọi người ai biết giúp mình với, tại mình mới tìm hiểu XCode 😃

Cảm ơn mọi người trước nha 😃
@vominhtri1049 Bấm phím alt rồi kéo chuột 😃
Anh ơi, Ebook của anh hay quá, cho e xin em tham khảo với ak 😃
Thanks!!!!

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019