1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU THỜI GIAN VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ HỒ SƠ BỆNH ÁN BỆNH VIỆN ĐA KHOA TW QUẢNG NAM

56 1 0

Đ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

Thông tin cơ bản

Tiêu đề TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU THỜI GIAN VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ HỒ SƠ BỆNH ÁN BỆNH VIỆN ĐA KHOA TW QUẢNG NAM
Tác giả Huỳnh Thị My Ly
Người hướng dẫn Th.S Nguyễn Thị Minh Châu
Trường học Trường Đại Học Quảng Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại Khóa luận tốt nghiệp đại học
Năm xuất bản 2017
Thành phố Quảng Nam
Định dạng
Số trang 56
Dung lượng 6,16 MB

Cấu trúc

  • PHẦN 1. MỞ ĐẦU (6)
    • 1. Lý do chọn đề tài (6)
    • 2. Mục tiêu của đề tài (6)
    • 3. Đối tượng và phạm vi nghiên cứu (7)
    • 4. Phương pháp nghiên cứu (7)
    • 5. Lịch sử nghiên cứu (7)
    • 6. Đóng góp của đề tài (7)
    • 7. Cấu trúc của đề tài (7)
  • PHẦN 2. NỘI DUNG (8)
  • Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU THỜI GIAN (8)
    • 1.1. Giới thiệu về cơ sở dữ liệu thời gian thực (8)
    • 1.2. Các khái niệm cơ bản về CSDL thời gian thực (8)
      • 1.2.1. Hệ thời gian thực (8)
      • 1.2.2. CSDL thời gian thực (9)
    • 1.3 Mô hình thực thể mối quan hệ thời gian (TimeER) (9)
    • 1.4. So sánh mô hình ER và mô hình TimeER (12)
    • 1.5. Cách xây dựng mô hình CSDL thời gian ở mức khái niệm (TimeER) (13)
    • 1.6. Cách chuyển đổi từ mô hình TimeER sang mô hình R (14)
  • Chương 2: HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN (20)
    • 2.1. Mô tả hồ sơ bệnh án và quy trình làm việc (20)
      • 2.1.1. Mô tả hồ sơ bệnh án (20)
      • 2.1.2. Mô tả quy trình làm việc (23)
    • 2.2. Chức năng của hệ thống (23)
  • Chương 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN (25)
    • 3.1. Mô tả bài toán (25)
    • 3.2. Đưa ra mô hình ER (25)
    • 3.3. Áp dụng CSDL thời gian vào bài toán quản lý (33)
      • 3.3.1. Xây dựng mô hình TimeER (33)
      • 3.3.2. Chuyển đổi mô hình TimeER sang mô hình R (35)
  • Chương 4: CHƯƠNG TRÌNH THỬ NGHIỆM (46)
    • 4.1. Các thành phần của chương trình (46)
    • 4.2. Các chức năng liên quan đến xử lý CSDL thời gian (49)
  • PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ (50)
  • TÀI LIỆU THAM KHẢO (51)

Nội dung

