Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
850,7 KB
Nội dung
Đề cương giảng Hệ quản trị CSDL Bài Tổng quan Hệ quản trị CSDL xây dựng CSDL hệ quản trị CSDL SQL Server - Mục đích, yêu cầu: Cung cấp cho sinh viên kiến thức tổng quan Tổng quan Hệ quản trị CSDL cách thức xây dựng CSDL hệ quản trị CSDL SQL Server - Hình thức tổ chức dạy học: Lý thuyết, trực tiếp + trực tuyến + tự học - Thời gian: Lý thuyết( lớp: 3; online: 2) Tự học, tự nghiên cứu: 10 - Nội dung chính: Tổng quan Hệ quản trị CSDL xây dựng CSDL hệ quản trị CSDL SQL Server I Tổng quan DBMS SQL Server Chương trình bày cách nhìn khái quát sở liệu (CSDL/DB), hệ quản trị sở liệu (HQTCSDL/DBMS) hệ sở liệu (HCSDL/DBS) Các đòi hỏi xây dựng HQTCSDL chức mà HCSDL cần phải có Trong chương muốn giới thiệu tổng quan ngơn ngữ hỏi có cấu trúc (SQL) hệ quản trị sở liệu quan hệ tảng kỹ thuật quan trọng cơng nghiệp máy tính Cho đến nay, nói SQL xem ngôn ngữ chuẩn sở liệu Các hệ quản trị sở liệu quan hệ thương mại có Oracle, SQL Server, Informix, DB2, chọn SQL làm ngôn ngữ cho sản phẩm Vậy thực SQL gì? Tại lại quan trọng hệ quản trị sở liệu? SQL làm nào? Nó sử dụng hệ quản trị sở liệu quan hệ? Chương cung cấp cho nhìn tổng quan SQL số vấn đề liên quan Ta tìm hiểu DBMS HQCSDL cụ thể: SQL Server 2000 Do chương giới thiệu cài đặt SQL Server 2000 thành phần nó, giúp chủ Đề cương giảng Hệ quản trị CSDL động khai thác nắm bắt tạo lập ứng dụng 1.1 Một số khái niệm Một sở liệu - CSDL(DataBase): Là kho liệu tổ chức theo nguyên tắc Đó tập hợp tập tin có liên quan với nhau, thiết kế nhằm làm giảm thiểu dư thừa liệu, đảm bảo tính tin cậy truy xuất liệu Các tập tin chứa thông tin biểu diễn đối tượng ứng dụng giới thực CSDL lưu giữ thông tin trường đại học : khoa, giảng viên, sinh viên, khóa học,… Thơng thường, sở liệu bao trùm tất thông tin ứng dụng, không nên đặt hai sở liệu vào ứng dụng Hệ quản trị sở liệu DBMS(DataBaseManagement System): hệ thống gồm CSDL thao tác CSDL Đó hệ thống chương trình, cơng cụ cho phép quản lý tương tác với CSDL Trên người dùng định nghĩa, thao tác, xử lí liệu CSDL để xuất thơng tin có nghĩa Ví dụ 1-5 : DBMS quản trị sở liệu trường đại học sở liệu có ý nghĩa khác : sở liệu phục vụ tổng thu nhập quốc gia, sở liệu liên hợp quốc liệu địa lý giới,v v… - Một hệ sở liệu (HCSDL/ DBS: DataBase System) phần mềm cho phép xây dựng HQTCSDL Các vấn đề cần xử lý hệ sở liệu Một số điểm bất lợi việc lưu giữ thơng tin có tổ chức hệ thống xử lý file thông thường mà hệ HCSDL cần lưu ý: • Dư thừa liệu tính khơng qn (Data redundancy and inconsistency): Do file trình ứng dụng tạo người lập trình khác nhau, Đề cương giảng Hệ quản trị CSDL nên file có định dạng khác nhau, chương trình viết ngơn ngữ lập trình khác nhau, thơng tin lưu giữ file khác Tính khơng thống dư thừa làm tăng chi phí truy xuất lưu trữ, nũa, dẫn đến tính khơng qn liệu: liệu khơng qn • Khó khăn việc truy xuất liệu: Môi trường hệ thống xử lý file thông thường không cung cấp công cụ cho phép truy xuất thông tin cách hiệu thuận lợi • Sự lập liệu(Data isolation) : Các giá trị liệu lưu trữ sở liệu phải thoả mãn số ràng buộc tính quán liệu ( ràng buộc quán - consistency contraints ) Trong hệ thống xử lý file thơng thường, khó khăn việc thay đổi chương trình để thoả mãn yêu cầu thay đổi ràng buộc Vấn đề trở nên khó khăn ràng buộc liên quan đến hạng mục liệu nằm file khác • Các vấn đề tính ngun tử (Atomicity problems): Tính nguyên tử hoạt động (giao dịch) là: hồn tất trọn vẹn khơng có Điều có nghĩa hoạt động (giao dịch) làm thay đổi liệu bền vững hồn tất (kết thúc thành công) không, giao dịch không để lại dấu vết CSDL Trong hệ thống xử lý file thơng thường khó đảm bảo tính chất • Tính bất thường truy xuất cạnh tranh : Một hệ thống cho phép nhiều người sử dụng cập nhật liệu đồng thời, dẫn đến kết liệu không quán Điều đòi hỏi giám sát Hệ thống xử lý file thông thường không cung cấp chức • Vấn đề an toàn (Security problems): người sử dụng hệ sở liệu không cần thiết khơng có quyền truy xuất tất liệu Vấn đề đòi hỏi hệ thống phải đảm bảo tính phân quyền, chống truy xuất trái phép Các bất lợi nêu gợi mở phát triển DBMS Phần sau giáo trình đề cập đến quan niệm thuật toán sử dụng để phát triển hệ sở liệu nhằm giải vấn đề nêu Đề cương giảng Hệ quản trị CSDL Hầu hết hệ quản trị CSDL thực chức sau : ▪ Lưu trữ liệu ▪ Tạo trì CSDL ▪ Cho phép nhiều người dùng truy xuất đồng thời ▪ Hỗ trợ tính bảo mật riêng tư ▪ Cho phép xem xử lý liệu lưu trữ ▪ Cho phép cập nhật lưu trữ liệu sau cập nhật ▪ Cung cấp chế mục (index) hiệu để truy cập nhanh liệu lựa chọn ▪ Cung cấp tính quán ghi khác ▪ Bảo vệ liệu khỏi mát trình lưu (backup) phục hồi (recovery) 1.2 Tổng quan sở liệu quan hệ Mơ hình liệu quan hệ Mơ hình liệu quan hệ Codd đề xuất năm 1970 đến trở thành mơ hình sử dụng phổ biến hệ quản trị sở liệu thương mại Nói cách đơn giản, sở liệu quan hệ sở liệu tất liệu tổ chức bảng có mối quan hệ với Mỗi bảng bao gồm dòng cột: dòng gọi ghi (bộ) cột trường (thuộc tính) Hai hay nhiều bảng có liên kết chúng có hay nhiều trường chung) Hình 1.1 minh hoạ cho ta thấy bảng sở liệu Đề cương giảng Hệ quản trị CSDL Các bảng sở liệu Bảng (Table) Như nói trên, sở liệu quan hệ, bảng đối tượng sử dụng để tổ chức lưu trữ liệu Một sở liệu bao gồm nhiều bảng bảng xác định tên bảng Một bảng bao gồm tập dòng cột: dòng bảng biểu diễn cho thực thể (trong hình 1.1, dịng bảng SINHVIEN tương ứng với sinh viên), cột biểu diễn cho tính chất thực thể (chẳng hạn cột NGAYSINH bảng SINHVIEN biểu diễn cho ngày sinh sinh viên lưu trữ bảng) Như vậy, liên quan đến bảng bao gồm yếu tố sau: • Tên bảng: sử dụng để xác định bảngn sở liệu Đề cương giảng Hệ quản trị CSDL • Cấu trúc bảng: Tập cột bảng Mỗi mộtcột bảng xác định tên cột phải có kiểu liệu (chẳng hạn cột NGAYSINH bảng SINHVIEN hình 1.1 có kiểu DATETIME) Kiểu liệu cột qui định giá trị liệu chấp nhận cột • Dữ liệu bảng: Tập dịng (bản ghi) có bảng Khố bảng Trong sởdữ liệu thiết kế tốt, bảng phải có một tập cột mà giá trị liệu xác định dòng tập dòng bảng Tập nhiều cột có tính chất gọi khoá bảng Việc chọn khoá bảng có vai trị quan trọng việc thiết kế cài đặt sở liệu quan hệ Các dịng liệu bảng phải có giá trị khác khố Bảng MONHOC hình có khố cột MAMONHOC Bảng MONHOC với khố MAMONHOC Một bảng có nhiều tập cột khác có tính chất khố (tức giá trị xác định dịng liệu bảng) Trong trường hợp này, khố chọn cho bảng gọi khố (primary key) khoá Đề cương giảng Hệ quản trị CSDL cịn lại gọi khố phụ khoá dự tuyển (candidate key/unique key) Mối quan hệ khố ngồi Các bảng sở liệu khơng tồn độc lập mà có mối quan hệ mật thiết với mặt liệu Mối quan hệ thể thông qua ràng buộc giá trị liệu xuất bảng phải có xuất trước bảng khác Mối quan hệ bảng sở liệu nhằm đàm bảo tính đắn hợp lệ liệu sở liệu Trong hình 1.3, hai bảng LOP KHOA có mối quan hệ với Mối quan hệ đòi hỏi giá trị cộtMAKHOA dòng (tức lớp)trong bảng LOP phải xác định từ cột MAKHOA bảng KHOA Mối quan hệ hai bảng LOP KHOA sở liệu Mối quan hệ bảng sở liệu thể mối quan hệ thực thể giới thực Trong hình 1.3, mối quan hệ hai bảng LOP KHOA khơng cho phép lớp tồn mà lại thuộc vào khoa khơng có thật Khái niệm khố ngồi (Foreign Key) sở liệu quan hệ sử dụng để biểu diễn mối quan hệ bảng liệu Một hay tập cột bảng mà giá trị xác định từ khóa bảng khác gọi Đề cương giảng Hệ quản trị CSDL khố ngồi Trong hình 1.3, cột MAKHOA bảng LOP gọi khố ngồi bảng này, khố ngồi tham chiếu đến khố bảng KHOA cột MAKHOA 1.3 Giới Thiệu SQL Server SQL Server hệ thống quản trị sở liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi liệu Client computer SQL Server computer Một RDBMS bao gồm databases, database engine ứng dụng dùng để quản lý liệu phận khác RDBMS SQL Server tối ưu để chạy môi trường sở liệu lớn (Very Large Database Environment) lên đến Tera-Byte phục vụ lúc cho hàng ngàn user SQL Server kết hợp "ăn ý" với server khác Microsoft InternetInformation Server (IIS), E-Commerce Server, Proxy Server 1.4 Cài Ðặt SQL Server (Installation) Khi install cần lưu ý điểm sau: Ở hình thứ hai bạn chọn Install Database Server Sau install xong SQL Server bạn install thêm Analysis Service thích Ở hình Installation Definition chọn Server and Client Tools Sau nên chọn kiểu Customvà chọn tất cảcác phận SQL Server Ngoài nên chọn giá trị mặc định (default) Ở hình Authentication Mode nhớ chọn Mixed Mode Lưu ý SQL Server dùng chung chế độ bảo mật (security) với Win NT dùng chế độ bảo mật riêng Trong Production Server người ta thường dùng Windows Authetication độ an toàn cao dễ dàng cho người quản lý mạng Đề cương giảng Hệ quản trị CSDL cho người sử dụng Nghĩa bạn chấp nhận (authenticated) kết nối vào domain bạn có quyền truy cập liệu (access data) SQL Server Tuy nhiên ta nên chọn Mixed Mode để dễ dàng cho việc học tập Sau install bạn thấy icon nằm góc phải bên hình, Service Manager Có thể Start, Stop SQL Server services dễ dàng cách doubleclick vào icon 1.5 Các thành phần quan trọng SQL Server SQL Server cấu tạo nhiều thành phần Relational Database Engine, Analysis Service English Query Các thành phần phối hợp với tạo thành giải pháp hoàn chỉnh giúp cho việc lưu trữ phân tích liệu cách dễ dàng Relational Database Engine - Cái lõi SQL Server: Ðây engine có khả chứa data quy mô khác dạng table support tất kiểu kết nối (data connection) thông dụng Microsoft ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) Ngồi cịn có khả tự điều chỉnh (tune up) ví dụ sử dụng thêm tài nguyên (resource) máy cần trả lại tài nguyên cho hệ điều hành user log off Replication - Cơ chế tạo (Replica): Giả sử bạn có database dùng để chứa liệu ứng dụng thường xuyên cập nhật Khi bạn muốn có database giống hệt server khác để chạy báo cáo (report database) (cách làm thường dùng để tránh ảnh hưởng đến performance server chính) Vấn đề report server bạn cần phải cập nhật thường xuyên để đảm bảo tính xác báo cáo Ta dùng chế back up and restore trường hợp Vậy cần xử lý nào? Lúc chế replication SQL Server sử dụng để bảo đảm cho Đề cương giảng Hệ quản trị CSDL liệu database đồng (synchronized) Data Transformation Service ( DTS ) - Một dịch vụ chuyển dịch data hiệu Nếu bạn làm việc cơng ty lớn data chứa nhiều nơi khác dạng khác cụ thể chứa Oracle, DB2 (của IBM), SQL Server, Microsoft Access Bạn chắn có nhu cầu di chuyển data server (migrate hay transfer) không di chuyển bạn cịn muốn định dạng (format) trước lưu vào database khác, bạn thấy DTS giúp bạn giải công việc dễ dàng Analysis Service- Một dịch vụ phân tích liệu hay Microsoft Dữ liệu (Data) chứa database chẳng có ý nghĩa nhiều bạn khơng thể lấy thơng tin (Information) bổ ích từ Do Microsoft cung cấp cho bạn cơng cụ mạnh giúp cho việc phân tích liệu trở nên dễ dàng hiệu cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) kỹ thuật khai phá liệu (data mining) English Query - Ðây dịch vụ giúp cho việc query data tiếng Anh "trơn" (plain English) MetaData Service : Dịch vụ giúp cho việc chứa đựng "xào nấu" Meta data dễ dàng Thế Meta Data vậy? Meta data thơng tin mơ tả cấu trúc data database data thuộc loại String hay Integer , cột có phải Primary key hay khơng Bởi thông tin chứa database nên dạng data để phân biệt với data "chính thống" người ta gọi Meta Data Phần phải xem thêm thành phần khác SQL Server SQLServerBooks Online SQL Server Books Online - Rất hữu dụng khơng thể thiếu (được đính kèm theo SQL Server) SQL Server Tools - Ðây đồ nghề người quản trị sở liệu (DBA), 10 Đề cương giảng Hệ quản trị CSDL Tạo bảng liệu Bước 2: Trong hình thiết kế cấu trúc bảng (design table), gõ vào tên cột bên bảng, chọn lựa kiểu liệu tương ứng thích hợp định thuộc tính cần thiết cho cột bên bảng 28 Đề cương giảng Hệ quản trị CSDL Màn hình xây dựng cấu trúc bảng Bước 3: Định nghĩa khóa cho bảng lưu lại cấu trúc bảng vừa định nghĩa Đóng hình thiết kế cấu trúc bảng lại để kết thúc trình tạo cấu trúc bảng tiện ích EM Màn hình định tên bảng 29 Đề cương giảng Hệ quản trị CSDL 2.6 Tạo cấu trúc bảng T-SQL Câu lệnh CREATE TABLE có cú pháp sau: CREATE TABLE tên_bảng ( tên_cột thuộc_tính_cột các_ràng_buộc [, ,tên_cột_n thuộc_tính_cột_n các_ràng_buộc_cột_n] [,các_ràng_buộc_trên_bảng] ) Tên_bảng Tên bảng cần tạo Tên phải tuân theo qui tắc định danh không vượt 128 ký tự tên_cột Là tên cột (trường) cần định nghĩa, tên cột phải tuân theo qui tắc định danh không trùng bảng Mỗi bảng phải có cột Nếu bảng có nhiều cột định nghĩa cột (tên cột, thuộc tính ràng buộc) phải phân cách dấu phẩy Thuộc_tính_cột Mỗi cột bảng ngồi tên cột cịn có thuộc tính bao gồm: • Kiểu liệu cột Đây thuộc tính bắt buộc phải có cột • Giá trị mặc định cột: giá trị tự động gán cho cột người sử d ụng không nhập liệu cho cột cách tường minh Mỗi cột có nhiều giá trị mặc định • Cột có tính chất IDENTITY hay khơng? tức giá trị cột có tự động tăng có ghi bổ sung hay khơng Tính chất sử dụng đối vớicác trường kiểu số • Cột có chấp nhận giá trị NULL hay khơng Đây phần ví dụ , xác định khoảng ví dụ chọn style Khai báo định nghĩa cột STT có kiểu liệu int cột có tính chất IDENTITY: stt INT IDENTITY hay định nghĩa cột NGAY có kiểu datetime khơng cho phép chấp nhận giá trị NULL: DATETIME NOT NULL 30 Đề cương giảng Hệ quản trị CSDL định nghĩa cột SOLUONGkiểu intvà có giá trị mặc định 0: soluong INT DEFAULT (0) Các_ràng_buộc: Các ràng buộc sử dụng cột bảng nhằm mục đích sau: Quy định khn dạng hay giá trị liệu cho phép cột (chẳng hạn qui định tuổi học sinh phải lớn nhỏ 20, số điện thoại phải chuỗi bao gồm chữ số, ) Những ràng buộc kiểu gọi ràng buộc CHECK Đảm bảo tính tồn vẹn liệu bảng toàn vẹn tham chiếu bảng sở liệu Những loại ràng buộc nhằm đảm bảo tính đùng liệu như: số chứng minh nhân dân người phải nhất, sinh viên học lớp lớp phải tồn tại, Liên quan đến loại ràng buộc bao gồm ràng buộc PRIMARY KEY (khoá chính), UNIQUE (khóa dự tuyển) FOREIGN KEY (khố ngồi) Các loại ràng buộc trình bày chi tiết phần sau Câu lệnh định nghĩa bảng NHANVIEN với trường MANV (mã nhân viên), HOTEN (họ tên), NGAYSINH (ngày sinh nhân viên), DIENTHOAI (điện thoại) HSLUONG (hệ số lương) CREATE TABLE nhanvien ( manv NVARCHAR(10) NOT NULL, hoten NVARCHAR(50) NOT NULL, ngaysinh DATETIME NULL, dienthoai NVARCHAR(10) NULL, hsluong DECIMAL(3,2) DEFAULT (1.92) ) Trong câu lệnh trên, trường MANV HOTEN bảng NHANVIEN không NULL (tức bắt buộc phải có liệu), trường NGAYSINH DIENTHOAI nhận giá trị NULL ta không nhập liệu cho chúng trường HSLUONG nhận giá trị mặc định 1.92 không nhập liệu 31 Đề cương giảng Hệ quản trị CSDL Nếu ta thực câu lệnh sau thực câu lệnh để bổ sung liệu cho bảng NHANVIEN INSERT INTO nhanvien VALUES('NV01','Le Van A','2/4/ 75','886963',2.14) INSERT INTO nhanvien(manv,hoten)VALUES('NV02','Mai Thi B') INSERT INTO nhanvien(manv,hoten,dienthoai)VALUES('NV03','Tran Thi C','849290') Ta có liệu bảng NHANVIEN sau: Ràng buộc CHECK Ràng buộc CHECK sử dụng nhằm định điều kiện hợp lệ liệu Mỗi có thay đổi liệu bảng (INSERT, UPDATE), ràng buộc sử dụng nhằm kiểm tra xem liệu có hợp lệ hay khơng Ràng buộc CHECK khai báo theo cú pháp sau: [CONTRAINT tên_ràng_buộc] CHECK (điều kiện) Trong đó, điều_kiện biểu thức logic tác động lên cột nhằm qui định giá trị khuôn dạng liệu cho phép Trên bảng cột có nhiều ràng buộc CHECK Câu lệnh tạo bảng DIEMTOTNGHIEP qui định giá trị cột DIEMVAN DIEMTOAN phải lớn nhỏ 10 CREATE TABLE diemtotnghiep ( Hoten NVARCHAR(30) NOT NULL, Ngaysinh DATETIME, Diemvan DECIMAL(4,2) CONSTRAINT chk_diemvan 32 Đề cương giảng Hệ quản trị CSDL CHECK(diemvan>=0 AND diemvan=0 AND diemtoan