báo cáo bài tập lớn môn hệ quản trị cơ sở dữ liệu đề tài quản lý hệ thống bán thuốc pharmacity

76 1 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo bài tập lớn môn hệ quản trị cơ sở dữ liệu đề tài quản lý hệ thống bán thuốc pharmacity

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đối mặt với môi trường kinh doanh ngàynay, nơi mà ngành dược phẩm đang trở nên ngày càng quan trọng trong chăm sóc sứckhỏe, việc có một cơ sở dữ liệu chặt chẽ và hiệu quả trở thành chìa

Trang 1

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

BÁO CÁO BÀI TẬP LỚNMÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỀ TÀI: QUẢN LÝ HỆ THỐNG BÁN THUỐC PHARMACITY

Giảng viên hướng dẫn : Ths Nguyễn Thị Thu TrangNhóm sinh viên thực hiện : Nhóm 1

Hà Nội – 12/2023

Trang 2

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

BÁO CÁO BÀI TẬP LỚNMÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

ĐỀ TÀI: QUẢN LÝ HỆ THỐNG BÁN THUỐC PHARMACITY

Giảng viên hướng dẫn : Ths Nguyễn Thị Thu Trang Sinh viên thực hiện :Phạm Kiều Anh (NT)

Nguyễn Thanh Hoa Phạm Trà My Vũ Thị Phương Nhung Phạm Thị Tố Uyên

Hà Nội - 12/2023

Trang 3

BẢNG PHÂN CÔNG CÔNG VIỆC

STTMã sinh

viênHọ và tênPhân công

Đánhgiá (%)

1 24A4043028 Phạm Kiều Anh (Nhóm trưởng)

- Tạo và quản lý người dùng - Tạo CSDL trên Oracle- Slide

4 24A4041429 Vũ Thị PhươngNhung

- Mô tả bài toán- Thiết kế mức khái niệm- Slide

5 24A4040333 Phạm Thị Tố Uyên - Thiết kế mức logic- Tổng hợp nội dung Word- Slide

20%

Trang 4

LỜI CẢM ƠN

Để hoàn thành tốt bài tập lớn này, chúng em xin gửi lời cảm ơn chân thành nhất đếnGiảng viên hướng dẫn Ths Nguyễn Thị Thu Trang Cô là người đã tận tâm chỉ bảo,hướng dẫn chúng em về mặt nội dung và kiến thức từ những buổi đầu trên lớp cũng nhưtrong quá trình chúng em làm bài báo cáo này, cô đã luôn tận tình giải đáp mọi thắc mắcvà hướng dẫn chúng em một cách chi tiết và cụ thể nhất Vì vậy, để hoàn thành được bàibáo cáo này không thể không nhắc đến sự chỉ bảo của cô.

Mặc dù có nhiều cố gắng để thực hiện bài báo cáo một cách hoàn chỉnh nhất, songbài báo cáo không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự góp ýquý báu của cô để bài báo cáo của chúng em được hoàn thiện và mang nhiều ý nghĩa thựctiễn.

Chúng em xin chân thành cảm ơn!

Hà Nội, ngày 24 tháng 12 năm 2023

Nhóm 1

Trang 5

LỜI CAM ĐOAN

Nhóm 1 chúng em xin cam đoan đề tài: “Quản lý hệ thống bán thuốc Pharmacity”

là một công trình nghiên cứu độc lập dưới sự hướng dẫn của giảng viên Khoa Hệ thốngthông tin quản lý – Học viện Ngân hàng là Cô Ths Nguyễn Thị Thu Trang Ngoài rakhông có bất cứ sự sao chép, đảm bảo tính liêm chính trong học thuật Đề tài, nội dungbáo là sản phẩm mà mỗi thành viên nhóm chúng em đã nỗ lực nghiên cứu trong quá trìnhhọc tập tại trường cũng như áp dụng vào thực tế Các số liệu, kết quả trình bày trong báocáo là hoàn toàn trung thực, đã có trích dẫn từ những nguồn tham khảo Nhóm chúng emxin chịu hoàn toàn trách nhiệm, kỷ luật nếu như có vấn đề xảy ra.

Chúng em xin cam đoan!

Hà Nội, ngày 24 tháng 12 năm 2023

Nhóm 1

Trang 6

CHƯƠNG 0: TỔNG QUAN VỀ ĐỀ TÀI 2

1 Tính cấp thiết của đề tài 2

2 Lý do chọn đề tài 3

CHƯƠNG 1: MÔ TẢ BÀI TOÁN 4

1.1 Phát biểu bài toán 4

1.2 Các yêu cầu nghiệp vụ 5

CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU MỨC KHÁI NIỆM 6

2.1 Thực thể và thuộc tính 6

2.1.1 Thực thể 6

2.1.2 Thuộc tính 6

2.2 Mối quan hệ 6

2.3 Sơ đồ thực thể liên kết (ERD) 7

CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU MỨC LOGIC 8

3.1 Các quan hệ 8

3.2 Sơ đồ cơ sở dữ liệu mức logic 9

CHƯƠNG 4: TẠO CƠ SỞ DỮ LIỆU 10

Trang 7

CHƯƠNG 6: QUẢN LÝ NGƯỜI DÙNG 47

6.1 Tính tất yếu của việc quản lý người dùng 47

6.1.1 Khái niệm về quản lý người dùng 47

6.1.2 Các loại phân quyền 47

6.2 Phân quyền trong cơ sở dữ liệu quản lý hệ thống bán thuốc Pharmacity 47

CHƯƠNG 7: CHIẾN LƯỢC SAO LƯU VÀ PHỤC HỒI DỮ LIỆU 56

Trang 8

DANH MỤC BẢNG BIỂU HÌNH VẼ

Hình 1: Sơ đồ thực thể liên kết ERD 7

Hình 2: Sơ đồ cơ sở dữ liệu mức logic 9

Hình 3: Tạo cơ sở dữ liệu mới: Quản lý hiệu thuốc 10

Hình 4: Kết quả hiện thị tạo thành công Tablespace 1 và Tablespace 2 11

Hình 6: Kết quả hiển thị khách hàng mua hàng vào tháng 10/2023 có hóa đơn trên 20.000VNĐ được thực hiện bởi nhân viên NV03 28

Hình 7: Kết quả hiển thị mỗi nhân viên có bao nhiêu hóa đơn bán 28