Kỹ Thuật - Công Nghệ - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Kỹ thuật UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---- ----- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU THỜI GIAN VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ HỒ SƠ BỆNH ÁN BỆNH VIỆN ĐA KHOA TW QUẢNG NAM Sinh viên thực hiện HUỲNH THỊ MY LY MSSV: 2113011022 CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHÓA: 2013 – 2017 Cán bộ hướng dẫn Th.S NGUYỄN THỊ MINH CHÂU MSCB: .............. Quảng Nam, tháng 04 năm 2017 LỜI CẢM ƠN Lời đầu tiên, cho phép em gửi lời cảm ơn đến ban lãnh đạo nhà trường, đội ngũ cán bộ giảng viên trường đại học Quảng Nam đã tạo điều kiện cho em hoàn thành tốt quá trình học tập thuộc chuyên ngành Công nghệ Thông tin từ đầu khoá học 2013-2017 đến nay. Hơn hết, em xin gửi lời cảm ơn rất chân thành và sâu sắc đến giảng viên Th.S Nguyễn Thị Minh Châu , đã tận tình trong việc hướng dẫn và luôn tạo điều kiện tốt nhất cho em hoàn thành khoá luận này. Và báo cáo này là kết quả mà em có được dưới sự giúp đỡ tận tình của cô. Thông qua đây, em cũng xin gửi lời cảm ơn đến gia đình, tất cả bạn bè đã đồng hành và giúp đỡ em trong suốt thời gian qua. Một lần nữa, em xin chân thành cảm ơn MỤC LỤC PHẦN 1. MỞ ĐẦU ........................................................................................... 1 1. Lý do chọn đề tài ........................................................................................... 1 2. Mục tiêu của đề tài ........................................................................................ 1 3. Đối tượng và phạm vi nghiên cứu ................................................................. 2 4. Phương pháp nghiên cứu ............................................................................... 2 5. Lịch sử nghiên cứu ........................................................................................ 2 6. Đóng góp của đề tài....................................................................................... 2 7. Cấu trúc của đề tài ......................................................................................... 2 PHẦN 2. NỘI DUNG ....................................................................................... 3 Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU THỜI GIAN ....................... 3 1.1. Giới thiệu về cơ sở dữ liệu thời gian thực.................................................. 3 1.2. Các khái niệm cơ bản về CSDL thời gian thực ......................................... 3 1.2.1. Hệ thời gian thực ..................................................................................... 3 1.2.2. CSDL thời gian thực ............................................................................... 4 1.3 Mô hình thực thể mối quan hệ thời gian (TimeER) .................................... 4 1.4. So sánh mô hình ER và mô hình TimeER ................................................. 7 1.5. Cách xây dựng mô hình CSDL thời gian ở mức khái niệm (TimeER) ..... 8 1.6. Cách chuyển đổi từ mô hình TimeER sang mô hình R ............................. 9 Chương 2: HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN ................................ 15 2.1. Mô tả hồ sơ bệnh án và quy trình làm việc .............................................. 15 2.1.1. Mô tả hồ sơ bệnh án .............................................................................. 15 2.1.2. Mô tả quy trình làm việc ....................................................................... 18 2.2. Chức năng của hệ thống ........................................................................... 18 Chương 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN ....................................................................... 20 3.1. Mô tả bài toán........................................................................................... 20 3.2. Đưa ra mô hình ER .................................................................................. 20 3.3. Áp dụng CSDL thời gian vào bài toán quản lý ........................................ 28 3.3.1. Xây dựng mô hình TimeER .................................................................. 28 3.3.2. Chuyển đổi mô hình TimeER sang mô hình R ..................................... 30 Chương 4: CHƯƠNG TRÌNH THỬ NGHIỆM.............................................. 41 4.1. Các thành phần của chương trình............................................................. 41 4.2. Các chức năng liên quan đến xử lý CSDL thời gian ............................... 44 PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ......................................................... 45 TÀI LIỆU THAM KHẢO ............................................................................... 46 CÁC TỪ VIẾT TẮT Tên viết tắt Ý nghĩa CSDL Cơ sở dữ liệu DL Dữ liệu TW Trung ương CMND Chứng minh nhân dân HSBA Hồ sơ bệnh án TTBN Thông tin bệnh nhân BS Bác sĩ CĐ Chỉ định TT Thông tin TT TD CN Thông tin theo dõi chức năng MSCD Mã số chỉ định MSBN Mã số bệnh nhân ĐD Điều dưỡng TG Thời gian LS LifeSpan (Thời gian sống) VT ValidTime (Thời gian hợp lệ) BT BiTemporal TT TransactionTime (Thời gian tương tác) LT LifeTime 1 PHẦN 1. MỞ ĐẦU 1. Lý do chọn đề tài Khi thiết kế cơ sở dữ liệu, chúng ta hay gặp phải những đối tượng mà một số thông tin luôn thay đổi theo thời gian. Đòi hỏi chúng ta phải làm như thế nào đó để có thể lưu lại tất cả những thay đổi đó trên từng mốc thời gian cụ thể mà chúng xảy ra. Nó đưa chúng ta đi theo một hướng nghiên cứu đó là “Cơ sở dữ liệu theo thời gian”. Các ứng dụng của cơ sở dữ liệu thời gian có rất nhiều những tiện ích giúp cho cả ngư ời quản lý cũng như các tổ chức có thể nắm bắt kịp thời việc thay đổi dữ liệu một cách liên tục, nhanh chóng, nó giúp cho việc phân tích dự đoán được kịp thời và phản ánh các thay đổi gần như ngay lập tức, vì vậy việc xây dựng các cơ sở dữ liệu theo thời gian là hết sức cần thiết đối với các tổ chức có các yêu cầu nghiệp vụ quản lý các loại thông tin dữ liệu liên tục thay đổi. Như trong y tế, khi nhập viện, bạn sẽ được đo huyết áp hoặc điện tim mỗi ngày (Phụ thuộc từng khoa). Chỉ số thay đổi liên tục theo thời gian. Một hệ thống cần phải có khả năng xử lý các truy vấn thời gian gần như tức thời, trả về tạm thời những dữ liệu hợp lệ, và hỗ trợ cho việc lập kế hoạch ưu tiên. Việc ứng dụng cơ sở dữ liệu thời gian là một xu hướng tất yếu trong tương lai khi các yêu cầu nghiệp vụ đòi hỏi sự hỗ trợ ngay lập tức từ việc xử lý thông tin, cũng như hỗ trợ ra quyết định. Và với sự hướng dẫn của ThS.Nguyễn Thị Minh Châu, em đã chọn đề tài: “Tìm hiểu về cơ sở dữ liệu thời gian và ứng dụng trong bài toán quản lý hồ sơ bệnh án bệnh viện đa khoa TW đa khoa Quảng Nam”. 2. Mục tiêu của đề tài  Tìm hiểu về cơ sở dữ liệu theo thời gian.  So sánh mô hình ER và mô hình TimeER.  Áp dụng được cơ sở lý thuyết vào việc xây dựng cơ sở dữ liệu cho mô hình quản lý hồ sơ bệnh án bệnh viện đa khoa TW đa khoa Quảng Nam. 2 3. Đối tượng và phạm vi nghiên cứu  Đối tượng nghiên cứu:  Cơ sở dữ liệu theo thời gian.  Hồ sơ bệnh án.  Phạm vi nghiên cứu: nghiên cứu về cơ sở dữ liệu theo thời gian từ đó xây dựng cơ sở dữ liệu cho mô hình quản lý đã chọn. 4. Phương pháp nghiên cứu Đọc tài liệu tham khảo, các biểu mẫu thu thập được; nghiên cứu trên internet; tham khảo ý kiến từ giáo viên hướng dẫn. 5. Lịch sử nghiên cứu Nghiên cứu về việc làm thế nào để chuyển đổi từ mô hình ER sang mô hình TimeER. Tiếp tục nghiên cứu chuyển đổi từ mô hình TimeER về R. 6. Đóng góp của đề tài Đề tài giúp chúng ta hiểu rõ hơn về ý nghĩa CSDL thời gian và việc thiết kế chúng. 7. Cấu trúc của đề tài Phần nội dung của đề tài này gồm 4 chương như sau: Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU THỜI GIAN Chương 2: HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN Chương 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN Chương 4: CHƯƠNG TRÌNH THỬ NGHIỆM 3 PHẦN 2. NỘI DUNG Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU THỜI GIAN 1.1. Giới thiệu về cơ sở dữ liệu thời gian thực Khi thiết kế cơ sở dữ liệu, nhiều khi chúng ta gặp phải các đối tượng mà một số thông tin thường xuyên thay đổi theo thời gian. Ví dụ 1.1: Khi mô tả thông tin về nhân viên, ngoài các trường ít (hoặc không) thay đổi như: Mã nhân viên, họ tên, số CMND,… thì cũng có một số trường có thể thay đổi như: Hệ số lương, chức vụ, phòng ban,… Hay một số ví dụ khác như giá ngoại tệ, giá bán sản phẩm. Do đó, để đảm bảo lưu trữ đc đầy đủ thông tin của những thay đổi này. Nó buộc chúng ta phải đi theo hướng nghiên cứu đó là “Cơ sở dữ liệu theo thời gian”. Một hệ thống cần phải có khả năng xử lý các truy vấn thời gian gần như tức thời, trả về tạm thời những dữ liệu hợp lệ, và hỗ trợ cho việc lập kế hoạch ưu tiên. Việc ứng dụng cơ sở dữ liệu thời gian là một xu hướng tất yếu trong tương lai khi các yêu cầu nghiệp vụ đòi hỏi sự hỗ trợ ngay lập tức từ việc xử lý thông tin, cũng như hỗ trợ ra quyết định. Ví dụ 1.2: Hệ thống quản lý giá vàng trong và ngoài nước, nhà quản lý muốn xem sự chênh lệch giá vàng các ngày trong tuần qua, cụ thể về giá và thời gian. Như vậy có nghĩa là hệ thống này phải lưu trữ được các thông số thay đổi trong từng ngày của giá vàng và đưa ra được dữ liệu gọi là tạm thời đúng với yêu cầu tại thời điểm đó. 1.2. Các khái niệm cơ bản về CSDL thời gian thực 1.2.1. Hệ thời gian thực Trước hết chúng ta phải hiểu được Hệ thời gian thực là gì? Hệ thời gian thực là một trong những điểm đúng đắn của hệ thống không chỉ phụ thuộc vào 4 những kết quả logic mà còn phụ thuộc vào thời gian trên quá trình đưa ra những kết quả đó. Ví dụ 1.3: Như ví dụ 1.2, cũng cùng một yêu cầu trên nhưng hôm nay hệ thống đưa ra một kết quả, hôm sau hoặc thời gian sau đó, kết quả mà hệ thống đưa ra có thể khác đi. 1.2.2. CSDL thời gian thực Một cơ sở dữ liệu thời gian thực là một hệ thống cơ sở dữ liệu trong đó sử dụng thời gian thực để xử lý khối lượng công việc cho các bài toán đang có thay đổi liên tục về dữ liệu. Ví dụ 1.4: Các hệ thống bán hàng có các sản phẩm có giá trị thay đổi liên tục như vàng, dầu mỏ, điện thoại, xe máy... hoặc các loại dữ liệu khác. Ví như xe máy, tại thời điểm hiện tại nhận một giá trị, cũng thời điểm đó, nhưng của ngày hôm sau nó lại nhận một giá trị khác. Hệ thống phải xử lý như thế nào đó để tránh người dùng nhầm lẫn về thời gian và việc biến đổi giá cả. Cơ sở dữ liệu (CSDL) thời gian phản ánh đầy đủ, chi tiết hơn thông tin ở hiện tại và quá khứ. Yếu tố thời gian làm cho cơ sở dữ liệu (CSDL) đầy đủ về mặt “lịch sử” dữ liệu hơn, nhưng đồng thời cũng làm cho nó phức tạp hơn. Ví dụ 1.5: Bệnh nhân nhập viện sẽ được đo huyết áp hàng ngày (một hoặc nhiều lần). Hệ CSDL thời gian có khả năng lưu trữ lại tất cả quá trình đo đạt cụ thể về thời gian đo, số lần và đơn vị huyết áp… cho đến khi bệnh nhân ra viện. Sau này có khả năng bệnh nhân nhập viện lần nữa, lịch sử bệnh án của bệnh nhân vẫn được tìm thấy và có thể được tiếp tục lưu trữ thêm. 1.3 Mô hình thực thể mối quan hệ thời gian (TimeER) 1 2 Để giải quyết vấn đề thiết kế các CSDL thời gian từ mức khái niệm, đã có nhiều đề xuất về các mô hình ER thời gian, như các mô hình sau: TERM, RAKE, MOTAR, TEER, STEER, ERT, TER, TempEER, TempRT, TERC+ , TimeER… tuy nhiên, trong khoá luận lần này, em chỉ tập trung nghiên cứu về mô hình TimeER. 5 Mô hình TimeER là phát triển dựa vào mô hình EER (Mô hình thực thể mối liên kết mở rộng). Mô hình này cho phép hỗ trợ các loại thời gian sau:  Thời gian sống (LifeSpan) của một thực thể (ký hiệu là LS)  Thời gian hợp lệ (Valid Time) của một sự kiện (ký hiệu là VT)  Thời gian giao tác (Transaction Time) của một thực thể hoặc một sự kiện (ký hiệu là TT) Đối với các thực thể, hệ thống chỉ có thể hỗ trợ thời gian sống (LifeSpan, ký hiệu là LS), hoặc thời gian giao tác (Transaction Time, ký hiệu là TT), hoặc cả hai loại thời gian này tức LS+TT=LT (LifeTime, ký hiệu là LT). Đối với các thuộc tính, hệ thống chỉ cho phép hỗ trợ thời gian hợp lệ (Valid Time, ký hiệu là VT), hoặc thời gian giao tác (TT) hoặc cả hai loại thời gian này tức VT+TT= BT (BiTemporal, ký hiệu là BT). Ngoài ra, do một mối quan hệ có thể xem là một tập thực thể hoặc một thuộc tính, nhờ vậy mà người thiết kế có thể xác định các yếu tố thời gian hỗ trợ cho mối quan hệ đó nếu cần. Dưới đây là mô hình TimeER (Hình 2) được xây dựng trên mô hình ER (Hình 1) và mô hình ER (Hình 3) biểu diễn rõ hơn cho mô hình TimeER: 6 Hình 1. Ví dụ về mô hình ER Hình 2. Ví dụ về mô hình TimeER 7 Hình 3. Mô hình ER mô tả rõ hơn cho mô hình TimeER 1.4. So sánh mô hình ER và mô hình TimeER - Giống nhau: Mô hình ER và mô hình Time ER đều là mô hình mối quan hệ thực thể ở mức khái niệm. Về mặt cấu trúc, hai mô hình này tương tự như nhau. TimeER được coi như ER mở rộng. - Khác nhau:  Thực thể: Bên phía Time ER sẽ có phát sinh thêm thực thể mới liên kết với thực thể cần hỗ trợ về mặt thời gian thực. Ví dụ 1.6: Hình 3, thực thể NHÂN VIÊN phát sinh thêm quan hệ với LifeTime  Thuộc tính: Cũng tương tự như thực thể, thuộc tính bên phía TimeER cũng sẽ phát sinh thêm thực thể hỗ trợ trên mối quan hệ của thuộc tính đó với thực thể chính. Ví dụ 1.7: Trên hình 3, thuộc tính lương của thực thể NHÂN VIÊN cũng phát sinh BiTemporal hỗ trợ cho quan hệ của lương với thực thể NHÂN VIÊN.  Mối quan hệ: Mối quan hệ trong TimeER cũng có thể phát sinh thực thể mới hỗ trợ nếu quan hệ đó được cho là cần thiết hỗ trợ thời gian thực. 8 Ví dụ 1.8: Hình 3, mối quan hệ làm việc giữa NHÂN VIÊN với DỰ ÁN phát sinh ValidTime hỗ trợ cho quan hệ làm việc.  Thiết kế: Bên phía TimeER đòi hỏi độ phức tạp hơn so với ER. TimeER đòi hỏi người thiết kế phải xác định được thực thể nào, thuộc tính nào hay mối quan hệ nào cần thiết phải hỗ trợ thời gian thực. Còn trong mô hình ER không có những phát sinh như vậy. 1.5. Cách xây dựng mô hình CSDL thời gian ở mức khái niệm 2 Muốn có được mô hình CSDL thời gian ở mức khái niệm (TimeER), từ mô hình ER truyền thống, chúng ta thực hiện qua các bước như sau: Bước 1: Xác định đối tượng hỗ trợ thời gian, bao gồm: Thực thể, hay thuộc tính, hay mối quan hệ. Ví dụ 1.9: Ở hình 2, các thực thể, thuộc tính hay mối quan hệ được hỗ trợ thời gian như: thực thể (NHÂN VIÊN, BỘ PHẬN), thuộc tính (Lương, Địa chỉ, lợi nhuận, ngân sách), mối quan hệ “làm việc” giữa NHÂN VIÊN với DỰ ÁN. Bước 2: Xác định loại thời gian cần hỗ trợ cho các đối tượng, lưu ý các loại thời gian phù hợp với từng đối tượng: LifeSpan, TranTime, ValidTime, LifeTran, BiTemporal. Ví dụ 1.10: Hình 2 hỗ trợ các loại thời gian cho từng đối tượng như sau: ĐỐI TƯỢNG LOẠI ĐỐI TƯỢNG LOẠI THỜI GIAN HỖ TRỢ 1.NHÂN VIÊN Thực thể LifeTran 2.BỘ PHẬN Thực thể TranTime 3. Lương Thuộc tính BiTemporal 4. Địa chỉ Thuộc tính ValidTime 5. Lợi nhuận Thuộc tính BiTemporal 6. Ngân sách Thuộc tính BiTemporal 9 7. Làm việc Mối quan hệ ValidTime Bảng 1. Đối tượng và loại thời gian hỗ trợ Bước 3: Sử dụng thực thể thời gian tương ứng (hình 2) và mối quan hệ nhị nguyên S (1-n) để xây dựng mô hình ER biểu diễn dữ liệu thời gian. Ví dụ 1.11: từ mô hình ER truyền thống như Hình 1 ta xây dựng được mô hình TimeER như Hình 2. 1.6. Cách chuyển đổi từ mô hình TimeER sang mô hình R 1 Chúng ta sẽ tìm hiểu cách chuyển đổi mô hình TimeER sang mô hình R: Bước 1: Chuyển đổi các tập thực thể không tham gia vào mối quan hệ lớp chalớp con Với mỗi tập thực thể E không tham gia vào mối quan hệ lớp chalớp con và có các thuộc tính đơn trị phi thời gian là A1, A2, …, An, ta xét hai trường hợp sau: a) Chuyển đổi tập thực thể mạnh 1 : Nếu E là tập thực thể mạnh có khóa ký hiệu là ID(E) , thì ta tạo một quan hệ được gọi là quan hệ chính biểu diễn với tập thực thể E, ký hiệu là R(E), có tập thuộc tính là ID(E)  {A1, A2, …, An} . Khóa chính của quan hệ R(E) là ID(E). b) Chuyển đổi tập thực thể yếu 2 : Xét E là tập thực thể yếu của mối quan hệ định danh S có tập thực thể chủ là E’. Giả sử E có khóa bộ phận là X  {A1, A2, …, An}. Khi đó, ta tạo ra một quan hệ chính R(E) có tập thuộc tính là FK  {A1, A2, …, An}, với FK là khóa ngoài tham chiếu đến quan hệ R(E’) . Khi đó, khóa chính của R(E) là FK  X. Hình 4. Nhãn thời gian hỗ trợ cho thực thể và mối quan hệ 1 Thực thể có thuộc tính khoá cho chính mình 2 Thực thể không có thuộc tính khoá cho chính mình. Không thể xác định khi k có thực thể chủ. 10 Gọi T’ T là các thuộc tính có gạch dưới trong bảng trên, khi đó khóa chính của quan hệ TR(E) là FK  T’. Hình 5. Chuyển đổi thực thể không tham gia vào lớp chacon Bước 2: Chuyển đổi các tập thực thể tham gia vào mối quan hệ lớp chalớp con Với mỗi mối quan hệ lớp chalớp con, trong đó lớp cha E có các lớp con là S 1 , S 2, …, S n, ta tạo ra quan hệ chính R(E) tương ứng với tập thực thể E để biểu diễn lớp cha E. Ngoài ra, giả sử mỗi lớp con S i có tập thuộc tính đơn trị phi thời gian riêng là X i , thì ta tạo thêm n quan hệ được gọi là các quan hệ con, ký hiệu là SR(S i), có tập thuộc tính là FK  Xi (với i = 1..n) và khóa chính là FK, ở đây FK là khóa ngoài tham chiếu đến quan hệ R(E). Nếu E hoặc S 1, S 2 , …, S n có hỗ trợ yếu tố thời gian thì bổ sung thêm các quan hệ thời gian tương ứng với các tập thực thể này như bước 1. Bước 3: Chuyển đổi các thuộc tính đơn trị có yếu tố thời gian của một tập thực thể. Với mỗi thuộc tính A của E là thuộc tính đơn trị có yếu tố thời gian, nếu các yếu tố thời gian hỗ trợ cho thuộc tính A được ký hiệu bởi dấu , thì ta tạo thêm một quan hệ được gọi là quan hệ thời gian biểu diễn thuộc tính A của E, ký hiệu là TR A(E), có tập thuộc tính là FK  A  T, với FK là khóa ngoài tham chiếu đến quan hệ R(E), và T là tập các thuộc tính nhãn thời gian tương ứng với ký hiệu của thuộc tính A cho ở bảng sau: 11 Hình 6. Nhãn thời gian hỗ trợ cho các thuộc tính và mối quan hệ Gọi T’  T là các thuộc tính có gạch dưới trong bảng trên, khi đó khóa chính của quan hệ TR A(E) là FK  T’. Bước 4: Chuyển đổi các thuộc tính đa trị Với mỗi thuộc tính A là thuộc tính đa trị của một tập thực thể E thuộc dạng chuẩn PNF (Partitioned Normal Form), hoặc xét tương tự, A là thuộc tính đa trị của một thuộc tính phức hợp B, ta gọi R’ là quan hệ biểu diễn tập thực thể E (hoặc thuộc tính phức hợp B ). Khi đó, việc chuyển đổi thuộc tính đa trị A thành quan hệ tương ứng được xét một cách đệ quy theo các trường hợp sau: a) A là thuộc tính đơn: Ta xét hai khả năng sau: Nếu A là thuộc tính phi thời gian, thì ta tạo một quan hệ mới nhằm biểu diễn thuộc tính A, ký hiệu là R A(E) (hoặc R A(B)), gồm các thuộc tính FK  A , với FK là khóa ngoài tham chiếu đến quan hệ R’, và A’ là thuộc tính dùng để lưu các giá trị của thuộc tính đa trị A, gọi tắt là thuộc tính tương ứng với A . Khi đó, khóa chính của R A(E) (hoặc R A(B)) là FK  A’ . Nếu A có hỗ trợ yếu tố thời gian, thì ta tạo một quan hệ thời gian nhằm biểu diễn thuộc tính A, ký hiệu là TR A(E) (hoặc TR A(B)), gồm các thuộc tính FK  A’  T’ và có khóa chính là FK  A’  T, với FK là khóa ngoài tham chiếu đến quan hệ R’, A’ là thuộc tính tương ứng với thuộc tính đa trị A . Ngoài ra, T và T’ được xác định tương tự như bước 3. b) A là thuộc tính phức hợp: Nếu A là thuộc tính phức hợp có tập thuộc tính đơn trị phi thời gian là X và khóa bộ phận là K, ta tạo một quan hệ mới nhằm biểu diễn thuộc tính A , ký hiệu là R A(E) (hoặc R A(B)), gồm các thuộc tính FK  X và có khoá chính là FK  K, với FK là khóa ngoài tham chiếu đến quan hệ s. 12 Nếu thuộc tính A có hỗ trợ yếu tố thời gian, thì ta bổ sung thêm quan hệ thời gian TRA (E) (hoặc TR A(B)) có tập thuộc tính là FK’  T và có khóa chính là FK’  T’, với FK’ là khóa ngoài tham chiếu đến quan hệ RA (E) (hoặc RA (B)). Ngoài ra, T và T’ được xác định tương tự như bước 3. Trong trường hợp thuộc tính phức hợp A có chứa các thuộc tính đơn trị thời gian, thì với mỗi thuộc tính đơn trị thời gian C, ta bổ sung thêm một quan hệ thời gian TRC(A) biểu diễn thuộc tính C có tập thuộc tính là FK” C  T và khóa chính là FK”  T’, với FK” là khoá ngoài tham chiếu đến quan hệ RA (E) (hoặc RA (B)). Ngoài ra, T và T’ được xác định tương tự như bước 3. Bước 5: Chuyển đổi các mối quan hệ phi thời gian Việc chuyển đổi các mối quan hệ phi thời gian (nhị nguyên, phản xạ, đa nguyên) giữa các tập thực thể được thực hiện như phương pháp chuyển đổi truyền thống. Bước 6: Chuyển đổi các mối quan hệ nhị nguyên thời gian không có thuộc tính Xét mối quan hệ S là mối quan hệ nhị nguyên thời gian không có thuộc tính giữa hai tập thực thể E1 và E2. Khi đó, ta tạo ra một quan hệ thời gian để biểu diễn mối quan hệ nhị nguyên thời gian S, ký hiệu là TR(S), có tập thuộc tính là FK 1  FK2  T, với FK 1 và FK2 lần lượt là các khoá ngoài tham chiếu đến quan hệ R(E1) và R(E2 ). Ngoài ra, tùy thuộc vào loại thời gian hỗ trợ cho mối quan hệ S mà T được xác định như trong bảng 1 hoặc bảng 2. Khóa chính của TR(S) là ID(S)  T’, với T’  T cũng được xác định như trong bảng 1 hoặc bảng 2. Ngoài ra, tùy thuộc vào các bản số (min, max) của mối quan hệ S mà ID(S) được xác định như sau: - Nếu S là mối quan hệ 1 - 1 thì ID(S) = FK1 hoặc ID(S) = FK 2 - Nếu S là mối quan hệ 1 - nhiều thì ID(S) = FK 2 - Nếu S là mối quan hệ nhiều - 1 thì ID(S) = FK 1 - Nếu S là mối quan hệ nhiều - nhiều thì ID(S) = FK1  FK2 . Bước 7: Chuyển đổi các mối quan hệ nhị nguyên thời gian có thuộc tính 13 Xét mối quan hệ S là mối quan hệ nhị nguyên thời gian giữa hai tập thực thể E1 và E 2 , và có tập thuộc tính đơn trị phi thời gian X. Khi đó, ta cần tạo ra hai quan hệ sau: - Một quan hệ để biểu diễn mối quan hệ nhị nguyên S, ký hiệu là R(S), có tập thuộc tính là FK1  FK2  X, với FK 1 và FK 2 lần lượt là các khóa ngoài tham chiếu đến quan hệ R(E1 ) và R(E 2 ). Khóa chính của R(S) là ID(S) cũng được xác định tương tự như bước 6. -...

