1. Trang chủ
  2. » Công Nghệ Thông Tin

Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa

61 590 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 1,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới thầy giáo TS. Nguyễn Hải Minh đã tận tình hướng dẫn, cho em những định hướng và giúp em hoàn thành tốt đề tài thực tập tốt nghiệp này. Em chân thành cảm ơn tất cả các thầy cô trong Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Thái Nguyên đã nhiệt tình giảng dạy và giúp đỡ em trong quá trình học tập tại trường. Một lần nữa em xin chúc thầy Nguyễn Hải Minh, cùng gia đình thầy sức khỏe dồi dào, thành đạt và hạnh phúc. Em chúc thầy công tác tốt. Vì lượng kiến thức và thời gian có hạn, mặc dù có nhiều cố gắng nhưng bài thực tập tốt nghiệp của em không tránh khỏi những khiếm khuyết, sai sót. Rất mong nhận được sự nhận xét, ý kiến đóng góp của các thầy, cô và các bạn . Thái Nguyên, ngày… tháng 03 năm 2016 Sinh viên Ly A Vừ MỤC LỤC LỜI CẢM ƠN 1 MỤC LỤC 2 LỜI NÓI ĐẦU 4 CHƯƠNG 1: GIỚI THIỆU CHUNG 6 1.1 Vai trò của công nghệ thông tin trong đời sống sản xuất 6 1.2 Giới thiệu bệnh viện trường đại học y khoa 9 1.2.1 Lịch sử phát triển bệnh viện 9 1.2.2 Chức năng, nhiệm vụ 9 1.2.3 Thành tích đạt được 9 1.2.4 Cơ cấu tổ chức bệnh viện 10 1.3 Bài toán quản lý bệnh nhân tại bệnh viện 10 1.4 Hướng phát triển của bài toán quản lý bệnh viện 11 CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 12 2.1 Giới thiệu ngôn ngữ lập trình visual studio 2012 express 12 2.1.1 Nền tảng của .NET 15 2.1.2 .NET Framework 16 2.1.3 Biên dịch và ngôn ngữ trung gian (MSIL) 18 2.1.4 Ngôn ngữ C 18 2.2 Giới Thiệu SQL Server 2005 19 2.2.1 Cài đặt SQL Server 2005 Express Edition 20 2.3 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ 22 2.3.1 Vai trò của SQL 23 2.3.2 Các kiểu dữ liệu 24 2.3.3 Biến (Variables) 25 2.3.4 Hàm (Function) 25 2.3.5 Các toán tử (Operators) 26 2.4 Ngôn ngữ định nghĩa dữ liệu – DDL 26 2.4.1 Tạo bảng 26 2.4.2 Các loại ràng buộc 27 2.5 Thủ tục lưu trữ, hàm và trigger 29 2.5.1 Thủ tục lưu trữ (Stored procedure) 29 2.5.2 Lời gọi thủ tục 31 2.5.3 Hàm do người dùng định nghĩa (User Defined FunctionUDF) 32 2.6 Trigger 33 2.6.1 Các đặc điểm của trigger 33 2.6.2 Các trường hợp sử dụng trigger 34 2.6.3 Khả năng sau của trigger 34 2.6.4 Định nghĩa trigger 34 2.6.5 Kích hoạt trigger dựa trên sự thay đổi dữ liệu trên cột 35 2.6.6 Sử dụng trigger và Giao tác (TRANSACTION) 36 2.7 DDL TRIGGER 36 CHƯƠNG 3: QUY TRÌNH TÍNH BÀI TOÁN QUẢN LÝ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 37 3.1 Biểu đồ phân cấp chức năng 37 3.1.1 Biểu đồ phân cấp chức năng là gì? 37 3.1.2 Đặc điểm của biểu đồ phân cấp chức năng: 37 3.2 Phân tích và thiết kế hệ thống thông tin 38 3.2.1 Mô hình quan hệ dữ liệu 38 3.2.2 Mô hình tổ chức dữ liệu 39 3.2.3 Mô hình vật lý dữ liệu 39 3.3 Cài đặt chương trình 41 3.3.1 Mã Form nhập dữ liệu cho bệnh nhân 41 3.3.2 Kết quả 52 3.3.3 Mã Form xử lý sau khám 52 3.3.4 Kết quả 57 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 60 DANH MỤC HÌNH ẢNH Hình 2.1. Trang khởi động VB2012 12 Hình 2.2. Trang New Project 13 Hình 2.3. Màn hình làm việc VB2012 14 Hình 2.4. Giao diện Toolbox 15 Hình 2.5 Kiến trúc khung ứng dụng .Net 17 LỜI NÓI ĐẦU Ngày nay với sự phát triển vượt bậc của khoa học công nghệ thì công nghệ thông tin là một trong những lĩnh vực có nhiều đóng góp tích cực nhất, thiết thực nhất. Công nghệ thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống đặc biệt công nghệ thông tin là một công cụ đắc lực trong công tác quản lý. Chúng ta dễ dàng thấy được việc đưa tin học vào trong công tác quản lý kinh doanh là một trong những ứng dụng quan trọng nhất trong rất nhiều ứng dụng cơ sở dữ liệu. nhờ vào công tác tin học hoá mà công việc quản lý và điều hành doanh nghiệp tỏ ra rất nhanh chóng và hiệu quả. Chính với lẽ đó mà cơ sở dữ liệu như là một giải pháp hữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển một cách nhanh chóng. Cũng giống như các cơ sở kinh doanh bệnh viện cũng là một nơi có nhu cầu cao trong việc ứng dụng cơ sở dữ liệu. Thật vậy ứng dụng cơ sở dữ kiệu trong việc quản lý bệnh nhân và cán bộ trong viện là một việc hết sức thiết thực. Vì vậy mà em chọn đề tài nghiên cứu và phát triển hệ thông tin bện viện làm đề tài tốt nghiệp. Hệ thống được phân tích, thiết kế và cài đặt trên môi trường visual studio 2012 express, thiết kế dữ liệu trên hệ quản trị cơ sở dữ liệu sql server 2005. Nội dung đề tài được trình bày bao gồm các phần sau: Chương 1: Giới thiệu chung Chương 2: Ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu Chương 3: Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học Y Khoa CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Vai trò của công nghệ thông tin trong đời sống sản xuất Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của CNTT. CNTT đã ở một bước phát triển cao, đó là số hóa tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau. Mọi loại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về dạng kỹ thuật số để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp cho nhiều người. Những công cụ và sự kết nối của thời đại kỹ thuật số cho phép chúng ta dễ dàng thu thập, chia sẻ thông tin và hành động trên cơ sở những thông tin này theo phương thức hoàn toàn mới, kéo theo hàng loạt sự thay đổi về các quan niệm, các tập tục, các thói quen truyền thống, và thậm chí cả cách nhìn các giá trị trong cuộc sống. CNTT đến với từng người dân, từng người quản lý, nhà khoa học, người nông dân, bà nội trợ, học sinh tiểu học….Không có lĩnh vực nào, không có nơi nào không có mặt của CNTT. Công nghệ thông tin là một trong các động lực quan trọng nhất của sự phát triển…ứng dụng và phát triển công nghệ thông tin ở nước ta nhằm góp phần giải phóng sức mạnh vật chất, trí tuệ và tinh thần của toàn dân tộc, thúc đẩy công cuộc đổi mới, phát triển nhanh và hiện đại hoá các ngành kinh tế, tăng cường năng lực cạnh tranh của các doanh nghiệp, hỗ trợ có hiệu quả cho quá trình hội nhập kinh tế quốc tế, nâng cao chất lượng cuộc sống của nhân dân, đảm bảo an ninh quốc phòng và tạo khả năng đi tắt đón đầu để thực hiện thắng lợi sự nghiệp CNH,HĐH. (CT số 58CTTW ngày 17 10 2000 của BCT khoá VIII). Tác động của CNTT đối với xã hội loài người vô cùng to lớn, nó không chỉ thúc đẩy nhanh quá trình tăng trưởng kinh tế, mà còn kéo theo sự biến đổi trong phương thức sáng tạo của cải, trong lối sống và tư duy của con người Trong nền kinh tế tri thức, các quy trình sản xuất đều được tự động hoá. Máy móc không chỉ thay thế con người những công việc nặng nhọc, mà thay thế con người ở những khâu phức tạp của sản xuất và quản lý, không chỉ thay thế thao tác lao động của con người mà cả thao tác tư duy. Trong nền kinh tế toàn cầu, với sự phát triển của internet, thương mại điện tử đang trở thành một lĩnh vực phát triển rất mạnh mẽ, nó thúc đẩy các ngành sản xuất dịch vụ trên phạm vi toàn thế giới, và đặc biệt quan trọng với các nước đang phát triển, nhất là đối với vùng xa xôi hẻo lánh, các nước và các vùng này có cơ hội tiếp cận thị trường quốc tế. Công nghệ thông tin là chiếc chìa khoá để mở cánh cổng vào nền kinh tế tri thức. Mạng thông tin là môi trường lý tưởng cho sự sáng tạo, là phương tiện quan trọng để quảng bá và nhân rộng nhanh vốn tri thức, động lực của sự phát triển, thúc đẩy phát triển dân chủ trong xã hội, phát triển năng lực của con người…CNTT sẽ nhanh chóng thay đổi thế giới một cách mạnh mẽ, sự chuyển đổi này có vị thế trong lịch sử như một cuộc cách mạng kinh tế xã hội và có ảnh hưởng to lớn đến đời sống con người. Đối với y tế, việc ứng dụng những tiến bộ của khoa học kỹ thuật và CNTT đã trở thành một hình thức phổ biến có tác dụng hỗ trợ kịp thời và thiết thực trong việc chữa bệnh cho nhân dân. Ví dụ, hiện nay đã dùng công nghệ siêu âm 3D (ba chiều), hoặc các bác sĩ có thể hội chẩn từ xa (thậm chí từ nhiều nước khác nhau trên thế giới). Sử dụng CNTT để hỗ trợ về mặt kỹ thuật và phương pháp điều trị cho những vùng xa trung tâm y tế đã mang lại giá trị to lớn về mặt tinh thần cũng như vật chất cho nhân dân. Trong lĩnh vực Giáo dục, đào tạo việc ứng dụng CNTT đã góp phần nâng cao chất lượng dạy và học ở các cấp, các bậc học, mở rộng thêm nhiều loại hình đào tạo như đào tạo từ xa, phối hợp liên kết giữa các trường, các Quốc gia với nhau đang nhằm đưa chất lượng giáo dục của nước ta ngang bằng với các nước trong khu vực và trên thế giới. Chính phủ điện tử trên cơ sở điện tử hoá các hoạt động quản lý nhà nước đang hình thành và ngày càng trở nên phổ biến. Mạng thông tin lớn và mạnh có thể nối các cơ quan quản lý với đối tượng quản lý, giúp cho quá trình ra quyết định được thực hiện nhanh chóng, kịp thời và chính xác và tiết kiệm thông qua các hoạt động giao ban trực tuyến từ Trung ương đến cơ sở theo định kỳ hoặc khi có sự vụ đột biến xảy ra.Thương mại điện tử xuất hiện, khách hàng có thể tiếp xúc và tìm hiểu mọi thông tin về công ty dễ dàng ở bất cứ nơi nào, lúc nào. công ty sẽ nhận được phản hồi của khách hàng nhanh chóng về chiến lược tiếp thị hoặc danh mục hàng hoá của các doanh nghiệp để từ đó có những thay đổi về chiến lược kinh doanh cho phù hợp với thị hiếu của thị trường. An ninh quốc phòng cũng có những thay đổi cơ bản, công nghệ thông tin đã tạo ra những thế hệ vũ khí, phương tiện chiến tranh thông minh, từ đó xuất hiện hình thái chiến tranh, phương thức tác chiến mới, làm thay đổi sâu sắc học thuyết quân sự của nhiều quốc gia. Sự phát triển của công nghệ thông tin đã làm thay đổi cơ bản cơ cấu kinh tế, phương thức tổ chức và sản xuất, cách tiếp cận của từng người tới tri thức, giải trí, phương pháp tư duy và giải quyết công việc và các mối quan hệ trong xã hội. Sáng tạo ra những giá trị mới và các việc làm mới, cuộc cách mạng này sẽ mang lại những thị trường mới và những nghề nghiệp mới với những đột phá công nghệ có tính thách thức đối với toàn thế giới. Hơn nữa, chính bản thân công nghệ thông tin đã trực tiếp tạo ra sự biến đổi lớn lao trong tất cả các lĩnh vực của đời sống xã hội loài người. Chưa bao giờ quá trình dân chủ hoá lại được mở rộng và có nhiều điều kiện để thực hiện như bây giờ. CNTT đi vào cuộc sống sẽ lan toả đến mọi nơi, mọi lĩnh vực, máy tính sẽ có mặt ở khắp mọi nơi, việc kết nối mạng cũng trở nên dễ dàng và thuận tiện nhất cho tất cả mọi người dân. Bên cạnh đó, mặt trái của công nghệ thông tin, của nền kinh tế tri thức đang đặt ra những thách thức rất lớn, đó là sự cách biệt giàu nghèo, sự phân hoá giữa một bên là các quốc gia, dân tộc biết nắm bắt và khai phá những nguồn lợi từ công nghệ thông tin, hạn chế những mặt tiêu cực mà nó đưa lại với các quốc gia dân tộc không có hoặc chưa phát triển những công nghệ đó. Vì vậy với sự phát triển như vũ bão của công nghệ thông tin hiện nay, quốc gia nào, dân tộc nào nhanh chóng nắm bắt và làm chủ được công nghệ thông tin thì sẽ khai thác được nhiều hơn, nhanh hơn lợi thế của mình. Và cũng chính từ đây nảy sinh một thách thức rất lớn đối với các nước đang phát triển như nước ta đó là làm thế nào để phát huy được thế mạnh của CNTT thúc đẩy sự phát triển của xã hội mà không mất đi văn hoá truyền thống quý báu của dân tộc. Sự nghiệp CNH,HĐH ở nước ta hiện nay tất yếu phải khai thác được những tiềm năng thế mạnh của công nghệ thông tin, thúc đẩy những ứng dụng và phát triển công nghệ thông tin, coi đó là một điều kiện cần thiết để đạt được những mục tiêu của giai đoạn đẩy mạnh CNH, HĐH đất nước. Nhận thức rõ vai trò của CNTT trong việc góp phần nâng cao hiệu quả công tác, cải cách hành chính, đổi mới phương thức, lề lối làm việc. 1.2 Giới thiệu bệnh viện trường đại học y khoa 1.2.1 Lịch sử phát triển bệnh viện Bệnh viện Trường Đại học Y khoa Đại học Thái Nguyên được Bộ Giáo dục Đào tạo ra quyết định thành lập ngày 01022007 và chính thức hoạt động từ ngày 29102007. Hiện tại bệnh viện có 06 khoa, 01 phòng. Bệnh viện có đội ngũ Bác sĩ là các giảng viên Trường Đại học Y Dược có trình độ chuyên môn sâu và đội ngũ Điều dưỡng viên chuyên nghiệp đáp ứng tốt nhiệm vụ chuyên môn được giao. Hiện tại, Bệnh viện có 78 cán bộ, trong đó có 3 bác sỹ CK II; 2 tiến sỹ; 13 thạc sỹ; 4 bác sỹ; 1 dược sỹ đại học; 4 cử nhân; 48 điều dưỡng trung cấp, dược sỹ trung học, kỹ thuật viên, kế toán; 3 công nhân. 1.2.2 Chức năng, nhiệm vụ Bệnh viện Trường Đại học Y Khoa có nhiệm vụ phục vụ công tác đào tạo, nghiên cứu khoa học cho cán bộ giảng dạy, học viên sau đại học và sinh viên trường Đại học Y Dược. Khám chữa bệnh phục vụ cho nhân dân các dân tộc thuộc các tỉnh Trung du và miền núi phía Bắc. Tiếp nhận, triển khai và chuyển giao công nghệ y sinh học tiên tiến trong khám, chẩn đoán, điều trị và phòng bệnh. 1.2.3 Thành tích đạt được Từ ngày thành lập đến hết tháng 6 năm 2013, Bệnh viện Trường Đại học Y Khoa Thái Nguyên đã khám trên 393.169 lượt bệnh nhân, điều trị nội trú trên 9.389 bệnh nhân, phẫu thuật được trên 5.675 ca (Phẫu thuật nội soi 2.042 ca), thực hiện trên 53.000 các thủ thuật và trên 409.000 lượt cận lâm sàng. Bệnh viện đã được Sở Y tế tỉnh Thái Nguyên nhiều năm đánh giá là cơ sở phẫu thuật nội soi nhiều nhất tỉnh, nhiều kỹ thuật mới, hiện đại tiên tiến được ứng dụng trong chẩn đoán và điều trị, góp phần vào sự nghiệp chăm sóc sức khỏe cho nhân dân trong khu vực. Bệnh viện đã được Bộ Y tế 2 lần tặng Bằng khen. 1.2.4 Cơ cấu tổ chức bệnh viện Ban giám đốc 1. BSCKII ThS. Nguyễn Vũ Phương 2. ThS.BSCKI. Trương Đồng Tâm 3. TS. BS. Vũ Thị Hồng Anh Trưởng các khoa phòng 1. Trưởng phòng kế hoạch tổng hợp: BSCKII.ThS Phạm Mỹ Hoài 2. Trưởng Khoa Nội – Khám bệnh: ThS.BS Hà Huy Phương 3. Trưởng Khoa Phụ Sản : TS Lê Minh Chính 4. Trưởng Khoa Ngoại – Gây mê hồi sức: BSCKII.ThS Nguyễn Công Bình 5. Trưởng Khoa Các chuyên khoa: TS Phạm Công Chính 6. Trưởng Khoa Cận lâm sàng : TS Nguyễn Thị Hoa 7. Trưởng Khoa Dược : ThS.DS Phạm Thị Tuyết Nhung 8. Điều dưỡng trưởng bệnh viện : ThS Phùng Văn Lợi Phó trưởng khoa phòng 1. Phó Trưởng phòng kế hoạch tổng hợp : ThS.BS Đinh Ngọc Thành 2. Phó Trưởng Khoa Nội – Khám bệnh : TS.BS Lưu Thị Bình 3. Phó Trưởng Khoa Cận lâm sàng: ThS.BS Hoàng Văn Tăng 1.3 Bài toán quản lý bệnh nhân tại bệnh viện Bệnh viện trường đại học y khoa là một trong những bệnh viện khám chữa bệnh của tỉnh Thái Nguyên. Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vào trong việc quản lý bệnh nhân và nhân viên của bệnh viện là một nhu cầu tất yếu. Quản lý nhân viên bệnh viện: Mỗi nhân viên của bệnh viện được quản lý các thông tin sau đây: Họ, tên, giới tính,tuổi, ngày tháng năm sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn, đơn vị công tác, chức vụ, tôn giáo. Địa chỉ quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Số nhà, (Thôn) Quản lý bệnh nhân: Khi một bệnh nhân nhập viện lần đầu tiên, bệnh viện lưu những thông tin sau: Họ, tên, tuổi, phái (giới tính), năm sinh, ngày tháng năm sinh, nghề nghiệp, địa chỉ, địa chỉ khác, phone, mobile, email. Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảo hiểm y tế. Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số thẻ bảo hiểm y tế, thời gian hiệu lực, phần trăm bảo hiểm, nơi giớithiệu, nơi đăng ký thẻ bảo hiểm y tế. Địa chỉ bệnh nhân quản lý: Tỉnh, huyện, xã. Quy trình khám chữa bệnh: Bệnh nhân đến bệnh viện để khám chữa bệnh có các trường hợp sau: Bệnh nhân đến để khám chữa các bệnh thông thường. Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tục nhập viện được tiến hành sau). Bệnh nhân là sản phụ trong trường hợp cấp cứu (thì được đưa trực tiếp đến khoa sản). 1.4 Hướng phát triển của bài toán quản lý bệnh viện Ngày nay với sự ra đời của máy tính đã làm thay đối phong cách làm việc của hầu hết các cơ quan tư nhân cũng như nhà nước. Trước kia mọi thủ tục đều phải lưu trữ trên giấy tờ do đó thực sự đây là một việc làm rất thủ công vừa tốn nhân công trong việc phải lưu lại rất nhiều hồ sơ trong công tác quản lý đồng thời với cách làm thủ công này chắc chắn chúng ta không thể nào lưu lại được hồ sơ về một loại các nhân viên cũng như là các bệnh nhân và thực sự gây khó khăn trong quá trình tìm kiếm, thống kê khi phải tự tay làm tất cả các khâu. Ngày nay với sự trợ giúp của máy tính ta có thể thực hiện tất cả các công việc đó một cách rất dễ dàng mà không phải mất nhiều công sức, làm việc với máy tính vừa đảm bảo cho ta tính chính xác cũng như sự nhanh chóng. Với hệ thống quản lý bệnh viện như vậy có thể giúp cho ta quản lý thống kê các nhân sự trong bệnh viện cũng như là thống kê các bệnh nhân một cách rất nhanh chóng không mất thời gian cũng như công sức quá nhiều. CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 2.1 Giới thiệu ngôn ngữ lập trình visual studio 2012 express Visual basic Express 2012 là phiên bản mới nhất của Visual basic được xây dựng bởi Microsoft năm 2012, nó tương tự như các phiên bản 2010 và 2008, tuy nhiên nó được thêm nhiều tính năng mới. Sự khác biệt nhất là phiên bản 2012 không còn là một phiên bản độc lập nữa mà nó được tích hợp với các ngôn ngữ lập trình khác của Microsoft như C và C++ trong một bộ sản phẩm được gọi là Visual studio 2012. Ngoài ra, Visual Basic Express 2012 bao gồm 5 bộ chương trình, đó là: Visual Studio Express 2012 for web Visual Studio Express 2012 for Windows 8 Visual Studio Express 2012 for Windows destop Visual Studio Express 2012 for Windows phone Visual Studio Team Foundation Server Express 2012 Môi trường làm việc tích hợp khi bạn chạy VB2012 giống như hình bên dưới: Hình 2.1. Trang khởi động VB2012 Để bắt đầu một dự án mới, click chuột vào New Project để mở trang New Project như hình dưới: Hình 2.2. Trang New Project Trang New Project bao gồm 3 chương trình mẫu đó là Visual basic, Visual C và Visual C++. Vì chúng ta nghiên cứu Visual Basic 2012 nên sẽ chọn Visual basic. Visual basic 2012 cho bạn 4 loại dự án để bạn có thể tạo. Nếu bạn muốn tạo ứng dụng trên Windows, chúng ta sẽ chọn Windows Forms Application. Ở dưới cùng của bảng, bạn có thể thay đổi tên mặc định của dự án từ WindowsApplication1 sang một cái tên khác mà bạn muốn, ví dụ, MyFirstProgram. Sau khi đổi tên dự án, click nút Ok để tiếp tục. Màn hình làm việc sẽ xuất hiện, nó giống như ở phiên bản 2010. Công cụ Toolbox sẽ không xuất hiện trừ khi bạn click vào thẻ Toolbox, những biểu tượng công cụ thông thường trong Toolbox sẽ xuất hiện. Hình 2.3. Màn hình làm việc VB2012 Màn hình làm việc VB2012 bao gồm một số cửa sổ: cửa sổ Form, cửa sổ Sulution Explorer và cửa sổ Properties. Nó còn bao gồm một toolbox mà bao gồm những công cụ hữu ích để bạn phát triển các chương trình VB. Toolbox giống như hình dưới: Hình 2.4. Giao diện Toolbox 2.1.1 Nền tảng của .NET Khi Microsoft công bố C vào tháng 7 năm 2000, việc khánh thành nó chỉ là một phần trong số rất nhiều sự kiện mà nền tảng .Net được công công bố. Nền tảng .Net là bô khung phát triển ứng dụng mới, nó cung cấp một giao diện lập trình ứng dụng (Application Programming Interface API) mới mẽ cho các dịch vụ và hệ điều hành Windows, cụ thể là Windows 2000, nó cũng mang lại nhiều kỹ thuật khác nổi bật của Microsoft suốt từ những năm 90. Trong số đó có các dịch vụ COM+, công nghệ ASP, XML và thiết kế hướng đối tượng, hỗ trợ các giao thức dịch vụ web mới như SOAP, WSDL và UDDL với trọng tâm là Internet, tất cả được tích hợp trong kiến trúc DNA. Nền tảng .NET bao gồm bốn nhóm sau: Một tập các ngôn ngữ, bao gồm C và Visual Basic .Net; một tập các công cụ phát triển bao gồm Visual Studio .Net; một tập đầy đủ các thư viện phục vụ cho việc xây dựng các ứng dụng web, các dịch vụ web và các ứng dụng Windows; còn có CLR Common Language Runtime: (ngôn ngữ thực thi dùng chung) để thực thi các đối tượng được xây dựng trên bô khung này. Một tập các Server Xí nghiệp .Net như SQL Server 2000. Exchange 2000, BizTalk 2000, … chúng cung cấp các chức năng cho việc lưu trữ dữ liệu quan hệ, thư điện tử, thương mại điện tử B2B, … Các dịch vụ web thương mại miễn phí, vừa được công bố gần đậy như là dự án Hailstorm; nhà phát triển có thể dùng các dịch vụ này để xây dựng các ứng dụng đòi hỏi tri thức về định danh người dùng… .NET cho các thiết bị không phải PC như điện thoại (cell phone), thiết bị game 2.1.2 .NET Framework .Net hỗ trợ tích hợp ngôn ngữ, tức là ta có thể kế thừa các lớp, bắt các biệt lệ, đa hình thông qua nhiều ngôn ngữ. .NET Framework thực hiện được việc này nhờ vào đặc tả Common Type System CTS (hệ thống kiểu chung) mà tất cả các thành phần .Net đều tuân theo. Ví dụ, mọi thứ trong .Net đều là đối tượng, thừa kế từ lớp gốc System.Object. Ngoài ra .Net còn bao gồm Common Language Specification CLS (đặc tả ngôn ngữ chung). Nó cung cấp các qui tắc cơ bản mà ngôn ngữ muốn tích hợp phải thỏa mãn. CLS chỉ ra các yêu cầu tối thiểu của ngôn ngữ hỗ trợ .Net. Trình biên dịch tuân theo CLS sẽ tạo các đối tượng có thể tương hợp với các đối tượng khác. Bộ thư viện lớp của khung ứng dụng (Framework Class Library FCL) có thể được dùng bởi bất kỳ ngôn ngữ nào tuân theo CLS. ET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hành nào không chỉ là Windows). .NET Framework bao bao gồm: Bốn ngôn ngữ chính thức: C, VB.Net, C++, và Jscript.NET Common Language Runtime CLR, nền tảng hướng đối tượng cho phát triển ứng dụng Windows và web mà các ngôn ngữ có thể chia sẻ sử dụng. Bộ thư viện Framework Class Library FCL. Hình 2.5 Kiến trúc khung ứng dụng .Net Thành phần quan trọng nhất của .NET Framework là CLR, nó cung cấp môi trường cho ứng dụng thực thi, CLR là một máy ảo, tương tự máy ảo Java. CLR kích hoạt đối tượng, thực hiện kiểm tra bảo mật, cấp phát bộ nhớ, thực thi và thu dọn chúng. Trong Hình 2.5 tầng trên của CLR bao gồm: Các lớp cơ sở Các lớp dữ liệu và XML Các lớp cho dịch vụ web, web form, và Windows form. Các lớp này được gọi chung là FCL, Framework Class Library, cung cấp API hướng đối tượng cho tất cả các chức năng của .NET Framework (hơn 5000 lớp). Các lớp cơ sở tương tự với các lớp trong Java. Các lớp này hỗ trợ các thao tác nhập xuất, thao tác chuổi, văn bản, quản lý bảo mật, truyền thông mạng, quản lý tiểu trình và các chức năng tổng hợp khác … Trên mức này là lớp dữ liệu và XML. Lớp dữ liệu hỗ trợ việc thao tác các dữ liệu trên cơ sở dữ liệu. Các lớp này bao gồm các lớp SQL (Structure Query Language: ngôn ngữ truy vấn có cấu trúc) cho phép ta thao tác dữ liệu thông qua một giao tiếp SQL chuẩn. Ngoài ra còn một tập các lớp gọi là ADO.Net cũng cho phép thao tác dữ liệu. Lớp XML hỗ trợ thao tác dữ liệu XML, tìm kiếm và diễn dịch XML. Trên lớp dữ liệu và XML là lớp hỗ trợ xây dựng các ứng dụng Windows (Windows forms), ứng dụng Web (Web forms) và dịch vụ Web (Web services). 2.1.3 Biên dịch và ngôn ngữ trung gian (MSIL) Với .NET chương trình không biên dịch thành tập tin thực thi, mà biên dịch thành ngôn ngữ trung gian (MSIL Microsoft Intermediate Language, viết tắt là IL), sau đó chúng được CLR thực thi. Các tập tin IL biên dịch từ C đồng nhất với các tập tin IL biên dịch từ ngôn ngữ .Net khác. Khi biên dịch dự án, mã nguồn C được chuyển thành tập tin IL lưu trên đĩa. Khi chạy chương trình thì IL được biên dịch (hay thông dịch) một lần nữa bằng trình Just In Time JIT, khi này kết quả là mã máy và bộ xử lý sẽ thực thi. Trình biên dịch JIT chỉ chạy khi có yêu cầu. Khi một phương thức được gọi, JIT phân tích IL và sinh ra mã máy tối ưu cho từng loại máy. JIT có thể nhận biết mã nguồn đã được biên dịch chưa, để có thể chạy ngay ứng dụng hay phải biên dịch lại. 2.1.4 Ngôn ngữ C C là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ liệu dựng sẵn, nhưng C có tính diễn đạt cao. C hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (component oriented). Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C có những từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới. C hỗ trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình. Định nghĩa lớp trong C không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt như C++. Hơn thế, C hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML. C hỗ trợ khái niệm giao diện, interfaces (tương tự Java). Một lớp chỉ có thể kế thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao diện. C có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị giới hạn.Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao diện. C cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện và dẫn hướng khai báo (được gọi là attribute). Lập trình hướng component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata). Siêu dữ liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật …. Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là các thư viện liên kết động (DLL) hay tập tin thực thi (EXE). Trong .NET một assembly là một đon vị của việc tái sử dụng, xác định phiên bản, bảo mật, và phân phối. CLR cung cấp một số các lớp để thao tác với assembly. C cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã đó được xem như không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng. VB.Net và thừa kế nó từ C. 2.2 Giới Thiệu SQL Server 2005 SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) s ử dụng TransactSQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. M ột RDBMS bao gồm databases, database engine v à các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đ ến TeraByte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2005 có thể kết hợp ăn ý với các server khác nh ư Microsoft Internet Information Server (IIS), ECommerce Server, Proxy Server.... Các phiên bản của SQL Server 2005 Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database. Hỗ trợ không giới hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa mà HĐH hỗ trợ) và các hệ thống 64bit. Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4 CPU. Ngoài ra phiên bản này cũng không được trang bị một số tính năng cao cấp khác. Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAM Express: Bản miễn phí, hỗ trợ tối đa 1CPU, 1GB RAM v à kích thước Database giới hạn trong 4GB. 2.2.1 Cài đặt SQL Server 2005 Express Edition Các yêu cầu cho hệ thống 32bit Express Edition System Requirements 32bit Processor PIII 600MHZ ho¼c cao h6n Tot nhat: 1GHZ ho¼c cao h6n Framework Microsoft .NET Framework 2.0 Operating System Windows XP With Service Pack 2 ho ¼ cao h6n Microsoft Windows 2000 Professional SP4 Download và cài đặt Microsoft .NET Framework 2.0 : Để cài đặt thành công SQL Server Express Edition hay các phiên b ản SQL Server 2005 khác, Microsoft .NET Framework 2.0 phải được cài đặt trước. Gỡ bỏ các phiên bản Beta, CTP hoặc Tech Preview của SQL Server 2005, Visual Studio 2005 và Microsoft .NET Framework 2.0. Download và cài đặt Cài đặt SQL Server 2005 Express Edition: Microsoft SQL Server 2005 Express Edition l à phiên bản miễn phí, dễ sử dụng và “nhẹ” của Microsoft SQL Server 2005. Microsoft SQL Server 2005 Express Edition đư ợc tích hợp trong Visual Studio 2005 tạo ra sự dễ d àng trong việc phát triển các ứng dụng hướng CSDL. SQL Server 2005 Express Edition đư ợc tự do sử dụng trong các ứng dụng thương mại và dễ dàng cập nhật lên các phiên bản cao hơn khi cần thiết. Cài đặt SQL Server Management Studio Express: SQL Server Managemen t Studio Express cung cấp giao diện để người dùng dễ dàng tương tác với các thành phần của Microsoft SQL Server 2005 Express Edition. Trước khi cài đặt SQL Server Management Studio Express, MSXML 6.0 phải được cài đặt Download tại địa chỉ: http:www.microsoft.comexpresssqldownloaddefault.aspx Kết quả sau khi cài đặt xong 2.3 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ SQL, viết tắt của Structured Quer y Language (ngôn ngữ hỏi có cấu trúc), là công cụ sử dụng để tổ chức, quản lý v à truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để t ương tác với cơ sở dữ liệu quan hệ. Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc d ù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm: Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các c ơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu. Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu. Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng nh ư các lỗi của hệ thống. Như vậy, có thể nói rằng SQL l à một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị c ơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,... song các câu l ệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu. Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java,... SQL là ngôn ng ữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các y êu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng. 2.3.1 Vai trò của SQL Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị c ơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai tr ò như sau: SQL là ngôn ngữ hỏi có tính tương tác : Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến c ơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu. SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc l ưu trữ dữ liệu, điều khiển truy cập c ơ sở dữ liệu,... SQL là ngôn ngữ cho các hệ thống kháchchủ (clientserver) : Trong các hệ thống cơ sở dữ liệu kháchchủ, SQL được sử dụng như là công cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu. SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu. SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác tr ên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau. SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một hệ thống mạng máy tính với nhiều hệ quản trị c ơ sở dữ liệu khác nhau, SQL th ường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị c ơ sở dữ liệu. 2.3.2 Các kiểu dữ liệu Bảng dưới đây liệt kê một số kiểu dữ liệu thông dụng đ ược sử dụng trong SQL. Char(n) Kiểu chuỗi với độ dài cố định Nchar(n) Kiếu chuỗi với độ dài cố định hỗ trợ UNICODE Varchar(n) Kiểu chuỗi với độ dài chính xác Nvarchar(n) Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE Int Số nguyên có giá trị từ 231 đến 231 1 Tinyint Số nguyên có giá trị từ 0 đến 255. Smallint Số nguyên có giá trị từ 215đến 215 – 1 Bigint Số nguyên có giá trị từ 263 đến 2631 Numeric Kiểu số với độ chính xác cố định. Decimal Tương tự kiểu Numeric Float Số thực có giá trị từ 1.79E+308 đến 1.79E+308 Real Số thực có giá trị từ 3.40E + 38 đến 3.40E + 38 Money Kiểu tiền tệ Bit Kiểu bit (có giá trị 0 hoặc 1) Datetime Kiểu ngày giờ (chính xác đến phần trăm của giây) Smalldatetime Kiểu ngày giờ (chính xác đến phút) Binary Dữ liệu nhị phân với độ dài cố định (tối đa 8000 bytes) Varbinary Dữ liệu nhị phân với độ dài chính xác (tối đa 8000 bytes) Image Dữ liệu nhị phân với độ dài chính xác (tối đa 2,147,483,647 bytes) Text Dữ liệu kiếu chuỗi với độ dài lớn (tối đa 2,147,483,647 ký tự) Ntext Dữ liệu kiếu chuỗi với độ dài lớn và hỗ trợ UNICODE (tối đa 1,073,741,823 ký tự) 2.3.3 Biến (Variables) Biến trong TSQL cũng có chức năng tương tự như trong các ngôn ngữ lập trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng. Biến được bắt đầu bằng dấu ( Ðối với các biến toàn cục global variable thì có hai dấu ) 2.3.4 Hàm (Function) Có 2 loại hàm: một loại là được xây dựng sẵn trong SQL Server 20005 Express Edition (builtin) và một loại do người dùng tự định nghĩa (userdefined) Các hàm BuiltIn đượ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ụ như hàm OPENQUERY sẽ trả về một recordset và có thể đứng vị trí của một table trong câu lệnh Select. 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ụ như hàm AVG sẽ trả về giá trị trung bình của một cột. 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ụ như hàm MONTH(20020930) sẽ trả về tháng 9. Các hàm UserDefined (đượ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. Table Functions : Loại này trả về một table 2.3.5 Các toán tử (Operators) Trong SQL Server các biểu diễn (expression) có thể xuất hiện nhiều toán tử. Độ ưu tiên của toán tử sẽ quyết định thứ tự thực hiện của các phép tính. Thứ tự thực hiện ảnh hưởng rất lớn đến kết quả. Bảng dưới đây mô tả các toán tử trong SQL Server 2005 Express Edititon v à mức độ ưu tiên của các toán tử đó. Level Operators 1 (Multiply), (Division), % (Modulo) 2 + (Positive), (Negative), + (Add), (+ Concatenate), (Subtract), 3 =, >, =, , < (Comparison operators) 4 NOT 5 AND 6 ALL, ANY, BETWEEN, IN, LIKE, OR, SOME 7 = (Assignment) 2.4 Ngôn ngữ định nghĩa dữ liệu – DDL Trong chương này sẽ đề cập đến nhóm các câu lệnh được sử dụng để định nghĩa và quản lý các đối tượng CSDL như bảng, khung nhìn, chỉ mục,... và được gọi là ngôn ngữ định nghĩa dữ liệu (DDL). Về cơ bản, ngôn ngữ định nghĩa dữ liệu bao gồm các lệnh: CREATE: định nghĩa và tạo mới đối tượng CSDL. ALTER: thay đổi định nghĩa của đối tượng CSDL. DROP: Xoá đối tượng CSDL đã có. 2.4.1 Tạo bảng Câu lệnh CREATE TABLE được sử dụng để định nghĩa một bảng dữ liệu mới trong CSDL. Khi định nghĩa một bảng dữ liệu mới, ta cần phải xác định đ ược các yêu cầu sau đây: Bảng mới được tạo ra sử dụng với mục đích g ì và có vai trò như thế nào trong cơ sở dữ liệu. Cấu trúc của bảng bao gồm những tr ường (cột) nào, mỗi một trường có ý nghĩa như thế nào trong việc biểu diễn dữ liệu, kiểu dữ liệu của mỗi trường là gì và trường đó có cho phép nhận giá trị NULL hay không. Những trường nào sẽ tham gia vào khóa chính của bảng. Bảng có quan hệ với những bảng khác hay không và nếu có thì quan hệ như thế nào. Trên các trường của bảng có tồn tại những ràng buộc về khuôn dạng, điều kiện hợp lệ của dữ liệu hay không; nếu có th ì sử dụng ở đâu và như thế nào. Câu lệnh CREATE TABLE có cú pháp nh ư 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: tuân theo quy tắc định danh, không vượt quá 128 ký tự Tên_cột: các cột trong bảng, mỗi bảng có ít nhất một cột. Thuộc_tính_cột: bao gồm kiểu dữ liệu của cột, giá trị mặc định của cột, cột có đ ược thiết lập thuộc tính identity, cột có chấp nhận giá trị NULL hay không. Trong đó kiểu dữ liệu là thuộc tính bắt buộc. Các_ràng_buộc: gồm các ràng buộc về khuôn dạng dữ liệu ( ràng buộc CHECK) hay các ràng buộc về bào toàn dữ liệu (PRIMARY KEY, FOREIGN KEY, UNIQUE). 2.4.2 Các loại ràng buộc Ràng buộc CHECK Ràng buộc CHECK được sử dụng nhằm chỉ định điều kiện hợp lệ đối với dữ liệu. Mỗi khi có sự thay đổi dữ liệu trên bảng (INSERT, UPDATE), những r àng buộc này sẽ được sử dụng nhằm kiểm tra xem dữ liệu mới có hợp lệ hay không. Ràng buộc CHECK được khai báo theo cú pháp như sau: CONSTRAINT tên_ràng_buộc CHECK (điều_kiện) Ràng buộc PRIMARY KEY Ràng buộc PRIMARY KEY được sử dụng để định nghĩa khoá chính của bảng. Khoá chính của một bảng là một hoặc một tập nhiều cột mà giá trị của chúng là duy nhất trong bảng. Hay nói cách khác, giá trị củ a khoá chính sẽ giúp cho ta xác định được duy nhất một dòng (bản ghi) trong bảng dữ liệu. Mỗi một bảng chỉ có thể có duy nhất một khoá chính và bản thân khoá chính không chấp nhận giá trị NULL. R àng buộc PRIMARY KEY là cơ sở cho việc đảm bảo tính toàn vẹn thực thể cũng như toàn vẹn tham chiếu. Để khai báo một ràng buộc PRIMARY KEY, ta sử dụng cú pháp nh ư sau: CONSTRAINT tên_ràng_buộc PRIMARY KEY (danh_sách_cột) Nếu khoá chính của bảng chỉ bao gồm đúng một cột v à ràng buộc PRIMARY KEY được chỉ định ở mức cột, ta không cần thiết phải chỉ định danh sách cột sau từ khoá PRIMARY KEY. Tuy nhiên, nếu việc khai báo khoá chính đ ược tiến hành ở mức bảng (sử dụng khi số lượng các cột tham gia vào khoá là từ hai trở lên) thì bắt buộc phải chỉ định danh sách cột ngay sau từ khóa PRIMARY KEY và tên các cột được phân cách nhau bởi dấu phẩy. Ràng buộc FOREIGN KEY FOREIGN KEY là một cột hay một sự kết hợp của nhiều cột đ ược sử dụng để áp đặt mối liên kết dữ liệu giữa hai table. FOREIGN KEY của một bảng sẽ giữ giá trị của PRIMARY KEY của một bảng khác và chúng ta có thể tạo ra nhiều FOREIGN KEY trong một table. FOREIGN KEY có thể tham chiếu vào PRIMARY KEY hay cột có ràng buộc duy nhất. FOREIGN KEY có thể chứa giá trị NULL. Mặc dù mục đích chính của ràng buộc FOREIGN KEY là để kiểm soát dữ liệu chứa trong bảng có FOREIGN KEY (tức table con) nhưng thực chất nó cũng kiểm soát luôn cả dữ liệu trong bảng chứa PRIMARY KEY (tức table cha). Ví dụ nếu ta xóa dữ liệu trong bảng cha thì dữ liệu trong bảng con trở nên mồ côi (orphan) vì không thể tham chiếu ngược về bảng cha. Do đó ràng buộc FOREIGN KEY sẽ đảm bảo điều đó không xảy ra. Nếu bạn muốn xóa dữ liệu trong bảng cha thì trước hết bạn phải xóa hay vô hiệu hóa ràng buộc FOREIGN KEY trong bảng con trước. Ràng buộc FOREIGN KEY được định nghĩa theo cú pháp dưới đây: CONSTRAINT tên_ràng_buộc FOREIGN KEY (danh_sách_cột) REFERENCEStên_bảng_tham_chiếu(danh_sách_cột_tham_chiếu) ON DELETE CASCADE | NO ACTION | SET NULL | SET DEFAULT ON UPDATE CASCADE | NO ACTION | SET NULL | SET DEFAULT Việc định nghĩa một ràng buộc FOREIGN KEY bao gồm các yếu tố sau: Tên cột hoặc danh sách cột của bả ng được định nghĩa tham gia vào khoá ngoài. Tên của bảng được tham chiếu bởi khoá ngoài và danh sách các cột được tham chiếu đến trong bảng tham chiếu. Cách thức xử lý đối với các bản ghi trong bảng đ ược định nghĩa trong trường hợp các bản ghi được tham chiếu trong bảng tham chiếu bị xoá (ON DELETE) hay cập nhật (ON UPDATE). SQL chuẩn đưa ra 4 cách xử lý CASCADE: Tự động xoá (cập nhật) nếu bản ghi đ ược tham chiếu bị xoá (cập nhật). NO ACTION: (Mặc định) Nếu bản ghi trong bảng tham chiếu đang được tham chiếu bởi một bản ghi bất kỳ trong bảng đ ược định nghĩa thì bàn ghi đó không được phép xoá hoặc cập nhật (đối với cột được tham chiếu). SET NULL: Cập nhật lại khoá ngoài của bản ghi thành giá trị NULL (nếu cột cho phép nhận giá trị NULL). SET DEFAULT: Cập nhật lại khoá ngoài của bản ghi nhận giá trị mặc định (nếu cột có qui định giá trị mặc định). 2.5 Thủ tục lưu trữ, hàm và trigger 2.5.1 Thủ tục lưu trữ (Stored procedure) Thủ tục lưu trữ là một đối tượng trong CSDL, bao gồm nhiều câu lệnh TSQL được tập hợp lại với nhau thành một nhóm, và tất cả các lệnh này sẽ được thực thi khi thủ tục lưu trữ được thực thi. Với thủ tục lưu trữ, một phần nào đó khả năng của ngôn ngữ lập tr ình được đưa vào trong ngôn ngữ SQL. Thủ tục lưu trữ có thể có các thành phần sau: Các cấu trúc điều khiển (IF, WHILE, FOR ) có thể được sử dụng trong thủ tục. Bên trong thủ tục lưu trữ có thể sử dụng các biến như trong ngôn ngữ lập trình nhằm lưu giữ các giá trị tính toán được, các giá trị được truy xuất được từ cơ sở dữ liệu. Một tập các câu lệnh SQL được kết hợp lại với nhau thành một khối lệnh bên trong một thủ tục. Một thủ tục có thể nhận các tham số truyền v ào cũng như có thể trả về các giá trị thông qua các tham số (như trong các ngôn ngữ lập trình). Khi một thủ tục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua tên thủ tục, nhận các tham số truyền v ào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả về các giá trị sau khi thực hiện xong. Lợi ích của việc sử dụng thủ tục l ưu trữ: SQL Server chỉ biên dịch các thủ tục lưu trữ một lần và sử dụng lại kết quả biên dịch này trong các lần tiếp theo trừ khi người dùng có những thiết lập khác. Việc sử dụng lại kết quả biên dịch không làm ảnh hưởng đến hiệu suất hệ thống khi thủ tục l ưu trữ được gọi liên tục nhiều lần. Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra nên việc thực thi chúng nhanh hơn nhiều so với việc phải thực hiện một tập rời rạc các câu lệnh SQL t ương đương theo cách thông thường. Thủ tục lưu trữ cho phép chúng ta thực hiện c ùng một yêu cầu bằng một câu lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL. Điều này sẽ làm giảm thiểu sự lưu thông trên mạng. Thay vì cấp phát quyền trực tiếp cho ng ười sử dụng trên các câu lệnh SQL và trên các đối tượng cơ sở dữ liệu, ta có thể cấp phát quyền c ho người sử dụng thông qua các thủ tục l ưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống. Các thủ tục lưu trữ trả về kết quả theo 4 cách: Sử dụng các tham số output Sử dụng các lệnh trả về giá trị, các lệnh n ày luôn trả về giá trị số nguyên. Tập các giá trị trả vể của mỗi câu lệnh SELECT có trong thủ tục l ưu trữ hoặc của quá trình gọi một thủ tục lưu trữ khác trong một thủ tục lưu trữ. Một biến con trỏ toàn cục có thể tham chiếu từ bên ngoài thủ tục. Tạo thủ tục lưu trữ Thủ tục lưu trữ được tạo thông qua câ.u lệnh CREATE PROCEDURE. CREATE PROCEDURE tên_thủ_tục (danh_sách_tham_số) WITHRECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION AS Các_câu_lệnh_của_thủ_tục Trong đó: WITH RECOMPILE: yêu cầu SQL Server biên dịch lại thủ tục lưu trữ mỗi khi được gọi. WITH ENCRYPTION: yêu cầu SQL Server mã hóa thủ tục lưu trữ. Các_câu_lệnh_của_thủ_tục: Các lệnh TSQL. Các lệnh này có thể nằm trong cặp BEGIN…END hoặc không. 2.5.2 Lời gọi thủ tục Thủ tục lưu trữ được gọi theo cấu trúc Tên_thủ_tục_lưu _trữ danh_sách_tham_số Cần lưu ý là danh sách tham số truyền vào trong lời gọi phải theo đúng thứ tự khai báo các tham số trong thủ tục lưu trữ. Nếu thủ tục được gọi từ một thủ tục khác, thực hiện b ên trong một trigger hay phối hợp với câu lệnh SELECT, cấu trúc như sau; Exec Tên_thủ_tục_lưu _trữ danh_sách_tham_số Biến trong thủ tục lưu trữ Trong thủ tục lưu trũ có thể có các biến nhằm lưu các kết quả tính toán hay truy xuất từ CSDL. Các biến trong thủ tục được khai báo bằng từ khóa DECLARE theo cấu trúc nh ư sau: DECLARE tên_biến kiểu_dữ_liệu Giá trị trả về trong thủ tục lưu trữ Trong các ví dụ trước, nếu đối số truyền cho thủ tục khi có lời gọi đến thủ tục l à biến, những thay đổi giá trị của biền trong thủ tục sẽ không đ ược giữ lại khi kết thúc quá tr ình thực hiện thủ tục. Sử dụng tham số OUTPUT Trong trường hợp cần phải giữ lại giá trị của đối số sau khi kết thúc thủ tục, ta phải khai báo tham số của thủ tục theo cú pháp như sau: tên_tham_số kiểu_dữ_liệu OUTPUT Sử dụng lệnh RETURN Tương nhự như việc sử dụng tham số OUTPUT, câu lệnh RETURN trả về giá trị cho đối tượng thực thi stored procedure. Tham số với giá trị mặc định Các tham số được khai báo trong thủ tục có thể nhận các giá trị mặc định. Giá trị mặc định sẽ được gán cho tham số trong trường hợp không truyền đối số cho tham số khi có lời gọi đến thủ tục. Tham số với giá trị mặc định được khai báo theo cú pháp như sau: tên_tham_sốkiểu_dữ_liệu = giá_trị_mặc_định Khi một thủ tục đã được tạo ra, ta có thể tiến hành định nghĩa lại thủ tục đó bằng câu lệnh ALTER PROCEDURE có cú pháp như sau: ALTER PROCEDURE tên_thủ_tục (danh_sách_tham_số) WITHRECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION AS Các_câu_lệnh_của_thủ_tục Câu lệnh này sử dụng tương tự như câu lệnh CREATE PROCEDURE. Việc sửa đổi lại một thủ tục đã có không làm thay đổi đến các quyền đã cấp phát trên thủ tục cũng như không tác động đến các thủ tục khác hay trigger phụ thuộc v ào thủ tục này. Xóa thủ tục Để xoá một thủ tục đã có, ta sử dụng câu lệnh DROP PROCEDURE với cú pháp như sau: DROP PROCEDURE tên_thủ_tục Khi xoá một thủ tục, tất cả các quyền đã cấp cho người sử dụng trên thủ tục đó cũng đồng thời bị xoá bỏ. Do đó, nếu tạo lại thủ tục, ta phải tiến h ành cấp phát lại các quyền trên thủ tục đó. 2.5.3 Hàm do người dùng định nghĩa (User Defined FunctionUDF) Hàm vô hướng Scalar UDF Scarlar UDF được tạo ra bằng câu lệnh CREATE FUNCTION có cấu trúc như sau: CREATE FUNCTION tên_hàm (danh_sách_tham_số) RETURNS (kiểu_trả_về_của_h àm) AS BEGIN các_câu_lệnh_của_hàm END Hàm nội tuyến Inline UDF Hàm nội tuyến được định nghĩa bằng lệnh CREATE FUNCTION. CREATE FUNCTION tên_hàm (danh_sách_tham_s ố) RETURNS TABLE AS RETURN (câu_lệnh_select) Cú pháp của hàm nội tuyến phải tuân theo các qui tắc sau: Kiểu trả về của hàm phải được chỉ định bởi mệnh đề RETURNS TABLE. Trong phần thân của hàm chỉ có duy nhất một câu lệnh RETURN xác định giá trị trả về của hàm thông qua duy nhất một câu lệnh SELECT. Ngoài ra, không sử dụng bất kỳ câu lệnh nào khác trong phần thân của hàm. Việc gọi các hàm nội tuyến cũng tương tự như việc gọi các hàm vô hướng. Hàm bao gồm nhiều câu lệnh bên trong – Multi statement UDF Hàm này cũng được định nghĩa bằng lệnh CREATE FUNCTION CREATE FUNCTION tên_hàm (danh_sách_tham_số) RETURNS biến_bảng TABLE định_nghĩa_bảng AS BEGINcác_câu_lệnh_trong_thân_hàm RETURN END Lưu ý: sau từ khóa RETURNS là một biến bảng được định nghĩa. Và sau từ khóa RETURN ở cuối hàm không có tham số nào đi kèm. Thay đổi hàm Dùng lệnh ALTER FUNCTION để thay đổi định nghĩa h àm. Cấu trúc của câu lệnh ALTER FUNCTION tương tự như CREATE FUNCTION Xóa hàm Dùng lệnh DROP FUNCTION để xóa h àm. Cấu trúc lệnh DROP FUNCTION như sau DROP FUNCTION tên_hàm Tương tự như thủ tục lưu trữ, khi hàm bị xóa các quyền cấp cho người dùng trên hàm đó cũng bị xóa. Do đó khi định nghĩa lại hàm này, ta phải cấp lại quyền cho các người dùng. 2.6 Trigger Trigger là một dạng đặc biệt của thủ tục lưu trữ, được thực thi một cách tự động khi có sự thay đổi dữ liệu (do tác động của câu lệnh INSERT, UPDATE, DELETE) trên một bảng nào đó. 2.6.1 Các đặc điểm của trigger Trigger chỉ thực thi tự động thông qua các sự kiện m à không thực hiện bằng tay. Trigger sử dụng được với khung nhìn. Khi trigger thực thi theo các sự kiện Insert hoặc Delete th ì dữ liệu khi thay đổi sẽ được chuyển sang các bảng INSERTED và DELETED, là 2 bảng tạm thời chỉ chứa trong bộ nhớ, các bảng này chỉ được sử dụng với các lệnh trong trigger. Các bảng n ày thường được sử dụng để khôi phục lại phần dữ liệu đã thay đổi (roll back). Trigger chia thành 2 loại INSTEAD OF và AFTER: INSTEAD OF là loại trigger mà hoạt động của sự kiện gọi trigger sẽ bị bỏ qua và thay vào đó là các lệnh trong trigger được thực hiện. AFTER trigger là loại ngầm định, khác với loại INSTEAD OF thì loại trigger này sẽ thực hiện các lệnh bênh trong sau khi đã thực hiện xong sự kiện kích hoạt trigger. 2.6.2 Các trường hợp sử dụng trigger Sử dụng Trigger khi các biện pháp bảo đảm to àn vẹn dữ liệu khác không bảo đảm đ ược. Các công cụ này sẽ thực hiện kiểm tra tính toán vẹn tr ước khi đưa dữ liệu vào CSDL, còn Trigger thực hiện kiểm tra tính toàn vẹn khi công việc đã thực hiện Khi CSDL chưa được chuẩn hóa (Normalization) th ì có thể xảy ra dữ liệu thừa, chứa ở nhiều vị trí trong CSDL thì yêu cầu đặt ra là dữ liệu cần cập nhật thống nhất trong mọi nơi. Trong trường hợp này ta phải sử dụng Trigger. Khi xảy ra thay đổi dây chuyền dữ liệu giữa các bảng với nhau (khi dữ liệu bảng n ày thay đổi thì dữ liệu trong bảng khác cũng được thay đổi theo). 2.6.3 Khả năng sau của trigger Một trigger có thể nhận biết, ngăn chặn và huỷ bỏ được những thao tác làm thay đổi trái phép dữ liệu trong cơ sở dữ liệu. Các thao tác trên dữ liệu (xoá, cập nhật và bổ sung) có thể được trigger phát hiện ra và tự động thực hiện một loạt các thao tác khác tr ên cơ sở dữ liệu nhằm đảm bảo tính hợp lệ của dữ liệu. Thông qua trigger, ta có thể tạo và kiểm tra được những mối quan hệ phức tạp h ơn giữa các bảng trong cơ sở dữ liệu mà bản thân các ràng buộc không thể thực hiện được. 2.6.4 Định nghĩa trigger Câu lệnh CREATE TRIGGER được sử dụng để đinh nghĩa trigger v à có cấu trúc như sau: CREATE TRIGGER tên_trigger ON tên_bảng FOR{INSERT,UPDATE,DELETE} AS IF UPDATE(tên_cột) AND UPDATE(tên_cột)|OR UPDATE(tên_cột) ... các_câu_lệnh_của_trigger Lưu ý: Như đã nói ở trên, chuẩn SQL định nghĩa hai bảng logic INSERTED v à DELETED để sử dụng trong các trigger. Cấu trúc của hai bảng n ày tương tự như cấu trúc của bảng mà trigger tác động. Dữ liệu trong hai bảng này tuỳ thuộc vào câu lệnh tác động lên bảng làm kích hoạt trigger; cụ thể trong các trường hợp sau: Khi câu lệnh DELETE được thực thi trên bảng, các dòng dữ liệu bị xoá sẽ được sao chép vào trong bảng DELETED. Bảng INSERTED trong tr ường hợp này không có dữ liệu. Dữ liệu trong bảng INSERTED sẽ l à dòng dữ liệu được bổ sung vào bảng gây nên sự kích hoạt đối với trigger bằng câu lệnh INSERT. Bảng DELETED trong tr ường hợp này không có dữ liệu. Khi câu lệnh UPDATE được thực thi trên bảng, các dòng dữ liệu cũ chịu sự tác động của câu lệnh sẽ được sao chép vào bảng DELETED, còn trong bảng INSERTED sẽ là các dòng sau khi đã được cập nhật. Hoạt động Bảng INSERTED Bảng DELETED INSERT dữ liệu được insert không có dữ liệu DELETE không có dữ liệu dữ liệu bị xóa UPDATE dữ liệu được cập nhật dữ liệu trước khi cập nhật 2.6.5 Kích hoạt trigger dựa trên sự thay đổi dữ liệu trên cột Thay vì chỉ định một trigger được kích hoạt trên một bảng, ta có thể chỉ định trigger đ ược kích hoạt và thực hiện những thao t

Trang 1

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành tới thầy giáo TS Nguyễn Hải Minh đã

tận tình hướng dẫn, cho em những định hướng và giúp em hoàn thành tốt đề tài thựctập tốt nghiệp này

Em chân thành cảm ơn tất cả các thầy cô trong Trường Đại Học Công NghệThông Tin Và Truyền Thông Thái Nguyên đã nhiệt tình giảng dạy và giúp đỡ emtrong quá trình học tập tại trường

Một lần nữa em xin chúc thầy Nguyễn Hải Minh, cùng gia đình thầy sứckhỏe dồi dào, thành đạt và hạnh phúc Em chúc thầy công tác tốt

Vì lượng kiến thức và thời gian có hạn, mặc dù có nhiều cố gắng nhưng bàithực tập tốt nghiệp của em không tránh khỏi những khiếm khuyết, sai sót Rất mongnhận được sự nhận xét, ý kiến đóng góp của các thầy, cô và các bạn

Thái Nguyên, ngày… tháng 03 năm 2016

Sinh viên

Ly A Vừ

Trang 2

MỤC LỤC

LỜI CẢM ƠN 1

MỤC LỤC 2

LỜI NÓI ĐẦU 4

CHƯƠNG 1: GIỚI THIỆU CHUNG 6

1.1 VAI TRÒ CỦA CÔNG NGHỆ THÔNG TIN TRONG ĐỜI SỐNG SẢN XUẤT 6

1.2 GIỚI THIỆU BỆNH VIỆN TRƯỜNG ĐẠI HỌC Y KHOA 9

1.2.1 Lịch sử phát triển bệnh viện 9

1.2.2 Chức năng, nhiệm vụ 9

1.2.3 Thành tích đạt được 9

1.2.4 Cơ cấu tổ chức bệnh viện 10

1.3 BÀI TOÁN QUẢN LÝ BỆNH NHÂN TẠI BỆNH VIỆN 10

1.4 HƯỚNG PHÁT TRIỂN CỦA BÀI TOÁN QUẢN LÝ BỆNH VIỆN 11

CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 12

2.1 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH VISUAL STUDIO 2012 EXPRESS 12

2.1.1 NỀN TẢNG CỦA NET 15

2.1.2 NET Framework 16

2.1.3 Biên dịch và ngôn ngữ trung gian (MSIL) 18

2.1.4 Ngôn ngữ C# 18

2.2 GIỚI THIỆU SQL SERVER 2005 19

2.2.1 Cài đặt SQL Server 2005 Express Edition 20

2.3 SQL LÀ NGÔN NGỮ CỦA CƠ SỞ DỮ LIỆU QUAN HỆ 22

2.3.1 Vai trò của SQL 23

2.3.2 Các kiểu dữ liệu 24

2.3.3 Biến (Variables) 25

2.3.4 Hàm (Function) 25

2.3.5 Các toán tử (Operators) 26

2.4 NGÔN NGỮ ĐỊNH NGHĨA DỮ LIỆU – DDL 26

2.4.1 Tạo bảng 26

2.4.2 Các loại ràng buộc 27

Trang 3

2.5 THỦ TỤC LƯU TRỮ, HÀM VÀ TRIGGER 29

2.5.1 Thủ tục lưu trữ (Stored procedure) 29

2.5.2 Lời gọi thủ tục 31

2.5.3 Hàm do người dùng định nghĩa (User Defined Function-UDF) 32

2.6 TRIGGER 33

2.6.1 Các đặc điểm của trigger 33

2.6.2 Các trường hợp sử dụng trigger 34

2.6.3 Khả năng sau của trigger 34

2.6.4 Định nghĩa trigger 34

2.6.5 Kích hoạt trigger dựa trên sự thay đổi dữ liệu trên cột 35

2.6.6 Sử dụng trigger và Giao tác (TRANSACTION) 36

2.7 DDL TRIGGER 36

CHƯƠNG 3: QUY TRÌNH TÍNH BÀI TOÁN QUẢN LÝ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 37

3.1 BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG 37

3.1.1 Biểu đồ phân cấp chức năng là gì? 37

3.1.2 Đặc điểm của biểu đồ phân cấp chức năng: 37

3.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN 38

3.2.1 Mô hình quan hệ dữ liệu 38

3.2.2 Mô hình tổ chức dữ liệu 39

3.2.3 Mô hình vật lý dữ liệu 39

3.3 CÀI ĐẶT CHƯƠNG TRÌNH 41

3.3.1 Mã Form nhập dữ liệu cho bệnh nhân 41

3.3.2 Kết quả 52

3.3.3 Mã Form xử lý sau khám 52

3.3.4 Kết quả 57

KẾT LUẬN 58

TÀI LIỆU THAM KHẢO 59

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 60

Trang 4

DANH MỤC HÌNH ẢNH

Hình 2.1 Trang khởi động VB2012 12

Hình 2.2 Trang New Project 13

Hình 2.3 Màn hình làm việc VB2012 14

Hình 2.4 Giao diện Toolbox 15

Hình 2.5 Kiến trúc khung ứng dụng Net 17

Trang 5

LỜI NÓI ĐẦU

Ngày nay với sự phát triển vượt bậc của khoa học công nghệ thì công nghệthông tin là một trong những lĩnh vực có nhiều đóng góp tích cực nhất, thiết thựcnhất Công nghệ thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống đặc biệtcông nghệ thông tin là một công cụ đắc lực trong công tác quản lý Chúng ta dễdàng thấy được việc đưa tin học vào trong công tác quản lý kinh doanh là một trongnhững ứng dụng quan trọng nhất trong rất nhiều ứng dụng cơ sở dữ liệu nhờ vàocông tác tin học hoá mà công việc quản lý và điều hành doanh nghiệp tỏ ra rấtnhanh chóng và hiệu quả Chính với lẽ đó mà cơ sở dữ liệu như là một giải pháphữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển một cách nhanhchóng

Cũng giống như các cơ sở kinh doanh bệnh viện cũng là một nơi có nhu cầucao trong việc ứng dụng cơ sở dữ liệu Thật vậy ứng dụng cơ sở dữ kiệu trong việcquản lý bệnh nhân và cán bộ trong viện là một việc hết sức thiết thực Vì vậy mà emchọn đề tài nghiên cứu và phát triển hệ thông tin bện viện làm đề tài tốt nghiệp

Hệ thống được phân tích, thiết kế và cài đặt trên môi trường visual studio

2012 express, thiết kế dữ liệu trên hệ quản trị cơ sở dữ liệu sql server 2005

Nội dung đề tài được trình bày bao gồm các phần sau:

Chương 1: Giới thiệu chung

Chương 2: Ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu

Chương 3: Quy trình tính bài toán quản lý và cài đặt chương trình quản lýbệnh nhân tại bệnh viện trường đại học Y Khoa

Trang 6

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Vai trò của công nghệ thông tin trong đời sống sản xuất

- Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ củaCNTT CNTT đã ở một bước phát triển cao, đó là số hóa tất cả các dữ liệu thôngtin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau Mọi loại thông tin,

số liệu âm thanh, hình ảnh có thể được đưa về dạng kỹ thuật số để bất kỳ máy tínhnào cũng có thể lưu trữ, xử lý và chuyển tiếp cho nhiều người Những công cụ và sựkết nối của thời đại kỹ thuật số cho phép chúng ta dễ dàng thu thập, chia sẻ thôngtin và hành động trên cơ sở những thông tin này theo phương thức hoàn toàn mới,kéo theo hàng loạt sự thay đổi về các quan niệm, các tập tục, các thói quen truyềnthống, và thậm chí cả cách nhìn các giá trị trong cuộc sống

- CNTT đến với từng người dân, từng người quản lý, nhà khoa học, ngườinông dân, bà nội trợ, học sinh tiểu học….Không có lĩnh vực nào, không có nơi nàokhông có mặt của CNTT Công nghệ thông tin là một trong các động lực quan trọngnhất của sự phát triển…ứng dụng và phát triển công nghệ thông tin ở nước ta nhằmgóp phần giải phóng sức mạnh vật chất, trí tuệ và tinh thần của toàn dân tộc, thúcđẩy công cuộc đổi mới, phát triển nhanh và hiện đại hoá các ngành kinh tế, tăngcường năng lực cạnh tranh của các doanh nghiệp, hỗ trợ có hiệu quả cho quá trìnhhội nhập kinh tế quốc tế, nâng cao chất lượng cuộc sống của nhân dân, đảm bảo anninh quốc phòng và tạo khả năng đi tắt đón đầu để thực hiện thắng lợi sự nghiệpCNH,HĐH (CT số 58-CT/TW ngày 17- 10- 2000 của BCT khoá VIII)

- Tác động của CNTT đối với xã hội loài người vô cùng to lớn, nó không chỉthúc đẩy nhanh quá trình tăng trưởng kinh tế, mà còn kéo theo sự biến đổi trongphương thức sáng tạo của cải, trong lối sống và tư duy của con người Trong nềnkinh tế tri thức, các quy trình sản xuất đều được tự động hoá Máy móc không chỉthay thế con người những công việc nặng nhọc, mà thay thế con người ở nhữngkhâu phức tạp của sản xuất và quản lý, không chỉ thay thế thao tác lao động của conngười mà cả thao tác tư duy

- Trong nền kinh tế toàn cầu, với sự phát triển của internet, thương mại điện

tử đang trở thành một lĩnh vực phát triển rất mạnh mẽ, nó thúc đẩy các ngành sảnxuất dịch vụ trên phạm vi toàn thế giới, và đặc biệt quan trọng với các nước đang

Trang 7

phát triển, nhất là đối với vùng xa xôi hẻo lánh, các nước và các vùng này có cơ hộitiếp cận thị trường quốc tế

- Công nghệ thông tin là chiếc chìa khoá để mở cánh cổng vào nền kinh tế trithức Mạng thông tin là môi trường lý tưởng cho sự sáng tạo, là phương tiện quantrọng để quảng bá và nhân rộng nhanh vốn tri thức, động lực của sự phát triển, thúcđẩy phát triển dân chủ trong xã hội, phát triển năng lực của con người…CNTT sẽnhanh chóng thay đổi thế giới một cách mạnh mẽ, sự chuyển đổi này có vị thế tronglịch sử như một cuộc cách mạng kinh tế - xã hội và có ảnh hưởng to lớn đến đờisống con người

- Đối với y tế, việc ứng dụng những tiến bộ của khoa học kỹ thuật và CNTT

đã trở thành một hình thức phổ biến có tác dụng hỗ trợ kịp thời và thiết thực trongviệc chữa bệnh cho nhân dân Ví dụ, hiện nay đã dùng công nghệ siêu âm 3D (bachiều), hoặc các bác sĩ có thể hội chẩn từ xa (thậm chí từ nhiều nước khác nhau trênthế giới)

- Sử dụng CNTT để hỗ trợ về mặt kỹ thuật và phương pháp điều trị chonhững vùng xa trung tâm y tế đã mang lại giá trị to lớn về mặt tinh thần cũng nhưvật chất cho nhân dân

- Trong lĩnh vực Giáo dục, đào tạo việc ứng dụng CNTT đã góp phần nângcao chất lượng dạy và học ở các cấp, các bậc học, mở rộng thêm nhiều loại hình đàotạo như đào tạo từ xa, phối hợp liên kết giữa các trường, các Quốc gia với nhauđang nhằm đưa chất lượng giáo dục của nước ta ngang bằng với các nước trong khuvực và trên thế giới

- Chính phủ điện tử trên cơ sở điện tử hoá các hoạt động quản lý nhà nướcđang hình thành và ngày càng trở nên phổ biến Mạng thông tin lớn và mạnh có thểnối các cơ quan quản lý với đối tượng quản lý, giúp cho quá trình ra quyết địnhđược thực hiện nhanh chóng, kịp thời và chính xác và tiết kiệm thông qua các hoạtđộng giao ban trực tuyến từ Trung ương đến cơ sở theo định kỳ hoặc khi có sự vụđột biến xảy ra.Thương mại điện tử xuất hiện, khách hàng có thể tiếp xúc và tìmhiểu mọi thông tin về công ty dễ dàng ở bất cứ nơi nào, lúc nào công ty sẽ nhậnđược phản hồi của khách hàng nhanh chóng về chiến lược tiếp thị hoặc danh mục

Trang 8

hàng hoá của các doanh nghiệp để từ đó có những thay đổi về chiến lược kinhdoanh cho phù hợp với thị hiếu của thị trường.

- An ninh quốc phòng cũng có những thay đổi cơ bản, công nghệ thông tin

đã tạo ra những thế hệ vũ khí, phương tiện chiến tranh "thông minh", từ đó xuấthiện hình thái chiến tranh, phương thức tác chiến mới, làm thay đổi sâu sắc họcthuyết quân sự của nhiều quốc gia Sự phát triển của công nghệ thông tin đã làmthay đổi cơ bản cơ cấu kinh tế, phương thức tổ chức và sản xuất, cách tiếp cận củatừng người tới tri thức, giải trí, phương pháp tư duy và giải quyết công việc và cácmối quan hệ trong xã hội Sáng tạo ra những giá trị mới và các việc làm mới, cuộccách mạng này sẽ mang lại những thị trường mới và những nghề nghiệp mới vớinhững đột phá công nghệ có tính thách thức đối với toàn thế giới

- Hơn nữa, chính bản thân công nghệ thông tin đã trực tiếp tạo ra sự biến đổilớn lao trong tất cả các lĩnh vực của đời sống xã hội loài người Chưa bao giờ quátrình dân chủ hoá lại được mở rộng và có nhiều điều kiện để thực hiện như bây giờ.CNTT đi vào cuộc sống sẽ lan toả đến mọi nơi, mọi lĩnh vực, máy tính sẽ có mặt ởkhắp mọi nơi, việc kết nối mạng cũng trở nên dễ dàng và thuận tiện nhất cho tất cảmọi người dân

- Bên cạnh đó, mặt trái của công nghệ thông tin, của nền kinh tế tri thức đangđặt ra những thách thức rất lớn, đó là sự cách biệt giàu nghèo, sự phân hoá giữa mộtbên là các quốc gia, dân tộc biết nắm bắt và khai phá những nguồn lợi từ công nghệthông tin, hạn chế những mặt tiêu cực mà nó đưa lại với các quốc gia dân tộc không

có hoặc chưa phát triển những công nghệ đó Vì vậy với sự phát triển như vũ bãocủa công nghệ thông tin hiện nay, quốc gia nào, dân tộc nào nhanh chóng nắm bắt

và làm chủ được công nghệ thông tin thì sẽ khai thác được nhiều hơn, nhanh hơn lợithế của mình Và cũng chính từ đây nảy sinh một thách thức rất lớn đối với cácnước đang phát triển như nước ta đó là làm thế nào để phát huy được thế mạnh củaCNTT thúc đẩy sự phát triển của xã hội mà không mất đi văn hoá truyền thống quýbáu của dân tộc

- Sự nghiệp CNH,HĐH ở nước ta hiện nay tất yếu phải khai thác được nhữngtiềm năng thế mạnh của công nghệ thông tin, thúc đẩy những ứng dụng và phát triểncông nghệ thông tin, coi đó là một điều kiện cần thiết để đạt được những mục tiêu

Trang 9

của giai đoạn đẩy mạnh CNH, HĐH đất nước Nhận thức rõ vai trò của CNTT trongviệc góp phần nâng cao hiệu quả công tác, cải cách hành chính, đổi mới phươngthức, lề lối làm việc

1.2 Giới thiệu bệnh viện trường đại học y khoa

1.2.1 Lịch sử phát triển bệnh viện

- Bệnh viện Trường Đại học Y khoa - Đại học Thái Nguyên được Bộ Giáodục & Đào tạo ra quyết định thành lập ngày 01/02/2007 và chính thức hoạt động từngày 29/10/2007

- Hiện tại bệnh viện có 06 khoa, 01 phòng

- Bệnh viện có đội ngũ Bác sĩ là các giảng viên Trường Đại học Y Dược cótrình độ chuyên môn sâu và đội ngũ Điều dưỡng viên chuyên nghiệp đáp ứng tốtnhiệm vụ chuyên môn được giao Hiện tại, Bệnh viện có 78 cán bộ, trong đó có 3bác sỹ CK II; 2 tiến sỹ; 13 thạc sỹ; 4 bác sỹ; 1 dược sỹ đại học; 4 cử nhân; 48 điềudưỡng trung cấp, dược sỹ trung học, kỹ thuật viên, kế toán; 3 công nhân

1.2.2 Chức năng, nhiệm vụ

- Bệnh viện Trường Đại học Y Khoa có nhiệm vụ phục vụ công tác đào tạo,nghiên cứu khoa học cho cán bộ giảng dạy, học viên sau đại học và sinh viên trườngĐại học Y Dược

- Khám chữa bệnh phục vụ cho nhân dân các dân tộc thuộc các tỉnh Trung du

và miền núi phía Bắc

- Tiếp nhận, triển khai và chuyển giao công nghệ y sinh học tiên tiến trongkhám, chẩn đoán, điều trị và phòng bệnh

1.2.3 Thành tích đạt được

- Từ ngày thành lập đến hết tháng 6 năm 2013, Bệnh viện Trường Đại học YKhoa Thái Nguyên đã khám trên 393.169 lượt bệnh nhân, điều trị nội trú trên 9.389bệnh nhân, phẫu thuật được trên 5.675 ca (Phẫu thuật nội soi 2.042 ca), thực hiệntrên 53.000 các thủ thuật và trên 409.000 lượt cận lâm sàng

- Bệnh viện đã được Sở Y tế tỉnh Thái Nguyên nhiều năm đánh giá là cơ sởphẫu thuật nội soi nhiều nhất tỉnh, nhiều kỹ thuật mới, hiện đại tiên tiến được ứngdụng trong chẩn đoán và điều trị, góp phần vào sự nghiệp chăm sóc sức khỏe chonhân dân trong khu vực

Trang 10

- Bệnh viện đã được Bộ Y tế 2 lần tặng Bằng khen.

1.2.4 Cơ cấu tổ chức bệnh viện

Ban giám đốc

1 BSCKII ThS Nguyễn Vũ Phương

2 ThS.BSCKI Trương Đồng Tâm

3 TS BS Vũ Thị Hồng Anh

Trưởng các khoa - phòng

1 Trưởng phòng kế hoạch tổng hợp: BSCKII.ThS Phạm Mỹ Hoài

2 Trưởng Khoa Nội – Khám bệnh: ThS.BS Hà Huy Phương

3 Trưởng Khoa Phụ Sản : TS Lê Minh Chính

4 Trưởng Khoa Ngoại – Gây mê hồi sức: BSCKII.ThS Nguyễn Công Bình

5 Trưởng Khoa Các chuyên khoa: TS Phạm Công Chính

6 Trưởng Khoa Cận lâm sàng : TS Nguyễn Thị Hoa

7 Trưởng Khoa Dược : ThS.DS Phạm Thị Tuyết Nhung

8 Điều dưỡng trưởng bệnh viện : ThS Phùng Văn Lợi

Phó trưởng khoa - phòng

1 Phó Trưởng phòng kế hoạch tổng hợp : ThS.BS Đinh Ngọc Thành

2 Phó Trưởng Khoa Nội – Khám bệnh : TS.BS Lưu Thị Bình

3 Phó Trưởng Khoa Cận lâm sàng: ThS.BS Hoàng Văn Tăng

1.3 Bài toán quản lý bệnh nhân tại bệnh viện

Bệnh viện trường đại học y khoa là một trong những bệnh viện khám chữabệnh của tỉnh Thái Nguyên Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vàotrong việc quản lý bệnh nhân và nhân viên của bệnh viện là một nhu cầu tất yếu

Quản lý nhân viên bệnh viện:

Mỗi nhân viên của bệnh viện được quản lý các thông tin sau đây: Họ, tên,giới tính,tuổi, ngày tháng năm sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn,đơn vị công tác, chức vụ, tôn giáo

Địa chỉ quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Số nhà,(Thôn)

Trang 11

Quản lý bệnh nhân:

Khi một bệnh nhân nhập viện lần đầu tiên, bệnh viện lưu những thông tinsau: Họ, tên, tuổi, phái (giới tính), năm sinh, ngày tháng năm sinh, nghề nghiệp,địa chỉ, địa chỉ khác, phone, mobile, email

Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảohiểm y tế Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số thẻ bảo hiểm y tế, thờigian hiệu lực, phần trăm bảo hiểm, nơi giớithiệu, nơi đăng ký thẻ bảo hiểm y tế

Địa chỉ bệnh nhân quản lý: Tỉnh, huyện, xã

Quy trình khám chữa bệnh:

Bệnh nhân đến bệnh viện để khám chữa bệnh có các trường hợp sau:

- Bệnh nhân đến để khám chữa các bệnh thông thường

- Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tục nhậpviện được tiến hành sau)