Hình 8: Kết quả hiển thị thông tin thuốc được bán ra trong tháng 10/2023 29

Hình 9: Kết quả hiển thị thông tin thuốc trong nhóm "thuốc kháng sinh" và hết hạn năm 2027 29

Hình 10: Kết quả hiển thị thuốc đang ở kho nào 30

Hình 11: Kết quả hiển thị số lượng thuốc mà loại thuốc đó được bán nhiều nhất năm 2023 30Hình 12: Kết quả hiển thị số lượng hóa đơn và tổng tiền của những khách hàng nam giới 31

Hình 13: Kết quả hiển thị mã KH và tổng tiền của hóa đơn do nhân viên NV01 thực hiện 32

Hình 14: Kết quả hiển thị danh sách kho cung cấp nhiều thuốc nhất theo thứ tự giảm dần 32

Hình 15: Kết quả hiển thị nhà cung cấp có ngày nhập vào tháng 8/2023 và tổng tiền lớn hơn 51.500VNĐ 33

Hình 16: Kết quả hiển thị mã hóa đơn bán và tổng tiền của hóa đơn đó do nhân viên có mã NV02 thực hiện 34

Hình 17: Nhập vào mã thuốc 001 35

Hình 18: Kết quả hiển thị tên thuốc, mô tả, HSD, đơn giá của mã thuốc nhập vào 35

Hình 19: Nhập tên nhóm "thuốc kháng sinh" 36

Hình 20: Kết quả hiển thị số loại thuốc thuộc nhóm thuốc kháng sinh được nhập vào 36

Hình 21: Thông báo function Dem_HDN được thực hiện 37

Hình 22: Nhập mã nhà cung cấp 37

Hình 23: Kết quả hàm trả về số hóa đơn nhập theo mã NCC nhập vào 37

Hình 24: Thông báo chức năng HSD được thực hiện 39

Hình 25: Nhập tên thuốc 39

Hình 26: Kết quả hiển thị thông báo thuốc được nhập vào còn HSD hay không 39

Trang 9

Hình 27: Thông báo chức năng Đếm thuốc đã được thực hiện 40

Hình 28: Nhập vào tên thuốc 41

Hình 29: Kết quả hiển thị số lượng thuốc theo tên thuốc nhập vào 41

Hình 30: Thông báo chức năng trả về thông tin loại thuốc đã được thực hiện 42

Hình 31: Nhập vào mã thuốc 42

Hình 32: Kết quả hiển thị thông tin loại thuốc được nhập từ kho nào nhập vào mã thuốc 42

Hình 33: Thông báo chức năng thông tin chi tiết hóa đơn được thực hiện 43

Hình 41: Thêm file sao lưu 58

Hình 42: Hoàn thành tự động sao lưu 58

Hình 43: Đặt lịch sao lưu 59

Hình 44: Thêm file sao lưu 59

Hình 45: Hoàn thành tự động sao lưu 59

Hình 46: Đặt lịch sao lưu 60

Hình 47: Thêm file sao lưu 61

Hình 48: Hoàn thành tự động sao lưu 61

Hình 49: Tạp bảng HDN_Tien_month 63

Hình 50: Tạo báo cáo bằng Power BI 64

Trang 10

LỜI MỞ ĐẦU

Với lượng thông tin, dữ liệu khổng lồ thì việc quản lý và sử dụng thông tin hiệuquả quyết định đến sự thành công Vậy nên việc quản lý các dữ liệu thông tin là việc màtổ chức, cá nhân nào cũng nên áp dụng để quản lý hệ thống của mình

Ngày nay, khi có nhiều loại bệnh với nhiều triệu chứng diễn biến ngày một phứctạp hơn và bệnh tật thì thường không lường trước được, do đó dịch vụ chất lượng phục vụtại các cửa hàng thuốc cũng cần ngày một được cải thiện và nâng cao Với nền công nghệphát triển hiện đại như ngày nay, một giải pháp tối ưu nhất cho các nhà quản lý trong việcquản lý các dữ liệu đó là xây dựng một hệ thống để quản lý quy trình kinh doanh Từ đócó thể phân tích dữ liệu và đưa ra những giải pháp để có thể phát triển, thành công Chính vì vậy, để giúp cho nhà quản lý có thể dễ dàng quản lý chuyên nghiệp hơn,đồng thời giúp các bạn sinh viên nói chung và các bạn sinh viên Khoa Hệ thống thông tinđang theo học tại Học viện Ngân Hàng nói riêng có một cái nhìn khách quan, cụ thể, thựctế hơn nên Nhóm 1 đã quyết định chọn đề tài “Quản lý hệ thống bán thuốcPharmacity” Ngoài hệ quản trị SQL server mà chúng em đã được học ở môn Cơ sở dữliệu, tại bộ môn Hệ quản trị cơ sở dữ liệu chúng em được tiếp cận, làm việc tới hệ quảntrị Oracle Vì vậy để quản lý hệ thống này, Nhóm 1 chúng em sẽ sử dụng Oracle trong bàitoán của mình.

1

Trang 11

CHƯƠNG 0: TỔNG QUAN VỀ ĐỀ TÀI1 Tính cấp thiết của đề tài

Trong ngữ cảnh ngày nay, khi ngành dược phẩm phát triển mạnh mẽ và sự quantâm của cộng đồng đối với sức khỏe gia tăng Đối mặt với môi trường kinh doanh ngàynay, nơi mà ngành dược phẩm đang trở nên ngày càng quan trọng trong chăm sóc sứckhỏe, việc có một cơ sở dữ liệu chặt chẽ và hiệu quả trở thành chìa khóa để thành công.

Thiết kế cơ sở dữ liệu không chỉ giúp quản lý hiệu quả thông tin về hàng nghìn sảnphẩm thuốc, thông tin khách hàng và các giao dịch mua bán hàng ngày mà còn tối ưu hóaquy trình kinh doanh từ quản lý tồn kho đến quản lý khách hàng Sự liên kết chặt chẽgiữa các bảng dữ liệu đảm bảo khả năng thu thập và xử lý thông tin nhanh chóng vàchính xác.