NỘI DUNG

1.1 Giới thiệu về cơ sở dữ liệu thời gian thực

Khi thiết kế cơ sở dữ liệu, nhiều khi chúng ta gặp phải các đối tượng mà một số thông tin thường xuyên thay đổi theo thời gian

Ví dụ 1.1: Khi mô tả thông tin về nhân viên, ngoài các trường ít (hoặc không) thay đổi như: Mã nhân viên, họ tên, số CMND,… thì cũng có một số trường có thể thay đổi như: Hệ số lương, chức vụ, phòng ban,… Hay một số ví dụ khác như giá ngoại tệ, giá bán sản phẩm

Do đó, để đảm bảo lưu trữ đc đầy đủ thông tin của những thay đổi này Nó buộc chúng ta phải đi theo hướng nghiên cứu đó là “Cơ sở dữ liệu theo thời gian”

Một hệ thống cần phải có khả năng xử lý các truy vấn thời gian gần như tức thời, trả về tạm thời những dữ liệu hợp lệ, và hỗ trợ cho việc lập kế hoạch ưu tiên Việc ứng dụng cơ sở dữ liệu thời gian là một xu hướng tất yếu trong tương lai khi các yêu cầu nghiệp vụ đòi hỏi sự hỗ trợ ngay lập tức từ việc xử lý thông tin, cũng như hỗ trợ ra quyết định

Ví dụ 1.2: Hệ thống quản lý giá vàng trong và ngoài nước, nhà quản lý muốn xem sự chênh lệch giá vàng các ngày trong tuần qua, cụ thể về giá và thời gian Như vậy có nghĩa là hệ thống này phải lưu trữ được các thông số thay đổi trong từng ngày của giá vàng và đưa ra được dữ liệu gọi là tạm thời đúng với yêu cầu tại thời điểm đó

1.2 Các khái niệm cơ bản về CSDL thời gian thực

Trước hết chúng ta phải hiểu được Hệ thời gian thực là gì? Hệ thời gian thực là một trong những điểm đúng đắn của hệ thống không chỉ phụ thuộc vào

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU THỜI GIAN

Giới thiệu về cơ sở dữ liệu thời gian thực

Khi thiết kế cơ sở dữ liệu, nhiều khi chúng ta gặp phải các đối tượng mà một số thông tin thường xuyên thay đổi theo thời gian

Ví dụ 1.1: Khi mô tả thông tin về nhân viên, ngoài các trường ít (hoặc không) thay đổi như: Mã nhân viên, họ tên, số CMND,… thì cũng có một số trường có thể thay đổi như: Hệ số lương, chức vụ, phòng ban,… Hay một số ví dụ khác như giá ngoại tệ, giá bán sản phẩm

Do đó, để đảm bảo lưu trữ đc đầy đủ thông tin của những thay đổi này Nó buộc chúng ta phải đi theo hướng nghiên cứu đó là “Cơ sở dữ liệu theo thời gian”

