TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.1 Cơ sở dữ liệu và hệ quản trị CSDL Như vậy trước hết, CSDL phải là một tập hợp các thông tin mang tính hệ thốngchứ không phải là các thông tin rời rạc, không
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu là tập hợp các thông tin được tổ chức có cấu trúc, thường được sử dụng để lưu trữ trực tuyến trên máy tính Một cơ sở dữ liệu thường được quản lý bởi hệ thống quản lý cơ sở dữ liệu (DBMS) Tất cả dữ liệu, DBMS và các ứng dụng trung gian kết nối chúng được gọi là hệ thống cơ sở dữ liệu.
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.1 Cơ sở dữ liệu và hệ quản trị CSDL
Cơ sở dữ liệu (CSDL) là một tập hợp thông tin có tính hệ thống, không phải là các thông tin rời rạc Các thông tin trong CSDL cần được cấu trúc và có khả năng đáp ứng nhu cầu khai thác của nhiều người sử dụng đồng thời, đây chính là những đặc trưng quan trọng của CSDL.
Cơ sở dữ liệu giúp quản lý thông tin một cách hiệu quả, cho phép tìm kiếm, truy vấn và lọc dữ liệu nhanh chóng trên toàn bộ hệ thống.
Cơ sở dữ liệu đảm bảo an toàn thông tin bằng cách cung cấp các cơ chế bảo mật hiệu quả, ngăn chặn truy cập trái phép và bảo vệ dữ liệu doanh nghiệp khỏi nguy cơ nhiễm virus độc hại.
Tối ưu hóa tốc độ truy vấn của cơ sở dữ liệu đảm bảo truy cập dữ liệu nhanh chóng và chính xác Điều này cho phép nhiều người dùng cùng sử dụng hệ thống mà vẫn duy trì hiệu suất xử lý công việc hiệu quả cho từng cá nhân.
Dễ dàng thao tác với hệ thống dữ liệu cho phép người dùng thêm, xóa và chỉnh sửa thông tin một cách linh hoạt, từ đó mở rộng hệ thống theo nhu cầu công việc của mình.
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.2 Lịch sử phát triển theo từng năm của CSDL
Trong những năm 1950, máy tính chủ yếu sử dụng băng từ để lưu trữ thông tin Dữ liệu được tổ chức thành các tệp tin, giúp việc lưu trữ và truy xuất thông tin trở nên dễ dàng hơn.
Vào những năm 1960, hệ thống quản lý cơ sở dữ liệu phân cấp đã được phát triển, cho phép lưu trữ dữ liệu dưới dạng cây, với mỗi bản ghi có thể có nhiều bản ghi con Sự ra đời của các hệ thống này đã cải thiện đáng kể khả năng truy cập và quản lý dữ liệu so với các hệ thống quản lý cơ sở dữ liệu dựa trên tệp trước đó.
Notable hierarchical database management systems from this period include Charles Bachman's Integrated Data Store (IDS) and the Conference on Data Systems Language (CODASYL) developed by CODASYL.
Vào những năm 1970, khái niệm mô hình dữ liệu dạng quan hệ (Relational Model) bắt đầu xuất hiện qua các bài báo của Edgar F Codd Tác giả đã giới thiệu những khái niệm cơ bản về cơ sở dữ liệu quan hệ, bao gồm bảng, cột, dòng, thực thể và thuộc tính, mà vẫn được sử dụng rộng rãi cho đến ngày nay.
Cuối những năm 1970, ngôn ngữ truy vấn dữ liệu (SQL) được giới thiệu như một tiêu chuẩn, mang đến cho người dùng bộ cú pháp đầy đủ và tiện lợi để tương tác dễ dàng với dữ liệu.
Năm 1998, NoSQL ra đời nhằm đáp ứng nhu cầu xử lý các dạng dữ liệu không có cấu trúc hoặc bán cấu trúc với tốc độ nhanh hơn Thuật ngữ NoSQL có thể được hiểu theo hai cách: không sử dụng SQL (No SQL systems) hoặc không chỉ đơn thuần là SQL (Not only SQL).
Mặc dù đã trải qua quá trình phát triển dài, hiện nay, database chủ yếu được chia thành hai nhánh chính là SQL và NoSQL, mỗi nhánh đều có những đặc điểm riêng để tối ưu cho các bài toán khác nhau Tuy nhiên, bất kể loại hình database nào, đều có 5 cấu phần chung mà chúng ta có thể nhận diện.
HỆ QUẢN TRỊ CSDL
Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm thiết kế để lưu trữ và truy xuất dữ liệu một cách hiệu quả, đồng thời áp dụng các biện pháp bảo mật cần thiết Người dùng có khả năng tạo lập và quản lý cơ sở dữ liệu của riêng mình thông qua DBMS.
Hệ quản trị cơ sở dữ liệu (DBMS) là tập hợp các chương trình quản lý và thao tác dữ liệu, giúp ứng dụng gửi yêu cầu và hệ điều hành cung cấp thông tin cụ thể Trong các hệ thống lớn, DBMS đóng vai trò quan trọng trong việc hỗ trợ người dùng cũng như phần mềm bên thứ ba trong việc lưu trữ và tìm kiếm dữ liệu hiệu quả.
Một số DBMS phổ biến hiện nay: Oracle, MySQL, Microsoft SQL Server, PostgreSQL, IBM DB2, Microsoft Access, SQLite, MariaDB, LibreOffice Base, FoxPro, PostgreSQL, dBASE,…
1.2.2 Các chức năng của hệ quản trị CSDL
Ngoài việc tìm hiểu hệ quản trị cơ sở dữ liệu (DBMS) là gì, việc nắm rõ các chức năng của nó cũng rất quan trọng Một số chức năng điển hình của hệ quản trị cơ sở dữ liệu bao gồm quản lý dữ liệu, đảm bảo tính toàn vẹn của dữ liệu, hỗ trợ truy vấn và phân tích dữ liệu, cũng như cung cấp các công cụ bảo mật và sao lưu dữ liệu.
Data Dictionary là nơi lưu trữ định nghĩa và mối quan hệ của các phần tử dữ liệu trong hệ quản trị cơ sở dữ liệu Nó chứa metadata, giúp hệ thống quản lý cơ sở dữ liệu (DBMS) tra cứu cấu trúc và mối liên hệ giữa các thành phần dữ liệu khi các chương trình truy cập dữ liệu.
Hệ quản trị cơ sở dữ liệu (DBMS) thực hiện việc loại bỏ sự phụ thuộc về cấu trúc và dữ liệu, từ đó cung cấp tính trừu tượng hóa cho người dùng Chức năng này thường được ẩn khỏi người dùng thông thường và chỉ được sử dụng bởi các quản trị viên của hệ thống.
Kiểm soát truy cập nhiều người dùng
Chức năng quan trọng tiếp theo là khả năng kiểm soát và truy cập đồng thời cho nhiều người dùng, đảm bảo tính toàn vẹn và sự nhất quán của dữ liệu Điều này cho phép nhiều người sử dụng truy cập vào cơ sở dữ liệu mà không làm ảnh hưởng đến tính toàn vẹn của nó.
Chức năng chuyển đổi và trình bày dữ liệu cho phép chuyển đổi bất kỳ dữ liệu nào thành cấu trúc dữ liệu yêu cầu Bằng cách sử dụng chức năng này, hệ quản trị có thể phân biệt giữa hai loại định dạng: định dạng dữ liệu logic và định dạng dữ liệu vật lý.
Quản lý tính toàn vẹn của dữ liệu
Ngôn ngữ truy vấn chính là một loại ngôn ngữ không theo quy trình (non-procedural language), với SQL là một ví dụ điển hình SQL là ngôn ngữ truy vấn phổ biến, được hỗ trợ bởi nhiều nhà cung cấp hệ quản trị cơ sở dữ liệu (DBMS).
Sử dụng ngôn ngữ đặc biệt này giúp người dùng dễ dàng xác định những công việc cần thực hiện mà không cần phải lo lắng về việc giải thích các bước thực hiện cụ thể.
Ngôn ngữ truy cập cơ sở dữ liệu và giao diện lập trình ứng dụng là phương thức mà hệ quản trị cơ sở dữ liệu tiếp nhận các yêu cầu từ người dùng cuối thông qua các môi trường mạng khác nhau Chẳng hạn, hệ quản trị cơ sở dữ liệu (DBMS) có thể cho phép người dùng truy cập cơ sở dữ liệu qua Internet bằng trình duyệt web như Mozilla Firefox, Internet Explorer hoặc Netscape.
Quản lý bảo mật là một chức năng quan trọng trong hệ quản trị cơ sở dữ liệu, giúp thiết lập các quy tắc để xác định quyền truy cập của người dùng vào cơ sở dữ liệu Chức năng này đảm bảo an toàn thông tin và bảo vệ dữ liệu khỏi những truy cập trái phép.
Người dùng sẽ nhận được tên đăng nhập và mật khẩu, và trong một số trường hợp, có thể sử dụng xác thực sinh trắc học như vân tay hoặc võng mạc, mặc dù phương pháp này thường tốn kém hơn Chức năng này cũng đi kèm với một số hạn chế cụ thể mà người dùng có thể xem và quản lý.
Chức năng này được thiết kế để lưu trữ dữ liệu và các biểu mẫu liên quan, bao gồm định dạng báo cáo, quy tắc kiểm tra dữ liệu, mã quy trình, cũng như cấu trúc xử lý định dạng video và hình ảnh.
Người dùng không cần phải biết cách dữ liệu được lưu trữ hoặc thao tác Liên quan đến vấn đề này là thuật ngữ "Tối ưu hóa hiệu suất", đề cập đến hiệu suất của cơ sở dữ liệu cũng như tốc độ lưu trữ và truy cập dữ liệu.
1.2.3 Quá trình phát triển các hệ quản trị CSDL
Lịch sử phát triển của hệ quản trị cơ sở dữ liệu (DBMS) bắt đầu từ những năm đầu thế kỷ 20 và trải qua nhiều giai đoạn thú vị và đa dạng cho đến nay Hành trình này phản ánh sự tiến bộ công nghệ và nhu cầu ngày càng cao trong quản lý dữ liệu.
HỆ QUẢN TRỊ CSDL SQL SERVER
SQL Server, short for Structured Query Language, is a Relational Database Management System (RDBMS) that supports a high volume of transaction processing, enterprise applications, and analytical applications for companies in the IT sector.
SQL Server, giống như các hệ thống quản lý cơ sở dữ liệu khác, được phát triển dựa trên ngôn ngữ SQL - ngôn ngữ lập trình tiêu chuẩn mà các quản trị viên cơ sở dữ liệu (DBAs) và chuyên gia IT sử dụng để quản lý và truy vấn dữ liệu trong cơ sở dữ liệu.
CÁC MỨC BIỂU DIỄN CSDL
Theo kiến trúc ANSI-PARC, một CSDL có 3 mức biểu diển: Mức trong (còn gọi là mức vật lý - Physical), mức quan niệm (Conception hay Logical) và mức ngoài.
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.3 Kiến trúc tổng quát (ANSI – PARC) của một CSDL
Mức quan niệm là bước đầu tiên trong việc xây dựng cơ sở dữ liệu, xác định số lượng và loại dữ liệu cần lưu trữ, cũng như mối quan hệ giữa các loại dữ liệu này.
Các chuyên viên tin học, thông qua khảo sát và phân tích, sẽ xác định những loại thông tin cần thiết để đưa vào cơ sở dữ liệu (CSDL) và mô tả mối liên hệ giữa các thông tin này CSDL mức quan niệm là một biểu diễn trừu tượng của CSDL mức vật lý, trong khi CSDL vật lý là cài đặt cụ thể của CSDL mức quan niệm.
1.4.2 Mức trong Đây là mức lưu trữ của CSDL hay mô hình lưu trữ CSDL trên máy tính và là bước thứ hai - sau bước xây dựng CSDL mức quan niệm Tại mức này, vấn đề cần giải quyết là, dữ liệu gì và được lưu trữ như thế nào? ở đâu (đĩa từ, băng từ, track,sector nào), cần các chỉ mục gì, việc truy xuất là tuần tự (Sequential Access) hay ngẫu nhiên (RandomAccess) đối với từng loại dữ liệu, …
Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL (Administrator), những người sử dụng (NSD) chuyên môn.
1.4.3 Mức ngoài Đó là CSDL mà người sử dụng cuối (end user) và các chương trình ứng dụng nhìn thấy Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và những người sử dụng không chuyên Mỗi người sử dụng hay mỗi chương trình ứng dụng có thể được "nhìn" (View) CSDL theo một góc độ khác nhau Có thể "nhìn" thấy toàn bộ hay chỉ một phần hoặc chỉ là các thông tin tổng hợp từ CSDL hiện có.Người sử dụng hay chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các loại dữ liệu hay tên gọi của các thuộc tính Họ chỉ có thể làm việc trên một phầnCSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định,gọi là khung nhìn (View).
MÔ HÌNH DỮ LIỆU QUAN HỆ
Mô hình Dữ liệu Quan hệ (RDM) được Ted Codd của IBM phát triển vào những năm 1970 và chính thức được triển khai thương mại sau khoảng 10 năm RDM trở nên phổ biến nhờ tính đơn giản trong việc sử dụng cơ sở dữ liệu và hỗ trợ tốt cho các nhà phát triển trong việc lưu trữ và xử lý dữ liệu.
Mô hình dữ liệu quan hệ thể hiện cơ sở dữ liệu như một tập hợp các quan hệ (bảng giá trị), trong đó mỗi bảng gồm các cột và hàng, được gọi là thuộc tính (attributes) và bộ giá trị (tuples) Mỗi bộ giá trị (tuple) đại diện cho một thực thể hoặc mối quan hệ trong thế giới thực, và tên của quan hệ cùng với tên các thuộc tính giúp làm rõ ý nghĩa của từng bộ.
Về cơ bản, có thể hiểu RDM dựa trên một số điểm chính sau đây:
+ Cơ sở dữ liệu là một tập hợp các quan hệ có liên quan (bảng giá trị).
+ Mỗi quan hệ có một tên gọi riêng cho biết loại tuple (bộ dữ liệu) mà quan hệ có
+ Mỗi quan hệ có một tập hợp các thuộc tính (tên cột) đại diện cho các tính chất hoặc các đặc trưng của từng thực thể.
+ Một bộ – tuple (hàng) biểu diễn một thực thể với các các giá trị tương ứng với từng thuộc tính.
Mỗi cột trong bảng còn được gọi là một trường (field)
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.4 Ví dụ về một mô hình dữ liệu quan hệ
MÔ HÌNH THỰC THỂ _ MỐI KẾT HỢP
Mô hình quan hệ thực thể (E-R) do CHEN giới thiệu vào năm 1976 là một công cụ thiết kế cơ sở dữ liệu quan trọng, giúp biểu diễn các thực thể và mối quan hệ giữa chúng So với mô hình mạng, E-R có nhiều ưu điểm, thể hiện rõ hơn các thành phần của thế giới thực Trong khi mô hình mạng chỉ tập trung vào các đối tượng chính mà không mô tả chi tiết đặc điểm của chúng, mô hình E-R khắc phục những hạn chế này, do đó, nó thường được lựa chọn bởi các nhà phân tích thiết kế cơ sở dữ liệu.
Trong ứng dụng, việc quản lý các đối tượng và sự vật từ thế giới thực là rất quan trọng Những đối tượng này có thể là những vật thể hữu hình mà chúng ta có thể sờ thấy, hoặc cũng có thể mang tính chất ảo, thể hiện sự phong phú và đa dạng của thế giới xung quanh.
Khi thiết kế cơ sở dữ liệu cho hệ thống quản lý học viên, một trong những thực thể quan trọng cần xem xét là HOCVIEN, đại diện cho thông tin của từng học viên trong hệ thống.
Trong mô hình ER thì ta sẽ dùng ký hiệu sau để mô tả loại thực thể:
Như vậy ta dùng ký hiệu hình chữ nhật và bên trong chính là tên của loại thực thể.
1.6.2 Thuộc tính của loại thực thể
Mỗi tập thực thể sở hữu một tập hợp các tính chất đặc trưng, được gọi là thuộc tính Mỗi thuộc tính tương ứng với một miền giá trị, bao gồm các giá trị cụ thể cho thuộc tính đó.
1.6.3 Khóa loại thực thể Để nhận diện thì với mỗi thực thể chúng ta sẽ xác định cho nó một khóa duy nhất. Như vậy khóa của loại thực thể chính là dùng để nhận diện các thực thể của nó.
Trong loại thực thể HOCVIEN, có nhiều thực thể học viên, mỗi học viên được gán một mã số duy nhất Mã học viên này đóng vai trò là chìa khóa giúp nhận diện từng học viên một cách chính xác.
Trong mô hình mạng, giữa hai đối tượng tồn tại một mối liên hệ được gọi là loại liên hệ Tương tự, trong mô hình thực thể, mối kết hợp giữa các thực thể được gọi là loại mối kết hợp Loại mối kết hợp này chính là mối liên hệ giữa hai loại thực thể.
Ví dụ: Giữa hai loại thực thể HOCVIEN và LOP ta sẽ có loại mối kết hợp
THUOC, và ta biểu diễn như sau:
Trong mô hình mạng, hai đối tượng có mối liên hệ gọi là loại liên hệ Tương tự, trong mô hình thực thể, mối kết hợp giữa các thực thể được gọi là loại mối kết hợp Loại mối kết hợp chính là mối liên hệ giữa hai loại thực thể.
Ví dụ: Giữa hai loại thực thể HOCVIEN và LOP ta sẽ có loại mối kết hợp THUOC, và ta biểu diễn như sau:
Biểu diễn bằng lời nói thì như sau "học viên sẽ thuộc lớp nào đó"
Ngoài ra giữa hai loại thực thể có thể tồn tại nhiều loại mối kế hợp.
Biểu diễn bằng lời nói thì như sau "học viên sẽ thuộc lớp nào đó"
Ngoài ra giữa hai loại thực thể có thể tồn tại nhiều loại mối kế hợp.
1.6.5 Số ngôi của mối kết hợp
Số ngôi phản ánh số loại thực thể mà mối kết hợp đó liên kết Chẳng hạn, trong ví dụ 2 ở phần 7, mối kết hợp THUOC có số ngôi là 2 vì nó kết nối hai loại thực thể HOCVIEN và LOP.
Ví dụ: Giả sử ta có ba loại thực thể là:
Ta sẽ có một loại mối kết hợp tên là THI để gắn ba loại thực thể này theo mô hình như sau:
Như vậy loại mối kết hợp THI sẽ có số ngôi là 3.
1.6.6 Thuộc tính của mối kết hợp
Mối kết hợp có thể mang các thuộc tính riêng, thường bao gồm khóa của các thực thể tham gia, cùng với những thuộc tính bổ sung khác Ví dụ, trong mối kết hợp với ba ngôi, các thuộc tính có thể là Mã-Học-Viên, Mã-Môn-Học, và Điểm-Thi, bên cạnh đó có thể thêm các thuộc tính như Lần-Thi-Thứ, Ngày-Thi, và Ghi-Chú.
1.6.7 Bản số mỗi nhánh của mối kết hợp
Trong mô hình mạng, bản số được sử dụng để chỉ ra số lượng mẫu tin tham gia vào các mối quan hệ Tương tự, trong mô hình ER, chúng ta cũng áp dụng bản số để thể hiện số lượng tối thiểu và tối đa của các thực thể tham gia vào mỗi loại mối quan hệ.
Ví dụ: Loại mối kết hợp học viên (HOCVIEN) và lớp (LOP) có loại mối kết hợp thuộc:
Mỗi học viên sẽ thuộc một lớp
Mỗi lớp có thể có 1 hoặc nhiều học viên
NGÔN NGỮ SQL
SQL là ngôn ngữ chuẩn cho việc quản lý Cơ sở dữ liệu quan hệ, cho phép người dùng thực hiện các thao tác như chèn, tìm kiếm, cập nhật và xóa bản ghi Ngoài ra, SQL còn hỗ trợ tối ưu hóa và bảo trì cơ sở dữ liệu, giúp nâng cao hiệu suất và độ tin cậy của hệ thống.
SQL, viết tắt của ngôn ngữ Truy vấn có cấu trúc, được phát âm là “SQL” hoặc “See-Quel”, là một ngôn ngữ quan trọng trong quản lý cơ sở dữ liệu Nó thường được sử dụng với các hệ quản trị cơ sở dữ liệu quan hệ như MySQL và Oracle.
MS SQL Server, Sybase, v.v sử dụng ANSI SQL.
Các loại câu lệnh SQL
Dưới đây là năm loại truy vấn SQL được sử dụng rộng rãi.
+ Ngôn ngữ định nghĩa dữ liệu (DDL)
+ Dữ liệu Manipulation Language (DML)
+ Ngôn ngữ kiểm soát dữ liệu (DCL)
+ Ngôn ngữ kiểm soát giao dịch (TCL)
+ Ngôn ngữ truy vấn dữ liệu (DQL)
CÔNG CỤ VẼ SƠ ĐỒ THỰC THỂ VÀ MỐI KẾT HỢP
Hiện nay, có nhiều ứng dụng và công cụ thiết kế sơ đồ thực thể - mối kết hợp như Lucid Chart, Visual Paradigm, SmartDraw và Creately Ngoài ra, cũng có các phần mềm miễn phí và trực tuyến như Draw.io và ERDPLUS.com.
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.5 Giao diện của ERDplus
ERDPlus là công cụ trực tuyến tiện lợi giúp bạn dễ dàng vẽ và thiết kế cơ sở dữ liệu thông qua sơ đồ thực thể-quan hệ (ERD) Công cụ này rất hữu ích cho sinh viên, nhà phát triển phần mềm và các chuyên gia trong lĩnh vực cơ sở dữ liệu, hỗ trợ hiệu quả trong việc tạo ra và quản lý cơ sở dữ liệu.
Trong ERDPlus, người dùng có thể dễ dàng tạo ra các thực thể, mối quan hệ và thuộc tính liên quan, cùng với các ràng buộc giữa chúng Công cụ này sở hữu giao diện trực quan, cho phép kéo và thả các thành phần để xây dựng sơ đồ cơ sở dữ liệu một cách thuận tiện và hiệu quả.
ERDPlus cho phép người dùng chia sẻ và xuất sơ đồ ERD sang nhiều định dạng tệp khác nhau, tạo điều kiện thuận lợi cho việc cộng tác và làm việc với đồng nghiệp hoặc giáo viên.
Một số ưu điểm của phần mềm ERDPlus
ERDPlus là một công cụ trực tuyến miễn phí, cho phép người dùng truy cập và làm việc trên nhiều thiết bị mà không cần cài đặt phần mềm Điều này mang lại sự tiện lợi và linh hoạt, vì bạn có thể sử dụng nó từ bất kỳ đâu có kết nối internet.
ERDPlus sở hữu giao diện người dùng trực quan và dễ sử dụng, giúp người dùng dễ dàng tạo, chỉnh sửa và tùy chỉnh sơ đồ cơ sở dữ liệu mà không cần có kiến thức chuyên sâu về lĩnh vực này.
ERDPlus cung cấp khả năng chia sẻ sơ đồ cơ sở dữ liệu thông qua URL hoặc xuất khẩu sang các định dạng tệp như PNG, PDF và SQL script, giúp thuận tiện cho việc hợp tác và chia sẻ với đồng nghiệp hoặc giáo viên.
ERDPlus hỗ trợ đa dạng các loại sơ đồ ERD, bao gồm sơ đồ thực thể-quan hệ (ERD), sơ đồ dữ liệu thô (Logical Data Model) và sơ đồ dữ liệu vật lý (Physical Data Model), giúp người dùng quản lý và phát triển cơ sở dữ liệu (CSDL) một cách toàn diện và hiệu quả.
ERDPlus hỗ trợ tích hợp với các dịch vụ lưu trữ đám mây như Google Drive, Dropbox và OneDrive, mang đến cho người dùng khả năng lưu trữ và truy cập sơ đồ CSDL một cách tiện lợi và an toàn.
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.6 Giao diện khi thiết kế CSDL
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.7 Chuyển mô hình ERD sang mô hình quan hệ trên ERDPlus
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.8 Mô hình quan hệ khi vừa chuyển đồi từ sơ đồ ERD
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.9 Chuyển đổi từ bảng lược đồ quan hệ về các câu lệnh
Hình CHƯƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.10 Các câu lệnh đã được khởi tạo
ỨNG DỤNG THỰC TIỄN
ĐẶT VẤN ĐỀ
Mở quán cà phê yêu cầu nhiều yếu tố như tài chính, vật chất và vị trí địa lý thuận lợi để phát triển kinh doanh Quản lý quán cà phê là một thách thức lớn, đòi hỏi tìm ra phương pháp hiệu quả và tiện lợi Để giải quyết vấn đề này, phần mềm quản lý bán hàng ra đời nhằm hỗ trợ cá nhân và tổ chức trong việc quản lý quán cà phê, tiết kiệm thời gian và công sức, đồng thời nâng cao hiệu quả kinh doanh.
KHẢO SÁT HIỆN TRẠNG
Trong bối cảnh hiện nay, quán cà phê không chỉ là nơi giải khát mà còn là không gian lý tưởng để trò chuyện và học nhóm, đặc biệt là đối với giới trẻ Sự gia tăng nhanh chóng của các quán cà phê với đa dạng hình thức và loại hình phục vụ đã tạo ra một thị trường cạnh tranh sôi động Để thu hút khách hàng, chất lượng thức uống đóng vai trò quan trọng, bên cạnh đó, việc quản lý quán cà phê hiệu quả cũng là yếu tố quyết định thành công Phần mềm quản lý quán cà phê ra đời nhằm giúp các chủ quán tiết kiệm thời gian và công sức trong việc điều hành, từ đó nâng cao hiệu quả kinh doanh.
Bán hàng bằng thủ công sẽ bộc lộ các hạn chế sau :
Tra cứu thông tin về doanh thu, hóa đơn, nhân viên,…có thể mất rất nhiều thời gian và không chính xác
Không đáp ứng được nhu cầu thông tin phục vụ hàng ngày và mở rộng cửa hàng trong tương lai.
Việc lưu trữ thông tin về thức uống và khách hàng thường yêu cầu sử dụng nhiều loại giấy tờ và sổ sách, dẫn đến sự cồng kềnh trong quá trình lưu trữ và tốn nhiều thời gian để tìm kiếm.
Trước tình hình đó, vấn đề đặt ra cần phải có một phần mềm đáp ứng được các yêu cầu cơ bản sau:
Cho phép nhập các thông tin các loại đồ uống mới, khách hàng, hóa đơn,một cách đầy đủ, dễ dàng và lưu trữ lâu dài.
QUY TRÌNH KINH DOANH
Nhà cung cấp gửi phiếu nhập hàng cho cửa hàng, và nhân viên sẽ kiểm tra số lượng nguyên liệu nhập về Nếu số lượng đúng như phiếu, nhân viên sẽ ký nhận Ngược lại, nếu không đủ, nhân viên sẽ phản hồi lại với nhà cung cấp.
2.3.2 Quá trình bán tại cửa hàng
Khi khách hàng thực hiện giao dịch tại cửa hàng, thông tin về các mặt hàng và số lượng được ghi nhận trong bảng Chi tiết hoá đơn (CTHD), mỗi bản ghi liên kết với một hóa đơn bán hàng cụ thể thông qua mã hóa đơn (Mahdbh) Bảng này lưu trữ chi tiết về ngày bán, số lượng và tổng giá, sau đó nhân viên quầy thực hiện thanh toán và lập hóa đơn, bao gồm mã hóa đơn (Mahdbh), ngày bán (NgayBan), mã khách hàng (MaKH) và mã bàn (MaBan).
2.3.3 Quá trình báo cáo,thống kê
Cuối ngày cửa hàng thống kê doanh số bán hàng theo từng mặt hàng thông qua MaDUong ( mã sản phẩm ) hoặc TenDUong ( tên đồ uống ) trong bảng SANPHAM
Cuối tháng, cửa hàng tiến hành kiểm tra số lượng các loại đồ uống trong bảng chi tiết hóa đơn (CTHD) để xác định những sản phẩm bán chạy nhất trong tháng Dựa trên kết quả này, cửa hàng sẽ đặt thêm hàng từ nhà cung cấp (NCC) nhằm đảm bảo đáp ứng nhu cầu của khách hàng.
PHƯƠNG PHÁP THỰC HIỆN
2.4.1 Các thực thể a) Giới thiệu các thực thể
4 Thực thể Loại Đồ Uống
6 Thực thể Hóa Đơn Bán Hàng
9 Thực thể Nhà Cung Cấp (NCC)
10 Thực thể Phiếu Nhập Hàng
11 Thực thể Nguyên Liệu b) Liệt kê các thành phần thực thể
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.11 Thực thể nhân viên
Các thuộc tính thực thể :
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.12 Thực thể khách hàng
Các thuộc tính thực thể :
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.13 Thực thể đồ uống
Các thuộc tính thực thể :
- MaLoai: mã loại đồ uống ( khóa ngoại )
4 Thực thể loại đồ uống
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.14 Thực thể loại đồ uống
Các thuộc tính thực thể :
- MaLoai: mã loại đồ uống
- TenLoai: tên loại đồ uống
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.15 Thực thể bàn
Các thuộc tính thực thể :
- TrangThai: trạng thái của bàn
6 Thực thể hóa đơn bán hàng
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.16 Thực thể hóa đơn bán hàng
Các thuộc tính thực thể :
- NgayBan: ngày bán của hóa đơn đó
- MaBan: mã bàn ( khóa ngoại )
- MaNV: mã nhân viên ( khóa ngoại )
- MaKH: mã khách hàng ( khóa ngoại )
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.17 Thực thể lương
Các thuộc tính thực thể :
- MaNV: mã nhân viên ( khóa ngoại )
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.18 Thực thể ca làm
Các thuộc tính thực thể :
MaLam: mã của ca làm
TenCa: tên ca làm ( ca sáng/tối/cả ngày)
VaoCa: thời gian bắt đầu vào ca làm
RaCa: thời gian kết thúc ca làm
Luong: lương của ca làm đó
9 Thực thể nhà cung cấp
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.19 Thực thể NCC
Các thuộc tính thực thể :
MaNCC: mã nhà cung cấp
TenNCC: tên nhà cung cấp
DiaChi: địa chỉ của nhà cung cấp
SDT: số điện thoại liên hệ với nhà cung cấp
10.Thực thể phiếu nhập hàng
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.20 Thực thể phiếu nhập hàng
Các thuộc tính thực thể :
TongGia: tổng giá của phiếu nhập hàng
MaNCC: mã nhà cung cấp ( khóa ngoại )
MaNV: mã nhân viên ( khóa ngoại )
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.21 Thực thể nguyên liệu
Các thuộc tính thực thể :
2.4.2 Thiết kế sơ đồ ERD
Theo yêu cầu của bài toán, nhóm chúng em đã thiết kế sơ đồ thực thể kết hợp cho bài toán, được thể hiện trong hình dưới đây và sử dụng công cụ erdplus.com để thực hiện.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.22 Sơ đồ thực thể mỗi kết hợp của quán coffee
2.4.3 Thiết kế lược đồ quan hệ
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.23 Lược đồ quan hệ
2.4.4 Xây dựng các lệnh tạo cơ sở vật lý
Tạo ra các câu lệnh DDL để xây dựng CSDL vật lý trên SQL Server như sau: CREATE DATABASE QL_BCF
FOREIGN KEY (MaNCC) REFERENCES NCC(MaNCC), FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV));
FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV)
FOREIGN KEY (MaNH) REFERENCES PHIEUNHAPHANG(MaNH), FOREIGN KEY (MaNL) REFERENCES NGUYENLIEU(MaNL) );
FOREIGN KEY (MaLuong) REFERENCES LUONG(MaLuong), FOREIGN KEY (MaLam) REFERENCES CALAM(MaLam)
FOREIGN KEY (MaBan) REFERENCES BAN(MaBan),
FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV),
FOREIGN KEY (MaKH) REFERENCES KHACHHANG(MaKH)
FOREIGN KEY (MaLoai) REFERENCES LOAIDOUONG(MaLoai) );
FOREIGN KEY (MaDUong) REFERENCES DOUONG(MaDUong), FOREIGN KEY (Mahdbh) REFERENCES
KẾT QUẢ THỰC HIỆN
Trong phần này, chúng tôi sẽ trình bày kết quả thực hiện cơ sở dữ liệu (CSDL) trên hệ quản trị SQL Server, bao gồm các câu lệnh SQL cần thiết để thực hiện các chức năng theo yêu cầu của bài toán.
2.5.1 Tạo CSDL trên SQL SERVER
Các bảng được tạo trên SQL Server theo các câu lệnh được nêu ở các câu lệnh cơ sở vật lý
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.24 Các bảng dữ liệu được tạo trên bảng SQL Server
2.5.2 Lược đồ CSDL quan hệ trên SQL SERVER
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.25 Lược đồ quan hệ của các bảng trên SQL Server
2.5.3 Viết câu lệnh thực hiện
Thêm nhân viên
Câu lệnh thêm nhân viên và kết quả thực thi
NHÂN VIÊN insert into NHANVIEN values('NV01','Nguyen Nhu
Nhut','P.13,Q.Binh Tan, TPHCM','0927345678','Nam') insert into NHANVIEN values('NV02','Le Thi Phi
Yen','Hiep Binh Chanh,Thu
Duc,TPHCM','0987567390','Nu') insert into NHANVIEN values('NV03','Nguyen Duy
Khanh','P Thu Thiem,Thu Duc,
TPHCM','0997047382','Nam') insert into NHANVIEN values('NV04','Ngo Thanh
Tuan','161 Xa Lo Ha Noi,P.Thao Dien,Thu
Duc,TPHCM','0913758498','Nam') insert into NHANVIEN values('NV05','Nguyen Thi Truc Thanh','P Thu Thiem,Thu Duc,
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.26 Kết quả thêm nhân viên trên SQL Server
Thêm khách hàng
Câu lệnh thêm khách hàng và thực thi kết quả
KHÁCH HÀNG insert into KHACHHANG values('KH01','Nguyen Van
A','Q1, TpHCH',08823451) insert into KHACHHANG values('KH02','Tran Ngoc
Han','Q1, TpHCM',0908256478 ) insert into KHACHHANG values('KH03','Tran Ngoc
Linh','Q2, TpHCM',0938776266) insert into KHACHHANG values('KH04','Tran Minh
Long','Q Binh Thanh, TpHCM',0917325476 ) insert into KHACHHANG values('KH05','Le Nhat
Minh','Q1, TpHCM',082461089) insert into KHACHHANG values('KH06','Le Hoai
Thuong','227 Nguyen Van Cu, Q5, TpHCM',086317388) insert into KHACHHANG values('KH07','Nguyen Van
Tam','32/3 Tran Binh Trong, Q5, TpHCM',0916783565 ) insert into KHACHHANG values('KH08','Phan Thi
Thanh','Q1, TpHCM',0938435756) insert into KHACHHANG values('KH09','Le Ha Vinh','873
Le Hong Phong, Q5, TpHCM',08654763) insert into KHACHHANG values('KH10','Ha DuyLap','Q.Binh Thanh, TpHCM',08768904)
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.27 Kết quả thêm khách hàng trên SQL Server
Thêm bàn
Thêm bàn và kết quả thực thi
Insert into BAN values ('01', 'Ban doi', NULL)
Insert into BAN values ('02', 'Ban don', NULL)
Insert into BAN values ('03', 'Ban doi', NULL)
Insert into BAN values ('04', 'Ban dai', NULL)
Insert into BAN values ('05', 'Ban don', NULL)
Insert into BAN values ('06', 'Ban doi', NULL)
Insert into BAN values ('07', 'Ban doi', NULL)
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.28 Kết quả thêm bàn trên SQL Server
Thêm đồ uống
Insert into DOUONG values ('TR01','Tra Sua
Insert into DOUONG values ('TR02','Tra
Insert into DOUONG values ('TR03','Hong
Insert into DOUONG values ('CA01','Americano
Insert into DOUONG values ('CA02','Bac Xiu',
Insert into DOUONG values ('CA03','Den
Insert into DOUONG values ('CA04','Kem
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.29 Kết quả thêm đồ uống trên SQL Server
Thêm loại đồ uống
Insert into LOAIDOUONG values ('01', 'Ca Phe')Insert into LOAIDOUONG values ('02', 'Tra')
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.30 Kết quả thêm loại đồ uống trên SQL Server
Thêm nhà cung cấp (NCC)
Insert into NCC values ('01', 'Tra Suong Mai Thai Nguyen', 'So 7, Ngo 143 Trung Kinh, Trung Hoa, Cau Giay, Ha Noi', 0989680068)
Insert into NCC values ('02', 'Ca Phe Trung Nguyen', 'So 19 - Ngach 296/29 - Đuong Linh Nam - Quan Hoang Mai - TP.Ha Noi', 0983181856)
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.31 Kết quả thêm NCC trên SQL Server
Thêm ca làm
Insert into CALAM values ('01', 'Sang', '7h',
Insert into CALAM values ('02', 'Toi', '15h',
Insert into CALAM values ('03', 'Ca ngay', '7h', '21h','25/1h')
Sau khi thêm dữ liệu vào bảng CALAM, nhóm chúng tôi nhận thấy cột Luong (sau dấu phẩy thứ 4) khó nhận dạng số tiền cho mỗi ca làm Để khắc phục vấn đề này, chúng tôi đã sử dụng lệnh UPDATE với cấu trúc cụ thể: UPDATE [tên bảng] SET [cột cần chỉnh] WHERE [điều kiện (nếu có)].
UPDATE CALAM SET Luong = 225000 WHERE MaLam = 01
UPDATE CALAM SET Luong = 175000 WHERE MaLam = 02
UPDATE CALAM SET Luong = 375000 WHERE MaLam = 03
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.32 Kết quả thêm ca làm trên SQL Server
Thêm lương
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.33 Kết quả thêm lương trên SQL Server
Thêm chi tiết lương(CTLUONG)
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.34 Kết quả thêm CTLUONG trong SQL Server
Thêm hóa đơn bán
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.35 Kết quả thêm hóa đơn trong SQL Server
Thêm chi tiết hóa đơn(CTHD)
The CTHD table includes various entries with distinct values, showcasing a range of transactions Notable entries include the insertion of transaction 'TR01' with a value of 35,000 and ID 1001, alongside multiple entries for 'TR03' with values of 30,000 and IDs 1002, 1003, and 1006 Additionally, 'CA04' appears with values of 20,000 and 40,000 under different IDs, while 'CA02' and 'CA03' both have consistent values of 35,000 linked to ID 1004 and 1010, respectively The table also features 'TR02' with varying values, including 50,000 and 25,000, recorded under IDs 1005 and 1006 Overall, the data reflects a structured approach to managing diverse transactions across multiple identifiers.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.36 Kết quả thêm CTHD trên SQL Server
Thêm phiếu nhập hàng
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.37 Kết quả thêm phiếu nhập hàng trên SQL Server
Thêm chi tiết nhập hàng(CTNHAP)
Insert into CTNHAP values ('10',500000,'101','N04')Insert into CTNHAP values ('10',400000,'102','N01')Insert into CTNHAP values ('20',320000,'104','N02')Insert into CTNHAP values ('5',3200000,'103','N05')Insert into CTNHAP values ('30',500000,'105','N04')Insert into CTNHAP values ('20',400000,'106','N01')Insert into CTNHAP values ('10',320000,'107','N02')
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.38 Kết quả thêm CTNHAP trên SQL Server
Thêm column mới có tên DonViTinh với kiểu dữ liệu varchar
Alter Table NGUYENLIEU Add DonViTinh varchar(10)
Insert into NGUYENLIEU values ('N01','Cà phê Chế phin
Insert into NGUYENLIEU values ('N02','Cà phê Chế phin
Insert into NGUYENLIEU values ('N03','Cà phê House Blend ','Kg')
Insert into NGUYENLIEU values ('N04','Trà búp 1 lá','Kg')
Insert into NGUYENLIEU values ('N05','Trà đinh thượng hạng','Kg')
Insert into NGUYENLIEU values ('N06','Ô long Kim Nham trà','Kg')
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.39 Kết quả thêm nguyên liệu trên SQL Server
Quản lý bán hàng, hay chức năng bán hàng, là một phần quan trọng trong quy trình bán hàng, bao gồm việc nhận đơn hàng và xử lý các yêu cầu của khách hàng Tại chức năng này, người dùng có thể dễ dàng thêm đồ uống vào thực đơn, lựa chọn món ăn, chọn và chuyển bàn, cũng như xóa món đã gọi và thực hiện thanh toán.
Thêm đồ uống mới vào thực đơn :
Insert into DOUONG values ( 'LT01', 'Latte
Insert into DOUONG values ('TR04','Tra đen Macchiato', 55000,'01')
LT01 và TR04 là mã đồ uống
Latte Matcha và Tra den Macchiato là tên đồ uống
02 và 01 là mã nhà cung cấp
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.40 Kết quả thực hiện thao tác thêm đồ uống mới
- 1011 và 1012 là mã hóa đơn bán hàng
- 20231102 là ngày hóa đơn bán
- 04 và 02 là mã bàn đã chọn
- NV05 và NV01 là mã nhân viên đứng ra thanh toán
- KH07 và KH10 là mã khách hàng đã mua
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.41 Kết quả thêm hóa đơn mới
Nếu khách hàng của chủ hóa đơn 1011 muốn đổi bàn do điều kiện môi trường không tốt hoặc lý do khác, họ có thể sử dụng câu lệnh UPDATE để thay đổi vị trí bàn Cú pháp thực hiện là: UPDATE [tên bảng cần sửa] SET [cột cần thao tác].
WHERE [ điều kiện( nếu có ) ]
UPDATE HOADONBANHANG SET MaBan = '03' WHERE Mahdbh
Sau khi so sánh ở trên thấy vị trí bàn đã thay đổi từ bàn 04 thành 03
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.42 Kết quả sau khi thực hiện sửa đổi bàn
Để xem món ăn mà khách hàng đã chọn cùng với tổng tiền hóa đơn, cần nhập dữ liệu vào chi tiết hóa đơn Sau khi nhập, hệ thống sẽ hiển thị phần chi tiết hóa đơn (CTHD) Ví dụ, có thể thực hiện các lệnh như: "insert into CTHD values(2,80000,'LT01',1011)", "insert into CTHD values(1,30000,'TR03',1012)", và "insert into CTHD values(1,35000,'CA03',1012)".
Bảng dữ liệu bao gồm bốn cột: cột đầu tiên hiển thị số lượng đồ uống mà khách hàng đã chọn, cột thứ hai ghi rõ giá tiền, cột thứ ba là mã đồ uống, và cột cuối cùng là mã hóa đơn bán hàng.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.43 Kết quả thêm CTHD
Ví dụ: Hiển thị thông tin của hóa đơn và chi tiết hóa đơn có mã hóa đơn là 1004
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.44 Kết quả hiển thị hóa đơn bán hàng và CTHD
2.5.4.2 Chức năng quản lý hàng
Chức năng quản lý hàng gồm có thao tác như : Nhập hàng từ phiếu nhập hàng đã đặt sẵn với nhà cung cấp
Bảng dữ liệu bao gồm các cột quan trọng: cột 1 ghi mã nhập hàng, cột 2 thể hiện ngày tháng nhập hàng, cột 3 tổng tiền hàng được nhập, cột 4 là mã nhà cung cấp, và cột 5 là mã nhân viên chịu trách nhiệm nhập hàng.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.45 Kết quả thêm phiếu nhập hàng
Tùy vào mỗi mục đích của người dùng mà mong muốn nhập mặt hàng nào cần thiết
Insert into NGUYENLIEU values ('N06','Ô long Kim Nham trà','Kg' )
+ Trong đó : cột đầu tiên là mã nguyên liệu,cột 2 là tên nguyên liệu và cuối cùng là đơn vị tính
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.46 Kết quả thêm nguyên liệu
Phiếu nhập hàng sẽ tạo ra một mã hóa đơn, trong đó chi tiết nhập hàng bao gồm việc lưu trữ số lượng mặt hàng, giá nhập và mã nguyên liệu.
Insert into CTNHAP values ('20',400000,'108','N01')Insert into CTNHAP values ('10',320000,'109','N02')
Bảng dữ liệu bao gồm bốn cột: cột đầu tiên thể hiện số lượng hàng nhập, cột thứ hai ghi nhận giá tiền nhập, cột thứ ba là mã hóa đơn nhập từ phiếu nhập hàng, và cột cuối cùng là mã nguyên liệu nhập.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.47 Kết quả thêm CTNHAP
Ví dụ : Hiển thị thông tin của phiếu nhập hàng,chi tiết nhập và tên nguyên liệu của hóa đơn có mã nhập hàng 103
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.48 Kết quả ví dụ
2.5.4.3 Chức năng quản lý khách hàng
Thêm thông tin khách hàng: insert into KHACHHANG values('KH11','Ha Thanh
+ Trong đó : cột 1 là mã khách hàng,cột 2 là tên khách hàng, cột 3 là địa chỉ khách hàng và cuối cùng là số điện thoại của khách hàng
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.49 Kết quả thêm khách hàng
Tương tự như thêm khách hàng thì các thao tác xóa và sửa cũng tương tự với cú pháp :
- Sửa : sử dụng lệnh UPDATE với cú pháp UPDATE [ tên bảng cấn sửa ]
SET [ cột cần thao tác ] WHERE [ điều kiện( nếu có ) ]
- Xóa : sử dụng lệnh DELETE ( xóa dữ liệu trong bảng ) với cú pháp
Ví dụ : Hiển thị thông tin danh sách khách hàng đến quán trong ngày 28/10/2023
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.50 Kết quả ví dụ
2.5.4.4 Chức năng quản lý nhân viên
Chức năng quản lý nhân viên cho phép lưu trữ thông tin nhân viên và gồm có những thao tác sau:thêm nhân viên, lương của nhân viên,
Thêm nhân viên : insert into NHANVIEN values('NV06','Diem Huynh Hai Khoa','Thu Duc, TPHCM','0918597587','Nam')
+ Trong đó : cột 1 là mã nhân viên,cột 2 là tên nhân viên, cột 3 là dịa chỉ, cột 4 là số điện thoại và cuối cùng là giới tính
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.51 Kết quả thêm nhân viên
Tương tự như thêm khách hàng thì các thao tác xóa và sửa trong bảng nhân viên cũng tương tự với cú pháp :
- Sửa : sử dụng lệnh UPDATE với cú pháp UPDATE [ tên bảng cấn sửa ]
SET [ cột cần thao tác ] WHERE [ điều kiện( nếu có ) ]
- Xóa : sử dụng lệnh DELETE ( xóa dữ liệu trong bảng ) với cú pháp
Thêm lương cho nhân viên:
+ Trong đó : cột 1 là tổng lương, cột 2 là mã lương, cột 3 là kỳ lương và cuối cùng là mã nhân viên nhận lương
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.52 Kết quả thêm lương
+ Trong đó: theo thứ tự từ trái sang phải là số ca làm, mã lương và mã ca làm
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.53 Kết quá thêm chi tiết lương
Ví dụ: Hiển thị thông tin nhân viên,lương và chi tiết lương của nhân viên có mã nhân viên NV03
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.54 Kết quả ví dụ
2.5.4.5 Chức năng thống kê doanh thu
In October, a statistical analysis of revenue was conducted for each customer, revealing the total sales figures The SQL query aggregates the total amount spent by customers, identified by their unique IDs, by summing the transaction amounts from the sales invoices The data is grouped by customer ID and the date of sale, providing insights into monthly sales performance.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.55 Kết quả thống kê doanh thu trong tháng theo từng khách hàng
The store's revenue statistics are analyzed by item, utilizing the SQL query that aggregates total sales by multiplying the quantity sold by the total price for each product This data is grouped by product ID and month of sale, providing insights into monthly performance trends The analysis is conducted by joining the sales detail table with the sales invoice table to ensure accurate reporting of sales figures.
Hình CHƯƠNG 2 ỨNG DỤNG THỰC TIỄN.56 Kết quả thông kế doanh thu theo từng mătj hằng vào tháng 11
2.5.5 Các câu hỏi truy vấn
1 In ra các dồ uống có giá tiền dưới 30000
2 Tính doanh thu bán hàng trong năm 2023
SELECT SUM( CAST (TONGTIEN AS NUMERIC ) ) AS DOANHTHU FROM CTHD C JOIN HOADONBANHANG H ON C.MAHDBH H.MAHDBH
PHẦN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
ĐÁNH GIÁ
- Tiết kiệm thời gian quản lý
- Giảm thiểu những sai sót
- Chưa hoàn chỉnh với các mục bảng dữ liệu
- Chưa tối ưu được các câu lệnh
HƯỚNG PHÁT TRIỂN
Hướng phát triển phần mềm trên Winform.NET cần hoàn thiện các button điều khiển và tối ưu hóa phân quyền sử dụng, giúp người dùng dễ dàng tiếp cận các chức năng cần thiết Bên cạnh đó, cần bổ sung thêm nhiều tính năng phù hợp với quản lý cửa hàng, như nhập nguyên liệu, quản lý máy móc và chương trình ưu đãi tích điểm cho khách hàng.