Đồng thời, tính an toàn và bảo mật của dữ liệu là một yếu tố không thể phủ nhận,đặc biệt khi thông tin về sức khỏe và cá nhân khách hàng đang được lưu trữ Cơ sở dữliệu cần tích hợp các biện pháp bảo mật mạnh mẽ để ngăn chặn sự truy cập trái phép vàbảo vệ tính bí mật của thông tin.

Điều quan trọng khác là khả năng phục hồi dữ liệu sau sự cố Cơ sở dữ liệu cầnđược thiết kế để hỗ trợ quy trình phục hồi nhanh chóng và mô phỏng lại trạng thái ổnđịnh của hệ thống, đặc biệt là khi thông tin về sức khỏe đòi hỏi tính chính xác và khôngbị mất mát.

Việc thiết kế cơ sở dữ liệu cho quản lý hệ thống bán thuốc Pharmacity có thể đóngvai trò quan trọng và thiết yếu trong quá trình quản lý và phát triển doanh nghiệp Khảnăng truy xuất dữ liệu linh hoạt, sự linh hoạt này giúp nhanh chóng phản ánh xu hướngthị trường, sự quan tâm của khách hàng và hiệu suất kinh doanh, đặt Pharmacity ở vị thếtốt để đáp ứng và vượt qua sự biến động của thị trường.

Tóm lại, việc thiết kế cơ sở dữ liệu “Quản lý hệ thống bán thuốc Pharmacity”không chỉ là một nhiệm vụ kỹ thuật mà còn là chìa khóa quyết định đối với sự thành côngvà bền vững của doanh nghiệp trong ngành dược phẩm ngày nay.

2

Trang 12

2 Lý do chọn đề tài

Trước hết, ngành dược phẩm đang trở thành một phần quan trọng trong việc chămsóc sức khỏe cộng đồng, nơi mà yêu cầu về chất lượng và hiệu suất là điều không thể phủnhận Việc xây dựng một cơ sở dữ liệu hiệu quả giúp Pharmacity quản lý và kiểm soátthông tin về hàng loạt sản phẩm thuốc, thông tin khách hàng, và các giao dịch mua bánmột cách chặt chẽ, đảm bảo sự chính xác và tính toàn vẹn của dữ liệu.

Đồng thời, trong môi trường kinh doanh ngày nay, tính cạnh tranh cao đặt ra yêucầu về tối ưu hóa quy trình kinh doanh Thiết kế cơ sở dữ liệu không chỉ giúp Pharmacitytổ chức thông tin một cách logic mà còn tối ưu hóa quy trình từ quản lý tồn kho cho đếnquản lý khách hàng, từ đó giúp doanh nghiệp nhanh chóng thích ứng với sự biến độngcủa thị trường.

Với những thông tin nhạy cảm như thông tin y tế và cá nhân khách hàng, việc xâydựng một hệ thống bảo mật mạnh mẽ là không thể phải được ưu tiên hàng đầu Cơ sở dữliệu được thiết kế với các biện pháp an toàn như mật khẩu, mã hóa và kiểm soát truy cậpđể bảo vệ thông tin quan trọng và duy trì uy tín của Pharmacity.

Ngoài ra, sự mở rộng linh hoạt giúp Pharmacity đáp ứng nhanh chóng với sự pháttriển của doanh nghiệp và ngành công nghiệp dược phẩm, trong khi khả năng phục hồinhanh chóng giúp duy trì tính ổn định của hệ thống, đặc biệt trong trường hợp sự cố.

Việc lựa chọn đề tài “Quản lý hệ thống bán thuốc Pharmacity” không chỉ đơnthuần là một sự chọn lựa, mà còn là kết quả của sự xác định rõ ràng về sự quan trọng vàtính thiết yếu của việc ứng dụng công nghệ thông tin trong quản lý doanh nghiệp, đặc biệtlà trong ngành dược phẩm ngày nay.

3

Trang 13

CHƯƠNG 1: MÔ TẢ BÀI TOÁN1.1.Phát biểu bài toán

Nhà thuốc Pharmacity là một trong những chuỗi cửa hàng bán lẻ dược phẩm đầu tiên tại Việt Nam với mục tiêu nâng cao chất lượng chăm sóc sức khỏe cho từng khách hàng, chuyên cung cấp sản phẩm điều trị bệnh, thực phẩm chức năng

Hệ thống lưu thông tin của các Cửa Hàng trong chuỗi nhà thuốc bao gồm: Mã cửa hàng, Địa chỉ cửa hàng, SĐT cửa hàng duy nhất

Nhà thuốc có nhiều Nhân Viên, mỗi nhân viên cần được lưu thông tin cá nhân về: mã nhân viên, họ tên, SĐT, địa chỉ, giới tính, chức vụ

Khi khách hàng đến mua hàng tại cửa hàng, hệ thống lưu các thông tin của Khách Hàng như: Mã KH, Tên KH, SĐT KH, Địa chỉ KH, giới tính, ngày sinh

Mỗi loại thuốc chỉ được cung cấp bởi một Nhà cung cấp và một Nhà cung cấp sẽ cungcấp nhiều loại thuốc, thông tin của nhà cung cấp bao gồm: mã nhà cung cấp, tên nhà cung cấp, số điện thoại duy nhất, địa chỉ

Thông tin về những loại thuốc hiện tại đang lưu ở file NhomThuoc gồm: mã nhóm, tên nhóm, mô tả

Thuốc được nhập vào các kho đặt tại các tỉnh khác nhau, hệ thống lưu thông tin các Kho bao gồm: Mã kho, Tên kho, Địa chỉ kho, số loại thuốc

Thông tin chi tiết về từng sản phẩm thuốc được lưu ở file dữ liệu Thuoc gồm: mã thuốc, tên thuốc, đơn vị tính, mô tả chi tiết về thuốc, hạn sử dụng, giá bán, tình trạng (còn hay hết/ còn bao nhiêu), đơn giá và số lượng tồn

Mỗi khi có nhu cầu nhập hàng, nhân viên phải lập một Hóa đơn nhập bao gồm: mã hóa đơn nhập, mã thuốc, mã nhà cung cấp, tên NCC, mã nhân viên, ngày đặt hàng, số lượng đặt, thành tiền, VAT, chiết khấu Mỗi lần nhập hàng có thể đặt nhiều thuốc Khi khách hàng đến mua thuốc, nhân viên cần in Hóa đơn bán cho khách hàng bao gồm: mã hóa đơn bán, mã nhân viên, mã khách hàng, mã thuốc, số lượng, thành tiền, ngày giao dịch, VAT, chiết khấu, tổng tiền