Một hệ thống cần phải có khả năng xử lý các truy vấn thời gian gần như tức thời, trả về tạm thời những dữ liệu hợp lệ, và hỗ trợ cho việc lập kế hoạch ưu tiên Việc ứng dụng cơ sở dữ liệu thời gian là một xu hướng tất yếu trong tương lai khi các yêu cầu nghiệp vụ đòi hỏi sự hỗ trợ ngay lập tức từ việc xử lý thông tin, cũng như hỗ trợ ra quyết định

Ví dụ 1.2: Hệ thống quản lý giá vàng trong và ngoài nước, nhà quản lý muốn xem sự chênh lệch giá vàng các ngày trong tuần qua, cụ thể về giá và thời gian Như vậy có nghĩa là hệ thống này phải lưu trữ được các thông số thay đổi trong từng ngày của giá vàng và đưa ra được dữ liệu gọi là tạm thời đúng với yêu cầu tại thời điểm đó.

Các khái niệm cơ bản về CSDL thời gian thực

Trước hết chúng ta phải hiểu được Hệ thời gian thực là gì? Hệ thời gian thực là một trong những điểm đúng đắn của hệ thống không chỉ phụ thuộc vào

4 những kết quả logic mà còn phụ thuộc vào thời gian trên quá trình đưa ra những kết quả đó

Ví dụ 1.3: Như ví dụ 1.2, cũng cùng một yêu cầu trên nhưng hôm nay hệ thống đưa ra một kết quả, hôm sau hoặc thời gian sau đó, kết quả mà hệ thống đưa ra có thể khác đi

Một cơ sở dữ liệu thời gian thực là một hệ thống cơ sở dữ liệu trong đó sử dụng thời gian thực để xử lý khối lượng công việc cho các bài toán đang có thay đổi liên tục về dữ liệu

Ví dụ 1.4: Các hệ thống bán hàng có các sản phẩm có giá trị thay đổi liên tục như vàng, dầu mỏ, điện thoại, xe máy hoặc các loại dữ liệu khác Ví như xe máy, tại thời điểm hiện tại nhận một giá trị, cũng thời điểm đó, nhưng của ngày hôm sau nó lại nhận một giá trị khác Hệ thống phải xử lý như thế nào đó để tránh người dùng nhầm lẫn về thời gian và việc biến đổi giá cả

Cơ sở dữ liệu (CSDL) thời gian phản ánh đầy đủ, chi tiết hơn thông tin ở hiện tại và quá khứ Yếu tố thời gian làm cho cơ sở dữ liệu (CSDL) đầy đủ về mặt “lịch sử” dữ liệu hơn, nhưng đồng thời cũng làm cho nó phức tạp hơn

Ví dụ 1.5: Bệnh nhân nhập viện sẽ được đo huyết áp hàng ngày (một hoặc nhiều lần) Hệ CSDL thời gian có khả năng lưu trữ lại tất cả quá trình đo đạt cụ thể về thời gian đo, số lần và đơn vị huyết áp… cho đến khi bệnh nhân ra viện Sau này có khả năng bệnh nhân nhập viện lần nữa, lịch sử bệnh án của bệnh nhân vẫn được tìm thấy và có thể được tiếp tục lưu trữ thêm.

Mô hình thực thể mối quan hệ thời gian (TimeER)

Để giải quyết vấn đề thiết kế các CSDL thời gian từ mức khái niệm, đã có nhiều đề xuất về các mô hình ER thời gian, như các mô hình sau: TERM, RAKE, MOTAR, TEER, STEER, ERT, TER, TempEER, TempRT, TERC+ , TimeER… tuy nhiên, trong khoá luận lần này, em chỉ tập trung nghiên cứu về mô hình TimeER

Mô hình TimeER là phát triển dựa vào mô hình EER (Mô hình thực thể mối liên kết mở rộng)

Mô hình này cho phép hỗ trợ các loại thời gian sau:

 Thời gian sống (LifeSpan) của một thực thể (ký hiệu là LS)

 Thời gian hợp lệ (Valid Time) của một sự kiện (ký hiệu là VT)

 Thời gian giao tác (Transaction Time) của một thực thể hoặc một sự kiện (ký hiệu là TT) Đối với các thực thể, hệ thống chỉ có thể hỗ trợ thời gian sống (LifeSpan, ký hiệu là LS), hoặc thời gian giao tác (Transaction Time, ký hiệu là TT), hoặc cả hai loại thời gian này tức LS+TT=LT (LifeTime, ký hiệu là LT) Đối với các thuộc tính, hệ thống chỉ cho phép hỗ trợ thời gian hợp lệ (Valid Time, ký hiệu là VT), hoặc thời gian giao tác (TT) hoặc cả hai loại thời gian này tức VT+TT= BT (BiTemporal, ký hiệu là BT)

Ngoài ra, do một mối quan hệ có thể xem là một tập thực thể hoặc một thuộc tính, nhờ vậy mà người thiết kế có thể xác định các yếu tố thời gian hỗ trợ cho mối quan hệ đó nếu cần

Dưới đây là mô hình TimeER (Hình 2) được xây dựng trên mô hình ER (Hình 1) và mô hình ER* (Hình 3) biểu diễn rõ hơn cho mô hình TimeER:

6 Hình 1 Ví dụ về mô hình ER

Hình 2 Ví dụ về mô hình TimeER

Hình 3 Mô hình ER* mô tả rõ hơn cho mô hình TimeER

So sánh mô hình ER và mô hình TimeER

- Giống nhau: Mô hình ER và mô hình Time ER đều là mô hình mối quan hệ thực thể ở mức khái niệm Về mặt cấu trúc, hai mô hình này tương tự như nhau

TimeER được coi như ER mở rộng

 Thực thể: Bên phía Time ER sẽ có phát sinh thêm thực thể mới liên kết với thực thể cần hỗ trợ về mặt thời gian thực

Ví dụ 1.6: Hình 3, thực thể NHÂN VIÊN phát sinh thêm quan hệ với LifeTime

 Thuộc tính: Cũng tương tự như thực thể, thuộc tính bên phía TimeER cũng sẽ phát sinh thêm thực thể hỗ trợ trên mối quan hệ của thuộc tính đó với thực thể chính

Ví dụ 1.7: Trên hình 3, thuộc tính lương của thực thể NHÂN VIÊN cũng phát sinh BiTemporal hỗ trợ cho quan hệ của lương với thực thể NHÂN

 Mối quan hệ: Mối quan hệ trong TimeER cũng có thể phát sinh thực thể mới hỗ trợ nếu quan hệ đó được cho là cần thiết hỗ trợ thời gian thực

Ví dụ 1.8: Hình 3, mối quan hệ làm việc giữa NHÂN VIÊN với DỰ ÁN phát sinh ValidTime hỗ trợ cho quan hệ làm việc

 Thiết kế: Bên phía TimeER đòi hỏi độ phức tạp hơn so với ER TimeER đòi hỏi người thiết kế phải xác định được thực thể nào, thuộc tính nào hay mối quan hệ nào cần thiết phải hỗ trợ thời gian thực

Còn trong mô hình ER không có những phát sinh như vậy.

Cách xây dựng mô hình CSDL thời gian ở mức khái niệm (TimeER)

Muốn có được mô hình CSDL thời gian ở mức khái niệm (TimeER), từ mô hình ER truyền thống, chúng ta thực hiện qua các bước như sau:

Bước 1: Xác định đối tượng hỗ trợ thời gian, bao gồm: Thực thể, hay thuộc tính, hay mối quan hệ

Ví dụ 1.9: Ở hình 2, các thực thể, thuộc tính hay mối quan hệ được hỗ trợ thời gian như: thực thể (NHÂN VIÊN, BỘ PHẬN), thuộc tính (Lương, Địa chỉ, lợi nhuận, ngân sách), mối quan hệ “làm việc” giữa NHÂN VIÊN với

Bước 2: Xác định loại thời gian cần hỗ trợ cho các đối tượng, lưu ý các loại thời gian phù hợp với từng đối tượng: LifeSpan, TranTime, ValidTime, LifeTran, BiTemporal

Ví dụ 1.10: Hình 2 hỗ trợ các loại thời gian cho từng đối tượng như sau: ĐỐI TƯỢNG LOẠI ĐỐI TƯỢNG LOẠI THỜI GIAN HỖ

1.NHÂN VIÊN Thực thể LifeTran

2.BỘ PHẬN Thực thể TranTime

4 Địa chỉ Thuộc tính ValidTime

5 Lợi nhuận Thuộc tính BiTemporal

