Tải bản đầy đủ (.ppt) (34 trang)

Chương 2 Thiết kế Cơ sở dữ liệu database design

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.56 MB, 34 trang )

1

Phân tích yêu cầu nghiệp vụ cho
việc lưu trữ dữ liệu

Dựa trên yêu cầu nghiệp vụ, thiết
kế mô hình CSDL

Xác định các yêu cầu để thiết kế
một ứng dụng và thực thi CSDL
2

Là bước đầu tiên trong quá trình
mô hình hoá dữ liệu và thiết kế
CSDL

Các bước phân tích nghiệp vụ:






 !"#
$%&'(

Ví dụ: nghiên cứu tình huống của
công ty Fairco
3

Là một công ty ảo chuyên buôn sỉ các mặt hàng xuất


trực tiếp từ kho.

Để đặt hàng, khách hàng gọi điện cho nhân viên bán
hàng,người mà có trách nhiệm lập hoá đơn (invoice)
cho khách. Các hoá đơn này sẽ in ngay tại kho, và
chuyển đến phòng vận chuyển hàng, sau đó hàng hoá
sẽ được đóng gói và chuyển đên cho khách hàng.

Hàng hoá lưu kho được đặt mua bằng cách đặt hàng
trực tiếp đến nhà máy sản xuất. Ngay khi nhận được
hàng, hồ sơ kho sẽ được cập nhật để phản ánh số
lượng và đơn giá mới. Ngay khi nhà sản xuất tăng
giá một mặt hàng nào, tất cả hàng tồn kho của mặt
hàng đó sẽ được cập nhật ngay với giá mới

Công ty này đang muốn cài đặt một hệ thống mới để
quản lý mọi dữ liệu và họ đã quyêt định chọn SQL
server
4