Việc quản lý thông tin chi tiết này sẽ giúp Pharmacity tổ chức và theo dõi mọi hoạt động mua bán hàng hóa và chăm sóc khách hàng một cách hiệu quả và chính xác

4

Trang 14

1.2 Các yêu cầu nghiệp vụ

Bài toán có nhiệm vụ xây dựng một hệ thống lưu trữ và quản lý thông tin liên quan đếncác loại thuốc, khách hàng, nhân viên, nhà cung cấp, kho và các giao dịch mua bán trongcửa hàng.

Quản lý thông tin chung gồm cửa hàng, nhân viên, khách hàng nhà cung cấp,nhóm thuốc, thuốc, kho.

Theo dõi tình hình hàng tồn đọng của từng loại mặt hàng

Tính toán tiền thu, tiền thực thu với khách hàng; chi phí với các nhà cung cấpIn các báo cáo hàng ngày đối việc bán, nhập hàng theo yêu cầu của nhà quản lýTiếp nhận và lưu lại các hóa đơn bán hàng, đơn đặt hàng

Phân quyền cho nhân viên: Những người được phân quyền sẽ đảm nhiệm cácnhiệm vụ được giao và thực hiện chúng một cách tốt nhất Với cách này, ban lãnhđạo có thể dễ dàng quản lý hệ thống thông qua báo cáo của cấp dưới.

Xem xét và so sánh hiệu quả hoạt động: Người quản lý sẽ tổng hợp doanh số bánhàng của cả chuỗi, từ đó nhận định doanh thu hàng ngày Đồng thời, xem xétnhững nguyên nhân khiến cho doanh thu của một số cửa hàng bị giảm sút hoặcbiến động không ngừng trong một số thời điểm nhất định…

5

Trang 15

CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU MỨC KHÁI NIỆM2.1 Thực thể và thuộc tính

2.1.1 Thực thể

Phân tích mô tả nghiệp vụ của bài toán, xác định bài toán gồm 12 thực thể, chi tiết bao gồm như sau:

Cửa hàngNhân viênKhách hàngNhà cung cấpNhóm thuốcKhoThuốc

2.1.2 Thuộc tính

Mỗi thực thể bao gồm thuộc tính như sau:

CUAHANG (Mã cửa hàng, địa chỉ cửa hàng, SĐT cửa hàng)NHANVIEN (Mã nhân viên, họ tên, SĐT, địa chỉ, giới tính, chức vụ)KHACHHANG (Mã KH, Tên KH, SĐT KH, Địa chỉ KH)

NHACUNGCAP (Mã nhà cung cấp, tên nhà cung cấp, số điện thoại, địa chỉ)NHOMTHUOC (Mã nhóm, tên nhóm, mô tả)

KHO (Mã kho, Tên kho, Địa chỉ kho, Số lượng)

THUOC (Mã thuốc, tên thuốc, đơn vị tính, mô tả, hạn sử dụng, giá bán, tình trạng, sốlượng tồn)

2.2 Mối quan hệ

Thuốc <thuộc> Kho (M:1) Thuốc <thuộc> Nhóm Thuốc (M:1)Cửa hàng <có> NhânViên (1:M)Nhân Viên <nhập> Thuốc(1:M)

6

Trang 16

(MãHĐN, Ngày đặt, Số lượng, Chiết khấu, VAT, Thành tiền, Tổng tiền)Nhà cung cấp <nhập> Thuốc (1:M)

(MãHĐN, Ngày đặt, Số lượng, Chiết khấu, VAT, Thành tiền, Tổng tiền)Khách hàng <mua> Thuốc (1:M)

(MãHĐB, Ngày giao dịch, Số lượng, Chiết khấu, VAT, Thành tiền, Tổng tiền)Nhân viên <mua> Thuốc (1:M)

(MãHĐB, Ngày giao dịch, Số lượng, Chiết khấu, VAT, Thành tiền, Tổng tiền)

2.3 Sơ đồ thực thể liên kết (ERD)

Hình 1: Sơ đồ thực thể liên kết ERD

7

Trang 17

CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU MỨC LOGIC3.1 Các quan hệ

Từ sơ đồ thực thể liên kết ERD, bài toán xây dựng cơ sở dữ liệu quản lý nhân sựbao gồm các quan hệ sau:

CUA_HANG (Mã cửa hàng, SĐT, địa chỉ)

NHAN_VIEN (MãNV, Họ tên, giới tính, chức vụ, địa chỉ, SĐT, Mã cửa hàng) 3NFKHACH_HANG (MaKH, TenKH, sđt, địa chỉ)

NHA_CUNG_CAP (MaNCC, Tên, SĐT, địa chỉ) NHOM_THUOC (Mã nhóm, Tên nhóm, Mô tả)KHO (Ma kho, Tenkho, địa chỉ, Số lượng)

THUOC (Mã thuốc, tên thuốc, mô tả, tình trạng, HSD, đơn giá, đơn vị tính, Mã nhóm,Mã kho)

HOA_DON_NHAP (Mã thuốc, MaHDN, ngày đặt, số lượng, chiết khấu, VAT, tổng tiền,thành tiền, MãNV, Mã NCC)

HOA_DON_BAN (Mã thuốc, MaHDB, ngày giao dịch, số lượng, chiết khấu, VAT, tổngtiền, thành tiền, MãNV, MãKH)

HOA_DON_NHAP HOA_DON_BANvà chưa đạt chuẩn dạng chuẩn 2NF cần đưa về

dạng 2NF:

HANG_NHAP (Mathuoc, MaHDN, số lượng, thành tiền, chiết khấu, VAT)HOA_DON_NHAP (MaHDN, ngày đặt, tổng tiền, MaNV, MaNCC) HANG_MUA (Mathuoc, MaHDB, số lượng, chiết khấu, VAT, thành tiền)

HOA_DON_BAN (MaHDB, ngày giao dịch, tổng tiền, MaNV, MaKH)

Trang 18

KẾT LUẬN:

CUA_HANG (Mã cửa hàng, SĐT, địa chỉ)

