Tài liệu tham khảo công nghệ thông tin Quản lý bệnh nhân và nhân viên tại bệnh viện đa khoa tỉnh Khánh Hoà
Trang 1PHẦN I
TỔNG QUAN VỀ NGÔN NGỮ CÀI
ĐẶT.
Trang 2CHƯƠNG I GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DƯ LIỆU
VÀ SQL SERVER 2000
I KHÁI NIỆM CƠ BẢN VỀ CÁC LOẠI CƠ SỞ DỮ LIỆU.
Một hệ quản trị cơ sở dữ liệu là 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ệ
SQLserver là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) haycòn được gọi là Relational Database Mannagement system Cơ sở dữ liệu quan
hệ la cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng Cácbả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 được liên kết vơi nhau bởi bộDatabase Engine khi có yêu cầu cơ sở dữ liệu quan hệ là một trong những môhình cơ sở dữ liệu thông dụng nhất hiện nay
II GIỚI THIỆU CHUNG VỀ SQL SERVER 2000
SQL (Structured Query Language ) là ngôn ngữ dùng để truy vấn chophé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úngphát triển để sử dụng trên nhiều ấn bản như CE, Personal, Déktop Engine,standand…
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 phá mạnh cho cơ sở dữ liệu đa truy cập.tức cơ sở dữ liệu mạng
Những thành phần chính trong SQL Server 2000 bao gồm:
Desktop Enginepersonal
standardDesktopEnterprise
Trang 3sarch Đâ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
hệ thống này vì chúng không là phần mặcnhiên Full-text Sarch cung cấp chức năngtìm kiếm từ rất mạnh, nếu sử dụng internet
để tìm kiếm thì đây là một giải pháp tuyệtvời Nếu ban muốn tìm kiếm một chuỗi controng một đoạn văn bản thì đây là mộtcông cụ thích hợp
PersonalStandardDeveloperenterprise
English
Query
English Query cho phép người sử dụngkhông có kỹ thuật về SQL Server, bằngcách đặt câu hỏi bằng chuỗi English sau đóđược dịch ra Query mà có thể thực thi trênSQL Server Nhưng công cụ này được càiđặt tách biệt SQL Server
PersonalStandardDeveloperEnterprise
Analysis
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, và là công cụ phân tích OLAP(Online Analytical Proces), sử dụng cho cơ
sở dữ liệu lớn
PersonalStandandDeveloperEnterprise
Replication những phiên bản có OLAP đầy đủ chức
năng là Enterprise và Developer, nhưngtrong ấn bản Personal cung có một số chứcnăng chính của OLAP chức năng này chophép tái tạo một bản sao đến SQL Serverkhác, hệ thống này thường dùng cho các hệthống server từ xa hay trong network, nhằm
để làm giảm trao đổi dữ liệu giữa các SQLServer với nhau
Desktop Engine Personal
StandardDeveloperenterprise
Data
Transform
atuion
Service
Data Transformatuion Service (DTS) được
mở rộng trong phiên bản SQL Server 2000,bao gồm những chức năng trao đổi dữ liệu
và giao tiếp giữa các cơ sở dữ liệu khác vớinhau, đây là những giải pháp lập trình trênVisual Basic
Desktop Engine Presonal
standardDeveloperEnterprice
Trang 4Symmetric Multiprocessing (SMP):
Dịch vụ này được hỗ trợ trong SQL Server 2000, dịch vụ này phân phốicông việc xử lý trên hệ thống có nhiều bộ vi xử lý để làm cân bằng tiến trìnhtrên mỗi CPU
Clustering support: chỉ có trong ấn bản Enterprise và Developer,Clustering cho phép hệ thống cân bằng khi có một Server bị dừng thì những hệthống khác sẽ tiếp nhận và xử lý hiện tại chỉ thực hiện chức năng này trên haiserver đó là Windows 2000 Enterprise và Windows 2000 Datacenter
1 Các thành phần của SQL Server 2000
RDBMS cũng như SQL Server 2000 chứa đựng nhiều đối tượng baogồm:
Da tabase: Cơ sở dữ liệu SQL Server
Tập tin log: tập tin lưu trữ những chuyển tác của SQL
Tables: Bảng dữ liệu
Filegroiups: Tập tin nhóm
Diagrams: Cơ sở quan hệ
Views: Khung nhìn Số liệu dựa trên bảng
Stored Procedure: Thủ tục và hàm nội
Users: Người sử dụng cơ sở dữ liệuRoles: các quy định và vai trò của SQL Server
Rules: Các giá trị mặc nhiên
Full-text catalogs: Tập phân loại dữ liệu text
User-defined data types: Kiểu dữ liệu do người dùng định nghĩa
2 Đố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ớiSQL Server, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thànhphần cơ sở dữ liệu
Bản thân SQL Server là một cơ sở dữ liệu, chúng bao gồm các đối tượngnhư: Database, table, View, stored procedure nêu trên cùng một số cơ sở dữliệu khác
Trang 5Cơ sở dữ liệu SQL Server là một cơ sở dữ liệu đa người dùng, với mỗiserver bạ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
Khi cài đặt xong ban có 6 cơ sở dữ liệu mặc định
Cơ sở dữ liệu model: Đây là cơ sở dữ liệu mẫu mỗi khi bạn tạomột cơ sở dữ liệu mới, cơ sở dữ liệu Model sẽ được sao chép, sau đó các yêucầu của bạn về kích thước và các thay đổi khác vể cơ sở dữ liệu được áp dụng
Do đó, mọi đối tượng có trong cơ sở dữ liệu này sẽ được sao chép vào cơ sở dữliệu mới như là nó được tạo mới ở đó Ví dụ bạn có thể đặt bảng hoặc tênngười sử dụng vào cơ sở dữ liệu này ngay khi cài đặt SQL Server mỗi khi cómột cơ sở dữ liệu tạo ngay sau đó, bảng và tên người sử dụng sẽ xuất hiệntrong moi cơ sở dữ liệu Cơ sở dữ liệu Model có kích thước 1,5 MB sau khi càiđặt vì cơ sở dữ liệu được sao chép để tạo dựng cơ sở dữ liệu mới nên không có
cơ sở dữ liệu nào nhỏ hơn cơ sở dữ liệu Modl
Cơ sở dữ liệu Tempdb: Cơ sở dữ liệu Tempdb là một trongnhững cơ sở dữ liệu chính trong SQL Server Cơ sở dữ liệu cho phép người sửdụng tạo những ứng dụng tham khảo hay thực tập trước khi bạn bắt đầu với cơ
sở dữ liệu thật
Cơ sở dữ liệu Tempdb là nơi các sắp xếp, kết nối và các hoạt động khácđòi hỏi vị trí tạm thời được thực hiện cơ sở dữ liệu này có kích thước 2,5 MB.Nhưng nó có thể tăng thêm khi bạn cần thêm khoảng trống Nó sẽ được khởitạo lại mỗi khí SQL Server được khởi động lại
Cơ sở dữ liệu Pubs: Cơ sở dữ liệu Pubs chứa hầu hết nội dunghướng dẫn, trợ giúp và cả sách tham khảo về SQL Server, hầu hết các tính
Trang 6Pubs Cơ sở dữ liệu có kích thước 2MB sau khi cài đặt Bạn có thể xoá cơ sở
dữ liệu này mà không cần xác nhận với SQL Server
Cơ sở dữ liệu Northwind:Cũng giống cơ sở dữ liệu Pubs đâycung là một cơ sở dữ liệu mẫu cho người dùng tham khảo, hoặc các lập trìnhVisual Basic hay Access dùng để truy cập SQL Server Cơ sở dữ liệu này đượccài đặt như một phần củ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 Inspubs.sql vàinsnwnd.sql
Tập tin chuyển tác log: Chứa những hoạt độnghay cả nhữngchuyển tác của cơ sở dữ liệu theo thời gian Thông thường khi tìm sự cố xẩy ravới cơ sở dữ liệu, người dùng chỉ cần tham khảo tập tin log sẽ biết đượcnguyên nhân
III GIỚI THIỆU VỀ ĐỐI TƯỢNG CỦA CƠ SỞ DỮ LIỆU.
1. Bảng – Table: Trong cơ sở dữ liệu, bảng (Table) là thành phầnchính của chúng Do đó bảng là đối tượng lưu trữ dữ liệu thực, khi cần giaotiếp với cơ sở dữ liệu khác, bảng là đối tượng căn bản nhất trong bất kỳ loại cơ
sở dữ liệu nào, chúng được coi như một miền dữ liệu
Bảng dùng để lưu trữ tất cả dữ liệu và được tổ chức thành nhiều hàng
và nhiều cột Mỗi cột trong bảng có thể lưu một loại thông tin nhất định gọi làkiểu dữ liệu, dữ liệu nhập vào có thể chấp nhận hoặc từ chối tuỳ thuộc vàonguyên tắc ràng buộc dữ liệu hoặc dữ liệu tương thích do hệ thống hay ngườidùng định nghĩa
Khi định nghĩa cơ sở dữ liệu ta cần quan tâm đến các thông số sau:
Key: Trường đó có khoá hay không
ID: Trường có thuộc tính Indentity hay không
Culumn Name: Tên của trường
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 hay không
Default: Giá trị mặc nhiên cho trường
Identity: Nếu bạn cần sử dụng một trường có giá trị tự động nhưAutonumber trong access, trường này not null và indentity: yes(no)
Trang 7 Identity seed: Nếu trường (cột) này là identity, cần số bặt đầu số1hoặc 2…
2 Chỉ mục – Indexs.
Index hay con gọi là chỉ mục, đối tượng này chỉ tồn tại trong bảnghay khung nhìn (view) chỉ mục này có ảnh hưởng tới tốc độ truy cập số liệu,nhất là khi cần tìm kiếm thông tin trên bảng chỉ mục giúp tăng tốc độ cho việctìm kiếm
Clustered: Ứng với mỗi chỉ mục này một bảng chỉ có một chỉ mục,
và số liệu được sắp xếp theo trang
Non-clustered: Ứng với chỉ mục này một bảng có thể có nhiều chỉmục và dữ liệu được sắp xếp theo trường dữ liệu mà bạn chỏ tới
3. Bẫy lỗi- Triggers: Nếu đối tượng chỉ tồn tại trong bảng, cụ thể
là một đoạn mã, và tự động thực thi khi có một hành động nào đó xảy ra đốivới dữ liệu trong bảng như: Insert, Update, Delete
Ttigger có thể sử dụng để bẫy rất nhiều tình huống như copy dữ liệu,xoá dữ liệu, cập nhật dữ liệu, kiểm tra dữ liệu theo tiêu chuẩn nào đó
Trong SQL Server 2000 có kỹ thuật mới gọi là INSTEAD OFtrigger, kỹ thuật này cho phép bạn thực hiện những hành động khác nhau tuỳtheo cách mà người dùng tương tác
4. Ràng buộc – Constaints: Là một đối tượng, nó là một phần nhỏtrong bảng, chúng ràng buộc dữ liệu trong bảng hoặc các bảng khác phải tuântheo một quy tắc nào đó
5. Diagram (lược đồ quan hệ): Khi xây dựng cơ sở dữ liệu cho ứngdụng hay thương mại điện tử, thường phải dựa trên trình phân tích thiết kế hệthống Sau những bước phân tích và thiết kế, ban sẽ thiết lập quan hệ dữ liệugiữa các thực thể ERD (Entrity Relationship Diagram)
6. Khung nhìn (View): Là khung nhìn hay một bảng ảo của bảng.Cũng giống như bảng nhưng View không thể chứa dữ liệu, bản thân View cóthể tại thêm trường mới dựa vào những phép toán, biểu thức của SQL Server.Bên cạnh đó View có thể kết nối nhiều bảng lại với nhau theo quan hệ nhấtđịnh cùng với những tiêu chuẩn, nhằm tạo ra một bảng theo nhu cầu của ngườidùng Mục đích của View là kiểm soát tất cả những gì mà người sử dụng muốnthấy, nó bao gồm hai ảnh hưởng chính đó là bảo mật và dễ sử dụng
7. Thủ tục nội (stored Procedure): Thủ tục nội hay còn gọi làSpocs, tiếp tục phát triển như một phần lập trình SQL trên cơ sở dữ liệu Stored Procedure cho phép khai báo biến, nhận tham số cúng như thực thi các
Trang 8 Kế thừa tất cảc các phát triển 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 những Stored Procedure theo cách gọi của thủ tụchay hàm trong các ngôn ngữ lập trình truyền thống, đồng thời sử dụng lại khi
có yêu cầu
8. Sử dụng kiểu dữ liệu Cursor: khi dùng cơ sở dữ liệu SQLServer, nếu có tính toán trên bảng số liệu, chuyển tác thực hiện trên từng mẩutin bạn hãy nghĩ đến kiểu dữ liệu mang tên Cursor
IV KIỂU DỮ LIỆU (DATA TYPE)
Bất kỳ trường nào trong bảng 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 đinh nghĩa chiều dài của kiểu trongkhi một số khác thì không SQL Server kế thừa những kiểu dữ liệu của SQLServer 7.0 và cung cấp thêm một số kiểu dữ liệu mới Các kiểu dữ liệu củaSQL Server có thể được phân thành các nhóm sau: String (chuỗi), chuỗiUnicode binary (nhị phân), Integer (số nguyên ), approximate numeric (số gầnđúng), data and time (ngày giờ), Money (tiền tệ), ……
Ngoài ra SQL Server còn cho 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 cho phép chuyển đổi sang kiểu dữ liệu số Float hay real
V CÁC CÔNG CU CHÍNH CỦA SQL SERVER 2000.
1. Trợ giúp trực tuyến (books online): Là một công cụ trợ giúptrực tuyến, giúp cho người làm việc trên SQL truy tìm những vấn đề có liênquan đến cơ sở dữ liệu SQL Server Trong một trừng mực nào đó, người lậptrình không thể nhớ hết các cú pháp, hàm hay các phép toán cũng như các thủtục SQL, chính vì thế mà Books Online là công cụ trợ giúp trực tuyến tốt nhất
2. Tiện ích Mạng Client/ Server: Đây là công việc do người quảntrị mạng đảm nhận Để các máy PC khác có thể kết nối và sử dụng cơ sở dữliệu SQL Server trong hệ thống mạng bạn cần các tiện ích trên máy trạm giốngnhư cấu hình của Server SQL Server cung cấp một thư viện Net-libraries haycòn gọi là NetLibs, thư viện này bao gồm nhiều nghi thức kết nối cho phép cácmáy trạm có thể truy cập cơ sở dữ liệu vào SQL Server:
Named Pipes
TCP/IP
Multiprotocol
Trang 9 Tạo, cập nhật, xoá cơ sở dữ liệu và đối tượng của chúng.
Tạo, cập nhật, xoá các gói Data transformation Packages
Quản lý lịch trình Backup
Quản lý người dùng đang truy cập SQL Server và cơ sở dữ
liệu
Cấu hình Job Management
Cập nhật, tạo, xoá, quyền Login User
Thiết lập và quản lý Mail Server
Tạo và quản lý tìm kiếm
Cấu hình cho Server
Tạo và cấu hình cho Replication
Ngoài ra Enterprise Managar còn có một số chức năng khác nhưđăng ký nhiều Server khác
4. Trình Query Analyzer: Công cụ này giúp cho bạn phát triểnhay gỡ rối trong SQL Server, Query Analyzer là công cụ cung cấp bởi SQLServer, là trình soạn thảo và thực thi câu lệnh SQL hay Stored Procedure
VI CÁC PHÁT BIỂU CƠ BẢN CỦA T-SQL
1 Phát biểu Select:
Phát biểu Select là một trong những phát biểu yêu cầu SQL Server là gì
đó trên cơ sở dữ liệu Select dùng để đọc thông tin từ cơ sở dữ liệu theo những
Trang 10FROM: Để chỉ ra nơi chứa dữ liệu (hay bảng cần truy vấn), WHERE chỉ
ra điều kiện lấy dữ liệu
ORDER BY: Dùng để hiển thị kết quả truy vấn theo tiêu chuẩn củangười dùng Nếu thiếu tham số này thi việc sắp xếp sẽ theo thứ tựALPHABET
Cú pháp của phát biểu Select:
SELECT<Danh sách các cột>
[ FROM <Danh sách các 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ác cột> ]
Những Phát biểu Lằm trong dấu [ ] thì có thể có hoặc có thể không có
Dấu * cho phép lọc bảng tin với tất cả các trường trong bảng
WHERE tblBenhNhan.TenbenhNhan= ‘ Nguyễn văn Tuấn ‘
Ngoài những câu lệnh truy vấn trên, Trong SQL còn cung cấp một sốhàm cũng như một số biểu thức toán học
2 Nhập dữ liệu bằng phát biểu INSERT.
Khi thêm mẩu tin vào trong SQL Server 2000, có nhiều cách để thựchiện công việc này Trong Visual Basic có những phát biểu thêm mẩu tin vào
Trang 11bảng SQL Server, tuy nhiên để tối ưu về tốc độ hay tính chuyên nghiệp trongSQL Server, bạn cần sử dụng phát biểu INSERT.
Có thể sử dụng phát biểu này trên ứng dụng kết nối với SQL Server
2000 hay có thể tạo ra một Stored Procedure với mục đích INSERT dữ liệu vàobảng chỉ định
Cú pháp của phát biểu INSERT như sau:
INSERT INTO <Tên bảng> (Danh sách cột)VALUES <Danh sách giá trị>
Ví dụ: Để chèn dữ liệu vào bảng tblChucvu ta có câu lệnh truy vấn sau:
INSERT INTO tblChucvu(MaCV, TenCV)VALUES(‘01’,’trưởng Phòng)
3 Phát biểu cập nhật (UPDATE)
Phát biểu UPDATE dùng để cập nhật dữ liệu đã có trong bảng Khi cậpnhật dữ liệu cho một mẩu tin nào đó thường UPDATE sử dụng chung với mệnh
đề WHERE
Cú pháp của mệnh đề UPDATE như sau:
UPDATE FROM <Tên bảng>
SET <tên cột> = <Giá trị>
WHERE <Điều kiện>
Ví dụ muốn thay đổi tên tỉnh có mã số (‘01’) thành Bắc Giang ta dùngcâu truy vấn như sau:
UPDATE FROM tblTinhSET tblTinh.Tentinh = ‘Bắc Giang’
WHERE tblTinh.MaTinh = ‘01’
4 Phát biểu xóa (DELETE)
Khi thực hiện xóa mẩu tin trong bảng chúng ta chỉ cần quan tâm đếntên bảng và mệnh đề WHERE để mọc mẩu tin nếu có
Cú pháp:
DELETE FROM <Tên bảng>
Trang 12WHERE <Điều kiện>
Ví dụ : Để xóa tên tỉnh có tên là Bắc Giang ta là như sau:
DELETE FROM tblTinhWHERE tblTinh.TenTinh = ‘Bắc Giang’
Trong trường hợp có ràng buộc về quan hệ dữ liệu, thì xoá mẩu tinphải tuân thủ theo nguyên tắc: Xóa mẩu tin con trước rồi mới xóa mẩu tin cha
Ngoài ra trong SQL Serverồcn có những phát biểu cho phép kết nốinhiều bảng với nhau như: JOIN, INNER JOIN, LEFT IOIN, RIGHT JOIN,FULL JOIN CROSS JOIN
Ví dụ: Để xác định địa chỉ của nhân viên ta cần xác định Tỉnh, huyện,
Xã để là được điều đó ta thực hiện câu truy vấn sau:
CREATE VIEW dbo.vwDiachiAS
SELECTdbo.tblTinh.TenTinh,dbo.tblHuyen,dbo.tblXA.TenXa,dbo.tblXa.Maxa
FROM dbo.tblHUYEN INNER JOIN
dbo.tblTINH.MaTinh INNER JOINDbo.tblXA ON dblHUYEN.MaHuyen = dbo.tblXA.MaHuyen.Khi đã có VIEW địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là sẽ cóthông tin về địa chỉ của nhân viên
SELECT TenTinh, TenHuyen, TenXa
FROM vwDiachi
WHERE MaXa = @MaXa - @MaXa là một biến được đưa vào đểchọn ra Xã cần tìm
Trang 13VII KHÁI NIỆM VỀ ĐỐI TƯỢNG TRONG SQL VÀ CÁCH TẠO CÁC ĐỐI TƯỢNG TRONG SQL SERVER
1 Tạo cơ sở dữ liệu (CREATE DATABASE)
Khi xây dựng cơ sở dữ liệu bạn bắt đầu từ mô hình cơ sở dữ liệu ERD,hay từ một giai đoạn nào đó trong quá trình phân tích thiết kế Để tạo cơ sở dữliệu trên SQL Server ta dùng một trong 3 phương phát sau:
Database Creation Wizard
SQL Server Enterprise Manager
Câu Lệnh CREATE DATABASE
Cú Pháp của câu lệnh CREATE DATE như sau:
CREATE DATABASE <database- name>
[ON [ PRIMARY]
([ Name = <’logical file name’> ,]
[ , SIZE = <Size in Megabyte or kiloByte>]
[ , MAXSIZE = <Size in MegaByte or KiloByte>]
[, FILEGROWTH = < No or KiloByte ׀ Percentage>] )]
[ LOG ON(
[ name = <’Logical File name’> , ] FileName = <’FileName’>
[ , SIZE = <Size in Megabyte or kiloByte> ][ , MAXSIZE = <Size in MegaByte or KiloByte>]
[ , FILEGROWTH = < No or KiloBytelPercentage>] ) ]
[ COLLATE <collation> ][ For load ׀ For Attch ]Trong đó:
Trang 14 ON: Định nghĩa nơi chứa dữ liệu và không gian chứa tập tinLog.
NAME: Định nghĩa tên cơ sở dữ liệu
FILENAME: Tên tập tin cơ sở dữ liệu trên đĩa cứng
SIZE: Cho biết dung lượng của cơ sở dữ liệu khi tạo chúng
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 Nếu khi dung lượng bằng Maxsize, cácchuyển tác có thể bị huỷ bỏ hay trả về lỗi không thể thực hiện được Để tránhđiều này, người quản trị phải thường xuyên theo dõi quá trình tăng dung lượng
cơ sở dữ liệu theo thời gian
FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối
đa cho phép tăng trong quá trình thêm dữ liệu vào cơ sở dữliệu
LOG ON: Cho phép bạn quản lý những chuyển tác xảy ratrong quá trình sử dụng cơ sở dữ liệu của SQL Serve
Dùng SQL Server Enterprise Managar để tạo một cơ sở dữ liệu mới,thực hiện các bước như sau:
Khởi động SQL Server Enterprise Managar
kết nối với SQL Server
mở rộng thư mục Database như sau:
Nhấn nút chuột phải vào thư mục Database hoặc vàokhoảng trắng ở khung bên phải rồi chọn New Database từ menu ngữ cảnh
Trang 15 Đặt tên cơ sở dữ liệu.
Nhấn OK để hoàn thành công việc
2 Tạo bảng (Table)
Như với hầu hết với mọi đối tượng trong SQL Server, có hai cách đểtạo bảng Có thể dùng SQL Server Enterprise Managar hoặc có thể dùng câulệnh SQL trực tiếp:
Tạo bảng bằng SQL Server Enterprise Managar bao gồm nhữngbước sau:
Kết nối SQL Server của bạn, mở Folder cơ sở dữ liệu , rồi mở
cơ sở dữ liệu muốn làm việc Sau đó chọn Folder Tables như :
Nhấn chuột phải vào khung bên phải và chọn New Table.Bạn sẽ được yêu cầu nhập tên bảng
Nhập thông tin vào các trường: Column Name, Datatype,Length, Precision…
Lưu lại công việcđã làm
Dùng câu lệnh SQL Server trực tiếp
Trang 16CRETE TABLE[ Database_Name.[ owner ].Table_ name
(<column Name><Data type>
[[DEFAULT <constant expression>] | [
IDENTITY (seed, increament) [ NOTFOR REPLICTION ] ] ] ][ ROWGUIDCOL ]
Tên cột bắt đầu bằng trữ hoa, còn lại bằng trữ thường
Tên cột phải ngắn gọn và đầy đủ ý nghĩa
Không nên đặt tên cột có khoảng trắng
Không nên đặt tên cột trùng với những từ khóa
Nên đặt tên cột cùng tên những cột có quan hệ với bảng kháctrong cơ sở dữ liệu
Kiểu dữ liệu (Data type): Kiểu dữ liệu dùng để xác định kiểu thôngtin và cần bao nhiêu không gian để chứa thông tin trong cột
Giá trị mặc nhiên (Default): Thông thường khi tạo ra một cột trongbảng đôi khi chúng ta áp dụng giá trị mặc nhiên
IDENTITY: Là khái niệm cực kỳ quan trong trong SQL Server Khibạn muốn một cột có giá trị tăng tự động như AutoNumber, khi sử dụngIdentity làm số tăng tự động thì kiểu dữ liệu là số nguyên hoặc số nguyên 4Byte
NULL / NOT NULL: Đây là trạng thái của một cột trong bảng chophép giá trị chấp nhận NULL hay NOT NULL
Trang 17Ràng buộc (Column constrain): Ràng buộc là một số quy định kiểmtra 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ũnggiống như ràng buộc cột trong bảng, ràng buộc bảng là kiểm soát dữ liệu nhậpvào bảng theo một quy luật định sẵn Khi dữ liệu nhập vào bảng thì quá trìnhthực hiện ràng buộc giữa các bảng dữ liệu xảy ra nhằm kiểm tra giá trị khóachính hay khoá phụ, các cột cho phép NULL hay NOT NULL, đồng thời kiểmtra ràng buộc dữ liệu với những bảng có quan hệ hay hai ba ngôi
Tab General
Script all objects: Cho phép hiện danh sáchcác đối tượng
Trang 18 All Tables: Hiện danh sách tất cả các bảng.
All View: Hiện danh sách tất cả các View
All stored procedure: Hiện danh sách tất cảcác SP
All defaults: Hiện danh sách tất cả các giátrị mặc nhiên
All rules: Hiện danh sách tất cả các quyluật định trước
Preview: Cho phép bạn xem như ví dụ củakịch bản
Tab Formatting : Dùng định dạng kịch bản tạo ra như cú pháp, cóphát biểu DROP TABLE xóa bảng trùng tên nếu tồn tại trong cơ sở dữ liệutrước khi sử dụng bảng mới
4 Khóa và ràng buộc dữ liệu (Key and Constraints): Dùng đểkiểm tra khi có sự biến đổi từ phía dữ liệu như thêm, xóa, cập nhật bất kỳ mộtnguồn nào khác nhau chẳng hạn như Visual Basic Quá trình kiểm tra mangtính logic này gọi là ràng buộc dữ liệu:
Ràng buộc dữ liệu:Bao gồm ở mức cao và ở mức đặc thù:
Ràng buộcmiền ( Domain constraint)
Ràng buộcthực tế (Entity constraint )
Ràng buộc dữliệu toàn vẹn
đặc thù: Một số phưương thức ràng buộc được thiết lập trong mỗi loại ràngbuộc cụ thể bao gồm:
Ràng buộc khóa chính ( Primary Key constraint )
Ràng buộc khóa ngoại ( Foreign Key constraint )
Ràng buộc duy nhất ( Unique constraint )
Ràng buộc kiểm tra ( Check constraint )
Trang 19Ràng buộc mặc nhiên ( Default constraint ).
Ràng buộc theo quy tắc hay quy luật ( Rules)
Kiểm tra ràng buộc trong khi cập nhật mẩu tin
Kiểm tra ràng buộc trong khi xóa bản tin
5 Chuẩn hóa quan hệ:
Chuẩn hóa là một phần của thiết kế cơ sở dữ liệu chuẩn hóatrước tiên là khái niệm mô hình cơ sở dữ liệu quan hệ, bao gồm các bảng ảođược tạo ra từ sự mô phỏng của nhiều bảng khác
Chuẩn hóa bước 1 ( 1 NF ): Trong chuẩn hóa bước mộtchúng ta bắt đầu gom dữ liệu theo nhóm đối với những dữ liệu có liên quanhoặc tách các dữ liệu độc lập với nhau ra
Chuẩn hóa bước 2 ( 2NF): Trong chuẩn hóa bước 2, ta tiếptục nhóm dữ liệu và giảm dữ liệu trùng lắp có thể làm đơn giản hóa cấu trúc dữliệu trong cơ sở dữ liệu SQL Server
Chuẩn hóa 3 ( 3NF): Đây là bước chuẩn hóa cuối cùng,nhưng nếu cơ sở dữ liệu còn có thể chuẩn hóa được thì chúng ta còn một sốchuẩn hóa khác
Quan hệ (Relationship): Xuất phát từ chuẩn hóa trên, đểthực hiện việc phân nhóm dữ liệu, tách dữ liệu thành các bảng khác nhau,nhưng dữ liệu vẫn có mối quan hệ với nhau Quan hệ trong các bảng với nhautuân theo một quy tắc Có 3 loại quan hệ trong mô hình cơ sở dữ liệu:
Quan hệ một - một ( One- to -One): Là quan hệgiữa hai bảng với nhau, một mẩu tin ở bảng thứ nhất có quan hệ duy nhất mộtmẩu tin ở bảng thứ 2
Quan hệ một - nhiều (One- to-Many): Một mẩu tintrong bảng thứ nhất có quan hệ với nhiều mẩu tin trong bảng thứ 2
Quan hệ nhiều- nhiều ( Many-ti -Many): Quan hệnhiều nhiều, là ứng với một mẩu tin trong bảng thứ nhất có quan hệ với nhiềumẩu tin trong bảng thứ 2 và ứng với mẩu tin trong bảng thứ 2 có quan hệ vớinhiều mẩu tin trong bảng thứ nhất
6 Lược đồ quan hệ trong SQL Server (Diagram):
Trang 20Entity Relationship Data (ERD): Là công cụ rất quan trọng trong quátrình phân tích thiết kế hệ thống thông tin quản lý hay bất kỳ giải pháp ứngdụng nào, cho dù quy mô to hay nhỏ.
Entity Relationship Data cho phép kiểm soát được mối liên hệ giữacác thực thể với nhau Bên cạnh đó kiểm soát được thông tin vào ra hay thayđổi trong cơ sở dữ liệu
7 Tạo bảng ảo (View ): View cho phép bạn chia ngang hay dọcthông tin từ một hay nhiều bảng trong cơ sở dữ liệu sử dụng View như là mộtđối tượng trong SQL Server , khi cần thiết sử dụng đến View, kết quả View trả
về bằng việc truy vấn dữ liệu theo yêu cầu người dùng
Mục đích sử dụng View:
Hạn chế tính phức tạp của dữ liệu đếnngười dùng
Kết nối dữ liệu từ nhiều bảng lại với nhau
Sử dụng tài nguyên Server để thực hiệnviệc truy vấn
Tạo ra một bảng ảo có dữ liệu như yêu cầu
Kết hợp một số hàm và phương thức tạo racác cột mới
Khi cần thiết có những câu lệnh SQL dùngcho trong quá trình viết chương trình trên các Platform khác như VisualBasic…
View là kết quả của việc sử dụng phát biểu SQL, hàm và thủ tục trongSQL Server Thông thường View được tạo bàng SQL Server Query Analyserhay SQL Server Enterprise Managar
8 Thủ tục được lưu và hàm (Stored procedure hay SP)
a Thủ tục được lưu (Stored Procedure): Là một phần cực kỳquan trọng trong cơ sở dữ liệu SQL Server Cú pháp để tạo một Storedprocedure như sau:
CREATE PROCEDURE | PRO <Procedure Name>
[ <Parameters name> < Data type > [ VARYING]
[= <Default value>][ OUT PUT]
[ <Parameters name > < Data type >[ VARYING]
Trang 21[=<Default Value > ][ OUT PUT]
CHƯƠNG II TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ
LIỆU TRONG VISUAL BASIC.
Có một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượngtrong truy cập dữ liệu trong VB:
Gắn mẫu tin duy nhất với một đối tượng: Đây là kỹ thuật đơn giản nhất,
không cần lập trình nhiều Mỗi trường trong mẫu tin trở thành một thuộc tínhcủa đối tượng; lấy dữ liệu về từ cơ sở dữ liệu hay lưu dữ liệu vào cơ sở dữ liệuđều được xử lý qua đối tượng
Ủy nhiệm xử lý dữ liệu cho một đối tượng Recorset chứa trong một đối
tượng: Đây là kỹ thuật tốt nhất khi ta cần xử lý một số không giới hạn mẫu tin.
Kỹ thuật này cũng dễ lập trình, bởi có nhiều chức năng quản lý được cung cấp
sẵn trong các mô hình đối tượng được sử dụng (DAO hay RDO) Kỹ thuật đặc biệt hữu dụng khi dùng ADO bởi vì ADO cung cấp khả năng ngắt kết nối với
nguồn dữ liệu, cho phép ứng dụng Client thao tác với dữ liệu không cần thaotác với server Bởi vì nhiều người sử dụng kết nối đồng thời là một điểm yếucủa các hệ thống Client / Server, ngắt kết nối nghĩa là giải pháp sẽ linh hoạthơn
Trang 22I MÔ HÌNH Dữ liệu ADO: (ActiveX Data Object: Đối tượng dữ liệu
ActiveX)
Ta có thể hình dung rằng mô hình ADO là một mô hình làm giảm kíchthước của mô hình RDO (Đối tượng dữ liệu từ xa) Mô hình đối tượng dữ liệuActiveX rất gọn Nó được thiết kế để cho phép những người lập trình lấy đượcmột tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể Tốc độ
và tính đơn giản là một trong các mục tiêu cối lõi của ADO, mô hình này đượcthiết kế để cho phép bạn tạo ra một đối tượng Recordset mà không cần phảiduy chuyển qua các đối tượng trung gian khác trong quá trình Thực tế chỉ có
ba đối tượng cốt lõi sau trong mô hình:
- Connection đại diện kết nối dữ liệu 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 có một sưu tập đối tượng con gọi là các đối tượngErrors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kếtnối Đối tượng Command có một sưu tập đối tượng con, Paramters để giữ bất
cứ các tham số nào có thể thay thế cho các query Recorset cũng có một đốitượng sưu tập con Properties để lưu các thông tin chi tiết về đối tượng
Sơ đồ mô hình ActiveX Data Object
ConnectionCommandParameterRecorset
FieldsError
Trang 23II CÁC THUỘC TÍNH ADO ĐẶC BIỆT:
Mô hình ADO có một số các thuộc tính duy nhất không có các mô hìnhkhác như DAO và RDO 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ó 7 thuộc tính như sau:
- Connection string (Chuỗi kết nối)
- Command Text (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 khoá)
- Mode type (Kiểu chế độ làm việc)
PHẦN II
ỨNG DỤNG XÂY DỰNG HỆ
THỐNG QUẢN LÝ BỆNH VIỆN
Trang 24CHƯƠNG I ĐẶC TẢ BÀI TOÁN.Bệnh viện đa khoa tỉnh Khánh Hoà là một trong những trung tâm khámchữa bệnh lớn nhất của tỉnh Khánh Hoà Do đó, nhu cầu ứng dụng việc quản lýbằng tin học vào trong việc quản lý Bệnh nhân và nhân viên của bệnh viện làmột nhu cầu tất yếu Sau khi khảo sát hiện trạng chúng tôi nắm được nhữngthông tin chính cần quản lý sau:
Quản lý nhân viên bệnh viện
Mỗi nhân viên của bệnh viện được quản lý các thông tin sau đây: Họ,tên, giới tính, ngày sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn, đơn
vị công tác, chức vụ, tôn giáo
Địa chỉ quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Sốnhà, (Thôn)
Trang 25nhân có thẻ bảo hiểm y tế là công nhân viên của một tổ chức, cơ quan nào đóthì quản lý thêm: Tên, địa chỉ, điện thoại, fax cuả cơ quan công tác.
Địa chỉ bệnh nhân và cơ quan quản lý: Số nhà, đường (thôn, ấp), xã(phường), quận (huyện), tỉnh (thành phố)
Quy trình khám chữa bệnh:
Bệnh nhân đến bệnh viện để khám chữa bệnh (vì đây là bệnh viện đakhoa) nên có các trường hợp sau:
- Bệnh nhân đến để khám chữa các bệnh thông thường
- Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tụcnhập viện được tiến hành sau)
- Bệnh nhân là sản phụ trong trường hợp cấp cứu (thì được đưa trực tiếpđến khoa sản)
Nhìn chung, bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trìnhchung sau:
- Bước 1: Bệnh nhân đến nơi tiếp nhận bệnh nhân (nơi cấp số) để xáclập việc khám bệnh và được chỉ định một vị trí khám bệnh
- Bước 2: Bệnh nhân được một bác sĩ khám bệnh
- Bước 3: Sau khi khám xong bệnh nhân thuộc một trong hai loại: Điềutrị tại nhà hay nhập viện
+ Bước 3.1: Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một toa thuốctrên đó ghi đầy đủ tên thuốc, số lượng và cách dùng Nếu bệnh nhân có thẻ bảohiểm y tế thì đến nơi cấp thuốc bảo hiểm y tế để nhận thuốc và trả một phần giáthuốc theo quy định phần trăm trên thẻ bảo hiểm Ngược lại, bệnh nhân phải trảtất cả chi phí khám bệnh và tự mua thuốc
+ Bước 3.2: Nếu bệnh nhân phải nhập viện thì bác sĩ khám bệnh chomột lệnh nhập viện, trên đó có ghi đầy đủ thông tin về bệnh nhân, căn bệnh dựđoán và đưa đến khoa điều trị
- Bước 4: Tại khoa điều trị, bệnh nhân sẽ được chuẩn đoán và lập mộtbệnh án chi tiết Trên bệnh án ghi đầy đủ thông tin về bệnh nhân và căn bệnh
mà bệnh mắc phải Quá trình điều trị bệnh nhân được thể hiện đầy đủ trên bệnh
án Trong một khoảng thời gian quy định tuỳ theo bệnh nhân, bệnh nhân đượcmột bác sĩ khám, cho một toa thuốc Trên toa thuốc ghi tên thuốc, số lượng vàcách dùng
Trong quá trình điều trị, bệnh nhân có thể sử dụng các dịch vụ hỗ trợkhám bệnh như: Xét nghiệm, X_quang, siêu âm,… Việc sử dụng cũng theochỉ định của bác sĩ khám chữa bệnh Mỗi dịch vụ có giá tiền riêng
Trang 26Khi bệnh nhân điều trị có thể lựa chọn loại phòng nằm điều trị với giádịch vụ riêng cho mỗi loại phòng.
- Bước 5: Thanh toán viện phí: Trong quá trình điều trị, cứ 3 ngày, bệnhviện yêu cầu bệnh nhân thanh toán viện phí một lần (bằng cách bệnh nhân sẽđóng một số tiền tạm ứng tuy theo khả năng của mình), sau khi xuất viện nhânviên sẽ căn cứ vào số tiền tạm ứng trên sẽ tính để biết được bệnh nhân đã thanhtoán đầy đủ tiền viện phí chưa Nếu bệnh nhân có thẻ bảo hiểm y tế thì chỉđóng phần trăm viện phí theo bảo hiểm bao gồm tiền thuốc và các dịch vụ hỗtrợ chữa trị và khám bệnh Riêng tiền phòng, nếu có thẻ bảo hiểm y tế, bệnhnhân cũng chỉ được bảo hiểm trên loại phòng rẻ nhất, nếu bệnh nhân nằm điềutrị ở loại phòng có giá tiền cao thì tự trả phần chênh lệch Khi xuất viện, bệnhnhân thanh toán toàn bộ số viện phí còn lại
Trong quá trình điều trị, nếu có bệnh nhân trốn viện, không thanh toánviện phí Bệnh viện lưu lại tất cả các thông tin về bệnh nhân trốn viện Nếu saukhi chữa trị 3 ngày mà bệnh nhân không đóng tạm ứng tiền viện phí (hay tiềntạm ứng viện phí trước đó đã hết), thì khoa (phòng) nơi điều trị bệnh nhân trìnhban lãnh đạo biết để xem xét giải quyết
- Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán tiền viện phí vớiBảo hiểm y tế
Trang 27CHƯƠNG II
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
I MÔ HÌNH QUAN HỆ DỮ LIỆU
-SoluongDung -LieuDung
TINH
-Ma tinh
-Ten tinh
ĐON VI -MaDV -TenDV
CHUYEN MON -MaCM
-TenCM
CHUC VU -MaCV -TenCV
-HoNV-TenNV-NgaySinhNV-GioiTinh-Sonha
ÑV
NV-(1,n)
(1,1)
CM
NV-(1,n)
(1,1)
CV
NV-(1,n)
(1,1)
VITRIKB-MaVTKB-TenVTKB
KHAMB-NgayKB-
NoiDung-ChiPhi
(1.n)(1.n)
Dia Chi
(1,1)(1.n)
BENHNHAN -MaBN -HoBN -TenBN -NgaySinhBN -GioiTinh -SoNha
(1,1)
BENH-MaB-TenB
(1.n)(1,1)
(1.n)
THUOC-MaT-TenT-DonGia
BENHAN -MaBA -NgayVao -Ngayra
DUNGDV -LanD
DICHVU-MaDV-TenDV
(1.n) (1,n)
(1.n)
NOIDIEUTRI-MaNDT-TenNDT
BN-TU
(1.1)(1.n)
DAN TOC -MaDT -TenDT
DT
NV-(1,1)
(1,n)
TONGIAO -MaTG -TenTG
NV- TG(1,1)
(1.n)
Trang 28II MÔ HÌNH TỔ CHỨC DỮ LIỆU
1 TINH(MaTinh, TenTinh)
2 HUYEN(MaHuyen, TenHuyen, MaTinh )
3 XA(MaX, TenX, MaHuyen)
11 BAOHIEM(MaBN, SoTheBHYT, NgayBD, NgayKT, Phan tram)
12 BENHNHAN(MaBN,HoBN, TenBN, NgaySinhBN, GioiTinhBN,
SoNhaBN, MaX)
13 KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB,
NgayKB,NoiDungKB, CPKB)
14 VITRIKHAMBENH(MaVTKB, Ten VTKB)
15 DONTHUOC(MaDT, NgaykeDon, MaVT, MaNV, MaBN, MaB)
16 THUOC(MaT, Ten thuoc, DonGia)
17 BENH(MaB, TenB)
18 NOIDIEUTRI(MaNĐT, Ten NĐT, DonGia)
19 DUNGTHUOC(MaT, MaDT, Soluongdung, LieuDung )
20 DICH VU(MaDV, TenDV, ĐonGiaV)
21 TAMUNGVIENPHI(MaTU, LanTU, SoTienTU, MaBN)
22 BENHAN(MaBA, NgayVao, NgayRa, MaBN, MaNV, MaB,
MaNDT)
23 DUNGDICHVU(MaBA, MaDV, LanDungDV)
24 NHAN VIEN(Ma NV, Ho NV,Ten NV, Ngaysinh, Gioi tinh, Sonha,
Ma ĐV, MaCM, MaCV, MaDT, MaX)
Trang 29III MÔ HÌNH VẬT LÝ DỮ LIỆU
1 TINH(Matinh, Tentinh)
TINH
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMatinh (K) Mã tỉnh Text (2) Primary key
Mỗi một thể hiện là một thành phố hay một tỉnh nào đó Theokhảo sát thực tế tại BV tỉnh Khánh Hoà quy định Mã tỉnh là 2 số
Tenhuyen Tên huyện Text (30) Not NULL
Mỗi một thể hiện là một quận hay huyện thuộc một thành phốhay một tỉnh nào đó Hai số đầu là mã Tỉnh hay Thành Phố, hai số tiếptheo là mã Quận hay Huyện trực thuộc Tỉnh hay Thành Phố
Ví dụ: 0101: Là mã của TP Nha Trang
0102: Là mã của huyện Ninh Hoà
3 XA(MaX , Tên X, Ma huyen)
XA
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn
Mahuyen Mã huyện Text (4) Foreign key
Mỗi một thể hiện là một quận hay một xã nào đó thuộc mộtphường hay một huyện nào đó Hai số đầu là mã tỉnh hay thành phố, hai
Trang 30số tiếp theo là mã quận hay huyện trực thuộc thành phố hay tỉnh, hai sốtiếp theo là mã phường hay xã trực thuộc quận hay huyện
Ví dụ: 010101: Phường Xương Huân(Nha Trang)
010203: Xã Ninh Hưng(huyện Ninh Hoà)
4 DONVỊ(MaDV, Ten DV)
DONVI
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaDV (K) Mã đơn vị Text (2) Primary key
TenDV Tên đơn vị Text (50) Not NULL
Mỗi một thể hiện là một đơn vị công tác của nhân viện trongBệnh Viện, teo khảo sát tại Bệnh Viện Đa khoa tỉnh Khánh Hòa hiện códưới 100 khoa Nên mã Đơn Vị là hai số
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn
Ma DT (K) Mã dân tộc Text (2) Primary key
Ten DT Tên dân tộc Text (30) Not NULL
Mỗi một thể hiện là một dân tộc của một nhân viên hay bệnhnhân nào đó , Việt Nam hiện có 54 dân tộc Nên mã dân tộc là hai số
6 TONGIAO (MaTG, TenTG )
TONGIAO
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaTG(K) Mã tôn giáo Text (2) Primary key
TenTG Tên tôn giáo Text (30) Not NULL
Mỗi một thể hiện là một tôn giáo nào đó Hiện nay Việt Nam cókhoảng 20 tôn giáo Nên mã tôn giáo là hai số
Trang 317 CHUYEN MON(MaCM, TenCM)
CHUYEN MON
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaCM (K) Mã chuyên môn Text (2) Primary key
TenCM Tên chuyên môn Text (50 ) Not NULL
Mỗi thể hiện là một chuyên môn của nhân viên trong bệnh viện,theo khảo sát thì hiện có dưới 100 chuyên môn Nên ta chọn 2 ký tự đểđánh số thứ tự cho chuyên môn
8 CHUCVU(MaCV, TenCV)
CHUCVU
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaCV (K) Mã chức vụ Text (2) Primary key
TenCV Tên chức vụ Text (20) Not NULL
Mỗi thể hiện là một chức vụ của nhân viên, theo khao sát hiệnBệnh Viện có dưới 100 chức vụ nên ta chọn hai ký tự để đánh số thứ tựcủa chức vụ
9 COQUAN(MaCQ, TenCQ, Đien thoaiCQ, FaxCQ)
COQUAN
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaCQ (K) Mã cơ quan Text (3) Primary key
TenCQ Tên cơ quan Text (50) Not NULL
Đien thoaiCQ Số điện thoại Text (10) NULL
FaxCQ Fax cơ quan Text (12) NULL
Mỗi một thể hiện là cơ quan của bệnh nhân nào đó, Bênh Viện córất nhiều bênh nhân đến diêu trị trong đó có những bệnh nhân thuộc khối
cơ quan, cónhiều cơ quan Nên ta chọn 3 ký tự để đánh số thứ tự của cơquan
Trang 3210 CANBO(MaBN, MaCQ )
CANBO
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaBN (K) Mã bệnh nhân Text (9) Primary key
MaCQ Mã cơ quan Text (3) Foreign key
Mỗi một thể hiện là bệnh nhân có bảo hiểm y tế thuộc cơ quannào đó Nên nhận khóa của thực thể cha làm khóa, MaBN là khóa chính
11 BHYTE(MaBN, SotheBHYT, Ngay bat đau, Ngay ketthuc,
Phan tram)BHYTE
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaBN (K) Mã bệnh nhân Text (9) Primary key
SotheBHYT Số thẻ BHYT Text (14) Not NULL
Ngaybatđau Ngày bắt đầu Date Not NULL
Ngayketthuc Ngày kết thúc Date Not NULL
Phantram Phần trăm Text (3) Not NULL
Mỗi một thể hiện là một bảo hiểm y tế, khi đến khám chữa bệnhchỉ có một số bệnh nhân có bảo hiểm y tế
12 BENHNHAN(MaBN, HoBN, TenBN, Ngaysinh, Gioitinh ,Sonhà ,
MaX)
BENH NHAN
Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹnMaBN (K) Mã bệnh nhân Text (9) Primary key
HoBN Họ bệnh nhân Text (30) Not NULL
Ten BN Tên bệnh nhân Text (7) Not NULL
Gioi tinh Giới tính Yes/No Yes: Nam; No: Nữ