6 Ngân sách Thuộc tính BiTemporal

7 Làm việc Mối quan hệ ValidTime

Bảng 1 Đối tượng và loại thời gian hỗ trợ Bước 3: Sử dụng thực thể thời gian tương ứng (hình 2) và mối quan hệ nhị nguyên S (1-n) để xây dựng mô hình ER* biểu diễn dữ liệu thời gian

Ví dụ 1.11: từ mô hình ER truyền thống như Hình 1 ta xây dựng được mô hình TimeER như Hình 2.

Cách chuyển đổi từ mô hình TimeER sang mô hình R

Chúng ta sẽ tìm hiểu cách chuyển đổi mô hình TimeER sang mô hình R:

Bước 1: Chuyển đổi các tập thực thể không tham gia vào mối quan hệ lớp cha/lớp con

Với mỗi tập thực thể E không tham gia vào mối quan hệ lớp cha/lớp con và có các thuộc tính đơn trị phi thời gian là A1, A2, …, An, ta xét hai trường hợp sau: a) Chuyển đổi tập thực thể mạnh 1 : Nếu E là tập thực thể mạnh có khóa ký hiệu là ID(E), thì ta tạo một quan hệ được gọi là quan hệ chính biểu diễn với tập thực thể E, ký hiệu là R(E), có tập thuộc tính là ID(E)  {A1, A2, …, An}

Khóa chính của quan hệ R(E) là ID(E) b) Chuyển đổi tập thực thể yếu 2 : Xét E là tập thực thể yếu của mối quan hệ định danh S có tập thực thể chủ là E’ Giả sử E có khóa bộ phận là X{A1, A2, …, An} Khi đó, ta tạo ra một quan hệ chính R(E) có tập thuộc tính là FK

 {A1, A2, …, An}, với FK là khóa ngoài tham chiếu đến quan hệ R(E’) Khi đó, khóa chính của R(E) là FK  X

Hình 4 Nhãn thời gian hỗ trợ cho thực thể và mối quan hệ

1 Thực thể có thuộc tính khoá cho chính mình

2 Thực thể không có thuộc tính khoá cho chính mình Không thể xác định khi k có thực thể chủ

Gọi T’ T là các thuộc tính có gạch dưới trong bảng trên, khi đó khóa chính của quan hệ TR(E) là FK  T’

Hình 5 Chuyển đổi thực thể không tham gia vào lớp cha/con

Bước 2: Chuyển đổi các tập thực thể tham gia vào mối quan hệ lớp cha/lớp con

Với mỗi mối quan hệ lớp cha/lớp con, trong đó lớp cha E có các lớp con là

S 1 , S 2 , …, S n , ta tạo ra quan hệ chính R(E) tương ứng với tập thực thể E để biểu diễn lớp cha E Ngoài ra, giả sử mỗi lớp con S i có tập thuộc tính đơn trị phi thời gian riêng là X i , thì ta tạo thêm n quan hệ được gọi là các quan hệ con, ký hiệu là SR(S i ), có tập thuộc tính là FK  X i (với i = 1 n) và khóa chính là FK, ở đây FK là khóa ngoài tham chiếu đến quan hệ R(E)

Nếu E hoặc S 1 , S 2 , …, S n có hỗ trợ yếu tố thời gian thì bổ sung thêm các quan hệ thời gian tương ứng với các tập thực thể này như bước 1

Bước 3: Chuyển đổi các thuộc tính đơn trị có yếu tố thời gian của một tập thực thể Với mỗi thuộc tính A của E là thuộc tính đơn trị có yếu tố thời gian, nếu các yếu tố thời gian hỗ trợ cho thuộc tính A được ký hiệu bởi dấu *, thì ta tạo thêm một quan hệ được gọi là quan hệ thời gian biểu diễn thuộc tính A của E, ký hiệu là TR A (E), có tập thuộc tính là FK  A  T, với FK là khóa ngoài tham chiếu đến quan hệ R(E), và T là tập các thuộc tính nhãn thời gian tương ứng với ký hiệu * của thuộc tính A cho ở bảng sau:

Hình 6 Nhãn thời gian hỗ trợ cho các thuộc tính và mối quan hệ

Gọi T’ T là các thuộc tính có gạch dưới trong bảng trên, khi đó khóa chính của quan hệ TR A (E) là FK  T’

Bước 4: Chuyển đổi các thuộc tính đa trị Với mỗi thuộc tính A là thuộc tính đa trị của một tập thực thể E thuộc dạng chuẩn PNF (Partitioned Normal Form), hoặc xét tương tự, A là thuộc tính đa trị của một thuộc tính phức hợp

B, ta gọi R’ là quan hệ biểu diễn tập thực thể E (hoặc thuộc tính phức hợp B)

Khi đó, việc chuyển đổi thuộc tính đa trị A thành quan hệ tương ứng được xét một cách đệ quy theo các trường hợp sau: a) A là thuộc tính đơn:

Ta xét hai khả năng sau:

Nếu A là thuộc tính phi thời gian, thì ta tạo một quan hệ mới nhằm biểu diễn thuộc tính A, ký hiệu là R A (E) (hoặc R A (B)), gồm các thuộc tính FK  A, với FK là khóa ngoài tham chiếu đến quan hệ R’, và A’ là thuộc tính dùng để lưu các giá trị của thuộc tính đa trị A, gọi tắt là thuộc tính tương ứng với A

Khi đó, khóa chính của R A (E) (hoặc R A (B)) là FK  A’

Nếu A có hỗ trợ yếu tố thời gian, thì ta tạo một quan hệ thời gian nhằm biểu diễn thuộc tính A, ký hiệu là TR A (E) (hoặc TR A (B)), gồm các thuộc tính

FK  A’  T’ và có khóa chính là FK  A’  T, với FK là khóa ngoài tham chiếu đến quan hệ R’, A’ là thuộc tính tương ứng với thuộc tính đa trị A

Ngoài ra, T và T’ được xác định tương tự như bước 3 b) A là thuộc tính phức hợp:

Nếu A là thuộc tính phức hợp có tập thuộc tính đơn trị phi thời gian là X và khóa bộ phận là K, ta tạo một quan hệ mới nhằm biểu diễn thuộc tính A, ký hiệu là R A (E) (hoặc R A (B)), gồm các thuộc tính FK  X và có khoá chính là

FK  K, với FK là khóa ngoài tham chiếu đến quan hệ s

Nếu thuộc tính A có hỗ trợ yếu tố thời gian, thì ta bổ sung thêm quan hệ thời gian TRA(E) (hoặc TRA(B)) có tập thuộc tính là FK’  T và có khóa chính là FK’  T’, với FK’ là khóa ngoài tham chiếu đến quan hệ RA(E) (hoặc RA(B)) Ngoài ra, T và T’ được xác định tương tự như bước 3

Trong trường hợp thuộc tính phức hợp A có chứa các thuộc tính đơn trị thời gian, thì với mỗi thuộc tính đơn trị thời gian C, ta bổ sung thêm một quan hệ thời gian TRC(A) biểu diễn thuộc tính C có tập thuộc tính là FK” C T và khóa chính là FK”  T’, với FK” là khoá ngoài tham chiếu đến quan hệ

RA(E) (hoặc RA(B)) Ngoài ra, T và T’ được xác định tương tự như bước 3

Bước 5: Chuyển đổi các mối quan hệ phi thời gian

Việc chuyển đổi các mối quan hệ phi thời gian (nhị nguyên, phản xạ, đa nguyên) giữa các tập thực thể được thực hiện như phương pháp chuyển đổi truyền thống

Bước 6: Chuyển đổi các mối quan hệ nhị nguyên thời gian không có thuộc tính

Xét mối quan hệ S là mối quan hệ nhị nguyên thời gian không có thuộc tính giữa hai tập thực thể E1 và E2 Khi đó, ta tạo ra một quan hệ thời gian để biểu diễn mối quan hệ nhị nguyên thời gian S, ký hiệu là TR(S), có tập thuộc tính là FK1  FK2  T, với FK1 và FK2 lần lượt là các khoá ngoài tham chiếu đến quan hệ R(E1) và R(E2) Ngoài ra, tùy thuộc vào loại thời gian hỗ trợ cho mối quan hệ S mà T được xác định như trong bảng 1 hoặc bảng 2 Khóa chính của TR(S) là ID(S)  T’, với T’  T cũng được xác định như trong bảng 1 hoặc bảng 2 Ngoài ra, tùy thuộc vào các bản số (min, max) của mối quan hệ