NHAN_VIEN (MãNV, Họ tên, giới tính, chức vụ, địa chỉ, SĐT, Mã cửa hàng) 3NFKHACH_HANG (MaKH, TenKH, SĐT, địa chỉ)

NHA_CUNG_CAP (MaNCC, tên, SĐT, địa chỉ) NHOM_THUOC (Mã nhóm, Tên nhóm, Mô tả)KHO (Mã kho, Tên kho, Địa chỉ, Số lượng)

THUOC (Mathuoc, tên thuốc, mô tả, tình trạng, HSD, đơn giá, đơn vị tính, mã nhóm,Makho)

HOA_DON_NHAP (MaHDN, ngày đặt, tổng tiền, MãNV, MaNCC)HOA_DON_BAN (MaHDB, ngày giao dịch, tổng tiền, MãNV, MãKH)CHI_TIET_NHAP (Mathuoc, MaHDN, số lượng, chiết khấu, VAT)CHI_TIET_BAN (Mathuoc, MaHDB, số lượng, chiết khấu, VAT)

3.2 Sơ đồ cơ sở dữ liệu mức logic

Hình 2: Sơ đồ cơ sở dữ liệu mức logic

9

Trang 19

CHƯƠNG 4: TẠO CƠ SỞ DỮ LIỆU4.1 Tạo Tablespace

Ý nghĩa của việc tạo tablespace là để phân chia dữ liệu của các bảng trong cơ sở dữliệu thành các khu vực riêng biệt Điều này giúp quản lý dữ liệu hiệu quả hơn, đồng thờicải thiện hiệu suất của cơ sở dữ liệu.

Quản lý dữ liệu hiệu quả hơn: Tablespace cho phép phân chia dữ liệu của các bảngthành các khu vực riêng biệt Ví dụ có thể tạo một tablespace riêng cho dữ liệungười dùng, một tablespace riêng cho dữ liệu hệ thống, v.v

Cải thiện hiệu suất của cơ sở dữ liệu: Tablespace cho phép lưu trữ dữ liệu trên cácổ đĩa khác nhau Ví dụ, có thể lưu trữ dữ liệu thường xuyên truy cập trên ổ đĩanhanh, trong khi lưu trữ dữ liệu ít truy cập hơn trên ổ đĩa chậm hơn.

B1: Tạo 1 cơ sở dữ liệu mới có tên là: Quản lý hiệu thuốc

Hình 3: Tạo cơ sở dữ liệu mới: Quản lý hiệu thuốc

10

Trang 20

B2: Tạo Tablespace bằng câu lệnh

Sau khi tạo thành công Tablespace:

Hình 4: Kết quả hiện thị tạo thành công Tablespace 1 và Tablespace 2

Tạo bảng Nhân Viên

CREATE TABLE NHAN_VIEN (MaNV NVARCHAR2(5) PRIMARY KEY,TenNV NVARCHAR2(50) NOT NULL,GioiTinh NVARCHAR2(4) NOT NULL,ChucVu NVARCHAR2(20) NOT NULL,11

Trang 21

DiaChiNV NVARCHAR2(100) NOT NULL,SDTNV NVARCHAR2(10) NOT NULL,MaCH NVARCHAR2(5),

CONSTRAINT NHAN_VIEN CHECK (GioiTinh = 1 or GioiTinh = 0),

CONSTRAINT nvch_fk FOREIGN KEY (MaCH) REFERENCESCUA_HANG(MaCH));

Tạo bảng Khách Hàng

CREATE TABLE KHACH_HANG (MaKH NVARCHAR2(5) PRIMARY KEY,TenKH NVARCHAR2 (50) NOT NULL,NgaySinh DATE NOT NULL,

GioiTinh NVARCHAR2 (4) NOT NULL,SDTKH NVARCHAR2 (10) NOT NULL,DiachiKH NVARCHAR2 (50) NOT NULL),

CONSTRAINT KHACH_HANG CHECK (GioiTinh = 1 or GioiTinh = 0);

Tạo bảng Nhà Cung Cấp

CREATE TABLE NHA_CUNG_CAP (MaNCC NVARCHAR2(5) PRIMARY KEY,TenNCC NVARCHAR2(30) NOT NULL,SDTNCC NVARCHAR2(10) NOT NULL,DiachiNCC NVARCHAR2(90) NOT NULL);

Tạo bảng Nhóm Thuốc

CREATE TABLE NHOM_THUOC (MaNhom NVARCHAR2(5) PRIMARY KEY,TenNhom NVARCHAR2(50) NOT NULL,Mota NVARCHAR2(100) NOT NULL);

12

Trang 22

Tạo bảng Kho

CREATE TABLE KHO (

MaKho NVARCHAR2(5) PRIMARY KEY,TenKho NVARCHAR2(50) NOT NULL,DiaChiKho NVARCHAR2(100) NOT NULL,SoLoaiThuoc INT NOT NULL);

Tạo bảng Thuốc

CREATE TABLE THUOC (

MaThuoc NVARCHAR2(5) PRIMARY KEY,Manhom NVARCHAR2(5),

CONSTRAINT THUOC CHECK (Tinhtrang = 1 or Tinhtrang = 0),

CONSTRAINT nhomthuoc_fk FOREIGN KEY (Manhom) REFERENCESNHOM_THUOC(MaNhom),

CONSTRAINT Khothuoc_fk FOREIGN KEY (Makho) REFERENCESKho(MaKHo));

Tạo bảng Hóa Đơn Nhập

CREATE TABLE HOA_DON_NHAP ( MaHDN NVARCHAR2(5) PRIMARY KEY,

13

Trang 23

MaNV NVARCHAR2(5),MaNCC NVARCHAR2(5),Ngaydat DATE NOT NULL,TongTien NUMBER NOT NULL,

CONSTRAINT hdnnv_fk FOREIGN KEY (MaNV) REFERENCESNHAN_VIEN(MaNV),

CONSTRAINT hdnncc_fk FOREIGN KEY (MaNCC) REFERENCESNHA_CUNG_CAP(MaNCC));

Tạo bảng Hóa Đơn Bán

CREATE TABLE HOA_DON_BAN ( MaHDB NVARCHAR2 (5) PRIMARY KEY, MANV NVARCHAR2 (5),

MaKH NVARCHAR2 (5), Ngaygiaodich DATE NOT NULL,TongTien NUMBER NOT NULL,

CONSTRAINT nvm_fk FOREIGN KEY (MaNV) REFERENCESNHAxN_VIEN (MaNV),

CONSTRAINT khm_fk FOREIGN KEY (MaKH) REFERENCESKHACH_HANG (MaKH));

