Xem mẫu

  1. Khoa (Mã khoa, Tên khoa) Chuyên môn (Mã chuyên môn, Tên chuyên môn) Chức Vụ (Mã chức vụ, Tên chức vụ) Bệnh (Mã b ệnh, Tên bệnh) Vị trí (Mã vị trí, Tên vị trí) Nhân viên (Mã NV, Họ tên NV, Ngày sinh NV, Giới tính NV, Số nhà NV, Điện thoại NV, Mã xãc, Mã khoa, Mã CM, Mã CV) Dòng khám bệnh (Mã khám bệnh, Mã nhân viên, Mã b ệnh nhân, Mã b ệnh, Mã vị trí, Ngày KB, Nội dung KB, Chi phí KB) Bệnh nhân (Mã b ệnh nhân, Họ bệnh nhân, Tên b ệnh nhân, Ngày sinh BN, Giới tính BN, Mã xã) Bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc, Phần trăm) Cơ quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan) Cán bộ (Mã b ệnh nhân, Mã cơ quan) Tạm ứng (Mã T.ứng, Lần T.ứng, Số tiền, Ngày T.ứng, Mã bệnh nhân) Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra) Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá) Dịch Vụ Dùng (Mã khám Bệnh, Mã nhân viên, Mã b ệnh nhân, Mã b ệnh, Mã vị trí, Mã nơi Đ.T, Mã dịch Vụ, Lần dùng) Dịch Vụ (Mã dịch vụ, Tên d ịch vụ, Đơn giá D.V) Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã thuốc, Số lượng, Liều dùng)
  2. Thuốc (Mã thuốc, Tên thuốc, Đơn giá) 4. Danh Sách Các Bảng 4.1 Bảng Tỉnh Tỉnh (Mã tỉnh, Tên tỉnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã tỉnh Char Mã tỉnh Len()=2 Tên tỉnh Char Tên tỉnh 30 Giải Thích + Bảng tỉnh lưu trữ thông tin về tỉnh mà bệnh nhân và Nhân Viên đang sống 4.2 Bảng Huyện Huyện (Mã Huyện, Tên Huyện, Mã Tỉnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã huyện Char Mã huyện Len()=4 Tên huyện Char Tên huyện 30 Mã tỉnh Char Mã tỉnh Len()=2 Giải Thích + Bảng huyện lưu trữ thông tin về huyện mà b ệnh nhân và Nhân Viên đang sống - Trường m ã huyện gồm có 4 ký tự 2 ký tự đầu là mã tỉnh m à huyện đó trực thuộc hai ký tự tiếp theo là th ứ tự huyện trong tỉnh. - Trường m ã tỉnh là khóa ngoài của bảng huyện trường này nh ận thông mã tỉnh từ bảng tỉnh 4.3 Bảng Xã Xã (Mã xã, Tên xã, Mã huyện)
  3. Tên trường Loại dữ liệu Mô tả Kích thước Mã xã Char Mã xã Len()=6 Tên xã Char Tên xã 30 Mã huyện Char Mã huyện Len()=4 Giải thích + Bảng xã cùng với bảng huyện và b ảng tỉnh lưu trữ thông tin địa chỉ của bệnh nhân cũng như nhân viên - Trường m ã xã gồm có 6 ký tự 4 ký tự đầu là mã huyện mà xã trực thuộc còn hai ký tự sau là thứ tự xã trong huyện. - Trường m ã huyện là khóa ngoài của bảng xã, trường n ày nhận thông tin từ trường m ã huyện của bảng huyện 4.4 Bảng KHOA KHOA (Mã khoa, Tên khoa) Tên trường Loại dữ liệu Mô tả Kích thước Mã khoa Char Mã khoa Len()=2 Tên khoa Char Tên khoa 30 Giải thích + Bảng Khoa lưu trữ thông tin về khoa mà nhân viên (Bác sĩ) đang làm việc 4.5 Bảng CHUYÊN MÔN CHUYÊN MÔN (Mã chuyên môn, Tên chuyên môn) Tên trường Loại dữ liệu Mô tả Kích thước Mã chuyên môn Char Mã chuyên môn Len()=2 Tên chuyên môn Char Tên chuyên môn 30
  4. Giải thích + Bảng chuyên môn lưu trữ thông tin về chuyên môn của nhân viên 4.6. Bảng Chức Vụ Ch ức Vụ (Mã chức vụ, Tên chức vụ) Tên trường Loại dữ liệu Mô tả Kích thước Mã chức vụ Char Mã chức vụ Len()=2 Tên chức vụ Char Tên chức vụ 30 Giải thích + Bảng chức vụ lưu trữ thông tin về chức vụ của Nhân Viên 4.7. Bảng Bệnh Bệnh (Mã bệnh, Tên bệnh) Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh Char Mã b ệnh Len()=4 Tên bệnh Char Tên bệnh 30 Giải thích + Bảng này lưu trữ tất cả các bệnh hiện có 4.8. Bảng Vị Trí Vị Trí (Mã vị trí, Tên vị trí) Tên trường Loại dữ liệu Mô tả Kích thước Mã vị trí Char Mã vị trí Len()=2 Tên vị trí Char Tên vị trí 30 Giải Thích + Bảng n ày lưu trữ thông tin về vị trí mà bệnh nhân được khám bệnh 4.9. Bảng Nhân Viên
  5. Nhân Viên (Mã NV, Họ Tên NV, Ngày Sinh NV, Giới Tính NV, Số Nh à NV, Điện Thoại NV, Mã Xã, Mã Khoa, Mã CM, Mã CV) Tên Trường Loại Dữ Liệu Mô Tả Kích Thước Mã NV Char Mã nhân viên Len()=5 Họ Tên NV Char Họ tên nhân viên 30 Ngày Sinh NV Date Ngày sing nhân viên Giới Tính NV Boolear Giới tính nhân viên Số Nhà NV Char Số nhà nhân viên 30 Điện Thoại NV Char Điện thoại nhân viên 15 Mã Xã Char Mã xã Len()=6 Mã Khoa Char Mã khoa Len()=2 Mã CM Char Mã chuyên môn Len()=2 Mã CV Char Mã chức vụ Len()=2 Giải thích + Bảng nhân viên lưu trữ tất cả thông tin về nhân viên (Bác sĩ) - Trường ngày sinh Nhân Viên nh ận dữ liệu sao cho tuổi của nhân viên không được lớn h ơn 65 và không được nhỏ hơn 18 - Trường giới tính nhân viên nhận kiểu dữ liệu Boolear (True tương ứng với nam, False tương ứng với nữ). - Trường số nh à nhân viên để xác định chỗ ở của nhân viên. - Bảng Nhân Viên nh ận Mã Xã, Mã Khoa, Mã CM, Mã CV làm khóa ngoài các trường n ày nhận giá trị tương ứng từ các bảng Xã, Khoa, Chuyên môn, Chức vụ. 4.10. Bảng Dòng Khám Bệnh
  6. Dòng Khám Bệnh (Mã Khám Bệnh, Mã Nhân Viên, Mã bệnh nhân, Mã Bệnh, Mã Vị trí, Ngày KB, Nội Dun g KB, Chi Phí KB) Tên trường Loại dữ liệu Mô tả Kích thước Mã khám b ệnh Char Mã khám bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã b ệnh Len()=5 Mã Vị Trí Char Mã vị trí Len()=2 Ngày KB Date Ngày khám bệnh Nội dung KB Char Nội dung khám bệnh 50 Chi phí KB Money Chi phí khám bệnh>0 Giải thích Bảng dòng khám bệnh là mối kết hợp giữa các thực thể nhân viên, b ệnh + nhân, bệnh, vị trí nên nó nh ận tất cả các khóa của các theca thể tham gia vào mối kết hợp làm khóa chính, các giá trị của các trường n ày được lấy tương ứng từ các bảng tương ứng. Ngoài ra nó còn có khóa riêng là Mã khám bệnh - Ngày KB không đư ợc sau ngày hiện tại - Chi phí KB là khoản tiền mà bệnh nhân phải trả sau khi khám bệnh khoản này không được nhỏ h ơn 0. 4.11. Bảng bệnh nhân bệnh nhân (Mã Bênh Nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày Sinh BN, Giới Tính BN, Mã Xãc Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh nhân Char Mã bệnh nhân Len()=9
  7. Họ bệnh nhân Char Họ bệnh nhân 20 Tên bệnh nhân Char Tên b ệnh nhân 10 Ngày sinh BN Date Ngày sinh b ệnh nhân Giới tính BN Boolear Giới tính bệnh nhân Mã xã Char Mã xã Len()=6 Giải thích + Bảng bệnh nhân lưu trữ tất cả các thông tin về bệnh nhân - Mã bệnh nhân gồm 9 ký tự 4 ký tự đầu là năm mà bệnh nhân đó khám, còn lại 5 ký tự sau là thứ tự bệnh nhân đó đến khám trong năm - Ngày sinh bệnh nhân không được sau ngày hiện tại và tuổi bệnh nhân không được lớn h ơn 150 - Giới tính bệnh nhân là True tương ứng với Nam, False tương ứng với Nữ - Bảng bệnh nhân nhận m ã xã làm khóa ngoài, trường này nhận giá trị từ bảng Xã 4.12 Bảng bảo hiểm y Tế bảo hiểm y tế (Mã b ệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc, Phần trăm) Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh nhân Char Mã bệnh nhân Len()=9 Số thẻ BHYT Char Số thẻ bảo hiểm y tế Len()=9 Ngày bắt đầu Date Ngày bắt đầu Ngày kết thúc Date Ngày kết thúc Phần trăm Int Phần trăm Giải thích
  8. + Bảng Bảo hiểm y tế lưu thông tin về BHYT của các bệnh nhân có thẻ BHYT - Thực thể bảo hiểm y tế là th ực thể chuyên biệt hóa của thực thể bệnh nhân nên nhận khóa của thực thể bệnh nhân là mã bệnh nhân làm khóa chính - Trường Số Thẻ BHYT là số thẻ bảo hiểm y tế để xác định thẻ đó là của ai - Trường ngày bắt đầu là ngày mà thẻ bảo hiểm y tế có hiệu lực ngày này không được sau ngày kết thúc và sau ngày hiện tại - Trường ngày kết thúc là ngày mà thẻ bảo hiểm y tế không còn hiệu lực (ngày này thư ờng cách ngày bắt đầu một năm). - Trường phần trăm là một số nguyên nằm trong khoảng (1..100) Bảng Cơ Quan 4.13. Cơ Quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan) Tên trường Loại dữ liệu Mô tả Kích thước Mã cơ quan Char Mã cơ quan Len()=6 Tên cơ quan Char Tên cơ quan 30 Điện thoại CQ Char đ iện thoại cơ quan 15 Fax cơ quan Char Fax cơ quan 15 Giải thích + Bang cơ quan lưu trữ thông tin về cơ quan mà những bệnh nhân có BHYT thuộc một cơ quan nào đó - Trường điện thoại cơ quan và trư ờng fax cơ quan chứa điện thoại và fax cơ quan và hai trường n ày cho phép Null Bảng Cán Bộ 4.14. Cán Bộ (Mã bệnh nhân, Mã Cơ Quan)
  9. Tên trường Loại dữ liệu Mô tả Kích thước Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã cơ quan Char Ma cơ quan Len()=6 Giải thích + Bảng cán bộ là th ực thể chuyên biệt hóa của thực thể bảo hiểm y tế nên nó nhận thuộc tính khóa của thực thể này làm khóa ngoài ra đ ể xác định Cán Bộ đó thuộc cơ quan nào thi bảng này ph ải nhận th êm khóa của thực thể cơ quan làm khóa chính. Hai trư ờng này lấy giá trị từ trường Mã b ệnh nhân trong bảng bệnh nhân và trường Mã Cơ Quan trong bảng Cơ Quan 4.15 Bảng Tạm ứng Tạm ứng (Mã tạm ứng, Lần T.Ư, Số Tiền, Ngày T.Ư, Mã bệnh nhân) Tên trường Loại dữ liệu Mô tả Kích thước Mã tạm ứng Char Mã tạm ứng Len()=11 Lần tạm ứng Int Lần tạm ứng Số tiền Money Số tiền tạm ứng Ngày tạm ứng Date Ngày tạm ứng Mã bệnh nhân Char Mã bệnh nhân Len()=9 Giải thích + Bảng Tạm ứng lưu trữ thông tin về số tiền mà bệnh nhân đã tạm ứng cho bệnh viện, số lần tạm ứng, mỗi lần số tiền là bao nhiêu,... - Mã tạm ứng gồm có 11ký tự 9 ký tự đầu là mã b ệnh nhân lấy từ bảng bệnh nhân, hai ký tự tiếp theo là số lần mà bệnh nhân đó tạm ứng. - Lần tạm ứng là lần m à b ệnh nhân đóng một phần viện phí trong thời gian điều trị tại bệnh viện.
  10. - Trường số tiền là số tiền bệnh nhân tạm ứng tương ứng với lần ở trên - Ngày tạm ứng là ngày mà bệnh nhân đóng tạm ứng, ngày này ph ải sau ngày nhập viện, và phải trước hoặc trùng với ngày hiện tại. - Để xác định lần tạm ứng đó là của ai th ì bảng này nh ận Mã b ệnh nhân làm khóa ngoài 4.16 Bảng Bệnh án Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí, Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra) Tên trường Loại dữ liệu Mô tả Kích thước Mã khám b ệnh Char Mã khám bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã b ệnh Len()=5 Mã vị trí Char Mã vị trí Len()=2 Mã nơi Đ.T Char Mã nơi điều trị Len()=2 Ngày vào Date Ngày bệnh nhân nhập viện Ngày ra Date Ngày bệnh nhân ra viện Tình trạng ra Char Tình ra viện của bệnh nhân50 Giải thích + Bệnh án là mối kết hợp được sinh ra từ mối kết hợp Dòng Khám Bệnh nên nó nhận tất cả các khóa chính của bảng Dòng Khám Bệnh và nó có Khóa riêng của nó (Mã Bệnh án) ngoài ra thực thể Nơi Điều Trị cũng tham gia vào mối kết hợp này nên nó nh ận thêm khóa của thực thể này làm khóa
  11. - Ngày vào là ngày mà bệnh nhân nhập viên n gày này không được sau ngày ra hoặc sau ngày hiện tại - Ngày ra là ngày mà bệnh nhân được xuất viện ngày này cũng phải trước hoặc trùng với ngày hiện tại - Tình trạng ra là nhận xét của bác sĩ khi bệnh nhân xuất viện 4.17 Bảng Nơi Điều Trị Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá) Tên trường Loại dữ liệu Mô tả Kích thước Mã nơi Đ.T Char Mã nơi điều trị Len()=2 Tên nơi Đ.T Char Tên nơi điều trị 30 Đơn giá Money Đơn giá nơi điều trị Giải thích + Nơi điều trị là nơi mà bệnh nhân điều trị khi ở bệnh viện. - Đơn giá nói điều trị luôn nhận giá trị lớn hơn 0 4.18 Dịch Vụ Dùng Dịch Vụ Dùng (Mã khám bệnh, Mã nhân viên, Mã b ệnh nhân, Mã bệnh, Mã vị trí, Mã nơi Đ.T, Mã dịch vụ, Lần dùng) Tên trường Loại dữ liệu Mô tả Kích thước Mã khám b ệnh Char Mã khám bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã b ệnh Len()=5 Mã vị trí Char Mã vị trí Len()=2 Mã nơi Đ.T Char Mã nơi điều trị Len()=2
  12. Mã dịch vụ Char Mã dịch vụ Len()=2 Lần dùng Int Lần dùng d ịch vụ Giải thích Thực thể dịch vụ dùng là chuyển từ mối kết hợp giữa Bệnh án với dùng + dịch vụ nên nó phải nhận tất cả các khóa của bệnh án làm khóa chính ngoài ra nó còn nh ận khóa của thực thể Dịch Vụ làm khóa chính (M• Dịch Vụ). - Lần dùng là lần mà bệnh nhân đó dùng một loại dịch vụ 4.19. Bảng Dịch Vụ Dịch Vụ (Mã dịch vụ, Tên d ịch vụ, Đơn giá DV) Tên trường Loại dữ liệu Mô tả Kích thước Mã dịch vụ Char Mã dịch vụ Len()=2 Tên dịch vụ Char Tên dịch vụ 30 Đơn giá D.V Money Đơn giá dịch vụ Giải thích + Bảng dịch vụ lưu trữ những thông tin về những dịch vụ mà bệnh viện có Đơn giá dịch vụ không đ ược nhỏ hơn 0 - 4.20. Bảng Thuốc Dùng Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã b ệnh nhân, Mã bệnh, Mã vị trí, Mã thuốc, Số lượng, Liều dùng) Tên Trường Loại Dữ Liệu Mô Tả Kích Thước Mã khám b ệnh Char Mã khám bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã b ệnh Len()=5
  13. Mã vị trí Char Mã vị trí Len()=2 Mã thuốc Char Mã thuốc Len()=4 Số lượng Int Số lượng thuốc dùng Liều dùng Char Liều lượng thuốc dùng Giải thích bảng thuốc dùng là mối kết hợp được sinh ra từ mối kết hợp khám bệnh + (thực thể dòng khám bệnh) nên nó nh ận khóa của thực thể dòng khám b ệnh làm khóa đồng thời nó nhận thuộc tính khóa của thực thể thuốc làm khóa. + Thực thể này kết hợp với thực thể dòng khám b ệnh và th ực thể thuốc để tạo thành đơn thuốc. - Số lương là số lượng một loại thuốc được cấp trong một đơn thuốc - Liều dùng công thức dùng thuốc 4.21 Bảng Thuốc Thuốc (Mã Thuốc, Tên Thuốc, Đơn Giá) Tên Trường Loại Dữ Liệu Mô Tả Kích Thước Mã Thuốc Char Mã thuốc Len()=9 Tên ThuốcChar Tên thuốc 30 Đơn Giá Money Đơn giá thuốc Giải thích + Bảng thuốc lưu trữ thông tin về thuốc Chương IV. Th ực hiện Cài đặt hệ thống i. cách kết nối dữ liệu
  14. Trong chương trình em thực hiện kết nối thông qua đối tượng ADO (ActiveX Data Object), đối tư ợng này cung cấp hầu hết các công cụ để thực hiện kết nối với cơ sở dữ liệu ADO Interface: Các đối tương ADO giao tiếp với dữ liệu thông qua ODBC (Open Database Connectivity), chúng có thể giao tiếp với bất kỳ loại dữ liệu nếu như ODBC driver hỗ trợ. Thực hiện kết nối với cơ sở dữ liệu: Như phần tổng quan ngôn ngữ ta đã nói để đối tượng ADO kết nối được với cơ sở dữ liệu (hay để ứng dụng có thể hoạt động xử lý trên cơ sở dữ liệu) ta phải viết mã lệnh cho công cụ này kết nối với cơ sở dữ liệu. Cụ thể để kết nối với cơ sở dữ liệu dbBenhNhan ta làm như sau: Public cn As ADODB.Connection Public Sub OpenDb() Set Cn = New ADODB.Connection Cn.Provider = "SQLOLEDB.1;" Cn.ConnectionString = " Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DbBenhNhan" Cn.Open End Sub trên ta khai báo biến Cn là toàn cục cấp modul, Cn có kiểu Trong modul đối tượng ADODB.Connection tức đối tượng này dùng để kết nối với cơ sở dữ liệu và đ ối tượng này có thể được gọi ở mọi nơi trong chương trình. II. các phương thức đối tượng ADODb
  15. - Open method: Được sử dụng để mở một liên kết với Database. Ngay sau khi tạo instance cho conection object ta có thể mở một kết nối với datasour để truy suất dữ liệu. - Execute method: Cho phép th ực thi một câu lệnh tác động trên datasour. Trong đó commandText là chuỗi lệnh cần thực hiện, thông qua tham số option các giá trị khác nhau quy đ ịnh loại commandText. Giá trị Danh hiệu hằng tương ứng Loại của CommandText 0 AdCmdUnknown Mặc định khi định nghĩa 1 AdCmdText Là một câu lệnh, VD: câu lệnh SQL 2 AdCmdTableTên của table m à ta sẽ tạo Recordset 3 AdCmdStoreProc Một Stor Procedure trong datasour Thông thường các giá trị trên đư ợc gắn sẵn vào các danh hiệu hằng và được lưu trữ trong file Include có tên là adovbs.inc. Trong chương trình này em sử dụng giá trị mặc định tức adCmdUnknown - Close method: phương thức này dùng để đóng các kết nối được chỉ ra sau câu lệnh. Ta cũng có thể set đối tượng n ày về nothing Ngoài ra Visual Basic còn cung cấp một dịch vụ kết nối bằng Data Environment rất tiện lợi đây cũng là một dạng kết nối ADO rất dễ sử dụng, tất cả hầu như được thực hiện qua giao diện đồ họa. Trong Data Environment có thể lưu trữ các bảng (Table), lưu trữ các thủ tục lưu trữ (Stor Procedure) cũng như các hàm (Function) và các bảng ảo (View) khác III. Một số modul chính của chương trình Để hiển thị dữ liệu trong trong một Table ta sử dụng đối tưởng Listview đối tượng n ày tương đối tiện lợi để hiển thị dữ liệu cụ thể như sau:
  16. Private Sub Display_Listview() Dim rs As New ADODB.Recordset Dim Str Dim mItem As listItem listItem.ListItems.Clear Str = "select * from tblTinh order by Matinh asc" Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str If rs.EOF = False Then While Not rs.EOF Set mItem = listItem.ListItems.Add(, , rs!MaTinh) mItem.SubItems(1) = rs!TenTinh rs.MoveNext Wend End If End Sub Trong đó listItem là đối tư ợng Listview có chức năng hiển thị dữ liệu, biến rs có kiểu Recordset để lưu trữ dữ liệu trong một Recor (dữ liệu trong bảng). Trong đoạn chương trình trên ta còn sử dụng phương th ức Set rs = cn.Execute(Str) để thực hiện câu truy vấn (SQL) trong ngoặc, câu truy vấn này lấy về dữ liệu đ ược cất trong biến Record (rs) và được hiển thị trên Listview. Để thêm m ới dữ liệu vào m ột Table trong chương trình ta sử dụng đối tượng Data Environment đối tư ợng này cho phép gọi các h àm hoặc các thủ tục nh ư
  17. cách gọi của Visual Basic. Dưới đây là ví dụ cách gọi một hàm có tên Sp_NhapTinh có ch ức năng thêm một tỉnh mới DE.Sp_NhapTinh MaTinh, TenTinh Trong đó DE là đ ối tượng Data Environment và hàm Sp_NhapTinh là hàm (có thể là các thủ tục thậm chí là một View) được viết và lưu trong cơ sở dữ liệu. Tương tự với các thủ tục khác cũng được thực hiện bằng cách gọi nh ư trên, tuy nhiên đối với thủ tục xóa dữ liệu trong một Table lại là một việc khá phức tạp bởi việc này còn liên quan đế một số ràng buộc về khóa. Ví dụ việc xóa một tỉnh thành, ta phải đi xóa toàn bộ các huyện, xã trực thuộc tỉnh đó, không những vậy ta còn ph ải xóa tất cả các bệnh nhân và nhân viên cùng các giấy tờ có liên quan, cụ thể ta có m ã lệnh như sau: CREATE PROCEDURE Sp_XoaTinh @MaTinh Char(2) AS ------------------------------------------- -- Xoa Tat ca can bo la benh nhan truc thuoc tinh Delete From tblCanBo Where tblCanBo.MaBenhNhan in( Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa
  18. Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) ------------------------------------------------------------------------------------ ------- -- Xoa Tat ca cac bao hiem y te cua benh nhan thuoc tinh Delete From tblBaoHiemYTe Where tblBaoHiemYte.MaBenhNhan in( Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) ------------------------------------------------------------------------------------------- -- Xoa tam ung cua cac benh nhan thuoc tinh Delete From tblTamUng Where tblTamUng.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa
  19. in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) ------------------------------------------------------------ ------------------------------- -- Xoa Dung dich vu ma benh an dung Delete From tblDichVuDung Where tblDichVuDung.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) ------------------------------------------------------------------------------------------- -- Xoa Dung Dich Vu Delete From tblDichVuDung Where tblDichVuDung.MaNhanVien in (Select MaNhanVien
  20. From tblNhanVien Where tblNhanVien.MaXa in (Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.matinh=@MaTinh))) ---------------------------------------------------------------------------------- --------- -- Xoa Benh An cua Benh Nhan thuoc tinh tren Delete From tblBenhAn Where tblBenhAn.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) ------------------------------------------------------------------------------------------- -- Xoa Benh An ma Nhan Vien lap Delete From tblBenhAn
nguon tai.lieu . vn