S mà ID(S) được xác định như sau:

- Nếu S là mối quan hệ 1 - 1 thì ID(S) = FK1 hoặc ID(S) = FK2

- Nếu S là mối quan hệ 1 - nhiều thì ID(S) = FK2

- Nếu S là mối quan hệ nhiều - 1 thì ID(S) = FK1

- Nếu S là mối quan hệ nhiều - nhiều thì ID(S) = FK1  FK2

Bước 7: Chuyển đổi các mối quan hệ nhị nguyên thời gian có thuộc tính

Xét mối quan hệ S là mối quan hệ nhị nguyên thời gian giữa hai tập thực thể E1 và E2, và có tập thuộc tính đơn trị phi thời gian X Khi đó, ta cần tạo ra hai quan hệ sau:

- Một quan hệ để biểu diễn mối quan hệ nhị nguyên S, ký hiệu là R(S), có tập thuộc tính là FK1  FK2  X, với FK1 và FK2 lần lượt là các khóa ngoài tham chiếu đến quan hệ R(E1) và R(E2) Khóa chính của R(S) là ID(S) cũng được xác định tương tự như bước 6

- Một quan hệ thời gian để biểu diễn yếu tố thời gian của mối quan hệ S, ký hiệu là TR(S), có tập thuộc tính là FK  T và khóa chính là FK  T’, với

HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN

Mô tả hồ sơ bệnh án và quy trình làm việc

2.1.1 Mô tả hồ sơ bệnh án

Dưới đây là một số mẫu thông tin thu thập được nằm trong hồ sơ bệnh án

Hình 7 Phiếu theo dõi chức năng sống

Hình 8 Mẫu phiếu chỉ định

Hình 9 Mẫu phiếu kết quả xét nghiệm

2.1.2 Mô tả quy trình làm việc

Một bệnh nhân khi đến khám bệnh tại bệnh viện, trong trường hợp cần thiết, bệnh nhân buộc phải nhập viện để theo dõi và điều trị

Khi đó, thông tin về bệnh nhân cũng như mọi thông tin khám chữa bệnh sẽ được cập nhật hằng ngày và lưu trữ thành một bộ hồ sơ Hồ sơ sẽ ngừng tương tác khi bệnh nhân xuất viện, chuyển viện hoặc tử vong.

Chức năng của hệ thống

Mục đích của bài báo cáo này là hướng đến việc thiết kế CSDL làm sao để lưu vết được những dữ liệu biến đổi theo thời gian, nên hệ thống chỉ có những chức năng chính cập nhật mọi thông tin cơ bản có trong hồ sơ và tiến hành lưu trữ

 Sơ đồ chức năng của hệ thống:

QUẢN LÝ HỒ SƠ BỆNH ÁN BỆNH VIỆN ĐA KHOA TW QUẢNG NAM

Hình 11 Sơ đồ chức năng của hệ thống quản lý hồ sơ bệnh án

 Sơ đồ mức ngữ cảnh

Hình 12 Sơ đồ luồng dữ liệu mức ngữ cảnh

PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG QUẢN LÝ HỒ SƠ BỆNH ÁN

Mô tả bài toán

Dựa trên thông tin thu thập từ các mẫu hồ sơ cũng như các câu hỏi về cách thức làm việc và quản lý, vấn đề được đặc ra là làm thế nào để xây dựng một hệ thống có thể lưu trữ được đầy đủ và chính xác các thông tin có trong hồ sơ bệnh án của một bệnh nhân Cụ thể ở đây là Hồ sơ bệnh án bệnh viện đa khoa trung ương Quảng Nam.

Đưa ra mô hình ER

Để đưa ra được mô hình ER, ta qua các bước như sau:

 Liệt kê chọn lọc thông tin từ các mẫu thu thập được; xác định thực thể, thuộc tính, thuộc tính định danh:

THỰC THỂ THUỘC TÍNH THUỘC TÍNH ĐỊNH DANH

Số lưu trữ Ngày lập hồ sơ Ngày kết thúc hồ sơ Giám đốc

Bác sĩ làm bệnh án

Họ tên Ngày sinh Giới tính Nghề nghiệp Dân tộc Địa chỉ(cụ thể)

Họ tên người nhà Địa chỉ người nhà

Số điện thoại người nhà

Mã đối tượng Tên đối tượng

4.THÔNG Mã chuẩn đoán ra viện Mã Cđoán ra viện

Ra viện(cụ thể đến phút)

Lí do ra viện(ra viện/xin về/bỏ về/đưa về)

Tai biến/biến chứng Tổng số ngày điều trị Kết quả điều trị(khỏi/đỡ/…) Giải phẫu bệnh(lành tính/ác tính/…)

Mã chuẩn đoán Nơi chuyển đến Khu khám bệnh, cấp cứu Khi vào khoa điều trị Bệnh chính

Bệnh kèm theo Phân biệt Tiên lượng Hướng điều trị

Mã tử vong Thời gian tử vong(cụ thể đến phút)

Lý do tử vong(do bệnh/tai biến điều trị/khác)

Thời gian vào viện(trước 24h/sau 24h)

Nguyên nhân chính Khám nghiệm tử thi(có/không) Chuẩn đoán giải phẫu tử thi

Lý do vào viện Vào viện(cụ thể đến giờ/phút) Trực tiếp vào(Cấp cứu/KKB/…) Nơi giới thiệu

Lần vào viện do bệnh này Vào khoa(cụ thể đến phút) Chuyển khoa(cụ thể đến phút) Chuyển viện(Tuyến trên/dưới/CK) Chuyển đến

Quá trình bệnh lý(khởi phát,…) Tiền sử bệnh bản thân

Tiền sử bệnh gia đình

Mã khám bệnh Toàn thân(Mạch,nhiệt độ,…) Tuần hoàn

Thần kinh Cơ-xương-khớp Tai-mũi-họng Răng-hàm-mặt Mắt

Mã số bệnh nhân Ngày lấy mẫu(cụ thể đến phút) Khoa chỉ định

Tên xét nghiệm Kết quả xét nghiệm Chỉ số bình thường(…) Bác sĩ điều trị

Mã số phiếu chỉ định Loại chỉ định

Số lượng Bác sĩ điều trị Thời gian chỉ định(cụ thể đến phút)

Mã TD Ngày tháng Nhiệt độ Huyết áp Nhịp thở Cân nặng

13.BÁC SĨ Mã bác sĩ

Bảng 2 Thực thể và thuộc tính

 Xác định mối quan hệ; vẽ mô hình, xác định bản số các thực thể Dưới đây sẽ chỉ rõ mô hình từng cặp bản thể

Hình 13 Mô hình ER (BỆNH NHÂN - ĐỐI TƯỢNG)

Hình 14 Mô hình ER (BỆNH NHÂN - HSBA)

Hình 15 Mô hình ER (HSBA – TT CĐOÁN)

Hình 16 Mô hình ER (HSBA – TT KHÁM BỆNH)

Hình 17 Mô hình ER (HSBA – TT TD CN SỐNG)

Hình 18 Mô hình ER (HSBA – TT RA VIỆN)

Hình 19 Mô hình ER (HSBA – TT VÀO VIỆN)

Hình 20 Mô hình ER (HSBA - KHOA)

Hình 21 Mô hình ER (HSBA – TT TỬ VONG)

Hình 22 Mô hình ER (KHOA – TT PHÒNG)

Hình 23 Mô hình ER (KHOA – BÁC SĨ)

Hình 24 Mô hình ER (KHOA – Y TÁ)

Hình 25 Mô hình ER (KHOA - PHIẾU CHỈ ĐỊNH)

Hình 26 Mô hình ER (PHIẾU CHỈ ĐỊNH - KQXN)

Hình 27 Mô hình ER (KQXN - BỆNH NHÂN)

Hình 28 Mô hình ER của quản lý hồ sơ bệnh án

Áp dụng CSDL thời gian vào bài toán quản lý

3.3.1 Xây dựng mô hình TimeER

Từ mô hình ER ở hình 4, thông qua các bước như ở mục 1.5 đã nêu, ta xây dựng mô hình TimeER cho mô hình ER này

 Bước 1:Xác định đối tượng hỗ trợ thời gian

THUỘC TÍNH THỰC THỂ MỐI QUAN HỆ

- CHỈ ĐỊNH(giữa KHOA với PHIẾU CHỈ ĐỊNH)

Bảng 3 Đối tượng cần hỗ trợ thời gian

 Bước 2: Xác định loại thời gian cần hỗ trợ cho các đối tượng

LOẠI ĐỐI TƯỢNG CỤ THỂ LOẠI THỜI GIAN

Bảng 4 Loại thời gian hỗ trợ cho từng đối tượng

 Bước 3: Sử dụng thực thể thời gian tương ứng (hình 2) và mối quan hệ nhị nguyên S (1-n) để xây dựng mô hình ER* biểu diễn dữ liệu thời gian

Hình 29 Hỗ trợ thời gian cho thực thể TTBN và ĐỐI TƯỢNG

Hình 30 Hỗ trợ thời gian cho thuộc tính Hướng Điều Trị

Hình 31 Các thuộc tính trong thực thể TT TD CN SỐNG

Gán nhãn thời gian trên mô hình ER ở Hình 4 để được mô hình TimeER

Hình 32 Mô hình TimeER cho mô hình ER của quản lý hồ sơ bệnh án

3.3.2 Chuyển đổi mô hình TimeER sang mô hình R a) Chuyển đổi quan hệ TTBN-ĐỐI TƯỢNG

Hình 33 Mô hình R (TTBN-ĐỐI TƯỢNG)

Thực thể ĐỐI TƯỢNG được hỗ trợ loại thời gian TranTime, nên sinh ra quan hệ mới với TG ĐỐI TƯỢNG gồm các thuộc tính: TTs(thời gian bắt đầu) và TTe(thời gian kết thúc) và MaĐT là khoá ngoại

Hình 34 Chuyển đổi thực thể ĐỐI TƯỢNG

Thực thể BỆNH NHÂN được hỗ trợ loại thời gian LifeSpan, nên sinh ra quan hệ mới với TG BN gồm các thuộc tính: LSs(thời gian bắt đầu) và LSe(thời gian kết thúc) và MSBN là khoá ngoại

Hình 35 Chuyển đổi thực thể BỆNH NHÂN

Hình 36 Mô hình Rtime (TTBN- ĐỐI TƯỢNG) b) Chuyển đổi quan hệ TTBN – HSBA

Hình 37 Mô hình R (TTBN - HSBA) c) Chuyển đổi quan hệ HSBA – TT KHÁM BỆNH

Hình 38 Mô hình R (HSBA – TT KHÁM BỆNH) d) Chuyển đổi quan hệ HSBA – TT TD CN SỐNG

Hình 39 Mô hình R (HSBA- TT TD CN SỐNG)

Mối quan hệ này có thuộc tính, nên phát sinh quan hệ mới

Hình 40 Mô hình R (HSBA – TT TD CN SỐNG) phát sinh quan hệ mới

Thực thể TT TD CN SỐNG được hỗ trợ loại thời gian LifeSpan, nên sinh ra quan hệ mới với TG TD gồm các thuộc tính:

LSs (thời gian bắt đầu) và LSe (thời gian kết thúc) và MaTD là khoá ngoại

Hình 41 Chuyển đổi thực thể TT TD CN SỐNG

Chuyển đổi thuộc tính Nhiệt độ được hỗ trợ loại thời gian ValidTime của thực thể TT TD CN SỐNG, sinh ra quan hệ mới với thực thể TG NHIỆT ĐỘ, có tập thuộc tính Nhiệt độ, VTs (thời gian bắt đầu),VTe (thời gian kết thúc) và khoá ngoại MaTD Khoá chính của TG NHIỆT ĐỘ là MaTD và VTs

Tương tự các thuộc tính Huyết áp, Cân nặng, Nhịp thở, Y tá ĐD cũng chuyển đổi như vậy

Hình 42 Chuyển đổi thuộc tính có hỗ trợ thời gian của TT TD CN SỐNG

Hình 43 Mô hình Rtime (HSBA – TT TD CN SỐNG) e) Chuyển đổi quan hệ HSBA – TT CĐOÁN

Hình 44 Mô hình R (HSBA – TT CĐOÁN)

Thuộc tính Hướng điều trị có hỗ trợ thời gian

Hình 45 Mô hình Rtime (Hướng điều trị) f) Chuyển đổi quan hệ HSBA – TT TỬ VONG

Hình 46 Mô hình R (HSBA – TT TỬ VONG) g) Chuyển đổi quan hệ HSBA – KHOA

Hình 47 Mô hình R (HSBA - KHOA) h) Chuyển đổi quan hệ HSBA – TT RA VIỆN

Hình 48 Mô hình R (HSBA – TT RA VIỆN) i) Chuyển đổi quan hệ HSBA – TT VÀO VIỆN

Hình 49 Mô hình R (HSBA – TT VÀO VIỆN) j) Chuyển đổi quan hệ KHOA – TT PHÒNG

Hình 50 Mô hình R (KHOA – TT PHÒNG) k) Chuyển đổi quan hệ KHOA – BÁC SĨ

Hình 51 Mô hình R (KHOA – BÁC SĨ) l) Chuyển đổi quan hệ KHOA – Y TÁ

Hình 52 Mô hình R (KHOA – Y TÁ) m) Chuyển đổi quan hệ KHOA - PHIẾU CHỈ ĐỊNH

Hình 53 Mô hình R (KHOA - PHIẾU CHỈ ĐỊNH)

Quan hệ (1-n) có thuộc tính, phát sinh quan hệ mới

Hình 54 Mô hình R (KHOA - PHIẾU CHỈ ĐỊNH) phát sinh quan hệ mới n) Chuyển đổi quan hệ PHIẾU CHỈ ĐỊNH – KQXN

Hình 55 Mô hình R (PHIẾU CHỈ ĐỊNH - KQXN) o) Chuyển đổi quan hệ KQXN – TTBN

Hình 56 Mô hình R (KQXN - TTBN)

40 Hình 57 Mô hình R hoàn chỉnh

CHƯƠNG TRÌNH THỬ NGHIỆM

Các thành phần của chương trình

Chương trình mang tính thử nghiệm nên chỉ gồm các phần chính như sau:

 Phần thứ nhất, giao diện chính của chương trình

Hình 58 Giao diện chính của chương trình

 Phần thứ hai, quản lý bệnh nhân (thêm các thông tin cần thiết về bệnh nhân)

Hình 59 Giao diện thêm thông tin bệnh nhân của chương trình

 Phần thứ ba, quản lý hồ sơ bệnh án bao gồm tạo lập hồ sơ, thông tin vào viện, thông tin khám bệnh, thông tin trong quá trình điều trị, thông tin ra viện

Hình 60 Giao diện tạo lập hồ sơ

Hình 61 Giao diện thêm thông tin vào viện

43 Hình 62 Giao diện thêm thông tin khám bệnh

Hình 63 Giao diện thêm thông tin theo dõi chức năng sống

Hình 64 Giao diện thêm thông tin ra viện

Các chức năng liên quan đến xử lý CSDL thời gian

 Chức năng thêm thông tin bệnh nhân như Hình 58, khi thông tin bệnh nhân được thêm vào cơ sở dữ liệu, đồng nghĩa với việc thời gian sống (LifeSpan) của bệnh nhân đó sẽ bắt đầu và được hiển thị ra màn hình

 Chức năng thêm thông tin theo dõi như Hình 62, khi thêm mới thông tin đầu tiên cho bệnh nhân, khi đó thời gian hợp lệ (ValidTime) của những thông tin đó sẽ được bắt đầu và hiển thị ra bên ngoài màn hình với cột ValidTime start Khi thông tin được thêm từ lần thứ 2 trở đi đối với một bệnh nhân, ngoài việc bắt đầu thời gian hợp lệ(ValidTime) cho các thông tin kia với MaTD = n thì thời gian hợp lệ cho các thông tin có MaTD = n – 1 sẽ kết thúc và sẽ hiển thị ra màn hình

 Chức năng thêm thông tin ra viện như Hình 63, có 3 trường hợp bệnh nhân ra viện: khỏi bệnh ra viện, chuyển viện hoặc tử vong Khi bệnh nhân ra viện hoặc chuyển viện thì thời gian sống của bệnh nhân vẫn hoạt động bình thường, tuy nhiên với trường hợp bệnh nhân tử vong, thì thời gian sống của bệnh nhân trong hệ thống sẽ kết thúc và hiển thị ra ngoài màn hình

Ngày đăng: 07/03/2024, 12:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w