Tạo bảng Chi Tiết Nhập

CREATE TABLE CHI_TIET_NHAP (MaHDN NVARCHAR2(5),

MaThuoc NVARCHAR2(5),SoLuong INT NOT NULL,ChietKhau FLOAT,VAT FLOAT NOT NULL,

14

Trang 24

CONSTRAINT nctn_fk FOREIGN KEY (MaHDN) REFERENCESHOA_DON_NHAP(MaHDN),

CONSTRAINT thuocctn_fk FOREIGN KEY (Mathuoc) REFERENCESThuoc(Mathuoc));

Tạo bảng Chi Tiết Bán

CREATE TABLE CHI_TIET_BAN (MaHDB NVARCHAR2(5),MaThuoc NVARCHAR2(5),SoLuong INT NOT NULL,ChietKhau FLOAT,VAT FLOAT NOT NULL,

CONSTRAINT ctbt_fk FOREIGN KEY (MaThuoc) REFERENCESTHUOC(MaThuoc),

CONSTRAINT ctbhdb_fk FOREIGN KEY (MaHDB) REFERENCESHOA_DON_BAN(MaHDB));

4.3 Nhập dữ liệu Bảng Cửa Hàng

insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC01', '0126549863', 'Thai Thinh, Dong Da, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC02', '0925701264', 'Da Sy, Ha Dong, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC03', '0825189044', 'Hang The, Hoan Kiem, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC04', '0768339993', 'Thai Ha, Dong Da, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

15

Trang 25

values ('PMC05', '0962841394', 'Nguyen Cong Tru, Hai Ba Trung, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC06', '0524813388', 'Yen Nghia, Ha Dong, Ha Noi');insert into CUA_HANG( MaCH, SDTCH, DiaChiCH)

values ('PMC07', '0142724629', 'Nguyen Trai, Thanh Xuan, Ha Noi');

values ('NV02', 'Tran Quang Thang', '0', 'Nhan vien ban hang', 'Ha Noi', '0378345279','PMC02');

insert into NHAN_VIEN (MaNV, TenNV, GioiTinh, ChucVu, DiaChiNV, SDTNV,MaCH)

values ('NV03', 'Tran Thu Trang', '1', 'Thu kho', 'Hai Phong', '0354462627', 'PMC03');insert into NHAN_VIEN (MaNV, TenNV, GioiTinh, ChucVu, DiaChiNV, SDTNV,MaCH)

values ('NV04', 'Tran Thi Thanh Thao', '1', 'Nhan vien ban hang', 'Bac Ninh','0368462527', 'PMC04');

insert into NHAN_VIEN (MaNV, TenNV, GioiTinh, ChucVu, DiaChiNV, SDTNV,MaCH)

values ('NV05', 'Nguyen Thi Thao', '1', 'Nhan vien ban hang', 'Quang Ninh','0684646227', 'PMC05');

insert into NHAN_VIEN (MaNV, TenNV, GioiTinh, ChucVu, DiaChiNV, SDTNV,MaCH)

16

Trang 26

values ('NV06', 'Bui Phuong Vi', '1', 'Nhan vien ban hang', 'Thai Binh', '0123456789','PMC06');

insert into NHAN_VIEN (MaNV, TenNV, GioiTinh, ChucVu, DiaChiNV, SDTNV,MaCH)

values ('NV07', 'Vu Thi Thanh Tam', '1', 'Nhan vien ban hang', 'Ninh Binh','0981268911', 'PMC07');

Bảng Khách Hàng

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtKh)

values('KH01','Tran Quang Dieu', to_date('09/06/1998','dd/mm/yyyy'), 0, 'Dong Da,Ha Noi', '098735627');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH02','Ly Thu Anh', to_date('18/01/1994','dd/mm/yyyy'), 1, 'Hai Ba Trung, HaNoi', '098735678');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH03','Tran Lan Anh', to_date('10/03/2000','dd/mm/yyyy'), 1, 'Dong Da, HaNoi', '096935627');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH04','Nguyen Manh Tien', to_date('09/6/1997','dd/mm/yyyy'), 0, 'Ha Dong,Ha Noi', '0356839987');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH05','Nguyen Viet Minh', to_date('13/11/1998','dd/mm/yyyy'), 0, 'Dong Da,Ha Noi', '0958394911');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH06','Pham Thai Bao', to_date('09/02/1989','dd/mm/yyyy'), 0, 'Nam Tu Liem,Ha Noi', '0958357829');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

17

Trang 27

values('KH07','Ta Quang Dong', to_date('03/05/1994','dd/mm/yyyy'), 0, 'Hoang Mai,Ha Noi', '0375030953');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH08','Nguyen Manh Cuong', to_date('13/06/1992','dd/mm/yyyy'), 0, 'ThanhXuan, Ha Noi', '0475893385');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH09','Phan Huy Chu', to_date('15/07/1977','dd/mm/yyyy'), 0, 'Dong Da, HaNoi', '0395937904');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH10','Nguyen Van Luan', to_date('09/09/2001','dd/mm/yyyy'), 0, 'Ba Dinh,Ha Noi', '0987940024');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH11','Duong Hoai Nam', to_date('19/06/1978','dd/mm/yyyy'), 0, 'Dong Da,Ha Noi', '0337585942');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH12','Do Quynh Huong', to_date('09/04/2006','dd/mm/yyyy'), 1, 'Long Bien,Ha Noi', '0284958035');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH13','Minh Van Huyen', to_date('23/08/2003','dd/mm/yyyy'), 0, 'Bac TuLiem, Ha Noi', '0775638969');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH14','Le Thuy Dung', to_date('22/02/2004','dd/mm/yyyy'), 1, 'Me Linh, HaNoi', '0978573849');

insert into KHACH_HANG(makh, tenkh, ngaysinh, gioitinh, diachikh, sdtkh)

values('KH15','Dinh Viet Hieu', to_date('06/03/2009','dd/mm/yyyy'), 0, 'Thanh Oai, HaNoi', '0385929599');

Bảng Nhà Cung Cấp

18

Trang 28