Bao gồm 3 giai đoạn:

)(

*((

(

Các giai đoạn này phải theo đúng
trình tự tuy có thể gối lên nhau

5

Conceptual design (thiết kế nhận
thức) — phát triển một nền tảng
cho giải pháp nghiệp vụ

+,-.&#
$%&'(

+/-&0 1 % 2
3(0&

(&4'&5(
(2
6

Logical design (thiết kế mức luận
lý) — thiết kế các yêu cầu về dữ
liệu và thiết kế giải pháp nghiệp
vụ

&-657


Physical design (thiết kế vật lý) —
xác định các công nghệ để thực thi
giải pháp và xác định các yêu cầu
thiết kế về vật lý
7


Tìm hiểu hoạt động nghiệp vụ hiện
tại

Thông tin nào hiện đang sẵn có

Các biểu mẫu mà hiện thời được
dùng để chứa thông tin

Nhân viên phụ trách việc nhập
liệu

Các phương pháp mà thông tin được
sử dụng

Ai được quyền truy xuất dữ liệu
và cho mục đích gì
Xác định các yêu cầu của công ty
Fairco
8

Bắt đầu bằng cách xác định các thành
phần của mô hình dữ liệu

89)&:6

;-<=>

?=@0(&
:6
9


Là các hạng mục mà CSDL cần phải lưu
trữ

Mỗi loại thực thể - a table

Mỗi một điển hình cụ thể của 1 thực
thể - một hàng row trong bảng
Xác định các thực thể của Fairco
10

Là một công ty ảo chuyên buôn sỉ các mặt hàng xuất
trực tiếp từ kho.

Để đặt hàng, khách hàng gọi điện cho nhân viên bán
hàng,người mà có trách nhiệm lập hoá đơn (invoice)
cho khách. Các hoá đơn này sẽ in ngay tại kho, và
chuyển đến phòng vận chuyển hàng, sau đó hàng hoá
sẽ được đóng gói và chuyển đên cho khách hàng.

Hàng hoá lưu kho được đặt mua bằng cách đặt hàng
trực tiếp đến nhà máy sản xuất. Ngay khi nhận được
hàng, hồ sơ kho sẽ được cập nhật để phản ánh số
lượng và đơn giá mới. Ngay khi nhà sản xuất tăng
giá một mặt hàng nào, tất cả hàng tồn kho của mặt
hàng đó sẽ được cập nhật ngay với giá mới

Công ty này đang muốn cài đặt một hệ thống mới để
quản lý mọi dữ liệu và họ đã quyêt định chọn SQL
server

11

Dùng để mô tả thực thể

Được lưu trữ trong bảng dưới dạng cột
columns
Xác định các thuộc tính của các bảng
trong CSDL Fairco
12
Các thực thể và thuộc tính
13

Ba loại

A==

A==

@==

Phụ thuộc vào bản chất của nghiệp vụ

Ví dụ:

@BC2&4"$C2
==

@BC2DC-/E(F
==
Mối quan hệ giữa các bảng của Fairco??

14

Chuẩn hoá thường được dùng
trong thiết kế các bảng của
CSDL quan hệ để tối ưu dữ liệu

G! 4/HI-&
/J4%5((F
%&<K(2>-L(
/(!M&(&-1


-N%5(3FO
'0&-7
D<K('P,<K(
QR'%5('F
15

Ba dạng chuẩn hoá thông dụng

!(SDT--
U-V>(&-1D5$
<K(

!(SPW-
U-VE!(SD4'X
>%5(%&,Y
>#$4'%&

--U-V&>

%5(%&%5(Y
><Z#4'D%&<F%[
<K(
16

Để thực thi 1 CSDL

&1F-\)W*

!4']^F-\)W*

_K`,')W*
17

Một CSDL bao gồm các file dùng để lưu trữ
các đối tượng, bảng và chỉ mục của CSDL
đó.

Có tối thiểu là 2 file cho 2 CSDL

TR<K--a
bUcB)W*]2FDa
R<Kd1

T%`(1-(
abUcB)W*2HD ,a
%`

)&aMFW-a
bU[Xc

18

Chứa thông tin sẽ cần để khôi phục
(recover) CSDL.

Bất kỳ sửa đổi dữ liệu nào đều được
ghi lại vào transaction log.

Nếu có lỗi hệ thống, SQL server sẽ tự
động khôi phục ngay khi khởi động lại
nhờ vào thông tin của transaction log.

Mặc định, Transaction log sẽ chiếm
khoảng 25% kích cỡ của 1 CSDL.
19
Mydb.mdf
Mylog.ldf
Morespac.ndf
D:\C:\ E:\
- Khi tạo 1 CSDL, thì các file dữ liệu và log được tạo ra tại vị trí
do ta xác định.
- Các file này có thể nằm trên những đĩa vật lý khác nhau để cải
thiện việc thực thi của hệ thống
Filegroup có thể chứa 1 hay nhiều file. Một CSDL có thể
được chứa trong 1 hay 1 số filegroup
20
Mydb.mdf
Mylog.ldf
Morespac.ndf
D:\C:\ E:\

Default
Filegroup
My extra
Filegroup
-
Filegroup mặc định phải đủ lớn để chứa tất cả các bảng
hệ thống và các đối tuợng của người dùng
-
Các filegroup khác nên chứa tất các chỉ mục và các
bảng mới
21

Để xem thông tin về các file của CSDL
hiện hành:

@E)W*

L(
ea

Để xem thông tin 1 CSDL bất kỳ nào đó:
Sp_helpDB [database]
22

Đơn vị cơ bản để lưu trữ CSDL là trang
(page)

Trang là 1 khối 8KB nằm liên tục trên đĩa

File log không chứa các trang, nó là 1

chuỗi các record

Các trang dữ liệu chứa tất cả các dữ liệu
của hàng (row), ngoại trừ kiểu dữ liệu
text và image nằm trên các trang riêng.

Các hàng (row) của bảng không thể quá lớn
để kéo dài từ trang này sang trang khác,
vì vậy mỗi hàng bị giới hạn không thể lớn
hơn 8KB (=8060 byte)

Các hàng dữ liệu nằm tuần tự trên mỗi
trang ngay sau tiêu đề (header) của trang
23
Page header chiếm 96
byte chứa thông tin
hệ thống như loại
trang, số không gian
còn trống ,…
24

Các trang được tổ chức thành các
extent

Một extent là 1 tập hợp 8 trang liên
tục nhau.

Một CSDL có 16 extents (128 pages)
trên 1 MB


Extent đầu tiên của mỗi file CSDL được
dùng riêng bởi SQL server để theo dõi
việc phân phối dữ liệu trên đĩa
25

×