Trên thực tế, khối lượng thông tin của doanh nghiệp phải lưu trữ trong cơ sở dữ liệu đến hàng trăm bảng với hàng triệu bản ghi.. Tạo và thực hiện được các thao tác thiết lập với cơ sở dữ
Trang 1BÀI 2:
LÀM VIỆC VỚI
CƠ SỞ DỮ LIỆU VÀ BẢNG
ThS Trần Ngọc Thăng
1
Trang 2• MS Excel là một công cụ phổ biến và hữu hiệu để lưu trữ những dữ liệu dạng
bảng với các phép tính đơn giản trên số lượng bản ghi nhỏ Trên thực tế, khối
lượng thông tin của doanh nghiệp phải lưu trữ trong cơ sở dữ liệu đến hàng
trăm bảng với hàng triệu bản ghi Khi đó công cụ MS Excel không còn phù hợp
nữa
TÌNH HUỐNG DẪN NHẬP
Câu hỏi đặt ra là:
Công cụ nào có thể thay thế cho MS Excel để lưu trữ dữ liệu cỡ lớn mà vẫn
dễ dàng cho việc truy vấn với tốc độ nhanh, độ chính xác cao?
Trang 3Tạo và thực hiện được các thao tác thiết lập với cơ sở dữ liệu
Tạo và thực hiện được các thao tác với bảng dữ liệu
Biết cách đánh chỉ mục dữ liệu
MỤC TIÊU
3
Trang 4Làm việc với cơ sở dữ liệu
Làm việc với bảng dữ liệu
Làm việc với các bản ghi
Đánh chỉ mục
NỘI DUNG
1
2
3
4
Trang 52.1 LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU
Tổ chức tập tin trong CSDL SQL Server
Định nghĩa CSDL, sửa đổi và xóa CSDL
Các chế độ lựa chọn cơ sở dữ liệu và cài đặt kích cỡ file dữ liệu
1
2
3
5
Trang 62.1 LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU
• Về mặt logic, dữ liệu trong cơ sở dữ liệu được tổ chức trong các đối tượng của cơ sở dữ liệu
• Mặt khác về mặt vật lý, cơ sở dữ liệu được lưu trữ trên 2 hoặc nhiều tập tin
Data2.ndf Data1.mdf
Log1.ldf
Physical Implementation
User view
master Lưu trữ tất cả thông tin hệ
thống của Sql Server msdb Cơ sở dữ liệu được sử dụng bởi
SQL Server Agent: để lập lịch hoặc một số công việc thường nhật
model Cơ sở dữ liệu mẫu để tạo ra các
cơ sở dữ liệu người dùng resource Cơ sở dữ liệu chỉ đọc Chứa các
đối tượng hệ thống trong SQL Server 2005.
tempdb Cơ sở dữ liệu lưu trữ các đối
tượng tạm thời
Trang 72.2 LÀM VIỆC VỚI BẢNG DỮ LIỆU
Các kiểu dữ liệu cơ bản
Ràng buộc và thuộc tính cột
Định nghĩa bảng dữ liệu và các thao tác với bảng dữ liệu
1
2
3
7
Trang 82.2 LÀM VIỆC VỚI BẢNG DỮ LIỆU
• Kiểu dữ liệu là một thuộc tính, nó chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượng
• SQL Server 2008 hỗ trợ 3 kiểu dữ liệu:
Kiểu dữ liệu hệ thống: được cung cấp bởi SQL Server 2008
Kiểu dữ liệu người dùng: được tạo ra dựa trên kiểu dữ liệu hệ thống
Kiểu dữ liệu được định nghĩa trong ngôn ngữ lập trình: được tạo ra bằng cách sử dụng ngôn ngữ lập trình, được hỗ trợ trong Net Framework
• Bảng dữ liệu được tạo bằng tay hoặc thực hiện truy vấn với một sô ràng buộc trên các cột
• Cú pháp truy vấn
CREATE TABLE Person.ContactPhone (Person_ID int PRIMARY
KEY, MobileNumber bigint UNIQUE,ServiceProvider
varchar(30),LandlineNumber bigint UNIQUE)
Trang 92.3 LÀM VIỆC VỚI CÁC BẢN GHI
Thêm bản ghi mới
Cập nhật bản ghi
Xóa một số bản ghi
1
2
3
9
Trang 102.3 LÀM VIỆC VỚI CÁC BẢN GHI
• Thêm bản ghi mới theo đúng quy cách kiểu dữ liệu, ràng buộc nếu có
• Việc sửa, xóa được thực hiện trực tiếp hoặc thực hiện câu truy vấn
INSERT INTO CricketTeam (TeamInfo) VALUES
(‘<MatchDetails><Team country=”Australia”
score=”355”></Team><Team country=”Zimbabwe”
score=”200”></Team><Team country=”England”
score=”475”></Team></MatchDetails>’)
Trang 112.4 ĐÁNH CHỈ MỤC
Giới thiệu về Index và Kiến trúc Indexing
Lưu trữ dữ liệu và phục hồi dữ liệu đã lưu trữ
Làm việc với các loại Index
Tối ưu hóa Index
1
2
3
11
4
Trang 122.4 ĐÁNH CHỈ MỤC
• Index là một khóa quan trọng đối với CSDL đặc biệt là cơ sở dữ liệu lớn.
• Index được thiết lập từ một hoặc nhiều cột dữ liệu của bảng dữ liệu các giá trị của khóa Index sẽ được sắp xếp và lưu trữ theo một danh sách (bảng khác).
• Mỗi giá trị trong khóa Index là duy nhất trong danh sách, mỗi giá trị khóa Index sẽ liên kết đến giá trị trong bảng dữ liệu (liên kết dạng con trỏ).
• Việc lưu trữ dữ liệu của bảng có khóa Index được thực hiện theo cấu trúc cấy B-Tree nhằm tăng tốc độ truy xuất dữ liệu đối với ổ đĩa (thiết bị thứ cấp).
04 Ao Thu Trang C0708L
03 Nguyen Thi Le T0709I
06 Tran Quyet Thang C0707G
RollNo
02 03 04 06
Student table Index
Trang 1313
CÂU HỎI TRẮC NGHIỆM
1 Trong cơ sở dữ liệu hệ thống , tập tin nào sau đây lưu trữ các thông tin login account?
a Master b Tempdb
2 Kiểu dữ liệu nào sau đây không có trong SQL Server ?
a Char b Nvarchar
3 Ràng buộc khóa ngoài Foreign Key thuộc loại ràng buộc nào sau đây?
a Toàn vẹn theo miền b Toàn vẹn tham chiếu
c Toàn vẹn thực thể d Toàn vẹn do người dùng định nghĩa
4 Có thể đặt mấy cột trong bảng làm khóa chính?
a Chỉ trên cột ID b Trên 1 cột bất kỳ
c Trên 2 cột bất kỳ d Trên nhiều cột
5 Tham số nào sau đây không dùng để thiết kế khóa Index?
a Cột thường dùng làm khóa b Tập lệnh truy vấn cần tốc độ cao
c Lượng dữ liệu nhập đồng loạt d Không đáp án nào đúng
Trang 14ĐÁP ÁN TRẮC NGHIỆM
1 Trong cơ sở dữ liệu hệ thống , tập tin nào sau đây lưu trữ các thông tin login account?
2 Kiểu dữ liệu nào sau đây không có trong SQL Server
a Char b Nvarchar
3 Ràng buộc khóa ngoài Foreign Key thuộc loại ràng buộc nào sau đây?
a Toàn vẹn theo miền b Toàn vẹn tham chiếu
c Toàn vẹn thực thể d Toàn vẹn do người dùng định nghĩa
4 Có thể đặt mấy cột trong bảng làm khóa chính?
a Chỉ trên cột ID b Trên 1 cột bất kỳ
c Trên 2 cột bất kỳ d Trên nhiều cột
5 Tham số nào sau đây không dùng để thiết kế khóa Index?
a Cột thường dùng làm khóa b Tập lệnh truy vấn cần tốc độ cao
c Lượng dữ liệu nhập đồng loạt d Không đáp án nào đúng
Trang 15TÓM LƯỢC CUỐI BÀI
Sau khi học xong Bài 2 Làm việc với cơ sở dữ liệu và bảng, học viên:
• Tạo và thực hiện được các thao tác thiết lập với cơ sở dữ liệu
• Tạo và thực hiện được các thao tác với bảng dữ liệu
• Tạo và thực hiện được các thao tác với bản ghi
• Đánh chỉ mục được
• Đã làm các ví dụ minh họa tương ứng cho các kiến thức đã tình bày
15