insert into NHA_CUNG_CAP (MaNCC, TenNCC, SDTNCC, DiaChiNCC)

values ('NCC01', 'Cong ty duoc pham Bao Minh', '082707203', 'Thai Ha, Dong Da, HaNoi');

insert into NHA_CUNG_CAP (MaNCC, TenNCC, SDTNCC, DiaChiNCC)

values ('NCC02', 'Cong ty duoc pham Thien Phu', '0910293088', 'Tay Son, Dong Da,Ha Noi');

insert into NHA_CUNG_CAP (MaNCC, TenNCC, SDTNCC, DiaChiNCC)

values ('NCC03', 'Cong ty duoc pham Bao Khang', '0912872893', 'Giai Phong, Hai BaTrung, Ha Noi');

insert into NHA_CUNG_CAP (MaNCC, TenNCC, SDTNCC, DiaChiNCC)

values ('NCC04', 'Cong ty duoc pham Khanh Hoa', '0193230298', 'My Dinh, Nam TuLiem, Ha Noi');

Bảng Nhóm Thuốc

insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N001', 'Thuoc cap cuu va giai doc', 'Dieu tri ngo doc');insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N002', 'Thuoc tac dong tren mau', 'Dieu tri mau');insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N003', 'Thuoc chong di ung', 'Dieu tri di ung');insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N004', 'Thuoc da day', 'Dieu tri da day');insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N005', 'Thuoc khang sinh', 'Khang vi sinh vat');insert into NHOM_THUOC( MaNhom, TenNhom, Mota) values('N006', 'Thuoc tim mach', 'Dieu tri tim mach');

Bảng Kho

19

Trang 29

insert into KHO( MaKho, TenKho, DiaChiKho, SoLoaiThuoc) values('K1001', 'Kho Dong Da', 'Dong Da, Ha Noi', '999');insert into KHO( MaKho, TenKho, DiaChiKho, SoLoaiThuoc) values('K1002', 'Kho Thanh Xuan', 'Thanh Xuan, Ha Noi', '888');insert into KHO( MaKho, TenKho, DiaChiKho, SoLoaiThuoc) values('K1003', 'Kho Nam Tu Liem', 'Nam Tu Liem, Ha Noi', '1000');insert into KHO( MaKho, TenKho, DiaChiKho, SoLoaiThuoc) values('K1004', 'Kho Ha Dong', 'Ha Dong, Ha Noi', '444');insert into KHO( MaKho, TenKho, DiaChiKho, SoLoaiThuoc) values('K1005', 'Kho Ba Dinh', 'Ba Dinh, Ha Noi', '777');

Trang 30

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('005', 'N005', 'K1005', 'Amoxicillin', 'Dieu tri benh nhiem khuan','1',to_date('11/3/2027','dd/mm/yyyy'), 'Vi', 180000, 99);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('006', 'N003', 'K1002', 'Cefuroxim ', 'Dieu tri benh nhiem khuan','1',to_date('9/10/2026','dd/mm/yyyy'), 'Hop', 115000, 85);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('007', 'N005', 'K1001', 'Meropenem ', 'Dieu tri benh nhiem khuan','1',to_date('3/2/2028','dd/mm/yyyy'), 'Goi', 95000, 65);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('008', 'N001', 'K1004', 'Ciprofloxacin ', 'Dieu tri benh nhiem khuan','1',to_date('5/5/2027','dd/mm/yyyy'), 'Hop', 75000, 55);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('009', 'N003', 'K1001', 'Clevofloxacin ', 'Dieu tri benh nhiem khuan','1',to_date('15/8/2024','dd/mm/yyyy'), 'Vi', 125000, 95);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('010', 'N002', 'K1003', 'Cilostazol ', 'Cai thien tuan hoan mau','1',to_date('21/9/2028','dd/mm/yyyy'), 'Hop', 155000, 90);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('011', 'N002', 'K1001', 'Heparin', 'Dieu tri cuc mau dong','1',to_date('20/12/2025','dd/mm/yyyy'), 'Hop', 150000, 80);

21

Trang 31

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('012', 'N002', 'K1005', 'Albumin', 'Tang the tich mau','1',to_date('9/9/2025','dd/mm/yyyy'), 'Hop', 100000, 90);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('013', 'N006', 'K1002', 'Trinitrat', 'Han che gian tinh mach','1',to_date('21/05/2029','dd/mm/yyyy'), 'Hop', 440000, 555);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('014', 'N006', 'K1003', 'Nicorandil', 'Dieu tri trieu chung dau that nguc','1',to_date('27/07/2027','dd/mm/yyyy'), 'Hop', 600000, 254);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('015', 'N006', 'K1005', 'Amiodarone', 'Dieu tri roi loan nhip tim','1',to_date('08/04/2028','dd/mm/yyyy'), 'Vi', 220000, 277);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('016', 'N006', 'K1001', 'Ivabradin', 'Dieu tri trieu chung dau that nguc','1',to_date('15/08/2025','dd/mm/yyyy'), 'Hop', 300000, 153);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('017', 'N006', 'K1002', 'Propranolol', 'Dieu tri cao huyet ap','1',to_date('05/12/2027','dd/mm/yyyy'), 'Hop', 550000, 70);

insert into THUOC (MaThuoc, MaNhom, MaKho, TenThuoc, MoTa, Tinhtrang, HSD,DVT, DonGia, Soluongton)

values ('018', 'N006', 'K1005', 'Amlodipin', 'Dieu tri cao huyet ap','1',to_date('01/07/2026','dd/mm/yyyy'), 'Vi', 250000, 270);

22

Trang 32

Bảng Hóa Đơn Nhập

insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD01', 'NV01', 'NCC01',to_date('15/08/2023','dd/mm/yyyy'), 5000000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD02', 'NV02', 'NCC01',to_date('15/10/2021','dd/mm/yyyy'), 8000000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD03', 'NV03', 'NCC02',to_date('8/11/2022','dd/mm/yyyy'), 3800000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD04', 'NV04', 'NCC03',to_date('2/2/2022','dd/mm/yyyy'), 4200000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD05', 'NV05', 'NCC03',to_date('11/05/2023','dd/mm/yyyy'), 5500000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien)values ('HD06', 'NV06', 'NCC01',to_date('20/08/2023','dd/mm/yyyy'), 8100000);insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD07', 'NV03', 'NCC02', to_date('20/12/2023', 'dd/mm/yyyy'), 4250000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD08', 'NV02', 'NCC01', to_date('13/10/2023', 'dd/mm/yyyy'), 10500000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD09', 'NV01', 'NCC03', to_date('20/12/2023', 'dd/mm/yyyy'), 11000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD10', 'NV01', 'NCC01', to_date('11/11/2023', 'dd/mm/yyyy'), 2000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD11', 'NV02', 'NCC03', to_date('10/11/2023', 'dd/mm/yyyy'), 3420000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD12', 'NV03', 'NCC02', to_date('25/10/2023', 'dd/mm/yyyy'), 12000000);

23

Trang 33

insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD13', 'NV01', 'NCC01', to_date('29/09/2023', 'dd/mm/yyyy'), 9800000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD14', 'NV03', 'NCC03', to_date('20/11/2023', 'dd/mm/yyyy'), 35000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD15', 'NV02', 'NCC02', to_date('12/09/2023', 'dd/mm/yyyy'), 40000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD16', 'NV03', 'NCC01', to_date('09/11/2023', 'dd/mm/yyyy'), 25000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD17', 'NV01', 'NCC03', to_date('12/07/2022', 'dd/mm/yyyy'), 15000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD18', 'NV02', 'NCC02', to_date('30/06/2023', 'dd/mm/yyyy'), 18000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values ('HD19', 'NV03', 'NCC01', to_date('05/09/2023', 'dd/mm/yyyy'), 30000000); insert into HOA_DON_NHAP(MaHDN, MaNV, MaNCC, Ngaydat, TongTien) values('HD20', 'NV01', 'NCC02', to_date('18/11/2022', 'dd/mm/yyyy'), 22000000);

Bảng Hóa Đơn Bán

insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD01', 'NV01', 'KH01',to_date('15/08/2023','dd/mm/yyyy'), 300000)insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD02', 'NV01', 'KH02',to_date('15/09/2023','dd/mm/yyyy'), 277000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD03', 'NV02', 'KH03',to_date('1/10/2023','dd/mm/yyyy'), 740000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD04', 'NV03', 'KH04',to_date('2/10/2023','dd/mm/yyyy'), 39000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)

24

Trang 34

values ('HD05', 'NV03', 'KH05',to_date('19/10/2023','dd/mm/yyyy'), 10000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD06', 'NV04', 'KH01',to_date('20/10/2023','dd/mm/yyyy'), 99000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD07', 'NV01', 'KH06',to_date('23/08/2023','dd/mm/yyyy'), 870000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD08', 'NV05', 'KH07',to_date('30/09/2023','dd/mm/yyyy'), 65500);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD09', 'NV02', 'KH08',to_date('1/11/2023','dd/mm/yyyy'), 153000);insert into HOA_DON_BAN(MaHDB, MaNV, MaKH, Ngaygiaodich, Tongtien)values ('HD10', 'NV04', 'KH01',to_date('15/08/2022','dd/mm/yyyy'), 370000);

Trang 37

CHƯƠNG 5: CÁC THAO TÁC TRUY VẤN TRÊN CƠ SỞ DỮ LIỆU5.1 Các câu lệnh truy vấn SQL

1 Hiển thị TenKH, SDT của những khách hàng mua hàng vào tháng 10/2023 với hóađơn trên 20.000vnd được thực hiện bởi nhân viên có MaNV là NV03.

select KHACH_HANG.TenKH, KHACH_HANG.SDTKH from KHACH_HANG

join HOA_DON_BAN on KHACH_HANG.MaKH = HOA_DON_BAN.MaKHjoin NHAN_VIEN on HOA_DON_BAN.MaNV = NHAN_VIEN.MaNV

where extract (year from to_date(HOA_DON_BAN.Ngaygiaodich, 'dd/mm/yyyy')) = 23and extract (month from to_date(HOA_DON_BAN.Ngaygiaodich, 'dd/mm/yyyy')) = 10and HOA_DON_BAN.Tongtien > 20000

and NHAN_VIEN.MaNV = 'NV03';

Hình 5: Kết quả hiển thị khách hàng mua hàng vào tháng 10/2023 có hóa đơn trên20.000VNĐ được thực hiện bởi nhân viên NV03

2 Hiển thị số hóa đơn bán được của mỗi nhân viên

SELECT NHAN_VIEN.MANV, TENNV, COUNT(MAHDB) AS SOHOADONFROM NHAN_VIEN JOIN HOA_DON_BAN

ON NHAN_VIEN.MANV = HOA_DON_BAN.MANVGROUP BY NHAN_VIEN.MANV,TENNV;

Hình 6: Kết quả hiển thị mỗi nhân viên có bao nhiêu hóa đơn bán

28

Trang 38

3 Hiển thị thông tin thuốc được bán trong tháng 10/2023.SELECT THUOC.MATHUOC, THUOC.TENTHUOC

FROM THUOC JOIN CHI_TIET_BAN ON THUOC.MATHUOC = CHI_TIET_BAN.MATHUOC

JOIN HOA_DON_BAN ON CHI_TIET_BAN.MAHDB = HOA_DON_BAN.MAHDBWHERE EXTRACT(MONTH FROM NGAYGIAODICH) = 10 ANDEXTRACT(YEAR FROM NGAYGIAODICH) = 2023;

Hình 7: Kết quả hiển thị thông tin thuốc được bán ra trong tháng 10/2023 4 Hiển thị thông tin thuốc có tên nhóm là ‘thuốc kháng sinh’ và hết hạn vào năm 2027.SELECT THUOC.MATHUOC, TENTHUOC

FROM THUOC JOIN NHOM_THUOC

ON THUOC.MANHOM = NHOM_THUOC.MANHOMWHERE TENNHOM = 'Thuoc khang sinh'

AND EXTRACT(YEAR FROM HSD) = 2027;

Hình 8: Kết quả hiển thị thông tin thuốc trong nhóm "thuốc kháng sinh" và hết hạnnăm 2027

5 Hiển thị mã thuốc thuộc tên kho nào

SELECT THUOC.MATHUOC, THUOC.TENTHUOC, KHO.TENKHOFROM THUOC JOIN KHO

29

Ngày đăng: 20/06/2024, 18:07