RDBMS Book Version1.0 Release 19-1-2008

298 1.2K 2
RDBMS Book Version1.0 Release 19-1-2008

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

QUẢN TRỊ DỮ LIỆU VÀ HỆ QUẢN TRỊ CSDL QUAN HỆ RDBMSMỤC LỤCChương 1 Các khái niệm về hệ quản trị CSDL 1Chương 2 Mô hình quan hệ thực thể và chuẩn hóa dữ liệu 28Chương 3 Tổng quan về SQL Server 2005 54Chương 4 Tổng quan về SQL Server 2005 (Thực hành) 79Chương 5 Ngôn ngữ Transaction SQL 95Chương 6 Ngôn ngữ Transaction SQL (Thực hành) 129Chương 7 Tạo và quản lý CSDL 153Chương 8 Tạo và quản lý CSDL (Thực hành) 175Chương 9 Truy xuất dữ liệu từ CSDL 185Chương 10 Truy xuất dữ liệu từ CSDL (Thực hành) 207Chương 11 Tạo bảng và sử dụng các kiểu dữ liệu 218Chương 12 Tạo bảng và sử dụng các kiểu dữ liệu (Thực hành) 245Phụ lục A Cài đặt SQL Server 2005 258Phụ lục B Các qui tắc của Codd 278Phụ lục C Các thủ tục lưu trữ và các hàm dựng sẵn 281Glossary Danh mục các thuật ngữ 284Aptech Vietnam DANH MỤC CÁC TỪ VIẾT TẮTTừ viết tắt Diễn giảiCSDL CSDLDBMS (DataBase Management System) Hệ quản trị CSDLRDBMS (Relational DataBase Management System)Hệ quản trị CSDL quan hệXML (eXtensible Markup Language)Ngôn ngữ đánh dấu mở rộng có thể dùng để biểu diễn dữ liệuITT RDBMSAptech Vietnam CHƯƠNG 1 CÁC KHÁI NIỆM VỀ HỆ QUẢN TRỊ CSDLMục tiêu :Kết thúc chương này, các bạn sẽ có thể: Giải thích khái niệm về dữ liệu và CSDL. Mô tả xu hướng để quản trị dữ liệu Định nghĩa một hệ thống quản trị CSDL và liệt kê những lợi ích của chúng Phân biệt các mô hình CSDL Định nghĩa và giải thích về hệ quản trị CSDL quan hệ (RDBMS) Mô tả các thực thể và các bảng và liệt kê các thuộc tính của bảng Liệt kê sự khác nhau giữa Hệ quản trị CSDL và Hệ CSDL quan hệ1.1 Giới thiệu:Các công ty thường phải quản lý một lượng lớn dữ liệu, những dữ liệu này được tạo ra trong quá trình tác nghiệp hàng ngày. Một CSDL là một dạng tổ chức của những dữ liệu đó. Nó có thể chứa một hay nhiều phần tử dữ liệu có liên quan với nhau được gọi là bản ghi. Có thể xem CSDL như là một tập dữ liệu được sử dụng để trả lời cho các câu hỏi khác nhau. Ví dụ: “Hãy cho biết địa chỉ và số điện thoại của năm bưu điện gần nhất?” hay “Có cuốn sách nào trong thư viện nói về thực phẩm bổ dưỡng không? Nếu có thì nó nằm ở giá sách nào? hay “Hãy cho tôi biết thông tin cá nhân và biểu đồ bán hàng của năm người bán hàng tốt nhất trong quí, nhưng không hiển thị địa chỉ chi tiết của họ”.Trong chương này trình bày những khái niệm liên quan đến CSDL và Hệ quản trị CSDL, làm rõ những mô hình CSDL khác nhau và giới thiệu khái niệm về Hệ quản trị CSDL quan hệ.1 RDBMS1.2 Dữ liệu và CSDLDữ liệu có nghĩa là thông tin và nó là thành phần quan trọng trong bất kỳ lĩnh vực, công việc nào. Trong những công việc thường nhật bao gồm cả việc sử dụng dữ liệu đã có và tạo ra những dữ liệu mới. Khi những dữ liệu được tạo ra và được phân tích thì chúng trở thành thông tin. Chúng có thể trở thành nhiều loại thông tin như thông tin về xe hơi, thể thao, máy bay .v.v…Ví dụ một nhà báo thể thao (người hâm mộ môn bóng đá) thu thập điểm của 10 trận đấu mà đội tuyển Đức tham dự ở cúp bóng đá thế giới. Những điểm số này trở thành dữ liệu. Khi dữ liệu này được đem so sánh với dữ liệu thu được trong 10 trận ở cúp bóng đá thế giới của đội tuyển Brazil, nhà báo này có được thông tin đội tuyển bóng đá nào thi đấu hay hơn. Thông tin giúp chúng ta tiên liệu và hoạch định được các sự kiện. Thông tin là sự thấu hiểu của dữ liệu. Trong kinh doanh, từ thông tin có thể dự báo và hoạch định trước sự xảy ra của một sự kiện giúp tiết kiệm thời gian và tiền bạc. Xét ví dụ, một công ty sản xuất xe hơi hoạch định chi hàng năm cho những thành phần của xe mà công ty không sản xuất được. Nếu chi phí cho những phần này trong 5 năm qua đã có, công ty mẹ có thể tập hợp những thông tin về những phần đã nhập khẩu. Dựa vào kết quả tìm được, một kế hoạch sản xuất sẽ được chuẩn bị. Do đó, thông tin là nhân tố then chốt trong hoạch định chiến lược.Một CSDL là một tập hợp dữ liệu. Có thể hiểu rằng CSDL là một cơ chế tổ chức có khả năng lưu trữ thông tin. Người dùng có thể truy xuất được thông tin một cách nhanh chóng và hiệu quả từ CSDL.Một cuốn danh bạ điện thoại là một CSDL. Dữ liệu chứa trong những mục như tên, địa chỉ và số điện thoại. Những dữ liệu này được liệt kê, sắp xếp và chỉ mục theo thứ tự a,b,c (alphabet). Nó cho phép người sử dụng tham chiếu đến nơi cư trú một cách dễ dàng. Sau đó, dữ liệu này sẽ được lưu vào CSDL trên máy tính. Một người di chuyển đến một thành phố hay một tiểu bang khác, những mục dữ liệu tương ứng sẽ được thêm vào hay bỏ đi khỏi danh bạ. Tương tự, những mục thông tin đó có thể được sửa đổi khi có người thay tên, đổi địa chỉ hay số điện thoại v.v… Hình1.1 minh họa một CSDL đơn giản.Hình 1. 1. CSDLAptech VietnamDatabaseNgười dùngLưu thông tinTruy xuất thông tin2 Chương 1- Các khái niệm về RDBMSVậy, CSDL là một tập hợp dữ liệu được tổ chức sao cho nội dung của nó có thể dễ dàng truy cập, quản lý và cập nhật.1.3 Quản trị dữ liệuQuản trị dữ liệu chỉ việc quản lý lượng lớn thông tin, bao gồm cả việc lưu trữ thông tin và cơ chế thao tác thông tin trên các thông tin đó. Ngoài ra, hệ thống phải đảm bảo tính an toàn thông tin được lưu trữ trong nhiều tình huống khác nhau, như nhiều người truy cập v.v…Có hai phương pháp quản trị dữ liệu khác nhau là hệ thống dựa trên tập tin và hệ thống CSDL.1.3.1 Hệ thống dựa trên tập tinLưu trữ một lượng lớn thông tin luôn luôn là mối quan tâm lớn. Trong những năm trước, các hệ thống quản lý theo tập tin được sử dụng, các hệ thống này lưu trữ dữ liệu trong những tập tin riêng biệt. Trong hệ thống này, một nhóm tập tin được lưu trên một máy tính và được truy cập bằng các thao tác máy tính. Tập tin lưu trữ dữ liệu được gọi là bảng bởi vì nó trông giống các bảng được lưu trữ trong các hồ sơ truyền thống. Các dòng trong bảng được gọi là các bản ghi và các cột được gọi là các trường.Thông thường, trước khi hệ thống CSDL được phát triển, dữ liệu trong hệ thống phần mềm được lưu trữ trên các tập tin.Một ví dụ về hệ thống quản lý theo file mô tả trong bảng 1.1Fist Name(Tên)Last Name(Họ)Address (Địa chỉ)Phone (Số điện thoại)Eric David ericd@eff.org 213-456-0987Selena Sol selena@eff.org 987-756-4321Jordan Lim nadroj@otherdomain.com 222-3456-123Bảng 1. 1. Hệ thống quản lý theo tập tinNhược điểm của hệ thống quản lý theo tập tinTrong hệ thống quản lý theo file, những chương trình khác nhau trong cùng một ứng dụng có tương tác với những file dữ liệu khác nhau. Nó khôn tồn tại bất kỳ một hệ thống nào ép buộc theo một chuẩn nào đó trong việc lưu trữ và cấu trúc những file dữ liệu.ITT3 RDBMS Dư thừa và mâu thuẫn dữ liệuKhi dữ liệu được lưu trữ trong những file riêng biệt nhau nó sẽ phát sinh ra dư thừa và mâu thuẫn dữ liệu. Ví dụ, một khách hàng có một tài khoản tiết kiệm. Thông tin chi tiết của khách hàng có thể bị lặp lại khi những chương trình cho hai chức năng lưu trữ thông tin liên quan đến khách hàng trên hai file khác nhau. Điều này tạo ra sự dư thừa dữ liệu khách hàng. Trong khi đó, cùng dữ liệu lưu trên hai file riêng biệt sẽ tạo ra sự mâu thuẫn nếu ta thay đổi dữ liệu trên một file và file kia không được cập nhật tương ứng. Truy vấn bất ngờTrong một hệ thống quản lý theo file thì việc quản lý những truy vấn bất ngờ rất khó khăn, khi đó nó yêu cầu thay đổi trong các chương trình đã tồn tại. Ví dụ, nhân viên ngân hàng cần tạo ra một danh sách tất cả các khách hàng có tài khoản từ $20000 trở lên. Nhân viên ngân hàng có hai tùy chọn: hoặc lấy danh sách tất cả các khách hàng với các thông tin cần thiết sau đó chọn thủ công hoặc thuê một lập trình viên thiết kế ứng dụng cần thiết. Rõ ràng cả hai phương án trên điều không tốt. Giải sử chương trình đã được viết và trể một vài ngày, lúc đó nhân viên ngân hàng yêu cầu chỉ cần những khách hàng đã mở tài khoản cách đây một năm mà thôi. Như vậy, chương trình để tạo ra danh sách đó vẫn chưa có, điều này rất khó khăn trong việc truy xuất dữ liệu. Cô lập dữ liệuDữ liệu được lưu trữ phân tán trên nhiều file khác nhau và các file này có thể ở những dạng định dạng khác nhau. Mặc dù dữ liệu được sử dụng bởi các chương trình khác nhau trong một ứng dụng có thể được liên kết với nhau nhưng chúng vẫn được lưu trên những file riêng lẻ. Xử lý các truy cập đồng thời bất thườngTrong các hệ thống lớn, một file hay một bản ghi có thể được truy cập đồng thời bởi nhiều người sử dụng. Hệ thống quản lý dựa theo file rất khó đáp ứng được yêu cầu này. Vấn đề về bảo mậtTrong các ứng dụng tập trung dữ liệu thì bảo mật dữ liệu là mối quan tâm chính. Những người dùng chỉ có thể truy cập những dữ liệu cần thiết chứ không phải toàn bộ CSDL. Ví dụ, trong một hệ thống ngân hàng, hệ thống tiền lương chỉ cần xem một phần về nhân viên ngân hàng mà thôi. Họ không cần truy cập thông tin về tài khoản của khách hàng. Trong khi đó những Aptech Vietnam4 Chương 1- Các khái niệm về RDBMSchương trình ứng dụng được thêm vào hệ thống trong những trường hợp đặc biệt rất khó có thể đảm bảo được các qui tắc bảo mật đã có.Trong một hệ thống quản lý dựa theo file, vấn đề bảo mật chỉ có thể kiểm soát được bằng cách thêm các chương trình vào từng ứng dụng. Vấn đề về toàn vẹnTrong bất kỳ ứng dụng nào, luôn luôn tồn tại những qui tắc đảm bảo toàn vẹn dữ liệu. Những qui tắc này có thể tồn tại ở dạng các điều kiện hoặc các ràng buộc trên những thành phần của bản ghi dữ liệu. Trong ứng dụng về ngân hàng, có thể có một qui tắc về toàn vẹn có thể là “Mã khách hàng không được trùng nhau và không được rỗng”. Có thể có nhiều qui tắc toàn vẹn trong một ứng dụng. Trong hệ thống quản lý theo file tất cả các qui tắc này cần phải được lập trình trong chương trình ứng dụng.Duyệt qua tất cả các vấn đề cơ bản của bất kỳ ứng dụng tập trung dữ liệu nào, ta thấy mỗi ứng dụng đều phải kiểm soát tất cả những vấn đề trên. Như vậy, người lập trình ứng dụng không chỉ phải cài đặt những nghiệp vụ của ứng dụng mà còn phải cài đặt cả những vấn đề cơ bản ở trên.1.3.2 Các hệ thống CSDLCác hệ thống CSDL được phát triển vào những năm cuối thập niên 60 của thế kỹ trước để giải quyết những vấn đề cơ bản trong những ứng dụng có lượng dữ liệu lớn và tập trung nhằm khắc phục một số nhược điểm của các hệ thống quản lý theo file.CSDL được sử dụng để lưu trữ dữ liệu có hệ thống và có tổ chức. CSDL sẽ giúp quản lý dữ liệu một cách nhanh chóng và dễ dàng. Ví dụ, một công ty có thể quản lý thông tin chi tiết của các nhân viên trong một CSDL. Tại bất kỳ thời điểm nào, cũng có thể truy xuất dữ liệu từ CSDL, dữ liệu mới có thể được thêm vào CSDL và dữ liệu có thể được tìm kiếm dựa vào một vài điều kiện trong CSDL.Dữ liệu lưu trữ cũng có thể truy xuất được ngay cả khi lưu trên những file đơn giản. Ví dụ, một trường đại học phải lưu giữ những thông tin về giáo viên, sinh viên, môn học và các kỳ thi. Chi tiết các giáo viên có thể được lưu trong sổ nhân viên, chi tiết các sinh viên có thể được lưu trong sổ sinh viên và tương tự. Tuy nhiên, dữ liệu được lưu trữ theo dạng này không bền vững. Những bản ghi được lưu theo dạng này có thể chỉ được giữ trong vài tháng hoặc vài năm. Những sổ hay file là rất kềnh càng, chiếm nhiều không gian và không thể giữ trong nhiều năm.Nếu dữ liệu trên được lưu giữ trong hệ thống CSDL thì chúng có thể được lưu giữ lâu hơn.Ưu điểm của các hệ thống CSDLITT5 RDBMSThông tin hay dữ liệu có thể được lưu vĩnh cửu trong CSDL trên máy tính. Hệ thống CSDL có nhiều ưu điểm bởi vì nó quản lý dữ liệu tập trung. Một vài lợi ích của việc sử dụng hệ thống CSDL tập trung như sau: Giảm dư thừa dữ liệuTrong một công ty, một số phòng ban thường lưu chung dữ liệu. Sử dụng CSDL tập trung giúp các dữ liệu dùng chung được truy cập bởi nhiều phòng ban khác nhau. Vì vậy, dữ liệu trùng hay dữ liệu dư thừa sẽ giảm. Giảm mâu thuẫn dữ liệuKhi dữ liệu được lưu trùng qua nhiều phòng ban thì bất kỳ sự thay đổi nào của dữ liệu cũng phải thay đổi trên tất cả các phòng ban. Nếu có phòng ban không được thay đổi sẽ dẫn đến mâu thuẫn dữ liệu.Khi sử dụng CSDL tập trung, nó có thể cho phép người dùng cập nhật dữ liệu riêng biệt. Giả sử rằng, Mr. Larry Finner là nhân viên của một công ty và được đề bạt lên quản lý thì chỉ cần thay đổi một nơi trên CSDL mà thôi. Kết quả sự mâu thuẫn dữ liệu sẽ giảm. Dữ liệu được lưu trữ có thể được chia sẻMột CSDL tập trung có thể được đặt trên một Server và có thể được chia sẻ cho nhiều người sử dụng. Bằng cách này tất cả những người dùng có thể truy xuất hoặc cập nhật thông tin bất cứ lúc nào. Các chuẩn có thể được thiết lập và duy trìMột trung tâm điều khiển đảm bảo các chuẩn trong việc đặc tả dữ liệu có thể được thiết lập và duy trì. Ví dụ, tên một người có thể được thể hiện như “Mr Larry Linner”. Tên này có thể được chia nhỏ thành các thành phần dưới đây: Định danh (Mr) Tên (Larry) Họ (Finner)Nó đảm bảo rằng tất cả các tên được lưu trong CSDL sẽ có cùng định dạng như trên nếu như chuẩn này được thiết lập. Toàn vẹn dữ liệu được duy trìToàn vẹn dữ liệu đảm bảo tính chính xác của dữ liệu trong CSDL. Ví dụ, khi một nhân viên nghỉ việc, phòng kế toán cập nhật CSDL và phòng nhân sự Aptech Vietnam6 [...]... quan hệ (RDBMS) được liệt kê trong bảng 1.13: DBMS RDBMS Không cần có dữ liệu theo cấu trúc dạng bảng và không ép buộc các mối quan hệ dạng bảng giữa các mục dữ liệu Trong RDBMS, cấu trúc dạng bảng là bắt buộc và các mối quan hệ bảng được đảm bảo bởi hệ thống Các mối quan hệ này cho phép người dùng thiết lập và quản lý các quy tắc nghiệp vụ, giúp giảm thiểu viết mã Lượng nhỏ dữ liệu được lưu trữ và RDBMS. .. RDBMS có thể lưu và truy xuất lượng lớn truy xuất dữ liệu DBMS bảo mật kém hơn so với RDBMS bảo mật mạnh hơn so với DBMS RDBMS Là hệ thống đơn người dùng Là hệ thống đa người dùng Hầu hết các hệ thống DBMS không Hỗ trợ kiến thúc client/server hỗ trợ kiến trúc client/server (khách/chủ) Bảng 1.13: Sự khác nhau giữa DBMS và RDBMS Trong hệ quản trị CSDL quan hệ, quan hệ quan trọng nhất Do đó, người dùng có... liên quan đến các bảng được mô tả trong bảng 1.12 ITT 19 RDBMS Bảng 1.8: Customer (Khách hàng) Bảng 1.9: Items (Mục hàng) Bảng 1.10: Order_Details (Chi tiết đơn hàng) Bảng 1.11: Order_August (Đơn hàng trong tháng 8) Thuật ngữ Quan 20 hệ Một bảng Nghĩa Ví dụ từ các bảng trên Order_August, Order_Details, Aptech Vietnam Chương 1- Các khái niệm về RDBMS (Relation) Customer và Items Bộ (Tuple) Một hàng hoặc... tin từ bộ chứa đó  DBMS là tập hợp các chương trình cho phép người dùng lưu trữ, sửa đổi và trích xuất thông tin từ CSDL  Hệ quản trị CSDL quan hệ (RDBMS) là một bộ chương trình phần mềm cho phép tạo, duy trì, sửa đổi và thao tác một CSDL quan hệ ITT 25 RDBMS KIỂM TRA SỰ TIẾN BỘ CỦA HỌC VIÊN 1 Mô hình dữ liệu cho phép một nút con có nhiều hơn một nút cha a Flat-file b Phân cấp (Hierarchical) c Mạng... các câu truy vấn, các chương trình này đánh giá các phương án khác nhau để thực hiện các câu truy vấn và chọn ra phương án tốt nhất  10 Điều khiển đa truy cập Aptech Vietnam Chương 1- Các khái niệm về RDBMS Tại một thời điểm có thể có nhiều người truy cập cùng một dữ liệu Hệ quản trị CSDL theo dõi việc chia sẻ dữ liệu cho nhiều người dùng và duy trì toàn vẹn dữ liệu Ngôn ngữ truy xuất CSDL và giao diện... 1.5.2 Mô hình phân cấp (Hierarchical) Trong mô hình phân cấp, các bản ghi liên kết với nhau thông qua các cấp bậc giống như cấu trúc cây Trong mô hình này, các quan hệ được gọi là quan hệ cha – con ITT 11 RDBMS Một bản ghi cha có thể có một vài bản ghi con nhưng một bản ghi con chỉ có một và chỉ một bản ghi cha Để tìm dữ liệu được lưu trữ theo mô hình này, người dùng cần phải biết cấu trúc của cây Ví dụ... theo cấu trúc phân cấp được gọi là đường dẫn phân cấp Từ hình vẽ chúng ta thấy rõ mỗi phòng có thể có nhiều nhân viên và dự án  Ưu điểm của mô hình phân cấp 12 Aptech Vietnam Chương 1- Các khái niệm về RDBMS Ưu điểm của mô hình phân cấp như sau: - Dữ liệu được lưu giữ trên CSDL, vì vậy dữ liệu được chia sẻ một cách dễ dàng và được bảo mật bởi hệ quản trị CSDL - Độc lập dữ liệu được hệ quản trị CSDL giúp... cần thiết từ dữ liệu được lưu trong CSDL được gọi là sơ đồ con Nó cho phép các chương trình ứng dụng truy cập những ứng dụng cần thiết từ CSDL Salesrep Product Customer Invoice Payment Invline ITT 13 RDBMS Hình 1 4 Mô hình mạng Mô hình mạng được mô tả ở trên là một dãy các quan hệ một nhiều 1 Một người bán hàng có thể viết nhiều hóa đơn nhưng mỗi hóa đơn thì được viết bởi một người bán hàng duy nhất... hình này đạt được sự độc lập dữ liệu cần thiết Nhược điểm của mô hình mạng  Một số nhược điểm của mô hình mạng như sau: 14 Khó thiết kế CSDL theo mô hình này Aptech Vietnam - Chương 1- Các khái niệm về RDBMS Người lập trình phải nắm rõ cấu trúc bên trong CSDL để truy cập CSDL Mô hình này cung cấp môi trường truy cập dữ liệu nên để di chuyển từ A đến E theo thứ tự A-B-C-D-E, người sử dụng phải di chuyển... quan hệ Số tuple xác định số phần tử trong quan hệ Để hiểu về mô hình quan hệ hãy xem xét bảng 1.3 và 1.4 dưới đây: Mã sinh viên 1 Sam 2 John 3 Jenny 4 Lisa 5 Penny 6 Peter 7 ITT Tên sinh viên Joe 15 RDBMS Bảng 1.3: Bảng sinh viên Mã sinh viên Điểm số 1 34 2 87 3 45 4 90 5 36 6 65 7 89 Bảng 1.4: Bảng điểm Bảng sinh viên hiển thị mã sinh viên và tên sinh viên, bảng điểm hiển thị mã sinh viên và điểm . ngân hàng cần tạo ra một danh sách tất cả các khách hàng có tài khoản từ $ 200 00 trở lên. Nhân viên ngân hàng có hai tùy chọn: hoặc lấy danh sách tất cả. HỆ RDBMSMỤC LỤCChương 1 Các khái niệm về hệ quản trị CSDL 1Chương 2 Mô hình quan hệ thực thể và chuẩn hóa dữ liệu 28Chương 3 Tổng quan về SQL Server 200 5

Ngày đăng: 23/01/2013, 22:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan