Hệ thống quản lý bệnh nhân là một hệ thống giúp cho chúng ta quản lý bệnh nhân đã và đang điều trị tại bệnh viện, cũng như trong quá trình khám chữa bệnh của bệnh nhân tại bệnh viện
Trang 1LỜI NÓI ĐẦU
Ngày này cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì côngnghệ thông tin là một trong những lĩnh vực có nhiều đóng góp thiết thực nhất,công nghệ thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống đặc biệtcông nghệ thông tin là một công cụ hỗ trợ rất đắc lực trong công tác quản lý.Chúng ta dễ dàng thấy được việc đưa tin học vào trong quản lý kinh doanh làmột trong những ứng dụng quan trọng trong rất nhiều ứng dụng cơ sở dữ liệu.Nhờ vào công tác tin học hóa mà công việc quản lý và điều hành doanh nghiệp
tỏ ra rất nhanh chóng và hiệu quả Chính vì lẽ đó mà cơ sở dữ liệu như là mộtgiải pháp hữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển mộtcách nhanh chóng
Bệnh viện đa khoa tỉnh Khánh Hòa là một trong những trung tâm khám chữabệnh lớn nhất tỉnh Khánh Hòa Do đó nhu cầu ứng dụng cơ sở dữ liệu trongviệc quản lý bệnh nhân là hết sức thiết thực Vì vậy em chọn đề tài phân tích vàthiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện đa khoa tỉnh KhánhHòa làm đề tài thực tập tốt nghiệp
Hệ thống được phân tích và thiết kế theo phương pháp có cấu trúc và đượccài đặt trên môi trường Visual Basic 6.0 và được thiết kế dữ liệu dựa trên ngônngữ SQL Server 2000, các chương tiếp theo sẽ nói rõ hơn về vấn đề này
Mặc dù có nhiều cố gắng nhưng vốn kiến thức chưa sâu nên không thể tránhkhỏi những thiếu sót Rất mong được sự góp ý của quý thầy cô,anh chị cùngcác bạn để báo cáo được hoàn thiện hơn
Tôi xin chân thành cảm ơn phòng Kế Hoạch Tổng Hợp bệnh viện đa khoatỉnh Khánh Hòa, quý thầy cô và các bạn đã tận tình giúp đỡ tôi hoàn thành báocáo này đặc biệt là cô Nguyễn Kim Anh người trực tiếp hướng dẫn em trongsuốt thời gian thực tập vừa qua
Sinh viên thực hiện:
Bùi Văn Mừng
Trang 2CHƯƠNG I: GIỚI THIỆU NỘI DUNG ĐỀ
TÀI
I GIỚI THIỆU HỆ THỐNG
1 Nhiệm vụ của hệ thống quản lý bệnh viện
Hệ thống quản lý bệnh nhân là một hệ thống giúp cho chúng ta quản lý bệnhnhân đã và đang điều trị tại bệnh viện, cũng như trong quá trình khám chữabệnh của bệnh nhân tại bệnh viện Quản lý việc thanh toán tạm ứng của bệnhnhân với bệnh viện cũng như của bệnh viện với bảo hiểm y tế, quản lý lượngbệnh nhân đến điều trị tại bệnh viện trong những khoảng thời gian xác định.Đồng thời chúng ta đi thống kê số lượng Bệnh nhân mắc phải một số căn bệnhnào đó trong một thời gian trong năm để đưa ra phương pháp điều trị và đềphòng Đồng thời chúng ta còn thống kê được một số căn bệnh mà Bộ Y Tế
và nhà nước quan tâm
2 Tổ chức của bệnh viện đa khoa tỉnh Khánh Hòa
a Quản lý một số thông tin về nhân viên làm việc tại bệnh viện
- Quản lý họ tên của nhân viên (chủ yếu là Y, Bác sĩ)
- Quản lý địa chỉ của nhân viên
- Quản lý số điện thoại của nhân viên (nếu có)
- Và quản lý một số thông tin khác của nhân viên để phục vụ cho việcquản lý bệnh nhân cũng như quá trình khám chữa bệnh của bệnh nhântrong bệnh viện được dễ dàng hơn như: khoa, chuyên môn, chức vụ
b Quản lý dữ liệu về bệnh nhân điều trị tại bệnh viện
Khi một bệnh nhân đến bệnh viện để khám chữa bệnh ta cần lưu trữnhững thông tin sau:
- Quản lý họ tên bệnh nhân (họ và tên bệnh nhân quản lý riêng)
- Quản lý địa chỉ bệnh nhân(quản lý địa chỉ tới mức xã)
- Quản lý bảo hiểm y tế của bệnh nhân (nếu bệnh nhân có thẻ bảohiểm y tế thì quản lý số thẻ bảo hiểm y tế và nếu bệnh nhân đó đang làmviệc tại một cơ quan nào đó thì Quản lý thêm cơ quan mà bệnh nhân đóđang làm việc)
- Trong quá trình khám chữa bệnh tại bệnh viện bệnh nhân có yêu cầudùng thêm một số dịch vụ, chúng ta quản lý thêm trong quá trình đóbệnh nhân đã dùng những dịch vụ nào
- Quản lý hồ sơ chứng từ về các khoản tiền mà bệnh nhân phải đóngcho bệnh viện cũng như đã đóng cho bệnh viện (Tạm ứng)
c Quản lý quá trình khám chữa bệnh của bệnh nhân tại bệnh viện
- Bệnh nhân đến nơi tiếp nhận bệnh nhân (phòng cấp số) để đăng kýkhám chữa bệnh và được chỉ định một vị trí khám bệnh
- Bệnh nhân được bác sĩ khám bệnh
Trang 3- Sau khi khám bệnh, bệnh nhân thuộc một trong hai loại: Điều trị tạinhà hoặc điều trị tại bệnh viện.
+ Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một đơn thuốc trong
đó ghi đầy đủ tên thuốc, số lượng và cách dùng cũng như căn bệnh màbác sĩ dự đoán
+ Nếu bệnh nhân phải nhập viện thì bác sĩ cho một giấy nhập viện,trên đó ghi đầy đủ thông tin về bệnh nhân và căn bệnh dự đoán sau đóbệnh nhân được đưa đến khoa điều trị
- Tại khoa điều trị bệnh nhân được bác sĩ khám lại và cho một đơnthuốc trên đơn thuốc có ghi đầy đủ tên thuốc số lượng và cách dùng.Theo định kỳ bác sĩ sẽ khám bệnh lại cho bệnh nhân (tùy theo từng loạibệnh nhân) Trong quá trình điều trị tại bệnh viện bác sĩ sẽ lập một bệnh
án của bệnh nhân trong đó ghi đầy đủ thông tin về bệnh nhân, căn bệnh
mà bệnh nhân mắc phải cũng như diễn biến quá trình điều trị tại bệnhviện
- Trong quá trình điều trị bệnh nhân có thể yêu cầu dùng thêm một
số dịch vụ như: X_quang, Siêu âm việc sử dụng này cũng theo sự chỉđịnh của bác sĩ, mỗi loại dịch vụ có một giá riêng
- Trong quá trình điều trị tại bệnh viện cứ ba ngày bệnh viện yêu cầubệnh nhân đóng tạm ứng viện phí một lần Nếu bệnh nhân có thẻ bảohiểm y tế thì bệnh nhân chỉ phải đóng phần trăm viện phí theo quy địnhcủa bảo hiểm y tế Trong quá trình điều trị nếu bệnh nhân không thanhtoán viện phí mà tự ý xuất viện thì bệnh viện sẽ lưu lại toàn bộ thông tin
3 Những yêu cầu cần giải quyết
- Bệnh nhân có những yêu cầu sau:
+ Tổng chi phí trong thời gian điều trị tại bệnh viện
+ Tổng số tiền đã đóng
+ Tổng số tiền mà bệnh nhân phải đóng
+ Cần biết chi tiết các khoản phải đóng
- Các bác sĩ cần biết những thông tin sau:
+ Cần biết rõ diễn biến bệnh của bệnh nhân mà mình đang điều trị
+ Cần tìm kiếm một số trường hợp tương tự để tìm lấy một số giải phápchữa trị hữu hiệu nhất
+ Cần thống kê bệnh nhân theo từng mùa hoặc theo từng bệnh để đưa ra một
số phương án hoạt động dự phòng một số bệnh theo từng mùa hoặc theotừng khu vực
- Người nhà bệnh nhân cần biết
Trang 4+ Biết được diễn biến chính xác bệnh của người nhà mình (có một số trườnghợp bác sĩ không thể nói trực tiếp với bệnh nhân được nên phải nói vớingười nhà bệnh nhân)
+ Có thể biết quá trình điều trị của người nhà mình cũng như biết rõ đượcngười nhà mình đang được điều trị như thế nào
- Đối với nhân viên tài chính của bệnh viện
+ Tổng số tiền tạm ứng mà bệnh nhân đã đóng và chưa đóng (còn lại là baonhiêu)
+ Tổng số bệnh nhân điều trị trong tháng có bảo hiểm y tế, và tổng chi phícủa những bệnh nhân này để thanh toán với bảo hiểm y tế
4 Hướng phát triển của hệ thống quản lý bệnh nhân hiện nay.
Ngày nay với sự ra đời và phát triển nhanh chóng của máy tính đã làm thayđổi phong cách làm việc của hầu hết các cơ quan tư nhân cũng như nhà nước.Trước kia mọi thủ tục cũng như việc lưu trữ đều dựa trên giấy tờ do đó rất khókhăn trong việc tìm kiếm một hồ sơ về một người, cũng như tìm kiếm một vấn
đề nào đó trong rất nhiều hồ sơ lưu trữ, chưa kể đến việc thống kê theo một tiêuchí nào đó Ngày nay với sự trợ giúp của máy tính chúng ta có thể thực hiệncác công việc đó một cách dễ dàng, nhanh chóng và chính xác Với hệ thốngquản Lý bệnh nhân chúng ta có thể thực hiện việc tìm kiếm một bệnh nhân,cũng như việc thống kê bệnh nhân theo những tiêu chí mà ban lãnh đạo bệnhviện đưa ra một cách nhanh chóng và hiệu quả
II HƯỚNG THỰC THI ĐỀ TÀI
- Đối tượng sử dụng: Đối tương sử dụng hệ thống chủ yếu la nhân viên trongbệnh viện (chủ yếu là những người dùng chuyên nghiệp, có những hiểu biếtnhất định về chuyên môn cũng như tin học) nên việc thiết kế một hệ thống
sử dụng chuyên nghiệp là việc cần thiết
- Vấn đề phân tích bài toán: Trong đề tài này em phân tích theo phương pháp
có cấu trúc, vì các lẽ như sau:
+ Phương pháp có cấu trúc, trải qua thời gian đã chứng tỏ được tính kinhđiển của nó
+ Phương pháp có cấu trúc là phương pháp dung dị, không cầu kỳ như một
số phương pháp khác, dễ áp dụng, nhưng lại rất hữu hiệu Ngày nay nó chưalạc hậu mà vẫn còn phát huy tác dụng
- Vấn đề lựa chọn ngôn ngữ cũng là một vấn đề hết sức quan trọng Hiện nay
có rất nhiều hệ quản trị cơ sở dữ liệu như Oracle, Access, Fospro, SQLServer, Song để phù hợp với cách quản lý tại bệnh viện hiện nay và đểcho hệ thống phát triển sau này (có thể đưa lên mạng Internet cũng nhưmạng liên bệnh viện ) Em đã lựa chọn ngôn ngữ SQL Server 2000 làmngôn ngữ thiết kế dữ liệu và ngôn ngữ Visual Basic 6.0 làm ngôn ngữ thiết
kế giao diện Đặc điểm về hai ngôn ngữ này sẽ được trình bày kỹ ở chươnggiới thiệu ngôn ngữ (các chương tiếp theo) Tuy nhiên trong đề tài này emcài đặt hệ thông trên máy đơn
Trang 5CHƯƠNG II GIỚI THIỆU NGÔN NGỮ CÀI
ĐẶT HỆ THỐNG
I GIỚI THIỆU CHUNG VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ SQL SERVER 2000
I.1 Hệ quản trị cơ sở dữ liệu là gì?
Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác
vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ
SQL Server là một hệ thống quản Lý cơ sở dữ liệu quan hệ (RDBMS) haycòn được gọi là Relation Database Management System Cơ sở dữ liệu quan hệ
là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng Các bảngđược tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột vàcác hàng thông tin Sau đó các bảng này lại liên hệ với nhau bởi DatabaseEngine khi có yêu cầu RDBMS là một trong những mô hình cơ sở dữ liệuthông dụng nhất hiện nay
I.2 Giới thiệu chung về SQL Server 2000
SQL (Structured Query Language) là ngôn ngữ dùng để truy vấn cơ sở dữliệu, hay nói cách khác đây là ngôn ngữ truy vấn cho phép lấy thông tin về từcác bảng dữ liệu
SQL Server 2000 tối ưu hơn nhiều so với cơ sở dữ liệu quan hệ Chúng pháttriển để sử dụng trên nhiều ấn bản như: CE, Personal, Desktop Engine, StandardDeveloper, Enterprise
SQL Server 2000 hỗ trợ kiểm tra khóa chính, phụ thuộc tồn tại, miền giá trị,
… của dữ liệu bên trong các bảng một cách chặt chẽ
SQL Server 2000 hỗ trợ khá mạnh cho cơ sở dữ liệu đa truy cập, cơ sở dữliệu mạng,
Những thành phần chính trong SQL Server 2000
SQL Server
2000 Đây là phần chính của hệ thống, là trung tâmđiều hành những phần thực thi khác Với
Desktop Engine bạn sẽ thấy các dịch vụ trong
hệ thống như: SQL Server Profiler, và một
số công cụ khác
DesktopEnginePersonalStandardDeveloperEnterpriseFull – Text
Sarch
Đây là phần tự chọn trong lúc cài đặt, nếubạn muốn chức năng tìm kiếm thì nên chọn
Personal(Except
Trang 6hệ thống này vì chúng không là phần mặcnhiên.
Full – Text Sarck cung cấp chức năng tìmkiếm (Word) rất mạnh, nếu sử dụng Iternet đểtìm kiếm thì đây là một giải pháp tuyệt vời
Nếu bạn muốn tìm kiếm một chuỗi con trongmột văn bản lớn thì đây là công cụ thích hợpcho công việc đó
Win95)StandardDeveloperEnterprise
English Query English Query cho phép người sử dụng không
có kỹ thuật về SQL cũng có thể sử dụng SQLServer, bằng cách đặt câu hỏi chuỗi Englishsau đó được dịch ra Query mà có thể thực thitrên SQL Server
PersonalStandardDeveloperEnterprise
Analusis
Services Phần này không bao gồm mặc định trongphần cài đặt, chúng là dạng sản phẩm tự
chọn, là công cụ phân tích OLAP (OnlineAnalysis Processing), sử dụng cho cơ sở dữliệu lớn
PersonalStandardDeveloperEnterprise
Replication Chức năng này cho phép tái tạo một bản sao
đến SQL Server khác, thông thường dùngchức năng này cho các hệ thống Server từ xahay trong Network, nhằm để làm giảm traođổi dữ liệu giữa các SQL Server với nhau
DesktopEnginePersonalStandardDeveloperEnterpriseData
Transformation
Servise
Data Transformation Servise (DTS) được mởrộng trong phiên bản SQL Server 2000, baogồm những chức năng trao đổi dữ liệu giữacác cơ sở dữ liệu, và giao tiếp dữ liệu giữacác cơ sở dữ liệu khác nhau, đây là nhữnggiải pháp lập trình trên Visual Basic
DesktopEnginePersonalStandardDeveloperEnterprise
1 Các thành phần của SQL Server 2000
RDBMS cũng như SQL Server chứa đựng nhiều đối tượng bao gồm:
- Database: cơ sở dữ liệu SQL Server
- Tập tin log: Tập tin lưu trữ những chuyển tát của SQL
- Tables: Bảng dữ liệu
- Filegroups: Tập tin nhóm
- Diagrams: Sơ đồ quan hệ
- Views: Khung nhìn (hay bảng ảo) số liệu dựa trên bảng
- Stored Procedure: Các thủ tục lưu trữ và hàm nội
- Users defined: Hàm do người dùng định nghĩa
- Users: Người sử dụng cơ sở dữ liệu
- Rules: Những quy tắc
Trang 7- Defaults: Các giá trị mặc nhiên.
- User - defined data type: Kiểu dữ liệu do người dùng định nghĩa
- Full - text catalogs: Tập phân loại dữ liệu text
2 Các đối tượng cơ sở dữ liệu
Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQLServer, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thành phầnchính của cơ sở dữ liệu
Bản thân SQL Server là một hệ quản trị cơ sở dữ liệu, chúng bao gồm cácđối tượng như database, table, view, procedure nêu trên cùng một số cơ sở dữliệu hỗ trợ khác
Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng, với mỗi Serverbạn chỉ có một hệ quản trị cơ sở dữ liệu Nếu muốn có nhiều hệ quản trị cơ sở
dữ liệu bạn cần có nhiều Server tương ứng
Truy cập cơ sở dữ liệu SQL Server dựa vào những tài khoản người dùngriêng biệt và ứng với quyền truy nhập nhất định Cài đặt cơ sở dữ liệu SQLServer bạn có 6 cơ sở dữ liệu mặc định sau:
- Master: Bất kỳ SQL Server nào đều có cơ sở dữ liệu Master (còn gọi là
master file), cơ sở dữ liệu này chứa đựng tất cả các bảng dữ liệu đặc biệt (bảng
hệ hệ thống), chúng kiểm soát tất cả hoạt động của hệ quản trị cơ sở dữ liệuSQL Server
Ví dụ: Khi người dùng cơ sở dữ liệu mới trong SQL Server, thêm hoặcxóa một Procedure thì tất cả thông tin này đều được lưu trữ trong cơ sở
dữ liệu Master của hệ thống
- Model: Cơ sở dữ liệu này chứa đựng tất cả Template dùng làm mẫu để tạo
cơ sở dữ liệu mới Khi bạn tạo một cơ sở dữ liệu thì SQL Server lấy tất cả cácmẫu (bao gồm bảng, view, ) từ cơ sở dữ liệu model này
Xuất phát từ tính chất cơ sở dữ liệu mẫu giúp SQL Server thựchiện việc tao mới cơ sở dữ liệu cho người dùng khi có yêu cầu, bạnkhông được xóa cơ sở dữ liệu này
Khi một cơ sở dữ liệu được tạo ra thì ít nhất cơ sở dữ liệu mớinày cũng bằng và giống như cơ sở dữ liệu model
- Msdb: Như đã nêu, chúng ta có hai cơ sở dữ liệu hệ thống master và model,
nếu xóa một trong hai cơ sở dữ liệu này thì hệ thống SQL Server sẽ bị lỗi,nhưng với cơ sở dữ liệu Msdb thì khác Msdb chính là SQL Agent lưu trữ tất cảcác tác vụ xảy ra trong SQL Server
- Tempdb: Là một trong những cơ sở dữ liệu chính trong SQL Server Cơ sở
dữ liệu này cho phép người dùng tạo những ứng dụng tham khảo hay thực tậptrước khi bạn bắt đầu với cơ sở dữ liệu thực Ngoài ra chúng còn giúp thực hiệnnhững thao tác về cơ sở dữ liệu mỗi khi SQL Server khởi động
- Pubs: Chứa hầu hết nội dung về hướng dẫn, trợ giúp và sách tham khảo về
SQL Server
- Northwind: Cũng giống như cơ sở dữ liệu Pubs, đây là cơ sở dữ liệu mẫu
cho người dùng tham khảo, hoặc cho các lập trình viên Visual Basic hay Asscesdùng truy cập dữ liệu SQL Server Cơ sở dữ liệu này được cài đặt như một phần
Trang 8của SQL Server, nếu cần dùng cấu trúc của hai cơ sở dữ liệu này bạn có thể sửdụng hai file kịch bản script mang tên inspub.sql và insnwnd.sql.
- Tập tin Log: Tập tin chứa đựng những hoạt động, hay tất cả những chuyển
tác của cơ sở dữ liệu theo thời gian Thông thường khi cần tìm hiểu sự cố xảy ravới cơ sở dữ liệu, người ta chỉ cần tham khảo tập tin log sẽ biết được nguyênnhân
3 Giới thiệu một số đối tượng cơ sở dữ liệu SQL Server
- Bảng - Table
Trong cơ sở dữ liệu, bảng (Table) là phần chính của chúng Do bảng là đối
tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác bảng là đốitượng căn bản nhất trong bất kỳ cơ sở dữ liệu nào, chúng được coi như mộtmiền dữ liệu
Mỗi bảng được định nghĩa nhiều trường, mỗi trường (Field còn gọi làColumn name) ứng với mỗi loại kiểu dữ liệu Dữ liệu nhập vào có thể chấpnhận hoặc từ chối tùy thuộc vào nguyên tắc ràng buộc dữ liệu hoặc loại dữ liệutương thích do hệ thống hay người dùng định nghĩa
Khi định nghĩa bảng cơ sở dữ liệu bạn cần quan tâm đến các yếu tố sau:+ Key: Trường đó là khóa hay không (Primary key)?
+ ID: Trường đó có thuộc tính Indentity hay không?
+ Column name: Tên của trường (cột )
+ Data type: Loại dữ liệu cho trường tương ứng
+ Size: Kích thước trường dữ liệu
+ Allow null: Cho phép giá trị rỗng lưu trong trường này hay không
+ Default: Giá trị mặc nhiên cho trường
+ Identity: Nếu ta sử dụng một trường có giá trị tự động nhưautonumber trong assces, trường này Not Null và Identity: Yes(No)+ Identity Seed: Nếu trường (cột) này là Identity, cần số bắt đầu là 1hoặc 2
+ Identity Increament: Số nhảy cho mỗi lần tăng
- Chỉ Mục - Indexs
Đối tượng chỉ mục (Indexs) chỉ tồn tại trong bảng hay khung nhìn (view).Chỉ mục có ảnh hưởng đến tốc độ truy nhập số liệu, nhất là khi cần tìm kiếmthông tin trên bảng Chỉ mục giúp tăng tốc cho việc tìm kiếm
+ Clustered: ứng với loại chỉ mục này có một bảng có thể có nhiều chỉ mục
và số liệu được sắp xếp theo trường dữ liệu mà bạn trỏ đến
- Bẫy lỗi - Triggers
Là đối tượng chỉ tồn tại trong bảng, cụ thể là một đoạn mã và tự độngthực hiện khi một hành động nào đó xảy ra đối với dữ liệu trong bảng nhưInsert, Update, Delete, Trigger có thể bẫy rất nhiều tình huống như copy dữliệu, xóa dữ liệu, cập nhật dữ liệu, kiểm tra dữ liệu theo một tiêu chuẩn nào đó
- Lược đồ quan hệ - Diagram
Trang 9Khi xây dựng cơ sở dữ liệu cho ứng dụng hay thương mại điện tử,thường đều phải dựa trên trình phân tích và thiết kế hệ thống Sau những bướcphân tích và thiết kế, chúng ta sẽ thiết lập quan hệ dữ liệu giữa các thực thểERD (Entity relationship diagram).
- Khung nhìn - View
View là khung nhìn (hay bảng ảo) của bảng Cũng giống như bảngnhưng view không thể chứa dữ liệu, bản thân view có thể tạo nên trường mớidựa vào những phép toán biểu thức của SQL Server
- Thủ tục lưu trữ - Stored Procedure
Stored Procedure còn gọi là Spocs, tiếp tục phát triển như một phần SQLtrên cơ sở dữ liệu Stored Procedure cho phép khai báo biến, nhận tham số cũngnhư thực thi các phát biểu có điều khiển Stored Procedure có các ưu điểm lớnnhư sau
+ Kế thừa tất cả các phát biểu của SQL, và là một đối tượng xử lý sốliệu hiệu quả nhất khi dùng SQL Server
+ Tiết kiệm thời gian thực thi trên dữ liệu
+ Có thể gọi Stored Procedure theo cách gọi thủ tục hay hàm trong ngônngữ lập trình truyền thống, đồng thời sử dụng lại khi yêu cầu
- Sử dụng kiểu dữ liệu Cursor (Cursor type)
Khi dùng cơ sở dữ liệu SQL Server, nếu có nhu cầu tính toán trên bảng
số liệu, chuyển tác thực hiện trên từng mẩu tin, ta nên nghĩ đến kiểu dữ liệuCursor
4 Kiểu dữ liệu - Data Type
Bất kỳ trường nào trong bảng (Table) của cơ sở dữ liệu đều phải có kiểu dữliệu Một số kiểu dữ liệu SQL Server cho phép định nghĩa chiều dài của kiểutrong khi một số kiểu khác thì không
Cũng như những ngôn ngữ lập trình khác SQL Server cung cấp đầy đủ kiểu
dữ liệu cần thiết, như: Kiểu số nguyên (Binary, Int, TinyInt, ), kiểu tiền tệ(Money, SmallMoney, ), kiểu chuỗi (Char, nchar, Varchar, Text, ) và nhiềukiểu dữ liệu khác
Ngoài ra SQL Server cong cho phép chuyển đổi qua lại giữa các kiểu dữ liệu,tuy nhiên điều này cũng có một số hạn chế đối với một số kiểu dữ liệu Ví dụ:kiểu binary không thể nhận sự chuyển đổi từ dữ liệu kiểu Float hay Real,
5 Một số phát biểu cơ bản của T-SQL
T-SQL còn gọi là Transact-SQL (SQL) bao gồm các phát biểu như SELECT,INSERT, UPDETE, DELETE
- Lệnh Select
SELECT <Danh sách các cột>
FROM <Danh sách bảng>
[WHERE <Các điều kiện ràng buộc>]
[GROUP BY <Tên cột hay biểu thức sử dụng cột trong SELECT>][HAVING <Điều kiện bắt buộc dựa trên GROUP BY>]
[ORDER BY <Danh sách cột>]
Trang 10Trong đó tất cả các phát biểu nằm trong cặp dấu ngoặc [] thì có thể có hoặc
INSERT INTO <Tên bảng> (danh sách cột)
VALUES (Danh sách giá trị)
DELETE FROM <Tên bảng>
WHERE <Điều kiện>
Ngoài ra trong SQL Server còn có những phát biểu cho phép kết nối nhiềubảng với nhau (JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN)
6 Khái niệm về đối tượng trong SQL và cách tạo đối tượng trong SQL Server 2000
a Tạo cơ sở dữ liệu (CREATE DATABASE)
Để tạo một cơ sở dữ liệu trong SQL Server ta dùng cú pháp như sau:
CREATE DATABASE <Database_Name>
[ON[PRIMARY](
[Name=<’Logical File name’>,]
File Name=<’FileName’>
[,SIZE=<Size in Megabyte or KiloByte]
[,MAXSIZE=<Size in Megabyte or Kilobyte]
FILEGROWTH=<NO of Kylobyte | Percentage]
)]
(LOG ON
[Name=<’ Logical File name’>,]
FileName=<’File Name’>
Trang 11[,SIZE=<Size in Megabyte or Kylobyte>]
[,MAXSIZE=<Size in Megabyte or Kilobyte>]
FILEGROWTH=<NO of Kylobyte | Percentage>]
)]
[COLLATE <Collation>]
[For Load | For Attach]
Trong đó:
- ON: Định nghĩa nơi chứa dữ liệu và không gian chứa tập tin log
- Name: Tên tập tin cơ sở dữ liệu trên đĩa cứng, lưu ý khi tạo cơ sở
dữ liệu ta đặt tập tin ở vị trí nào thì không thể di chuyển một cáchthủ công được
- SIZE: Cho biết dung lượng cơ sở dữ liệu khi tạo chúng Thông
thường là 1 MB
- MAXSIZE: Dung lượng lớn nhất, khi dung lương cơ sở dữ liệu
tăng đến mức Maxsize thì dừng lại
- FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa
trong quá trình thêm dữ liệu vào cơ sở dữ liệu
- Log ON: Cho phép quản lý chuyển tác xảy ra trong quá trình sử
dụng cơ sở dữ liệu của SQL Server Thông thường chúng chiếmkhoảng 25% dung lượng tập tin dữ liệu
Ngoài việc tạo cơ sở dữ liệu bằng mã lệnh trong SQL Server còn chophép tạo cơ sở dữ liệu bằng giao diện đồ họa Để tạo cơ sở dữ liệu ta dùng trìnhSQL Server Enterprise Manager Việc thực hiện bằng giao diện đồ họa có vẻđơn gian và hiệu quả hơn
b Tạo bảng (CREATE TABLE)
Tạo bảng trong cơ sở dữ liệu cũng giống như tạo các đối tượng kháctrong SQL Server Cú pháp đầy đủ để tạo bảng như sau:
CREATE TABLE [Database_name.[owner].table_name
(<column name><data type>
[[DEFAULT <constant expression>]
[[IDENTITY (seed, increament) [NOT FOR REPLICATION]]]]
- Tên cột (Column name): Tên cột cũng giống như tên bảng và tên
cơ sở dữ liệu không có khoảng trắng, không bắt đầu bằng chữ số và các
ký tự đặc biệt, tuy nhiên chúng ta nên đặt tên ngắn gọn dễ nhớ
Trang 12- Kiểu dữ liệu (Data type): Khi xây dựng cơ sở dữ liệu tất cả các
trường trong bảng cần phải có kiểu dữ liệu cụ thể Vấn đề là chọn dữ liệunào cho phù hợp với dữ liệu mà người dùng sẽ nhập vào
- Giá trị mặc nhiên (Default): Gán giá trị mặc nhiên cho những cột
không có giá trị
- IDENTITY: Đây là giá trị cực kỳ quan trọng trong SQL Server.
Khi chúng ta muốn một cột có giá trị tự động tăng
- NULL | NOT NULL: Là trạng thái của một cột có cho phép null
hay không
- Ràng buộc (Column constrain): Kiểm tra dữ liệu khi dữ liệu mới
được đưa vào cột hoặc dữ liệu bị thay đổi
- Ràng buộc bảng dữ liệu (TABLE CONSTRAINTS): Ràng buộc
bảng cũng giống như ràng buộc cột trong bảng, là kiểm tra dữ liệu nhậpvào bảng theo một quy luật đã định sẵn
Song cũng có thể tạo bảng bằng giao diện đồ họa như tạo cơ sở dữ liệu.Trong khi xây dựng bảng dữ liệu cần chú ý đến các trường khóa
c Tạo view
View là bảng ảo và cũng như với bảng view cũng có thể tạo được bằng mãlệnh cũng như giao diện đồ họa
View cho phép kết nối nhiều bảng với nhau để hiển thi thông tin
d Tạo thủ tục lưu trữ (Stored Procedure hay sp)
Stored Procedure là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQLServer Nếu biết SQL Server mà không biết Stored Procedure là một thiếu sótrất lớn Cú pháp để tạo một Stored Procedure như sau:
CREATE PROCEDURE | PRO<Procedure name>
[<Paramenters name><data type> [VARYING]
[=<default value>][OUT PUT],
[<Parameters><data type> [VARYING]
[=<default value>][OUT PUT][,
Trang 13Insert Into tblXa(
MaXa, TenXa,MaHuyen)
Values( @MaXa,@TenXa,@MaHuyen
GO
-Trên đây ta trình bày một Stored Procedure dùng để nhập một xã vàobảng tblXa
e Tạo hàm (Function)
Tương tự như Stored Procedure hàm cũng có thể tạo bằng giao diện đề họacũng như mã lệnh, song với hàm giá trị trả về là đa dạng hơn và giá trị trả vềnày có thể là một bảng
Ví dụ tạo hàm thống kê bệnh nhân theo tỉnh, hàm này trả về một bảng chứathông tin về các bệnh nhân trong tỉnh
CREATE FUNCTION udf_ThongKeBenhNhanTheoTinh
Trang 14From tblHuyen Where tblHuyen.MaTinh in thuoc tinh
( Select MaTinh
From tblTinh
Where tblTinh.TenTinh=@TenTinh)))
-II GIỚI THIỆU VỀ VISUAL BASIC 6.0 VÀ CƠ SỞ DỮ LIỆU
TRONG VISUAL BASIC 6.0.
II.1 Giới thiệu chung về Visua Basic
Visua Basic là một trong những ngôn ngữ lập trình bậc cao thông dụngnhất hiện nay, là một sản phẩm của Microsoft Nó cũng giống như hầu hết cácngôn ngữ lập trình bậc cao khác, trong Visua Basic chứa đầy đủ các câu lệnhcần thiết, các hàm xây dựng sẵn,…
Ngoài ra Visual Basic chứa một số phương tiện giúp cho việc áp dụng kỹthuật hướng đối tượng trong việc truy cập dữ liệu Trong Visual Basic có rấtnhiều phương pháp truy cũng như các đối tượng truy cập dữ liệu như: ADO,ADODB, DAO, nói chung các đối tượng này có những thuộc tính tương đốigiống nhau Trong luận văn này em chủ yếu đi sâu vào đối tượng ADO VìADO là một công cụ truy cập dữ liệu rất hữu hiệu và ADO cũng được cài đặttrong chương trình
II.2 ADO là gì ?
ADO (Activex Data Object hay đối tượng dữ liệu ActiveX) Ta có thể hìnhdung rằng ADO là một mô hình làm giảm kích thước của mô hình RDO (Đốitượng dữ liệu từ xa) Mô hình đối tượng dữ liệu ActiveX rất gọn Nó được thiết
kế để cho phép lập trình viên lấy được một tập các Record từ nguồn dữ liệu mộtcách nhanh nhất nếu có thể Tốc độ và tính đơn giản là một trong những mụctiêu cốt lõi của ADO, mô hình này được thiết kế để cho phép tạo ra một đốitượng Recordset mà không cần phải di chuyển qua các đối tượng trung giankhác trong quá trình lập trình Thực tế chỉ có ba đối tượng chính trong mô hình:
- Connection: Đại diện kết nối thực sự
- Command: Được sử dụng để thực thi các query dựa vào kết nối dữliệu
- Recordset: Đại diện cho một tập các Record được chọn query thôngqua đối tượng Command
Đối tượng Connection chứa một tập các đối tượng còn gọi là các đốitượng Errors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đếnkết nối Đối tượng Command có một tập các đối tượng con là Paramenters đểgiữ bất cứ tham số nào có thể thay thế cho query Recordset cũng có một tậpcác đối tượng con Properties để lưu các thông tin chi tiết về đối tượng
ConnectionCommandParameterRecorset
FieldsError
Sơ đồ mô hình ActiveX Data Object
Trang 15II.3 Các thuộc tính đặc biệt của đối tượng ADO
Mô hình ADO có một số thuộc tính mà các mô hình cơ sở dữ liệu khác nhưDAO và RDO không có Các thuộc tính này điều khiển cách thức tạo ra Dataset
và quyền hạn truy cập trong một kết nối dữ liệu, có bảy thuộc tính như sau:
- Connection String (Chuỗi kết nối)
- Command Texxt (Văn bản câu lệnh)
- Command Type (Kiểu câu lệnh)
- Cursor Location (Định vị con trỏ)
- Cursor Type (Kiểu con trỏ)
- Look Type (Kiểu khóa)
- Mode Type (Kiểu chế độ làm việc)
Ví dụ: Để tạo kết nối đến cơ sở dữ liệu SQL Server với tên cơ sở dữ liệudbBenhNhan ta có mã lệnh như sau:
Public Sub OpenConnection()
' Tạo kết nối đến nguồn dữ liệu
Set cn = New ADODB.Connection
Trang 16CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ
HỆ THỐNG
I PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
I.1 Biểu đồ phân cấp chức năng
1 Biểu đồ phân cấp chức năng là gì ?
Là một loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thểđến chi tiết Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữacác chức năng, diễn tả bởi các cung nối liền các nút, là quan hệ bao hàm nhưvậy biểu đồ phân cấp chức năng tạo thành một cấu trúc cây
Sau khi tìm hiểu và phân tích hệ thông quản Lý bệnh nhân tại bệnh viện tỉnhKhánh Hòa em đã đưa ra được biểu đồ phân cấp chức năng như sau:
2 Đặc điểm của biểu đồ phân cấp chức năng:
- Cho một cách nhìn khái quát, dễ hiểu, từ đại thể đến chi tiết về cácchức năng, nhiệm vụ cần thực hiện (thường ở mức diễn tả logic)
- Rất dễ thành lập, bằng cách phân rã dần các chức năng từ trên xuống
Thu viên phí3
Thu tạm ứng BN3.1
Thanh toán với BHYT3.2
Cấp
thuốc
2.1
Tiếp nhận BN2.2
Cung cấp DV2.3
Lập bệnh án2.4
Trang 17- Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà khôngcho thấy trình tự xử lý.
- Thiếu vắng sự trao đổi thông tin giữa các chức năng
Vì những lý do trên nên biểu đồ phân cấp chức năng thường được sửdụng làm mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thốngđơn giản Nếu hệ thống phức tạp thì biểu đồ phân cấp chức năng là quá sơ lược
và còn thiếu sót nêu trên nên không thể châm trước được Khi đó chúng tathường dùng biểu đồ luồng dữ liệu
I.2 Biểu đồ luồng dữ liệu
1 Biểu đồ luồng dữ liệu là gì ?
Biểu đồ luồng dữ liệu là một loại biểu đồ nhằm mục đích diễn tả một quátrình xử lý thông tin với các yêu cầu sau:
- Sự diễn tả ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì”, mà
bỏ qua câu hỏi “làm như thế nào ?”
- Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lýcần mô tả
- Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó, và qua
đó phần nào thấy được trình tự thực hiện của chúng
2 Kỹ thuật phân mức
Kỹ thuật này còn được gọi là “Phân tích từ trên xuống” (top-down analysis)tiến hành phân tích chức năng của hệ thống bằng cách đi dần từ một mô tả đạithể đến những mô tả chi tiết thông qua nhiều mức Sự chuyển dịch từ một mứctới mức tiếp theo thực chất là phân ra một chức năng thành một số chức năngcon ở mức dưới
Với biểu đồ luồng dữ liệu thì quá trình phân tích trên xuống lại là quá trìnhthành lập dần dần các biểu đồ luồng dữ liệu diễn tả các chức năng của hệ thốngtheo từng mức Mỗi mức là một tập hợp các biểu đồ luồng dữ liệu
Mức 0, hay mức bối cảnh chỉ gồm biểu đồ luồng dữ liệu, trong đó chỉ có mộtchức năng duy nhất, trao đổi các luồng thông tin với các đối tác
Mức 1, còn gọi là mức đỉnh, cũng chỉ dùng một biểu đồ luồng dữ liệu, vàmức 2, 3, , mỗi mức gồm nhiều hơn 1 biểu đồ luồng dữ liệu được thành lậpnhư sau:
- Cứ mỗi chức năng ở mức trên, ta thành lập một biểu đồ luồng dữ liệu, ởmức dưới, gọi là biểu đồ luồng dữ liệu định nghĩa chức năng đó theo cách sau:+ Phân rã chức năng đó thành nhiều chức năng con
+ Vẽ lại luồng dữ liệu vào và ra chức năng trên, nhưng nay phải vào hay
Trang 18Biểu đồ luồng dữ liệu mức bối cảnh: Trong biểu đồ luồng dữ liệu mức bối cảnhchỉ có một chức năng 0 (chức năng quản lý bệnh nhân), các tác nhân của hệthống gồm: Bệnh nhân, khoa điều trị và phòng tài chính.
bệnh nhân
Quản lí bệnh nhân0
Yêu cầu KBKết quả
Chi phí khám chữa bệnh
Biểu đồ luồng dữ liệu mức bối cảnh
Phòng tài chínhKhoa điều trị
Chi phí của BN
Danh sách
BN điều trịBệnh
án
Kết quả
Danh sách
BN nhập viện
Trang 19Biểu đồ luồng dữ liệu mức đỉnh:
Chức năng quản lý bệnh nhân được phân ra thành các chức năng cấp số,khám bệnh, thanh toán viện phí Ngoài ra ở đây trong biểu đồ còn xuất hiệnthêm các tác nhân như khoa điều trị, phòng tài chính và toàn bộ kết quả khámbệnh của bệnh nhân được lưu vào một tệp có tên là hồ sơ bệnh nhân tất cảnhững thông tin về bệnh nhân được lưu trữ tại đây Thông qua tệp này phòng tàichính sẽ gửi giấy thanh toán viện phí đến cho bệnh nhân và bảo hiểm y tế
số1Yêu cầu KB
Vị trí KB
Khám bệnh2
Y/C KB tại
vị trí
bệnh nhânKết quả
Phòng Tài Chính
Thanh toán V/P3
Xác nhận TT
Đóng tạm ứng
Danh sách
BN điều trịKhoa Điều Trị
Kết
quả
Kết quả
Hồ sơ bệnh nhân
Danh sách
BN đã đóng T.Ư
Biểu đồ luồng dữ liệu mức đỉnh
Danh
sách BN
nhập viện
Bệnh án
Trang 20Biểu đồ luồng dữ liệu biểu diễn chức năng khám bệnh:
Lúc này chức năng khám bệnh được phân rã thành bốn chức năng: Cấpthuốc, cung cấp dịch vụ, tiếp nhận bệnh nhân nhập viện, lập bệnh án lú nàybệnh nhân đã có được kết quả khám bệnh Trong biểu đồ trên hầu hết các chứcnăng được thực hiện một cách thủ công và được lưu lại trong tệp Hồ Sơ bệnhnhân như vậy khi bệnh nhân mua thuốc thì tại phòng cấp thuốc sẽ lưu lại đơnthuốc của bệnh nhân đã mua và tương tự như vậy khi bệnh nhân dùng dịch vụcũng được lưu lại thông tin đó để phục vụ việc lưu trữ và thanh toán tạm ứngsau này Song khi bệnh nhân phải nhập viện thì tại khoa điều trị sẽ lập bệnh áncho bệnh nhân đó và cũng được lưu lại trong bệnh án ghi đầy đủ thông tin vềbệnh nhân quá trình điều trị tại bệnh viện
Hồ sơ Bênh Nhân
Bệnh nhân
Cấp thuốc2.1
Đơn thuốc
Thuốc cấp
Khoa điểu trị
Cung cấp dịch vụ2.3
Yêu cầuDịc vụ dùng
Tiếp nhận
BN N/V2.2
Trang 21Đối với biểu đồ luồng dữ liệu phân cấp chức năng thanh toán viện phí:Tương tự chức năng khám bệnh với chức năng thanh toán tạm ứng viện phí củabệnh nhân được phân ra thành hai chức năng là: thu tạm ứng, và thanh toán vớibảo hiểm y tế Theo quy định của bệnh viện cứ ba ngày bệnh viện lại yêu cầubệnh nhân thanh toán tạm ứng viện phí một lần và theo chu kỳ mỗi tháng bệnhviện lại in danh sách bệnh nhân có bảo hiểm y tế đã điều trị tại bệnh viện trongtháng để thanh toán với bảo hiểm y tế Đối với bệnh nhân có bảo hiểm y tế cũngphải đóng một phần viện phí theo quy định phần trăm trên bảo hiểm y tế Cả haichức năng này đều được thực hiện một cách tự động
II PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU
II.1 Mô hình thực thể/liên kết
1 Khái niêm mô hình thực thể/liên kết
ứng 3.1Thanh toán viện phí
Phiếu thanh toán
Hồ sơ Bênh Nhân
Phòng tài chính
Thanh toán với BHYT3.2
Danh sách BN điều trị có BHYT
Danh sách bệnh nhân điều trị
Trang 22Mô hình thực thể/ liên kết (Entity/Association Model) là mô hình dữ liệu doP.P Chen đưa ra năm 1976 và sau đó được dùng khá phổ biến trên thế giới Nó
có đặc điểm khá đơn giản và gần với tư duy khách quan Khi xem xét các thôngtin, người ta thường gom cụm chúng xung quanh các vật thể
2 Các loại mô hình E/A
- Mô hình E/A kinh điển
Mô hình E/A kinh điển xuất phát từ ba khái niệm cơ bản: thực thể, liên kết và thuộc tính
+ Các thực thể: Là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông tin
+ Các thuộc tính: Thuộc tính (Property hay attribute) là một giá trị dùng
để mô tả khía cạnh nào đó của thực thể
+ Các liên Kết: Một liên kết (association) là một sự gom nhóm các thực thể trong đó mỗi thực thể có một vai trò nhất định
- Mô hình thực thể/ Liên kết mở rộng
Đối với những hệ thống phức tạp khi phân tích và thiết kế người ta thương dùng đến mô hình E/A mở rộng Do các điểm mở rộng này chịu ảnh hưởng từ
xu hướng hiện đại của mô hình hóa hướng đối tượng, cũng như các hệ quản trị
cơ sở dữ liệu hướng đối tượng Các đặc điểm của mô hình E/A mở rộng
+ Các kiểu thuộc tính đa trị: Cho phép nhận giá trị có thể là một tập các giá trị
+ Các kiểu thuộc tính phức hợp: Cho phép sử dụng các kiểu thuộc tính là tổ hợp
+ Các kiểu thực thể con: xuất hiện bởi yêu cầu chuyên biệt hóa và khái quát hóa khi cần phân cấp các sự vật
- Mô hình E/A hạn chế
Mô hình E/A hạn chế tuy bị hạn chế nhiều về các hình thức diễn tả (khó vận dụng), nhưng lại rất gần với mô hình quan hệ do đó lại dễ dàng chuyển sang cài đặt với hệ quản trị cơ sở dữ liệu quan hệ hơn Các đặc điểm của mô hình E/A hạn chế
+ Trong mô hình E/A hạn chế chỉ có kiểu liên kết 1-nhiều và được biểu diễnnhư sau:
+ Trong mô hình E/A hạn chế các kiểu liên kết 0/1-nhiều được coi là trườnghợp đặc biệt của 1-nhiều
Trong báo cáo này Em chi sử dụng mô hình E/A hạn chế Vì bất cứ mô hìnhE/A kinh điển hay E/A mở rộng nào cũng có thể biến đổi thành mô hình E/A
Trang 23hạn chế được, hơn nữa mô hình E/A hạn chế là mô hình gần với mô hình cơ sở
Chuyên môn
Mã CMTên CM
Nhân viên
Mã Nhân viên
Họ tên NVNgày sinh NVGiới tính NV
Số nhà NVĐiện thoại NV
Bệnh nhân
Mã bênh nhân
Họ bệnh nhânTên bệnh nhânNgày sinh BNGiới tính BN
Số tiềnNgày tạm ứng
Nơi điều trị
Mã nơi Đ.TTên nơi Đ.TĐơn giá
Thuốc
Mã thuốcTên thuốcĐơn giá
Dịch vụ
Mã dịch vụTên dịch vụĐơn giá
Trang 24II Mô hình quan hệ
1 Khái niệm
Mô hình quan hệ do Codd đề xuất năm 1970, với ưu điểm như sau:
+ Đơn giản: các dữ liệu được biểu diễn dưới một dạng duy nhất, là quan hệ,tức là các bảng giá trị, khá tự nhiên và dễ hiểu đối với người dùng khôngchuyên tin học
+ Chặt chẽ: các khái niệm được hình thức hóa cao, cho phép áp dụng cáccông cụ toán học, các thuật toán
+ Trừu tượng hóa cao: mô hình chỉ dừng ở mức quan niệm, nghĩa là độc lậpvới mức vật lý, với sự cài đặt, với các thiết bị Nhờ đó làm cho tính độc lập giữa
dữ liệu và chương trình cao
+ Cung cấp ngôn ngữ truy nhập dữ liệu ở mức cao, dễ sử dụng và trở thànhchuẩn
2 Các dạng chuẩn của lược đồ quan hệ
Một lược đồ quan hệ R là ở dạng chuẩn 1 (1NF) nếu các miền thuộc tính của
nó đều là các miền đơn (nghĩa là không cấu thành từ nhiều miền khác)
Một lược đồ quan hệ R là ở dạng chuẩn 2 (2NF) nếu nó là 1NF và các phụthuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm sơđẳng Nói cách khác, mọi thuộc tính ngoài khóa đều không phụ thuộc bộ phậnvào khóa
Một lược đồ quan hệ R là ở dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụthuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm trựctiếp Nói cách khác là không tồn tại phụ thuộc hàm giữa các thuộc tính ngoàikhóa
3 Các lược đồ quan hệ của hệ thống
Từ mô hình thực thể liên kết (mô hình E/A hạn chế ở trên) ta chuyển sangcác lược đồ quan hệ như sau:
TỈNH (Mã tỉnh, Tên tỉnh)
HUYỆN (Mã huyện, Tên huyện, Mã tỉnh)