Tìm hiểu các bước thiết kế CSDL quan hệTìm hiểu các khái niệm trong thiết kế CSDL quan hệ: Các khái niệm trong thiết kế CSDL mức khái niệm Các khái niệm trong thiết kế CSDL mức vật lý Là
Trang 1Bài 2:
CÁC KHÁI NIỆM TRONG CSDL QUAN HỆ
Trang 2Giải thích khái niệm dữ liệu và cơ sở dữ liệu (CSDL)
( RDBMS )
Hệ thống bài cũ
( RDBMS )
Trang 3Tìm hiểu các bước thiết kế CSDL quan hệ
Tìm hiểu các khái niệm trong thiết kế CSDL quan hệ:
Các khái niệm trong thiết kế CSDL mức khái niệm
Các khái niệm trong thiết kế CSDL mức vật lý
Làm quen với hệ quản trị CSDL Microsoft Access
Tạo các bảng và truy vấn trong Microsoft Access.
Mục tiêu bài học hôm nay
Tìm hiểu các bước thiết kế CSDL quan hệ
Tìm hiểu các khái niệm trong thiết kế CSDL quan hệ:
Các khái niệm trong thiết kế CSDL mức khái niệm
Các khái niệm trong thiết kế CSDL mức vật lý
Làm quen với hệ quản trị CSDL Microsoft Access
Tạo các bảng và truy vấn trong Microsoft Access.
Trang 4Thiết kế một CSDL được phân thành các mức khác nhau:
Thiết kế các thành phần dữ liệu mức khái niệm
Thiết kế các thành phần dữ liệu mức logic
Thiết kế các thành phần dữ liệu mức vật lý
Các bước thiết kế CSDL quan hệ
Thiết kế một CSDL được phân thành các mức khác nhau:
Thiết kế các thành phần dữ liệu mức khái niệm
Thiết kế các thành phần dữ liệu mức logic
Thiết kế các thành phần dữ liệu mức vật lý
Thiết kế mứckhái niệm Thiết kếLogic mức vật lýThiết kế
Trang 5Là sự trừu tượng hóa của thế giới thực.
Trong DBMS, Sơ đồ thực thể - liên kết (ERD) dùng để mô tả lược
đồ CSDL mức khái niệm
Sơ đồ thực thể - liên kết sẽ được đề cập kĩ hơn trong các bài sau
Thiết kế CSDL mức khái niệm
Là sự trừu tượng hóa của thế giới thực
Trong DBMS, Sơ đồ thực thể - liên kết (ERD) dùng để mô tả lược
đồ CSDL mức khái niệm
Sơ đồ thực thể - liên kết sẽ được đề cập kĩ hơn trong các bài sau
Trang 6Thiết kế CSDL mức logic là quá trình chuyển CSDL mức khái niệm sang mô hình Lược đồ quan hệ và chuẩn hóa các quan hệ.
đề cập trong các bài sau.
Thiết kế CSDL mức logic
Thiết kế CSDL mức logic là quá trình chuyển CSDL mức khái niệm sang mô hình Lược đồ quan hệ và chuẩn hóa các quan hệ.
đề cập trong các bài sau.
Trang 7Mức thấp nhất của kiến trúc một CSDL là cơ sở dữ liệu
vật lý CSDL vật lý là sự cài đặt cụ thể của CSDL mức
khái niệm.
( Relationship ) giữa các bảng này.
Thiết kế CSDL mức vật lý
Mức thấp nhất của kiến trúc một CSDL là cơ sở dữ liệu
vật lý CSDL vật lý là sự cài đặt cụ thể của CSDL mức
khái niệm.
( Relationship ) giữa các bảng này.
Trang 8Các thành phần cơ bản mức khái niệm gồm:
Các thực thể (Entity) hay Quan hệ (Relation)
Các thuộc tính (Attribute)
Các mối quan hệ (Relationship) – còn gọi là quan hệ logic hay
liên kết
Các quy tắc nghiệp vụ (Business Rule)
Dữ liệu giao nhau (Intersection Data)
Các thành phần dữ liệu mức khái niệm
Các thành phần cơ bản mức khái niệm gồm:
Các thực thể (Entity) hay Quan hệ (Relation)
Các thuộc tính (Attribute)
Các mối quan hệ (Relationship) – còn gọi là quan hệ logic hay
liên kết
Các quy tắc nghiệp vụ (Business Rule)
Dữ liệu giao nhau (Intersection Data)
Trang 9Giới thiệu CSDL NorthWind
Công ty tưởng tượng Northwind bán các sản phẩm đồ
ăn cho các khách hàng.
Cơ sở dữ liệu Northwind lưu các thông tin về khách
hàng, yêu cầu đặt hàng của khách hàng, các sản
phẩm đồ ăn.
Ví dụ
Giới thiệu CSDL NorthWind
Công ty tưởng tượng Northwind bán các sản phẩm đồ
ăn cho các khách hàng.
Cơ sở dữ liệu Northwind lưu các thông tin về khách
hàng, yêu cầu đặt hàng của khách hàng, các sản
phẩm đồ ăn.
Trang 11Thực thể là một đối tượng, một địa điểm, con người… trong thế giớithực được lưu trữ thông tin trong CSDL.
Mỗi thực thể bao gồm một hoặc nhiều thuộc tính đặc trưng cho
Ví dụ: biểu diễn thực thể Customer gồm các thuộc tính:
Slide 2 - Các khái niệm trong thiết kế CSDL 11
Trang 12Mối quan hệ là mối liên kết giữa các tập thực thể (còn
Mối quan hệ (Relationship)
Mối quan hệ là mối liên kết giữa các tập thực thể (còn
Trang 13Quan hệ 1-1 là quan hệ giữa hai tập thực thể trong đó mỗi thực
thể của tập cha chỉ có thể liên kết với nhiều nhất một thực thể củatập con, và ngược lại
Ví dụ: quan hệ giữa thực thể Customer và Account Receivable
là 1-1 (tức một người có một tài khoản, hay ngược lại mỗi tài
khoản tương ứng với một người)
Quan hệ 1-1
Quan hệ 1-1 là quan hệ giữa hai tập thực thể trong đó mỗi thực
thể của tập cha chỉ có thể liên kết với nhiều nhất một thực thể củatập con, và ngược lại
Ví dụ: quan hệ giữa thực thể Customer và Account Receivable
là 1-1 (tức một người có một tài khoản, hay ngược lại mỗi tài
khoản tương ứng với một người)
Slide 2 - Các khái niệm trong thiết kế CSDL 13
Trang 14Quan hệ 1-1 là quan hệ giữa hai tập thực thể trong đó mỗi thực thểcủa tập này có thể liên kết với duy nhất một thực thể của tập cònlại.
Quan hệ 1-1 gọi là khả chuyển (transferable) nếu thực thể con cóthể liên kết lại với một thực thể cha khác
Quan hệ 1-1
Quan hệ 1-1 là quan hệ giữa hai tập thực thể trong đó mỗi thực thểcủa tập này có thể liên kết với duy nhất một thực thể của tập cònlại
Quan hệ 1-1 gọi là khả chuyển (transferable) nếu thực thể con cóthể liên kết lại với một thực thể cha khác
Trang 15Quan hệ 1-N
Quan hệ 1-N là quan hệ giữa hai tập thực thể trong đó mỗi thực
thể của tập này có thể liên kết với nhiều thực thể của tập còn lại
Ví dụ 2: quan hệ giữa thực thể Customer và thực thể Credit
Report là 1-N vì một khách hàng có thể sở hữu nhiều báo cáo tín
dụng
Slide 2 - Các khái niệm trong thiết kế CSDL 15
Quan hệ 1-N là quan hệ giữa hai tập thực thể trong đó mỗi thực
thể của tập này có thể liên kết với nhiều thực thể của tập còn lại
Ví dụ 2: quan hệ giữa thực thể Customer và thực thể Credit
Report là 1-N vì một khách hàng có thể sở hữu nhiều báo cáo tín
dụng
Trang 16Quan hệ N-N là quan hệ giữa hai tập thực thể trong đó một thực
thể của tập này có thể liên kết với 0, 1 hoặc nhiều thực thể của tậpkia, và ngược lại
Thường quan hệ N-N có thêm phần dữ liệu giao nhau để thêm
thông tin cụ thể cho mối quan hệ
Quan hệ N-N
Quan hệ N-N là quan hệ giữa hai tập thực thể trong đó một thực
thể của tập này có thể liên kết với 0, 1 hoặc nhiều thực thể của tậpkia, và ngược lại
Thường quan hệ N-N có thêm phần dữ liệu giao nhau để thêm
thông tin cụ thể cho mối quan hệ
Trang 17Ví dụ: quan hệ giữa hai thực thể Order và Product là N-N vì mỗi đơn
đặt hàng có thể gồm nhiều sản phẩm, và ngược lại mỗi sản phẩm cóthể xuất hiện ở nhiều đơn đặt hàng
Phần dữ liệu giao nhau cho biết cụ thể Số lượng đặt hàng, giá đặt vàchiết khấu bao nhiêu
Quan hệ N-N
Ví dụ: quan hệ giữa hai thực thể Order và Product là N-N vì mỗi đơn
đặt hàng có thể gồm nhiều sản phẩm, và ngược lại mỗi sản phẩm cóthể xuất hiện ở nhiều đơn đặt hàng
Phần dữ liệu giao nhau cho biết cụ thể Số lượng đặt hàng, giá đặt vàchiết khấu bao nhiêu
Slide 2 - Các khái niệm trong thiết kế CSDL 17
Trang 18Quan hệ đệ quy là quan hệ tồn tại giữa hai thực thể thuộc cùng mộttập thực thể.
Trang 19Quy tắc nghiệp vụ (Business Rule) là các thủ tục, nguyên tắc hay cácchuẩn phải tuân theo.
Các quy tắc này thể hiện trong cơ sở dữ liệu như là các ràng buộc
(constraint)
Ví dụ: Tuổi của nhân viên hưởng lương không vượt quá 65 tuổi ->
ràng buộc của cột Age<65
Ví dụ: Tuổi của nhân viên hưởng lương không vượt quá 65 tuổi ->
ràng buộc của cột Age<65
Slide 2 - Các khái niệm trong thiết kế CSDL 19
Trang 20Là tập hợp dữ liệu mà hai thực thể chia sẻ chung.
Ví dụ: hai thực thể ORDER và PRODUCT chia sẻ các thuộc tính
chung: Unit Price, Quantity, Discount
Dữ liệu giao nhau
Trang 21Dữ liệu được biểu diễn như là một tập hợp các thực thể
Mỗi thực thể được biểu diễn bởi một bảng (table) Bảng
Mỗi cột biểu diễn một thuộc tính và có kiểu dữ liệu (Data type)
Mỗi thực thể được biểu diễn bởi một bảng (table) Bảng
Mỗi cột biểu diễn một thuộc tính và có kiểu dữ liệu (Data type)
Trang 22Mỗi cột trong bảng được quy định bởi một kiểu
dữ liệu
Kiểu dữ liệu cho phép xác định:
Loại dữ liệu của cột như dạng số, dạng kí tự, ngày
tháng…
Kiểu dữ liệu
Mỗi cột trong bảng được quy định bởi một kiểu
dữ liệu
Kiểu dữ liệu cho phép xác định:
Loại dữ liệu của cột như dạng số, dạng kí tự, ngày
tháng…
Trang 23Bảng ORDER trong CSDL NorthWind
Ví dụ
Slide 2 - Các khái niệm trong thiết kế CSDL 23
Trang 24Các thành viên của một quan hệ (Relation cardinality): Các thực thể
Trang 25Khi định nghĩa quan hệ hoặc bảng, luôn phải chỉ ra một/một số
thuộc tính làm thuộc tính Khóa của quan hệ
Khóa chính (Primary Key): Một hoặc một số thuộc tính để phân biệtmỗi bộ dữ liệu trong một quan hệ
Ví dụ: quan hệ Orders (Đặt hàng) có thuộc tính khóa là Order ID
Khóa chính (Primary Key)
Khi định nghĩa quan hệ hoặc bảng, luôn phải chỉ ra một/một số
thuộc tính làm thuộc tính Khóa của quan hệ
Khóa chính (Primary Key): Một hoặc một số thuộc tính để phân biệtmỗi bộ dữ liệu trong một quan hệ
Ví dụ: quan hệ Orders (Đặt hàng) có thuộc tính khóa là Order ID
Slide 2 - Các khái niệm trong thiết kế CSDL 25
Trang 26Khi một quan hệ/bảng kết nối được với một quan hệ/bảng khác,
luôn tồn tại một/một số thuộc tính đóng vai trò là cột dữ liệu chungkết nối hai quan hệ/hai bảng
Khóa ngoại (Foreign Key/Reference Key): là một/một số thuộc tínhcủa một quan hệ R1 có quan hệ với quan hệ R2 Các thuộc tính khóangoài của R1 phải chứa các giá trị phù hợp với những giá trị trong
R2
Ví dụ:
Khóa ngoại (Primary Key)
Khi một quan hệ/bảng kết nối được với một quan hệ/bảng khác,
luôn tồn tại một/một số thuộc tính đóng vai trò là cột dữ liệu chungkết nối hai quan hệ/hai bảng
Khóa ngoại (Foreign Key/Reference Key): là một/một số thuộc tínhcủa một quan hệ R1 có quan hệ với quan hệ R2 Các thuộc tính khóangoài của R1 phải chứa các giá trị phù hợp với những giá trị trong
R2
Ví dụ:
Khóa ngoại
Trang 27Ràng buộc (Constraint): là những quy tắc cần tuân theo khi nhập
liệu vào CSDL để hạn chế miền giá trị các thuộc tính
Ràng buộc toàn vẹn (Integrity Constraint): là ràng buộc nhằm nhấnmạnh sự chính xác của dữ liệu nhập vào
Bao gồm 3 kiểu ràng buộc toàn vẹn:
Ràng buộc NOT NULL
Ràng buộc CHECK
Ràng buộc sử dụng Trigger (Trigger là chương trình/macro tự động thực hiện khi có một sự kiện (bất thường) xảy ra trong CSDL)
Các khái niệm mức vật lý
Ràng buộc (Constraint): là những quy tắc cần tuân theo khi nhập
liệu vào CSDL để hạn chế miền giá trị các thuộc tính
Ràng buộc toàn vẹn (Integrity Constraint): là ràng buộc nhằm nhấnmạnh sự chính xác của dữ liệu nhập vào
Bao gồm 3 kiểu ràng buộc toàn vẹn:
Ràng buộc NOT NULL
Trang 28Ví dụ: cột Discount của bảng ORDER DETAILS có ràng buộc NOT
NULL, tức là đòi hỏi phải nhập dữ liệu
Các khái niệm mức vật lý
Trang 29Lợi ích của View:
Ẩn đi các hàng hoặc cột mà người dùng chưa hoặc không cần quan tâm
Ẩn đi các thao tác CSDL phức tạp (như kết nối các bảng)
Nâng cao hiệu quả truy vấn
Tăng khả năng bảo mật
Lợi ích của View:
Ẩn đi các hàng hoặc cột mà người dùng chưa hoặc không cần quan tâm
Ẩn đi các thao tác CSDL phức tạp (như kết nối các bảng)
Nâng cao hiệu quả truy vấn
Tăng khả năng bảo mật
Slide 2 - Các khái niệm trong thiết kế CSDL 29
Trang 30Ví dụ định nghĩa một View trong Microsoft Access: liệt kê danh sách tất
cả các đơn đặt hàng cho khách hàng trong tiểu bang Washington
Các khái niệm mức vật lý
Ví dụ định nghĩa một View trong Microsoft Access: liệt kê danh sách tất
cả các đơn đặt hàng cho khách hàng trong tiểu bang Washington
Trang 31Kết quả của View trên:
Các khái niệm mức vật lý
Kết quả của View trên:
Slide 2 - Các khái niệm trong thiết kế CSDL 31
Trang 32Microsoft Access là hệ quản trị CSDL cho phép tạo CSDL quan hệ
Cung cấp các công cụ cho phép:
Thiết kế các bảng
Tạo dữ liệu, cập nhật dữ liệu
Liên kết giữa các bảng
Truy vấn CSDL để trích xuất thông tin
Tạo biểu mẫu để xem hoặc cập nhập dữ liệu
Tạo báo cáo thống kê dữ liệu
Hệ quản trị CSDL Microsoft Access
Microsoft Access là hệ quản trị CSDL cho phép tạo CSDL quan hệ
Cung cấp các công cụ cho phép:
Thiết kế các bảng
Tạo dữ liệu, cập nhật dữ liệu
Liên kết giữa các bảng
Truy vấn CSDL để trích xuất thông tin
Tạo biểu mẫu để xem hoặc cập nhập dữ liệu
Tạo báo cáo thống kê dữ liệu
Trang 33Thanh chức năng Create cung cấp các tùy chọn để tạo các bảng, biểu mẫu, báo cáo, truy vấn…
Các thanh chức năng của Access
Slide 2 - Các khái niệm trong thiết kế CSDL 33
Trang 34Thanh chức năng External Data cung cấp các tùy chọn cho phép nhập hoặc xuất dữ liệu ra các nguồn khác
Các thanh chức năng của Access
Trang 35Thanh chức năng Database Tools cung cấp các công cụ cho phép quản lý CSDL như tạo liên kết bảng, truy vấn…
Các thanh chức năng của Access
Slide 2 - Các khái niệm trong thiết kế CSDL 35
Trang 36Bảng điều khiển (Navigation Panel)
Trang 37Cách tạo bảng:
Tạo bảng mới
Tạo các thuộc tính
Chỉ định thuộc tính khóa chính (Primary Key)
Chỉ định tên các cột, kiểu dữ liệu, kích thước dữ liệu, quy tắc
Chỉ định thuộc tính khóa chính (Primary Key)
Chỉ định tên các cột, kiểu dữ liệu, kích thước dữ liệu, quy tắc
nhập dữ liệu…
Slide 2 - Các khái niệm trong thiết kế CSDL 37
Trang 38Ví dụ: tạo bảng “Customers” và định nghĩa cho từng thuộc tính
Tạo bảng trong Microsoft Access
Trang 39Tiếp tục thêm các bản ghi dữ liệu vào bảng
Tạo bảng trong Microsoft Access
Slide 2 - Các khái niệm trong thiết kế CSDL 39
Trang 40Lựa chọn thanh chức năng Databases Tools/Relationships để tạo liên kếtgiữa các bảng.
Thiết lập các thuộc tính liên kết trong cửa sổ Edit Relationships
Tạo liên kết giữa các bảng
Trang 41Xác định các qui tắc ràng buộc của mối quan hệ này:
Chọn ô kiểm tra hiệu lực của ràng buộc toàn vẹn (Enforce
Referential Integrity)
Tự động cập nhật quan hệ: (Cascade Update Related Fields)
Tự động xóa các bản ghi liên quan: (Cascade Delete Related
Records)
Lưu ý: Trong MS Access sau khi thiết kế bảng ta phải tạo mối quan hệ giữa các bảng rồi mới nhập dữ liệu.
Tạo liên kết giữa các bảng
Xác định các qui tắc ràng buộc của mối quan hệ này:
Chọn ô kiểm tra hiệu lực của ràng buộc toàn vẹn (Enforce
Referential Integrity)
Tự động cập nhật quan hệ: (Cascade Update Related Fields)
Tự động xóa các bản ghi liên quan: (Cascade Delete Related
Trang 42Kết nối giữa hai bảng Customers và Orders là 1-n (một khách hàng có thể
có nhiều đơn đặt hàng)
Tạo liên kết giữa các bảng
Trang 43Lựa chọn các bảng hoặc liên kết để truy vấn
Thiết kế truy vấn dựa trên bảng điều khiển truy vấn, bao gồm:
Lựa chọn bảng chứa các cột cần truy vấn
Lựa chọn các cột/trường (Field)
Mô tả tiêu chuẩn truy vấn (Criteria)
Lựa chọn sắp xếp (Sort), hiển thị (Show)
Tạo các truy vấn trên CSDL
Lựa chọn các bảng hoặc liên kết để truy vấn
Thiết kế truy vấn dựa trên bảng điều khiển truy vấn, bao gồm:
Lựa chọn bảng chứa các cột cần truy vấn
Lựa chọn các cột/trường (Field)
Mô tả tiêu chuẩn truy vấn (Criteria)
Lựa chọn sắp xếp (Sort), hiển thị (Show)
Slide 2 - Các khái niệm trong thiết kế CSDL 43
Trang 44Kích nút Run để xem kết quả truy vấn:
Tạo các truy vấn trên CSDL
Trang 45Ví dụ 2: tạo truy vấn hiển thị các thông tin khách hàng ở New York đặt hàng sau ngày 4/1/2006
Tạo các truy vấn trên CSDL
Slide 2 - Các khái niệm trong thiết kế CSDL 45
Trang 46Kích nút Run để xem kết quả truy vấn:
Tạo các truy vấn trên CSDL
Trang 47CSDL quan hệ gồm một tập hợp các đơn vị logic gọi là bảng hay
Trang 48Thuộc tính của thực thể (attribute) Cột (column)
Mối quan hệ (relationship) giữa các
thực thể
Cột chung giữa các bảng thể hiện quan hệ giữa các thực thể
Trang 49Microsoft Access là phần mềm quản trị CSDL.
Ở mức đơn giản, Access cho phép:
Tạo các bảng lưu trữ dữ liệu
Tạo liên kết giữa các bảng
Tạo các truy vấn trên CSDL
Tổng kết bài học
Microsoft Access là phần mềm quản trị CSDL.
Ở mức đơn giản, Access cho phép:
Tạo các bảng lưu trữ dữ liệu
Tạo liên kết giữa các bảng
Tạo các truy vấn trên CSDL
Slide 2 - Các khái niệm trong thiết kế CSDL 49