CHƯƠNG 1: TỔNG QUAN 1. Tổng quan về database Cơ sở dữ liệu (Database) là một tập hợp có tổ chức các thông tin có cấu trúc hoặc dữ liệu, thường được lưu trữ trực tuyến trong một hệ thống máy tính. Một cơ sở dữ liệu thường được kiểm soát bởi hệ thống quản lý cơ sở dữ liệu (DBMS). Cùng với nhau, dữ liệu và DBMS, cùng với các ứng dụng được liên kết với chúng, được gọi là một hệ thống cơ sở dữ liệu, thường được rút ngắn thành cơ sở dữ liệu.
Hình TỔNG QUAN-1: Cơ sở dữ liệu - database Dữ liệu trong các loại cơ sở dữ liệu phổ biến nhất đang hoạt động hiện nay thường được mô hình hóa theo hàng và cột trong một loạt các bảng để giúp xử lý và truy vấn dữ liệu hiệu quả. Dữ liệu sau đó có thể dễ dàng truy cập, quản lý, sửa đổi, cập nhật, kiểm soát và tổ chức. Hầu hết các cơ sở dữ liệu sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để viết và truy vấn dữ liệu. Cơ sở dữ liệu Database cho phép người sử dụng nhập, truy cập, tìm kiếm thông tin dữ liệu nhanh chóng, dễ dàng.
Trước đây, khi công nghệ thông tin chưa phát triển mạnh, thông tin được lưu trữ trên máy tính dưới dạng tệp tin gây nhiều khó khăn cho người sử dụng khi phải mày mò thông tin bằng cách mở từng tệp. Hiện nay hệ thống cơ sở dữ liệu đã khắc phục những hạn chế mà khi dữ liệu được lưu dưới dạng tập tin mắc phải đó là: – Giúp thông tin lưu trữ giảm được trùng lặp ở mức thấp nhất, tối thiểu thông tin cần tìm kiếm. – Dữ liệu được truy xuất từ nhiều cách khác nhau, nhiều người khác nhau và từ nhiều ứng dụng khác nhau. 8 – Tăng khả năng chia sẻ thông tin cho người dùng không gặp rào cản về khoảng cách.
Một hệ thống dữ lưu được đặt tại Việt Nam nhưng nếu người dùng tại Mỹ, Pháp, Đức, … muốn truy cập thì chỉ cần có password. – Bảo mật thông tin tối đa nếu không được chia sẻ từ người dùng chính. – Tuy nhiên, hệ thống cơ sở dữ liệu vẫn còn vướng phải một số hạn chế chưa thể khắc phục đó là: – Khả năng chia sẻ cao, người dùng phải đảm bảo chủ quyền của dữ liệu. – Đảm bảo vấn đề tranh chấp dữ liệu khi xảy ra.
– Khi gặp các sự cố thì phải đảm bảo vấn đề an toàn dữ liệu, không bị mất dữ liệu. Tổng quan về SQL, Microsoft SQL server 1.SQL SQL là viết tắt của Structured Query Language, nghĩa là ngôn ngữ truy vấn dữ liệu. Có thể coi SQL là ngôn ngữ chung mà bất cứ hệ thống cơ sở dữ liệu quan hệ RDBMS nào cũng phải đáp ứng, điển hình như: Oracle Database, SQL Server, MySQL… Bất kì công ty nào lớn cũng cần xây dựng một hệ thống để lưu trữ cơ sở dữ liệu. Hình TỔNG QUAN-2 SQL SQL cũng là ngôn ngữ tiêu chuẩn cho các hệ cơ sở dữ liệu quan hệ (RDBMS).
Hầu hết các ngôn ngữ bậc cao đều lấy SQL làm tiêu chuẩn như MySQL (hệ quản trị cơ sở dữ liệu thường được sử dụng cho những dịch vụ thiết kế website giá rẻ bởi nó hoàn toàn miễn phí), MS Access, Oracle, Sybase, Visual C, Visual Basic, Postgres, Informix, SQL Server,.Microsoft SQL server Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng và các quan hệ đó được định nghĩa giữa các bảng với nhau. Người dùng truy cập dữ liệu trên Server thông qua ứng dụng. Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì.
Hình TỔNG QUAN-3 Microsoft SQL server Microsoft SQL Server có thể cài nhiều phiên bản MS SQL khác nhau trên cùng một máy tính và có thể duy trì riêng biệt các môi trường sản xuất, phát triển, thử nghiệm. Bên cạnh đó, Microsoft SQL Server còn có thể giảm thiểu các vấn đè tạm thời trên cơ sở dữ liệu. Tuy nhiên, Microsoft SQL Server chỉ chạy trên hệ điều hành Windows và chúng ta cần phải thanh toán phí license khi chạy nhiều có sở dữ liệu. Lập Trình Hướng Đối Tượng – Khái niệm: lập trình hướng đối tượng – OOP (Object-oriented programming) là phương pháp lập trình, cho phép tạo ra đối tượng ở trong code, sau đó trừu tượng hóa các đối tượng thực thế trong cuộc sống thay vì lập trình theo hướng thủ tục sử dụng các hàm một cách máy móc.
– Đặc tính của lập trình hướng đối tượng: Tính chất đóng gói, tính chất kế thừa, tính chất đa hình, tính chất trừu tượng 10 Hình TỔNG QUAN-4 OOP-lập trình hướng đối tượng – Ưu điểm của lập trình hướng đối tượng: có khả năng mô hình hóa những thứ phức tạp chuyển đổi thành cấu trúc đơn giản; có thể tái sử dụng OOP để tiết kiệm tài nguyên, quản lý code dễ dàng mỗi khi thay đổi chương trình; tính bảo mật cao, bảo vệ thông tin an toàn qua việc đóng gói; khả năng bảo trì, tăng năng suất và đơn giản hóa độ phức tạp mỗi khi bảo trì và mở rộng phần mềm; … – Nhược điểm của lập trình hướng đối tượng: OOP có thể khiến cho dữ liệu được xử lý tách rời, đồng nghĩa với việc khi cấu trúc dữ liệu thay đổi sẽ khiến thuật toán thay đổi theo; không tự động khởi tạo, giải phóng dữ liệu động; không mô tả được hệ thống trong thực tế một cách đầy đủ và chân thật. Phát triển ứng dụng window 1.Tổng quan về Window Form – Khái niệm: Winform hay còn được gọi là windows form là một giải pháp được chạy trên nền windows. Winform là công nghệ của Microsoft cho phép chúng được lập trình trên mọi ứng dụng của windows trên PC. – Ưu điểm: Winform có ưu điểm như giao diện có thể kéo thả dễ học và dễ sử dụng: hỗ trợ nhiều event như click, hover; viết code trực quan hơn, … Bên cạnh đó winform dẽ học và dễ dạy, tốc độ xử lý nhanh và hiệu quả, có thể thao tác với nhiều giao diện, … – Nhược điểm: Bên cạnh những ưu điểm của winform thì chúng cũng có nhiều nhược điểm chưa được khắc phục: phần mềm này chỉ có thể chạy trên nền tảng 11 windows, chỉ phù hợp cho ứng dụng desktop, đồ họa không cao nên thiếu thân thiện với người dùng.Tổng quan về WPF – WPF, viết tắt của Windows Presentation Foundation, là hệ thống API mới hỗ trợ việc xây dựng giao diện đồ hoạ trên nền Windows.
Được xem như thế hệ kế tiếp của WinForms, hơn thế WPF còn cung cấp các API cho phép tận dụng những lợi thế về đa phương tiện hiện đại. Là một bộ phận của .0, WPF sẵn có trong Windows Vista và Windows Server 2008. Hình TỔNG QUAN-5 Nền tảng WPF. – Ưu điểm của WPF: WPF là một công nghệ mới và phù hợp với các tiêu chuẩn hiện đại, có tính linh hoạt cao, có thể làm việc nhiều hơn mà không phải viết hoặc mua các control mới.
Công nghệ này sử dụng tăng tốc phần mềm để vẽ GUI, có hiệu suất tốt hơn. Bên cạnh đó công nghệ này cho phép người dùng tạo giao diện người dùng cho cả ứng dụng windows và các ứng dụng web. – Nhược điểm của WPF: Nhược điểm lớn nhất của WPF là phức tạp, khó học, khó thành thạo (nếu so với Windows Forms). Để phát huy hiệu quả thực sự của WPF đòi hỏi người người lập trình phải sử dụng mẫu thiết kế MVVM xây dựng riêng cho WPF, thành thạo XAML, hiểu cơ chế Data Binding, có khả năng thiết kế, và rất nhiều kỹ thuật nâng cao khác.
Truyền thông với SPI SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip 12 Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select).
Hình TỔNG QUAN-6 Kết nối SPI giữa 1 chip Master và 3 chip Slave - SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1bit dữ liệu đến hoặc đi. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master.
- MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối trực tiếp với nhau… MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau. - SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc.
Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng. Nói 1 cách vắn tắt và dễ hiểu: – MISO - Mang các dữ liệu từ các thiết bị SPI về STM32 13 – MOSI - Mang các dữ liệu từ STM32 đến các thiết bị SPI – SS - Chọn thiết bị SPI cần làm việc – SCK - dòng đồng bộ Bạn có thể kiểm soát 1 hoặc nhiều thiết bị sử dụng SPI. Ví dụ: Hình TỔNG QUAN-7 Kết nối SPI giữa 1 Master và 1 Slave Dữ liệu được truyền qua lại dữa 2 đường MISO và MOSI.
Điều này chỉ thực hiện được khi Dòng SS được thiết lập ở mức thấp LOW. Nói cách khác, để giao tiếp với một thiết bị SPI chúng ta cần thiết lập các dòng SS với thiết bị ở mức thấp LOW, sau đó giao tiếp với nó, sau đó thiết lập các dòng SS trở lại mức cao HIGH.