Tài liệu Luận văn Hệ quản trị cơ sở dữ liệu và SQL Server 2000 - Pdf 91


Luận văn

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
VÀ SQL SERVER 2000 PHẦN I: TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT

I. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ SQL SERVER 2000
I.1. 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à 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ệ (RDB0MS) hay còn
được gọi là Relational 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 bộ Database Engine khi có yêu cầu.

Full-Text
Sarch
Đây là phần tự chọn trong lúc cài đặt, nếu bạ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ặc nhiên.
Full-Text Sarch cung cấp chức năng tìm kiếm
từ (word) rất mạnh, nếu sử dụng Internet để tìm
kiếm thì đây là giải pháp tuyệt vời. Nếu bạn
muốn tìm kiếm một chuỗi con trong một đoạn
Personal
(Except
Win95)
Standard
Developer
Enterprise
văn bản lớn thì đây là công cụ thích hợp cho
công việc đó.
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 SQL
Server, bằng cách dặt câu hỏi bằng chuỗi
English sau đó được dịch ra Query mà có thể
thực thi t
rên SQL Server.
Personal
Standard
Developer
Enterprise
Analusis
Services
Phần này không bao gồm mặc định trong

Data Transformatuion Servise (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 giứa các
cơ sở dữ liệu, và giao tiếp dữ liệu giữa các cơ sở
dữ liệu khác nhau, đây là những giải pháp lập
trình trên Visual Basic
Desktop
Engine
Personal
Standard
Developer
Enterprise
Những đặc tính mở rộng trong các ấn bản khác nhau của SQL Server 2000.
Symmetric Multiprocessing (SMP): Dịch vụ này được hỗ trợ trong SQL
Server 2000, dịch vụ này phân phối cô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ình trên các 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ị ngừng thì những hệ thống khác tiếp
nhận và xử lí.
Hiện tại chỉ thực hiện chứ
c năng này trên hai Server đó là Windows 2000
Enterprise và Windows 2000 Datacenter.
I.2.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ác 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ản ảo) số liệu dựa trên bản

- Cơ sở dữ liệu 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ới một cơ sở dữ liệu thì SQL Server
lấy tất cả các mẫ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ực hiện việc tạo
mới cơ sở dữ liệu cho người dùng khi có yêu cầu, bạn không được xố cơ sở dữ liệu
này.
Khi một cơ sở dữ liệu mới được tạo ra thì cơ sở dữ liệu mới này ít nhất cũng
bằng và giống như cơ sở dữ liệu model.
- Cơ sở dữ liệu msdb:
Như đã nêu, chúng ta có hai cơ sở dữ liệu hệ
thống master và model, nếu xố một trong hai cơ sở dữ liệu này thì hệ thống SQL
Server xẽ bị lỗi, nhưng với cơ sở dữ liệu msdb thì khac. Msdb chính là SQL Agent
lưu trữ tất cả các tác vụ xảy ra trong SQL Server.
- Cơ sở dữ liệu 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ập trước khi bạn bắt đầu với cơ sở dữ liệu thực. Ngồi ra chúng còn giúp
thực hiện những thao tác về cơ sở dữ liệu mỗi khi SQL Server khởi động.
- Cơ sở dữ liệu 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.
- C
ơ sở dữ liệu 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 các lập trình viên Visual Basic
hay Access dù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 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 inspub.sql, và insnwnd.sql.
- Tập tin chuyển tác log: Tập tin chứa đựng những hoạt động, hay 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ự

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 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 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ự đông thự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ố 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 đó.
- Ràng buộc- Constraints
Constraints 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ân theo một quy tắc nào đó.
- Diagram-Lượ
c đồ quan hệ
Khi xây dựng cơ sở dữ liệu cho ứng dung hay thương mại điện tử, thường đều
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ế,
bạn 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ảng nhưng
View không thể chứa dữ liệu, bản thân view có thể tạo thêm trường mới dựa vào
những phép tốn biểu thức của SQL Server. View còn 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 dữ liệu
với yêu cầu người dùng.
-
Thủ tục nội-Stored Procedure
Stored Procedure còn gọi là Spocs, tiếp tục phát triển như một phần 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 phát biểu có điều kiện. Stored Procdure có các ưu điểm lớn sau:

Trong đó tất cả những phát biểu nằm trong cặp dấu [] thì có thể có hoặc có thể
không có.
Ví dụ:
+ Để lấy tất cả các bệnh nhân trong bảng tblBenhNhan ta dùng câu truy vấn
sau:
SELECT *
FROM tblBenhNhan
Trong câu lệnh này thiếu vắng tất cả các phát biể
u sau FROM trên
+ Để chọn ra tất cả các bệnh nhân trong bảng tblBenhNhan với Tên bệnh
nhân là Nguyễn Văn A ta làm như sau.
SELECT *
FROM tblBenhNhan
WHERE tblBenhNhan.TenBenhNhan=’Ngyuên Van A’
Vậy câu lệnh SELECT dùng để chỉ ra trường (cột) dữ liệu cần lấy, FROM để
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ủa người dùng.
Nếu thiếu tham số này thì việc sắp xếp xẽ theo thứ tự ALPHABET.
Ngồi những câu lệnh truy vấn trên trong SQL Server còn cung cấp một số hàm
cũng như những biểu thức tính tốn …
- Để thêm dữ liệu vào bảng (Table) ta dùng câu lệnh truy vấn 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 tblTinh ta có câu lệnh truy vấn sau:
INSERT INTO tblTinh (MaTinh, TenTinh)
VALUES(‘001’, ‘Khánh Hoa’ø)
- Để sửa dữ liệu trong một bảng đ
ã có sẵn ta sử dụng câu lệnh truy vấn
UPDATE cú pháp như sau:

FROM dbo.tblHUYEN INNER JOIN
dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh
INNER JOIN
dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen
Khí đã có view địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là xẽ có thông tin cần
thiết về địa chỉ bệnh nhâ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.
Ơû view trên ta kết nối ba table bằng lệnh INNER JOIN để lấy ra các trường
tên tinh, tên huyên, tên xã, và mã xã.
I.2.5. 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
Để tạo cơ sở dữ liệu trong SQL Server ta dùng cú pháp sau
CREATE DATABASE <Database_name>
[ON [PRIMARY] (
[Name=<’Logical file name’>,]
FileName=<’FileName’>
[,SIZE=<Size in Megabyte or KiloByte]
[,MAXSIZE=<Size in Megabyte or KiloByte]
FILEGROWTH=<NO ò Kylobyte|Percentage>]
)]
(LOG ON
(
Name=<’Logical file name’>]
FileName=<’File Name’>
[,SIZE=<Size in Megabyte or KiloByte]

2. 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ác trong SQL
Server. Cú pháp đầy đủ để tạo bảng như sau:
CREATE TABLE [Dataabase_name.[owner].table_name
(<column name><data type>
[[DEFAULT<constant expression>]
[[IDENTITY (seed, increament) [NOT FỎ REPLICATION]]]]
[ROWGUIDCOL]
[NULL|NOT NULL]
[<column constraint>]
[Column_name as computed_columns_expression
………
)
ON{<filegroup>|DEFAULT]
- 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 nên đặt tên ngắn gọn gợi nhớ
- 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 đề quan trọng là chọn kiểu
dữ liệu nào cho phù hợp với dữ liệu mà người dùng xẽ nhập vào,
- Giá trị mặc nhiên – Default: Gán giá trị mặc nhiên cho các cột khi không
có dữ liệu.
- 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. Ta nên định nghĩa như Identity.
- NULL/NOT NULL: là trạng thái của một cộ
t có cho phép nhập giá trị 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.

Procedure rất đơn giản bằng giao diện đồ hoạ (Enterprise Manager) của SQL Server
Ví dụ tạo một Stored Procedure đơn giản:
USE BENHNHAN
GO
Create proc Sp_NhapXa
@MaXa nchar(9),
@TenXa char(30),
@MaHuyen nchar(6)
AS
Insert Into tblXa
(
MaXa, TenXa,MaHuyen
)
Values
(
@MaXa,@TenXa,@MaHuyen
)
---------------------------------------------------
GO
Ơû trên ta tạo một Stored Procedure dùng để nhập một xã mới vào bảng Xã
(tblXa). Khi đã có Stored Procedure này rồi ta chỉ cần gọi tên hàm và tham số kèm
theo mỗi khi nhập một xã mới vào table xã.
b.Tạo hàm (Function)
Tươ
ng tự như Stored Procedure hàm cũng có thể tạo bằng giao diện dồ hoạ
cũng như mã lệnh song giá trị trả về của hàm đa dạng hơn chúng có thể trả về là một
bảng.
Ví dụ: Tạo hàm tìm kiếm bênh nhân theo tỉnh, hàm này trả về một bảng chứa
thông tin về bệnh nhân trong tỉnh.


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ộ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ốt lõi của ADO,
mô hình này được thiết kế để cho phép tạo ra một đối tượng Recordset mà không c
ần
phải di chuyển qua các đối tượng trung gian khác trong quá trình lập trình. Thực tế chỉ
có ba đối tượng cốt lõi 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ông qua đối
tượng Command.
Đối tượng Connection chứa một tập các đối tượng con gọi là các
đối tượ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 đến kế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ập các đối tượng con
Properties để lưu các thông tin chi tiết về đối tượng.
End Sub
Chương II: ĐĂC TẢ BÀI TỐN

Bệnh viện đa khoa tỉnh Khánh Hồ cần quản lý bệnh nhân trên hệ thống mạng
máy tính của bệnh viện. Sau khi khảo sát hiện trạng chúng tôi đã có được một số
thông tin cần lưu ý sau:
Quản lý nhân viên tronh 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: Họ, Tên, giới
tính, ngày sinh, nơi sinh, địa chỉ, trình độ chuyên môn, đơn vị công tác, chức vụ.
Trong đó quản lý:
- Địa chỉ
quản lý: Số nhà, Xã (Phường), Huyện (Quận), Tỉnh (Thành phố).
Quản lý bệnh nhân (Đối tượng chính cần quản lí)

Khi bệnh nhận đến bệnh viện khám lần đầu tiên, bệnh viện lưu những thông tin
sau:Họ, Tên, giới tính, ngày sinh, địa chỉ, đối tượng.
Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảo hiểm
y tế. Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số th
ẻ bảo hiểm y tế, thời gian hiệu
lực, phần trăm bảo hiểm, nơi khám bệnh ban đầu. Nếu bệnh nhâ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 của cơ quan công tác.
Địa chỉ bệnh nhân và cơ quan chỉ quản lý: Số nhà(thôn, âp), Xã (Phường),
Huyện (Quận), Tỉnh (Thành Phố).
Quy trình khám chũa bệnh:

Bệnh nhân đến viện để khám chữa bệnh (vì đây là bệnh viên đa khoa) 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.

ng và cách dùng.
Trong quá trình điều trị bệnh nhân có thể dùng một số dịch vụ khám chữa bệnh
như: Xét nghiệm, X_qang, siêu âm, … Việc sử dụng này cũng theo chỉ định của bác
sĩ khám chữa bệnh. Mỗi dịch vụ co giá riêng.
Khi 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 phòng.
Bước 5
: Thanh tốn viện phí: Trong quá trình điều trị cứ 3 ngày bệnh viện yêu
cầu bệnh nhân thanh tốn viện phí một lần. 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ụ chữa trị hỗ
trợ khám bệnh. Riêng tiền phòng nếu có thẻ bảo hiểm y tế thì bệnh nhân cũng chỉ
được bảo hiể
m y tế thanh tốn loại theo giá quy định của bảo hiểm y tế về loại phòng
đó nếu có. Khin xuất viện bệnh nhân thanh tốn tồn bộ 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 tốn việ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 sau 3 ngày điều trị
mà bệnh nhân không đóng viện phí thì buộc bệnh việ
n phải trả bệnh nhân về gia đình
tự điều trị
Bước 6
: Theo chu kỳ mỗi tháng, bệnh viện thanh tốn viện phí với bảo hiểm y
tế.

Chương III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG


DÙNG THUỐC
- Số lượng dùng
- Liều dùng
TỈNH
Mã Tỉnh

Tên Tỉnh

ĐƠN VỊ(K)
Mã ĐV

Tên ĐV

CHUYÊN MÔN
Mã CM

Tên CM

CHỨC VỤ
Mã ĐV

Tên ĐV


Số nhà

-
Điện thoại

NV-ĐV

(1,n)
(1,1)
NV-CM

(1,n)
(1,1)
NV-CV

(1,n)
(1,1)
VỊ TRÍ KB
Mã VTKB

Tên VTKB

K-BỆNH
- Ngày KB
- Nội dung
-
Chi phí

(1.n)
(1.n)

Tên
Bệnhõ
(1.n)
(1,1)
(1.n)
THUỐC
- Mã T

- Tên T
- Đơn giá
BỆNH ÁN
- Mã BA

- Ngày vào
- Ngày ra
DÙNG DV
- Lần dùng
DỊCH VỤ
- Mã DV
(1.n)
(1.n)
(1.n)
NƠI ĐIỀU TRỊ
- Mã
NĐT
(1.1)
BHY TẾ
- Số TBHYT
-
Ngày bắt đầu

TỈNH(Mã tỉnh
, Tên tỉnh)
HUYỆN(Mã huyện
, Tên huyện, Mã tỉnh)
XÃ(Mã xã
, Tên xã, Mã huyện)
CƠ QUAN(Mã cơ quan
, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan)
CÁN BỘ(Mã bệnh nhân
, Mã cơ quan)
BẢO H.Y.TẾ(Mã bệnh nhân
, Số thẻ B.H.Y.T, Ngày bắt đầu, Ngày kết thúc, Phần
trăm)
BỆNG NHÂN(Mã bệnh nhân
, HọBN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà
BN, Mã xã)
NHÂN VIÊN(Mã nhân viên
, Họ NV, Tên NV, Ngày sinh, Giới tính, Số nhà, Mã
xã, Mã.Đ.Vị, , Mã.C.Môn, Mã.C.Vụ)
ĐƠN VỊ KHOA(Mã ĐV
, Tên ĐV)
CHUYÊN MÔN(Mã chuyên môn
, Tên chuyên môn)
CHỨC VỤ( Mã chức vụ
, Tên chức vụ)
VỊ TRÍ KHÁM BỆNH(Mã vị trí KB
, Tên vị trí KB)
KHÁM BỆNH(Mã.N.V
, Mã bệnh nhân, Mã vị trí, Mã đơn thuốc, Mã bệnh, Ngày
KB, Nội dung KB, Chi phi KB)
III.3

MÔ HÌNH TỔ CHỨC DỮ LIỆU

TỈNH(Mã tỉnh, Tên tỉnh)
TỈNH
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã tỉnh Text 3 Len()=3
Tên tỉnh Text 30
HUYỆN(Mã huyện, Tên huyện, Má tỉnh)
HUYỆN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã huyện Text 6 Len()=6
Tên huyện Text 30
Mã tỉnh Text 3 Lookup(TỈNH)
XÃ(Mã xã, Ten xã, Mã huyện)

Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã xã Text 9 Len()=9
Tên xã Text 30
Mã huyện Text 6 Lookup(HUYỆN)
CƠ QUAN(Mã cơ quan, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan)
CƠ QUAN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
Mã cơ quan Text 5 Len()= 5
Tên cơ quan Text 30
Điện thoại CQ Text 10 >0
Fax cơ quan Text 10 Len()=10


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status