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

60 590 0
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

Đ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

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

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 hướng giúp em hoàn thành tốt đề tài thực tập tốt nghiệp Em chân thành cảm ơn tất thầy cô Trường Đại Học Công Nghệ Thông Tin Truyền Thông Thái Nguyên nhiệt tình giảng dạy giúp đỡ em trình học tập trường Một lần em xin chúc thầy Nguyễn Hải Minh, gia đình thầy sức khỏe dồi dào, thành đạt hạnh phúc Em chúc thầy công tác tốt Vì lượng kiến thức thời gian có hạn, có nhiều cố gắng thực tập tốt nghiệp em không tránh khỏi khiếm khuyết, sai sót Rất mong nhận nhận xét, ý kiến đóng góp thầy, 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 DANH MỤC HÌNH ẢNH HÌNH 2.1 TRANG KHỞI ĐỘNG VB2012 11 HÌNH 2.2 TRANG NEW PROJECT 12 HÌNH 2.3 MÀN HÌNH LÀM VIỆC VB2012 13 HÌNH 2.4 GIAO DIỆN TOOLBOX 14 HÌNH 2.5 KIẾN TRÚC KHUNG ỨNG DỤNG NET 16 LỜI NÓI ĐẦU Ngày với phát triển vượt bậc khoa học công nghệ công nghệ thông tin lĩnh vực có nhiều đóng góp tích cực nhất, thiết thực Công nghệ thông tin có mặt hầu hết lĩnh vực sống đặc biệt công nghệ thông tin công cụ đắc lực công tác quản Chúng ta dễ dàng thấy việc đưa tin học vào công tác quản kinh doanh ứng dụng quan trọng nhiều ứng dụng sở liệu nhờ vào công tác tin học hoá mà công việc quản điều hành doanh nghiệp tỏ nhanh chóng hiệu Chính với lẽ mà sở liệu giải pháp hữu hiệu cho doanh nghiệp tồn phát triển cách nhanh chóng Cũng giống sở kinh doanh bệnh viện nơi có nhu cầu cao việc ứng dụng sở liệu Thật ứng dụng sở kiệu việc quản bệnh nhân cán viện việc thiết thực Vì mà em chọn đề tài nghiên cứu phát triển hệ thông tin bện viện làm đề tài tốt nghiệp Hệ thống phân tích, thiết kế cài đặt môi trường visual studio 2012 express, thiết kế liệu hệ quản trị sở liệu sql server 2005 Nội dung đề tài trình bày bao gồm phần sau: Chương 1: Giới thiệu chung Chương 2: Ngôn ngữ lập trình hệ quản trị sở liệu Chương 3: Quy trình tính toán quản cài đặt chương trình quản bệnh nhân bệnh viện trường đại học Y Khoa CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Vai trò công nghệ thông tin đời sống sản xuất - Chúng ta sống thời đại mới, thời đại phát triển rực rỡ CNTT CNTT bước phát triển cao, số hóa tất liệu thông tin, luân chuyển mạnh mẽ kết nối tất lại với Mọi loại thông tin, số liệu âm thanh, hình ảnh đưa dạng kỹ thuật số để máy tính lưu trữ, xử chuyển tiếp cho nhiều người Những công cụ kết nối thời đại kỹ thuật số cho phép dễ dàng thu thập, chia sẻ thông tin hành động sở thông tin theo phương thức hoàn toàn mới, kéo theo hàng loạt thay đổi quan niệm, tập tục, thói quen truyền thống, chí cách nhìn giá trị sống - CNTT đến với người dân, 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, nơi mặt CNTT Công nghệ thông tin động lực quan trọng phát triển…ứng dụng 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ệ tinh thần toàn dân tộc, thúc đẩy công đổi mới, phát triển nhanh đại hoá ngành kinh tế, tăng cường lực cạnh tranh doanh nghiệp, hỗ trợ có hiệu cho trình hội nhập kinh tế quốc tế, nâng cao chất lượng sống nhân dân, đảm bảo an ninh quốc phòng tạo khả tắt đón đầu để thực thắng lợi nghiệp CNH,HĐH (CT số 58-CT/TW ngày 17- 10- 2000 BCT khoá VIII) - Tác động CNTT xã hội loài người vô to lớn, không thúc đẩy nhanh trình tăng trưởng kinh tế, mà kéo theo biến đổi phương thức sáng tạo cải, lối sống tư người Trong kinh tế tri thức, quy trình sản xuất tự động hoá Máy móc không thay người công việc nặng nhọc, mà thay người khâu phức tạp sản xuất quản lý, không thay thao tác lao động người mà thao tác tư - Trong kinh tế toàn cầu, với phát triển internet, thương mại điện tử trở thành lĩnh vực phát triển mạnh mẽ, thúc đẩy ngành sản xuất dịch vụ phạm vi toàn giới, đặc biệt quan trọng với nước phát triển, vùng xa xôi hẻo lánh, nước vùng có hội tiếp cận thị trường quốc tế - Công nghệ thông tin chìa khoá để mở cánh cổng vào kinh tế tri thức Mạng thông tin môi trường tưởng cho sáng tạo, phương tiện quan trọng để quảng bá nhân rộng nhanh vốn tri thức, động lực phát triển, thúc đẩy phát triển dân chủ xã hội, phát triển lực người…CNTT nhanh chóng thay đổi giới cách mạnh mẽ, chuyển đổi có vị lịch sử cách mạng kinh tế - xã hội có ảnh hưởng to lớn đến đời sống người - Đối với y tế, việc ứng dụng tiến khoa học kỹ thuật CNTT trở thành hình thức phổ biến có tác dụng hỗ trợ kịp thời thiết thực việc chữa bệnh cho nhân dân Ví dụ, dùng công nghệ siêu âm 3D (ba chiều), bác sĩ hội chẩn từ xa (thậm chí từ nhiều nước khác giới) - Sử dụng CNTT để hỗ trợ mặt kỹ thuật phương pháp điều trị cho vùng xa trung tâm y tế mang lại giá trị to lớn mặt tinh thần 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 học cấp, bậc học, mở rộng thêm nhiều loại hình đào tạo đào tạo từ xa, phối hợp liên kết trường, Quốc gia với nhằm đưa chất lượng giáo dục nước ta ngang với nước khu vực giới - Chính phủ điện tử sở điện tử hoá hoạt động quản nhà nước hình thành ngày trở nên phổ biến Mạng thông tin lớn mạnh nối quan quản với đối tượng quản lý, giúp cho trình định thực nhanh chóng, kịp thời xác tiết kiệm thông qua hoạt động giao ban trực tuyến từ Trung ương đến sở theo định kỳ có vụ đột biến xảy ra.Thương mại điện tử xuất hiện, khách hàng tiếp xúc tìm hiểu thông tin công ty dễ dàng nơi nào, lúc công ty nhận phản hồi khách hàng nhanh chóng chiến lược tiếp thị danh mục hàng hoá doanh nghiệp để từ có thay đổi chiến lược kinh doanh cho phù hợp với thị hiếu thị trường - An ninh quốc phòng có thay đổi bản, công nghệ thông tin tạo hệ vũ khí, phương tiện chiến tranh "thông minh", từ xuất 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 nhiều quốc gia Sự phát triển công nghệ thông tin làm thay đổi cơ cấu kinh tế, phương thức tổ chức sản xuất, cách tiếp cận người tới tri thức, giải trí, phương pháp tư giải công việc mối quan hệ xã hội Sáng tạo giá trị việc làm mới, cách mạng mang lại thị trường nghề nghiệp với đột phá công nghệ có tính thách thức toàn giới - Hơn nữa, thân công nghệ thông tin trực tiếp tạo biến đổi lớn lao tất lĩnh vực đời sống xã hội loài người Chưa trình dân chủ hoá lại mở rộng có nhiều điều kiện để thực CNTT vào sống lan toả đến nơi, lĩnh vực, máy tính có mặt khắp nơi, việc kết nối mạng trở nên dễ dàng thuận tiện cho tất người dân - Bên cạnh đó, mặt trái công nghệ thông tin, kinh tế tri thức đặt thách thức lớn, cách biệt giàu nghèo, phân hoá bên quốc gia, dân tộc biết nắm bắt khai phá nguồn lợi từ công nghệ thông tin, hạn chế mặt tiêu cực mà đưa lại với quốc gia dân tộc chưa phát triển công nghệ Vì với phát triển vũ bão công nghệ thông tin nay, quốc gia nào, dân tộc nhanh chóng nắm bắt làm chủ công nghệ thông tin khai thác nhiều hơn, nhanh lợi từ nảy sinh thách thức lớn nước phát triển nước ta làm để phát huy mạnh CNTT thúc đẩy phát triển xã hội mà không văn hoá truyền thống quý báu dân tộc - Sự nghiệp CNH,HĐH nước ta tất yếu phải khai thác tiềm mạnh công nghệ thông tin, thúc đẩy ứng dụng phát triển công nghệ thông tin, coi điều kiện cần thiết để đạt mục tiêu giai đoạn đẩy mạnh CNH, HĐH đất nước Nhận thức rõ vai trò CNTT việc góp phần nâng cao hiệu công tác, cải cách hành chính, đổ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 Bộ Giáo dục & Đào tạo định thành lập ngày 01/02/2007 thức hoạt động từ ngày 29/10/2007 - Hiện bệnh viện có 06 khoa, 01 phòng - Bệnh viện có đội ngũ Bác sĩ giảng viên Trường Đại học Y Dược có trình độ chuyên môn sâu đội ngũ Điều dưỡng viên chuyên nghiệp đáp ứng tốt nhiệm vụ chuyên môn giao Hiện tại, Bệnh viện có 78 cán bộ, có bác sỹ CK II; tiến sỹ; 13 thạc sỹ; bác sỹ; dược sỹ đại học; 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; 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 giảng dạy, học viên sau đại học 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 dân tộc thuộc tỉnh Trung du miền núi phía Bắc - Tiếp nhận, triển khai chuyển giao công nghệ y sinh học tiên tiến khám, chẩn đoán, điều trị phòng bệnh 1.2.3 Thành tích đạt - Từ ngày thành lập đến hết tháng năm 2013, Bệnh viện Trường Đại học Y Khoa Thái Nguyên khám 393.169 lượt bệnh nhân, điều trị nội trú 9.389 bệnh nhân, phẫu thuật 5.675 ca (Phẫu thuật nội soi 2.042 ca), thực 53.000 thủ thuật 409.000 lượt cận lâm sàng - Bệnh viện Sở Y tế tỉnh Thái Nguyên nhiều năm đánh giá sở phẫu thuật nội soi nhiều tỉnh, nhiều kỹ thuật mới, đại tiên tiến ứng dụng chẩn đoán điều trị, góp phần vào nghiệp chăm sóc sức khỏe cho nhân dân khu vực - Bệnh viện Bộ Y tế lần tặng Bằng khen 1.2.4 Cơ cấu tổ chức bệnh viện Ban giám đốc BSCKII ThS Nguyễn Vũ Phương ThS.BSCKI Trương Đồng Tâm TS BS Vũ Thị Hồng Anh Trưởng khoa - phòng Trưởng phòng kế hoạch tổng hợp: BSCKII.ThS Phạm Mỹ Hoài Trưởng Khoa Nội – Khám bệnh: ThS.BS Hà Huy Phương Trưởng Khoa Phụ Sản : TS Lê Minh Chính Trưởng Khoa Ngoại – Gây mê hồi sức: BSCKII.ThS Nguyễn Công Bình Trưởng Khoa Các chuyên khoa: TS Phạm Công Chính Trưởng Khoa Cận lâm sàng : TS Nguyễn Thị Hoa Trưởng Khoa Dược : ThS.DS Phạm Thị Tuyết Nhung Điều dưỡng trưởng bệnh viện : ThS Phùng Văn Lợi Phó trưởng khoa - phòng Phó Trưởng phòng kế hoạch tổng hợp : ThS.BS Đinh Ngọc Thành Phó Trưởng Khoa Nội – Khám bệnh : TS.BS Lưu Thị Bình 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 bệnh nhân bệnh viện Bệnh viện trường đại học y khoa bệnh viện khám chữa bệnh tỉnh Thái Nguyên Do đó, nhu cầu ứng dụng việc quản tin học vào việc quản bệnh nhân nhân viên bệnh viện nhu cầu tất yếu Quản nhân viên bệnh viện: Mỗi nhân viên bệnh viện quản 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 quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Số nhà, (Thôn) Quản bệnh nhân: Khi bệnh nhân nhập viện lần đầu tiên, bệnh viện lưu 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 khác, phone, mobile, email Bệnh nhân chia làm hai loại: Loại có bảo hiểm y tế bảo hiểm y tế Nếu bệnh nhân có bảo hiểm y tế 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 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ệnhtrường hợp sau: - Bệnh nhân đến để khám chữa bệnh thông thường - Bệnh nhân tình trạng cần cấp cứu đặc biệt (các thủ tục nhập viện tiến hành sau) - Bệnh nhân sản phụ trường hợp cấp cứu (thì đưa trực tiếp đến khoa sản) 1.4 Hướng phát triển toán quản bệnh viện Ngày với đời máy tính làm thay đối phong cách làm việc hầu hết quannhân nhà nước Trước thủ tục phải lưu trữ giấy tờ thực việc làm thủ công vừa tốn nhân công việc phải lưu lại nhiều hồ sơ công tác quản đồng thời với cách làm thủ công chắn lưu lại hồ sơ loại nhân viên bệnh nhân thực gây khó khăn trình tìm kiếm, thống kê phải tự tay làm tất khâu Ngày với trợ giúp máy tính ta thực tất công việc cách dễ dàng mà 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 xác nhanh chóng Với hệ thống quản bệnh viện giúp cho ta quản thống kê nhân bệnh viện thống kê bệnh nhân cách nhanh chóng không thời gian công sức nhiều 10 { SqlConnection conn = new SqlConnection(@"Data Source = Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); int maKhoa = cbKhoa.SelectedIndex+1; string sql = "select MaBS, TenBS from BacSi where MaKhoa = " + maKhoa + ";"; SqlCommand cm = new SqlCommand(sql, conn); SqlDataAdapter sda = new SqlDataAdapter(cm); DataSet ds = new DataSet(); sda.Fill(ds, "BacSi"); cbBacSi.DataSource = ds.Tables[0]; cbBacSi.DisplayMember = "TenBS"; cbBacSi.ValueMember = "MaBS"; ds.Dispose(); sda.Dispose(); conn.Close(); } private void nhapBenhNhan(){ SqlConnection conn = new SqlConnection(@"Data Source Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); int coBHYT = (checkCoBHYT.Checked.ToString() == "True") ? : 0; int bnThuong = (checkBNThuong.Checked.ToString() == "True") ? : 0; int dungTuyen = (checkDungTuyen.Checked.ToString() == "True") ? : 0; string dcKhac = (txtDiaChiKhac.Text == "") ? " " : txtDiaChiKhac.Text; string phone = (txtPhone.Text == "") ? " " : txtPhone.Text; string mobile = (txtMobile.Text == "") ? " " : txtMobile.Text; string lienHe = (txtLienHe.Text == "") ? " " : txtLienHe.Text; 46 = string email = (txtEmail.Text == "") ? " " : txtEmail.Text; string diaChi = cbXa.Text+"-"+cbHuyen.Text+"-"+cbTinh.Text; //câu lệnh sql string sql = "insert into BenhNhan values (N'" + txtHoTen.Text + "','" + int.Parse(txtTuoi.Text) + "',N'" + cbLoaiTuoi.Text + "','" + int.Parse(txtNamSinh.Text) + "','" + txtNTNS.Text + "',N'" + cbPhai.Text + "',N'" + cbNghe.Text + "',N'" + cbDanToc.Text + "',N'" + diaChi + "',N'" + dcKhac + "','" + phone + "','" + mobile + "',N'" + lienHe + "','" + email + "'," + coBHYT + "," + bnThuong + "," + dungTuyen + ",N'" + textLyDoKham.Text + "','" + (cbKhoa.SelectedIndex + 1) + "','" + (cbBacSi.SelectedIndex + 1) + "','" + textICD10.Text + "',N'" + textChanDoan.Text + "');"; //Thực thi câu lệnh sql SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Đã thêm bệnh nhân !"); //Load lại bảng danh sách bệnh nhân load_Form(); //Đóng kết nối cmd.Dispose(); conn.Close(); } private void capNhatBN(int maBN) { SqlConnection conn = new SqlConnection(@"Data Source Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); 47 = conn.Open(); int coBHYT = (checkCoBHYT.Checked.ToString() == "True") ? : 0; int bnThuong = (checkBNThuong.Checked.ToString() == "True") ? : 0; int dungTuyen = (checkDungTuyen.Checked.ToString() == "True") ? : 0; string dcKhac = (txtDiaChiKhac.Text == "") ? " " : txtDiaChiKhac.Text; string phone = (txtPhone.Text == "") ? " " : txtPhone.Text; string mobile = (txtMobile.Text == "") ? " " : txtMobile.Text; string lienHe = (txtLienHe.Text == "") ? " " : txtLienHe.Text; string email = (txtEmail.Text == "") ? " " : txtEmail.Text; string diaChi = cbXa.Text+"-"+cbHuyen.Text+"-"+cbTinh.Text; //Câu lệnh sql string sql = "update BenhNhan set TenBN = N'" + txtHoTen.Text + "', Tuoi = " + int.Parse(txtTuoi.Text) + ",LoaiTuoi = N'" + cbLoaiTuoi.Text + "',NamSinh = " + int.Parse(txtNamSinh.Text) + ", NTNS = '" + txtNTNS.Text + "',Phai = N'" + cbPhai.Text + "', NgheNghiep = N'" + cbNghe.Text + "',DanToc = N'" + cbDanToc.Text + "',DiaChi = N'" + diaChi + "',DiaChiKhac=N'" + dcKhac + "',Phone = '" + phone + "',Mobile='" + mobile + "',LienHe=N'" + lienHe + "',Email='" + email + "',CoBHYT=" + coBHYT + ",BNThuong=" + bnThuong + ",DungTuyen=" + dungTuyen + ",LyDoDenKham =N'" + textLyDoKham.Text + "',MaKhoa=" + (cbKhoa.SelectedIndex + 1) + ",MaBS=" + (cbBacSi.SelectedIndex + 1) + ",MaICD10='" + textICD10.Text + "',ChanDoan=N'" + textChanDoan.Text + "' where MaBN="+maBN+";"; //Thực thi câu lệnh SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Đã sửa thông tin bệnh nhân !"); //Load lại table 48 load_Form(); //Đóng kết nối cmd.Dispose(); conn.Close(); loadCBICD10(); textICD10.Text = "0000"; loadKhoa(); load_Form(); } private void btnThemMoi_Click(object sender, EventArgs e) { nhapBenhNhan(); } int dong; private void tableBenhNhan_CellContentClick(object sender, DataGridViewCellEventArgs e) { dong = e.RowIndex; txtMaBN.Text = tableBenhNhan.Rows[dong].Cells[0].Value.ToString(); txtHoTen.Text = tableBenhNhan.Rows[dong].Cells[1].Value.ToString(); txtTuoi.Text = tableBenhNhan.Rows[dong].Cells[2].Value.ToString(); cbLoaiTuoi.Text = tableBenhNhan.Rows[dong].Cells[3].Value.ToString(); txtNamSinh.Text = tableBenhNhan.Rows[dong].Cells[4].Value.ToString(); txtNTNS.Text = tableBenhNhan.Rows[dong].Cells[5].Value.ToString(); cbPhai.Text = tableBenhNhan.Rows[dong].Cells[6].Value.ToString(); cbNghe.Text = tableBenhNhan.Rows[dong].Cells[7].Value.ToString(); cbDanToc.Text = tableBenhNhan.Rows[dong].Cells[8].Value.ToString(); 49 string []s = tableBenhNhan.Rows[dong].Cells[9].Value.ToString().Split('-'); cbXa.Text = s[0]; cbHuyen.Text = s[1]; cbTinh.Text = s[2]; txtDiaChiKhac.Text = tableBenhNhan.Rows[dong].Cells[10].Value.ToString(); txtPhone.Text = tableBenhNhan.Rows[dong].Cells[11].Value.ToString(); txtMobile.Text = tableBenhNhan.Rows[dong].Cells[12].Value.ToString(); txtLienHe.Text = tableBenhNhan.Rows[dong].Cells[13].Value.ToString(); txtEmail.Text = tableBenhNhan.Rows[dong].Cells[14].Value.ToString(); checkCoBHYT.CheckState = (tableBenhNhan.Rows[dong].Cells[15].Value.ToString()=="1")? (CheckState.Checked):(CheckState.Unchecked); checkBNThuong.CheckState = (tableBenhNhan.Rows[dong].Cells[16].Value.ToString() == "1") ? (CheckState.Checked) : (CheckState.Unchecked); checkDungTuyen.CheckState = (tableBenhNhan.Rows[dong].Cells[17].Value.ToString() == "1") ? (CheckState.Checked) : (CheckState.Unchecked); textLyDoKham.Text = tableBenhNhan.Rows[dong].Cells[18].Value.ToString(); cbKhoa.SelectedValue = int.Parse(tableBenhNhan.Rows[dong].Cells[19].Value.ToString())-1; loadBS(int.Parse(tableBenhNhan.Rows[dong].Cells[19].Value.ToString()) 1); loadTextICD10(tableBenhNhan.Rows[dong].Cells[21].Value.ToString()); textICD10.Text = tableBenhNhan.Rows[dong].Cells[21].Value.ToString(); textChanDoan.Text = tableBenhNhan.Rows[dong].Cells[22].Value.ToString(); } 50 private void button2_Click(object sender, EventArgs e) { int maBN = int.Parse(txtMaBN.Text); capNhatBN(maBN); } } } 51 3.3.2 Kết 3.3.3 Mã Form xử sau khám using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace HospitalManagement { 52 public partial class Form2 : Form { public Form2(int MaBN) { InitializeComponent(); loadDuLieu(MaBN); loadKhoa(); loadCBICD10(); txtMaICD10.Text = "0000"; } private void button5_Click(object sender, EventArgs e) { this.Close(); } private void Form2_Load(object sender, EventArgs e) { } private void loadDuLieu(int maBN) { SqlConnection conn = new SqlConnection(@"Data Source = Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); string sql = "select TenBN,Tuoi,LoaiTuoi,Phai,DiaChi,CoBHYT,BNThuong from BenhNhan where MaBN = "+maBN+";"; SqlCommand cm = new SqlCommand(sql, conn); 53 SqlDataReader dr = cm.ExecuteReader(); txtMaBN.Text = maBN.ToString(); if (dr.Read()) { //Đưa liệu form txtHoTen.Text = dr[0].ToString(); txtTuoi.Text = dr[1].ToString(); cbLoaiTuoi.Text = dr[2].ToString(); cbPhai.Text = dr[3].ToString(); txtDiaChi.Text = dr[4].ToString(); checkCoBHYT.CheckState = (dr[5].ToString() == "1") ? == "1") ? Source = (CheckState.Checked) : (CheckState.Unchecked); checkBNThuong.CheckState = (dr[6].ToString() (CheckState.Checked) : (CheckState.Unchecked); //Đóng kết nối dr.Dispose(); cm.Dispose(); conn.Close(); } //Đóng kết nối dr.Dispose(); cm.Dispose(); conn.Close(); } private void loadKhoa() { SqlConnection conn = new SqlConnection(@"Data Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); string sql = "select MaKhoa, TenKhoa from Khoa"; 54 SqlCommand cm = new SqlCommand(sql, conn); SqlDataAdapter sda = new SqlDataAdapter(cm); DataSet ds = new DataSet(); sda.Fill(ds, "Khoa"); cbKhoa.DataSource = ds.Tables[0]; cbKhoa.DisplayMember = "TenKhoa"; cbKhoa.ValueMember = "MaKhoa"; ds.Dispose(); sda.Dispose(); conn.Close(); } private void cbKhoa_SelectedIndexChanged(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(@"Data Source = Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); int maKhoa = cbKhoa.SelectedIndex + 1; string sql = "select MaBS, TenBS from BacSi where MaKhoa = " + maKhoa + ";"; SqlCommand cm = new SqlCommand(sql, conn); SqlDataAdapter sda = new SqlDataAdapter(cm); DataSet ds = new DataSet(); sda.Fill(ds, "BacSi"); cbBacSi.DataSource = ds.Tables[0]; cbBacSi.DisplayMember = "TenBS"; cbBacSi.ValueMember = "MaBS"; ds.Dispose(); sda.Dispose(); conn.Close(); } 55 private void loadCBICD10() { SqlConnection conn = new SqlConnection(@"Data Source Q84LE0C06IB216Y; Initial Catalog = QLBV; Integrated Security = True"); conn.Open(); string sql = "select MaICD10, TenICD10 from ICD10"; SqlCommand cm = new SqlCommand(sql, conn); SqlDataAdapter sda = new SqlDataAdapter(cm); DataSet ds = new DataSet(); sda.Fill(ds, "ICD10"); cbICD10.DataSource = ds.Tables[0]; cbICD10.DisplayMember = "TenICD10"; cbICD10.ValueMember = "MaICD10"; ds.Dispose(); sda.Dispose(); conn.Close(); } private void cbICD10_SelectedIndexChanged(object sender, EventArgs e) { txtMaICD10.Text = cbICD10.SelectedValue.ToString(); } private void button1_Click(object sender, EventArgs e) { this.Close(); } } } 56 = 3.3.4 Kết 57 KẾT LUẬN Sau thời gian thực tập làm báo cáo, em làm công việc sau: + Nắm vững nghiệp vụ, quy trình quản bệnh nhân bệnh viện trường đại học Y Khoa + Xây dựng sở liệu SQL Server 2005 + Thiết kế giao diện chương trình Visual Studio 2012 Express + Nhập thông tin bệnh nhân + Đưa liệu lên form xử sau khám Tuy nhiên hạn chế thời gian kiến thức em chưa hoàn thành số chức giao diện phần mềm Hướng phát triển đề tài: Để chương trình hoạt động hiệu cần liệu phải lưu trữ hệ quản trị sở liệu có tính bảo mật Cần có kết hợp song song quản nhân viên bệnh nhân cách chặt chẽ để việc theo dõi quản bệnh viện tốt Nếu đưa chương trình quản thông tin bệnh nhân lên trang Web để giúp cho người than bệnh nhân có thuận lợi để theo dõi trình điều trị bệnh người than cho dù ngồi nhà hay nơi Đồng thời bệnh nhân nằm điều trị bệnh viện, mà cần phải chuyển đến bệnh viện khác điều trị, bác sĩ bệnh viện tiếp nhận không cần xem hồ sơ bệnh nhân mà cần lên trang web bệnh viện nơi bệnh nhân chuyển đến để xem biết toàn thong tin bệnh nhân như: Hồ sơ bệnh nhân, bệnh án bệnh nhân… Chương trình chạy mạng LAN, WAN, Internet 58 TÀI LIỆU THAM KHẢO [1] www.Atheenah.com [2] Giáo trình visual studio [3] Giáo trình hệ quản trị CSDL MS SQL Server [4] Giáo trình SQL Server 2005 [5] SQL Server 2005, T-SQL Recipes: Problem, Solution, Approach – Appress Publisher [6] www.doc.edu.vn [7] Sams Teach yourself Microsoft SQL Server 2005 Express in 24 hours [8] Giáo trình ngôn ngữ c# - lập trình 59 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Giảng viên hướng dẫn Sinh viên Nguyễn Hải Minh Ly A Vừ 60 ... chung Chương 2: Ngôn ngữ lập trình hệ quản trị sở liệu Chương 3: Quy trình tính toán quản lý cài đặt chương trình quản lý bệnh nhân bệnh viện trường đại học Y Khoa CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1... việc quản lý tin học vào việc quản lý bệnh nhân nhân viên bệnh viện nhu cầu tất y u Quản lý nhân viên bệnh viện: Mỗi nhân viên bệnh viện quản lý thông tin sau đ y: Họ, tên, giới tính, tuổi, ng y. .. Khám bệnh : TS.BS Lưu Thị Bình 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 bệnh viện Bệnh viện trường đại học y khoa bệnh viện khám chữa bệnh tỉnh Thái Nguyên

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

Từ khóa liên quan

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

Tài liệu liên quan