CHƯƠNG 1
Giảng viên: Trần Thị Kim Chi
1
1
Tổng quan về Cơ Sở Dữ Liệu quan hệ
2
Hệ Quản Trị Cơ Sở Dữ Liệu
3
Giới thiệu SQL Server
SQL Server Services & Tools
4
5
Giới thiệu SQL Server 2008
6
Bộ công cụ Management Studio
7
Metadata – Siêu dữ liệu
2
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
ữ ệ Data (d li u) và information (thông tin)
Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, … Dữ liệu không có cấu trúc: hình ảnh, âm thanh,
– Data: sự biểu diễn của các đối tượng và sự kiện được ghi nhận và được lưu trữ trên các phương tiện của máy tính.
đoạn phim, …
– Information: dữ liệu đã được xử lý để làm tăng sự
hiểu biết của người sử dụng.
3
Phân biệt giữa data và information??
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
10273 00298
CDTH7 CDTH7
20 19
ễ
Nguyễn Văn Hoà Nguy n Minh Tâm
ươ
ng
Dữ liệu 1 2 … 151 152
50542 50075
TCTH33 CNTH34
18 20
Hồ Xuân Ph Lê Vi ệ
t Dũng
ữ ệ
ữ ả ọ Mã sinh viên H và tên sinh viên 10273 00298
L pớ CDTH7 CDTH7
Tu iổ 20 19
ễ
Nguyễn Văn Hoà Nguy n Minh Tâm
ươ
ng
Thông tin: d li u trong ng c nh STT 1 2 … 151 152
50542 50075
TCTH33 CNTH34
18 20
Hồ Xuân Ph Lê Vi ệ
t Dũng
4
ữ ệ Data (d li u) và information (thông tin)
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
5
ữ ệ Data (d li u) và information (thông tin)
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
• Siêu dữ liệu (metadata): mô tả các tính chất hoặc các đặc điểm của dữ liệu khác. Các đặc tính là định nghĩa dữ liệu, cấu trúc dữ liệu, qui tắc/ràng buộc.
ữ ệ Data (d li u) và information (thông tin)
Length 5 30
Type Char Char
Description Mã sinh viên H vàọ
tên sinh
7
Siêu dữ liệu cho Sinh_viên Data Item Value Name MaSV Hoten viên Lop Tuoi
Char smallint
Lớp h cọ Tuổi
6
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
ơ ở ữ ệ C s d li u
Cơ sở dữ liệu là một tập hợp dữ liệu có liên quan luận lý với nhau chứa thông tin về 1 tổ chức nào đó, có tổ chức và được dùng chung đáp ứng nhu cầu khai thác thông tin của người dùng.
ươ
ụ
Ch
ứ ng trình ng d ng 1
ơ ở ữ ệ C s d li u
ươ
ụ
Ch
ứ ng trình ng d ng 2
ươ
ng
ườ ử ụ
Ng
i s d ng khai thác
ệ ố Các h th ng ch ụ ứ trình ng d ng khai thác
7
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
ơ ở ữ ệ ủ ể ặ Đ c đi m c a C s d li u
– Dữ liệu được lưu trữ trong bộ nhớ ổn định như đĩa cứng. Khi dữ
liệu không cần dùng nữa thì có thể xoá hay sao lưu lại.
• Persistent:
•
nối với nhau để tạo 1 tổng thể chung
– Database vừa chứa thực thể và cả mối quan hệ giữa các thực
thể
Interrelated: – Dữ liệu được lưu trữ như những đơn vị riêng biệt và được kết
– Database có thể có nhiều người dùng và nhiều người dùng có
thể sử dụng cùng 1 database tại cùng 1 thời điểm.
– Bài toán đồng thời (concurrency problem)
8
• Shared:
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Ư ể ơ ở ữ ệ ủ u đi m c a C s d li u
– Giảm bớt sự dư thừa dữ liệu
– Nhất quán dữ liệu
– Dữ liệu lưu trữ có thể được chia sẻ
– Có thể thiết lập các luật lên dữ liệu
– Toàn vẹn dữ liệu
9
– Bảo mật dữ liệu
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Các hệ thống CSDL
• Các CSDL được dùng để lưu trữ dữ liệu một cách hiệu quả và có tổ chức sao cho quản lý được nhanh chóng và dễ dàng.
– Giảm bớt sự dư thừa dữ liệu
– Nhất quán dữ liệu
– Dữ liệu lưu trữ có thể được chia sẻ
– Có thể thiết lập các luật lên dữ liệu
– Toàn vẹn dữ liệu
10
– Bảo mật dữ liệu
• Các ưu điểm của các hệ thống CSDL:
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Các hệ thống CSDL
• Các CSDL có thể khác nhau về chức năng và mô hình
của dữ liệu.
• Một mô hình dữ liệu mô tả một bộ chứa dữ liệu, xử lý
11
và truy xuất dữ liệu từ bộ chứa.
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Mô hình phân cấp
12
• Mô hình CSDL phân cấp được biểu diễn dưới dạng cây và các đỉnh của cây là các bản ghi. Các bản ghi liên kết với nhau theo mối quan hệ cha-con. – Một cha có nhiều con – Một con chỉ có một cha
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
13
Mô hình phân cấp
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Mô hình phân cấp
– Thể hiện dễ dàng quan hệ 1-N. – Việc phân chia dữ liệu dễ thể hiện, đảm bảo an toàn dữ
liệu
– Tính độc lập của chương trình và các dữ liệu được đảm
bảo • Nhược điểm:
– Không thể hiện được mối quan hệ M-N – Trong một hệ thống phân cấp, dữ liệu được tổ chức như
trên dẫn đến khó sửa đổi dữ liệu.
14
• Ưu điểm:
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Mô hình mạng
• Mô hình phân cấp là tập con của mô hình mạng. • Mô hình mạng sử dụng kiến trúc cây phân cấp và cho
phép các bảng con có thể có nhiều bảng cha.
15
• Dữ liệu được lưu trữ trong các bộ thay vì lưu trong định dạng cây phân cấp. Điều này giải quyết vấn đề dư thừa dữ liệu.
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
16
Mô hình mạng
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Mô hình mạng
- Dễ thể hiện mối liên kết M-N - Kiểu truy cập dữ liệu mềm dẻo hơn kiểu phân cấp
• Ưu điểm:
- Việc sửa đổi số liệu khó khăn. - Với những lập trình viên, việc thiết kế CSDL khó.
17
• Nhược điểm:
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
18
Mô hình thực thể kết hợp
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Relational Data Model
Relational Database Entities
Stud ent Stud ent Id Id
Name Name
Suburb Suburb
Ta ke s Ta ke s SID SID
SNO SNO
1108 1108
Ro b ert Ro b ert
Ke w Ke w
1108 1108
21 21
3936 3936
Gle n Gle n
Bund o ora Bund o ora
1108 1108
23 23
8507 8507
Norm a n Norm a n
Bund o ora Bund o ora
8507 8507
23 23
8452 8452
Ma ry Ma ry
Ba lw yn Ba lw yn
8507 8507
29 29
Sub jec t Sub jec t
Attributes
No No
Name Name
Dept Dept
21 21
Syste m s Syste m s
CSC E CSC E
23 23
Da ta b a se Da ta b a se
CSC E CSC E
29 29
VB VB
CSC E CSC E
18 18
Alg eb ra Alg eb ra
Ma ths Ma ths
19
Relationship
Mô hình quan hệ
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Entities
Tables
Attributes
Fields
20
Relations
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Student
Id
Name
Suburb
1108
Robert
Kew
3936
Glen
Bundoor a
• Database: a collection of tables.
8507
Norman Bundoor
a
8452
Mary
Balwyn
• Table: information about a single entity
•Primary key: (set of) column(s) that uniquely identifies a record.
Takes SID
SNO
1108
21
1108
23
8507
23
21
8507
29
•Foreign key: (set of) column(s) used to link table together
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
LOP
SINHVIEN
MALOP
TENLOP
SISO
TCTHA
TCTH32A
80
MASV
TEN
MALOP
TCTHB
TCTH32B
65
TCTH01
Sơn
TCTHA
TCTHC TCTH32C
82
TCTH02
Bảo
TCTHB
KETQUA
TCTH03
Trang
TCTHA
MASV
MAMH DIEM
MONHOC
TCTH01
THVP
8
MAMH
TENMH
TINCHI KHOA
TCTH01
CSDL
6
THVP
Nhập môn TH 4
CNTT
TCTH01
CTDL
7
TCTH02
THVP
9
CSDL
4
CNTT
Cấu trúc dữ liệu
TCTH02
CSDL
8
CTDL
Toán rời rạc
3
TOAN
TCTH03
THVP
22 10
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Ví dụ: Để quản lý hóa đơn bán hàng ta cần xây dựng một
CSDL gồm các bảng sau :
• SanPham: Mô tả các thông tin về sản phẩm như Masp,
Tensp, Donvitinh, DongiaMua, Slton.
• KhachHang: Mô tả các thông tin về khách hàng như
Makh, Tenkh, Diachi, DienThoai.
• Nhanvien: Mô tả các thông tin về nhân viên như Manv, Honv, Tennv, Phai, Ngaysinh, Diachi, DienThoai, Hinh. • Hoá đơn: Mô tả các thông tin về hóa đơn như Mahd, LoaiHD, Makh, Manv, NgaylapHD, NgayGiaoNhanHang, DienGiai.
• Chitiethoadon: Mô tả các thông tin chi tiết của từng hóa
23
đơn như Mahd, Masp, Soluong, DongiaBan.
1
24
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
1
25
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
1
26
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Mô hình đối tượng
• Đối tượng có thể chứa các dữ liệu phức hợp như văn
bản, hình ảnh, tiếng nói và hình ảnh động.
• Một đối tượng có thể yêu cầu hoặc xử lý dữ liệu từ một đối tượng khác bằng việc gửi đi một thông báo đến đối tượng đó.
• Mô hình hướng đối tượng biểu diễn một sơ đồ mới để
lưu trữ và thao tác dữ liệu.
27
• Từ một đối tượng có thể sinh ra một đối tượng khác.
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
28
Mô hình đối tượng
1
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Bài tập Bài tập
Việc quản lý nhân viên của một công ty như sau: •Công ty gồm nhiều nhân viên, mỗi nhân viên có một MANV duy nhất, mỗi MANV xác định Hoten, Phai, NgaySinh, Phongban. Mỗi nhân viên chỉ do một phòng ban quản lý. •Mỗi phòng ban có một MAPB duy nhất, mỗi MAPB xác dịnh TenPB, DiaDiem, MaTP (Mã người phụ trách), KPHD(Kinh phí hoạt động), DT (Doanh thu của từng phòng ban). •Nhân viên được chia làm hai loại nhân viên. Nhân viên hành chánh và nhân viên tham gia sản xuất. Nhân viên hành chánh làm việc theo giờ hành chánh. Nhân viên tham gia sản xuất thì làm nhiều công việc khác nhau. •Mỗi công việc có một mã MACV, Macv xác định TENCV, DONGIA. Công ty có tối đa 3 công việc. •Hàng tháng công ty chấm công cho nhân viên để tính lương cho nhân viên như sau:
– Nhân viên hành chánh chấm theo số ngày làm trong tháng. Mỗi nhân viên một tháng phải làm tối thiểu 25 ngày công. Lương tháng được tính theo công thức: SoNC*LCB +Thuong – Nhân viên sản xuất thì sẽ chấm công theo số lượng của mỗi công việc trong một tháng. Mỗi nhân viên phải làm ít nhất một công việc trong một tháng. Mỗi công việc số lượng 29 nhân viên làm phải lớn hơn 10. Lương tháng được tính theo công thức: Tổng SoLuong*Dongia của mỗi công việc +Thuong
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Bài tập Bài tập
Câu hỏi: •Xây dựng mô hình thực thể kết hợp gồm: Xác định các thực thể, thuộc tính, khóa, các mối kế hợp và vẽ mô hình thực thể kết hợp •Chuyển mô hình thực thể về lược đồ cơ sở dữ liệu quan hệ và xác định các khóa •Xác định các mối quan hệ và các ràng buộc của lược đồ cơ sở dữ liệu trên
30
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Cách tiếp cập CSDL Cách tiếp cập CSDL
ươ ng trình Các ch ấ khai báo c u trúc
Ngôn ngữ mô ả t d ữ li uệ
CSDL
Các từ đi n ể d ữ li uệ
NSD
Ch ứ
ươ ng trình ụ ng d ng A
Ngôn ngữ thao tác d ữ li uệ
NPTUD
31
NQTCSDL
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
1. Người quản trị CSDL
– Quản lý sự chính xác, toàn vẹn của dữ liệu và ứng dụng. – Lưu phòng hờ và phục hồi CSDL. – Giữ liên lạc với người PTUD và người dùng chung. – Quản lý sự hoạt động trôi chảy và hiệu quả của CSDL và
HQTCSDL. 2. Người PTUD
– Thiết kế, tạo dựng và bảo trì hệ thông tin cho người sử
dụng. 3. Người sử dụng:
– Tương tác với CSDL thông qua chương trình ứng dụng (application program) được phát triển bởi người PTUD hay các công cụ truy vấn của hệ QTCSDL.
– Có thể nhìn thấy dữ liệu họ cần thông qua khung nhìn (View 32
- tiện ích của DBMS)
Cách tiếp cập CSDL Cách tiếp cập CSDL
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Qui trình phát triển CSDL Qui trình phát triển CSDL
• Gồm 6 giai đoạn sau:
– Mô hình hóa xí nghiệp (Enterprise modeling) – Mô hình hóa dữ liệu ý niệm (Conceptual data
modeling)
– Thiết kế Database luận lý (logical database design) – Thiết kế và định nghĩa database vật lý (physical
database design and definition)
33
– Thực hiện database (database implementation) – Bảo trì database (database maintenance)
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
SVIEN
Cấu trúc dữ liệu trong Lược đồ Quan niệm
MASV HOTENSV
PHAI
MALOP
LOP
MALOP
TENLOP
SISO
MONHOC
MAMH
TENMH
TINCHI SOTIET
KETQUA
MASV
MAMH
DIEM
34
1
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Cấu trúc Dữ liệu trong Lược đồ Vật lý
Vị trí bắt đầu
Tên mục dữ liệu
Độ dài (bytes)
TEN
1
30
MASV
31
4
PHAI
35
4
MAKH
39
4
• Tổ chức vật lý các mẫu tin SVIEN
35
– chiều dài của mẫu tin SVIEN = 42 bytes – được sắp xếp và lập chỉ mục trên MASV
1 1
ộ ệ ủ ế ế Ki n Trúc C a M t H QTCSDL Ki n trúc Database
Kiến trúc ba mức Kiến trúc ba mức
External level
User view 1
User view 2
User view 3
Conceptual level
Conceptual schema
Internal level
Internal schema
Physical database organization
Database
36
Database System
1 1
ộ ệ ủ ế ế Ki n trúc Database Ki n Trúc C a M t H QTCSDL
1. Mức trong: • Đây là mức lưu trữ CSDL. Tại mức này, vấn đề cần giải quyết là, dữ liệu gì và được lưu trữ như thế nào? ở đâu (đĩa từ, băng từ, track, sector ... nào)? Cần các chỉ mục gì? Việc truy xuất là tuần tự (Sequential Access) hay ngẫu nhiên (Random Access) đối với từng loại dữ liệu.
Kiến trúc ba mức Kiến trúc ba mức
37
• Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL (Administrator), những người sử dụng (NSD) chuyên môn.
1 1
ế ế ệ ủ Ki n Trúc Database Ki n Trúc C a H QTCSDL
Kiến trúc ba mức Kiến trúc ba mức
2. Mức quan niệm: • Tại mức này sẽ giải quyết cho câu hỏi CSDL cần phải lưu giữ bao nhiêu loại dữ liệu? đó là những dữ liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào?
• CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL mức vật lý; hoặc ngược lại, CSDL vật lý là sự cài đặt cụ thể của CSDL mức quan niệm.
• Làm việc tại mức này có các nhà chuyên môn, các kỹ
38
sư tin học
1
ế Ki n Trúc Database
Kiến trúc ba mức Kiến trúc ba mức
3. Mức ngoài: • Đó là mức của người sử dụng và các chương trình ứng dụng. Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và những người sử dụng không chuyên.
39
• Người sử dụng hay chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc trên một phần CSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định, gọi là khung nhìn (View).
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Hệ quản trị CSDL Hệ quản trị CSDL
• CSDL đặt ra vấn đề cần giải quyết là
– Tính chủ quyền – Cơ chế bảo mật hay phân quyền hạn khi khai thác
dữ liệu.
– Cung cấp một giao diện giữa người sử dụng và dữ
liệu.
– Phục hồi dữ liệu khi có sự cố xảy ra
ầ ế ấ ả Ph n m m có kh năng gi ề i quy t các v n đ
40
ả ả ị ơ ở ữ ệ ề ệ trên là h qu n tr c s d li u
2
ơ ả ổ ệ ệ ề T ng quan v CSDL quan h Các khái ni m c b n
Hệ quản trị CSDL Hệ quản trị CSDL
• Hệ quản trị CSDL (DBMS – DataBase Management
System) – Hệ quản trị CSDL là tập hợp các chương trình, phần mềm dùng để quản lý cấu trúc và dữ liệu của CSDL và điều khiển truy xuất dữ liệu trong CSDL. – Cho phép người sử dụng định nghĩa, tạo lập, bảo
trì CSDL và cung cấp các truy xuất dữ liệu.
– Cung cấp một giao diện giữa người sử dụng và dữ
41
liệu.
2
ơ ả ổ ệ ề ệ T ng quan v CSDL quan h Các khái ni m c b n
Hệ quản trị CSDL Hệ quản trị CSDL
• Các chức năng của hệ quản trị CSDL
– Lưu trữ, truy xuất và cập nhật dữ liệu
• Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) • Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language).
– Quản lý giao tác (transaction management). – Điều khiển đồng thời (concurrency control) – Sao lưu và phục hồi dữ liệu. – Bảo mật dữ liệu
• Ngôn ngữ điều khiển dữ liệu (DCL - Data Control Language).
– Hỗ trợ truyền thông dữ liệu. – Duy trì tính toàn vẹn / nhất quán dữ liệu. – Cung cấp các tiện ích.
42
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Hệ quản trị CSDL Hệ quản trị CSDL
• Ngôn ngữ định nghĩa dữ liệu: Tạo cấu trúc của bảng SinhVien
CREATE TABLE SinhVien (MaSV NUMBER(7,0) NOT NULL, HoTen VARCHAR(25) NOT NULL, DiaChi VARCHAR(30), NoiSinh VARCHAR(20), CONSTRAINT PK_SinhVien PRIMARY KEY (MaSV));
• Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các SV ở
‘HCM’ SELECT MaSV, HoTen, DiaChi FROM SinhVien WHERE NoiSinh = ‘HCM’;
• Ngôn ngữ điều khiển dữ liệu: Cho phép người sử dụng A và B được
43
phép xem và thêm dữ liệu vào bảng SinhVien GRANT SELECT, INSERT ON SinhVien TO A,B;
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
• Một hệ quản trị CSDL quan hệ (RDBMS) là một hệ quản trị
CSDL được xây dựng trên mô hình quan hệ.
• Một CSDL quan hệ là một CSDL được chia nhỏ thành các đơn vị logic gọi là bảng, các bảng có quan hệ với nhau trong CSDL.
Hệ quản trị CSDL quan hệ (RDBMS)
Quan hệ
Bảng 2 Khóa
Bảng 1 Khóa
CSDL
Dữ liệu...
Dữ liệu...
44
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
DBMS
RDBMS
Nó không cần chứa dữ liệu trong cấu trúc bảng và các mục dữ liệu không có quan hệ với nhau.
Trong RDBMS, cấu trúc bảng là bắt buộc và giữa chúng có mối quan hệ với nhau. Các mối quan hệ này làm cho người dùng có thể áp dụng và quản lý các qui tắc kinh doanh vào các đoạn mã.
RDBMS có thể lưu trữ và thao tác trên một số lượng lớn dữ liệu.
Số lượng nhỏ dữ liệu được lưu trữ và thao tác.
DBMS kém đảm bảo hơn RDBMS.
DBMS kém đảm bảo hơn RDBMS.
Nó là 1 hệ thống đơn người dùng.
Nó là 1 hệ thống đa người dùng
Nó hổ trợ kiến trúc client/server.
Hầu hết các DBMS không hổ trợ kiến trúc client/server.
45
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Quan hệ
46
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Quan hệ
47
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Quan hệ
48
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Quan hệ
49
2
ị ơ ở ữ ệ ệ ả H Qu n Tr C S D Li u
Các loại hệ quản trị CSDL
Phần mềm miễn phí hoặc nguồn mở •Cloudscape •Firebird •HSQLDB •Ingres (cơ sở dữ liệu) •MaxDB •MonetDB •MySQL Quan hệ •PostgreSQL •SQLite •tdbengine
50
Phần mềm có bản quyền •4th Dimension •ANTs Data Server •Dataphor •Daffodil database •DB2 •FileMaker Pro •Informix •InterBase •Matisse [1] •Microsoft Access •Microsoft SQL Server •Mimer SQL •NonStop SQL •Oracle •Sand Analytic Server (trước đây là Nucleus) •SmallSQL [2] •Sybase ASA (trước đây là Watcom SQL) •Sybase •Sybase IQ •Teradata •ThinkSQL [3] •VistaDB [4]
3
Giới thiệu SQL Server
• Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation database management system – RDBMS) chạy trên hệ thống mạng Windows NT 4 hay Windows.
– Network servers: chuyên cung cấp các tài nguyên cho máy trạm – Client/Server Application: phân chia nhiệm vụ giữa hệ thống
máy trạm và máy chủ
• Có thể dùng trong các mô hình :
– Hỗ trợ các tiến trình giao tác với số lượng lớn. – Các hỗ trợ để ra quyết định.
• Một hệ quản trị gồm hai thành phần :
51
• Phương pháp truy xuất máy trạm : – Ngôn ngữ Transact-SQL (T-SQL) – OLE DB/ODBC – ActiveX Data Objects (ADO)
2
Giới thiệu SQL Server
server thông qua mạngserver đọc và xử lý yêu cầu
• Server kiểm tra tính bảo mật và dò tìm các chỉ mục, dữ liệu được khôi phục và khai thác, mã phía server được thực thikết quả cuối cùng được gửi về lại cho client
52
Cơ chế hoạt động: theo mô hình Client/server • Client hay người dùng gửi yêu cầu (request) đến database
2
Giới thiệu SQL Server
11
Client Application Client Application
QueryQuery
Result Set Result Set
SQL Server SQL Server Server NetLibraries Server NetLibraries
55
Open Data Services Open Data Services
Database API Database API (OLE DB, ODBC, (OLE DB, ODBC, DBLibrary) DBLibrary)
33
QueryQuery
Result Set Result Set
22
Client NetLibrary Client NetLibrary
Relational Relational Engine Engine
Server
Client
44
Storage Engine Storage Engine
Processor Processor
53
Memory Memory
Local Database
2
Giới thiệu SQL Server
Client/Server Architecture
Client
SQL Server
OLTPOLTP
Results Results Results Results
OLAPOLAP
Query Query Query Query
Client Application
Relational Database Management System
54
2
Giới thiệu SQL Server
Kiến trúc 2-tầng 1-2
2-Tier Model
Trình bày dữ liệu
Dịch vụ dữ liệu
Sử dụng kiến trúc 2-tầng:
• Dữ liệu chia sẻ giữa máy chủ trung tâm và máy client
• Máy khách gửi yêu cầu đến máy chủ, máy chủ xử lý yêu cầu và
trả kết quả cho máy khách
• Kiến trúc này còn được gọi là kiến trúc client-server
55
2
Giới thiệu SQL Server
ế ầ Ki n trúc 3t ng 22
Thành phần
Logic ứng dụng
Kiến trúc đa tầng
Dịch vụ dữ liệu
ế
ầ
Trình bày dữ liệu Ki n trúc 3t ng
• Được gọi là kiến trúc ứng dụng • Kiến trúc ứng dụng chia ứng dụng thành 3 nhóm dịch vụ
– Tầng dịch vụ người dùng được gọi là tầng trình bày. Trình bày dữ
liệu cho người dùng.
– Tầng dịch vụ tác nghiệp được gọi là tầng logic ứng dụng. Đó là tầng trung gian giữa giao diện và cơ sở dữ liệu. Chức năng: xử lý kiểm tra dữ liệu hợp lệ, logic truy cập dữ liệu.
– Tầng dịch vụ tương tác trực tiếp với dữ liệu nguồn như: thêm mới,
56
sửa, xóa, rút trích
2
Giới thiệu SQL Server
N-tier Architecture
N-tier Architecture
57
2
Giới thiệu SQL Server
– SQL server có chức năng chính là gửi các yêu cầu giữa
một máy tính Client với một máy SQL Server.
– Hỗ trợ việc phát triển các ứng dụng CSDL nâng cao
như : SQL, T-SQL, …
– Hỗ trợ các truy vấn và giao tác phân tán, replication – Online Transaction Processing (OLTP) – Data Warehousing – Analysis Services (OLAP) – Meta Data Services – Các ứng dụng về thương mại điện tử (E-commerrce
applications)
58
58
• Các tính năng quan trọng
P18
3
SQL Server Services & Tools
SQL Server Services
Data Management Transaction and Query
Processing Data Integrity
MSSQLServer Service
Jobs Alerts Operators
Distributed Transaction Management
SQLServerAgent Service
Microsoft Distributed Transaction Coordinator
Server
Full-Text Catalogs Full-Text Indexes
59
Microsoft Search
3
SQL Server Services & Tools
Transact-SQL (T-SQL)
Implementation of Entry-Level ANSI ISO Standard
– Data Definition Language Statements (DDL)
• • Composing of 3 categories
– Data Control Language Statements (DCL)
60
– Data Manipulation Language Statements (DML)
3
SQL Server Services & Tools
CLR Integration
61
• Lets you write your database queries using .NET • Any .NET language (C#, VB, C++) • Create and debug using Visual Studio IDE
3
SQL Server Services & Tools
SQL Server Editions
• Enterprise (Developer) Edition
• Standard Edition
• Workgroup Edition
• SQL Server Express Edition
62
• SQL Server Everywhere Edition
4
Giới thiệu SQL Server 2008
SQL Server 6.5
SQL Server 7.0
SQL Server 2000
SQL Server 2005
SQL Server 2008
• Enterprise-class
• Re-architecture
• Data
• Reliability and
• Secure trusted platform for data
scalability
warehousing
• Productive
of relational server
scalability advancements
• Programmability advancements
• First to include
• Internet support
• Deep XML
support
• Data
• Differentiation from Sybase SQL Server
OLAP in database • Auto tuning • Ease-of-use
policy-based management • Optimized and predictable system performance
• End-to-end business intelligence • Manageability • Support for
warehousing • SQL Server CE • 64 bit support
• Dynamic
development
multiple types of data
• Beyond
relational data
Evolution of SQL Server
• Pervasive
Business Insight
Realibility & Security Realibility & Security Integrated Business Intelligence Integrated Business Intelligence
Cross-release Cross-release objective objective
Performance and Scalability Performance and Scalability Automatic Tuning Automatic Tuning
63
4
Giới thiệu SQL Server 2008
• Microsoft SQL Server 2008 là một hệ quản trị cơ sở dữ liệu quan hệ (Relatioan database management system – RDBMS).
– Cung cấp một nền tảng an toàn, tin cậy, giảm được sự phức tạp
trong việc quản lý cơ sở hạ tầng dữ liệu.
– Kết hợp với .NET Framework giảm được sự phức tạp trong việc
phát triển các ứng dụng mới
– Khai thác triệt để và quản lý bất kỳ kiểu dữ liệu nào từ các kiểu
dữ liệu truyền thống đến dữ liệu không gian địa lý mới.
– Cho phép quản lý, lưu trữ, truy xuất, hiệu chỉnh, xóa dữ liệu
64
• Chức năng chính của SQL Server 2008:
4
Giới thiệu SQL Server 2008
65
66
Your Data Any Place, Any Time
4
Giới thiệu SQL Server 2008
Dữ liệu Mọi lúc, Mọi nơi • Được tín nhiệm
•
– Bảo vệ thông tin quý giá – Đảm bảo nghiệp vụ liên tục – Tiên đoán được phản ứng Hiệu suất cao – Quản lý theo chính sách – Đơn giản hoá việc phát triển ứng dụng – Lưu trữ mọi loại thông tin Thông minh – Tích hợp mọi dữ liệu – Chuyển giao thông tin liên quan – Mang lại khả năng thấu hiểu để hành động
67
•
4
Cài đặt SQL Server 2008
Bước 1: Chạy file setup.exe để cài đặt, chọn Installation -> New SQL Server stand-alone ...
68
4
Cài đặt SQL Server 2008
Bước 2: Chọn OkClick Next
69
4
Cài đặt SQL Server 2008
Bước 3: Chọn kiểu cài đặt
70
4
Cài đặt SQL Server 2008
Bước 4: Nhập product key
71
4
Cài đặt SQL Server 2008
Bước 5: Sau khi đồng ý License Terms, chọn các thành phần cài đặt
72
4
Cài đặt SQL Server 2008
Bước 6: Thiết lập cài đặt chọn Default instance
73
4
Cài đặt SQL Server 2008
Bước 7: Cấu hình server
74
4
Cài đặt SQL Server 2008
Bước 8: Cấu hình dữ liệu như sau chọn Window Authentication và Add current User
75
4
Cài đặt SQL Server 2008
Bước 8: Cấu hình analysis services Add Current User Bước 10: Cấu hình report chọn option như hình nhấn Next, Next … Cho đến khi hoàn tất
76
5
Bộ công cụ SQL Management Studio
– SQL Server Management Studio
– Business Intelligence Development Studio
• Hai studio của SQL Server:
• Cả hai studio đều cung cấp các projects được tổ
77
77
chức thành các Solution
5
Các Studio của SQL Server
SQL Server Management Studio
• Là môi trường tích hợp để truy xuất, cấu hình, quản lý
tất cả các thành phần của SQL Server.
78
78
• Kết hợp các chức năng của Enterprise Manager và Query Analyzer trong các phiên bản trước của SQL Server
5
SQL Server Management Studio
Integrated Management Environment
• • Navigation • Administering Databases • Maintaining SQL Server Database • Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script Projects,
79
and Source Control
5
SQL Server Management Studio
80
Integrated Management Environment
5
SQL Server Management Studio
Registered Servers
81
Integrated Management Environment
5
SQL Server Management Studio
Summary Pane
82
Integrated Management Environment
5
SQL Server Management Studio
Template Explorer and Solution Explorer
83
Template Explorer & Solution Explorer
5
SQL Server Management Studio
Navigation with Object Explorer
Demo
• Creating a new database
• Creating a table
• Creating a diagram
84
• Creating a login
5
SQL Server Management Studio
(cid:0) Integrated Management Environment
(cid:0) Navigation • Administering Databases • Maintaining SQL Server Database • Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script Projects, and
Source Control
85 85
5
SQL Server Management Studio
Disaster Recovery
• Choose recovery model
• Manage backup media
86
• Create base functionality script
5
SQL Server Management Studio Configuration Manager
Change the Service Log On Accounts for each SQL Service
Manage the State and Start Mode for SQL Services
Configure SQL Services, Network Protocols and Network Configuration
87
5
SQL Server Management Studio
Services disabled and features not installed by default
New Installation
SQL Server 2008
State of services and features carried over from upgraded installation
SQL Server 2005
SQL Server 2008
88
Surface Area Configuration
5
SQL Server Management Studio
Services disabled and features not installed by default
SQL Server 2008
Surface Area Configuration for Services and Connections
Surface Area Configuration for Features
State of services and features carried over from upgraded installation
89
SQL Server 2008
Surface Area Configuration
5
SQL Server Management Studio
(cid:0)
Integrated Management Environment
(cid:0) Navigation (cid:0) Administering Databases • Maintaining SQL Server Database • Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script
Projects, and Source Control
90 90
5
SQL Server Management Studio
Backup and Restore
Demo
• Creating a Backup Device
• Backing up a Database
• Backing up a Transaction Log
• Restoring a Database
• Export a Database
91
• Import a Database
5
SQL Server Management Studio
Replication Enhancement
• Redesigned replication wizards
• Initializing replication subscribers
• Pre-computed partitions
92
• Transactional parallelism
5
SQL Server Management Studio
View status of all publications and subscriptions
Monitor all the publishers in your organization
93
Replication Monitor
5
SQL Server Management Studio
Internet Replication
XML over HTTP/HTTPS
Binary over TCP/IP
Subscriber
Firewall
Publisher
IIS
https://myserver.mydomain.com
94
5
SQL Server Management Studio
95
Database Tuning Advisor
5
SQL Server Management Studio
Query Editor
Query Editor
Demo
96
Result
5
SQL Server Management Studio
(cid:0)
Integrated Management Environment
(cid:0) Navigation (cid:0) Administering Databases (cid:0) Maintaining SQL Server Database (cid:0) Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script
Projects, and Source Control
97 97
5
SQL Server Management Studio
Templates
• Containing the T-SQL statements
for common tasks.
• Containing parameters for the
user-provided values • As a starting point for
programming (re-)Organized in a tree structure
98
• • Can be created by users
5
SQL Server Management Studio
Solutions
• Script project(s)
• Enabling the organization of files & connections within
project
• can be managed with a source control product ( as
99
Microsoft Visual SourceSafe)
5
SQL Server Management Studio
SQL Server Management Studio in 10
It's easier to find errors
It (sort of) plays well with previous versions
100
1. Combines the best features of many tools 2. Work with projects and solutions 3. The tool is a data analyst's best friend 4. You can display line numbers 5. 6. Get started faster with an expanded Template Explorer 7. 8. Name that registered server 9. Manage your SQL Server Integration Services pages 10. Keep tabs on your reports
5
SQL Server Management Studio
Khởi động SQL Server Management Studio
101
1. Mở SQL Server Management Studio ta làm như sau: Vào start -> chọn program -> chọn Microsoft SQL Server 2008 -> chọn SQL Server Management Studio
5
SQL Server Management Studio
• Server Type: Như ví dụ của cuốn sách này, cho phép server type là Database Engine. Các tùy chọn khác là kiểu dữ liệu khác nhau của servers nó sẽ hiển thị kết nối.
• Server Name: Hộp combo thứ 2 chứa 1 danh sách của SQL Server
cài đặt mà chọn. Trong hộp thoại hình 12, bạn sẽ thầy tên của máy
tính được cài đặt trên local. Nếu bạn mở hộp Server name bạn có
thể tìm kiếm nhiều server local hoặc network connection bằng cách
chọn
• Authentication: Combobox cuối cùng xác định các loại hình kết nối bạn muốn sử dụng.Trong giáo trình này chúng ta kết nối đến SQL Server sử dụng Windowns Authentication. Nếu bạn cài đặt SQL Server với chế độ hỗn hợp(mix mode), thì bạn có thể thay đổi chọn lựa SQL Server authentication, thì nó sẽ mở hai hộp thoại và cho phép nhập username và password.
102
Khởi động SQL Server Management Studio
5
SQL Server Management Studio
103
Khởi động SQL Server Management Studio
5
SQL Server Management Studio
SQL Server Management Studio in 10
It's easier to find errors
It (sort of) plays well with previous versions
104
1. Combines the best features of many tools 2. Work with projects and solutions 3. The tool is a data analyst's best friend 4. You can display line numbers 5. 6. Get started faster with an expanded Template Explorer 7. 8. Name that registered server 9. Manage your SQL Server Integration Services pages 10. Keep tabs on your reports
5
Các Studio của SQL Server
Business Intelligence Development Studio
• Là môi trường tích hợp để phát triển các cấu trúc thông minh doanh nghiệp như cubes, data source, reports,…
105
• Ví dụ: các dự án Analysis Services, Integration Services và Reporting Services có thể cùng tích hợp trong 1 solution
5
Business Intelligence (BI)
•
Là tên một chuyên ngành cho phép quản lý dữ liệu cho mục đích phân tích, khai thác, báo cáo và hình ảnh hóa dữ liệu
Integration Services (IS), đôi khi được gọi là SSIS
1. 2. Reporting Services (RS) 3. Analysis Services (AS)
106
• SQL cung cấp 3 dịch vụ dành cho BI
5
Business Intelligence Studio
Integration Services (IS)
Dùng để chuyển đổi dữ liệu từ nhiều nguồn và là 1
107
công cụ ETL (Extract Transform Load)
5
Business Intelligence Studio
Annalysis Services
Bao gồm 2 thành phần chính:
• Online Analytical Processing (OLAP); tạo CSDL đa
chiều (Multidimensional databases), dữ liệu được lưu trữ trong Cube
• Data Mining: cung cấp các phương pháp để phân tích
108
các tập dữ liệu theo những giải thuật khác nhau.
6
Metadata – Siêu dữ liệu
109
• System database • Metadata views
6
Metadata – Siêu dữ liệu
System database
• Master: chứa tất cả các thông tin cấp hệ thống
– Nơi lưu trữ data file của các database – Login account – Cấu hình sql server.
• Model: Là một bản mẫu cho các database khác.
– Khi một database được tạo ra thì sql server sẽ copy tất cả các system objects(objects (tables, store procedure...) từ model database sang database vừa tạo.
• Msdb: được sử dụng bởi SQl agent để hoạch định các
110
cảnh báo và công việc
6
Metadata – Siêu dữ liệu
System database • Tempdb
– Chứa tất cả các tables, store procedure tạm được tạo ra trong 1 user session hoặc do bản thân sql engine. – Tự động xóa khi SQL server khởi động lại hoặc user
ngắt connect
111
• Resource: Cơ sở dữ liệu này là cơ sở dữ liệu chỉ đọc. Nó gồm các đối tượng hệ thống được gộp vào trong SQL Server 2005.
6
Metadata – Siêu dữ liệu
Metadata view • Catalog views
• Dynamic management views (DMVs) and function
• System functions and global variables
• Compatibility views
112
• Information schema views
6
Câu hỏi
1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ liệu, từ điển cơ sở dữ liệu, mô hình cơ sở dữ liệu.
113
2. Nêu các tính chất của một cơ sở dữ liệu 3. Nêu các chức năng của một hệ quản trị cơ sở dữ liệu 4. Giải thích các đặc trưng của giải pháp cơ sở dữ liệu 5. Định nghĩa mô hình cơ sở dữ liệu và phân loại 6. Liệt kê các người có liên quan đến hệ cơ sở dữ liệu.
114