Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
2,98 MB
Nội dung
TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN *** BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TÊN HỌC PHẦN : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MÃ HỌC PHẦN : 17402 TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN HẢI PHÒNG - 2011 2 MỤC LỤC Chƣơng 1. Giới thiệu 5 1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 5 1.2. Các thành phần cơ bản trong Microsoft SQL Server 18 1.3. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL) 24 Chƣơng 2. Tạo và quản lý cơ sở dữ liệu 26 2.1. Các tệp tin cơ sở dữ liệu (Database files) 26 2.2. Tạo cơ sở dữ liệu (Database) 26 2.3. Quản lý cơ sở dữ liệu 30 2.4. Xóa cơ sở dữ liệu 32 Chƣơng 3. Tạo và quản lý các bảng 35 3.1. Tạo bảng (Tables) 35 3.2. Định nghĩa các cột (Columns) 36 3.3. Định nghĩa các ràng buộc (Constrains) 37 3.4. Sửa bảng (ALTER TABLE) 38 3.5. Xóa bảng (DROP TABLE) 39 3.6. Thêm bản ghi mới (INSERT) 39 3.7. Cập nhật bản ghi (UPDATE) 41 3.8. Xóa bản ghi (DELETE) 42 Chƣơng 4. Truy vấn dữ liệu 44 4.1. Truy vấn cơ bản 44 4.2. Truy vấn từ nhiều bảng 51 4.2.1. Inner Joins 51 4.2.2. Outer Joins 51 4.3. Truy vấn lồng nhau (Subqueries) 51 Chƣơng 5. Tạo và quản lý các chỉ mục 54 5.1. Các kiểu chỉ mục (Indexes) 54 5.2. Tạo các chỉ mục 54 5.3. Quản lý các chỉ mục 58 5.4. Xóa các chỉ mục 58 Chƣơng 6. Tạo và quản lý khung nhìn 60 6.1. Định nghĩa 60 6.2. Tạo các khung nhìn (Views) 60 6.3. Quản lý các khung nhìn 61 3 6.4. Xóa các khung nhìn 61 Chƣơng 7. Tạo và quản lý các thủ tục thƣờng trú 62 7.1. Tạo các thủ tục thường trú (Stored procedures) 62 7.2. Thực thi các thủ tục thường trú 64 7.3. Xem và sửa các thủ tục thường trú 64 7.4. Tham số vào và ra (Parameters) 65 7.5. Các thủ tục thường trú của hệ thống 65 Chƣơng 8. Tạo và quản lý hàm ngƣời dùng định nghĩa 68 8.1. Các kiểu hàm người dùng định nghĩa (User-defined functions) 68 8.2. Tạo hàm người dùng định nghĩa 68 8.3. Quản lý hàm người dùng định nghĩa 69 Chƣơng 9. Tạo và quản lý các Trigger 70 9.1. Tạo các Trigger thao tác dữ liệu (DML Triggers) 70 9.2. Tạo các Trigger định nghĩa dữ liệu (DDL Triggers) 70 9.3. Sử dụng các Trigger lồng nhau (Nested Triggers) 71 9.4. Sử dụng các Trigger đệ quy (Recursive Triggers) 74 Một số đề thi mẫu 76 4 Tên học phần: Hệ quản trị Cơ sở dữ liệu Loại học phần: 4 Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT. Mã học phần: 17402 Tổng số TC: 4 Tổng số tiết Lý thuyết Thực hành/ Xemina Tự học Bài tập lớn Đồ án môn học 90 45 30 0 có không Học phần học trƣớc: Không yêu cầu. Học phần tiên quyết: Không yêu cầu. Học phần song song: Không yêu cầu. Mục tiêu của học phần: Cung cấp cho sinh viên những kiến thức cơ bản về hệ quản trị cơ sở dữ liệu; Các chức năng và công cụ cần thiết để quản trị cơ sở dữ liệu cho người phát triển hệ thống. Nội dung chủ yếu: Giới thiệu về hệ quản trị cơ sở dữ liệu; Tạo và quản lý cơ sở dữ liệu; Tạo và quản lý các bảng; Truy vấn dữ liệu; Tạo và quản lý các chỉ mục; Tạo và quản lý các khung nhìn; Tạo và quản lý các thủ tục thường trú; Tạo và quản lý các hàm người dùng định nghĩa; Tạo và quản lý các Trigger. Nội dung chi tiết: TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT BT TH KT Chƣơng 1. Giới thiệu 5 3 2 1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (2005) 1.2. Các thành phần cơ bản trong Microsoft SQL Server (2005) 1.3. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL) Chƣơng 2. Tạo và quản lý cơ sở dữ liệu 10 6 4 2.1. Các tệp tin cơ sở dữ liệu (Database files) 2.2. Tạo cơ sở dữ liệu (Database) 2.3. Quản lý cơ sở dữ liệu 2.4. Xóa cơ sở dữ liệu Chƣơng 3. Tạo và quản lý các bảng 15 9 6 3.1. Tạo bảng (Tables) 3.2. Định nghĩa các cột (Columns) 3.3. Định nghĩa các ràng buộc (Constrains) 3.4. Sửa bảng (ALTER TABLE) 3.5. Xóa bảng (DROP TABLE) 3.6. Thêm bản ghi mới (INSERT) 5 TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT BT TH KT 3.7. Cập nhật bản ghi (UPDATE) 3.8. Xóa bản ghi (DELETE) Chƣơng 4. Truy vấn dữ liệu 20 12 8 4.1. Truy vấn cơ bản 4.1.1. Mệnh đề SELECT 4.1.2. Mệnh đề FROM 4.1.3. Mệnh đề WHERE 4.1.4. Mệnh đề GROUP BY và HAVING 4.1.5. Mệnh đề ORDER BY 4.1.6. Kết hợp kết quả từ nhiều truy vấn khác nhau 4.2. Truy vấn từ nhiều bảng 4.2.1. Inner Joins 4.2.2. Outer Joins 4.3. Truy vấn lồng nhau (Subqueries) Chƣơng 5. Tạo và quản lý các chỉ mục 5 3 2 5.1. Các kiểu chỉ mục (Indexes) 5.2. Tạo các chỉ mục 5.3. Quản lý các chỉ mục 5.4. Xóa các chỉ mục Chƣơng 6. Tạo và quản lý khung nhìn 5 3 2 6.1. Định nghĩa 6.2. Tạo các khung nhìn (Views) 6.3. Quản lý các khung nhìn 6.4. Xóa các khung nhìn Chƣơng 7. Tạo và quản lý các thủ tục thƣờng trú 5 3 2 7.1. Tạo các thủ tục thường trú (Stored procedures) 7.2. Thực thi các thủ tục thường trú 7.3. Xem và sửa các thủ tục thường trú 7.4. Tham số vào và ra (Parameters) 7.5. Các thủ tục thường trú của hệ thống Chƣơng 8. Tạo và quản lý hàm ngƣời dùng định nghĩa 5 3 2 8.1. Các kiểu hàm người dùng định nghĩa (User-defined functions) 6 TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT BT TH KT 8.2. Tạo hàm người dùng định nghĩa 8.3. Quản lý hàm người dùng định nghĩa Chƣơng 9. Tạo và quản lý các Trigger 5 3 2 9.1. Tạo các Trigger thao tác dữ liệu (DML Triggers) 9.2. Tạo các Trigger định nghĩa dữ liệu (DDL Triggers) 9.3. Sử dụng các Trigger lồng nhau (Nested Triggers) 9.4. Sử dụng các Trigger đệ quy (Recursive Triggers) Nhiệm vụ của sinh viên: Tham dự các buổi học lý thuyết và thực hành, làm các bài tập được giao, làm các bài thi giữa học phần và bài thi kết thúc học phần theo đúng quy định. Tài liệu học tập: 1. Dương Quang Thiện, SQL Server 2000: Lập trình T - SQL, NXB Văn hóa Sài Gòn, 2007. 2. Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server 2005 Unleashed, Sams Publishing, 2007. 3. Brian Knightet al, Professional SQL Server 2005 Administration, Wrox Press, 2007. 4. Paul Turley & Dan Wood, Beginning Transact-SQL with SQL Server 2000 and 2005, Wrox Press, 2006. Hình thức và tiêu chuẩn đánh giá sinh viên: Hình thức thi: thi viết hoặc vấn đáp. Tiêu chuẩn đánh giá sinh viên: căn cứ vào sự tham gia học tập của sinh viên trong các buổi học lý thuyết và thực hành, kết quả làm các bài tập được giao, kết quả của các bài thi giữa học phần và bài thi kết thúc học phần. Thang điểm: Thang điểm chữ A, B, C, D, F. Điểm đánh giá học phần: Z = 0,4X + 0,6Y. Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Hệ thống Thông tin, Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên. Ngày phê duyệt: / / Trƣởng Bộ môn 7 Chƣơng 1. Giới thiệu 1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 1.1.1.Khái niệm về CSDL và CSDL quan hệ A. Khái niệm về cơ sở dữ liệu (Database) Cơ sở dữ liệu là một tập hợp có tổ chức các dữ liệu có liên quan luận lý với nhau. Nói cách khác đó là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp, ví dụ như: đĩa từ, băng từ, bộ nhớ flash,… nhằm mục đích thỏa mãn yêu cầu tổ chức dữ liệu để giúp cho việc khai thác dữ liệu được nhanh chóng và chính xác. Cơ sở dữ liệu phải được thiết kế sao cho có thể cho phép nhiều người dùng và nhiều ứng dụng khác nhau cùng khai thác. Hình 1: Sơ đồ tổng quát về một hệ cơ sở dữ liệu B. Khái niệm về cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được tổ chức dựa trên mô hình của đại số quan hệ (Relational Model). Trong đó, dữ liệu được tổ chức thành các bảng dữ liệu (tables). Mỗi bảng dữ liệu gồm có các cột (column) hay còn gọi là các trường (field) và các dòng (row) hay còn gọi là các bản ghi (record). Ví dụ: Mã Sinh viên Tên Sinh viên Lớp HHA01 Lê Hoàng Long KTB48ĐH1 HHA02 Trần Bình Minh KTB48ĐH1 8 Về phương diện toán học, một bảng dữ liệu gồm có n cột: A 1 , A 2 , A 3 …, A n có thể coi là một tập con R của tích Đề các dom(A 1 ) x dom(A 2 )…x dom(A n ): R dom(A1) x dom(A2)…x dom(An) Người ta gọi đó là quan hệ R xác định trên tập thuộc tính {A 1 , A 2 ,…, A n }. Trong đó dom(A i ) là ký hiệu miền giá trị (domain) của cột A i . Giữa các cột trong bảng có những mối quan hệ ràng buộc phụ thuộc lẫn nhau gọi là các phụ thuộc hàm. Ví dụ: Trong bảng sinh viên có phụ thuộc hàm: Mã Sinh Viên → Tên Sinh Viên, Lớp Trong một bảng dữ liệu, có thể có một cột (hoặc một số tối thiểu các cột) mà giá trị trên mỗi dòng của nó là duy nhất. Ta gọi đó là khóa (Key). Khi biết giá trị của trường khóa ta có thể suy ra các trường còn lại. Ví dụ: Trong bảng Sinh Viên thì Mã Sinh Viên là khóa. Khi biết Mã Sinh Viên ta có thể tra cứu ra các thuộc tính như Tên Sinh Viên và Lớp. Giữa hai bảng trong cơ sở dữ liệu cũng tồn tại các mối quan hệ ràng buộc lẫn nhau (bắt nguồn từ mô hình ER): Quan hệ 1 – 1: Một bản ghi thuộc bảng này tương ứng với một và chỉ một bản ghi ở bảng kia và ngược lại. Trong trường hợp này người ta thường nhập 2 bảng vào làm một. Quan hệ 1 – n: Một bản ghi thuộc bảng này tương ứng với n bản ghi ở bảng kia (n ≥ 0) nhưng ngược lại một bản ghi ở bảng kia chỉ tương ứng với không quá 1 bản ghi ở bảng này. Bảng ở phía ứng với ứng số nhiều n gọi là bảng con (child) còn bảng ở phía ứng với ứng số 1 gọi là bảng cha (parents). Bảng cha phải có một trường khóa gọi là khóa chính (PK - Primary Key) còn bảng con phải có một trường tham chiếu đến khóa chính của bảng cha gọi là khóa ngoại (FK - Foreign Key). Hình 2: Quan hệ 1- 1 9 Hình 3: Quan hệ 1 - n Quan hệ n – n: Quan hệ n – n không được biểu diễn tường minh trong CSDL. Người ta thường tách quan hệ n – n về thành các quan hệ 1 – n dựa trên mô hình thực thể liên kết (ER). 1.1.2. Khái niệm về hệ quản trị Cơ sở dữ liệu A. Hệ quản trị CSDL là gì? Hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo ra, duy trì và khai thác một cơ sở dữ liệu. Đó là một hệ thống phần mềm phổ dụng, cung cấp môi trƣờng và công cụ giúp cho việc định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác nhau một cách dễ dàng. Định nghĩa một cơ sở dữ liệu là đặc tả các kiểu dữ liệu, các cấu trúc, các ràng buộc cho các dữ liệu sẽ được lưu trữ. Xây dựng cơ sở dữ liệu là lưu trữ dữ liệu lên các phương tiện lưu trữ được hệ quản trị cơ sở dữ liệu kiểm soát. Thao tác trên một cơ sở dữ liêu là quá trình truy vấn cơ sở dữ liệu để lấy ra các dữ liệu cụ thể, cập nhật cơ sở dữ liệu, tạo ra các báo cáo từ dữ liệu. 10 Hình 4: Mô hình Hệ quản trị cơ sở dữ liệu Mỗi hệ quản trị cơ sở dữ liệu có một ngôn ngữ định nghĩa dữ liệu riêng (DDL - Data Definition Languague). Đây là ngôn ngữ dùng để định nghĩa, khai báo cấu trúc của của cơ sở dữ liêu. Những người thiết kế và quản trị cơ sở dữ liệu thực hiện các công việc khai báo cấu trúc cơ sở dữ liệu. Các chương trình khai báo cấu trúc CSDL được viết bằng ngôn ngữ DDL mà hệ quản trị CSDL cho phép. Các chương trình ứng dụng được viết bằng các ngôn ngữ lập trình C++/C#/Java/Delphi… kết hợp với các ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) thông qua các thư viện hoặc đối tượng kết nối CSDL được ngôn ngữ lập trình hỗ trợ: ODBC, RDO, ADO,… Các hệ quản trị cơ sở dữ liệu quan hệ ngày nay phổ biến sử dụng các ngôn ngữ DDL và DML dựa trên ngôn ngữ SQL. Đối với hệ quản trị cơ sở dữ liệu SQL Server thì ngôn ngữ dùng để tương tác với cơ sở dữ liệu là T – SQL. Đây là một phiên bản của ngôn ngữ SQL. Ngôn ngữ T – SQL trên SQL Server bao gồm nhiều câu lệnh khác nhau, có thể chia thành 2 nhóm: o Nhóm ngôn ngữ định nghĩa dữ liệu DDL: với các lệnh cho phép tạo, thay đổi cấu trúc và xóa các đối tượng CSDL: database, table, view,… o Nhóm ngôn ngữ thao tác dữ liệu DML: với các lệnh như SELECT/INSERT/UPDATE/DELETE cho phép lấy về dữ liệu cụ thể, thay đổi giá trị của dữ liệu. [...]... cơ sở dữ liệu • SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu • SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu, ... trên hệ thống mạng Hệ quản trị cơ sở dữ liệu phân tán là tập các phần mềm quản trị một cơ sở dữ liệu phân tán, làm cho việc phân tán trở nên trong suốt với người dùng Khái niệm trong suốt ở đây được hiểu là chủ đích che dấu sự phân tán đối với người sử dụng, làm cho người sử dụng sử dụng cơ sở dữ liệu phân tán như là cơ sở dữ liệu tập trung SQL Server là hệ quản trị cơ sở dữ liệu hỗ trợ cơ sở dữ liệu. .. ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau Bài tập Câu 1: Trình bày khái niệm về cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ có những điểm khác biệt gì so với hệ thống xử lý file truyền thống? 27 Câu 2: Trình bày khái niệm về hệ quản trị cơ sở dữ. .. với hệ quản trị Cơ sở dữ liệu B Hoạt động của hệ quản trị cơ sở dữ liệu Hình 6: Hoạt động của hệ quản trị cơ sở dữ liệu Các yêu cầu của chương trình ứng dụng được chuyển tới hệ quản trị CSDL (theo con đường số 1) Tại đây hệ quản trị CSDL sẽ tham khảo các từ điển dữ liệu (Meta DataBase) để tìm kiếm các ánh xạ cấu trúc ngoài với cấu trúc quan niệm và cấu trúc vật lý (các ngõ a, b và c) Tại đây hệ quản trị. .. nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của nó SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm: • Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu • Truy xuất và thao tác dữ liệu: Với SQL,... tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu Thực sự mà nói, khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc... nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu 26 • Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống Như... các hệ thống khách/chủ (client/server): Trong các hệ thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu • SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu. .. bảng dữ liệu trên các Server khác nhau được kết nối (linked server), thực thi các truy vấn hay chuyển tác phân tán trải dài trên nhiều Server, 16 Hình 10: Mô hình cơ sở dữ liệu phân tán 1.1.3.6 Kiến trúc đa tầng Hình 11: Mô hình phân lớp hệ thống SQL Server là hệ quản trị cơ sở dữ liệu hoạt động trên môi trường mạng theo mô hình client/server, cho nên khi nên khi phát triển các ứng dụng cơ sở dữ liệu. .. SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ hoạt động trên môi trường mạng theo mô hình khách/chủ Phía máy chủ chạy các dịch vụ cần thiết mà quan trọng nhất là dịch vụ cơ sở dữ liệu SQL Server Service Máy chủ lắng nghe các yêu cầu kết nối đến từ các máy khách và đáp ứng các yêu cầu này Các ứng dụng phía máy khách kết nối vào các dịch vụ cơ sở dữ liệu có thể là những phần mềm quản lý được viết . thức cơ bản về hệ quản trị cơ sở dữ liệu; Các chức năng và công cụ cần thiết để quản trị cơ sở dữ liệu cho người phát triển hệ thống. Nội dung chủ yếu: Giới thiệu về hệ quản trị cơ sở dữ liệu; . về một hệ cơ sở dữ liệu B. Khái niệm về cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được tổ chức dựa trên mô hình của đại số quan hệ (Relational Model). Trong đó, dữ liệu được. niệm về hệ quản trị Cơ sở dữ liệu A. Hệ quản trị CSDL là gì? Hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo ra, duy trì và khai thác một cơ sở dữ liệu. Đó