THIẾT KẾ CƠ SỞ DỮ LIỆU
GVHD: ThS. Trần Sơn Hải
http://fit.hcmup.edu.vn/~haits
Email:
[email protected]
Nội dung
Chương 1 : Tổng quan các hệ thông tin và cơ sở dữ liệu
Chương 2 : Hệ quản trị cơ sở dữ liệu SQL Server
Chương 3 : Tổng quan quá trình thiết kế CSDL
Chương 4 : Lý thuyết mô hình CSDL quan hệ
Chương 5 : Thiết kế CSDL ở mức quan niệm
Chương 6 : Thiết kế CSDL ở mức lô-gíc
Chương 7 : Thiết kế CSDL ở mức vật lý
Báo Cáo và Ôn Tập
2
1. Tài Liệu Tham Khảo
Thomas M. Connolly, Carolyn E. Begg, A Practical
Approach to Design, Implementation, and
Management, Addion-Wesley, 1999.
J. Ullman, Database and knowledge base
systems,Vol 1. Computer Science Press, 1988
Ramez Elmasri, Shamkant B. Navathe ,
Fundamentals of database systems, Addison Wesley 4th edition, 2003
Joseph M. Hellerstein, Michael Stonebraker,
Readings in Database Systems. Fourth Edition, MIT
Press, 2005
3
Chương 1 : Tổng quan các
hệ thông tin và cơ sở dữ liệu
4
3. Cơ sở dữ liệu (1)
ðịnh nghĩa:
Cơ sở dữ liệu là một hệ thống các thông tin có cấu
trúc, ñược lưu trữ trên các thiết bị lưu trữ nhằm
thỏa mãn yêu cầu khai thác thông tin ñồng thời của
nhiều người sử dụng hay nhiều chương trình ứng
dụng với những mục ñích khác nhau
ðH Sư phạm TPHCM
5
5
3. Cơ sở dữ liệu (2)
Ưu ñiểm:
Giảm trùng lắp thông tin xuống mức thấp nhất,
ñảm bảo tính nhất quán và toàn vẹn dữ liệu.
ðảm bảo dữ liệu ñược truy xuất theo nhiều cách
khác nhau.
Khả năng chia sẽ thông tin cho nhiều người, nhiều
ứng dụng khác nhau.
ðH Sư phạm TPHCM
6
6
3. Cơ sở dữ liệu
Những vấn ñề cần giải quyết:
Tính chủ quyền dữ liệu.
Tính bảo mật và quyền khai thác thông tin của
người sử dụng
Tranh chấp dữ liệu
ðảm bảo dữ liệu khi có sự cố
ðH Sư phạm TPHCM
7
7
5. Hệ quản trị cơ sở dữ liệu (1)
Hệ quản trị cơ sở dữ liệu (DBMS – DataBase Management
System) là hệ thống các phần mềm hỗ trợ tích cực cho các
nhà phân tích, thiết kế và khai thác CSDL.
Các DBMS thông dụng: Visual FoxPro, Microsoft Access,
SQL Server, DB2, Oracle … hầu hết các DBMS hiện nay
ñều dựa trên mô hình quan hệ.
ðH Sư phạm TPHCM
8
8
5. Hệ quản trị cơ sở dữ liệu (2)
Một DBMS phải có:
Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
Từ ñiển dữ liệu (Data Dictionary)
Có biện pháp bảo mật khi có yêu cầu
Cơ chế giải quyết tranh chấp dữ liệu
Có cơ chế sao lưu (backup), phục hồi (restore)
ðảm bảo tính ñộc lập giữa dữ liệu và chương trình
ðH Sư phạm TPHCM
9
9
5. Hệ quản trị cơ sở dữ liệu (3)
Ngôn ngữ giao tiếp:
Ngôn ngữ mô tả dữ liệu (DDL – Data Definition Language): cho
phép khai báo cấu trúc CSDL, các mối liên hệ của dữ liệu, các
quy ñịnh, ràng buộc dữ liệu.
Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language):
cho phép thực hiện thao tác thêm, xóa, sửa dữ liệu.
Ngôn ngữ truy vấn có cấu trúc (SQL – Structured Query
Language): cho phép người khai thác sử dụng ñể truy vấn thông
tin cần thiết.
Ngôn ngữ quản lý dữ liệu (DCL – Data Control Language) cho
phép thay ñổi cấu trúc bảng, khai báo bảo mật, cấp quyền cho
người sử dụng.
ðH Sư phạm TPHCM
10
10
Các Thành Phần Liên Quan
Bộ phận quản lý tập tin
.mdf : meta data file
.ldf
: log data file
.bak : bakup data file
Bộ phận quản lý ñĩa
Bộ phận quản lý dữ liệu vật lý
11
Tổ Chức Vật Lý trên SQL Server
Dữ liệu trong CSDL ñược tổ chức thành các thành
phần (Component) logic cho user sử dụng như:
Table, View….
Dữ liệu vật lý có thể lưu trên nhiều file hay thậm
chí nhiều ổ ñĩa.
Người dùng (trừ các DBA) chỉ làm việc trên các
thành phần logic của SQL Server.
12
Kiến trúc của SQL Server
13
Kiến trúc của SQL Server
• Các database hệ thống của SQL Server
– master Database chứa thông tin về cấu hình,
phần quyền của hệ thống
– tempdb Database chứa dữ liệu tạm cần lưu
trữ
– model Database chứa database mẫu ñể tạo
một database mới
– msdb Database ñể hỗ trợ SQL Server Agent
14
Kiến trúc của SQL Server
15
Hệ thống
16
Một tập hợp các thành phần liên kết với nhau, thể hiện qua
một phạm vi (boundary) xác ñịnh, hoạt ñộng kết hợp với
nhau nhằm ñạt ñến những mục ñích xác ñịnh.
ðầu vào
Thành phần
Phạm vi
Giao diện
Liên hệ giữa các
thành phần
16
ðầu ra
Các ñặc ñiểm của hệ thống
17
Thành phần (component)
Liên hệ giữa các thành phần
Ranh giới (boundary)
Mục ñích (purpose)
Môi trường (environment)
Giao diện (interface)
ðầu vào (input)
ðầu ra (output)
Ràng buộc (constraints)t
ðầu
vào
Giao
diện
Thành
phần
Phạm
vi
Liên hệ
giữa các
thành phần
ðầu ra
17
Hệ thống – Ví dụ
18
Xem cửa hàng bán nước giải khát như một hệ thống:
Môi trường: khách hàng, nhà cung cấp,
ngân hàng,…
ðầu vào:
Nước
giải
khát,
tiền mặt,
lao ñộng,
tài sản,
….
Kho
Phòng
bán
hàng
Văn phòng
Ranh giới
18
ðầu ra:
Nước
giải
khát,
tiền mặt,
bảng giá,
hóa ñơn,
…
Hệ thống thông tin
19
Thông tin: khái niệm phản ánh sự hiểu biết của con
người về một ñối tượng
Dữ
Dữ liệu
liệu
Sản
Sản xuất
xuất thống
thống tin
tin
Dữ
Dữ liệu
liệu nhập
nhập
hàng
hàng
Lập
Lập báo
báo cáo
cáo tồn
tồn kho
kho
Dữ
Dữ liệu
liệu xuất
xuất
hàng
hàng
Thông
Thông tin
tin
Báo
Báo cáo
cáo tồn
tồn
kho
kho
19
Hệ thống và HTTT
20
Hệ thống gắn liền với một tổ chức cụ thể nhằm
ñiều hành tổ chức một cách tốt nhất. Hai yếu tố
quan tâm:
Tổ chức: cơ quan hành chính, trường học, doanh
nghiệp,…
Môi trường của tổ chức:
Các cơ quan hành chính khác mà cơ quan cần làm việc
chung hoặc hệ thống luật phải tuân theo.
Tổ chức kinh tế: ngân hàng, khách hàng, nhà cung ứng, hệ
thống luật kinh doanh,…
20
Câu hỏi thảo luận
Hệ thống thông tin là gì?
Vai trò của CSDL trong hệ thống thông tin.
Phân biệt dữ liệu, thông tin và tri thức?
ðề xuất một quy trình thiết kế cơ sở dữ liệu.
21
Tóm lại
Khái niệm cơ sở dữ liệu
Mục tiêu của các hệ CSDL
Kiến trúc và chức năng của một hệ CSDL
Vai trò cơ sở dữ liệu trong các hệ thống thông tin
22
Chương 2 : Hệ quản trị
cơ sở dữ liệu SQL Server
1 of 100
GIỚI THIỆU TỔNG QUAN VỀ SQL SERVER
I. Tổng quan :
1. SQL SerVer laø một hệ quản trị CSDL quan
hệ
A. Cơ Sở Dữ Liệu Quan Hệ :
Dữ liệu ñược tổ chức lưu trữ thaønh
nh
từng bảng
Một bảng duøng
ng ñể lưu trữ thoâng tin
của một ñối tượng ngoaøi thế giới thực
Một bảng ñược tạo từ doøng
ng vaø cột
2 of 100
Tổng Quan : (tt)
C
ột ::Duø
Duøng
ể lưu tr
ữ thu
ộc ttính
ính ccủa
ủa ññối
ối tư
ợng
ng ññể
Cột
trữ
thuộc
tượng
M
ột bbảng
ảng ph
ải co
ểu m
ột ccột,Thứ
ột,Thứ ttự
ự ccột
ột
Một
phải
coùù to
toáái thi
thiểu
một
không quan tr
ọng
trọng
M
ột co
ộc ttính
ính cơ bbản
ản
Một
coäät co
coùù ba thu
thuộc
Column Name ::Teâ
Teânn ccột,trong
ột,trong m
ột
một
bbảng
ảng khoâng th
ể co
ng teân
thể
coùù hai co
coäät tru
truøøng
Data Type ::Kiểu
Kiểu ddữ
ữ liliệu
ệu
Length ::chiều
chiều da
ủa ddữ
ữ liliệu
ệu
daøøi ccủa
3 of 100
Tổng Quan(tt)
Doøng :tập hợp dữ liệu của nhiều cột
Trong một bảng khoâng theå coù hai
doøng truøng thoâng tin
Moät doøng cho bieát thoâng tin cuï theå
cuûa moät ñoái töôïng löu tröõ trong
baûng
Một bảng coù thể khoâng coù doøng
naøo
4 of 100
Tổng Quan(tt)
Khoa
ính (Primary Key) :
Khoaùù Ch
Chính
T
ập hhợp
ợp ccủa
ủa m
ột hay nhi
ều ccột
ột trong bbảng
ảng
Tập
một
nhiều
D
ữ liliệu
ệu ttại
ại ccột
ột na
ỗng
Dữ
naøøy kha
khaùùc rrỗng
D
ữ liliệu
ệu ttại
ại ccột
ột na
ất trong bbảng
ảng
Dữ
naøøy la
laøø duy nh
nhất
5 of 100
Tổng Quan (tt)
Khoa
ại (Foreign Key) :
Khoaùù ngo
ngoại
T
ập hhợp
ợp ccủa
ủa m
ột hay nhi
ều ccột
ột trong
Tập
một
nhiều
bbảng,maø
ảng,maø ca
ính ccủa
ủa bbảng
ảng
caùùc co
coäät na
naøøy la
laøø khoa
khoaùù ch
chính
kha
khaùùc
D
ữ liliệu
ệu ttại
ại ca
ột na
ặc rrỗng,hoặc
ỗng,hoặc ph
ải
Dữ
caùùc ccột
naøøy ho
hoặc
phải
llấy
ấy ttừ
ừ bbảng
ảng ma
ột la
ính
maøø ccột
laøøm khoa
khoaùù ch
chính
6 of 100
Tổng Quan(tt)
B.H
ệ Qu
ản Tr
ệ:
B.Hệ
Quản
Trịị CSDL Quan H
Hệ
La
ột hhệ
ệ th
ống ca
ình co
Laøø La
Laøø m
một
thống
caùùc chương tr
trình
coùù
ca
ức năng
caùùc ch
chức
T
ạo va
ản ly
ột CSDL Quan hhệ
ệ
Tạo
vaøø qu
quản
lyùù m
một
khai tha
ột CSDL Quan hhệ
ệ
thaùùc M
Một
B
ảo m
ật M
ột CSDL Quan hhệ
ệ
Bảo
mật
Một
T
ạo bbảng
ảng sao (Backup) M
ột CSDL Quan hhệ
ệ
Tạo
Một
Ph
ục hhồI(Restore)
ồI(Restore) M
ột CSDL Quan hhệ
ệ
Phục
Một
SQL Server la
ột hhệ
ệ qu
ản tr
laøø m
một
quản
trịị CSDL
Quan hhệ
ệ
7 of 100
Caùc heä thoáng SQL Server
Heä Thoáng SQL Server coù theå trieån khai
cho moät heä thoáng kieåu Client-Server
hoaëc trieån khai cho moät heä thoáng maùy
ñôn
Heä thoáng ñöôïc trieån khai phuï thuoäc vaøo
soá ngöôøi truy caäp ñoàng thôøi ñeán CSDL
ñeå thöïc hieän moät coâng vieäc
8 of 100
Caùc heä thoáng SQL Server
Trong moâ hình ClientServer ta coù theå trieån
khai theo moâ hình 2 lôùp
hoaëc 3 lôùp
9 of 100
Caùc heä thoáng SQL Server
10 of 100
Caøi ðặt SQL Server
A.Yeâu ccầu
ầu ph
ần ccứng
ứng :
phần
Phần cứng
CPU
Yêu cầu
Từ Pentium 166 MHz
trở lên
RAM
Từ 64MB trở lên
ðĩa cứng
Còn trống 100MB trở
lên
Màn hình
VGA có ñộ phân giải
800X600 trở lên
11 of 100
Caøi ðặt SQL Server
A.Yeâu ccầu
ầu ph
ần M
ềm:
phần
Mềm:
Phiên bản SQL
Server
Enterprise Edition
Standard Edition
Hệ ñiều Hành
Personal Edition
Coù thể chạy treân tất
cả caùc hệ ñiều haønh
Microsoft Windows
Server(nt,2000,Xp
Server)
12 of 100
Caøi ñặt Personal Edition SQL Server
1. ðưa ñó
a CD ch
öông tr
ình va
maøn hhình
ình sau xua
ñóa
chöông
trình
vaøøo ,,maø
xuaáát
hie
hieään
Choïn
13 of 100
Caøi ñaët Personal Edition SQL Server(tt)
2.Ma
ình sau xua
2.Maøøn hhình
xuaáát hie
hieään
Choïn
14 of 100
Caøi ñaët Personal Edition SQL Server(tt)
3.Ma
ình sau xua
3.Maøøn hhình
xuaáát hie
hieään
Choïn
15 of 100
Caøi ñaët Personal Edition SQL Server(tt)
4.Ma
ình sau xua
4.Maøøn hhình
xuaáát hie
hieään
Choïn
16 of 100
Caøi ñaët Personal Edition SQL Server(tt)
5.Ma
ình sau xua
5.Maøøn hhình
xuaáát hie
hieään
Choïn
17 of 100