- Bệnh nhân là sản phụ trong trường hợp cấp cứu (thì được đưa trực tiếp đếnkhoa sản)

1.4 Hướng phát triển của bài toán quản lý bệnh viện

Ngày nay với sự ra đời của máy tính đã làm thay đối phong cách làm việccủa hầu hết các cơ quan tư nhân cũng như nhà nước Trước kia mọi thủ tục đều phảilưu trữ trên giấy tờ do đó thực sự đây là một việc làm rất thủ công vừa tốn nhâncông trong việc phải lưu lại rất nhiều hồ sơ trong công tác quản lý đồng thời vớicách làm thủ công này chắc chắn chúng ta không thể nào lưu lại được hồ sơ về mộtloại các nhân viên cũng như là các bệnh nhân và thực sự gây khó khăn trong quátrình tìm kiếm, thống kê khi phải tự tay làm tất cả các khâu Ngày nay với sự trợgiúp của máy tính ta có thể thực hiện tất cả các công việc đó một cách rất dễ dàng

mà không phải mất nhiều công sức, làm việc với máy tính vừa đảm bảo cho ta tínhchính xác cũng như sự nhanh chóng Với hệ thống quản lý bệnh viện như vậy có thểgiúp cho ta quản lý thống kê các nhân sự trong bệnh viện cũng như là thống kê cácbệnh nhân một cách rất nhanh chóng không mất thời gian cũng như công sức quánhiều

Trang 12

CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 2.1 Giới thiệu ngôn ngữ lập trình visual studio 2012 express

Visual basic Express 2012 là phiên bản mới nhất của Visual basic được xâydựng bởi Microsoft năm 2012, nó tương tự như các phiên bản 2010 và 2008, tuynhiên nó được thêm nhiều tính năng mới Sự khác biệt nhất là phiên bản 2012không còn là một phiên bản độc lập nữa mà nó được tích hợp với các ngôn ngữ lậptrình khác của Microsoft như C# và C++ trong một bộ sản phẩm được gọi là Visualstudio 2012 Ngoài ra, Visual Basic Express 2012 bao gồm 5 bộ chương trình, đó là:

Visual Studio Express 2012 for web

Visual Studio Express 2012 for Windows 8

Visual Studio Express 2012 for Windows destop

Visual Studio Express 2012 for Windows phone

Visual Studio Team Foundation Server Express 2012

Môi trường làm việc tích hợp khi bạn chạy VB2012 giống như hình bêndưới:

Hình 2.1 Trang khởi động VB2012

Trang 13

Để bắt đầu một dự án mới, click chuột vào New Project để mở trang NewProject như hình dưới:

Hình 2.2 Trang New Project

Trang New Project bao gồm 3 chương trình mẫu đó là Visual basic, VisualC# và Visual C++ Vì chúng ta nghiên cứu Visual Basic 2012 nên sẽ chọn Visualbasic Visual basic 2012 cho bạn 4 loại dự án để bạn có thể tạo Nếu bạn muốn tạoứng dụng trên Windows, chúng ta sẽ chọn Windows Forms Application

Ở dưới cùng của bảng, bạn có thể thay đổi tên mặc định của dự án từWindowsApplication1 sang một cái tên khác mà bạn muốn, ví dụ, MyFirstProgram.Sau khi đổi tên dự án, click nút Ok để tiếp tục Màn hình làm việc sẽ xuất hiện, nógiống như ở phiên bản 2010 Công cụ Toolbox sẽ không xuất hiện trừ khi bạn clickvào thẻ Toolbox, những biểu tượng công cụ thông thường trong Toolbox sẽ xuấthiện

Trang 14

Hình 2.3 Màn hình làm việc VB2012

Màn hình làm việc VB2012 bao gồm một số cửa sổ: cửa sổ Form, cửa sổSulution Explorer và cửa sổ Properties Nó còn bao gồm một toolbox mà bao gồmnhững công cụ hữu ích để bạn phát triển các chương trình VB Toolbox giống nhưhình dưới:

Trang 15

Hình 2.4 Giao diện Toolbox

2.1.1 Nền tảng của NET

Khi Microsoft công bố C# vào tháng 7 năm 2000, việc khánh thành nóchỉ là một phần trong số rất nhiều sự kiện mà nền tảng Net được công công bố.Nền tảng Net là bô khung phát triển ứng dụng mới, nó cung cấp một giao diệnlập trình ứng dụng (Application Programming Interface - API) mới mẽ cho các

Trang 16

dịch vụ và hệ điều hành Windows, cụ thể là Windows 2000, nó cũng mang lạinhiều kỹ thuật khác nổi bật của Microsoft suốt từ những năm 90 Trong số đó cócác dịch vụ COM+, công nghệ ASP, XML và thiết kế hướng đối tượng, hỗ trợ cácgiao thức dịch vụ web mới như SOAP, WSDL và UDDL với trọng tâm làInternet, tất cả được tích hợp trong kiến trúc DNA.

Nền tảng NET bao gồm bốn nhóm sau:

Một tập các ngôn ngữ, bao gồm C# và Visual Basic Net; một tập các công

cụ phát triển bao gồm Visual Studio Net; một tập đầy đủ các thư viện phục vụcho việc xây dựng các ứng dụng web, các dịch vụ web và các ứng dụngWindows; còn có CLR - Common Language Runtime: (ngôn ngữ thực thidùng chung) để thực thi các đối tượng được xây dựng trên bô khung này

Một tập các Server Xí nghiệp Net như SQL Server 2000 Exchange

2000, BizTalk 2000, … chúng cung cấp các chức năng cho việc lưu trữ dữ liệuquan hệ, thư điện tử, thương mại điện tử B2B, …

Các dịch vụ web thương mại miễn phí, vừa được công bố gần đậy như là

dự án Hailstorm; nhà phát triển có thể dùng các dịch vụ này để xây dựng các ứngdụng đòi hỏi tri thức về định danh người dùng…

.NET cho các thiết bị không phải PC như điện thoại (cell phone), thiết bịgame

2.1.2 NET Framework

.Net hỗ trợ tích hợp ngôn ngữ, tức là ta có thể kế thừa các lớp, bắt cácbiệt lệ, đa hình thông qua nhiều ngôn ngữ .NET Framework thực hiện được việcnày nhờ vào đặc tả Common Type System - CTS (hệ thống kiểu chung) mà tất cảcác thành phần Net đều tuân theo Ví dụ, mọi thứ trong Net đều là đối tượng,thừa kế từ lớp gốc System.Object

Ngoài ra Net còn bao gồm Common Language Specification - CLS (đặc

tả ngôn ngữ chung) Nó cung cấp các qui tắc cơ bản mà ngôn ngữ muốn tích hợpphải thỏa mãn CLS chỉ ra các yêu cầu tối thiểu của ngôn ngữ hỗ trợ Net.Trình biên dịch tuân theo CLS sẽ tạo các đối tượng có thể tương hợp với các đốitượng khác Bộ thư viện lớp của khung ứng dụng (Framework Class Library -FCL) có thể được dùng bởi bất kỳ ngôn ngữ nào tuân theo CLS

Trang 17

ET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hành nàokhông chỉ là Windows) .NET Framework bao bao gồm:

Bốn ngôn ngữ chính thức: C#, VB.Net, C++, và Jscript.NET

Common Language Runtime - CLR, nền tảng hướng đối tượng cho pháttriển ứng dụng Windows và web mà các ngôn ngữ có thể chia sẻ sử dụng

Bộ thư viện Framework Class Library - FCL

Hình 2.5 Kiến trúc khung ứng dụng Net

Thành phần quan trọng nhất của NET Framework là CLR, nó cung cấpmôi trường cho ứng dụng thực thi, CLR là một máy ảo, tương tự máy ảo Java.CLR kích hoạt đối tượng, thực hiện kiểm tra bảo mật, cấp phát bộ nhớ, thực thi vàthu dọn chúng

Trong Hình 2.5 tầng trên của CLR bao gồm:

Các lớp cơ sở

Các lớp dữ liệu và XML

Các lớp cho dịch vụ web, web form, và Windows form

Các lớp này được gọi chung là FCL, Framework Class Library, cung cấpAPI hướng đối tượng cho tất cả các chức năng của NET Framework (hơn 5000lớp)

Các lớp cơ sở tương tự với các lớp trong Java Các lớp này hỗ trợ các thaotác nhập xuất, thao tác chuổi, văn bản, quản lý bảo mật, truyền thông mạng, quản

lý tiểu trình và các chức năng tổng hợp khác …

Trang 18

Trên mức này là lớp dữ liệu và XML Lớp dữ liệu hỗ trợ việc thao tác các

dữ liệu trên cơ sở dữ liệu Các lớp này bao gồm các lớp SQL (Structure QueryLanguage: ngôn ngữ truy vấn có cấu trúc) cho phép ta thao tác dữ liệu thông quamột giao tiếp SQL chuẩn Ngoài ra còn một tập các lớp gọi là ADO.Net cũngcho phép thao tác dữ liệu Lớp XML hỗ trợ thao tác dữ liệu XML, tìm kiếm vàdiễn dịch XML

Trên lớp dữ liệu và XML là lớp hỗ trợ xây dựng các ứng dụng Windows(Windows forms), ứng dụng Web (Web forms) và dịch vụ Web (Web services)

2.1.3 Biên dịch và ngôn ngữ trung gian (MSIL)

Với NET chương trình không biên dịch thành tập tin thực thi, mà biêndịch thành ngôn ngữ trung gian (MSIL - Microsoft Intermediate Language, viếttắt là IL), sau đó chúng được CLR thực thi Các tập tin IL biên dịch từ C# đồngnhất với các tập tin IL biên dịch từ ngôn ngữ Net khác

Khi biên dịch dự án, mã nguồn C# được chuyển thành tập tin IL lưu trênđĩa Khi chạy chương trình thì IL được biên dịch (hay thông dịch) một lần nữa

bằng trình Just In Time - JIT, khi này kết quả là mã máy và bộ xử lý sẽ thực thi.

Trình biên dịch JIT chỉ chạy khi có yêu cầu Khi một phương thức đượcgọi, JIT phân tích IL và sinh ra mã máy tối ưu cho từng loại máy JIT có thểnhận biết mã nguồn đã được biên dịch chưa, để có thể chạy ngay ứng dụng hayphải biên dịch lại

2.1.4 Ngôn ngữ C#

C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười

kiểu dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao C# hỗ trợ lập trình có cấutrúc, hướng đối tượng, hướng thành phần (component oriented)

Trọng tâm của ngôn ngữ hướng đối tượng là lớp Lớp định nghĩa kiểu dữliệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết C# có những từkhoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới C#

hỗ trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa

kế, đa hình

Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin càiđặt như C++ Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp

Trang 19

trong tập tin mã nguồn Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạngXML.

C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java) Một lớp chỉ

có thể kế thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao diện

C# có kiểu cấu trúc, struct (không giống C++) Cấu trúc là kiểu hạng nhẹ

và bị giới hạn.Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể càiđặt giao diện

C# cung cấp những đặc trưng lập trình hướng thành phần như property,

sự kiện và dẫn hướng khai báo (được gọi là attribute) Lập trình hướng

component được hỗ trợ bởi CLR thông qua siêu dữ liệu (metadata) Siêu dữ liệu

mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo mật …

Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là

các thư viện liên kết động (DLL) hay tập tin thực thi (EXE) Trong NET mộtassembly là một đon vị của việc tái sử dụng, xác định phiên bản, bảo mật, vàphân phối CLR cung cấp một số các lớp để thao tác với assembly

C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng

vùng mã đó được xem như không an toàn CLR sẽ không thực thi việc thu dọnrác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên

tự giải phóng VB.Net và thừa kế nó từ C#

2.2 Giới Thiệu SQL Server 2005

SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational

Database Management System (RDBMS) ) s ử dụng Transact-SQL để trao đổi

dữ liệu giữa Client computer và SQL Server computer M ột RDBMS bao gồmdatabases, database engine v à các ứng dụng dùng để quản lý dữ liệu và các bộphận khác nhau trong RDBMS

SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệurất lớn (Very Large Database Environment) lên đ ến Tera-Byte và có thể phục vụcùng lúc cho hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với cácserver khác nh ư Microsoft Internet Information Server (IIS), E-CommerceServer, Proxy Server

Các phiên bản của SQL Server 2005

Trang 20

Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database.

Hỗ trợ không giới hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa màHĐH hỗ trợ) và các hệ thống 64bit

Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4 CPU Ngoài ra

phiên bản này cũng không được trang bị một số tính năng cao cấp khác

Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAM Express: Bản miễn phí, hỗ trợ tối đa 1CPU, 1GB RAM v à kích thước

Database giới hạn trong 4GB

2.2.1 Cài đặt SQL Server 2005 Express Edition

Các yêu cầu cho hệ thống 32bit

Express Edition System Requirements

32-bit Processor PIII 600MHZ ho¼c cao h6n Tot nhat: 1GHZ ho¼c cao h6n

Framework Microsoft NET Framework 2.0

Operating

System

Windows XP With Service Pack 2 ho ¼ cao h6nMicrosoft Windows 2000 Professional SP4

Trang 21

Download và cài đặt Microsoft NET Framework 2.0 : Để cài đặt thành côngSQL Server Express Edition hay các phiên b ản SQL Server 2005 khác,Microsoft NET Framework 2.0 phải được cài đặt trước.

Gỡ bỏ các phiên bản Beta, CTP hoặc Tech Preview của SQL Server 2005,Visual Studio 2005 và Microsoft NET Framework 2.0

Download và cài đặt

Cài đặt SQL Server 2005 Express Edition: Microsoft SQL Server 2005Express Edition l à phiên bản miễn phí, dễ sử dụng và “nhẹ” của Microsoft SQLServer 2005 Microsoft SQL Server 2005 Express Edition đư ợc tích hợp trongVisual Studio 2005 tạo ra sự dễ d àng trong việc phát triển các ứng dụng h ướngCSDL SQL Server 2005 Express Edition đư ợc tự do sử dụng trong các ứngdụng th ương mại và dễ dàng cập nhật lên các phiên bản cao hơn khi cần thiết

Cài đặt SQL Server Management Studio Express: SQL ServerManagemen t Studio Express cung cấp giao diện để người dùng dễ dàng tương tácvới các thành phần của Microsoft SQL Server 2005 Express Edition Trước khi càiđặt SQL Server Management Studio Express, MSXML 6.0 phải được cài đặt

Download tại địa chỉ:

http://www.microsoft.com/express/sql/download/default.aspx

Kết quả sau khi cài đặt xong

Trang 22

2.3 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ

SQL, viết tắt của Structured Quer y Language (ngôn ngữ hỏi có cấutrúc), là công cụ sử dụng để tổ chức, quản lý v à truy xuất dữ liệu đuợc lưu trữtrong các cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh

sử dụng để t ương tác với cơ sở dữ liệu quan hệ

Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc d ùđây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫncòn là một trong những chức năng quan trọng của nó SQL được sử dụng để điềukhiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho ngườidùng bao gồm:

Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các c ơ sở dữ liệu,

các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần

dữ liệu

Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực

hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữliệu

Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát

các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu

Trang 23

Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong

cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thaotác cập nhật cũng nh ư các lỗi của hệ thống

Như vậy, có thể nói rằng SQL l à một ngôn ngữ hoàn thiện được sử dụngtrong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các

hệ quản trị c ơ sở dữ liệu Mặc dù SQL không phải là một ngôn ngữ lập trình như

C, C++, Java, song các câu l ệnh mà SQL cung cấp có thể được nhúng vàotrong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữliệu

Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, SQL làngôn ng ữ có tính khai báo Với SQL, người dùng chỉ cần mô tả các yêu cầu cầnphải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các

y êu cầu như thế nào Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng

2.3.1 Vai trò của SQL

Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồntại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiệntrong các hệ quản trị c ơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếpgiữa người sử dụng và hệ quản trị cơ sở dữ liệu

Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai tr ònhư sau:

SQL là ngôn ngữ hỏi có tính tương tác : Người sử dụng có thể dễ

dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQLđến c ơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu

SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng

các câu lệnh SQL vào trong các ngôn ng ữ lập trình để xây dựng nên cácchương trình ứng dụng giao tiếp với cơ sở dữ liệu

SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ

sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc l ưu trữ dữliệu, điều khiển truy cập c ơ sở dữ liệu,

Trang 24

SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server) : Trong các

hệ thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếpgiữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu

SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các

máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò làngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu

SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ

liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác tr

ên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau

SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong

một hệ thống mạng máy tính với nhiều hệ quản trị c ơ sở dữ liệu khác nhau, SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị c ơ

sở dữ liệu

2.3.2 Các kiểu dữ liệu

Bảng dưới đây liệt kê một số kiểu dữ liệu thông dụng đ ược sử dụng trongSQL

Char(n) Kiểu chuỗi với độ dài cố định

Nchar(n) Kiếu chuỗi với độ dài cố định hỗ trợ UNICODE

Varchar(n) Kiểu chuỗi với độ dài chính xác

Nvarchar(n) Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

Int Số nguyên có giá trị từ -231 đến 231 - 1

Tinyint Số nguyên có giá trị từ 0 đến 255

Smallint Số nguyên có giá trị từ -215đến 215 – 1

Bigint Số nguyên có giá trị từ -263 đến 263-1

Numeric Kiểu số với độ chính xác cố định

Float Số thực có giá trị từ -1.79E+308 đến 1.79E+308

Real Số thực có giá trị từ -3.40E + 38 đến 3.40E + 38

Datetime Kiểu ngày giờ (chính xác đến phần trăm của giây)

Trang 25

Smalldatetime Kiểu ngày giờ (chính xác đến phút)

Binary Dữ liệu nhị phân với độ dài cố định (tối đa 8000 bytes)Varbinary Dữ liệu nhị phân với độ dài chính xác (tối đa 8000 bytes)Image Dữ liệu nhị phân với độ dài chính xác (tối đa

2,147,483,647 bytes)Text Dữ liệu kiếu chuỗi với độ dài lớn (tối đa 2,147,483,647 ký

tự)Ntext Dữ liệu kiếu chuỗi với độ dài lớn và hỗ trợ UNICODE (tối

đa 1,073,741,823 ký tự)

2.3.3 Biến (Variables)

Biến trong T-SQL cũng có chức năng tương tự như trong các ngôn ngữlập trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng Biếnđược bắt đầu bằng dấu @ ( Ðối với các biến toàn cục - global variable - thì có haidấu @@)

2.3.4 Hàm (Function)

Có 2 loại hàm: một loại là được xây dựng sẵn trong SQL Server 20005Express Edition (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ụ như hàm OPENQUERY sẽ trả về một recordset và có thể đứng vịtrí của một table trong câu lệnh Select

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ụ như hàm AVG sẽ trả về giá trị trung bìnhcủa một cột

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ụ như hàm MONTH('2002-09-30') sẽ trả

về tháng 9

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àmcác nhóm như sau:

Trang 26

Scalar Functions : Loại này cũng trả về một giá trị đơn bằng câu lệnh

RETURNS

Table Functions : Loại này trả về một table

2.3.5 Các toán tử (Operators)

Trong SQL Server các biểu diễn (expression) có thể xuất hiện nhiều toán

tử Độ ưu tiên của toán tử sẽ quyết định thứ tự thực hiện của các phép tính Thứ

tự thực hiện ảnh hưởng rất lớn đến kết quả

Bảng dưới đây mô tả các toán tử trong SQL Server 2005 Express Edititon v

à mức độ ưu tiên của các toán tử đó

2 + (Positive), - (Negative), + (Add), (+ Concatenate), - (Subtract),

2.4 Ngôn ngữ định nghĩa dữ liệu – DDL

Trong chương này sẽ đề cập đến nhóm các câu lệnh được sử dụng để địnhnghĩa và quản lý các đối tượng CSDL như bảng, khung nhìn, chỉ mục, và đượcgọi là ngôn ngữ định nghĩa dữ liệu (DDL)

Về cơ bản, ngôn ngữ định nghĩa dữ liệu bao gồm các lệnh:

CREATE: định nghĩa và tạo mới đối tượng CSDL

ALTER: thay đổi định nghĩa của đối tượng CSDL

DROP: Xoá đối tượng CSDL đã có

2.4.1 Tạo bảng

Câu lệnh CREATE TABLE được sử dụng để định nghĩa một bảng dữliệu mới trong CSDL Khi định nghĩa một bảng dữ liệu mới, ta cần phải xác định được các yêu cầu sau đây:

Bảng mới được tạo ra sử dụng với mục đích g ì và có vai trò nhưthế nào trong cơ sở dữ liệu

Trang 27

Cấu trúc của bảng bao gồm những tr ường (cột) nào, mỗi một trường

có ý nghĩa như thế nào trong việc biểu diễn dữ liệu, kiểu dữ liệu của mỗi trường là

gì và trường đó có cho phép nhận giá trị NULL hay không

Những trường nào sẽ tham gia vào khóa chính của bảng Bảng có quan hệvới những bảng khác hay không và nếu có thì quan hệ như thế nào

Trên các trường của bảng có tồn tại nhữn g ràng buộc về khuôn dạng, điềukiện hợp lệ của dữ liệu hay không; nếu có th ì sử dụng ở đâu và như thế nào

Câu lệnh CREATE TABLE có cú pháp nh ư 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: tuân theo quy tắc định danh, không vượt quá 128 ký tự

Tên_cột: các cột trong bảng, mỗi bảng có ít nhất một cột.

Thuộc_tính_cột: bao gồm kiểu dữ liệu của cột, giá trị mặc định của cột, cột

có đ ược thiết lập thuộc tính identity, cột có chấp nhận giá trị NULL hay không.

Trong đó kiểu dữ liệu là thuộc tính bắt buộc

Các_ràng_buộc: gồm các ràng buộc về khuôn dạng dữ liệu ( r àng buộc

CHECK) hay các ràng buộc về bào toàn dữ liệu (PRIMARY KEY, FOREIGNKEY, UNIQUE)

2.4.2 Các loại ràng buộc

Ràng buộc CHECK

Ràng buộc CHECK được sử dụng nhằm chỉ định điều kiện hợp lệ đối với

dữ liệu Mỗi khi có sự thay đổi dữ liệu trên bảng (INSERT, UPDATE), những ràng buộc này sẽ được sử dụng nhằm kiểm tra xem dữ liệu mới có hợp lệ haykhông

Ràng buộc CHECK được khai báo theo cú pháp như sau:

[CONSTRAINT tên_ràng_buộc] CHECK (điều_kiện)

Ràng buộc PRIMARY KEY

Trang 28

Ràng buộc PRIMARY KEY được sử dụng để định nghĩa khoá chính củabảng Khoá chính của một bảng là một hoặc một tập nhiều cột mà giá trị củachúng là duy nhất trong bảng Hay nói cách khác, giá trị củ a khoá chính sẽgiúp cho ta xác định đ ược duy nhất một dòng (bản ghi) trong bảng dữ liệu Mỗimột bảng chỉ có thể có duy nhất một khoá chính và bản thân khoá chính khôngchấp nhận giá trị NULL R àng buộc PRIMARY KEY là cơ sở cho việc đảmbảo tính toàn vẹn thực thể cũng như toàn vẹn tham chiếu.

Để khai báo một ràng buộc PRIMARY KEY, ta sử dụng cú pháp nh ư sau:

[CONSTRAINT tên_ràng_buộc] PRIMARY KEY [(danh_sách_cột)]

Nếu khoá chính của bảng chỉ bao gồm đúng một cột v à ràng buộcPRIMARY KEY được chỉ định ở mức cột, ta không cần thiết phải chỉ định danhsách cột sau từ khoá PRIMARY KEY Tuy nhiên, nếu việc khai báo khoá chính

đ ược tiến hành ở mức bảng (sử dụng khi số lượng các cột tham gia vào khoá là

từ hai trở lên) thì bắt buộc phải chỉ định danh sách cột ngay sau từ khóa PRIMARYKEY và tên các cột được phân cách nhau bởi dấu phẩy

Ràng buộc FOREIGN KEY

FOREIGN KEY là một cột hay một sự kết hợp của nhiều cột đ ược sử dụng

để áp đặt mối liên kết dữ liệu giữa hai table FOREIGN KEY của một bảng sẽgiữ giá trị của PRIMARY KEY của một bảng khác và chúng ta có thể tạo ra nhiềuFOREIGN KEY trong một table

FOREIGN KEY có thể tham chiếu vào PRIMARY KEY hay cột có ràngbuộc duy nhất FOREIGN KEY có thể chứa giá trị NULL Mặc dù mục đích chínhcủa ràng buộc FOREIGN KEY là để kiểm soát dữ liệu chứa trong bảng cóFOREIGN KEY (tức table con) nhưng thực chất nó cũng kiểm soát luôn cả dữliệu trong bảng chứa PRIMARY KEY (tức table cha) Ví dụ nếu ta xóa dữ liệutrong bảng cha thì dữ liệu trong bảng con trở nên "mồ côi" (orphan) vì không thểtham chiếu ngược về bảng cha Do đó ràng buộc FOREIGN KEY sẽ đảm bảođiều đó không xảy ra Nếu bạn muốn xóa dữ liệu trong bảng cha thì trước hết bạnphải xóa hay vô hiệu hóa ràng buộc FOREIGN KEY trong bảng con trước

Ràng buộc FOREIGN KEY được định nghĩa theo cú pháp d ưới đây:

[CONSTRAINT tên_ràng_buộc] FOREIGN KEY [(danh_sách_cột)]

Trang 29

REFERENCEStên_bảng_tham_chiếu(danh_sách_cột_tham_chiếu) [ON DELETE CASCADE | NO ACTION | SET NULL | SET DEFAULT] [ON UPDATE CASCADE | NO ACTION | SET NULL | SET DEFAULT]

Việc định nghĩa một ràng buộc FOREIGN KEY bao gồm các yếu tố sau:

Tên cột hoặc danh sách cột của bả ng được định nghĩa tham gia vàokhoá ngoài

Tên của bảng được tham chiếu bởi khoá ngo ài và danh sách các cột đượctham chiếu đến trong bảng tham chiếu

Cách thức xử lý đối với các bản ghi trong bảng đ ược định nghĩa trongtrường hợp các bản ghi được tham chiếu trong bảng tham chiếu bị xoá (ONDELETE) hay cập nhật (ON UPDATE) SQL chuẩn đưa ra 4 cách xử lý

CASCADE: Tự động xoá (cập nhật) nếu bản ghi đ ược tham chiếu bị xoá(cập nhật)

NO ACTION: (Mặc định) Nếu bản ghi trong bảng tham chiếu đangđược tham chiếu bởi một bản ghi bất kỳ trong bảng đ ược định nghĩa thì bànghi đó không được phép xoá hoặc cập nhật (đối với cột được tham chiếu)

SET NULL: Cập nhật lại khoá ngoài của bản ghi thành giá trịNULL (nếu cột cho phép nhận giá trị NULL)

SET DEFAULT: Cập nhật lại khoá ngoài của bản ghi nhận giá trị mặcđịnh (nếu cột có qui định giá trị mặc định)

2.5 Thủ tục lưu trữ, hàm và trigger

2.5.1 Thủ tục lưu trữ (Stored procedure)

Thủ tục lưu trữ là một đối tượng trong CSDL, bao gồm nhiều câu lệnh SQL được tập hợp lại với nhau thành một nhóm, và tất cả các lệnh này sẽ đượcthực thi khi thủ tục lưu trữ được thực thi Với thủ tục lưu trữ, một phần nào đó khảnăng của ngôn ngữ lập tr ình được đưa vào trong ngôn ngữ SQL

T-Thủ tục lưu trữ có thể có các thành phần sau:

Các cấu trúc điều khiển (IF, WHILE, FOR ) có thể được sử dụng trong thủtục

Trang 30

Bên trong thủ tục lưu trữ có thể sử dụng các biến nh ư trong ngôn ngữ lậptrình nhằm lưu giữ các giá trị tính toán được, các giá trị được truy xuất được từ cơ

Lợi ích của việc sử dụng thủ tục l ưu trữ:

SQL Server chỉ biên dịch các thủ tục lưu trữ một lần và sử dụng lại kết quảbiên dịch này trong các lần tiếp theo trừ khi người dùng có những thiết lập khác.Việc sử dụng lại kết quả biên dịch không làm ảnh hưởng đến hiệu suất hệ thốngkhi thủ tục l ưu trữ được gọi liên tục nhiều lần

Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra nên việc thực thi chúngnhanh hơn nhiều so với việc phải thực hiện một tập rời rạc các câu lệnh SQL tương đương theo cách thông thường

Thủ tục lưu trữ cho phép chúng ta thực hiện c ùng một yêu cầu bằng mộtcâu lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL Điều này sẽ làmgiảm thiểu sự lưu thông trên mạng

Thay vì cấp phát quyền trực tiếp cho ng ười sử dụng trên các câu lệnh SQL

và trên các đối tượng cơ sở dữ liệu, ta có thể cấp phát quyền c ho người sử dụngthông qua các thủ tục l ưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống

Các thủ tục lưu trữ trả về kết quả theo 4 cách: Sử dụng các tham số output

Sử dụng các lệnh trả về giá trị, các lệnh n ày luôn trả về giá trị số nguyên.Tập các giá trị trả vể của mỗi câu lệnh SELECT có trong thủ tục l ưu trữhoặc của quá trình gọi một thủ tục lưu trữ khác trong một thủ tục lưu trữ

Một biến con trỏ toàn cục có thể tham chiếu từ bên ngoài thủ tục

Tạo thủ tục lưu trữ

Thủ tục lưu trữ được tạo thông qua câ.u lệnh CREATE PROCEDURE

Ngày đăng: 11/04/2017, 17:39

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Trang khởi động VB2012 - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Hình 2.1. Trang khởi động VB2012 (Trang 12)
Hình 2.2. Trang New Project - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Hình 2.2. Trang New Project (Trang 13)
Hình 2.3. Màn hình làm việc VB2012 - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Hình 2.3. Màn hình làm việc VB2012 (Trang 14)
Hình 2.4. Giao diện Toolbox - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Hình 2.4. Giao diện Toolbox (Trang 15)
Hình 2.5 Kiến trúc khung ứng dụng .Net - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Hình 2.5 Kiến trúc khung ứng dụng .Net (Trang 17)
Bảng dưới đây liệt kê một số kiểu dữ liệu thông dụng đ ược sử dụng trong SQL. - Quy trình tính bài toán quản lý và cài đặt chương trình quản lý bệnh nhân tại bệnh viện trường đại học y khoa
Bảng d ưới đây liệt kê một số kiểu dữ liệu thông dụng đ ược sử dụng trong SQL (Trang 24)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w