Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,96 MB
Nội dung
8/25/2017 Nội dung Chương Tổng quan Hệ quản trị Cơ sở liệu Nhắc lại số khái niệm Quá trình phát triển Hệ quản trị Cơ sở liệu (HQT CSDL) (Database Management System - DBMS) Định nghĩa HQT CSDL Các mức biểu diễn CSDL Các thành phần HQTCSDL Một số HQT CSDL Tổng quan HQT CSDL SQL Server Transact – SQL GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn Hệ quản trị Cơ sở liệu Nhắc lại số khái niệm 1.1 Dữ liệu 1.1 Dữ liệu • Dữ liệu giá trị ban đầu mà chưa có nghĩa nhiều với người dùng mà máy tính tiếp nhậ xử lý 1.2 Thông tin 1.3 Cơ sở liệu 1.4 Siêu liệu (Meta data) Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu 8/25/2017 1.2 Thông tin 1.3 Cơ sở liệu • Thơng tin xử lý từ liệu hồn tồn có nghĩa với người dùng • Phần liệu lưu giữ máy tính theo quy định hay cấu trúc gọi sở liệu Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu 1.4 Siêu liệu (Meta data) Quá trình phát triển HQT CSDL (Database Management System) • Siêu liệu tức thông tin mô tả liệu 2.1 Hệ thống tập tin cổ điển (file systems) 2.2 Cơ sở liệu (Database) Hệ quản trị Cơ sở liệu Hệ quản trị Cơ sở liệu 8/25/2017 2.1 Hệ thống tập tin cổ điển (file systems) 2.1 Hệ thống tập tin cổ điển (file systems) (tt) • Ưu điểm: • Gọn nhẹ, phù hợp thực tiễn Ít tốn thời gian, chi phí thấp • Khả đáp ứng khai thác nhanh chóng kịp thời • Nhược điểm: • • • • • • Sales Files PropertyForRent(propertyNo, street, city, postcode, type, rooms, rent, ownerNo) PrivateOwner(ownerNo, fName, lName, address, telNo) Client(clientNo, fName, lName, address, telNo, preType, maxRent) Contracts Files Lease(leaseNo, propertyNo, clientNo, rent, paymentMethod, deposit, paid, rentStart, rentFinish) PropertyForRent(propertyNo, street, city, postcode, rent) Client(clientNo, fName, lName, address, telNo)Hệ quản trị Cơ sở liệu Thông tin lưu nhiều nơi, dư thừa, không quán Lãng phí thời gian cập nhật liệu lưu trữ Phối hợp tổ chức khai thác khó khăn Thiếu chia thơng tin đơn vị phận Khó nâng cấp ứng dụng Khơng có người quản trị liệu, người có quyền sử dụng thêm, xóa, sửa khơng an tịan, khơng bảo mật thơng tin 1.2 Cơ sở liệu (Database) Hệ quản trị Cơ sở liệu 10 1.2 Cơ sở liệu (Database) (tt) • Ưu điểm bật CSDL là: • Giảm trùng lặp thơng tin xuống mức thấp bảo đảm tính qn tồn vẹn liệu • Đảm bảo liệu truy xuất theo nhiều cách khác PropertyForRent(propertyNo, street, city, postcode, type, rooms, rent, ownerNo) PrivateOwner(ownerNo, fName, lName, address, telNo) Client(clientNo, fName, lName, address, telNo, preType, maxRent) Lease(leaseNo, propertyNo, clientNo, paymentMethod, deposit, paid, rentStart, rentFinish) Hệ quản trị Cơ sở liệu 11 • Khả chia sẻ thơng tin cho nhiều người sử dụng nhiều ứng dụng khác Hệ quản trị Cơ sở liệu 12 8/25/2017 1.2 Cơ sở liệu (Database) (tt) 1.2 Cơ sở liệu (Database) (tt) • Các vấn đề cần giải • Là HTTT có cấu trúc, lưu trữ thiết bị mang tin từ • Tính chủ quyền bị vi phạm • Tính qn CSDL • Vấn đề bảo mật • Tính an tịan liệu • Vấn đề tranh chấp liệu • Chia thông tin cho nhiều người sử dụng cách đồng thời • Đảm bảo liệu truy xuất đồng thời theo nhiều cách khác • Tính độc lập liệu chương trình / hệ thống ứng dụng Hệ quản trị Cơ sở liệu tính, phục vụ việc khai thác thông tin nhiều người sử dụng cách đồng thời với nhiều mục đích khác 13 Định nghĩa HQT CSDL Hệ quản trị Cơ sở liệu 14 Các mức biểu diễn CSDL • Là hệ thống phần mềm cung cấp công cụ để xây View Level dựng quản lý CSDL View View … View n • Định nghĩa cấu trúc liệu (DDL) • Cung cấp khả thao tác CSDL (MDL) Logical Level • Hỗ trợ lưu trữ liệu • Điều khiển truy xuất liệu nhiều người dùng Hệ quản trị Cơ sở liệu Physical Level 15 Hệ quản trị Cơ sở liệu 16 8/25/2017 Các mức biểu diễn CSDL Các mức biểu diễn CSDL • Mức vật lý • Mức quan niệm: • Đây mức lưu trữ CSDL Tại mức này, vấn đề cần giải liệu lưu trữ nào? đâu (đĩa từ, băng từ, track, sector nào)? Cần mục gì? Việc truy xuất (Sequential Access) hay ngẫu nhiên (RandomAccess) loại liệu • Những người hiểu làm việc với CSDL mức người quản trị CSDL (Administrator), người sử dụng (NSD) chuyên môn Hệ quản trị Cơ sở liệu • Tại mức giải cho câu hỏi CSDL cần phải lưu giữ loại liệu? liệu gì? Mối quan hệ loại liệu nào? • Từ giới thực (Real Universe) chuyên viên tin học qua trình khảo sát phân tích, với người đảm nhận vai trò quản trị CSDL, xác định loại thơng tin cho cần thiết phải đưa vào CSDL, đồng thời mô tả rõ mối liên hệ thông tin 17 Các mức biểu diễn CSDL Hệ quản trị Cơ sở liệu 18 Các thành phần DBMS • Mức ngồi • Đó mức người sử dụng chương trình ứng dụng Ngơn ngữ giao tiếp • Làm việc mức có nhà chuyên môn, kỹ sư tin học người sử dụng khơng chun • Mỗi người sử dụng hay chương trình ứng dụng "nhìn" (View) CSDL theo góc độ khác Có thể "nhìn" thấy toàn hay phần thơng tin tổng hợp từ CSDL có Hệ quản trị Cơ sở liệu Xử lý truy vấn 19 Quản lý khôi phục Quản lý giao tác Quản lý lưu trữ Hệ quản trị Cơ sở liệu 20 8/25/2017 5.1 Ngôn ngữ giao tiếp 5.2 Xử lý truy vấn • DBMS cung cấp giao diện lập trình dể sử dụng với • Biểu diễn câu truy vấn dạng ngôn ngữ cấp cao (SQL) thực câu truy vấn có hiệu • Query compiler – biên dịch ngơn ngữ lập trình CSDL • Query parser • SQL Server: Transaction-SQL (T-SQL) • Xây dựng cấu trúc hình từ câu truy vấn • Oracle: PL/SQL • Query preprocessor • Ngơn ngữ bao gồm • Kiểm tra ngữ nghĩa câu truy vấn • Chuyển đổi cấu trúc sang ngôn ngữ đại số quan hệ • Định nghĩa liệu • Query optimizer • Sắp xếp phép tốn nhằm mục đích tối ưu hóa câu truy vấn • Thao tác liệu Hệ quản trị Cơ sở liệu 21 Hệ quản trị Cơ sở liệu 5.3 Quản lý giao tác 5.3 Quản lý giao tác (tt) • Thành phần quản lý giao tác có ảnh hưởng đến CSDL • Nhật ký • Giao tác nhóm hành động mà thực phải thực hết tất hành động giao tác đó, • Để CSDL bền vững (durable), thay đổi lên CSDL phải ghi nhận lại • Log manager – ghi chép nhật ký ngược lại xem không thực hành động • Đảm bảo CSDL nguyên vẹn có cố xãy • Recovery manager – khơi phục transaction 22 • Dựa vào nhật ký để phục hồi lại CSDL trạng thái qn trước • Trạng thái thỏa tất RBTV CSDL Hệ quản trị Cơ sở liệu 23 Hệ quản trị Cơ sở liệu 24 8/25/2017 5.3 Quản lý giao tác (tt) 5.3 Quản lý giao tác (tt) • Điều khiển đồng thời • Bộ lập lịch (scheduler) - có nhiệm vụ lập lịch thực từ n giao tác kích hoạt đồng thời • Cơ chế khóa (lock) - ngăn giao tác thao tác lên đơn vị liệu điểm DB DBMS Server • Giải deadlock • Vì sử dụng chế khóa nên giao tác phải tranh giành tài ngun • Tình “khơng giao tác thực cơng việc mình” • Các giao tác chờ đợi lẫn để cấp phát tài nguyên Client Client Equivalent to serial result Client • Thành phần quản lý giao tác phải can thiệp vào • Rollback Scheduler Hệ quản trị Cơ sở liệu 25 • Abort Hệ quản trị Cơ sở liệu 5.4 Quản lý lưu trữ Một số HQT CSDL • Thành phần có nhiệm vụ điểu khiển việc đọc/ghi liệu • DB2: IBM • InterBase: Borland • MySQL : MySQL LAB • Microsoft Office Access • Microsoft SQL Server • Oracle • …… qua lại nhớ thiết bị lưu trữ • Làm việc với khác khái niệm • Tập tin liệu • Từ điển liệu • Lưu trữ metadata cấu trúc CSDL, đặc biệt lược đồ CSDL 26 • Chỉ mục Hệ quản trị Cơ sở liệu 27 Hệ quản trị Cơ sở liệu 28 8/25/2017 Một số HQT CSDL (tt) Oracle SQL SERVER • Giá quyền phần mềm • Độ phức tạp thấp(dễ dàng quản trị) • Giá đầu tư phần cứng, thiết bị kèm theo thấp Tổng quan HQT CSDL SQL Server Định hướng phát triển tổ chức, công ty Độ phức tạp cao(khó quản trị) Giá đầu tư cao 7.1 Giới thiệu Microsoft SQL Server 7.2 Các phiên SQL Server 7.3 Các thành phần SQL Server 7.4 Các CSDL hệ thống SQL Server 7.5 Các đối tượng CSDL Sử dụng ngôn ngữ chuẩn SQL Hệ quản trị Cơ sở liệu 29 7.1 Giới thiệu Microsoft SQL Server Hệ quản trị Cơ sở liệu 30 7.1 Giới thiệu Microsoft SQL Server (tt) • Hệ thống khách/chủ gồm phần • SQL Server hệ quản trị CSDL Client/Server • Hệ thống phía Server: xử lý u cầu phục vụ • Hệ thống phía Client: nơi yêu cầu nhận liệu • Hệ thống giao tiếp Client Server(Network) • Định nghĩa, chỉnh sửa CSDL, lược đồ, quan hệ lược đồ • Thêm, sửa, xóa thơng tin lưu lược đồ • Hỗ trợ tính bảo mật, lưu phục hồi, cấp quyền truy nhập 32 Hệ quản trị Cơ sở liệu 31 Hệ quản trị Cơ sở liệu 32 8/25/2017 7.1 Giới thiệu Microsoft SQL Server (tt) Client 7.1 Giới thiệu Microsoft SQL Server (tt) SQL Server Client Application SQL Server Server Net-Libraries Database API (OLE DB, ODBC, DB-Library) Results OLTP Query Open Data Services Relational Engine Client Net-Library Client OLAP Storage Engine RDBMS(Relational Database Management System) Client Application Server Processor OLTP: Online Transaction Process OLAP: Online Analysis Process Hệ quản trị Cơ sở liệu Memory 33 7.1 Giới thiệu Microsoft SQL Server (tt) Hệ quản trị Cơ sở liệu Result Set Database API (OLE DB, ODBC, DB-Library) • Khơng hạn chế kích thước sở liệu • Hỗ trợ Xử lý giao dịch trực tuyến (OLTP) • Khã dụng khã cỡ cao SQL Server Client Application Query Server Net-Libraries Open Data Services Query Result Set Relational Engine Client Net-Library Client • Standard Edition Server • Đủ cho cơng ty vừa nhỏ • Gồm tính như: thương mại điện tử, nhà kho liệu, giải pháp ứng dụng doanh nghiệp Storage Engine Memory • Developer Edition • Có chức để xây dựng kiểm thử ứng dụng phiên SQL Server Expression • Express Edition • Phiên nhỏ gọn download từ Internet • Chỉ có phần dịch vụ sở liệu, không hỗ trợ công cụ quản lý Workgroup Edition Dịng sản phẩm cho nhóm làm việc Cho ứng dụng hệ thống tổ chức nhỏ Khơng hạn chế kích thước sở liệu số lượng người dùng Processor Hệ quản trị Cơ sở liệu 34 7.2 Các phiên SQL Server • Enterprise Edition Local Database Local Database 35 Hệ quản trị Cơ sở liệu 36 8/25/2017 7.3 Các thành phần SQL Server 7.3 Các thành phần SQL Server (tt) • Database Engine (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: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) • Replication (Cơ chế tạo sao) • Integration Services (DTS) • Di chuyển, chép chuyển đổi liệu • Analysis Services Hệ quản trị Cơ sở liệu 37 Hệ quản trị Cơ sở liệu 7.3 Các thành phần SQL Server (tt) 7.4 Các CSDL hệ thống SQL Server • Notification Services • SQL Server hỗ trợ ba loại sở liệu: • Dịch vụ thơng báo Notification Services tảng cho phát triển triển khai ứng dụng tạo gửi thơng báo • Reporting Services Được tạo SQL Server Các sở liệu sử dụng để lưu thông tin SQL Server Hơn nữa, sở liệu sử dụng để quản lý sở liệu người dùng Người sử dụng SQL Server tạo sở liệu người dùng định nghĩa Cơ sở liệu hệ thống • Xây dựng ứng dụng báo cáo • Full Text Search Service • Truy vấn cho liệu văn không cấu trúc lưu trữ CSDL SQL Server Cơ sở liệu người dùng định nghĩa • Service Broker • Service Broker giao tiếp qua giao thức TCP/IP cho phép component khác đồng theo hướng trao đổi message Hệ quản trị Cơ sở liệu Mục đích sở liệu để lưu liệu người sử dụng SQL Server cung cấp sở liệu mẫu để người sử dụng làm việc với SQL Server Trong SQL Server AdventureWorks Cơ sở liệu ví dụ 39 38 Hệ quản trị Cơ sở liệu 40 10 8/25/2017 7.4 Các CSDL hệ thống SQL Server 7.4 Các CSDL hệ thống SQL Server (tt) Các sở liệu hệ thống Cơ sở liệu Mô tả master Cơ sở liệu lưu trữ tất thông tin hệ thống SQL Server msdb Cơ sở liệu sử dụng dịch vụ SQL Server Agent để nhắc nhở thực công việc theo lịch biểu công việc khác model Cơ sở liệu sử dụng sở liệu mẫu cho tất sở liệu người dung tạo sau SQL Server tempdb Các kết tạm thời, đối tượng tạm thời tạo q trình xử lý tính tốn lưu sở liệu Hệ quản trị Cơ sở liệu 41 Hệ quản trị Cơ sở liệu 42 Transact – SQL 7.5 Các đối tượng CSDL 8.1 Giới thiệu 8.2 Khai báo sử dụng biến 8.3 Các lệnh điều khiển Hệ quản trị Cơ sở liệu 43 Hệ quản trị Cơ sở liệu 44 11 8/25/2017 8.1 Giới thiệu 8.2 Khai báo sử dụng biến • Transact-SQL (T-SQL) ngơn ngữ phổ biến sử dụng giới CSDL • T-SQL ngơn ngữ mạnh có đề cập đến kiểu liệu, đối tượng tạm thời, thủ tục hệ thống thủ tục mở rộng • T-SQL cịn có khả xử lý mẫu tin, xử lý có điều kiện, điều khiển giao tác, xử lý lỗi biệt lệ • Biến cục DECLARE @Tên_biến kiểu_dữ_liệu[,…] • Ví dụ: DECLARE @ten_ncc varchar(50), @ngayxh DATETIME • Gán giá trị cho biến: Dùng SET SELECT với phép gán (= ) Hệ quản trị Cơ sở liệu 45 8.2 Khai báo sử dụng biến (tt) Hệ quản trị Cơ sở liệu 46 8.2 Khai báo sử dụng biến (tt) • Biến hệ thống • Các biến hệ thống SQL Server ln bắt đầu chữ @@ • Giá trị mà lưu trữ hệ thống SQL cung cấp • Người lập trình khơng can thiệp trực tiếp để gán giá trị vào biến hệ thống • Ví dụ: DECLARE @TongSLDat int SELECT @TongSLDat = SUM(SLDAT) FROM CTDH SELECT * FROM NHACC SELECT @@ROWCOUNT Hệ quản trị Cơ sở liệu 47 Hệ quản trị Cơ sở liệu 48 12 8/25/2017 8.2 Khai báo sử dụng biến (tt) Tên biến kiểu trả Dùng để trả connections số nguyên Tổng số kết nối vào SQL Server từ khởi động Error số nguyên số mã lỗi câu lệnh thực gần Khi lệnh thực thành công biến có giá trị Language chuỗi Tên ngôn ngữ mà hệ thống SQL đag sử dụng Mặc định US_English RowCount số nguyên Tổng số mẩu tin tác động vào câu lệnh truy vấn gần ServerName chuỗi Tên máy tính cục cài đặt SQL Server ServiceName chuỗi Tên dịch vụ kèm theo bên SQL Server Fetch_Status số nguyên Trạng thái việc đọc liệu bảng theo chế dòng mẩu tin (cursor) Khi liệu đọc mẩu tin thành cơng biến có giá trị Version chuỗi Phiên bản, ngày phẩm SQL Server loại CPU Hệ quản trị Cơ sở liệu 8.3 Các lệnh điều khiển • Cấu trúc rẽ nhánh IF…ELSE IF Câu_lệnh1|khối_lệnh1 ELSE Câu_lệnh2|khối_lệnh2 49 8.3 Các lệnh điều khiển (tt) • Cấu trúc CASE BEGIN Print “Danh sách hàng hoá bán với số lượng lớn 4” CTXUAT.MaMH, TenMH, SLXuat FROM CTXUAT, MATHANG WHERE CTXUAT.MaMH = MATHANG.MaMH AND SLXuat>4 Hệ quản trị Cơ sở liệu CASE WHEN THEN WHEN THEN … [ELSE ] END SELECT HONV, TENNV FROM NHANVIEN WHERE YEAR(GETDATE()) – YEAR(NGSINH) >= ( CASE PHAI WHEN 'Nam' THEN 60 WHEN 'Nu' THEN 55 END ELSE END ) Print “chưa bán hàng với số lượng lớn 4” Hệ quản trị Cơ sở liệu 50 8.3 Các lệnh điều khiển (tt) IF (SELECT COUNT(*) FROM CTXUAT WHERE SLXUAT>4)>0 SELECT Biểu_thức_luận_lý 51 Hệ quản trị Cơ sở liệu 52 13 8/25/2017 8.3 Các lệnh điều khiển (tt) • Cấu trúc lặp WHILE WHILE Biểu_thức_luận_lý DECLARE BEGIN Các_lệnh_lặp END @Songuyen INT SET @Songuyen = 100 WHILE (@Songuyen < 110) BEGIN Print “Số nguyên: ” + convert(char(3), @songuyen) SET @Songuyen = @Songuyen +1 END Hệ quản trị Cơ sở liệu 53 Hệ quản trị Cơ sở liệu 54 14