Bài tập SQL 2005 1 SQL Server 2000 Data Type Money smallmoney binary varbinary numeric decimal float int smallint tinyint char varchar nchar nvarchar text ntext image Order Data Type - timestamp - bit - table - sql_variant - uniqueidentifier(GUID) Binary Monetary Numberic Interger Text Data integrity Entity integrity Referential integrity Domain integrity User-defined integrity Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 1 of 24 35/115 Phố Định Công – Hoàng Mai Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ Lời giới thiệu Sách bài tập do tập thể giáo viên AiTi-Aptech thiết kế và được sử dụng như một phần không thể tách rời khỏi giáo trình đang học của Aptech Ấn Độ với các học viên đang theo học tại Trung tâm. Tập sách bài tập này là tài liệu lưu hành nội bộ, chỉ dành cho các học viên theo học tại Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech. Mọi hình thức sao chép lại nội dung của sách là vi phạm bản quyền và không tuân thủ Luật Sở hữu trí tuệ của Nhà nước Việt Nam. AiTi-Aptech luôn mong mỏi tạo dựng một môi trường học tập tốt cho các bạn học viên theo học tại trung tâm. Mọi ý kiến đóng góp về xây dựng Sách bài tập, cải tiến hệ thống xin gửi mail về contact.aiti@gmail.com hoặc đường dây nóng (04) 6 64 8848. Chúng tôi sẽ ghi nhận và cải tiến để có thể cung cấp cho các bạn một môi trường học tập ngày một tốt hơn. “Sự nghiệp tương lai của các bạn là thành công của chúng tôi” Đội thiết kế Sách bài tập Việt Nam luôn thiếu Lập trình viên đẳng cấp Quốc tế Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 3 of 24 35/115 Phố Định Công – Hoàng Mai Contents Ch ng 1 : Gi i thi u h qu n tr C s d li u (CSDL) ươ ớ ệ ệ ả ị ơ ở ữ ệ 3 Ch ng 2 : T ng quan v SQL Server 2005ươ ổ ề 4 Ch ng 3 : B ng và các ki u d li uươ ả ể ữ ệ 12 Chương 1 : Giới thiệu hệ quản trị Cơ sở dữ liệu (CSDL) Tóm tắt những nội dung cần ghi nhớ trong chương: 1. Khái niệm: Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan, được lưu trữ có tổ chức theo dạng bảng nhằm giảm việc lưu dưa thừa dữ liệu và được lưu trữ lại để sử dụng khi cần thiết. 2. Phương pháp tiếp cận Quản lý dữ liệu - Hệ thống file - Ưu điểm chính: đơn giản, thuận tiện, hệ thống nào cũng hỗ trợ - Nhược điểm chính: Dư thừa dữ liệu, dữ liệu không nhất quán, khó khăn trong truy vấn dữ liệu. - Hệ thống CSDL - Ưu điểm: dữ liệu nhất quán, không dư thừa, có khả năng chia sẻ dữ liệu cao, dễ dàng truy vấn dữ liệu và tính bảo mật cao. - Nhược điểm: chi phí cao, tốn dung lượng nhớ, các thao tác bảo trì, tối ưu dữ liệu khó khăn. 3. Hệ quản trị CSDL 1. Khái niệm: CSDL là một tập các dữ liệu có liên quan với nhau còn Hệ quản trị CSDL là một tập các chương trình được dùng để thêm, sửa, xóa các dữ liệu trong CSDL. 2. (?) Liệt kê những lợi ích của Hệ quản trị CSDL 1) … 2) … 3) … 4) … Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ 5) … 6) … 7) … 8) … 4. Các mô hình dữ liệu - Mô hình File phẳng - Mô hình Phân cấp - Mô hình Mạng - Mô hình Quan hệ - (?) Thực hiện so sánh ưu nhược điểm trong việc tổ chức và lưu trữ dữ liệu cũng như truy vấn dữ liệu từ các mô hình trên. 5. Hệ quản trị CSDL Quan hệ 1. Khái niệm: từ khái niệm Hệ quản trị CSDL ta có thể dễ dàng định nghịa khái niệm Hệ quản trị CSDL Quan hệ (RDBMS) là Hệ quản trị CSDL theo mô hình dữ liệu quan hệ. 2. (?) Các khái niệm trong Hệ quản trị CSDL Quan hệ: 1) Dữ liệu được biểu diễn dưới dạng một tập các… 2) Mỗi quan hệ được biểu diễn dưới dạng… 3) Các cột dữ liệu trong bảng là các… 4) Mỗi dòng dữ liệu biểu diễn thông tin của một… 5) Mỗi bảng dữ liệu có một tập các thuộc tính được gọi là … cho phép biểu diễn một Thực thể duy nhất. Bài tập: 1) Viết một chương trình C cho phép lưu dữ liệu của 2 bảng Table 1.8 và Table 1.11 trong trang 18 và 19 của sách vào trong file phẳng. a. Viết hàm lấy thông tin khách hàng theo số điện thoại, ví dụ nhập liệu: 0241 chương trình hiển thị thông tin 2 khách hàng là Ryan và Bruce. b. Viết hàm hiển thị danh sách khách hàng và số lượng đơn hàng mà khách hàng đặt. 2) Hãy liệt kê những câu hỏi truy vấn về những thông tin mà bạn có thể thu được từ Table 1.8 và Table 1.11 như “Khách hàng đặt nhiều đơn hàng nhất?”, “Từ ngày 01/08/06 đến 20/08/06 có bao Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 5 of 24 35/115 Phố Định Công – Hoàng Mai nhiêu đơn hàng?” v.v rồi thử trao đổi với các bạn của bạn về những câu hỏi này, cùng nhau xác định xem cần viết bao nhiêu hàm trong chương trình C để trả lời các câu hỏi này. Chương 2 : Tổng quan về SQL Server 2005 A. Tóm tắt nội dung cần ghi nhớ 1. Giới thiệu: SQL Server 2005 là một Hệ Quản lý Cơ Sở Dữ Liệu (CSDL) Quan hệ. Nó cũng được coi là một nền tảng dữ liệu ở cấp độ doanh nghiệp. 2. SQL Server 2005 a. Các tính năng: (?) Cho biết các tính năng cơ bản của SQL Server 2005. Các tính năng mới của SQL Server 2005 bao gồm: -Notification Services: cho phép gửi thông báo khi có một sự kiện xảy ra trong CSDL. -Reporting Services: dịch vụ báo cáo về các sự kiện xảy ra trên hệ thống CSDL. -Service Broker: công nghệ này dựa trên kiến trúc hướng dịch vụ (Service Oriented Architecture - SOA). Nó cung cấp phương thức liên lạc chắc chắn và bảo mật giữa các CSDL với nhau. -Engine CSDL nâng cao: cải tiến ngôn ngữ Transact-SQL, thêm tính năng mới XML, thêm kiểu dữ liệu mới,… b. Các phiên bản: Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ SQL Server chia thành nhiều phiên bản tùy theo nhu cầu sử dụng: -Bản Enterprise với đầy đủ tính năng, phục vụ những ứng dụng cỡ lớn. -Bản Standard dành cho doanh nghiệp vừa và nhỏ. -Bản Workgroup dành cho nhóm làm việc và tổ chức nhỏ. -Bản Developer dành cho người phát triển và kiểm thử ứng dụng. -Bản Express là bản miễn phí, chỉ có các tính năng cơ bản nhất. c. Ưu điểm: -Nâng cao khả năng quản lý dữ liệu. -Tăng năng suất và hiệu quả phát triển ứng dụng. -Hỗ trợ nghiệp vụ thông minh và linh hoạt. -Có các tính năng ưu việt, nổi trội. 3. Các thành phần của SQL Server 2005: (?) Nêu các thành phần của SQL Server 2005. 4. Kiến trúc ứng dụng doanh nghiệp a. Các lớp (layer): -Data Presentation: nơi người dùng duyệt và truy cập dữ liệu. -Application Logic: đặt ra các quy định và xử lý dữ liệu. -Data Services: trực tiếp thao tác và lưu trữ dữ liệu. Bốn chức năng chính thuộc lớp này là: lấy dữ liệu, chèn thêm dữ liệu, cập nhật và xóa dữ liệu. b. Các mô hình phân lớp: Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 7 of 24 35/115 Phố Định Công – Hoàng Mai -Mô hình 2 lớp: gồm 2 lớp Data Presentation và Data Services -Mô hình 3 lớp: gồm 3 lớp Data Presentation, Application Logic và Data Services. 5. Các CSDL hệ thống: -master: lưu trữ tất cả thông tin hệ thống cho một instance của SQL Server. -msdb: được chương trình SQL Server Agent dùng để hẹn giờ thông báo hay thực hiện tác vụ. -model: dùng làm mẫu để tạo CSDL mới. -Resource: chứa các đối tượng hệ thống có trong SQL Server 2005. -tempdb: dùng để chứa các dữ liệu tạm. 6. File và Filegroup: Có 3 kiểu file cơ bản trong SQL Server 2005: -File dữ liệu chính: .mdf -Các file dữ liệu phụ: .ndf -File log: .ldf Filegroup là một nhóm các file chứa dữ liệu và không bao gồm file log. 7. Kiến trúc CSDL a. Các thành phần logic: -Các đối tượng trong CSDL: bảng, kiểu dữ liệu, ràng buộc,… -Thông tin đăng nhập, phân nhóm, phân quyền: login, user, role, group. Có 2 cách xác thực: dùng user của Windows và dùng user của SQL Server. Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ b. Kiến trúc vật lý: -Page và Extent: 1 page chiếm 8KB bộ nhớ, 1 extent bằng 8 page. -File và Filegroup. -Việc ghi log các giao dịch cho phép khôi phục CSDL về trạng thái trước khi có thay đổi. 8. Kiến trúc CSDL quan hệ -Xử lý truy vấn. -Kiến trúc bộ nhớ. -Luồng và tác vụ. -Nhập/Xuất. -Phân phối truy vấn. B. Bài tập 1. Cài đặt SQL Server 2005: Dựa theo Phụ lục A (tr. 263), học viên cài SQL Server 2005 bản Enterprise lên máy của mình. Lưu ý: -Ở Figure 11 (tr. 273), mở mục Documentation, Sample, and… rồi chọn cài đặt CSDL AdventureWorks. -Ở Figure 13 (tr. 275), chọn Use the built-in System account, chọn Local system. 2. Kết nối và thao tác: Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 9 of 24 35/115 Phố Định Công – Hoàng Mai -Mở Microsoft SQL Server Management Studio. -Kết nối đến instance của SQL Server 2005 bản Enterprise. -Ngắt kết nối (disconnect) và kết nối lại. -Đóng và mở lại các panel Object Explorer, Object Explorer Details. -Duyệt cây thư mục trong Object Explorer, xem xét những thay đổi bên Object Explorer Details. Cho biết tác dụng của các panel này? -Mở SQL Server Books Online từ SQL Server Management Studio. -Trong SQL Server Books Online, mở panel Index (nhấn nút Index trên thanh công cụ). Tiếp đó tìm kiếm thông tin về “.mdf files”. 3. Truy vấn dữ liệu: -Sử dụng Query Designer, từ CSDL AdventureWorks lấy dữ liệu về ngày sinh, giới tính và tình trạng hôn nhân của các nhân viên (bảng HumanResources.Employee). -Tạo query mới. Sử dụng Query Designer, từ CSDL AdventureWorks, thêm 2 bảng Employee và Contact. Lấy dữ liệu về họ tên (FirstName, LastName, MiddleName), ngày sinh, giới tính, tình trạng hôn nhân, chức vụ của các nhân viên. . 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 1 of 24 35 /11 5 Phố Định Công – Hoàng Mai Sách bài tập SQL 2005 1 AiTi-Aptech. biểu diễn một Thực thể duy nhất. Bài tập: 1) Viết một chương trình C cho phép lưu dữ liệu của 2 bảng Table 1. 8 và Table 1. 11 trong trang 18 và 19 của sách vào trong file phẳng. a. Viết hàm. được từ Table 1. 8 và Table 1. 11 như “Khách hàng đặt nhiều đơn hàng nhất?”, “Từ ngày 01/ 08/06 đến 20/08/06 có bao Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 5 of 24 35 /11 5 Phố Định