CHƯƠNG 1 Giảng viên: Trần Thị Kim Chi 1 1 Tổng quan về Cơ Sở Dữ Liệu quan hệ 2 Hệ Quản Trị Cơ Sở Dữ Liệu 3 Giới thiệu SQL Server 4 SQL Server Services & Tools 5 Giới thiệu SQL Server 2008 6 Bộ công cụ Management Studio 7 Metadata – Siêu dữ liệu 2 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Data (dữ liệu) và information (thông tin) – Data: sự biểu diễn của các đối tượng và sự kiện được ghi nhận và được lưu trữ trên các phương tiện của máy tính. Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, … Dữ liệu không có cấu trúc: hình ảnh, âm thanh, đoạn phim, … – Information: dữ liệu đã được xử lý để làm tăng sự hiểu biết của người sử dụng. Phân biệt giữa data và information?? 3 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Data (dữ liệu) và information (thông tin) Dữ liệu 1 10273 2 00298 … 151 50542 152 50075 Nguyễn Văn Hoà Nguyễn Minh Tâm CDTH7 CDTH7 20 19 Hồ Xuân Phương Lê Việt Dũng TCTH33 CNTH34 18 20 Thông tin: dữ liệu trong ngữ cảnh STT Mã sinh viên Họ và tên sinh viên 1 10273 Nguyễn Văn Hoà 2 00298 Nguyễn Minh Tâm … 151 50542 Hồ Xuân Phương 152 50075 Lê Việt Dũng Lớp CDTH7 CDTH7 Tuổi 20 19 TCTH33 CNTH34 18 20 4 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Data (dữ liệu) và information (thông tin) 5 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản 1 Data (dữ liệu) và information (thông tin) • Siêu dữ liệu (metadata): mô tả các tính chất hoặc các đặc điểm của dữ liệu khác. Các đặc tính là định nghĩa dữ liệu, cấu trúc dữ liệu, qui tắc/ràng buộc. Siêu dữ liệu cho Sinh_viên Data Item Name Type MaSV Char Hoten Char viên Lop Char Tuoi smallint Value Length 5 30 7 Description Mã sinh viên Họ và tên sinh Lớp học Tuổi 6 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Cơ sở dữ liệu Cơ sở dữ liệu là một tập hợp dữ liệu có liên quan luận lý với nhau chứa thông tin về 1 tổ chức nào đó, có tổ chức và được dùng chung đáp ứng nhu cầu khai thác thông tin của người dùng. Chương trình ứng dụng 1 Cơ sở dữ liệu Chương trình ứng dụng 2 Các hệ thống chương trình ứng dụng khai thác Người sử dụng khai thác 7 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Đặc điểm của Cơ sở dữ liệu • Persistent: – Dữ liệu được lưu trữ trong bộ nhớ ổn định như đĩa cứng. Khi dữ liệu không cần dùng nữa thì có thể xoá hay sao lưu lại. • Interrelated: – Dữ liệu được lưu trữ như những đơn vị riêng biệt và được kết nối với nhau để tạo 1 tổng thể chung – Database vừa chứa thực thể và cả mối quan hệ giữa các thực thể • Shared: – Database có thể có nhiều người dùng và nhiều người dùng có thể sử dụng cùng 1 database tại cùng 1 thời điểm. – Bài toán đồng thời (concurrency problem) 8 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Ưu điểm của Cơ sở dữ liệu – Giảm bớt sự dư thừa dữ liệu – Nhất quán dữ liệu – Dữ liệu lưu trữ có thể được chia sẻ – Có thể thiết lập các luật lên dữ liệu – Toàn vẹn dữ liệu – Bảo mật dữ liệu 9 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Các hệ thống CSDL • Các CSDL được dùng để lưu trữ dữ liệu một cách hiệu quả và có tổ chức sao cho quản lý được nhanh chóng và dễ dàng. • Các ưu điểm của các hệ thống CSDL: – Giảm bớt sự dư thừa dữ liệu – Nhất quán dữ liệu – Dữ liệu lưu trữ có thể được chia sẻ – Có thể thiết lập các luật lên dữ liệu – Toàn vẹn dữ liệu – Bảo mật dữ liệu 10 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Các hệ thống CSDL • Các CSDL có thể khác nhau về chức năng và mô hình của dữ liệu. • Một mô hình dữ liệu mô tả một bộ chứa dữ liệu, xử lý và truy xuất dữ liệu từ bộ chứa. 11 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình phân cấp • Mô hình CSDL phân cấp được biểu diễn dưới dạng cây và các đỉnh của cây là các bản ghi. Các bản ghi liên kết với nhau theo mối quan hệ cha-con. – Một cha có nhiều con – Một con chỉ có một cha 12 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình phân cấp 13 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình phân cấp • Ưu điểm: – Thể hiện dễ dàng quan hệ 1-N. – Việc phân chia dữ liệu dễ thể hiện, đảm bảo an toàn dữ liệu – Tính độc lập của chương trình và các dữ liệu được đảm bảo • Nhược điểm: – Không thể hiện được mối quan hệ M-N – Trong một hệ thống phân cấp, dữ liệu được tổ chức như trên dẫn đến khó sửa đổi dữ liệu. 14 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình mạng • Mô hình phân cấp là tập con của mô hình mạng. • Mô hình mạng sử dụng kiến trúc cây phân cấp và cho phép các bảng con có thể có nhiều bảng cha. • Dữ liệu được lưu trữ trong các bộ thay vì lưu trong định dạng cây phân cấp. Điều này giải quyết vấn đề dư thừa dữ liệu. 15 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình mạng 16 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình mạng • Ưu điểm: - Dễ thể hiện mối liên kết M-N - Kiểu truy cập dữ liệu mềm dẻo hơn kiểu phân cấp • Nhược điểm: - Việc sửa đổi số liệu khó khăn. - Với những lập trình viên, việc thiết kế CSDL khó. 17 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình thực thể kết hợp 18 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Relational Data Model Relational Database Entities Student Attributes Takes Id Name Suburb 1108 Robert Kew SID SNO 3936 Glen Bundoora 1108 21 8507 Norman Bundoora 1108 23 8452 Mary Balwyn 8507 23 8507 29 Subject Relationship No Name Dept 21 Systems CSCE 23 Database CSCE 29 VB CSCE 18 Algebra Maths Mô hình quan hệ 19 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Entities Tables Attributes Fields Relations 20 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Student • Database: tables. a collection of • Table: information about a single entity •Primary key: column(s) that identifies a record. (set of) uniquely •Foreign key: (set of) column(s) used to link table together Id Name Suburb 1108 Robert Kew 3936 Glen Bundoo ra 8507 Norma n Bundoo ra 8452 Mary Balwyn Takes SID SNO 1108 21 1108 23 8507 23 8507 29 21 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản 1 LOP SINHVIEN MASV TEN MALOP TCTH01 Sơn TCTHA TCTH02 Bảo TCTHB MALOP TENLOP SISO TCTHA TCTH32A 80 TCTHB TCTH32B 65 TCTHC TCTH32C 82 KETQUA TCTH03 Trang TCTHA MASV MONHOC MAMH TENMH TINCHI KHOA MAMH DIEM TCTH01 THVP 8 TCTH01 CSDL 6 THVP Nhập môn TH 4 CNTT TCTH01 CTDL 7 CSDL Cấu trúc dữ liệu 4 CNTT TCTH02 THVP 9 TCTH02 CSDL 8 Toán rời rạc 3 CTDL TOAN TCTH03 THVP 22 10 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Ví dụ: Để quản lý hóa đơn bán hàng ta cần xây dựng một CSDL gồm các bảng sau : • SanPham: Mô tả các thông tin về sản phẩm như Masp, Tensp, Donvitinh, DongiaMua, Slton. • KhachHang: Mô tả các thông tin về khách hàng như Makh, Tenkh, Diachi, DienThoai. • Nhanvien: Mô tả các thông tin về nhân viên như Manv, Honv, Tennv, Phai, Ngaysinh, Diachi, DienThoai, Hinh. • Hoá đơn: Mô tả các thông tin về hóa đơn như Mahd, LoaiHD, Makh, Manv, NgaylapHD, NgayGiaoNhanHang, DienGiai. • Chitiethoadon: Mô tả các thông tin chi tiết của từng hóa đơn như Mahd, Masp, Soluong, DongiaBan. 23 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản 24 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản 25 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản 26 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình đối tượng • Đối tượng có thể chứa các dữ liệu phức hợp như văn bản, hình ảnh, tiếng nói và hình ảnh động. • Một đối tượng có thể yêu cầu hoặc xử lý dữ liệu từ một đối tượng khác bằng việc gửi đi một thông báo đến đối tượng đó. • Mô hình hướng đối tượng biểu diễn một sơ đồ mới để lưu trữ và thao tác dữ liệu. • Từ một đối tượng có thể sinh ra một đối tượng khác. 27 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Mô hình đối tượng 28 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Bài tập Việc quản lý nhân viên của một công ty như sau: • Công ty gồm nhiều nhân viên, mỗi nhân viên có một MANV duy nhất, mỗi MANV xác định Hoten, Phai, NgaySinh, Phongban. Mỗi nhân viên chỉ do một phòng ban quản lý. • Mỗi phòng ban có một MAPB duy nhất, mỗi MAPB xác dịnh TenPB, DiaDiem, MaTP (Mã người phụ trách), KPHD(Kinh phí hoạt động), DT (Doanh thu của từng phòng ban). • Nhân viên được chia làm hai loại nhân viên. Nhân viên hành chánh và nhân viên tham gia sản xuất. Nhân viên hành chánh làm việc theo giờ hành chánh. Nhân viên tham gia sản xuất thì làm nhiều công việc khác nhau. • Mỗi công việc có một mã MACV, Macv xác định TENCV, DONGIA. Công ty có tối đa 3 công việc. • Hàng tháng công ty chấm công cho nhân viên để tính lương cho nhân viên như sau: – – Nhân viên hành chánh chấm theo số ngày làm trong tháng. Mỗi nhân viên một tháng phải làm tối thiểu 25 ngày công. Lương tháng được tính theo công thức: SoNC*LCB +Thuong Nhân viên sản xuất thì sẽ chấm công theo số lượng của mỗi công việc trong một tháng. Mỗi nhân viên phải làm ít nhất một công việc trong một tháng. Mỗi công việc số lượng nhân viên làm phải lớn hơn 10. Lương tháng được tính theo công thức: Tổng SoLuong*Dongia của mỗi công việc +Thuong29 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Bài tập Câu hỏi: • Xây dựng mô hình thực thể kết hợp gồm: Xác định các thực thể, thuộc tính, khóa, các mối kế hợp và vẽ mô hình thực thể kết hợp • Chuyển mô hình thực thể về lược đồ cơ sở dữ liệu quan hệ và xác định các khóa • Xác định các mối quan hệ và các ràng buộc của lược đồ cơ sở dữ liệu trên 30 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Cách tiếp cập CSDL NSD NPTUD Các chương trình khai báo cấu trúc Chương trình ứng dụng A Ngôn ngữ mô tả dữ liệu Ngôn ngữ thao tác dữ liệu Các từ điển dữ liệu CSDL NQTCSDL 31 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Cách tiếp cập CSDL 1. Người quản trị CSDL – – – – Quản lý sự chính xác, toàn vẹn của dữ liệu và ứng dụng. Lưu phòng hờ và phục hồi CSDL. Giữ liên lạc với người PTUD và người dùng chung. Quản lý sự hoạt động trôi chảy và hiệu quả của CSDL và HQTCSDL. 2. Người PTUD – Thiết kế, tạo dựng và bảo trì hệ thông tin cho người sử dụng. 3. Người sử dụng: – Tương tác với CSDL thông qua chương trình ứng dụng (application program) được phát triển bởi người PTUD hay các công cụ truy vấn của hệ QTCSDL. – Có thể nhìn thấy dữ liệu họ cần thông qua khung nhìn (View - tiện ích của DBMS) 32 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Qui trình phát triển CSDL • Gồm 6 giai đoạn sau: – Mô hình hóa xí nghiệp (Enterprise modeling) – Mô hình hóa dữ liệu ý niệm (Conceptual data modeling) – Thiết kế Database luận lý (logical database design) – Thiết kế và định nghĩa database vật lý (physical database design and definition) – Thực hiện database (database implementation) – Bảo trì database (database maintenance) 33 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Cấu trúc dữ liệu trong Lược đồ Quan niệm SVIEN MASV HOTENSV PHAI MALOP LOP MALOP TENLOP MAMH TENMH SISO MONHOC TINCHI SOTIET KETQUA MASV MAMH DIEM 34 1 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Cấu trúc Dữ liệu trong Lược đồ Vật lý Tên mục dữ liệu Vị trí bắt đầu Độ dài (bytes) TEN 1 30 MASV 31 4 PHAI 35 4 MAKH 39 4 • Tổ chức vật lý các mẫu tin SVIEN – chiều dài của mẫu tin SVIEN = 42 bytes – được sắp xếp và lập chỉ mục trên MASV 35 1 Kiến Một Hệ QTCSDL Kiến Trúc trúc Của Database External level User view 1 Conceptual level Internal level Physical database organization Kiến trúc ba mức User view 2 User view 3 Conceptual schema Internal schema Database 36 1 Kiến trúc Trúc Database Của Một Hệ QTCSDL Kiến trúc ba mức 1. Mức trong: • Đây là mức lưu trữ CSDL. Tại mức này, vấn đề cần giải quyết là, dữ liệu gì và được lưu trữ như thế nào? ở đâu (đĩa từ, băng từ, track, sector ... nào)? Cần các chỉ mục gì? Việc truy xuất là tuần tự (Sequential Access) hay ngẫu nhiên (Random Access) đối với từng loại dữ liệu. • Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL (Administrator), những người sử dụng (NSD) chuyên môn. 37 1 Kiến Trúc Database Của Hệ QTCSDL Kiến trúc ba mức 2. Mức quan niệm: • Tại mức này sẽ giải quyết cho câu hỏi CSDL cần phải lưu giữ bao nhiêu loại dữ liệu? đó là những dữ liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào? • CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL mức vật lý; hoặc ngược lại, CSDL vật lý là sự cài đặt cụ thể của CSDL mức quan niệm. • Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học 38 1 Kiến Trúc Database Kiến trúc ba mức 3. Mức ngoài: • Đó là mức của người sử dụng và các chương trình ứng dụng. Làm việc tại mức này có các nhà chuyên môn, các kỹ sư tin học và những người sử dụng không chuyên. • Người sử dụng hay chương trình ứng dụng có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc trên một phần CSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định, gọi là khung nhìn (View). 39 2 Hệ Quản Trị Cơ Sở Dữ Liệu Hệ quản trị CSDL • CSDL đặt ra vấn đề cần giải quyết là – Tính chủ quyền – Cơ chế bảo mật hay phân quyền hạn khi khai thác dữ liệu. – Cung cấp một giao diện giữa người sử dụng và dữ liệu. – Phục hồi dữ liệu khi có sự cố xảy ra Phần mềm có khả năng giải quyết các vấn đề trên là hệ quản trị cơ sở dữ liệu 40 2 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Hệ quản trị CSDL • Hệ quản trị CSDL (DBMS – DataBase Management System) – Hệ quản trị CSDL là tập hợp các chương trình, phần mềm dùng để quản lý cấu trúc và dữ liệu của CSDL và điều khiển truy xuất dữ liệu trong CSDL. – Cho phép người sử dụng định nghĩa, tạo lập, bảo trì CSDL và cung cấp các truy xuất dữ liệu. – Cung cấp một giao diện giữa người sử dụng và dữ liệu. 41 2 Tổng quan về CSDL quan hệ - Các khái niệm cơ bản Hệ quản trị CSDL • Các chức năng của hệ quản trị CSDL – Lưu trữ, truy xuất và cập nhật dữ liệu • Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) • Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language). – – – – Quản lý giao tác (transaction management). Điều khiển đồng thời (concurrency control) Sao lưu và phục hồi dữ liệu. Bảo mật dữ liệu • Ngôn ngữ điều khiển dữ liệu (DCL - Data Control Language). – Hỗ trợ truyền thông dữ liệu. – Duy trì tính toàn vẹn / nhất quán dữ liệu. – Cung cấp các tiện ích. 42 2 Hệ Quản Trị Cơ Sở Dữ Liệu Hệ quản trị CSDL • Ngôn ngữ định nghĩa dữ liệu: Tạo cấu trúc của bảng SinhVien CREATE TABLE SinhVien (MaSV NUMBER(7,0) NOT NULL, HoTen VARCHAR(25) NOT NULL, DiaChi VARCHAR(30), NoiSinh VARCHAR(20), CONSTRAINT PK_SinhVien PRIMARY KEY (MaSV)); • Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các SV ở ‘HCM’ SELECT MaSV, HoTen, DiaChi FROM SinhVien WHERE NoiSinh = ‘HCM’; • Ngôn ngữ điều khiển dữ liệu: Cho phép người sử dụng A và B được phép xem và thêm dữ liệu vào bảng SinhVien GRANT SELECT, INSERT ON SinhVien TO A,B; 43 2 Hệ Quản Trị Cơ Sở Dữ Liệu Hệ quản trị CSDL quan hệ (RDBMS) • Một hệ quản trị CSDL quan hệ (RDBMS) là một hệ quản trị CSDL được xây dựng trên mô hình quan hệ. • Một CSDL quan hệ là một CSDL được chia nhỏ thành các đơn vị logic gọi là bảng, các bảng có quan hệ với nhau trong CSDL. Quan hệ CSDL Bảng 1 Khóa Bảng 2 Khóa Dữ liệu... Dữ liệu... 44 2 Hệ Quản Trị Cơ Sở Dữ Liệu DBMS RDBMS Nó không cần chứa dữ liệu trong cấu trúc bảng và các mục dữ liệu không có quan hệ với nhau. Trong RDBMS, cấu trúc bảng là bắt buộc và giữa chúng có mối quan hệ với nhau. Các mối quan hệ này làm cho người dùng có thể áp dụng và quản lý các qui tắc kinh doanh vào các đoạn mã. Số lượng nhỏ dữ liệu được lưu trữ và thao RDBMS có thể lưu trữ và thao tác trên một số lượng lớn dữ liệu. tác. DBMS kém đảm bảo hơn RDBMS. DBMS kém đảm bảo hơn RDBMS. Nó là 1 hệ thống đơn người dùng. Nó là 1 hệ thống đa người dùng Hầu hết các DBMS không hổ trợ kiến trúc Nó hổ trợ kiến trúc client/server. client/server. 45 2 Hệ Quản Trị Cơ Sở Dữ Liệu Quan hệ 46 2 Hệ Quản Trị Cơ Sở Dữ Liệu Quan hệ 47 2 Hệ Quản Trị Cơ Sở Dữ Liệu Quan hệ 48 2 Hệ Quản Trị Cơ Sở Dữ Liệu Quan hệ 49 2 Hệ Quản Trị Cơ Sở Dữ Liệu Các loại hệ quản trị CSDL Phần mềm có bản quyền • • • • • • • • • • • • • • • • • • • • • • 4th Dimension ANTs Data Server Dataphor Daffodil database DB2 FileMaker Pro Informix InterBase Matisse [1] Microsoft Access Microsoft SQL Server Mimer SQL NonStop SQL Oracle Sand Analytic Server (trước đây là Nucleus) SmallSQL [2] Sybase ASA (trước đây là Watcom SQL) Sybase Sybase IQ Teradata ThinkSQL [3] VistaDB [4] Phần mềm miễn phí hoặc nguồn mở • Cloudscape • Firebird • HSQLDB • Ingres (cơ sở dữ liệu) • MaxDB • MonetDB • MySQL Quan hệ • PostgreSQL • SQLite • tdbengine 50 3 Giới thiệu SQL Server • Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation database management system – RDBMS) chạy trên hệ thống mạng Windows NT 4 hay Windows. • Có thể dùng trong các mô hình : – Network servers: chuyên cung cấp các tài nguyên cho máy trạm – Client/Server Application: phân chia nhiệm vụ giữa hệ thống máy trạm và máy chủ • Một hệ quản trị gồm hai thành phần : – Hỗ trợ các tiến trình giao tác với số lượng lớn. – Các hỗ trợ để ra quyết định. • Phương pháp truy xuất máy trạm : – Ngôn ngữ Transact-SQL (T-SQL) – OLE DB/ODBC – ActiveX Data Objects (ADO) 51 2 Giới thiệu SQL Server Cơ chế hoạt động: theo mô hình Client/server • Client hay người dùng gửi yêu cầu (request) đến database server thông qua mạngserver đọc và xử lý yêu cầu • Server kiểm tra tính bảo mật và dò tìm các chỉ mục, dữ liệu được khôi phục và khai thác, mã phía server được thực thikết quả cuối cùng được gửi về lại cho client 52 2 Giới thiệu SQL Server 1 Query Result Set Database API (OLE DB, ODBC, DB-Library) 2 Client SQL Server Client Application Client Net-Library Server Net-Libraries 3 Open Data Services Query 5 Result Set Relational Engine Server 4 Storage Engine Processor Memory Local Database 53 2 Giới thiệu SQL Server Client/Server Architecture Client SQL Server Results OLTP OLAP Query Client Application Relational Database Management System 54 2 Giới thiệu SQL Server Kiến trúc 2-tầng 1-2 2-Tier Model Trình bày dữ liệu Dịch vụ dữ liệu Sử dụng kiến trúc 2-tầng: • Dữ liệu chia sẻ giữa máy chủ trung tâm và máy client • Máy khách gửi yêu cầu đến máy chủ, máy chủ xử lý yêu cầu và trả kết quả cho máy khách • Kiến trúc này còn được gọi là kiến trúc client-server 55 2 Giới thiệu SQL Server Kiến trúc 3-tầng 2-2 Thành phần Logic ứng dụng Trình bày dữ liệu Kiến trúc 3-tầng Kiến trúc đa tầng Dịch vụ dữ liệu • Được gọi là kiến trúc ứng dụng • Kiến trúc ứng dụng chia ứng dụng thành 3 nhóm dịch vụ – Tầng dịch vụ người dùng được gọi là tầng trình bày. Trình bày dữ liệu cho người dùng. – Tầng dịch vụ tác nghiệp được gọi là tầng logic ứng dụng. Đó là tầng trung gian giữa giao diện và cơ sở dữ liệu. Chức năng: xử lý kiểm tra dữ liệu hợp lệ, logic truy cập dữ liệu. – Tầng dịch vụ tương tác trực tiếp với dữ liệu nguồn như: thêm mới, sửa, xóa, rút trích 56 2 Giới thiệu SQL Server N-tier Architecture N-tier Architecture 57 2 Giới thiệu SQL Server • Các tính năng quan trọng – SQL server có chức năng chính là gửi các yêu cầu giữa một máy tính Client với một máy SQL Server. – Hỗ trợ việc phát triển các ứng dụng CSDL nâng cao như : SQL, T-SQL, … – Hỗ trợ các truy vấn và giao tác phân tán, replication – Online Transaction Processing (OLTP) – Data Warehousing – Analysis Services (OLAP) – Meta Data Services – Các ứng dụng về thương mại điện tử (E-commerrce applications) 58 58 3 SQL Server Services & Tools SQL Server Services MSSQLServer Service Data Management Transaction and Query Processing Data Integrity Jobs Alerts Operators SQLServerAgent Service Microsoft Distributed Transaction Coordinator Distributed Transaction Management Full-Text Catalogs Full-Text Indexes P18 Server Microsoft Search 59 3 SQL Server Services & Tools Transact-SQL (T-SQL) • Implementation of Entry-Level ANSI ISO Standard • Composing of 3 categories – Data Definition Language Statements (DDL) – Data Control Language Statements (DCL) – Data Manipulation Language Statements (DML) 60 3 SQL Server Services & Tools CLR Integration • Lets you write your database queries using .NET • Any .NET language (C#, VB, C++) • Create and debug using Visual Studio IDE 61 3 SQL Server Services & Tools SQL Server Editions • Enterprise (Developer) Edition • Standard Edition • Workgroup Edition • SQL Server Express Edition • SQL Server Everywhere Edition 62 4 Giới thiệu SQL Server 2008 SQL Server 6.5 • Data warehousing • Internet support • Differentiation from Sybase SQL Server SQL Server 7.0 • Re-architecture of relational server • First to include OLAP in database • Auto tuning • Ease-of-use SQL Server 2000 SQL Server 2005 • Reliability and scalability advancements • Deep XML support • Data warehousing • SQL Server CE • 64 bit support • Enterprise-class scalability • Programmability advancements • End-to-end business intelligence • Manageability • Support for multiple types of data Evolution of SQL Server Cross-release objective Realibility & Security Integrated Business Intelligence SQL Server 2008 • Secure trusted platform for data • Productive policy-based management • Optimized and predictable system performance • Dynamic development • Beyond relational data • Pervasive Business Insight Performance and Scalability Automatic Tuning 63 4 Giới thiệu SQL Server 2008 • Microsoft SQL Server 2008 là một hệ quản trị cơ sở dữ liệu quan hệ (Relatioan database management system – RDBMS). • Chức năng chính của SQL Server 2008: – Cung cấp một nền tảng an toàn, tin cậy, giảm được sự phức tạp trong việc quản lý cơ sở hạ tầng dữ liệu. – Kết hợp với .NET Framework giảm được sự phức tạp trong việc phát triển các ứng dụng mới – Khai thác triệt để và quản lý bất kỳ kiểu dữ liệu nào từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa lý mới. – Cho phép quản lý, lưu trữ, truy xuất, hiệu chỉnh, xóa dữ liệu 64 4 Giới thiệu SQL Server 2008 65 Your Data Any Place, Any Time 66 4 Giới thiệu SQL Server 2008 Dữ liệu Mọi lúc, Mọi nơi • Được tín nhiệm – Bảo vệ thông tin quý giá – Đảm bảo nghiệp vụ liên tục – Tiên đoán được phản ứng • Hiệu suất cao – Quản lý theo chính sách – Đơn giản hoá việc phát triển ứng dụng – Lưu trữ mọi loại thông tin • Thông minh – Tích hợp mọi dữ liệu – Chuyển giao thông tin liên quan – Mang lại khả năng thấu hiểu để hành động 67 4 Cài đặt SQL Server 2008 Bước 1: Chạy file setup.exe để cài đặt, chọn Installation -> New SQL Server stand-alone 68 4 Cài đặt SQL Server 2008 Bước 2: Chọn OkClick Next 69 4 Cài đặt SQL Server 2008 Bước 3: Chọn kiểu cài đặt 70 4 Cài đặt SQL Server 2008 Bước 4: Nhập product key 71 4 Cài đặt SQL Server 2008 Bước 5: Sau khi đồng ý License Terms, chọn các thành phần cài đặt 72 4 Cài đặt SQL Server 2008 Bước 6: Thiết lập cài đặt chọn Default instance 73 4 Cài đặt SQL Server 2008 Bước 7: Cấu hình server 74 4 Cài đặt SQL Server 2008 Bước 8: Cấu hình dữ liệu như sau chọn Window Authentication và Add current User 75 4 Cài đặt SQL Server 2008 Bước 8: Cấu hình analysis services Add Current User Bước 10: Cấu hình report chọn option như hình nhấn Next, Next … Cho đến khi hoàn tất 76 5 Bộ công cụ SQL Management Studio • Hai studio của SQL Server: – SQL Server Management Studio – Business Intelligence Development Studio • Cả hai studio đều cung cấp các projects được tổ chức thành các Solution 77 77 5 Các Studio của SQL Server SQL Server Management Studio • Là môi trường tích hợp để truy xuất, cấu hình, quản lý tất cả các thành phần của SQL Server. • Kết hợp các chức năng của Enterprise Manager và Query Analyzer trong các phiên bản trước của SQL Server 78 78 5 • • • • • • SQL Server Management Studio Integrated Management Environment Navigation Administering Databases Maintaining SQL Server Database Writing Transact-SQL with Query Editor Working with Templates, Solutions, Script Projects, and Source Control 79 5 SQL Server Management Studio Integrated Management Environment 80 5 SQL Server Management Studio Integrated Management Environment Registered Servers 81 5 SQL Server Management Studio Integrated Management Environment Summary Pane 82 5 SQL Server Management Studio Template Explorer & Solution Explorer Template Explorer and Solution Explorer 83 5 SQL Server Management Studio Navigation with Object Explorer Demo • Creating a new database • Creating a table • Creating a diagram • Creating a login 84 5 • • • • SQL Server Management Studio Integrated Management Environment Navigation Administering Databases Maintaining SQL Server Database Writing Transact-SQL with Query Editor Working with Templates, Solutions, Script Projects, and Source Control 85 85 5 SQL Server Management Studio Disaster Recovery • Choose recovery model • Manage backup media • Create base functionality script 86 5 SQL Server Management Studio Configuration Manager Configure SQL Services, Network Protocols and Network Configuration Change the Service Log On Accounts for each SQL Service Manage the State and Start Mode for SQL Services 87 5 SQL Server Management Studio Surface Area Configuration Services disabled and features not installed by default New Installation SQL Server 2008 State of services and features carried over from upgraded installation SQL Server 2005 SQL Server 2008 88 5 SQL Server Management Studio Surface Area Configuration Services disabled and features not installed by default SQL Server 2008 Surface Area Configuration for Services and Connections Surface Area Configuration for Features State of services and features carried over from upgraded installation SQL Server 2008 89 5 SQL Server Management Studio Integrated Management Environment Navigation Administering Databases • Maintaining SQL Server Database • Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script Projects, and Source Control 90 90 5 SQL Server Management Studio Backup and Restore Demo • Creating a Backup Device • Backing up a Database • Backing up a Transaction Log • Restoring a Database • Export a Database • Import a Database 91 5 SQL Server Management Studio Replication Enhancement • Redesigned replication wizards • Initializing replication subscribers • Pre-computed partitions • Transactional parallelism 92 5 SQL Server Management Studio Replication Monitor View status of all publications and subscriptions Monitor all the publishers in your organization 93 5 SQL Server Management Studio Internet Replication XML over HTTP/HTTPS Subscriber Firewall Binary over TCP/IP IIS Publisher https://myserver.mydomain.com 94 5 SQL Server Management Studio Database Tuning Advisor 95 5 SQL Server Management Studio Query Editor Query Editor Demo Result 96 5 SQL Server Management Studio Integrated Management Environment Navigation Administering Databases Maintaining SQL Server Database Writing Transact-SQL with Query Editor • Working with Templates, Solutions, Script Projects, and Source Control 97 97 5 SQL Server Management Studio Templates • Containing the T-SQL statements for common tasks. • Containing parameters for the userprovided values • As a starting point for programming • (re-)Organized in a tree structure • Can be created by users 98 5 SQL Server Management Studio Solutions • Script project(s) • Enabling the organization of files & connections within project • can be managed with a source control product ( as Microsoft Visual SourceSafe) 99 5 SQL Server Management Studio SQL Server Management Studio in 10 1. Combines the best features of many tools 2. Work with projects and solutions 3. The tool is a data analyst's best friend 4. You can display line numbers 5. It's easier to find errors 6. Get started faster with an expanded Template Explorer 7. It (sort of) plays well with previous versions 8. Name that registered server 9. Manage your SQL Server Integration Services pages 10. Keep tabs on your reports 100 5 SQL Server Management Studio Khởi động SQL Server Management Studio 1. Mở SQL Server Management Studio ta làm như sau: Vào start -> chọn program -> chọn Microsoft SQL Server 2008 -> chọn SQL Server Management Studio 101 5 SQL Server Management Studio Khởi động SQL Server Management Studio • Server Type: Như ví dụ của cuốn sách này, cho phép server type là Database Engine. Các tùy chọn khác là kiểu dữ liệu khác nhau của servers nó sẽ hiển thị kết nối. • Server Name: Hộp combo thứ 2 chứa 1 danh sách của SQL Server cài đặt mà chọn. Trong hộp thoại hình 12, bạn sẽ thầy tên của máy tính được cài đặt trên local. Nếu bạn mở hộp Server name bạn có thể tìm kiếm nhiều server local hoặc network connection bằng cách chọn <Browse for more...>. • Authentication: Combobox cuối cùng xác định các loại hình kết nối bạn muốn sử dụng.Trong giáo trình này chúng ta kết nối đến SQL Server sử dụng Windowns Authentication. Nếu bạn cài đặt SQL Server với chế độ hỗn hợp(mix mode), thì bạn có thể thay đổi chọn lựa SQL Server authentication, thì nó sẽ mở hai hộp thoại và cho phép nhập username và password. 102 5 SQL Server Management Studio Khởi động SQL Server Management Studio 103 5 SQL Server Management Studio SQL Server Management Studio in 10 1. Combines the best features of many tools 2. Work with projects and solutions 3. The tool is a data analyst's best friend 4. You can display line numbers 5. It's easier to find errors 6. Get started faster with an expanded Template Explorer 7. It (sort of) plays well with previous versions 8. Name that registered server 9. Manage your SQL Server Integration Services pages 10. Keep tabs on your reports 104 5 Các Studio của SQL Server Business Intelligence Development Studio • Là môi trường tích hợp để phát triển các cấu trúc thông minh doanh nghiệp như cubes, data source, reports,… • Ví dụ: các dự án Analysis Services, Integration Services và Reporting Services có thể cùng tích hợp trong 1 solution 105 5 Business Intelligence (BI) • Là tên một chuyên ngành cho phép quản lý dữ liệu cho mục đích phân tích, khai thác, báo cáo và hình ảnh hóa dữ liệu • SQL cung cấp 3 dịch vụ dành cho BI 1. Integration Services (IS), đôi khi được gọi là SSIS 2. Reporting Services (RS) 3. Analysis Services (AS) 106 5 Business Intelligence Studio Integration Services (IS) Dùng để chuyển đổi dữ liệu từ nhiều nguồn và là 1 công cụ ETL (Extract Transform Load) 107 5 Business Intelligence Studio Annalysis Services Bao gồm 2 thành phần chính: • Online Analytical Processing (OLAP); tạo CSDL đa chiều (Multidimensional databases), dữ liệu được lưu trữ trong Cube • Data Mining: cung cấp các phương pháp để phân tích các tập dữ liệu theo những giải thuật khác nhau. 108 6 • • Metadata – Siêu dữ liệu System database Metadata views 109 6 Metadata – Siêu dữ liệu System database • Master: chứa tất cả các thông tin cấp hệ thống – Nơi lưu trữ data file của các database – Login account – Cấu hình sql server. • • Model: Là một bản mẫu cho các database khác. – Khi một database được tạo ra thì sql server sẽ copy tất cả các system objects(objects (tables, store procedure...) từ model database sang database vừa tạo. Msdb: được sử dụng bởi SQl agent để hoạch định các cảnh báo và công việc 110 6 Metadata – Siêu dữ liệu System database • Tempdb – Chứa tất cả các tables, store procedure tạm được tạo ra trong 1 user session hoặc do bản thân sql engine. – Tự động xóa khi SQL server khởi động lại hoặc user ngắt connect • Resource: Cơ sở dữ liệu này là cơ sở dữ liệu chỉ đọc. Nó gồm các đối tượng hệ thống được gộp vào trong SQL Server 2005. 111 6 Metadata – Siêu dữ liệu Metadata view • Catalog views • Dynamic management views (DMVs) and function • System functions and global variables • Compatibility views • Information schema views 112 6 Câu hỏi 1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ liệu, từ điển cơ sở dữ liệu, mô hình cơ sở dữ liệu. 2. Nêu các tính chất của một cơ sở dữ liệu 3. Nêu các chức năng của một hệ quản trị cơ sở dữ liệu 4. Giải thích các đặc trưng của giải pháp cơ sở dữ liệu 5. Định nghĩa mô hình cơ sở dữ liệu và phân loại 6. Liệt kê các người có liên quan đến hệ cơ sở dữ liệu. 113 114