MỤC LỤC MỤC LỤC LỜI CẢM ƠN LỜI NÓI ĐẦU 4 CHƯƠNG 1: MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP 1 1.1. Giới thiệu về Tổng cục Thi hành án dân sự 1 21. Thực hiện các nhiệm vụ, quyền hạn khác do Bộ trưởng Bộ Tư pháp giao và theo quy định của pháp luật. 5 1.2. Mô tả hoạt động quản lý công văn 5 1.2.1. Hoạt động xử lý công văn đến 6 1.2.2. Hoạt động xử lý công văn đi 9 1.2.3. Hoạt động lập báo cáo thống kê 11 1.3. Giải pháp 11 2.1. MÔ HÌNH NGHIỆP VỤ 13 2.1.1. Biểu đồ ngữ cảnh 13 2.1.2. Sơ đồ phân rã chức năng 14 1.1 . Cập nhật công văn đến 15 1.2. Cập nhật công văn đi 15 2.1. Vào sổ đăng ký công văn đến 15 2.2. Chuyển giao cho các phòng ban, cá nhân có liên quan để giải quyết 15 3.1. Vào sổ đăng ký công văn đi 15 3.2. Vào sổ công văn đi 15 3.3. Vào sổ giao nhận khối các phòng ban 15 4.1. Báo cáo thống kê cơ sở công tác văn thư 16 4.2. Báo cáo tình hình xử lý công văn 16 2.1.3. Danh sách hồ sơ dữ liệu 16 2.1.4. Ma trận thực thể dữ liệu chức năng 17 2.2. SƠ ĐỒ LUỒNG DỮ LIỆU 12 2.2.1. Sơ đồ luồng dữ liệu mức 0 12 2.2.2. Sơ đồ luồng dữ liệu mức 1 13 2.3. THIẾT KẾ CƠ SỞ DỮ LIỆU 17 2.3.1. Mô hình liên kết thực thể (ER) 17 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 21 3.1. PHÂN TÍCH THIẾT KẾ HỆ THỐNG HƯỚNG CẤU TRÚC 21 3.1.1. Khái niệm chung về hệ thống thông tin 21 3.1.2. Tiếp cận phát triển hệ thống thông tin định hướng cấu trúc 21 3.2. THIẾT KẾ CSDL QUAN HỆ 23 3.3. CÔNG CỤ ĐỂ CÀI ĐẶT CHƯƠNG TRÌNH 24 2.1.3. Các thành phần 27 2.1.4. Các hàm thông dụng trong SQL Server 28 2.1.5. Các kiểu dữ liệu trong SQL Server 31 2.2.4. Kiểu dữ liệu trong C 33
Sinh viên: Đào Thị Lan Anh MỤC LỤC CHƯƠNG 1 1 MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP 1 CHƯƠNG 3 21 Sinh viên: Đào Thị Lan Anh DANH MỤC HÌNH CHƯƠNG 1 1 MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP 1 CHƯƠNG 3 21 Sinh viên: Đào Thị Lan Anh LỜI CẢM ƠN Người xưa có câu: “Uống nước nhớ nguồn, ăn quả nhớ kẻ trồng cây” Với em sinh viên khoá ĐH1 của trường Đại Học Tài Nguyên Và Môi Trường luôn luôn ghi nhớ những công lao to lớn của các thầy giáo, cô giáo Những người đã dẫn dắt chúng em từ khi mới bước chân vào giảng đường đại học những kiến thức, năng lực và đạo đức chuẩn bị hành trang bước vào cuộc sống để xây dựng đất nước khi ra trường sau 4 năm học Em xin hứa sẽ lao động hết mình đem những kiến thức học được phục vụ cho Tổ quốc Em xin chân thành cảm ơn đến: Cha, mẹ người đã sinh thành và dưỡng dục con, hỗ trợ mọi điều kiện về vật chất và tinh thần cho con trên con đường học tập lòng biết ơn sâu sắc nhất Thầy cô của trường và các thầy cô trong Ban giám hiệu, thầy cô trong Bộ môn Tin học của trường Đại Học Tài Nguyên Và Môi Trường đã tận tình giảng dạy và tạo mọi điều kiện cho chúng em học tập trong suốt thời gian học tập tại trường Thầy/cô Hà Mạnh Đào – Giáo viên hướng dẫn tiểu án tốt nghiệp đã tận tình, hết lòng hướng dẫn em trong suốt quá trình nghiên cứu để hoàn thành tiểu án tốt nghiệp này Em mong thầy luôn luôn mạnh khoẻ để nghiên cứu và đào tạo nguồn nhân lực cho đất nước Một lần nữa em xin chân thành cảm ơn Hà Nội, ngày tháng năm 2015 Sinh viên thực hiện Sinh viên: Đào Thị Lan Anh LỜI NÓI ĐẦU Ngày nay sự phát triển mạnh mẽ của Công nghệ thông tin (CNTT) làm cho máy tính trở thành phương tiện không thể thiếu dược trong mọi lĩnh vực đời sống Hơn lúc nào hết các tính năng của máy tính dược khai thác một cách triệt để Nếu như vài năm truớc máy tính ở nước ta được sử dụng chủ yếu như là một công cụ đẻ soạn thảo văn bản hoặc các công việc lập trình, quản lý phức tạp, xử lý dữ liệu biểu bảng, thương mại, khoa học v.v… thì giờ đây, cùng với sụ vươn xa của mạng Internet trên lãnh thổ Việt Nam, máy tính còn là phương tiện bạn có thể ngồi trên bàn làm việc cá nhân tại gia dình để trao đổi thông tin liên lạc đi khắp toàn cầu CNTT càng phát triển thì con người càng có nhiều những phương pháp mới, công cụ mới để xử lý thông tin và nắm bắt được nhiều thông tin hơn CNTT được ứng dụng trong mọi nghành nghề, mọi lĩnh vực của đời sống xã hội Việc ứng dụng CNTT trong quản lý, sản xuất, kinh doanh du lịch là một xu hướng tất yếu Kết quả của việc áp dụng CNTT trong quản lý là việc hình thành các hệ thống thông tin quản lý nhằm phục vụ cho nhu cầu xử lý dữ liệu và cung cấp thông tin cho các chủ sở hữu hệ thống đó Ở nước ta hiện nay trong những năm gần đây các ứng dụng tin học vào quản lý đang ngày một nhiều hơn, đa dạng hơn Hệ thống thông tin được đề cập đến trong đồ án này là hệ thống quản lý công văn, được ứng dụng thực tế trong công việc hỗ trợ quản lý công văn của Tổng cục Thi hành án dân sự Hà Nội Tổng cục Thi hành án dân sự là cơ quan trực thuộc Bộ Tư pháp, thực hiện chức năng tham mưu, giúp Bộ trưởng Bộ Tư pháp quản lý nhà nước về công tác thi hành án dân sự và thi hành án hành chính trong phạm vi cả nước; thực hiện quản lý chuyên ngành về thi hành án dân sự và thi hành án hành chính theo quy định của pháp luật Tổng cục Thi hành án dân sự có tư cách pháp nhân, con dấu có hình Quốc huy, tài khoản riêng tại Kho bạc Nhà nước và trụ sở tại thành phố Hà Nội Trong đó có nhiệm vụ phát hành báo chí và giao nhận công văn cho một số ban ngành của ủy ban, thành ủy và một số các sở ban ngành khác Xuất phát từ Sinh viên: Đào Thị Lan Anh thực tiễn công việc hàng ngày trong việc giao nhận công văn theo hình thức cũ “tay trao tay” ngày càng không phù hợp với tình hình hiện nay khi mà nền công nghệ số đang rất phát triển và có mặt trong tất cả các sở ban ngành, các đơn vị Các công văn thường không kịp thời, đặc biệt là các “sự vụ điện” các công văn cần thời gian xử lý nhanh Việc quản lý rất khó khăn, việc tra cứu các văn bản thường mất rất nhiều thời gian mà nhiều khi không mang lại kết quả Với các văn bản dài, nhiều tờ và gửi cho nhiều đơn vị thì văn thư làm việc rất mất thời gian vì phải sao chép rồi gửi đi Mặt khác, với các sở ban ngành lượng văn bản gửi đi nhiều thì hàng tháng lượng văn phòng phẩm phục vụ cho công tác này là không nhỏ Để giải quyết các khó khăn của công việc trên một cách nhanh chóng và thuận lợi thì tin học đã cung cấp cho chúng ta các phương pháp và các công cụ để xây dựng các chương trình ứng dụng đó và việc có được một chương trình gần như tự động hoá được các công việc trên cho nhân viên Trong đề tài này đã thể hiện tương đối đầy đủ những chi tiết đề ra Sinh viên: Đào Thị Lan Anh CHƯƠNG 1 MÔ TẢ BÀI TOÁN VÀ GIẢI PHÁP 1.1 Giới thiệu về Tổng cục Thi hành án dân sự Theo quy định tại Quyết định số 61/2014/QĐ-TTG ngày 30 tháng 10 năm 2014 của Thủ tướng Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức của Tổng cục Thi hành án dân sự trực thuộc Bộ Tư pháp, Tổng cục Thi hành án dân sự có vị trí, chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức như sau: Vị trí và chức năng của Tổng cục Thi hành án dân sự 1 Tổng cục Thi hành án dân sự là cơ quan trực thuộc Bộ Tư pháp, thực hiện chức năng tham mưu, giúp Bộ trưởng Bộ Tư pháp quản lý nhà nước về công tác thi hành án dân sự và thi hành án hành chính trong phạm vi cả nước; thực hiện quản lý chuyên ngành về thi hành án dân sự và thi hành án hành chính theo quy định của pháp luật 2 Tổng cục Thi hành án dân sự có tư cách pháp nhân, con dấu có hình Quốc huy, tài khoản riêng tại Kho bạc Nhà nước và trụ sở tại thành phố Hà Nội Nhiệm vụ và quyền hạn của Tổng cục Thi hành án dân sự Tổng cục Thi hành án dân sự thực hiện các nhiệm vụ, quyền hạn sau đây: 1 Xây dựng để Bộ trưởng Bộ Tư pháp trình cấp có thẩm quyền hoặc ban hành theo thẩm quyền: a) Dự án luật, dự thảo nghị quyết của Quốc hội; dự án pháp lệnh, dự thảo nghị quyết của Ủy ban thường vụ Quốc hội; dự thảo nghị định, nghị quyết của Chính phủ; dự thảo quyết định, chỉ thị của Thủ tướng Chính phủ; dự thảo thông tư, quyết định của Bộ trưởng Bộ Tư pháp và các văn bản khác về thi hành án dân sự, quản lý thi hành án hành chính; 1 Sinh viên: Đào Thị Lan Anh b) Chiến lược, chương trình quốc gia, đề án, dự án, quy hoạch, kế hoạch dài hạn, năm năm, hàng năm, dự thảo báo cáo Quốc hội, báo cáo Chính phủ về thi hành án dân sự, quản lý thi hành án hành chính 2 Trình Bộ trưởng Bộ Tư pháp quyết định: a) Thành lập, giải thể cơ quan thi hành án dân sự; các phòng chuyên môn và tổ chức tương đương thuộc Cục Thi hành án dân sự tỉnh, thành phố trực thuộc Trung ương; b) Quản lý tổ chức, công chức của hệ thống cơ quan thi hành án dân sự theo quy định của pháp luật; c) Quy định về quy trình, thủ tục, tiêu chuẩn, định mức, biểu mẫu, giấy tờ về thi hành án dân sự và thi hành án hành chính; d) Quy định về thống kê thi hành án dân sự và thi hành án hành chính 3 Hướng dẫn, kiểm tra và tổ chức thực hiện các văn bản quy phạm pháp luật, chiến lược, quy hoạch, kế hoạch, chương trình, đề án, dự án về thi hành án dân sự, quản lý thi hành án hành chính sau khi được phê duyệt, ban hành Thực hiện công tác rà soát, hệ thống hóa, kiểm tra việc thi hành văn bản quy phạm pháp luật về thi hành án dân sự, thi hành án hành chính; tuyên truyền, phổ biến, giáo dục pháp luật về thi hành án dân sự, thi hành án hành chính Tuyên truyền, giáo dục, vận động tổ chức, cá nhân thực hiện nghiêm bản án, quyết định dân sự, hành chính của Tòa án và các quy định khác theo quy định của pháp luật 4 Ban hành theo thẩm quyền các văn bản chỉ đạo, hướng dẫn chuyên môn, nghiệp vụ về thi hành án dân sự, thi hành án hành chính, văn bản cá biệt, văn bản quy phạm nội bộ theo quy định của pháp luật 5 Tổ chức kiểm tra: a) Việc thực hiện trình tự, thủ tục và áp dụng pháp luật trong hoạt động thi hành án dân sự, quản lý thi hành án hành chính, đôn đốc thi hành án hành chính; 2 Sinh viên: Đào Thị Lan Anh b) Chế độ thống kê và báo cáo về thi hành án dân sự, quản lý thi hành án hành chính, đôn đốc thi hành án hành chính; c) Việc thu, chi tiền, giao, nhận tài sản trong thi hành án dân sự; việc thu, nộp các khoản phí, lệ phí và chi phí tổ chức cưỡng chế thi hành án dân sự; d) Các hoạt động khác liên quan đến công tác thi hành án dân sự và công tác quản lý về thi hành án hành chính theo quy định của pháp luật 6 Giải quyết khiếu nại, tố cáo; xử lý theo thẩm quyền hoặc kiến nghị cấp có thẩm quyền xử lý theo quy định của pháp luật đối với hành vi vi phạm pháp luật thi hành án dân sự, quản lý thi hành án hành chính, đôn đốc thi hành án hành chính; phòng, chống tham nhũng, tiêu cực và thực hành tiết kiệm, chống lãng phí trong thi hành án dân sự, quản lý thi hành án hành chính, đôn đốc thi hành án hành chính theo quy định của pháp luật 7 Thực hiện công tác phòng ngừa tội phạm trong thi hành án dân sự, quản lý thi hành án hành chính 8 Theo dõi tình hình thi hành pháp luật trong lĩnh vực thi hành án dân sự và thi hành án hành chính 9 Theo dõi việc thực hiện kháng nghị, kiến nghị của Viện Kiểm sát nhân dân liên quan đến hoạt động thi hành án dân sự, đôn đốc thi hành, án hành chính Trả lời kháng nghị, kiến nghị của Viện Kiểm sát nhân dân theo quy định 10 Thực hiện kế hoạch, chương trình, đề án, dự án hợp tác quốc tế về thi hành án dân sự và thi hành án hành chính theo quy định của pháp luật và phân cấp của Bộ trưởng Bộ Tư pháp; đánh giá kết quả về hợp tác quốc tế trong công tác thi hành án dân sự và thi hành án hành chính 11 Phối hợp với cơ quan liên quan thực hiện thanh tra về quản lý thi hành án dân sự, quản lý thi hành án hành chính và xử lý hành vi không chấp hành án theo quy định của pháp luật 12 Giúp Bộ trưởng Bộ Tư pháp phối hợp với Bộ trưởng Bộ Quốc phòng quản lý nhà nước về thi hành án dân sự trong quân đội, 3 Sinh viên: Đào Thị Lan Anh 13 Tổ chức nghiên cứu, quản lý, ứng dụng tiến bộ khoa học, công nghệ thông tin vào hoạt động của cơ quan thi hành án dân sự; hiện đại hóa cơ sở vật chất kỹ thuật của các cơ quan thi hành án dân sự 14 Thống kê, xây dựng cơ sở dữ liệu về thi hành án dân sự và thi hành án hành chính 15 Quản lý tổ chức bộ máy, vị trí việc làm, biên chế công chức, số lượng người làm việc trong đơn vị thuộc Tổng cục Thi hành án dân sự; thực hiện chế độ tiền lương, chính sách đãi ngộ; bổ nhiệm, bổ nhiệm lại, luân chuyển, điều động, miễn nhiệm, từ chức, biệt phái, nghỉ hưu, thôi việc; khen thưởng, kỷ luật; đào tạo, bồi dưỡng về chuyên môn, nghiệp vụ đối với công chức, viên chức thuộc thẩm quyền quản lý của Tổng cục Thi hành án dân sự theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ Tư pháp 16 Quản lý, thực hiện phân bổ kinh phí, bảo đảm cơ sở vật chất - kỹ thuật, phương tiện hoạt động của các cơ quan thi hành án dân sự theo quy định của pháp luật và phân cấp của Bộ trưởng Bộ Tư pháp 17 Quản lý khoản thu phí do cơ quan thi hành án dân sự nộp cho Tổng cục Thi hành án dân sự để thực hiện việc điều hòa phí thi hành án và sử dụng theo quy định của pháp luật 18 Tổ chức và quản lý công tác thi đua - khen thưởng của hệ thống các cơ quan thi hành án dân sự, các tổ chức, cá nhân khác có thành tích xuất sắc trong công tác thi hành án dân sự, quản lý thi hành án hành chính, đôn đốc thi hành án hành chính theo quy định của pháp luật và phân cấp của Bộ trưởng Bộ Tư pháp 19 Thực hiện các quy định về bồi thường nhà nước trong thi hành án dân sự, đôn đốc thi hành án hành chính theo quy định của pháp luật 20 Thực hiện nhiệm vụ cải cách hành chính, cải cách tư pháp theo mục tiêu và nội dung chương trình cải cách hành chính, cải cách tư pháp được cấp có thẩm quyền phê duyệt 4 Sinh viên: Đào Thị Lan Anh 21 Thực hiện các nhiệm vụ, quyền hạn khác do Bộ trưởng Bộ Tư pháp giao và theo quy định của pháp luật 1.2 Mô tả hoạt động quản lý công văn Các chức năng trong Quản lý Văn bản đến STT Chức năng Mô tả 1 - Thêm mới văn bản đến Vào sổ văn bản đến Đối tượng sử dụng Văn thư - Chỉnh sửa văn bản đến - Sao chép văn bản đến - Xóa văn bản đến 2 3 Tra cứu văn bản đến - Vào sổ văn bản đến - Tra cứu văn bản đến Văn thư Báo cáo văn bản đến - Xem danh sách xử lý - Báo cáo tổng hợp văn bản đến Văn thư - Báo cáo theo dõi GQ văn bản đến - In sổ văn bản đến Các chức năng trong Quản lý Văn bản đi STT Chức năng 1 Vào sổ văn bản đi Mô tả - Thêm mới văn bản đi Đối tượng sử dụng Văn thư - Chỉnh sửa văn bản đi - Sao chép văn bản đi 3 4 Tra cứu văn bản đi - Xóa văn bản đi - Tra cứu văn bản đi Văn thư Báo cáo và In sổ - Xem chi tiết văn bản - In sổ văn bản đi Văn thư - Báo cáo tổng hợp văn bản đi - Báo cáo theo loại văn bản 5 Sinh viên: Đào Thị Lan Anh 3.3 CÔNG CỤ ĐỂ CÀI ĐẶT CHƯƠNG TRÌNH 3.3.1 Hệ quản trị cơ sở dữ liệu Giới thiệu về hệ quản trị cơ sở dữ liệu SQL Server 2008 Hệ quản trị cơ sở dữ liệu là website hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL) Có rất nhiều loại hệ quản trị CSDL khác nhau: từ website nhỏ chạy trên internet cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu internet, tùy từng yêu cầu cụ thể, ta sẽ sử dụng các công cụ khác nhau Dưới đây là một số hệ quản trị cơ sở dữ liệu thông dụng hiện nay - MS Access - SQL Server (của hãng Microsoft) - Oracle (của hãng Oracle) Sau khi nghiên cứu và đánh giá thực trạng của công ty em quyết định chọn hệ quản trị cơ sở dữ liệu SQL Server 2008 (của hãng Microsoft) để thực hiện xây dựng cơ sở dữ liệu cho hệ thống của mình SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là một loại ngôn ngữ internet phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ Nó là một tiêu chuẩn ANSI/ISO Đồng thời SQL Server còn là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System- RDBMS) sử dụng các lệnh chuyển Transaction-SQL để trao đổi dữ liệu giữa Client Computer và Server Computer SQL Server có một số đặc tính sau: - Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ liệu nhanh, đáp ứng yêu cầu về thời gian; Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh - 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 và toàn bộ quản trị CSDL (lên đến vài chục ngàn 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 vệ độ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 đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML, ); - Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle là PL/SQL) Hơn nữa, công cụ SQL server cũng có tính tương thích và hỗ trợ cao với công cụ lập trình mà em sử dụng là C# Với công cụ SQL Server, ta dùng website SQL Server 2008 của Microsoft với các tính năng khá đầy đủ, tương thích với hệ điều hành tốt 2.1.2 Một số bước xây dựng cơ sở dữ liệu Các câu lệnh thao tác dữ liệu trong SQL không những chỉ sử dụng để truy vấn dữ liệu mà còn để thay đổi và cập nhật dữ liệu trong cơ sở dữ liệu Thêm dữ liệu: Dữ liệu trong các bảng được thể hiện dưới dạng các dòng (bản ghi) Để bổ sung thêm các dòng dữ liệu vào một bảng, ta sử dụng câu lệnh INSERT Hầu hết các hệ quản trị CSDL dựa trên SQL cung cấp các cách dưới đây để thực hiện thao tác thêm dữ liệu cho bảng: Thêm từng dòng dữ liệu với mỗi câu lệnh INSERT Đây là các sử dụng thường gặp nhất trong giao tác SQL Thêm nhiều dòng dữ liệu bằng cách truy xuất dữ liệu từ các bảng dữ liệu khác - Thêm từng dòng dữ liệu: Để bổ sung một dòng dữ liệu mới vào bảng, ta sử dụng câu lệnh INSERT với cú pháp như sau: INSERT INTO tên_bảng[(danh_nhạc cụ _cột)] VALUES(danh_nhạc cụ _trị) Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh Trong câu lệnh INSERT, danh nhạc cụ cột ngay sau tên bảng không cần thiết phải chỉ định nếu giá trị các trường của bản ghi mới được chỉ định đầy đủ trong danh nhạc cụ trị Trong trường hợp này, thứ tự các giá trị trong danh nhạc cụ trị phải bằng với số lượng các trường của bảng cần bổ sung dữ liệu cũng như phải tuân theo đúng thứ tự của các trường như khi bảng được định nghĩa Trong trường hợp chỉ nhập giá trị cho một số cột trong bảng, ta phải chỉ định danh nhạc cụ các cột cần nhập dữ liệu ngay sau tên bảng Khi đó, các cột không được nhập dữ liệu sẽ nhận giá trị mặc định (nếu có) hoặc nhận giá trị NULL (nếu cột cho phép chấp nhận giá trị NULL) Nếu một cột không có giá trị mặc định và không chấp nhận giá trị NULL mà không đuợc nhập dữ liệu, câu lệnh sẽ bị lỗi - Thêm một tập các dòng dữ liệu vào bảng: Một cách sử dụng khác của câu lệnh INSERT được sử dụng để bổ sung nhiều dòng dữ liệu vào một bảng, các dòng DL này được lấy từ một bảng khác thông qua câu lệnh SELECT cách này, các giá trị dữ liệu được bổ sung vào bảng không được chỉ định tường minh mà thay vào đó là một câu lệnh SELECT truy vấn dữ liệu từ bảng khác Cú pháp câu lệnh INSERT có dạng như sau: INSERT INTO tên_bảng[(danh_nhạc cụ _cột)] câu_lệnh_SELECT Cập nhật dữ liệu Câu lệnh UPDATE trong SQL được sử dụngđể cập nhật dữ liệu trong các bảng Câu lệnh này có cú pháp như sau: UPDATE tên_bảng SET tên_cột = biểu_thức [, , tên_cột_k = biểu_thức_k] [FROM danh_nhạc cụ _bảng] [WHERE điều_kiện] Sau UPDATE là tên của bảng cần cập nhật dữ liệu Một câu lệnh UPDATE có thể cập nhật dữ liệu cho nhiều cột bằng cách chỉ định các danh nhạc cụ tên cột và biểu Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh thức tương ứng sau từ khoá SET Mệnh đề WHERE trong câu lệnh UPDATE được sử dụng để chỉ định các dòng dữ liệu chịu tác động của câu lệnh (nếu không chỉ định, phạm vi tác động của câu lệnh được hiểu là toàn bộ các dòng trong bảng) Xóa dữ liệu Để xoá dữ liệu trong một bảng, ta sử dụng câu lệnh DELETE Cú pháp của câu lệnh này như sau: DELETE FROM tên_bảng [FROM danh_nhạc cụ _bảng] [WHERE điều_kiện] Trong câu lệnh này, tên của bảng cần xoá dữ liệu được chỉ định sau DELETE FROM Mệnh đề WHERE trong câu lệnh được sử dụng để chỉ định điều kiện đối với các dòng dữ liệu cần xoá Nếu câu lệnh DELETE không có mệnh đề WHERE thì toàn bộ các dòng dữ liệu trong bảng đều bị xoá - Xoá dữ liệu khi điều kiện liên quan đến nhiều bảng: Nếu điều kiện trong câu lệnh DELETE liên quan đến các bảng không phải là bảng cần xóa dữ liệu, ta phải sử dụng thêm mệnh đề FROM và sau đó là danh nhạc cụ tên các bảng đó Trong trường hợp này, trong mệnh đề WHERE ta chỉ định thêm điều kiện nối - Sử dụng truy vấn con trong câu lệnh DELETE 2.1.3 Các thành phần Mỗi CSDL có các đối tượng sau: Table: là đối tượng chính của cơ sở dữ liệu lưu trữ dữ liệu cần quản lý Mỗi table có một hay nhiều Field Mỗi Field ứng với một loại dữ liệu cần lưu trữ Table còn có các thành phần liên quan như: Constraint (Ràng buộc): là các chỉ định rành buộc dữ liệu trong bảng hoặc các bảng khác nhau theo một quy tắc nào đó Triggers (Bẫy lỗi): thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong Table như Insert, Update, Delete Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh Indexs (Chỉ mục): Hỗ trợ việc sắp xếp và tìm kiếm nhanh các thông tin trên Table Diagram(Sơ đồ quan hệ): Thể hiện mối quan hệ dữ liệu giữa các Table với nhau Views (Khung nhìn hay table ảo):Là đối tượng dùng hiển thị dữ liệu được rút trích, tính toán từ các Table theo nhu cầu của người dùng Stored Procedure (Thủ tục nội): Chứa các lệnh T-SQL dùng thực hiện một số tác vụ nào đó Stored Procedure có thể nhận và truyền tham số, được biên dịch trước, do đó thời gian thực hiện nhanh khi được gọi Có nhiều Stored Procedure hệ thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu nhập thông tin từ các bảng hệ thống và rất có ích cho việc quản trị cơ sở dữ liệu Users: Chứa danh nhạc cụ User sử dụng cơ sở dữ liệu Người quản trị hệ thống cao nhất có User Name là bdo, tên đăng nhập (Login Name) hệ thống mặc định là sa Tài khoản sa luôn tồn tại và không thể bỏ đi Roles: Các quy định vai trò và chức năng của User trong hệ thống SQL Server Rules: Các qui tắc ràng buộc dữ liệu được lưu trữ trên Table Defaults: Các khai báo giá trị mặc định User Defined Data Table: Kiểu dữ liệu do người dùng tự định nghĩa 2.1.4 Các hàm thông dụng trong SQL Server Trong SQL server có 2 loại hàm: một loại là được xây dựng sẵn trong SQL Server (built-in) và một loại do người dùng tự định nghĩa (user-defined) Các hàm Built-In được chia làm 3 nhóm: Rowset Functions : Loại này thường trả về một object và được đối xử như một table Ví Dụ : Thực hiện các lệnh UPDATE, INSERT, DELETE thông qua truy vấn: “UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen'” “INSERT INTO Persons VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')” “DELETE FROM Person WHERE LastName = 'Rasmussen'” Aggregate Functions : Loại này làm việc trên một số giá trị và trả về một giá trị đơn hay là các giá trị tổng Ví dụ:các hàm tính toán: AVG() Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh - Hàm AVG trả về giá trị trung bình tính theo cột được chỉ định của các dòng được chọn Các giá trị NULL sẽ không được xét đến khi tính giá trị trung bình - Ví dụ: Tính số tuổi trung bình của những người có tuổi trên 20 SELECT AVG(Age) FROM Persons WHERE Age > 20 COUNT():Trả về số lượng các mục trong một nhóm MAX() - Hàm MAX trả về giá trị lớn nhất trong cột Các giá trị NULL sẽ không được xét đến - Ví dụ: SELECT MAX(Age) FROM Persons - Kết quả trả về: 45 MIN() - Hàm MAX trả về giá trị nhỏ nhất trong cột Các giá trị NULL sẽ không được xét đến - Ví dụ: SELECT MIN(Age) FROM Persons - Kết quả trả về: 19 SUM() - Hàm SUM trả về tổng giá trị của cột Các giá trị NULL sẽ không được xét đến - Ví dụ:Tìm tổng số tuổi của tất cả những người có trong bảng: SELECT SUM(Age) FROM Persons - Kết quả trả về: 98 - Ví dụ:Tìm tổng số tuổi của tất cả những người có tuổi lớn hơn 20: SELECT SUM(Age) FROM Persons WHERE Age > 20 - Kết quả trả về: 79 Scalar Functions : Loại này làm việc trên một giá trị đơn và trả về một giá trị đơn Trong loại này lại chia làm nhiều loại nhỏ như các hàm về toán học, về thời gian, xử lý kiểu dữ liệu String,…Ví dụ: MONTH('2002-09-30'): Trả về tháng 9 DAYOFMONTH(date): Trả về số ngày trong tháng Ascii(str): Trả về giá trị ASCII của ký tự đầu tiên trong chuỗi str Char(int): Chuyển đổi một giá trị Ascii sang ký tự LEFT(str,n): Trả về n ký tự, bắt đầu từ vị trí đầu tiên của chuỗi str LEN(str): Trả về số ký tự của, trừ khoảng trắng cuỗi chuỗi str Các hàm User-Defined (được tạo ra bởi câu lệnh CREATE FUNCTION và phần body thường được gói trong cặp lệnh BEGIN END) cũng được chia làm các nhóm như sau: Scalar Functions: Loại này cũng trả về một giá trị đơn bằng câu lệnh RETURNS Ví dụ : chuyển số hệ thập phân sang nhị phân: CREATE FUNCTION [dbo].[udf_bin_me] (@decNumber int) Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh RETURNS varchar(200) as BEGIN DECLARE @BinNumber VARCHAR(200) SET @BinNumber = '' '' WHILE @decNumber 0 BEGIN SET @BinNumber = SUBSTRING('0123456789', (@decNumber % 2) + 1,1) + @BinNumber SET @decNumber = @decNumber / 2 END RETURN @BinNumber END Table Functions : Loại này trả về một table Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh 2.1.5 Các kiểu dữ liệu trong SQL Server 2.2 Ngôn ngữ lập trình Lập trình hướng đối tượng Lập trình hướng đối tượng (gọi tắt là OOP-Object Oriented Programming), là kĩ thuật lập trình hỗ trợ công nghệ đối tượng OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng website bằng cách cho phép lập trình viên tập trung vào các đối tượng website ở bậc cao hơn Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối tượng vật lý Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng được nhìn nhận như là một đơn vị duy nhất Mỗi đối tượng có một tên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường 2.2.2 Giới thiệu về ngông ngữ trình C# Để xây dựng website quản lý, ngoài hệ quản trị cơ sở dữ liệu SQL Server 2008, tác giả còn sử dụng công cụ lập trình C# để xây dựng website Sau khi đánh giá và so sánh ưu nhược điểm của từng ngôn ngữ, tác giả lựa chọn sử dụng ngôn ngữ C# để xây dựng code nguồn chương trình C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch NET của họ Microsoft phát triển C# dựa trên C+ + và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư website nổi tiếng với các dự án website Turbo Pascal, Delphi, J++, WFC C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến NET Framework mà tất cả các chương trình NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác GarbageCollector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của NET runtime Ưu điểm C# được kế thừa những ưu điểm của C/C++, bỏ đi những dư thừa không cần thiết gây khó khăn cho người dùng - Câu lệnh C# đơn giản, ít từ khóa - Tính năng debug rất thuận tiện - Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm của các ngôn ngữ lập trình hướng đối tượng Java và C++ Do đó ngôn ngữ C# đang được ưa chuộng nhất - Ngôn ngữ C# là cơ sở để phát triển các ứng dụng Windows form, ASP.NET, Web service,… - Hỗ trợ nhiều thư viện hàn có sẵn giúp cho người lập trình lấy hàm dễ dàng và thuận tiện Nhược điểm C# chỉ có thể chạy trên nền Windows và NET Framework Vì vậy nó hạn chế phạm vi các ứng dụng của C# Đó là nhược điểm lớn nhất của C# với các ngôn ngữ khác 2.2.3 Một số lệnh và hàm thường dùng Hàm khởi tạo Hàm khởi tạo (Constructor) làm một phương thức đặc biệt dùng để tạo ra đối tượng của một lớp Đặc điểm của hàm khởi tạo: - Trùng với tên của lớp - Không trả về kiểu dữ liệu - Có đối số hoặc không có đối số - Nếu không viết phương thức khởi tạo, trình biên dịch cung cấp một phương thức khởi tạo mặc định để khởi tạo đối tượng Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh - Khởi tạo các trường (field) của lớp bằng 0 hoặc false hoặc null tùy theo kiểu dữ liệu của field Hàm khởi tạo tĩnh - Hàm khởi tạo tĩnh(static constructor) được tự động thực thi để khởi tạo các các biến tĩnh (class variable) - Static constructor được thực thi trước khi bất kỳ một đối tượng nào của lớp được khởi tạo - Static constructor được thực thi trước khi một static variable hay static method nào của lớp được gọi - Static constructor chỉ được gọi một lần duy nhất - Static constructor không chứa bất kỳ tham số nào - Không sử dụng con trỏ this trong static constructor Hàm hủy Mỗi đối tượng khi được tạo ra sẽ được cấp phát một vùng nhớ nào đó, do vùng nhớ là có hạn nên cần thiết phải giải phóng các đối tượng không dùng nữa để giành bộ nhớ các các đối tượng khác Phương thức hủy (Desconstructor) là phương thức dùng để giải phóng vùng nhớ của một đối tượng Nó có các đặc điểm sau: - Đây là phương thức đặc biệt được tự động gọi để giải phóng vùng nhớ của đối tượng khi đối tượng không được sử dụng - Mỗi một lớp chỉ có duy nhất một phương thức hủy - Phương thức hủy không thể kế thừa và không thể gọi một cách tường minh - Trùng với tên của lớp và thêm ký tự “ ~” đằng trước tên phương thức hủy 2.2.4 Kiểu dữ liệu trong C# Kiểu dữ liệu (data type) là một tập hợp gồm các nhóm loại dữ liệu có cùng đặc tính, cách lưu trữ của dữ liệu và cách thao tác xử lý trên trường dữ liệu đó; nhằm mục đích phân loại các loại dữ liệu.Trong C#, một biến (variable) khi khởi tạo lên đã được chỉ định một kiểu dữ liệu xác định cho nó Các kiểu dữ liệu trong C# C# chia thành hai tập hợp kiểu dữ liệu chính: - Kiểu xây dựng sẵn mà ngôn ngữ cung cấp cho người lập trình - Kiểu được người dùng định nghĩa do người lập trình tạo ra C# phân tập hợp kiểu dữ liệu này thành hai loại: Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh - Kiểu dữ liệu giá trị (value): Một biến (variable) khi được khai báo với kiểu dữ liệu tham trị thì vùng nhớ của nó sẽ chứa giá trị của dữ liệu Danh nhạc cụ kiểu dữ liệu tham trị: bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, uint, ulong, ushort - Kiểu dữ liệu tham chiếu (reference): Khác với kiểu dữ liệu tham trị, kiểu dữ liệu tham chiếu chỉ lưu trữ địa chỉ tham chiếu tới vùng nhớ chứa giá trị thật sự Bạn có thể chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác qua việc boxing và unboxing Các kiểu dữ liệu xây dựng sẵn: - Object: kiểu dữ liệu cơ bản của tất cả các kiểu khác String: Được sử dụng để lưu trữ những giá trị kiểu chữ cho biến Int: Sử dụng để lưu trữ giá trị kiểu số nguyên Byte: Sử dụng để lưu trữ giá byte Float: Sử dụng để lưu trữ giá trị số thực Bool: Cho phép một biến lưu trữ giá trị đúng hoặc sai Char: Cho phép một biến lưu trữ một ký tự Decimal: Kiểu dữ liệu tiền tệ Tất cả các kiểu dữ liệu xây dựng sẵn là kiểu dữ liệu giá trị ngoại trừ các đối tượng và chuỗi Và tất cả các kiểu do người dùng định nghĩa ngoại trừ kiểu struct đều là kiểu dữ liệu tham chiếu Biến và Hằng - Biến Một biến là một vùng lưu trữ với một kiểu dữ liệu Để tạo một biến chúng ta phải khai báo kiểu của biến và gán cho biến một tên duy nhất Biến có thể được khởi tạo giá trị ngay khi được khai báo, hay nó cũng có thể được gán một giá trị mới vào bất cứ lúc nào trong chương trình Các biến trong C# được khai báo theo công thức như sau: AccessModifier DataType VariableName; Trong đó: AccessModifier: xác định ưu tiên truy xuất tới biến Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh Datatype: định nghĩa kiểu lưu trữ dữ liệu của biến VariableName: là tên biến Cấp độ truy xuất tới biến được mô tả như bảng dưới đây: Ví dụ bạn khai báo một biến kiểu int: int bien1 ; Bạn có thể khởi gán ngay cho biến đó trong lúc khai báo: int bien1 = 9 ; Hoặc có thể gán giá trị sau khi khai báo như sau: int bien1 ; bien1 = 9; Cách khai báo biến tương ứng với các kiểu dữ liệu: object: object obj = null; string: string str = ”Welcome”; int: int ival = 12; byte: byte val = 12; float: float val = 1.23F; bool: bool val1 = false; char: char cval = ’a’; - Hằng Hằng cũng là một biến nhưng giá trị của hằng không thay đổi Biến là công cụ rất mạnh, tuy nhiên khi làm việc với một giá trị được định nghĩa là không thay đổi, ta phải đảm bảo giá trị của nó không được thay đổi trong suốt chương trình Ví dụ, khi lập một chương trình thí nghiệm hóa học liên quan đến nhiệt độ sôi, hay nhiệt độ đông của nước, chương trình cần khai báo hai biến là DoSoi và DoDong, nhưng không cho phép giá trị của hai biến này bị thay đổi hay bị gán Hằng được phân thành ba loại: Giá trị hằng (literal) Biểu tượng hằng (symbolic constants) Kiểu liệu kê (enumerations) Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh 2.3 Tool hỗ trợ lập trình DotNetBar Suite cho Windows Forms là hộp công cụ gồm 87 thành phần tuyệt vời cho việc tạo ra giao diện người dùng chuyên nghiệp một cách dễ dàng bằng cách sử dụng Visual Studio 2005 đến năm 2013 Trong hơn 10 năm DotNetBar đang giúp các nhà phát triển như bạn tạo kiểu dáng đẹp hình thức chuyên nghiệp Windows (WinForms) giao diện người dùng một cách dễ dàng chưa từng có DotNetBar là thành phần đầu tiên của thế giới để giới thiệu đầy đủ tính năng Office 2013 , Office 2010 , Windows 7 và Office 2007 điều khiển Ribbon phong cách, đầu tiên cung cấp hỗ trợ đầy đủ Theme Windows XP,… Giáo viên hướng dẫn: Hà Mạnh Đào Sinh viên: Đào Thị Lan Anh Công cụ TreeGX trong DotNetBar giúp kiểm soát dữ liệu phân cấp mới một cách trực quan hấp dẫn với TreeGX Bạn có thể hình dung cây quyết định, phân cấp , tạo ra bản đồ tâm trí hoặc chụp và tổ chức ý tưởng, tất cả mọi thứ trong ứng dụng của bạn sử dụng TreeGX DotNetBar là thành phần đầu tiên giới thiệu các điều khiển giao diện người dùng Metro, thanh công cụ, thanh trượt, hình thức,… hoàn toàn tự động với chủ đề màu sắc không giới hạn, làm cho các ứng dụng sử dụng giao diện người dùng theo phong cách mới nhất hiện nay: Office 2013 , Office 2010, Windows 7 và Office 2007 Ribbon, Backstage ứng dụng Menu, hỗ trợ Windows Vista Glass, nhóm tab, menu, KeyTips đa cấp, hoàn chỉnh Quick Access Toolbar (QAT) tùy biến và hỗ trợ đầy đủ cho Ribbon đơn Tabs Giáo viên hướng dẫn: Hà Mạnh Đào