Một cơ sở dữ liệu CSDL là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình.Hay nói cách khác, CSDL là mộ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
BÀI TẬP LỚN
HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE
Giảng viên: Lê Văn Phong
TÊN ĐỀ TÀI:
PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN HÓA CHẤT
Nhóm trưởng: Nguyễn Anh Vinh
Nhóm: 7
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
BÀI TẬP LỚN
HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE
Giảng viên: Lê Văn Phong
TÊN ĐỀ TÀI:
PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN HÓA CHẤT
Nhóm trưởng: Nguyễn Anh Vinh
Nhóm: 7
STT Sinh viên thực hiện Điểm bằng
số
Điểm bằng chữ
1 Nguyễn Anh Vinh
Trang 3MỤC LỤC
CHƯƠNG I: CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1
3.4 Tính năng và tùy chọn tiêu biểu của hệ quản trị cơ sở dữ liệu Oracle 8
CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG 10
1.1 Mục đích thiết kế hệ thống shop bán hóa chất Vinh Quân 10
2.1 Sơ đồ diagram (truy xuất trực tiếp từ cơ sở dữ liệu oracle) 11
3.1 Yêu cầu với hệ thống thông tin shop bán hóa chất 17
Trang 4I Các bước cài đặt 20
Trang 5CHƯƠNG I: CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
I Lý thuyết về cơ sở dữ liệu
1.1 Khái niệm về cơ sở dữ liệu
Cơ sở dữ liệu là gì?
Một cơ sở dữ liệu (CSDL) là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình.Hay nói cách khác, CSDL là một bộ các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một đơn vị cụ thể nào đó sử dụng
Ví dụ, để quản lý việc học tập trong một môi trường đại học, các dữ liệu là các thông tin về sinh viên, về các môn học, điểm thi Các dữ liệu đó được tổ chức thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu giữ chúng trên máy tính Ta có một tập các dữ liệu có liên quan đến nhau và mang nhiều ý nghĩa, đó là một cơ sở dữ liệu
1.2 Mô hình cơ sở dữ liệu
Mô hình dữ liệu là một khuôn dạng của dữ liệu cho phép người dùng nhìn thấy
dữ liệu dưới cấu trúc thuật ngữ để diễn tả mà ta gọi là lược đồ (scheme) Nó cho ta biếtcấu trúc của cơ sở dữ liệu, bao gồm hai thành phần:
H thốống ký hi u đ mố t d li u.ệ ệ ể ả ữ ệ
T p h p các phép toán thao tác trên d li u đó.ậ ợ ữ ệ
Mố hình phân câốp (Hierarchical model)
Mô hình phân cấp được đưa ra vào những năm 60, trong mô hình này dữ liệu được tổ chức thành cấu trúc cây Trong đó các nút (node) là tập các thực thể, các cành (edge) là các mối quan hệ giữa hai nút theo mối quan hệ nhẩt định, cứng nhắc Hay nóicách khác:
Là mô hình dữ liệu trong đó các bản ghi được sắp xếp theo cấu trúc top-down (tree)
Một nút con chỉ có một nút cha -> chỉ có một đường truy nhập tới dữ liệu đó trước Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu phân cấp gọi là CSDL phân cấp Ví dụ mô hình phân cấp trong quản lý nhân sự của một công ty
Ưu điểm:
Trang 6Giải pháp là xây dựng các bản ghi ảo.
Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi (chỉ cho phép quan hệ 1-n)
Mô hình mạng (Network model)
Mô hình mạng được sử dụng phổ biến vào cuối những năm 60, và được định nghĩa lại vào năm 1971 Trong mô hình này dữ liệu được tổ chức thành một đồ thị có hướng, trong đó các đỉnh là các thực thể, các cung là quan hệ giữa hai đỉnh, một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi khác
Một con có thể có nhiều cha dẫn tới có thể có nhiều đường truy nhập đến một
dữ liệu cho trước Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu mạng gọi là CSDL mạng Ví dụ dữ liệu của một công ty có thể tổ chức theo mô hình mạng như sau
Mố hình d li u quan h (Relational model)ữ ệ ệ
Mô hình này đượcc E.F Codd đưa vào đầu những năm 70, mô hình này dựa trên
lý thuyết tập hợp và đại số quan hệ Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, mềm dẻo và là mô hình thôngdụng nhất hiện nay Hầu hết các DBMS đều tổ chức dữ liệu theo mô hình dữ liệu quan
hệ Trong đó dữ liệu được tổ chức dưới dạng bảng, các phép toán thao tác trên dữ liệu dựa trên lý thuyết tập hợp của toán học Tập dữ liệu được tổ chức theo cấu trúc của mô
Trang 7hình dữ liệu quan hệ thì được gọi là CSDL quan hệ Ví dụ dưới đây mô tả dữ liệu được
tổ chức theo kiểu quan hệ:
Ưu điểm:
D a trên lý thuyêốt t p h p Kh năng tốối u hoá các x lý phong phúự ậ ợ ả ư ử
Nhược điểm:
H n chêố trong bi u diêễn ng nghĩa Câốu trúc d li u khống linh ho tạ ể ữ ữ ệ ạ
Mô hình dữ liệu hướng đối tượng (Object Oriented model)
Là mô hình dữ liệu trong đó các thuộc tính dữ liệu và các phương thức thao tác trên các thuộc tính đó đều được đóng gói trong các cấu trúc gọi là đối tượng (object) Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu hướng đối tượng gọi là CSDL hướng đối tượng
Ưu điểm:
Dêễ dàng bi u diêễn cái mà con ngể ười nh n th c t thêố gi i th c.ậ ứ ừ ớ ự
Bi u diêễn ng nghĩa phong phú c a các th c th và quan h gi a các th c th ể ữ ủ ự ể ệ ữ ự ể
Nhược điểm:
Khống dêễ dàng ánh x vào nh ng câốu trúc l u tr trên máy tínhạ ữ ư ữ
Ưu điểm của cơ sở dữ liệu:
Gi m s trùng l p thống tin xuốống m c tốối thi u nhâốt Do đó đ m b o thống tin có tính ả ự ặ ứ ể ả ả
nhâốt quán và toàn v n d li u.ẹ ữ ệ
Đ m b o d li u có th đả ả ữ ệ ể ược truy xuâốt theo nhiêồu cách khác nhau.
Nhiêồu người có th s d ng chung m t c s d li u.ể ử ụ ộ ơ ở ữ ệ
Nhược điểm của cơ sở dữ liệu:
Tính ch quyêồn c a d li uủ ủ ữ ệ
Tính b o m t và quyêồn khai thác thống tin c a ngả ậ ủ ườ ử ụi s d ng
Tranh châốp d li uữ ệ
Câồn đ m b o an toàn d li u khi có s cốốả ả ữ ệ ự
II Hệ quản trị Cơ sở dữ liệu
2.1 Hệ quản trị cơ sở dữ liệu là gì?
Hệ quản trị cơ sở dữ liệu (DBMS) là một phần mềm cho phép tạo lập các CSDLcho các ứng dụng khác nhau và điều khiển mọi truy cập tới các CSDL đó Nghĩa là, hệ quản trị CSDL cho phép định nghĩa (xác định kiểu, cấu trúc, ràng buộc dữ liệu), tạo lập (lưu trữ dữ liệu trên các thiết bị nhớ) và thao tác (truy vấn, cập nhật, kết xuất, )
Trang 8các CSDL cho các ứng dụng khác nhau Ví dụ: MS Access, MS SQL Server,
ORACLE, IBM DB2,
Bộ Quản lý lưu trữ
Lưu trữ và truy xuất dữ liệu trên các thiết bị nhớ
Tổ chức tối ưu dữ liệu trên thiết bị nhớ
Tương tác hiệu quả với bộ quản lý tệp
Bộ xử lý câu hỏi
Tìm kiêốm d li u tr l i cho m t yêu câồu truy vâốn.ữ ệ ả ờ ộ
Biêốn đ i truy vâốn m c cao thành các yêu câồu có th hi u đổ ở ứ ể ể ược b i h CSDL.ở ệ
L a ch n m t kêố ho ch tốốt nhâốt đ tr l i truy vâốn này.ự ọ ộ ạ ể ả ờ
Bộ Quản trị giao dịch
Đ nh nghĩa giao d ch: m t t p các thao tác đị ị ộ ậ ược x lý nh m t đ n v khống chia ử ư ộ ơ ị
căt được.
Đ m b o tính đúng đăốn và tính nhâốt quán c a d li u.ả ả ủ ữ ệ
Qu n lý điêồu khi n tả ể ương tranh.
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ lập trình khác, nó làm nơi lưu trữ thông tin của các trang web viết bằng PHP hay Perl
MySQL hiện nay có 2 phiên bản (version): miễn phí (MySQL Community Server) và có phí (Enterprise Server)
Trang 9Một số đặc điểm của MySQL
MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ, chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (username) và mật khẩu (password) tương ứng để truy xuất đến CSDL
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó Nếu không, chúng ta sẽ không làm được gì
cả giống như quyền chứng thực người dùng trong SQL Server vậy
Các phiên bản của SQL Server gồm 6 bản chính dưới đây:
Enterpise Manager: Là phiên bản đầy đủ của SQL Server có thể chạy trên 32CPU và 64GB RAM Có các dịch vụ phân tích dữ liệu Analysis Service
Standard: Giống như Enterprise nhưng bị hạn chế một số tính năng cao cấp, có thể chạy trên 2CPU, 4GB RAM
Personal: Phiên bản này chủ yếu để chạy trên PC, nên có thể chạy trên các hệ điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003
Là phiên bản tương tự như Enterprise nhưng bị giới hạn bởi số user kết nối đến.Desktop Engine: Là phiên bản một engine chỉ chạy trên desktop và không có giao diện người dùng (GUI), kích thước CSDL giới hạn bởi 2GB
Win CE: Sử dụng cho các ứng dụng chạy trên Windows CE
Trial: Phiên bản dùng thử, bị giới hạn bởi thời gian
Trang 10SQL Client: Là phiên bản dành cho máy khách, khi thực hiện khai thác sẽ thực hiện kết nối đến phiên bản SQL Server, phiên bản này cung cấp giao diện GUI khai thác cho người sử dụng.
SQL Connectivity only: Là phiên bản sử dụng chỉ cho các ứng dụng để kết nối đến SQL Server, phiên bản này không cung cấp công cụ GUI cho người dùng khai thác SQL Server
DB2 Enterprise Server Edition (ESE) là một RDBMS hoàn chỉnh với cài đặt khách/chủ (client/server setup)
DB2 Workgroup Server Editon (WSE) chủ yếu nhằm đến các doanh nghiệp từ nhỏ đến vừa với tất cả các tính năng của DB2 ESE, trừ kết nối với máy tính lớn
Phiên b n 1 (năm 1977), Phiên b n 2 (năm 1979)ả ả
Phiên b n 3 (năm 1983), Phiên b n 4 (1984)ả ả
Phiên b n 5 phát hành năm 1985 (SQLNet: h thốống khách/ch (client/server)).ả ệ ủ
Phiên b n 6 phát hành năm 1988 (Sequence, thao tác ghi trêễ).ả
Oracle7 được phát hành năm 1992 (SQL*DBA)
Năm 1999 Oracle giới thiệu Oracle8i (i: internet)
Trang 11 Năm 2001-2002: 2 phiên b n Oracle9i (Release 1&2).ả
Năm 2004-2005: 2 phiên b n Oracle10g (g: Grid) (Release 1&2).ả
Năm 2007 – 2009: 2 phiên b n 11g (Release 1&2)ả
Năm 2013 – 2017: 2 phiên b n 12c (Release 1&2)ả
Năm 2018: Phiên b n 18cả
Các release phổ biến hiện nay (10g, 11g, 12c) có 5 phiên bản sau:
Oracle Database Express Edition (Oracle Database XE): là phiên bản đơn giản nhất, download nhanh chóng, cài đặt và quản lý đơn giản, miễn phí cho lập trình, triển khai và mở rộng
Oracle Database Standard Edition One
Oracle Database Standard Edition
Oracle Database Enterprise Edition: là phiên bản mạnh mẽ nhất, cung cấp nhiềutính năng bảo mật cao cấp, giúp cho các công ty quản lý truy xuất các nguồn tài
nguyên và dữ liệu một cách hữu hiệu và tiện lợi hơn
Oracle Database Personal Edition: là một sản phẩm đặc biệt, có chứa hầu hết các tính năng của Enterprise Edition (ngoại trừ Oracle Real Application Clusters), phù hợp cho môi trường phát triển và triển khai một người dùng có đòi hỏi có sự tương thích đầy đủ với các phiên bản khác của Oracle
III Hệ quản trị CSDL Oracle
Cơ sở dữ liệu của nó có năm phiên bản khác nhau dựa trên các tính năng có sẵn.Phiên bản Standard One: Nó phù hợp với các ứng dụng kinh doanh một server với các tính năng hạn chế
Phiên bản Standard: Nó cung cấp tất cả các tính năng được cung cấp trong phiên bản Standard One Ngoài ra, phiên bản này hỗ trợ những máy lớn hơn và dịch vụOracle Real Application Cluster
Trang 12Phiên bản Enterprise: Phiên bản này được đóng gói với các tính năng như bảo mật, hiệu suất, khả năng mở rộng và tính khả dụng, cần thiết cho các ứng dụng quan trọng có liên quan đến xử lý giao dịch online.
Phiên bản Express: Đây là một phiên bản entry-level miễn phí tải xuống, cài đặt, quản lý, phát triển và triển khai
Phiên bản Personal: Nó đi kèm với các tính năng tương tự của phiên bản
Enterprise ngoài trừ Oracle Real Application Cluster
3.2 Lịch sử của lập trình Oracle
Năm 1977, tập đoàn Oracle với tên Software Development Laboratories (SDL)
là công ty đầu tiên đưa nền tảng RDBMS vào thị trường Đến năm 1983, đổi tên thành Oracle Systems Corporation để phù hợp với sản phẩm chủ lực là Oracle Database
Hiện nay, Oracle vẫn là nhà cung cấp dẫn đầu với tỷ suất lợi nhuận đáng kinh ngạc Doanh thu dẫn đầu phải kể đến Oracle Database với 40,4% trên tổng doanh thu toàn thế giới năm 2016 Theo thống kê, tuy đã giảm 2% nhưng vẫn gấp đôi số cổ phần
so với Microsoft ở vị trí thứ hai
Đến nay, tập đoàn phát triển đã mở rộng các danh mục sản phẩm, cung cấp một
số cơ sở dạng dữ liệu khác, các hạng mục phân tích dữ liệu, phần mềm trung gian, hệ thống máy tính, … Ngoài ra, tập đoàn Oracle cũng đang hướng tới để phát triển trở thành nhà cung cấp các dịch vụ điện toán đám mây
3.3 Cấu trúc của cơ sở dữ liệu Oracle
Oracle Database được xây dựng dựa trên SQL, một ngôn ngữ lập trình chuẩn hóa để quản trị cơ sở dữ liệu Đây là ngôn ngữ mà các nhà phân tích dữ liệu và các chuyên gia CNTT thường sử dụng công cụ này để quản lý cơ sở dữ liệu và truy vấn dữliệu được lưu trữ trong đó
Cơ sở dữ liệu Oracle được triển khai nhằm tạo sự độc quyền trong việc bổ sung các extension cho công cụ SQL chuẩn Mặt khác, những cơ sở dữ liệu này còn hỗ trợ cho ngôn ngữ lập trình bằng Java, thêm một số các chương trình được viết trên
PL/SQL
Về mặt kiến trúc, một máy chủ cơ sở dữ liệu Oracle sẽ bao gồm một database
để lưu trữ dữ liệu cùng với một hay nhiều phiên bản database để quản lý các tệp có trong cơ sở dữ liệu đó Cơ sở dữ liệu có kết hợp các cấu trúc lưu trữ vật lý và logic
Trang 133.4 Tính năng và tùy chọn tiêu biểu của hệ quản trị cơ sở dữ liệu Oracle
Khả năng mở rộng và hiệu suất: Các tính năng như Real Application Clustering
và Portability làm cho Oracle database có thể mở rộng tùy theo cách sử dụng Trong
cơ sở dữ liệu đa người dùng, nó yêu cầu kiểm soát tính nhất quán và đồng thời của dữ liệu được Oracle dự tính
Tính khả dụng: Các ứng dụng real-time yêu cầu tính khả dụng của dữ liệu cao Môi trường máy tính hiệu suất cao được định cấu hình để cung cấp dữ liệu luôn sẵn sàng Dữ liệu luôn có sẵn trong Downtime theo kế hoạch hoặc ngoài kế hoạch
Backup và Recovery: Layout của nó hoàn chỉnh các tính năng recovery để khôi phục dữ liệu từ hầu hết các loại lỗi Trong trường hợp bị lỗi, database cần được phục hồi ngay lập tức để có tính khả dụng cao Các phần dữ liệu không bị ảnh hưởng vẫn cósẵn trong khi phần dữ liệu bị ảnh hưởng vẫn đang được phục hồi
Bảo mật: Bảo mật dữ liệu luôn được ưu tiên hàng đầu Oracle cung cấp các cơ chết để kiểm soát việc truy cập và sử dụng dữ liệu Việc thực hiện ủy quyền và chỉnh sửa hành động của người dùng có thể ngăn chặn truy cập trái phép và cho phép người dùng truy cập riêng biệt
3.5 Lợi ích của Oracle mang lại là gì?
Hiệu suất: Oracle có phương pháp luận và nguyên tắc để đạt được hiệu suất cao Vietnix có thể triển khai điều chỉnh hiệu suất trong database của nó để truy xuất
và thay đổi dữ liệu nhanh hơn Nhằm cải thiện thời gian thực hiện truy vấn
Cơ sở dữ liệu đa người dùng: Database của nó hỗ trợ quản lý nhiều trường hợp database trên một server duy nhất Phương pháp Instance Caging được Oracle cung cấp để quản lý việc cấp phát CPU trên server đang chạy các cơ sở dữ liệu cá nhân Instance Caging hoạt động với database resource manager để quản lý các dịch vụ qua nhiều phiên bản
Các phiên bản: Như chúng ta đã thảo luận ở trên, về các phiên bản khác nhau được cung cấp bởi Oracle Nó mang lại lợi ích cho người dùng khi mua phiên bản theoyêu cầu ứng dụng của họ Họ có thể cập nhật liên tục phiên bản nếu yêu cầu của họ thay đổi trong tương lai Nếu bạn muốn tìm hiểu và thực hành một số Oracle, bạn có thể tải xuống và cài đặt database phiên bản Express hoàn toàn miễn phí
Cluster: Nó sử dụng Real Application Clusters để cung cấp một hệ thống dữ liệu sẵn Database với RAC có những lợi ích so với các database server truyền thống như: scaling database qua nhiều trường hợp, cân bằng tải, dự phòng dữ liệu và tính khảdụng, linh hoạt để tăng khả năng xử lý
Failure Recovery: RMAN (Recovery Manager) là tính năng của Oracle DB có chức năng khôi phục hoặc phục hồi các file database trong downtime Nó hỗ trợ
Trang 14backup online, lưu trữ Người dùng cũng có thể sử dụng SQL*PLUS để recovery, được gọi là recovery do người dùng quản lý Có một tiện ích có sẵn trong database để thêm các backup do người dùng quản lý.
PL/SQL: Database hỗ trợ PL/SQL extension để lập trình liên tục
Trang 15CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG
(HỆ THỐNG QUẢN SHOP BÁN HÓA CHẤT VINH QUÂN)
I Phân tích, thiết kế hệ thống CSDL
1.1 Mục đích thiết kế hệ thống shop bán hóa chất Vinh Quân
Phần mềm quản lý bán hàng được thiết kế và phát triển để hỗ trợ chủ cửa hàng quản lý một quy trình bán hàng một cách chuyên nghiệp mang tính chi tiết, chính xác
và nhanh chóng
Mục đích của phần mềm quản lý bán hàng nhằm giúp cho cá nhân người quản
lý nâng cao chất lượng dịch vụ bán hàng đối với khách hàng đồng thời cũng là một công cụ để quản lý hàng hóa, kho, quy trình bán hàng, chăm sóc khách hàng một cách hiệu quả, tiết kiệm được nhiều thời gian và chi phí cho việc phải cần quá nhiều nhân viên để quản lý
1.2 Thiết kế hệ thống CSDL
Hệ thống bao gồm các bảng sau:
• tblHang: PK(MaHang); TenHang; MaChatLieu; SoLuuong; DonGiaNhap;
DonGiaBan; Anh; GhiChu
• tblChatLieu: PK(MaChatLieu); TenChatLieu
• tblNhanVien: PK(MaNhanVien); TenNhanVien; GioiTinh; DiaChi; DienThoai;
NgaySinh
• tblKhach: PK(MaKhach); TenKhach; DiaChi; DienThoai
• tblHoaDonBan: PK(MaHDBan); MaNhanVien; NgayBan; MaKhach;
TongTien
• tblChiTietHDBan: PK(MaHDBan); MaHang; SoLuong; DonGia; GiamGia;
ThanhTien
Trang 16II Mô hình dữ liệu quan hệ
2.1 Sơ đồ diagram (truy xuất trực tiếp từ cơ sở dữ liệu oracle)
2.2 Mô hình quan hệ ERD (Bản vẽ tay)
2.3 Cơ sở dữ liệu cửa hàng bán hóa chất.
Tạo bảng:
create TABLE tblChatLieu (
Trang 17MaChatLieu VARCHAR (50)NOTNULL,
TenChatLieu VARCHAR (50) NULL,
PRIMARY KEY (MaChatLieu)
);
CREATE TABLE tblHang (
MaHang VARCHAR (50) NOTNULL,
TenHang VARCHAR (50) NOTNULL,
MaChatLieu VARCHAR (50) NOTNULL,
SoLuong FLOAT (53) NOTNULL,
DonGiaNhap FLOAT (53) NOTNULL,
DonGiaBan FLOAT (53) NOTNULL,
Anh VARCHAR (50) NOTNULL,
GhiChu VARCHAR (50)NULL,
PRIMARY KEY (MaHang),
FOREIGN KEY (MaChatLieu) REFERENCES tblChatLieu (MaChatLieu));
CREATE TABLE tblKhach (
MaKhach VARCHAR (50) NOTNULL,
TenKhach VARCHAR (50) NOTNULL,
DiaChi VARCHAR (50)NOTNULL,
DienThoai VARCHAR (50)NOTNULL,
PRIMARY KEY (MaKhach)
);
CREATE TABLE tblNhanVien (
MaNhanVien VARCHAR (50) NOTNULL,
TenNhanVien VARCHAR (50)NOTNULL,
GioiTinh VARCHAR (50) NOTNULL,
DiaChi VARCHAR (50) NOTNULL,
DienThoai VARCHAR (50)NOTNULL,
NgaySinh DATE NULL,
PRIMARY KEY (MaNhanVien)
);
Trang 18CREATE TABLE tblHDBan (
MaHDBan VARCHAR (50)NOTNULL,
MaNhanVien VARCHAR (50)NOTNULL,
NgayBan DATE NOTNULL,
MaKhach VARCHAR (50) NOTNULL,
TongTien FLOAT (53) NOTNULL,
PRIMARY KEY (MaHDBan),
FOREIGN KEY (MaNhanVien) REFERENCES tblNhanVien (MaNhanVien),
FOREIGN KEY (MaKhach) REFERENCES tblKhach (MaKhach)
);
CREATE TABLE tblChiTietHDBan (
MaHDBan VARCHAR (50)NOTNULL,
MaHang VARCHAR (50)NOTNULL,
SoLuong FLOAT (53) NOTNULL,
DonGia FLOAT (53) NOTNULL,
GiamGia FLOAT (53) NOTNULL,
ThanhTien FLOAT (53) NOTNULL,
PRIMARY KEY (MaHDBan),
FOREIGN KEY (MaHang) REFERENCES tblHang (MaHang),
FOREIGN KEY (MaHDBan) REFERENCES tblHDBan (MaHDBan)
);
Insert dữ liệu vào các table tương ứng:
INSERT ALL
INTO tblchatlieu VALUES ('58','Xeri')
INTO tblchatlieu VALUES ('59','Prazeodim')
INTO tblchatlieu VALUES ('60','Neodim')
INTO tblchatlieu VALUES ('61','Prometi')
INTO tblchatlieu VALUES ('62','Samari')
INTO tblchatlieu VALUES ('63','Europi')
INTO tblchatlieu VALUES ('64','Gadoleni')
INTO tblchatlieu VALUES ('65','Tebi')
INTO tblchatlieu VALUES ('66','Diprozi')
INTO tblchatlieu VALUES ('67','Honmi')
SELECT * FROM DUAL;
INSERT ALL
Trang 19INTO tblHang VALUES ('1','Xeri','58', 100000, 1000000, 1500000,'01.jpg',
INTO tblhdban VALUES ('1','1','27/09/2022','1', 24000000)
INTO tblhdban VALUES ('2','2','26/09/2022','2', 30000000)
INTO tblhdban VALUES ('3','3','28/09/2022','3', 39200000)
INTO tblhdban VALUES ('4','3','22/09/2022','4', 49000000)
Trang 20INTO tblhdban VALUES ('5','2','21/09/2022','5', 16000000)
SELECT * FROM DUAL;
INSERT ALL
INTO tblchitiethdban VALUES ('1','1', 16, 1500000, 0, 24000000)
INTO tblchitiethdban VALUES ('2','2', 12, 2500000, 0, 30000000)
INTO tblchitiethdban VALUES ('3','3', 7, 5600000, 0, 39200000)
INTO tblchitiethdban VALUES ('4','4', 14, 3500000, 0, 49000000)
INTO tblchitiethdban VALUES ('5','5', 16, 1000000, 0, 16000000)
SELECT * FROM DUAL;
Các bảng trong chương trình:
TABLE tblChatLieu
TABLE tblHang
Trang 21TABLE tblKhach
TABLE tblNhanVien
Trang 22TABLE tblHDBan
TABLE tblChiTietHDBan
III Yêu cầu với hệ thống thông tin
3.1 Yêu cầu với hệ thống thông tin shop bán hóa chất
Vì công tác quản lý bán hàng có sức ảnh hưởng cực kỳ lớn đối với hoạt động kinh doanh của cửa hàng Do đó, yêu cầu của quản lý bán hàng bằng phần mềm đặt ra cũng rất cao và nhiều Cụ thể: