Báo cáo đồ án Stored Procedure trong SQL Server

27 954 6
Báo cáo đồ án Stored Procedure trong SQL Server

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án học phần Stored Procedure trong SQL Server Các thủ tục trong hệ quản trị cơ sở dữ liệu.Báo cáo đồ án học phần Chuyên ngành Công Nghệ Thông Tin.Chương trình Quản lý sinh viên được xây dựng trên phần mềm SQL Server bằng nhưng ngôn ngữ mô tả dữ liệu, thao tác dữ liệu, truy vấn dữ liệu, hay ngôn ngữ hỏi đáp có cấu trúc và ngôn ngữ quản lý dữ liệu. Để đơn giản hơn cho các câu lệnh thực hiện người ta đã sử dụng Stored Procedure – Thủ tục trong SQL Server để gọi dữ liệu nhanh hơn và ngắn gọn các câu lệnh thực thi hơn.

1 TRƯỜNG ĐHCN X KHOA: ĐIỆNĐIỆN TỬ - CÔNG NGHỆ THƠNG TIN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc NHẬN XÉT ĐỒ ÁN HỌC PHẦN Chuyên ngành :Công nghệ thông tin ( Nhận xét GV hướng dẫn Nhận xét GV phản biện ) Họ tên sinh viên: X Tên đề tài: Stored Procedure SQL Người nhận xét (họ tên, học hàm, học vị): ………………………………………… Đơn vị công tác (nếu có): …………………… …………………………………… Ý KIẾN NHẬN XÉT Về nội dung & đánh giá thực nhiệm vụ nghiên cứu đề tài: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………… Về phương pháp nghiên cứu, độ tin cậy số liệu: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………… Về kết đề tài: ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………… Những thiếu sót vấn đề cần làm rõ (nếu có): ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………… Ý kiến kết luận (mức độ đáp ứng yêu cầu ĐA/KL tốt nghiệp) ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… ………………………… Câu hỏi người nhận xét dành cho học viên (nếu có): ………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………… …………………………  Đánh giá điểm: Kết luận:  Đồng ý /  Không đồng ý cho phép sinh viên tham dự bảo vệ kết trước hội đồng Ngày………tháng…… năm…… NGƯỜI NHẬN XÉT (chữ ký & họ tên) LỜI CẢM ƠN Để hoàn thành đồ án em xin gửi lời cảm ơn chân thành đến Các thầy cô trường Đại Học Cơng Nghiệp X nói chung th ầy Khoa Điện Điện Tử - Công Nghệ Thông Tin nói riêng, giúp em học tập suốt trình học tập trường năm qua Cơ giáo hướng dẫn đề tài – XX, Giảng viên Khoa Điện - Điện Tử - Công Nghệ Thông Tin, Trường Đại Học Cơng Nghiệp X Đã hết lòng giúp đỡ, hướng dẫn, dẫn tận tình để em hoàn thành đề tài Các bạn lớp CNTT1 anh chị khóa góp ý q trình làm đề tài để hồn chỉnh LỜI NÓI ĐẦU Giới thiệu chung: Với phát triển mạnh khoa học kĩ thuật sống ngày cơng nghệ thơng tin ngành khoa học ngày đ ược quan tâm sử dụng rộng rãi lĩnh vực sống V ới nh ững ưu ểm mạnh ứng dụng nhiều sống công nghệ thông tin giúp cho công việc quản lý dễ dàng Để quản lý công việc cụ th ể quan người quản lý thực nhiều động tác Nh có phần mềm cơng việc trở nên đơn giản nhiều Ví dụ quản lý sinh viên trường , ta phải xây dựng hệ thống quản lý sở liệu sinh viên Do yêu cầu tin học hóa quy trình thực quản lý tất yếu, phục vụ việc kiểm tra thông tin sinh viên m ột cách nhanh chóng Giới thiệu đề tài: Chương trình Quản lý sinh viên xây dựng phần mềm SQL Server ngôn ngữ mô tả liệu, thao tác liệu, truy v ấn d ữ li ệu, hay ngơn ngữ hỏi đáp có cấu trúc ngôn ngữ quản lý liệu Để đơn gi ản cho câu lệnh thực người ta sử dụng Stored Procedure – Thủ tục SQL Server để gọi liệu nhanh ngắn gọn câu lệnh thực thi Vậy đề tài em “ Stored Procedure SQL Server ” tìm hiểu thủ tục SQL Dù em hồn thành xong Đồ án hi ểu bi ết kinh nghiệm hạn chế nên nhiều thiếu sót Rất mong nh ận đ ược ý kiến đóng góp thầy cô bạn Em xin chân thành cảm ơn ! NHẬT KÝ THỰC HIỆN ĐỀ TÀI Thời gian 14/10/2018 Công việc 21/10 Nhận đề tài giáo viên hướng dẫn Nghiên cứu tài liệu tham khảo đề tài Gặp giáo viên hướng dẫn 22/10 Tìm hiểu đề tài 23/10-28/10 Thực demo chương trình 28/10 Gặp giáo viên hướng dẫn 29/10-15/11 Làm báo cáo đồ án 5/11 Gặp giáo viên hướng dẫn 16/11-22/11 Chỉnh sửa hoàn thiện báo cáo 23/11 Gặp giáo viên hướng dẫn Nộp báo cáo đĩa CD cho giáo viên hướng dẫn 16/10-20/10 24/11 Ghi MỤC LỤC DANH MỤC VIẾT TẮT SP Stored Procedure MỞ ĐẦU Đặt vấn đề : Khi ta duyệt hay xử lý liệu sở liệu SQL Server, ngôn ng ữ (Structured Query Language ) ngôn ngữ thực thi hi ệu qu ả Do đó, tính tốn với lượng lớn liệu SQL Server, ta nên s dụng đ ối tượng SP để xây dựng đoạn chương trình giải vấn đề cần thiết Mục tiêu đề tài : Căn hiểu Stored Procedure SQL Server Tổng quan v ề th ủ tục phân loại loại thủ tục SQL Đưa 10 thủ tục minh họa Kết nối thủ tục với ngôn ngữ lập trình Kết đạt đề tài : Sau trình nghiên cứu thực đề tài phải nêu số lợi ích sử dụng thủ tục, phân dạng hai loại thủ tục thủ tục hệ thống thủ tục người dùng tạo Đưa ví dụ cụ thể liên kết CSDL SQL với ngôn ngữ l ập trình VB.NET, gọi thủ tục lưu trữ SQL ngơn ngữ lập trình Bố cục đề tài : Đề tài gồm chương sau: Chương Tổng quan Stored Procedure Chương Phân loại Stored Procedure Chương Ví dụ minh họa Chương Tổng quan Stored Procedure 1.1 Định nghĩa SP SP ? Stored Procedure : “A precomplied collection of Transact-SQL statements stored under a name and processed as unit SQL Server supplies stored procedures for managing SQL Server anh displaying information about database and users” SP hay gọi thủ tục lưu trữ SQL Là tập hợp câu lệnh T-SQL(Transact-SQL) biên dịch trước (pre_compiled) SP đặt tên xử lý khối lệnh th ống nhất, thực rời rạc câu lệnh 1.2 Đặc tính SP Store Procedure SQL tương tự khái niệm thủ tục ngơn ngữ lập trình khác: • Cho phép truyền vào tham số đầu vào chấp nhận trả giá trị chứa tham số trả trạng thái giá tr ị đ ể g ọi thủ tục thực xử lý theo lô để biết việc th ực hi ện thành cơng hay thất bại, thất bại đưa nguyên nhân • thất bại Bao gồm lệnh gọi thủ tục thực thi khác, chứa lệnh SQL chương trình để thực xử lý database • Chấp nhận biến đầu vào trả lại kết thực Ta dùng Transact – SQL EXCURTE để thực thi SP Các SP khác v ới hàm xử lý giá trị trả chúng không chứa tên chúng không sử dụng trực tiếp biểu thức Lưu ý : SP khác với Funcions : chúng trả giá trị trực tiếp Biểu Thức 1.3 Lợi ích SP Tăng tốc độ thực hiện: Đây lợi ích lớn sử dụng Store Procedure Store Procedure có khả phân tích cú pháp t ối ưu hóa l ần th ực thi phiên dịch chúng đ ược l ưu b ộ nhớ để sử dụng cho lần sau Nghĩa lần thực hi ện sau chúng không cần phải phân tích cú pháp tối ưu lại, mà chúng sử dụng kết 10 biên dịch lần đàu tiên Do Store Procedure có khả th ực thi nhanh việc xử lý đoạn lệnh Transact-SQL l ớn,l ặp Tốc độ truy cập liệu nhanh hơn: SQL làm việc hiệu dùng Store Procedure người gửi gửi câu lệnh đơn SQL Sever ch ỉ ki ểm tra lần sau tạo execute plan th ực thi N ếu Store Procedure gọi nhiều lần execute plan sử dụng lại nên làm vi ệc nhanh Chương trình modul hóa: Một Store Procedure tạo sử dụng lại Điều làm cho việc bảo trì dễ dang vi ệc tách rời logic bên Store Procedure s li ệu Tính quán: Lợi ích Store Procedure thiết đặt ràng buộc liệu để đảm bảo tính quán Người sử dụng thực hi ện tùy tiện liệu để làm tính đắn liệu Nâng cao khả bảo mật liệu: Giả sử muốn giới hạn việc truy xuất liệu trực tiếp user vào số bảng, ta viết Store Procedure để truy xuất liệu cho phép user sử dụng Store Procedure viết sẵn mà thao tác trực ti ến bảng Ví dụ, ta tạo Store Procedure để ta làm ch ủ ch ỉ cung cấp quyền EXCUTE cho Store Procedure này, th ế nh ững ng ười sử dụng khác không phép trực tiếp làm việc với liệu Ngoài Store Procedure mã hóa để tăng cường tính bảo mật 13 sp_configure Thay đổi lựa chọn cấu hình chung SQL Sever Khi người sử dụng khơng lựa chọn hệ thống hiển thị cấu hình mặc định sp_help Hiển thị thơng tin đối tượng Database Hiển thị nội dung (text) đối tượng sp_helptext Các tác vụ Quản trị (administration tasks) bao g ồm : Li ệt kê, Thêm, C ập nhật, Xóa đối tượng Cở Sở Dữ Liệu Để thực thi SP, ta sử dụng lệnh EXEC Dưới danh sách thủ tục hệ thống mở Database thủ tục nằm thư mục Programmability 14 Ngồi ra, SQL server cung cấp số Thủ tục Hệ Th ống m r ộng, v ới tên tiền tố xp_ Ví dụ : xp_smdshell ( Liệt kê danh sach Thư Mục Tập tin ) 2.3 User-Defined Stored Proceudre: Là SP người sử dụng xây dựng Khi thủ tục tạo ra, tên thủ tục viết vào bảng hệ th ống sysobjects, nội dung thủ tục lưu bảng hệ th ống syscomments Thủ tục chạy lần đầu hay biên dịch lại theo bước sau: Relution – Công cụ xử lý truy vấn (query processor) đọc ki ểm tra lỗi tả thủ tục • Optimixation – Cơng cụ tối ưu hóa truy vấn phát tri ển execution plan cho lệnh thủ tục • Compilation – trình biên dịch, thủ tục phân tích execution plan tạo Excution plan nạp vào nhớ (procedure cache) • Một số quy tắc tạo SP : Mỗi thủ tục nên hoàn thành nhiệm vụ Lệnh tạo thủ tục chứa lệnh CREATE VIEW, CREATE DEFAULT, CREATE RULE hay CREATE TRIGGER Một thủ tục khơng thể tạo/ xóa đối tượng l ại tham chi ếu đ ến đ ối tượng Các thủ tục tham chiếu đến bảng tạm thời Có thể tham chiếu đến đối tượng từ CSDL khác server từ xa Cho phép thủ tục đệ quy – thủ tục gọi Nhiều 2100 Parameters Store procedure Các thủ thục gọi lồng tối đa tới 32 mức Kích cỡ cực đại thủ tục 128 MB, tùy thuộc vào nhớ Tạo SQL Server Management Studio (SSMS) bước đ ể t ạo nh hình sau 15 Tạo script : Cú pháp tạo sau CREATE { PROC | PROCEDURE} < tên thủ tục > [ < Danh sách tham số > ] [VARYING] [= default] [OUTPUT] [ WITH [ RECOMPLILE ] [, ENCRYPTION ] [, mệnh đề EXCECUTE AS> ] ] [ FOR REPLICATION ] AS < Các câu lệnh SQL > Giải thích : Default: Giá trị mặc nhiên, tham số có giá trị th ực hi ện procedure, user khơng cần truyền tham s ố vào th ực thi (nó có giá trị default) Có hai loại tham số tham số đầu vào tham s ố đầu Tham s ố đ ầu vào chia thành tham số bắt buộc (Bắt buộc phải truy ền gía tr ị cho tham số này, tham số tùy chọn.Đã gán giá trị mặc định, n ếu không 16 truyền gái trị lời gọi thủ tục tham s ố nhận giá tr ị m ặc đ ịnh) Tham số đầu ( Sử dụng đề lấy kết trả từ thủ tục, khai báo từ khóa OUTPUT) Cú pháp :“@ [=][OUTPUT | OUT] L@ [=][OUTPUT | OUT]]…” OUTPUT: parameter khai báo Output, Parameter “return parameter” Dùng Output Parameter để trả thông tin gọi SP Recompile: SP biên dịch lại lúc thực thi (run time) Dùng tùy ch ọn “recompile” ta dùng giá trị tạm giá trị khơng điển hình (atypical values) mà khơng muốn ghi đè (override) lên execution plan (bảng thực thi) trữ sẵn nhớ Encryption: SQL_Server mã hóa (Encrypt) Danh mục ( table syscomments) có chứa nội dung câu lệnh Create Proc Dùng để ngăn không cho Th ủ tục bị xuất (published) thành phần SQL Server For Replication: SP tạo kèm theo tùy chọn “ For Replication”, dùng nh lọc SP thực thi q trình Replication Khơng sử dụng với tùy chon “ WITH RECOMPILE” VARYING: định kết tham số trả result set Ch ỉ áp d ụng cho cursor parameters Ngoài có cú pháp câu lệnh DROP PROC (Xóa th ủ tục) cú pháp câu lệnh ALTER PROC (Sửa thủ tục) : “DROP {PROC | PROCEDURE}[,…]” “ALTER {PROC | PROCEDURE} [] [WITH [RECOMPILE] [, ENCRYTION] [, ]] AS ” 17 Chương Ví dụ minh họa 3.1 Ví dụ System SP Ví dụ 1: Thực thi danh sách database có SQL : Exec sp_databases Chọn !Excute Ta kết sau : Hình Thực thi thủ tục sp_databases Ví dụ : Chi tiết Thơng tin Sever, ví dụ tập đặc tính, phiên Exec sp_server_info 18 Hình Thực thi thủ tục sp_server_info Ví dụ : Danh sách tất thủ tục có mơi trường Exec sp_stored_procedures Tương tự hình cho kết với thủ tục Hình 3 Thực thi thủ tục sp_stored_procedure 19 Ví dụ 4: Thực thi lấy danh sách tất bảng mơi trường Exec sp_tables Hình Thực thi thủ tục sp_tables Ví dụ 5: Hiện thị thơng tin đối tượng Database Exec sp_help 20 3.1 Ví dụ User-Define SP Trước xây dựng thủ tục em tạo database có tên QLNV g ồm hai bảng: nhanvien sanpham Bảng nhanvien có danh sách nhân viên thơng tin nhân viên Tiếp theo bảng sanpham thông tin khoa mã mã hàng, tên mặt hàng, số lượng 21 Sau xây dựng thủ tục với ví dụ cụ thể sau: Ví dụ6: Hiện thông tin bảng nhanvien Cú pháp: USE QLNV GO Create proc Load_NV as begin select * from nhanvien end Thực thi thủ tục Load_NV Exec Load_NV Ví dụ Thêm thông tin nhân viên vào Cú pháp USE QLNV GO Create proc Them_NV @manv nvarchar(50), @tennv nvarchar(50), @ngaysinh date, @gioitinh nvarchar(50), 22 @diachi nvarchar(50), @mahang nvarchar(50) as begin insert into nhanvien (manv,tennv,ngaysinh,gioitinh,diachi,mahang) values (@manv,@tennv,@ngaysinh,@gioitinh,@diachi,@mahang) end Thực thi thủ tục Them_NV Exec Them_NV ‘NV11’,N’Việt’,’1990/10/20’, N’Nam’, N’Hà Nội’, ‘MH02’ Ví dụ Sửa thơng tin nhân viên Cú pháp USE QLNV Go Create proc Sua_NV @manv nvarchar(50), @tennv nvarchar(50), @ngaysinh date, @gioitinh nvarchar(50), @diachi nvarchar(50), @mahang nvarchar(50) as begin update nhanvien set manv=@manv,tennv=@tennv,ngaysinh=@ngaysinh,gioitinh=@gioitinh,diachi=@d iachi,mahang=@mahang where manv=@manv end Thực thi thủ tục Sua_NV 23 Exec Sua_NV ‘NV11’, N’Hòa’, ’1990/10/21’, N’Nữ’, N’Hà Nội’, ‘MH03’ Ví dụ Xóa thơng tin nhân viên Cú pháp USE QLNV GO Create proc Xóa_NV @manv nvarchar(50) as begin delete from nhanvien where manv=@manv end Thực thi thủ tục Xoa_NV Exec Xoa_NV ‘NV11’ Ví dụ 10 Tìm kiếm thơng tin nhân viên Cú pháp 24 USE QLNV GO Create proc Timkiem_NV @manv nvarchar(50) as begin select * from nhanvien where manv=@manv end Thực thi thủ tục Timkiem_NV Exec Timkiem_NV ‘NV05’ Như năm thủ tục nêu Load_NV, Timkiem_NV, Sua_NV, Them_NV, xoa_NV thực thi SQL Server Tiếp theo liên kết CSDL SQL Server với ngơn ngữ lập trình VB.NET gọi thủ tục lưu trữ SQL ngơn ngữ lập trình 3.1 Kết liên kết với ngơn ngữ lập trình VB.NET Bước 1: Tạo đối tượng SqlConnection để kết nối tới sở liệu Sử dụng đối tượng để kết nối tới sở liệu máy chủ phục vụ SQL L tên đối tượng “conn” SqlConnection Source=CONGVIET;Initial Security=True"); conn = new SqlConnection(@"Data Catalog=CSDLQuảnLýSinhViên;Integrated Bước 2: Mở lớp kết nối tạo đối tượng SqlCommand đặt tên cmd khai báo kiểu biến cho đối tượng : Conn.Open(); SqlCommand cmd = new SqlCommand("—Tên thủ tục cần gọi ", conn); cmd.CommandType = CommandType.StoredProcedure; 25 Bước 3: Viết câu lệnh cần thiết, sau tạo câu l ệnh thực hi ện câu l ệnh vừa viết đóng lớp kết nối lại Cmd.ExecuteNonQuery(); Conn.Close(); Sau liên kết gọi thủ tục xây dựng s li ệu SQL Windows Form ta Form Quản Lý Sinh Viên hồn ch ỉnh thơng tin sinh viên Bảng SinhVien với tác vụ tìm kiếm, thêm, sửa, xóa 26 KẾT LUẬN Qua đề tài thân tích lũy thêm nhiều ki ến th ức m ới v ề l ập trình, thân trang bị kiến thức liên quan v ề thi ết k ế ph ần m ềm tạo thủ tục SP gọi ngơn ngữ l ập trình VisualBasic, hiểu rõ thủ tục SQL Server Do kinh nghiệm làm chưa có nhiều nên demo ch ỉ nh ững ki ến thức để tạo thủ tục bản.Cần có th ời gian h ọc tập thêm nhiều kiến thức để tạo thủ tục phức tạp để ti ện n ữa s dụng 27 TÀI LIỆU THAM KHẢO Nhà xuất lao động xã hội, Phạm Hữu Khang, Microsoft SQL Server 2008-quản trị sở liệu Nhà xuất trẻ, Đậu Quang Tuấn, Lập trình sở liệu VisualBasic Và tài liệu mạng liên quan tới Website: http://123doc.org/trang-chu.htm

Ngày đăng: 10/01/2018, 17:34

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

    • 1. Đặt vấn đề :

    • 2. Mục tiêu của đề tài :

    • 3. Kết quả đạt được của đề tài :

    • 4. Bố cục đề tài :

    • Chương 1 Tổng quan về Stored Procedure

      • 1.1 Định nghĩa SP

      • 1.2 Đặc tính của SP

      • 1.3 Lợi ích của SP

      • Chương 2 Phân loại các Stored Procedure

        • 2.1 Các loại Stored Procedure

          • 2.1.1 System stored procedure

          • 2.1.2 Local stored procedure

          • 2.1.3 Temporary store procedure

          • 2.1.4 Extended stored procedure

          • 2.1.5 Remote strored procedure

          • 2.2 System Stored Procedure:

          • 2.3 User-Defined Stored Proceudre:

          • Chương 3 Ví dụ minh họa cơ bản

            • 3.1 Ví dụ về System SP

            • 3.1 Ví dụ về User-Define SP

            • 3.1 Kết quả liên kết với ngôn ngữ lập trình VB.NET

            • KẾT LUẬN

            • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan