Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
2,06 MB
Nội dung
Chương10–Cơsởdữliệu,SQL,vàADO .NET
Outline
10.1 Mô hình Cơsởdữ liệu quan hệ
10.2. Làm việc với hệ quản trị CSDL Microsoft SQL Server 2000
10.3 Ngôn ngữ truy vấn có cấu trúc
10.3.1 Truy vấn SELECT
10.3.2 Mệnh đề WHERE
10.3.3 Mệnh đề ORDER BY
10.3.4 Kết hợp dữ liệu từ nhiều bảng: INNER JOIN
10.3.6 Truy vấn thêm mới INSERT
10.3.7 Truy vấn cập nhật UPDATE
10.3.8 Truy vấn xóa DELETE
10.4. ADO.NET
Cơ sởdữ liệu:
Là sự lưu trữ dữ liệu có tổ chức.
Hệ quản lý cơsởdữ liệu (DBMS):
Cung cấp cơ chế lưu trữ, quản lý dữ liệu một cách phù hợp với định dạng dữ liệu.
Cho phép lưu trữ và truy cập tới cơsởdữ liệu mà không cần biết về những khai báo bên trong cơsởdữ liệu.
Ví dụ như SQL Server, Microsoft Access … là các hệ quản lý cơsởdữ liệu.
Cơ sởdữ liệu
10.1 Mô hình Cơsởdữ liệu quan hệ
Biểu diễn dữ liệu một cách logic
Có thể xem xét các mối quan hệ mà không cần quan tâm đến
cấu trúc vật lý của dữ liệu
Bao gồm các bảng
Các hàng được gọi là các mẩu tin (records)
Các cột được gọi là các trường ( fields)
Khoá chính (Primary key) một hàng phải có khóa chính nhằm
phân biệt nó với các hàng khác. Do đó khóa chính phải có giá trị
duy nhất và không có giá trị null
Khóa ngoại (foreign key): trong trường hợp một nhân viên mua nhiều hàng hóa thì trên bảng Order, ngoài khóa chính
(thường là số hiệu hàng hóa) còn lặp lại số thẻ nhân viên (trong bảng Employee). Lúc này số thẻ nhân viên gọi là khóa
ngoại của bảng Order. Khóa ngoại dùng để tìm kiếm các giá trị trong bảng con (bảng Order).
10.1 Mô hình Cơsởdữ liệu quan hệ
Ví dụ ta cócơsởdữ liệu của bảng Employee và bảng Order như sau:
khóa chính của
bảng Employee
khóa chính của
bảng Order
khóa ngoại của
bảng Order
10.1 Mô hình Cơsởdữ liệu quan hệ
Quan hệ (relationship): được thiết lập giữa hai bảng dữ liệu với nhau, có ba loại quan hệ
chính.
Quan hệ 1-1: quan hệ trực tiếp giữa 2 bảng dữ liệu. Ví dụ bạn có 2 bảng
Person1, Person2 thì quan hệ Kết hôn là quan hệ 1-1. Một cách khác khi mà 2
bảng có quan hệ thông qua 2 khóa chính thì quan hệ là 1-1.
Quan hệ 1-N: ứng với một hàng trong bảng này có nhiều hàng trong bảng khác.
Chẳng hạn như quan hệ giữa 2 bảng Employee và Order như vừa rồi là quan hệ
1-N.
Quan hệ N-N: được thiết lập khi một hàng trong Parent table có nhiều hàng
trong Child table và ngược lại.
10.1 Mô hình Cơsởdữ liệu quan hệ
Tính toàn vẹn dữ liệu (Data Integrity), được định nghĩa là không tồn tại dữ liệu dư thừa, bao gồm:
Dữ liệu nhập (Entity Integrity): mọi hàng phải có một giá trị duy nhất trong trường khóa chính của nó.
Ràng buộc toàn vẹn (Referential Integrity): mọi giá trị trường khóa ngoại của bảng này phải xuất hiện trong trường
khóa chính của bảng khác.
Toàn vẹn miền (Domain Integrity): dữ liệu nhập vào trong cột phải phù hợp với định dạng và kiểu dữ liệu đã khai báo.
10.1 Mô hình Cơsởdữ liệu quan hệ
Xét các bảng CSDL sau.
authorID
firstName
lastName
1
Harvey
Deitel
2
Paul
Deitel
3
Tem
Nieto
4
Kate
Steinbuhler
5
Sean
Santry
6
Ted
Lin
7
Praveen
Sadhu
8
David
McPhie
9
Cheryl
Yaeger
10
Marina
Zlatkina
11
Ben
Wiedermann
12
Jonathan
Liperi
13
Jeffrey
Listfield
Fig. 19.4
Data from the
Authors
table of
Books
.
Bảng Authors của CSDL Books
ví dụ
authorID
isbn
authorID
isbn
1
0130895725
2
0139163050
1
0132261197
2
013028419x
1
0130895717
2
0130161438
1
0135289106
2
0130856118
1
0139163050
2
0130125075
1
013028419x
2
0138993947
1
0130161438
2
0130852473
1
0130856118
2
0130829277
1
0130125075
2
0134569555
1
0138993947
2
0130829293
1
0130852473
2
0130284173
1
0130829277
2
0130284181
1
0134569555
2
0130895601
1
0130829293
3
013028419x
1
0130284173
3
0130161438
1
0130284181
3
0130856118
1
0130895601
3
0134569555
2
0130895725
3
0130829293
2
0132261197
3
0130284173
2
0130895717
3
0130284181
2
0135289106
4
0130895601
Fig. 19.8
Data from
AuthorISBN
table in
Books
.
Bảng AuthorsISBN của CSDL Books (lưu số ISBN của sách).
ví dụ
ví dụ
Bảng Titles của CSDL Books.
[...]... mà nó đang có Sau khi Detach xong, bạn copy bình thường nó vào đĩa mềm Để sử dụng, từ đĩa mềm bạn copy vào máy mới rồi Attach nó vào DBMS Cả hai thao tác này đều ở trong menu chuột phải All Tasks 10. 3 Ngôn ngữ truy vấn có cấu trúc Được dùng để yêu cầu dữ liệu (thực hiện truy vấn ) và thao tác trên dữ liệu đó Để thực hiện các lệnh SQL, bạn sử dụng SQL Query Analyzer Có thể mở trực tiếp từ cửa... publisherName ¥ copyright publisherID imageFile price 10. 2 Làm việc với hệ quản trị CSDL Microsoft SQL Server 2000 Để làm quen, ta xét ví dụ tạo cơ sởdữ liệu với SQL Server 2000 Trong menu Start chọn Microsoft SQL Server \Enterprise Manager để mở cửa sổ SQL Server Enterprise Manager Trong Databases chọn New Database … như sau chỉ định khóa chính tạo cột và định dạng nhập tên CSDL rồi nhấn OK tạo bảng... bảng Employees Bảng Employees Bảng Orders khóa chính của bảng Orders khóa ngoại của bảng Orders 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: INNER JOIN Chức năng: Kết nối dữ liệu từ hai bảng Cú pháp: SELECT cột_1, cột_2, cột_3 FROM bảng_1 INNER JOIN bảng_2 ON bảng_1.khoá_chính = bảng_2.khoá_ngoại 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: INNER JOIN Chú ý: Các bảng được tạo ra bằng lệnh INNER JOIN có thể là... Employees.Employee_ID = Orders.Employee_ID trả về kết quả sau: 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: INNER JOIN Ví dụ dòng lệnh sau cho biết ai đã đặt hàng và họ đã đặt món hàng nào: SELECT Employees.Name, Orders.Product FROM Employees INNER JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID 10. 3.6 Truy vấn thêm mới INSERT Chức năng: Chèn một hàng vào trong bảng Cú pháp: INSERT INTO tên_bảng VALUES... (user ID) và mật mã (password) cho trước có quyền truy cập hay thay đổi nội dung của nó User ID và password được tạo ra bằng DBMS tạo ra CDSL đó, ở đây là SQL Server 2000 Bạn chọn New Database User… để tạo một user mới chọn tên user password tạo user mới chọn CSDL mặc định cho phép truy cập chọn CSDL cho phép truy cập thiết lập vai trò nhấp OK để nhập lại mật mã và hoàn tất Detach và Attach... isbn ORDER BY Titles.title theo tiêu đề 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: LEFT JOIN Chức năng: Trả về tất cả các dòng của bảng thứ nhất, ngay cả khi các dòng đó không ứng với dòng nào ở bảng thứ hai Ví dụ: SELECT Employees.Name, Orders.Product FROM Employees LEFT JOIN Orders ON Employees.Employee_ID = Orders.Employee_ID Kết quả trả về: 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: RIGHT JOIN Chức... trả về: Ngược lại, ASC sắp xếp theo thứ tự tăng dần 10. 3.4 Kết hợp dữ liệu từ nhiều bảng: INNER JOIN Các bảng trong CSDL có thể quan hệ ràng buộc với nhau thông qua các khoá Một khoá chính (primary key) là một cột mà trong đó mỗi giá trị của hàng phải là duy nhất Mục đích của khoá là kết nối dữ liệu từ nhiều bảng khác nhau mà không gây trùng lặp dữ liệu giữa các bảng Ví dụ ta có 2 bảng sau: khoá chính... * FROM Authors cho kết quả authorID lastName authorID lastName 1 Deitel 8 McPhie 2 Deitel 9 Yaeger 3 Nieto 10 Zlatkina 4 Steinbuhler 12 Wiedermann 5 Santry 12 Liperi 6 Lin 13 Listfield 7 Sadhu F 19.13 ig authorID and lastName from the Authors table 10. 3.2 Mệnh đề WHERE Chức năng: Truy xuất dữ liệu trong bảng theo các điều kiện nào đó Cú pháp: SELECT tên_cột FROM tên_bảng WHERE tên_cột phép_toán... thể được sử dụng cho phù hợp với mục đích bài toán Ví dụ: 1 2 3 4 5 6 7 8 9 10 11 bảng 1 là kết hợp bảng SELECT Titles.title, Titles.isbn, Authors.firstName, Publishers và Titles Authors.lastName, Titles.copyright, Publishers.publisherName có cùng publisherID bảng 2 là kết hợp bảng FROM ( Publishers INNER JOIN Titles Authors và AuthorsISBN ON Publishers.publisherID = Titles.publisherID ) bảng kết cùng... So sánh không bằng > Lớn hơn < Nhỏ hơn >= Lớn hơn hoặc bằng . Chương 10 – Cơ sở dữ liệu, SQL, và ADO .NET Outline 10. 1 Mô hình Cơ sở dữ liệu quan hệ 10. 2. Làm việc với hệ quản trị CSDL Microsoft SQL Server 2000 10. 3 Ngôn ngữ truy vấn có cấu trúc 10. 3.1. lưu trữ và truy cập tới cơ sở dữ liệu mà không cần biết về những khai báo bên trong cơ sở dữ liệu. Ví dụ như SQL Server, Microsoft Access … là các hệ quản lý cơ sở dữ liệu. Cơ sở dữ liệu 10. 1. DELETE 10. 4. ADO. NET Cơ sở dữ liệu: Là sự lưu trữ dữ liệu có tổ chức. Hệ quản lý cơ sở dữ liệu (DBMS): Cung cấp cơ chế lưu trữ, quản lý dữ liệu một cách phù hợp với định dạng dữ liệu. Cho