Nhân viênMã nhân viên, Họ và tên, Giới tính, Ngày tháng năm sinh, Tiền lương, Ngày bắt đầu làm việc, Số nhà, Vị trí làm việc, Xã phường thị trấn, Thành phố Khoá chính: Mã nhân viên Phụ t
Những điều chỉnh trong lược đồ ER
1 Xoá lớp “Nhân viên y tế” Lớp “Bác sỹ” và lớp “Điều dưỡng” kế thừa trực tiếp lớp
3 Thêm thuộc tính tiền khám vào lớp “Hoá đơn”
4 Thêm thuộc tính “Vị trí làm việc” vào lớp “Nhân viên”
5 Thêm thuộc tính “Loại hình chữa trị” vào lớp “Bệnh nhân”
6 Thêm thuộc tính “Tiền khám” vào lớp “Hoá đơn”
Lược đồ ER mới: (Thầy có thể xem rõ hơn ở đây: quanlybenhvien - diagrams.net)
4 Lược đồ quan hệ mới: Thầy ( có thể xem rõ hơn ở link trên)
II Các ph thuụ ộc hàm c a tủ ừng lược đồ và khoá c a t ng lủ ừ ược đồ
Nhóm em ã đ chuẩn hoá các lược đồ về 3NF như sau:
1 Nhân viên(Mã nhân viên, Họ và tên, Giới tính, Ngày tháng năm sinh, Tiền lương,
Ngày bắt đầu làm việc, Số nhà, Vị trí làm việc, Xã phường thị trấn, Thành phố)
Khoá chính: Mã nhân viên
F1 chứa thông tin về nhân viên với các thuộc tính như mã nhân viên, họ và tên, giới tính, ngày tháng năm sinh, tiền lương và ngày bắt đầu làm việc.
Mã nhân viên → Số nhà; Mã nhân viên → Xã phường thị trấn; Mã nhân viên → Thành phố; Mã nhân viên → Vị trí làm việc)
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã nhân viên là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
2 Số điện thoại(Mã nhân viên, Số điện thoại)
Khoá chính: Mã nhân viên và số điện thoại
Khoá ngoại: Mã nhân viên, tham chiếu đến Mã nhân viên của lược đồ Nhân Viên
F2 = {Số điện thoại → Mã nhân viên}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Số điện thoại là khóa chính trong tập bao đóng, với mã nhân viên là thuộc tính phụ thuộc hoàn toàn vào số điện thoại.
⇒ Lược đồ ở d ng chuẩn 2NF ạ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
3 Email(Mã nhân viên, Email)
Khoá chính: Mã nhân viên và Email
Khoá ngoại: Mã nhân viên, tham chiếu đến Mã nhân viên của lược đồ Nhân Viên
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Ta có tập bao đóng của Email là: {Email, Mã nhân viên} Trong đó, Email là khóa chính, và các thuộc tính còn lại phụ thuộc hàm đầy đủ vào Email Điều này cho thấy rằng cơ sở dữ liệu đạt chuẩn 2NF.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
4 Nhân viên an ninh(Mã nhân viên - AN, Thiết bị làm việc, Khu vực làm việc)
Khoá ngoại: Mã nhân viên AN, tham chiếu đến Mã nhân viên của lược đồ Nhân viên-
F4 = {Mã nhân viên - AN → Thiết bị làm việc; Mã nhân viên AN → Khu vực làm việc} -
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Mã nhân viên - AN là khóa dự bị trong tập bao đóng, bao gồm các thuộc tính như Thiết bị làm việc và Khu vực làm việc Các thuộc tính này phụ thuộc hoàn toàn vào Mã nhân viên - AN, đảm bảo rằng dữ liệu tuân thủ quy tắc chuẩn hóa 2NF.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
5 Điều dưỡng(Mã nhân viên - DD, Chức vụ, trình độ)
Khoá ngoại: Mã nhân viên DD, tham chiếu đến Mã nhân viên của lược đồ Nhân viên-
F5 = { Mã nhân viên DD → Chức vụ; Mã nhân viên DD → Trình độ}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Mã nhân viên - DD là khoá dự bị trong tập bao đóng, bao gồm các thuộc tính như Chức vụ và Trình độ Các thuộc tính này hoàn toàn phụ thuộc vào Mã nhân viên - DD, đảm bảo rằng lược đồ tuân thủ chuẩn 2NF.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
6 Bác sỹ(Mã nhân viên - BS, chuyên môn, học vị, mã khoa)
• Mã nhân viên BS, tham chiếu đến Mã nhân viên của lược đồ Nhân viên
• Mã khoa, tham chiếu đến Mã nhân viên của lược đồ Khoa
F6 = {Mã nhân viên - BS → Chuyên môn; Mã nhân viên BS → Học vị; Mã nhân viên - -
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Ngân-hàng - Ngân hàng c ơ s ở d ữ li ệ u…
Unit 1 My new school Lesson 1 Getting…
6 Đ ề c ươ ng C ơ s ở d ữ li ệ u- sau nghi ệ m…
Ch ứ c năng đăng nh ậ p - Ch ứ c năng…
Mã nhân viên - BS là khóa dự bị trong tập bao đóng, với các thuộc tính chuyên môn và học vị phụ thuộc hoàn toàn vào nó Điều này đảm bảo rằng cơ sở dữ liệu tuân thủ quy tắc chuẩn hóa 2NF.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
7 Khoa(Mã khoa, Tên khoa, Mô tả)
F7 ={Mã khoa → Tên khoa; Mã khoa → Mô tả}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã khoa là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính
⇒ Lược đồ ở d ng chu n 2 NF ạ ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
8 Bệnh nhân(Mã bệnh nhân, Họ và tên, Giới tính, Năm sinh, Bảo hiểm y tế, Số nhà, Xã
Phường thị trấn, Thành Phố, Loại hình chữa trị)
Khoá chính: Mã bệnh nhân
F8 chứa các thông tin quan trọng về bệnh nhân, bao gồm mã bệnh nhân, họ và tên, giới tính, năm sinh, bảo hiểm y tế, số nhà, xã phường thị trấn, thành phố và loại hình chữa trị.
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã bệnh nhân là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
9 Số điện thoại Bệnh nhân(Mã bệnh nhân, Số điện thoại)
Khoá chính: Mã bệnh nhân và số điện thoại
Khoá ngoại: Mã bệnh nhân, tham chiếu đến Mã bệnh nhân của lược đồ Bệnh nhân Phụ thuộc hàm:
F9 = {Số điện thoại → Mã bệnh nhân}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Số điện thoại là khoá dự báo quan trọng, trong khi mã bệnh nhân và các thuộc tính khác phụ thuộc hoàn toàn vào số điện thoại.
⇒ Lược đồ ở dạng chuẩn 2NF
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
10 Ngoại trú (Mã bệnh nhân NG, Ngày tái khám, Chỉ dẫn của bác sĩ)-
Khoá ngoại: Mã bệnh nhân NG, tham chiếu đến Mã bệnh nhân của lược đồ Bệnh nhân- Phụ thuộc hàm:
F10 ={Mã bệnh nhân NG → Ngày tái khám; Mã bệnh nhân NG → Chỉ dẫn của bác sĩ} - -
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
Mã bệnh nhân NG được sử dụng làm khóa dự bị trong tập bao đóng, bao gồm các thuộc tính như ngày tái khám và chỉ dẫn của bác sĩ, với các thuộc tính này phụ thuộc vào mã bệnh nhân NG Lược đồ dữ liệu này được tổ chức theo dạng chuẩn 2NF.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
11 Nội trú(Mã bệnh nhân NO, Ngày ra, Chỉ dẫn của bác sĩ)-
Khoá ngoại:Mã bệnh nhân NO, tham chiếu đến Mã bệnh nhân của lược đồ Bệnh nhân- Phụ thuộc hàm:
F11 = {Mã bệnh nhân NO → Ngày ra; Mã bệnh nhân NO → Chỉ dẫn của bác sĩ} - -
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒Lược đồ ở dạng chuẩn 1 NF
Mã bệnh nhân NO bao gồm các thông tin quan trọng như: mã bệnh nhân, ngày ra, và chỉ dẫn của bác sĩ Mã bệnh nhân NO đóng vai trò là khóa chính, trong khi các thuộc tính khác phụ thuộc hoàn toàn vào nó Dữ liệu được tổ chức theo lược đồ chuẩn 2NF, đảm bảo tính nhất quán và tối ưu hóa trong quản lý thông tin bệnh nhân.
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
12 Tạm ứng(Mã bệnh nhân, Ngày tạm ứng, Số tiền, Lần tạm ứng)
Khoá chính: (Mã bệnh nhân, Ngày tạm ứng)
Thuộc tính phân biệt: Ngày tạm ứng
Khoá ngoại: Mã bệnh nhân: tham chiếu đến Mã bênh nhân của lược đồ Bệnh nhân
F12 = {Mã bệnh nhân, Ngày tạm ứng → Số tiền; Mã bệnh nhân, Ngày tạm ứng → Lần tạm ứng}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã bệnh nhân, Ngày tạm ứng) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính ⇒ Lược đồ ở dạng chuẩn 2 NF
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
13 Phòng(Mã phòng, Loại phòng, Giá phòng)
F13 = {Mã phòng → Loại phòng; Mã phòng → Giá phòng)
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã phòng là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính
⇒ Lược đồ ở d ng chu n 2 NF ạ ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
14 Chăm sóc bệnh nhân(Mã nhân viên, Mã bệnh nhân, Mã phòng, Ngày bắt đầu, Ngày kết thúc)
Khoá chính: (Mã nhân viên, Mã bệnh nhân, Mã phòng)
• Mã nhân viên: tham chiếu đến Mã nhân viên của lược đồ Nhân Viên
• Mã bệnh nhân: tham chiếu đến Mã bệnh nhân của lược đồ Bệnh Nhân
• Mã phòng: tham chiếu đến Mã phòng của lược đồ Phòng
F14 = {Mã nhân viên, Mã bệnh nhân, Mã phòng → Ngày bắt đầu; Mã nhân viên, Mã bệnh nhân, Mã phòng → Ngày kết thúc}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã nhân viên, Mã bệnh nhân, Mã phòng) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính ⇒ Lược đồ ở dạng chuẩn 2 NF
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
15 Nhà cung cấp(Mã nhà cung cấp, Email, Hotline, Địa chỉ, Ghi chú, Tên nhà cung cấp)
Khoá chính: Mã nhà cung cấp
F15 chứa thông tin về nhà cung cấp, bao gồm mã nhà cung cấp, email, hotline, địa chỉ, ghi chú và tên nhà cung cấp.
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã nhà cung cấp là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
16 Hợp đồng cung cấp (Mã hợp đồng, Thuế VAT, Thời gian nhập, Mã nhà cung cấp)
Khoá chính: Mã hợp đồng
Khoá ngoại: Mã nhà cung cấp: tham chiếu đến Mã nhà cung cấp của lược đồ Nhà cung cấp Phụ thuộc hàm:
F16 = {Mã hợp đồng → Thuế VAT; Mã hợp đồng → Thời gian nhập; Mã hợp đồng → Mã nhà cung cấp}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã hợp đồng là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
17 Thuốc(Mã thuốc, Giá bán, Số lượng, Ghi chú, Tên thuốc)
F17 = {Mã thuộc → Giá bán; Mã thuốc → Số lượng; Mã thuốc → Ghi chú; Mã thuốc → Tên thuốc}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã thuốc là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính
⇒ Lược đồ ở d ng chu n 2 NF ạ ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
18 Chi tiết hợp đồng(Mã thuốc, Mã hợp đồng, Số lượng, Giá nhập)
Khoá chính: (Mã thuốc, Mã hợp đồng)
• Mã thuốc: Tham chiếu đến mã thuốc của lược đồ Thuốc
• Mã hợp đồng: Tham chiếu đến Mã hợp đồng của lược đồ Hợp đồng cung cấp Phụ thuộc hàm:
F18 = {Mã thuốc, Mã hợp đồng → Số lượng; Mã thuốc, Mã hợp đồng → Giá nhập}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã thuốc, Mã hợp đồng) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
19 Dịch vụ (Mã dịch vụ, Tên dịch vụ, Giá dịch vụ)
Khoá chinh: Mã dịch vụ
F19 = {Mã dịch vụ → Tên dịch vụ; Mã dịch vụ → Giá dịch vụ}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• Mã dịch vụ là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
20 Hóa đơn(Mã hóa đơn,Phí phát sinh, Tiền tạm ứng, Mã bệnh nhân)
Khoá chính: (Mã hóa đơn)
• Mã bệnh nhân: Tham chiếu đến mã bệnh nhân của lược đồ Bệnh nhân
F20 = {Mã hóa đơn → Phí phát sinh; Mã hóa đơn > Tiền tạm ứng, Mã hóa đơn → Phí - phát sinh, Mã hóa đơn > Mã bệnh nhân} -
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã hóa đơn) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
Bệnh án bao gồm các thông tin quan trọng như mã bệnh án, mã bệnh nhân, mã nhân viên, kết quả xét nghiệm máu và nước tiểu, hình ảnh X-quang, siêu âm, phương pháp điều trị, bệnh dự đoán, triệu chứng, đánh giá tình trạng bệnh, kết quả phẫu thuật và phương pháp phẫu thuật được áp dụng.
Khoá chính: (Mã bệnh án)
• Mã bệnh nhân: Tham chiếu đến mã bệnh nhân của lược đồ Bệnh nhân
• Mã nhân viên: Tham chiếu đến mã nhân viên của lược đồ Nhân viên
F21 = {Mã bệnh án - > Mã bệnh nhân, Mã bệnh án > Mã nhân viên, Mã bệnh án - -> Máu,
Mã bệnh án >Nước tiểu, Mã bệnh án - -> X- quang, Mã bệnh án > Siêu âm, Mã bệnh án - -
Phương pháp điều trị bệnh bao gồm việc xác định mã bệnh án, theo dõi triệu chứng và đánh giá kết quả phẫu thuật Việc dự đoán bệnh và áp dụng các phương pháp phẫu thuật phù hợp là rất quan trọng trong quá trình điều trị.
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã bệnh án) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
22 Đơn thuốc(Mã hoá đơn, mã thuốc, số lượng, giá thời ểm bđi án)
Khoá chính: Mã hoá đơn, mã thuốc
• Mã hoá đơn: Tham chiếu đến mã hoá đơn của lược đồ Hoá đơn
• Mã thuốc: Tham chiếu đến mã thuốc của lược đồ Thuốc
F22 = {Mã hoá đơn, Mã thu ốc →→→→→ S ố lượng; Mã hoá đơn, Mã thu ốc →→→→→ Gi á th ời ểm bđi án}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã thuốc, Mã hoá đơn) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
23 Hoá đơn – ị d ch vụ(Mã hoá đơn, Mã dịch vụ, Số lần dùng Gi, á thời ểm bđi án)
Khoá chính: Mã hoá đơn, Mã dịch vụ
• Mã hoá đơn: Tham chiếu đến mã hoá đơn của lược đồ Ho đơn á
• Mã dịch vụ: Tham chiếu đến lược đồ Dịch vụ
F23 = {M ã hoá đơn, Mã d ịch vụ →→→→→ S ố lần dung; Mã hoá đơn, M ã d ịch vụ →→→→→ Giá th ời điểm b án}
• Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố ⇒ Lược đồ ở dạng chuẩn 1 NF
• (Mã dịch vụ, Mã hoá đơn) là khoá chính Các thuộc tính còn lại phụ thuộc hàm đầy đủ vào khoá chính L⇒ ược đồ ở ạ d ng chu n 2 NF ẩ
• Do lược đồ đã chuẩn 2NF và không có các phụ thuộc hàm bắc cầu ⇒ Lược đồ ở dạng chuẩn 3NF
III Cài đặt hệ thống
Từ 23 lược đồ ở dạng chuẩn 3NF, ta xây dựng thành 23 bảng dữ liệu
1 Tạo bảng Nhân viên với thuộc tính maNhanVien làm khoá chính
2 Tạo ảng Số điện thoại nhb ân viên với khoá chính là soDienThoai, khoá ngoại là maNhanVien
3 Tạo ảng emb ail Nhân viên với khoá chính l email, khoá ngoà ại là maNhanVien
4 Tạo bảng Nhân Viên An Ninh với khoá ngoại là mã nhân viên
5 Tạo bảng Khoa với khoá chính l maKhoa à
6 Tạo bảng Bác sỹ với khoá ngoại là maNhanVien v maKhoa à
7 Tạo bảng ều dưỡng với khoĐi á ngoại là maNhanVien
8 Tạo bảng Bệnh Nhân với khoá chính l maBenhNhan à
9 Tạo ảng Số điện thoại bệnh nhb ân với khoá chính là soDienThoai, khoá ngoại là maBenhNhan
10 Tạo bảng Bệnh nhân nội trú với khoá ngoại là maBenhNhan
11 Tạo bảng Bệnh nhân ngoại trú với khoá ngoại là maBenhNhan
12 Tạo bảng tạm ứng với khoá chính là (maBenhNhan, ngayTamUng), khoá ngoại là maBenhNhan
13 Tạo bảng Phòng với khoá chính là maPhong
14 Tạo bảng Chăm sóc bệnh nhân trong phòng với khoá chính là (maBenhNhan, maPhong, maNhanVien), khoá ngoại là maBenhNhan, maPhong, maNhanVien
15 Tạo bảng ệnh B án với khoá chính là maBenhAn, khoá ngoại là maBenhNhan, maNhanVien
16 Tạo bảng Dịch vụ với khoá chính là maDichVu
17 Tạo bảng nhà cung cấp với khoá chính là maNhaCungCap
18 Tạo ảng thuốc với b khoá chính là maThuoc
19 Tạo bảng ợp đồng h cung cấp với khoá chính là maHopDong, khoá ngoại là maNhaCungCap
20 Tạo bảng Chi tiết ợp đồng với h khoá chính là (maHopDong, maThuoc), khoá ngoại là maHopDong, maThuoc
21 Tạo bảng Hoá đơn với khoá chính là maHoaDon, khoá ngoại là maBenhNhan
22 Tạo bảng Đơn thuốc với khoá chính (maHoaDon, maThuoc), khoá ngoại là maHoaDon, maThuoc
23 Tạo bảng Hoá đơn dịch vụ với khoá chính là (maHoaDon, maDichVu), khoá ngoại là maHoaDon, maDichVu
Sau khi tạo bảng xong, nhóm em tiến hành thêm dữ liệu vào bảng
1 Thêm dữ liệu vào bảng nhân viên
2 Thêm dữ liệu vào bảng Phòng
3 Thêm dữ liệu vào bảng bệnh nhân
4 Thêm dữ liệu vào bảng Dịch vụ
5 Thêm dữ liệu vào bảng Nhà cung cấp
6 Thêm dữ liệu vào bảng Thuốc
7 Thêm dữ liệu vào bảng hợp đồng cung cấp
8 Thêm giá trị vào bảng chi tiết ợp đồng h
9 Thêm dữ liệu vào bảng Hoá đơn
10 Thêm dữ liệu vào bảng đơn thuốc
11 Thêm dữ liệu vào bảng Hoá đơn dịch vụ
12 Thêm giá trị vào bảng Bệnh án
13 Thêm giá trị vào bảng Khoa
14 Thêm giá trị vào bảng Bác sỹ
15 Thêm giá trị vào bảng Điều dưỡng
16 Thêm giá trị vào bảng Nhân viên An ninh
17 Thêm giá trị vào bảng Bệnh nhân nội trú
18 Thêm giá trị vào bảng Bệnh nhân ngoại trú
19 Thêm giá trị vào bảng Tạm ứng
20 Thêm giá trị vào bảng Chăm sóc bệnh nhân trong phòng
21 Thêm dữ liệu vào bảng Email nhân viên
22 Thêm dữ liệu vào bảng Số điện thoại bệnh nhân
23 Thêm dữ liệu vào bảng Số điện thoại nhân viên
IV Các câu lệnh truy vấn
1 Lấy ra thông tin liên hệ của toàn bộ nhân viên:
SELECT nhan_vien.hoVaTen, so_dien_thoai_nhan_vien.soDienThoai, email_nhan_vien.email
JOIN so_dien_thoai_nhan_vien ON nhan_vien.maNhanVien so_dien_thoai_nhan_vien.maNhanVien
JOIN email_nhan_vien ON nhan_vien.maNhanVien email_nhan_vien.maNhanVien;
2 Lấy ra tất cả các thông tin từ về hóa đơn, đơn thuốc và hóa đơn dịch vụ
LEFT JOIN don_thuoc ON hoa_don.maHoaDon = don_thuoc.maHoaDon
LEFT JOIN hoa_don_dich_vu ON hoa_don.maHoaDon hoa_don_dich_vu.maHoaDon
3 Lấy thông tin về các nhân viên an ninh, kèm theo khu vực và thiết bị làm việc của họ
SELECT nhan_vien.hoVaTen, nhan_vien_an_ninh.khuVucLamViec, nhan_vien_an_ninh.thietBiLamViec
FROM nhan_vien_an_ninh
JOIN nhan_vien ON nhan_vien_an_ninh.maNhanVien = nhan_vien.maNhanVien; Kết quả:
4 Lấy danh sách tất cả các bệnh nhân nội trú cùng với thông tin về ngày vào viện, ngày ra viện và số ngày điều trị:
SELECT bn.*, bnit.ngayVao, bnit.ngayRa, DATEDIFF(bnit.ngayRa, bnit.ngayVao)
INNER JOIN benh_nhan_noi_tru bnit ON bn.mabenhnhan = bnit.mabenhnhan;
5 Lấy tổng số tiền đã tạm ứng cho mỗi bệnh nhân:
SELECT maBenhNhan, SUM(soTien) AS tongTienTamUng
6 Lấy thông tin về tên nhà cung cấp, ngày ký hợp đồng, số lượng và giá của các chi tiết hợp đồng cung cấp
SELECT ncc.tenNhaCungCap, hdc.thoiGianNhap, cthd.soLuong, cthd.giaNhap
FROM nha_cung_cap ncc
INNER JOIN hop_dong_cung_cap hdc ON ncc.maNhaCungCap hdc.maNhaCungCap
INNER JOIN chi_tiet_hop_dong cthd ON hdc.maHopDong = cthd.maHopDong;
7 Lấy danh sách các bệnh nhân ngoại trú đã được khám bệnh trong tháng này, sắp xếp theo ngày tái khám tăng dần:
INNER JOIN benh_nhan_ngoai_tru bnt ON bnn.maBenhNhan = bnt.maBenhNhan ORDER BY bnt.ngayTaiKham ASC;
8 Lấy thông tin các bệnh nhân ngoại trú được tái khám trong tháng 5/2023:
SELECT * FROM benh_nhan_ngoai_tru
WHERE MONTH(ngayTaiKham) = 5 AND YEAR(ngayTaiKham) = 2023;
9 Lấy ra tên và khoa của tất cả các bác sĩ và điều dưỡng ngoại trừ những ai không thuộc khoa nào
SELECT nhan_vien.hoVaTen, khoa.tenKhoa
LEFT JOIN bac_si ON nhan_vien.maNhanVien = bac_si.maNhanVien
LEFT JOIN dieu_duong ON nhan_vien.maNhanVien = dieu_duong.maNhanVien
LEFT JOIN khoa ON bac_si.maKhoa = khoa.maKhoa
WHERE khoa.tenKhoa IS NOT NULL;
Cài đặt hệ thống
Từ 23 lược đồ ở dạng chuẩn 3NF, ta xây dựng thành 23 bảng dữ liệu
1 Tạo bảng Nhân viên với thuộc tính maNhanVien làm khoá chính
2 Tạo ảng Số điện thoại nhb ân viên với khoá chính là soDienThoai, khoá ngoại là maNhanVien
3 Tạo ảng emb ail Nhân viên với khoá chính l email, khoá ngoà ại là maNhanVien
4 Tạo bảng Nhân Viên An Ninh với khoá ngoại là mã nhân viên
5 Tạo bảng Khoa với khoá chính l maKhoa à
6 Tạo bảng Bác sỹ với khoá ngoại là maNhanVien v maKhoa à
7 Tạo bảng ều dưỡng với khoĐi á ngoại là maNhanVien
8 Tạo bảng Bệnh Nhân với khoá chính l maBenhNhan à
9 Tạo ảng Số điện thoại bệnh nhb ân với khoá chính là soDienThoai, khoá ngoại là maBenhNhan
10 Tạo bảng Bệnh nhân nội trú với khoá ngoại là maBenhNhan
11 Tạo bảng Bệnh nhân ngoại trú với khoá ngoại là maBenhNhan
12 Tạo bảng tạm ứng với khoá chính là (maBenhNhan, ngayTamUng), khoá ngoại là maBenhNhan
13 Tạo bảng Phòng với khoá chính là maPhong
14 Tạo bảng Chăm sóc bệnh nhân trong phòng với khoá chính là (maBenhNhan, maPhong, maNhanVien), khoá ngoại là maBenhNhan, maPhong, maNhanVien
15 Tạo bảng ệnh B án với khoá chính là maBenhAn, khoá ngoại là maBenhNhan, maNhanVien
16 Tạo bảng Dịch vụ với khoá chính là maDichVu
17 Tạo bảng nhà cung cấp với khoá chính là maNhaCungCap
18 Tạo ảng thuốc với b khoá chính là maThuoc
19 Tạo bảng ợp đồng h cung cấp với khoá chính là maHopDong, khoá ngoại là maNhaCungCap
20 Tạo bảng Chi tiết ợp đồng với h khoá chính là (maHopDong, maThuoc), khoá ngoại là maHopDong, maThuoc
21 Tạo bảng Hoá đơn với khoá chính là maHoaDon, khoá ngoại là maBenhNhan
22 Tạo bảng Đơn thuốc với khoá chính (maHoaDon, maThuoc), khoá ngoại là maHoaDon, maThuoc
23 Tạo bảng Hoá đơn dịch vụ với khoá chính là (maHoaDon, maDichVu), khoá ngoại là maHoaDon, maDichVu
Sau khi tạo bảng xong, nhóm em tiến hành thêm dữ liệu vào bảng
1 Thêm dữ liệu vào bảng nhân viên
2 Thêm dữ liệu vào bảng Phòng
3 Thêm dữ liệu vào bảng bệnh nhân
4 Thêm dữ liệu vào bảng Dịch vụ
5 Thêm dữ liệu vào bảng Nhà cung cấp
6 Thêm dữ liệu vào bảng Thuốc
7 Thêm dữ liệu vào bảng hợp đồng cung cấp
8 Thêm giá trị vào bảng chi tiết ợp đồng h
9 Thêm dữ liệu vào bảng Hoá đơn
10 Thêm dữ liệu vào bảng đơn thuốc
11 Thêm dữ liệu vào bảng Hoá đơn dịch vụ
12 Thêm giá trị vào bảng Bệnh án
13 Thêm giá trị vào bảng Khoa
14 Thêm giá trị vào bảng Bác sỹ
15 Thêm giá trị vào bảng Điều dưỡng
16 Thêm giá trị vào bảng Nhân viên An ninh
17 Thêm giá trị vào bảng Bệnh nhân nội trú
18 Thêm giá trị vào bảng Bệnh nhân ngoại trú
19 Thêm giá trị vào bảng Tạm ứng
20 Thêm giá trị vào bảng Chăm sóc bệnh nhân trong phòng
21 Thêm dữ liệu vào bảng Email nhân viên
22 Thêm dữ liệu vào bảng Số điện thoại bệnh nhân
23 Thêm dữ liệu vào bảng Số điện thoại nhân viên
Các câu lệnh truy vấn
Lấy ra thông tin liên hệ của toàn bộ nhân viên
SELECT nhan_vien.hoVaTen, so_dien_thoai_nhan_vien.soDienThoai, email_nhan_vien.email
JOIN so_dien_thoai_nhan_vien ON nhan_vien.maNhanVien so_dien_thoai_nhan_vien.maNhanVien
JOIN email_nhan_vien ON nhan_vien.maNhanVien email_nhan_vien.maNhanVien;
Lấy ra tất cả các thông tin từ về hóa đơn, đơn thuốc và hóa đơn dịch vụ
LEFT JOIN don_thuoc ON hoa_don.maHoaDon = don_thuoc.maHoaDon
LEFT JOIN hoa_don_dich_vu ON hoa_don.maHoaDon hoa_don_dich_vu.maHoaDon
Lấy thông tin về các nhân viên an ninh, kèm theo khu vực và thiết bị làm việc của họ 37 4 Lấy danh sách tất cả các bệnh nhân nội trú cùng với thông tin về ngày vào viện, ngày
SELECT nhan_vien.hoVaTen, nhan_vien_an_ninh.khuVucLamViec, nhan_vien_an_ninh.thietBiLamViec
FROM nhan_vien_an_ninh
JOIN nhan_vien ON nhan_vien_an_ninh.maNhanVien = nhan_vien.maNhanVien; Kết quả:
4 Lấy danh sách tất cả các bệnh nhân nội trú cùng với thông tin về ngày vào viện, ngày ra viện và số ngày điều trị:
SELECT bn.*, bnit.ngayVao, bnit.ngayRa, DATEDIFF(bnit.ngayRa, bnit.ngayVao)
INNER JOIN benh_nhan_noi_tru bnit ON bn.mabenhnhan = bnit.mabenhnhan;
Lấy tổng số tiền đã tạm ứng cho mỗi bệnh nhân
SELECT maBenhNhan, SUM(soTien) AS tongTienTamUng
Lấy thông tin về tên nhà cung cấp, ngày ký hợp đồng, số lượng và giá của các chi tiết hợp đồng cung cấp
SELECT ncc.tenNhaCungCap, hdc.thoiGianNhap, cthd.soLuong, cthd.giaNhap
FROM nha_cung_cap ncc
INNER JOIN hop_dong_cung_cap hdc ON ncc.maNhaCungCap hdc.maNhaCungCap
INNER JOIN chi_tiet_hop_dong cthd ON hdc.maHopDong = cthd.maHopDong;
Lấy danh sách các bệnh nhân ngoại trú đã được khám bệnh trong tháng này, sắp xếp
INNER JOIN benh_nhan_ngoai_tru bnt ON bnn.maBenhNhan = bnt.maBenhNhan ORDER BY bnt.ngayTaiKham ASC;
Lấy thông tin các bệnh nhân ngoại trú được tái khám trong tháng 5/2023
SELECT * FROM benh_nhan_ngoai_tru
WHERE MONTH(ngayTaiKham) = 5 AND YEAR(ngayTaiKham) = 2023;
Lấy ra tên và khoa của tất cả các bác sĩ và điều dưỡng ngoại trừ những ai không thuộc
SELECT nhan_vien.hoVaTen, khoa.tenKhoa
LEFT JOIN bac_si ON nhan_vien.maNhanVien = bac_si.maNhanVien
LEFT JOIN dieu_duong ON nhan_vien.maNhanVien = dieu_duong.maNhanVien
LEFT JOIN khoa ON bac_si.maKhoa = khoa.maKhoa
WHERE khoa.tenKhoa IS NOT NULL;