CHƯƠNG 1 1. Cơ sở dữ liệu là gì? Bạn hiểu thế nào là một hệ cơ sở dữ liệu tác nghiệp? 2. Sự cần thiết tổ chức lưu trữ dữ liệu theo lý thuyết cơ sở dữ liệu? 3. Cho ví dụ minh họa về giảm bớt dư thừa dữ liệu trong lưu trữ và không nhất quán dữ liệu trong lưu trữ làm cho dữ liệu mất đi tính toàn vẹn.
Trình bày tổng quát kiến trúc mô hình hệ cơ sở dữ liệu 3 lớp. Trình bày và phân tích tính ổn định trong mô hình quan niệm. Vai trò và chức năng của ánh xạ quan niệm trong và ánh xạ quan niệm ngoài. Mục tiêu của các hệ cơ sở dữ liệu? Ví dụ minh họa.
Chứng minh rằng kiến trúc mô hình cơ sở dữ liệu 3 lớp đảm bảo được tính độc lập dữ liệu và tính ổn định cao. Tại sao nói, mô hình dữ liệu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đồ quan niệm là định nghĩa của cách nhìn ấy? Ví dụ minh họa. Hiểu thế nào về khái niệm “tính toàn vẹn dữ liệu” và “tham chiếu toàn vẹn”. TỔNG QUAN VỀ SQL SERVER Trong chương này, trình bày một cách khái quát về hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
Các chức năng mà một hệ quản trị cơ sở dữ liệu cần phải có. Nội dung chính của chương này gồm: - Giới thiệu hệ quản trị cơ sở dữ liệu Microsoft SQL Server. - Các thành phần của Microsoft SQL Server - Mô hình Microsoft SQL Server - Giới thiệu công cụ Enterprise Manager 2. Giới thiệu hệ quản trị cơ sở dữ SQL server 2.
SQL là gì? SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệ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ệ. SQL được phát triển từ ngôn ngữ SEQUEL bởi IBM theo mô hình E.Codd tại trung tâm nghiên cứu của IBM ở California vào những năm 70 cho hệ quản trị CSDL lớn. Đầu tiên SQL được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trên các máy đơn lẻ.
Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDL lớn theo mô hình khách chủ: trong mô hình này toàn bộ CSDL được tập trung trên máy chủ (Server), mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ. 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. Hơn thế nữa, 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 đồng thời tạo 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, người dùng có thể dễ dàng thực 19 hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.
- Điều khiển truy cập: SQL có thể được sử dụng để tạo và cấp phát quyền người dùng đồng thời kiểm soát các thao tác của người 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ư vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,.
song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu. Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java,. SQL là ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào.
Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng. Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL. Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn, nó được sử dụng để nhanh chóng tạo các trang web động. SQL Server là gì? Microsoft SQL Server (hay còn gọi SQL Server) là một hệ thống quản lý cơ sở dữ liệu quan hệ được phát triển bởi Microsoft, có chức năng chính là lưu trữ, truy xuất dữ liệu và thông qua câu lệnh SQL nó có thể trao đổi dữ liệu với các ứng dụng trên máy Client.
Trong môi trường Client/Server cơ sở dữ liệu được lưu trên máy Server, người dùng truy cập dữ liệu từ các máy Client qua một hệ thống mạng. SQL Server hỗ trợ nhiều chức năng quản trị dữ liệu trên môi trường nhiều người dùng theo kiểu Client/Server. SQL Server chịu trách nhiệm đáp ứng các yêu cầu truy cập dữ liệu từ các máy Client, xử lý và chuyển kết quả về cho máy Server. SQL Server có một hệ thống bảo mật nhiều cấp giúp cho việc quản lý và bảo mật dữ liệu thuận tiện và chặt chẽ.
SQL Server có một số đặc tính sau: 20 - Cho phép quản trị một hệ CSDL lớn, có tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian. - Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL (tối đa 30000 user). - Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT hoặc sử dụng hệ thống bảo mật độc lập của SQL Server. - Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet.
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng để xây dựng các ứng dụng (Visual Basic, C, C++, ASP, ASP. - Sử dụng câu lệnh truy vấn dữ liệu Transact-SQL: là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute). Vai trò của SQL Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu.
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau: - SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu và nhận kết quả trả về từ 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,. - SQL là ngôn ngữ cho các hệ thống client/server: Trong các hệ thống cơ sở dữ liệu client/server, 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.
21 - 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. - SQL là ngôn 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. - SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu. Các thành phần của SQL Server Các thành cơ bản trong SQL Server gồm có: Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service,… Tất cả kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tích và lưu trữ dữ liệu trở nên dễ dàng hơn.
+ Database Engine: Đây là phần lõi của SQL Server nó có chức năng chứa dữ liệu dưới dạng các bảng và hỗ trợ các kết nối đến CSDL. Ngoài ra, nó còn có khả năng tự điều chỉnh ví dụ: trả lại tài nguyên cho hệ điều hành khi một user log off và yêu cầu thêm các tài nguyên của máy khi cần. + Integration Services: là tập hợp các đối tượng lập trình và các công cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu. Khi bạn làm việc trong một công ty lớn thì dữ liệu được lưu trữ ở nhiều nơi khác nhau như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và bạn chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này.
Ngoài ra, bạn còn muốn định dạng dữ liệu trước khi lưu vào database, Integration Services sẽ giúp bạn giải quyết được công việc này dễ dàng. + Analysis Services: Đây là một dịch vụ phân tích dữ liệu của Microsoft. Công cụ này giúp bạn trong việc phân tích dữ liệu một cách hiệu quả và dễ dàng bằng cách dùng kỹ thuật khai thác dữ liệu – datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes.