Các ngôn ngữ quản trị cơ sở dữ liệu - Yêu cầu SV chuẩn bị: Đọc trước tài liệu và slides bài giảng chương 1 giáo viên đã giao.. Các bước xây dựng mô hình ER • Xác định tập thực thể • Xác
Trang 1BỘ MÔN DUYỆT
Chủ nhiệm Bộ môn
Ngô Thành Long
ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG
(Dùng cho 75 tiết giảng)
Học phần: CƠ SỞ DỮ LIỆU
Bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin
Thay mặt nhóm môn học
Đỗ Thị Mai Hường
Thông tin về nhóm môn học
TT Họ tên giáo viên Học hàm Học vị Đơn vị công tác (Bộ môn)
1 Đỗ Thị Mai Hường GV ThS Hệ thống thông tin
Địa điểm làm việc: Bộ môn Hệ thống thông tin - Khoa Công nghệ thông tin Điện thoại, email:
Đỗ Thị Mai Hường: 0983366922, email: dohuong@gmail.com
Bài giảng 1: Các khái niệm cơ bản
Chương I Các khái niệm cơ bản
Tiết thứ: 1 - 3 Tuần thứ: 1
- Mục đích, yêu cầu:
Giúp cho sinh viên nắm vững một số khái niệm cơ bản, kiến trúc chung của một
hệ cơ sở dữ liệu
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết, thảo luận: 3t; Tự học, tự nghiên cứu: 3t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
1.1 Cơ sở dữ liệu
1.1.1 Định nghĩa cơ sở dữ liệu
Trang 2• Dữ liệu (Data)
• Cơ sở dữ liệu (Database)
1.1.2 Các tính chất của một cơ sở dữ liệu
– Tính tự mô tả
– Tính độc lập giữa chương trình và dữ liệu – Tính trừu tượng dữ liệu
– Tính nhất quán
1.2 Hệ quản trị cơ sở dữ liệu
1.2.1 Định nghĩa hệ quản trị cơ sở dữ liệu
• Hệ quản trị CSDL (Database Management System)
• Hệ CSDL (Database System
• Các cách nhìn dữ liệu
1.2.2 Các chức năng của một hệ quản trị cơ sở dữ liệu
• Kiểm soát được tính dư thừa của dữ liệu
• Chia sẻ dữ liệu
• Hạn chế những truy cập không cho phép
• Cung cấp nhiều giao diện
• Đảm bảo các ràng buộc toàn vẹn
• Khả năng sao lưu dự phòng khi gặp sự cố
• Các tính năng khác
1.3 Kiến trúc của hệ quản trị CSDL (3 mức)
Kiến trúc của HQT CSDL : sơ đồ xem trong TL[1]
• Mức trong (lược đồ trong)
• Mức quan niệm (lược đồ quan niệm)
• Mức ngoài (lược đồ ngoài)
1.4 Các loại mô hình cơ sở dữ liệu
• Mô hình dữ liệu (Data Model) bao gồm
– Các khái niệm biểu diễn dữ liệu
Trang 31.4.2 Mô hình mạng
1.4.3 Mô hình liên kết thực thể
1.4.4 Mô hình hướng đối tượng
1.4.5 Mô hình quan hệ
1.5 Các đối tượng sử dụng cơ sở dữ liệu
– Quản trị viên (Database Administrator - DBA)
– Thiết kế viên (Database Designer)
– Người dùng cuối (End User)
1.6 Các ngôn ngữ quản trị cơ sở dữ liệu
- Yêu cầu SV chuẩn bị:
Đọc trước tài liệu và slides bài giảng chương 1 giáo viên đã giao
Thảo luận về cơ sở dữ liệu, các hệ quản trị cơ sở dữ liệu, các mô hình dữ
liệu, các ngôn ngữ quản trị cơ sở dữ liệu
Trang 4Bài giảng 2: Mô hình liên kết thực thể và mô hình quan hệ
Chương II Mô hình quan hệ
Tiết thứ: 1 - 5 Tuần thứ: 2
- Mục đích, yêu cầu:
Giúp cho sinh viên hiểu được một số khái niệm cơ bản về mô hình liên kết thực thể, mô hình quan hệ, cách thức xây dựng mô hình liên kết thực thể, chuyển đổi
từ mô hình liên kết thực thể sang mô hình quan hệ
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 2t, thảo luận: 3t; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
Chương 2 Mô hình quan hệ
2.1 Mô hình liên kết thực thể
• Được dùng để thiết kế CSDL ở mức quan niệm
• Biểu diễn trừu tượng cấu trúc của CSDL
• Lược đồ thực thể- liên kết
(Entity-Relationship Diagram)
– Tập thực thể (Entity Sets)
– Thuộc tính (Attributes)
– Mối quan hệ (Relationship)
2.1.1 Các thành phần cơ bản của mô hình
Trang 5– Đơn trị
– Đa trị
– Suy diễn
Mối quan hệ (liên kết)
Bậc của quan hệ, lực lượng quan hệ
Bản thể
Biểu diễn đồ họa của các thành phần trong mô hình ER
2.1.2 Các bước xây dựng mô hình ER
• Xác định tập thực thể
• Xác định mối quan hệ
• Xác định thuộc tính và gắn thuộc tính cho tập thực thể và mối quan hệ
• Quyết định thuộc tính khóa
• Quyết định (min, max) cho mối quan hệ
Yêu cầu sinh viên chuẩn bị:
Đọc tài liệu và slide bài giảng chương 2 giáo viên giao
Thảo luận:
Sinh viên chọn đề tài theo nhóm, thực hiện theo nội dung:
1 Mô tả bài toán thực tế
2 Đưa ra các thực thể và mối quan hệ trong thế giới thực, vẽ mô hình liên kết
thực thể
3 Viết báo cáo
Trang 6Bài giảng 3: Mô hình quan hệ
Chương II Mô hình quan hệ
Tiết thứ: 1 - 5 Tuần thứ: 3
- Mục đích, yêu cầu:
Giúp cho sinh viên hiểu được một số khái niệm cơ bản về mô hình liên kết thực
thể, mô hình quan hệ, cách thức xây dựng mô hình liên kết thực thể, chuyển đổi
từ mô hình liên kết thực thể sang mô hình quan hệ
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 3t, thảo luận: 2t; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
2.3 Chuyển đổi mô hình ER thành mô hình quan hệ
2.3.1 Các quy tắc chuyển đổi
2.3.2 Chuyển đổi mô hình cụ thể
Yêu cầu sinh viên chuẩn bị:
Đọc tài liệu và slide bài giảng chương 2 giáo viên giao Làm bài tập về nhà
trong slides bài giảng theo yêu cầu của giáo viên
Thảo luận:
Thảo luận về đề tài của nhóm:
1 Chuyển đổi từ mô hình liên kết thực thể sang mô hình quan hệ
2 Viết báo cáo
Trang 7Bài giảng 4: Chuẩn hóa mô hình quan hệ
Chương 3 Chuẩn hóa mô hình quan hệ
Tiết thứ: 1 - 5 Tuần thứ: 4
- Mục đích, yêu cầu:
Giúp cho sinh viên nắm vững một số kiến thức cơ bản về chuẩn hóa lược đồ quan hệ, từ đó xây dựng được mô hình quan hệ trong đó các lược đồ quan hệ đảm bảo tối thiểu hóa sự dư thừa thông tin
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 5t, thảo luận:0; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
3.1 Sự dư thừa thông tin
3.2 Phụ thuộc hàm
3.2.1 Định nghĩa
Định nghĩa Phụ thuộc hàm trong quan hệ r
Định nghĩa Phụ thuộc hàm trên lược đồ quan hệ R
• A4 Tính tựa bắc cầu
• A5 Tính mở rộng trái thu hẹp phải
• A6 Tính cộng đầy đủ
• A7 Tính tích lũy
• Chứng minh: Xem trong TL[2] Nguyễn Bá Tường
3.3 Hệ tiên đề Amstrong
Định nghĩa hệ tiên đề Armstrong
• Phép suy dẫn theo hệ tiên đề Armstrong
Trang 8• Phép suy dẫn theo quan hệ
3.4 Bao đóng và thuật toán tìm bao đóng
Bao đóng F+ của tập PTH F
Các tính chất của F+
• Định nghĩa bao đóng X+
• Thuật toán tìm bao đóng:
• Bài toán thành viên
• Thuật toán tìm bao đóng X+
• Bài tập:
• Chứng minh các phụ thuộc hàm là suy diễn theo hệ tiên đề hay suy diễn
theo quan hệ
Các dạng bài tập tìm bao đóng
Yêu cầu sinh viên:
Đọc tài liệu và slide bài giảng giáo viên giao: nội dung phụ thuộc hàm, phép suy
diễn, bao đóng
Bài tập: Các bài tập về phụ thuộc hàm và bao đóng
Trang 9Bài giảng 5: Chuẩn hóa mô hình quan hệ
Chương 3 Chuẩn hóa mô hình quan hệ
Tiết thứ: 1 - 5 Tuần thứ: 5
- Mục đích, yêu cầu:
Giúp cho sinh viên nắm vững một số khái niệm cơ bản, kiến trúc chung của một
hệ cơ sở dữ liệu
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 5t, thảo luận: 0; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
3.5 Khóa của lược đồ quan hệ và các thuật toán tìm khóa
Khái niệm sơ đồ quan hệ:
Thuật toán tìm khóa:
3.7 Tách kết nối không mất thông tin
3.7.1 Khái niệm tách kết nối không mất thông tin
Định nghĩa
3.7.2 Kiểm tra tính tách kết nối không mất thông tin
Thuật toán Chase
3.7.5 Đưa về dạng chuẩn 3NF
Bài tập: Các dạng bài tập về kiểm tra các dạng chuẩn, kiểm phép tách kết nối
mất hay không mất thông tin, đưa các quan hệ về dạng chuẩn tốt hơn như
BCNF, 3NF
Yêu cầu sinh viên chuẩn bị:
Đọc tài liệu và slide bài giảng giáo viên giao - chương 3: nội dung khóa, các dạng chuẩn Hoàn thành bài tập theo yêu cầu
Trang 10Bài giảng 6: Các phép toán đại số quan hệ
Chương 4 Các phép toán đại số quan hệ
Tiết thứ: 1 - 5 Tuần thứ: 7
- Mục đích, yêu cầu:
Giúp cho sinh viên nắm vững một số khái niệm cơ bản, kiến trúc chung của một
hệ cơ sở dữ liệu
- Hình thức tổ chức dạy học: Lý thuyết, thảo luận, tự học, tự nghiên cứu
- Thời gian: Lý thuyết, bài tập: 5t, thảo luận: 0; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
Trang 114.3.2 Các phép toán nối ngoài
• Mở rộng phép nối để tránh mất mát thông tin
– Nối ngoài trái
– Nối ngoài phải
– Nối ngoài đầy đủ
4.4 Truy vấn bằng đại số quan hệ với mô hình quan hệ cụ thể
Với bài toán quản lý đề án, sử dụng các phép toán đại số quan hệ thực hiện các yêu cầu
Yêu cầu sinh viên chuẩn bị:
Đọc tài liệu và slide bài giảng giáo viên giao - chương 3: nội dung khóa, các dạng chuẩn Hoàn thành bài tập theo yêu cầu Thực hiện chuẩn hóa dữ liệu trong bài tập lớn đã thực hiện trong chương 2
Trang 12Bài giảng 7: Hệ quản trị CSDL SQL Server
Chương, mục: 5
- Mục đích, yêu cầu: Trang bị cho sinh viên các kiến thức cơ bản về hệ quản trị
CSDL SQL Server, các thành phần của hệ quản trị, và cách sử dụng hệ quản trị cho các bài toán cơ sở dữ liệu
Yêu cầu đặt ra là sinh viên cần nắm cách cài đặt và sử dụng thành thạo hệ quản trị, đặc biệt là với vai trò của quản trị viên CSDL
- Hình thức tổ chức dạy học:
Lý thuyết, thảo luận, thực hành
- Thời gian:
Lý thuyết: 2t, thảo luận: 3t; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công
- Nội dung chính:
CHƯƠNG 5 HỆ QUẢN TRỊ SQLSERVER
5.1 Giới thiệu về hệ quản trị SQLServer
5.2 Quản trị Cơ sở dữ liệu trong SQLServer
Cấu trúc cơ sở dữ liệu
Quản lý cơ sở dữ liệu bằng công cụ
(Tạo cơ sở dữ liệu, bảng, khung nhìn, chỉ mục)
Bài tập: Các dạng bài tập về tạo cơ sở dữ liệu trên hệ quản trị SQLServer
Thảo luận: Thảo luận theo nhóm với đề tài đã thực hiện trong các chương 2,3,4
Nội dung thảo luận: Các nhóm trình bày cách tạo cơ sở dữ liệu, cấu trúc bảng, các trường, mối liên hệ giữa các bảng, nhập dữ liệu vào các bảng
- Yêu cầu SV chuẩn bị:
Đọc trước tài liệu và slides bài giảng giáo viên đã giao ( chương 5) Làm bài tập trên lớp và bài tập về nhà Tham gia thảo luận theo nhóm về đề tài nhóm đã chọn trong chương 2,3,4
Bài giảng 8: Hệ quản trị CSDL SQL Server
Trang 13Chương, mục: 5
- Mục đích, yêu cầu: Trang bị cho sinh viên các kiến thức cơ bản về hệ quản trị
CSDL SQL Server, các thành phần của hệ quản trị, và cách sử dụng hệ quản trị cho các bài toán cơ sở dữ liệu
Yêu cầu đặt ra là sinh viên cần nắm cách cài đặt và sử dụng thành thạo hệ quản trị, đặc biệt là với vai trò của quản trị viên CSDL
- Hình thức tổ chức dạy học:
Lý thuyết, thảo luận, thực hành
- Thời gian:
Lý thuyết:3t, thảo luận: 3t; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công, phòng máy K12
- Nội dung chính:
CHƯƠNG 5 HỆ QUẢN TRỊ SQLSERVER
5.3 Xác thực người sử dụng trên SQL Server
5.4 Tạo lược đồ
5.5 Các nhóm server (server roles), nhóm CSDL (database roles), thêm người sử dụng vào nhóm
5.6 Phân quyền cho nhóm và người sử dụng
5.7 Sao lưu, phục hồi dữ liệu
- Lý do cần sao lưu dữ liệu
- Các dạng sao lưu dữ liệu
- Các mô hình khôi phục dữ liệu
- Sao lưu và khôi phục dữ liệu
- Sao lưu và khôi phục dữ liệu sử dụng công cụ Microsoft SQL Server Management Studio
- Sao lưu và khôi phục dữ liệu sử dung T-SQL
5.8 Nhân bản dữ liệu
- Khái niệm về bản sao
- Các kiểu Replication
- Các mô hình Replication
Trang 14- Cài đặt Replication cụ thể
5.9 Khóa
5.10 Gán quyền, tước quyền, từ chối quyền
Bài tập: Các dạng bài tập về tạo cơ sở dữ liệu trên hệ quản trị SQLServer
Thảo luận: Thảo luận theo nhóm với đề tài đã thực hiện trong các chương 2,3,4
Nội dung thảo luận: Trình bày tạo cơ sở dữ liệu, quản trị, sao lưu phục hồi dữ liệu
- Yêu cầu SV chuẩn bị:
Đọc trước tài liệu và slides bài giảng giáo viên đã giao ( chương 5) Làm bài tập trên lớp và bài tập về nhà Tham gia thảo luận theo nhóm về đề tài nhóm đã chọn trong chương 2,3,4
Bài giảng 9: Hệ quản trị CSDL SQL Server
Chương, mục: 5
- Mục đích, yêu cầu: Sinh viên thực hành trên phòng máy tạo cơ sở dữ liệu và
quản trị cơ sở dữ liệu trên hệ quản trị cơ sở dữ liệu SQLServer
Yêu cầu đặt ra là sinh viên cần thành thạo cách tạo cơ sở dữ liệu, quản trị cơ sở
dữ liệu trong SQLServer
- Hình thức tổ chức dạy học:
Lý thuyết, thảo luận, thực hành
- Thời gian:
Lý thuyết:0, thảo luận: 0, thực hành: 6t; Tự học, tự nghiên cứu: 5t
- Địa điểm: phòng máy K12
- Nội dung chính:
Thực hành tạo cơ sở dữ liệu theo đề tài mà nhóm đã chọn, cụ thể:
Tạo cấu trúc bảng ( bằng cấu lệnh hoặc bằng thao tác)
Nhập dữ liệu cho bảng ( bằng câu lệnh hoặc bằng thao tác)
Trang 15Tạo người dùng
Import, export dữ liệu
- Yêu cầu SV chuẩn bị:
Đọc trước tài liệu và slides bài giảng giáo viên đã giao ( chương 5) Chuẩn bị nội dung thực hành tại nhà, trên phòng máy tiếp tục hoàn thiện
Bài giảng 10: Ngôn ngữ SQL
Chương, mục: 6
- Mục đích, yêu cầu: Trang bị cho sinh viên các kiến thức cơ bản về ngôn
ngữ SQL, các thành phần của ngôn ngữ SQL, và cách sử dụng SQL cho các bài toán cơ sở dữ liệu Yêu cầu đặt ra là sinh viên cần nắm được các nội dung trên lớp, chăm chỉ tích cực làm các bài tập được giao, sử dụng tốt ngôn ngữ SQL trong triển khai các bài toán tổ chức cơ sở dữ liệu
- Hình thức tổ chức dạy học:
Lý thuyết, thảo luận, thực hành
- Thời gian:
Lý thuyết, bài tập: 5t, thảo luận: 0; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công, phòng máy K12
- Nội dung chính:
Chương 6 Ngôn ngữ SQL
6.1 Giới thiệu ngôn ngữ SQL
6.1.1 Mục đích của ngôn ngữ SQL
- Ưu điểm của ngôn ngữ SQL so với ngôn ngữ đại số quan hệ
- Các lợi ích khi sử dụng ngôn ngữ SQL
6.1.2 Lịch sử của ngôn ngữ SQL
6.1.3 Tầm quan trọng của ngôn ngữ SQL
- Các thành phần của SQL
+ Ngôn ngữ định nghĩa dữ liệu (DDL)
+ Ngôn ngữ thao tác dữ liệu (DML)
Trang 16+ Định nghĩa khung nhìn
+ Ràng buộc toàn vẹn
+ Phân quyền và bảo mật
+ Điều khiển giao thác
6.2 Các câu lệnh định nghĩa dữ liệu
6.2.1 Lệnh tạo CSDL, bảng, khung nhìn, chỉ mục
- CREATE TABLE…
- CREATE VIEW…
- CREATE INDEX…
6.2.2 Lệnh thay thế, sửa đổi ALTER
6.2.3 Lệnh xóa cấu trúc DROP
Bài tập:
Các dạng bài tập về thao tác dữ liệu
- Yêu cầu SV chuẩn bị:
Đọc trước tài liệu và slides bài giảng chương 6 Làm bài tập trên lớp và bài tập
về nhà Tham gia thảo luận theo nhóm về đề tài của nhóm
Trang 17Bài giảng 11: Ngôn ngữ SQL
Chương, mục: 6
- Mục đích, yêu cầu: Trang bị cho sinh viên các kiến thức cơ bản về ngôn
ngữ SQL, các thành phần của ngôn ngữ SQL, và cách sử dụng SQL cho các bài toán cơ sở dữ liệu Yêu cầu đặt ra là sinh viên cần nắm được các nội dung trên lớp, chăm chỉ tích cực làm các bài tập được giao, sử dụng tốt ngôn ngữ SQL trong triển khai các bài toán tổ chức cơ sở dữ liệu
- Hình thức tổ chức dạy học:
Lý thuyết, thảo luận, thực hành
- Thời gian:
Lý thuyết, bài tập: 5t, thảo luận: 0; Tự học, tự nghiên cứu: 5t
- Địa điểm: Giảng đường do P2 phân công, phòng máy K12
Sử dụng các lượng từ: EXISTS, ANY, ALL,…
6.4.4 Truy vấn sử dụng hàm tính toán, gom nhóm
Các hàm thư viện: Count, Max, Min, Sum, Avg,…
* Sử dụng phân nhóm GROUP BY
* Sử dụng Order By:
- Yêu cầu SV chuẩn bị:
Đọc trước slides bài giảng chương 6 Làm bài tập trên lớp và bài tập về nhà Tham gia thảo luận theo nhóm về đề tài của nhóm