Xây dựng chương trình quản lý nguyên vật liệu tại công ty TNHH Bao bì Thăng Long – Hưng Yên
Trang 1LỜI CẢM ƠN
Khóa luận tốt nghiệp là bước cuối cùng đánh dấu sự trưởng thành của một sinh viên ở giảng đường đại học Để trở thành một cử nhân hay một kỹ sư đóng góp những
gì mình học được cho sự phát triển của đất nước
Để hoàn thành bài khóa luận “ Xây dựng chương trình quản lý Nguyên vật liệu tại công ty TNHH Bao bì Thăng Long – Hưng Yên ” Em xin bày tổ lòng biết ơn sâu
sắc đến TS.Nguyễn Văn Huân người đã hướng dẫn và tận tình chỉ bảo em trong suốt quá trình thực hiện khóa luận này, ngoài ra còn các thầy cô trong khoa Hệ thống thông tin Kinh tế của trường Đại học Công nghệ thông tin và Truyền thông
Đồng thời em xin chân thành cám ơn anh Nguyễn Văn Huấn thủ kho công ty TNHH Bao bì Thăng Long đã giúp đỡ em trong suốt thời gian vừa qua
Cuối cùng em xin cảm ơn sự quan tâm, chia sẻ, ủng hộ của gia đình và bạn bè
Thái Nguyên, ngày 13 tháng 04 năm 2013
Sinh viên thực hiện
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan bài khóa luận tốt nghiệp này là công trình nghiêm cứu thực sự của cá nhân tôi, được thực hiện dựa trên cơ sở lý thuyết, kiến thức chuyên ngành, nghiêm cứu khảo sát tình hình thực tiễn và dưới sự hướng dẫn khoa học của các thầy
cô giáo
Các số liệu, bảng biểu trong khóa luận là hoàn toàn trung thực, các nhận xét, phương hướng đưa ra là xuất phát từ thực tiễn và kinh nghiệm hiện có
Một lần nữa tôi xin khẳng định sự trung thực của tôi về lời cam đoan trên
Sinh viên thực hiện
Trang 3DANH MỤC HÌNH ẢNH
Hình 2.1 Sơ đồ bộ máy tổ chức quản lý của công ty TNHH Bao bì Thăng Long 21
Hình 2.2.1 Sơ đồ phân cấp chức năng 50
Hình 2.2.2 Biểu đồ luồng dữ liệu khung cảnh 51
Hình 2.2.3 Sơ đồ luồng dữ liệu mức đỉnh 52
Hình 2.2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng QL Hệ thống 53
Hình 2.2.5 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý NVL 53
Hình 2.2.6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý danh mục 54
Hình 2.2.7 sơ đồ luồng dữ liệu chức năng thống kê báo cáo 55
Hình 2.3.8 Sơ đồ quan hệ 59
Hình 3.2.1 Giao diện chính của chương trình 61
Hình 3.2.2 Giao diện Danh mục loại Nguyên vật liệu 62
Hình 3.2.3 Giao diện Danh mục Nguyên vật liệu 62
Hình 3.2.4 Giao diện Danh mục nhà cung cấp 62
Hình 3.2.5 Giao diện Danh mục phân xưởng 63
Hình 3.2.6 Giao diện phiếu nhập nguyên liệu 63
Hình 3.2.7 Giao diện phiếu xuất Nguyên vật liệu 64
Hình 3.2.8 Giao diện chi tiết phiếu nhập nguyên vật liệu 65
Hình 3.2.9 Giao diện chi tiết phiếu xuất Nguyên vật liệu 66
Trang 5DANH MỤC CÁC BẢNG
Bảng 2.3.1: Bảng “Nguyên liệu” 63
Bảng 2.3.2: Bảng “Nhân viên” 63
Bảng 2.3.3: Bảng “Kho” 63
Bảng 2.3.4: Bảng “Khách hàng” 64
Bảng 2.3.5: Bảng “Phân xưởng” 64
Bảng 2.3.6: Bảng “Phiếu xuất” 65
Bảng 2.3.7: Bảng “Phiếu nhập” 65
Bảng 2.3.8: Bảng “Bảng tổng hợp trong tháng” 66
Trang 6MỤC LỤC
1.1 Khái quát về nguyên vật liệu 9
1.1.1 Khái niệm nguyên vật liệu 9
1.1.2 Đặc điểm và vai trò của nguyên vật liệu trong quá trình sản xuất 9
1.1.3 Các phương pháp phân loại nguyên vật liệu 10
1.1.4 Các phương pháp tính giá NVL 11
Trang 7LỜI NÓI ĐẦU
Lý do chọn đề tài
Ngày nay công nghệ thông tin đang ngày càng phát triển, các doanh nghiệp ngày nay đã quá quen thuộc với việc ứng dụng công nghệ thông tin vào các hoạt động của mình từ những công việc đơn giản hay phức tạp Thế giới công nghệ đang thay đổi và ngày càng đơn giản hóa mọi công việc, tìm ra giải pháp nhanh nhất cho mọi vấn đề Để
có thể theo kịp thời đại thì bản thân chúng ta phải thay đổi chính mình, phải tạo cho bản thân thích ứng với một thế giới mới, phải không ngừng phát triển bản thân
Ra đời trong thời điểm ngành công nghiệp sản xuất bao bì của nước ta đang trên
đà phát triển mạnh Để tạo được uy tín trên thị trường, doanh nghiệp phải luôn cố gắng phấn đấu, tạo nhiều sản phẩm chất lượng tốt cùng sự phục vụ tốt nhất cho hách hàng
Để làm được điều đó, doanh nghiệp đã làm tốt mọi quá trình trong việc sản xuất, kinh doanh kết hợp với việc sử dụng công nghệ thông tin để đem lại hiệu quả như mong muốn Trong đó, quản lý nguyên vật liệu là một khâu quan trọng trong quá trình hạch toán và quản lý sản xuất kinh doanh của công ty Nó đóng góp vai trò quan trọng trong ghi chép, phản ánh kịp thời số lượng, chất lượng từng loại nguyên vật liệu và tình hình thu mua, dự trữ vật liệu nhằm hạn chế mức thiệt hại thấp nhất cho công ty
Từ thực tế đó, em chọn đề tài “Xây dựng chương trình quản lý nguyên vật liệu tại công ty TNHH Bao bì Thăng Long – Hưng Yên ”.
Mục tiêu nghiên cứu
Với yêu cầu đặt ra là các chương trình mới này phải khắc phục được những nhược điểm của hệ thống quản lý cũ, các bài toán khi đưa vào máy tính xử lý phải đạt được kết quả ở mức tối ưu nhất, giảm được tối đa thời gian và chi phí, đem lại hiệu quả cao nhất cho người dùng Thông tin phải được tổ chức thành 1 hệ thống cơ sở dữ liệu sao cho có thể đáp ứng mọi nhu cầu của nhiều người dùng, nhiều chương trình ứng dụng khai thác mà dữ liệu vẫn được quản lý một cách tập trung và luôn được cập nhật kịp thời Mặc khác, hệ thông này cũng cần phải tiết kiệm không gian lưu trữ
Trang 8Đối tượng và phạm vi nghiên cứu
Về đối tượng nghiêm cứu: đề tài mang đến cái nhìn tổng quan về quản lý Nguyên vật liệu trong doanh nghiệp và ứng dụng công nghệ thông tin trong công tác quản lý Nguyên vật liệu
Về phạm vi nghiên cứu: đề tài tập trung nghiên cứu về quy trình quản lý nguyên vật liệu trong doanh nghiệp, tiến hành khảo sát và mô tả bài toán, tiến hành phân tích
và thiết kế hệ thống chương trình kế toán tài sản cố định cho Công ty TNHH Bao Bì Thăng Long- Hưng Yên, tiến hành triển khai thử nghiệm cho một số module
Ý nghĩa khoa học và thực tiền đề tài
Đề tài mang lại những kiến thức chung nhất về quản lý Nguyên vật liệu trong doanh nghiệp đồng thời với các ứng dụng của công nghệ thông tin, đặc biệt là sự phát triển mạnh của các ngôn ngữ lập trình đã giúp xây dựng nên chương trình quản lý Nguyên vật liệu cho Công ty TNHH Bao Bì Thăng Long- Hưng yên
Chương trình thực nghiệm giúp cho công tác quản lý Nguyên vật liệu tại công ty được dễ dàng hơn, tiết kiệm chi phí, thời gian và công sức lao động và nâng cao hiệu quả sản xuất
Bố cục bài khóa luận
Ngoài các mục: lời cám ơn, lời cam đoan, lời mở đầu, kết luận, danh mục chữ viết tắt, Danh mục hình ảnh, Tài liệu tham khảo thì bài khóa luận gồm 3 chương:
Chương 1: Tổng quan về quản lý nguyên vật liệu
Chương 2: Phân tích, thiết kế hệ thống
Chương 3: Cài đặt chương trình quản lý nguyên vật liệu
Em xin chân thành cảm ơn!
Thái Nguyên, ngày … tháng … năm 2013
Sinh viên thực hiệnTrần Tố Loan
Trang 9Chương 1
TỔNG QUAN VỀ QUẢN LÝ NGUYÊN VẬT LIỆU 1.1 Khái quát về nguyên vật liệu
1.1.1 Khái niệm nguyên vật liệu
Trong các doanh nghiệp sản xuất NVL là những đối tượng lao động,thể hiện dưới dạng vật hoá là một trong ba yếu tố cơ bản của quá trình sản xuất, là cơ sở vật chất cấu thành nên thực thể sản phẩm
Trong quá trình tham gia vào sản xuất kinh doanh, NVL chỉ tham gia vào một chu kỳ sản xuất nhất định, NVL bị tiêu hao toàn bộ và không giữ nguyên hình thái vật chất ban đầu mà giá trị của NVL được chuyển toàn bộ một lần vào chi phí sản xuất và giá thành sản phẩm mới làm ra
1.1.2 Đặc điểm và vai trò của nguyên vật liệu trong quá trình sản xuất
* Đặc điểm của nguyên vật liệu:
Nguyên liệu là những tài sản lưu động thuộc nhóm hàng tồn kho, tham gia vào giai đoạn đầu của quá trình sản xuất kinh doanh để hình thành nên sản phẩm mới, chúng rất đa dạng và phong phú về chủng loại
Khi tham gia vào quá trình sản xuất nguyên vật liệu bị tiêu hoa toàn bộ giá trị một lần vào giá trị sản phẩm mới tạo ra
Khi tham gia vào quá trình sản xuất nguyên vật liệu bi tiêu hao và bị thay đổi hình thái vật chất ban đầu
* Vai trò của nguyên vật liệu:
Chi phí về các loại vật liệu thường chiếm một tỉ trọng lớn trong toàn bộ chi phí sản xuất và giá thành sản phẩm trong các Doanh nghiệp sản xuất Do đó vật liệu không chỉ quyết định đến mặt số lượng của sản phẩm, mà nó còn ảnh hưởng trực tiếp đến chất lượng sản phẩm tạo ra NVL có đảm bảo đúng quy cách, chủng loại, sự đa dạng thì sản
Trang 10phẩm sản xuất mới đạt được yêu cầu và phục vụ cho nhu cầu tiêu dùng ngày càng cao của xã hội.
Như ta đã biết, trong quá trình sản xuất vật liệu bị tiêu hao toàn bộ không giữ nguyên được hình thái vật chất ban đầu, giá trị của nó chuyển một lần toàn bộ vào giá trị sản phẩm mới tạo ra Do đó, tăng cường quản lý công tác kế toán NVL đảm bảo việc sử dụng tiết kiệm và hiệu quả nhằm hạ thấp chi phí sản xuất, hạ giá thành sản phẩm, tăng thu nhập cho Doanh nghiệp có ý nghĩa rất quan trọng Việc quản lý vật liệu phải bao gồm các mặt như: số lượng cung cấp, chất lượng chủng loại và giá trị Bởi vậy, công tác kế toán NVL là điều kiện không thể thiếu được trong toàn bộ công tác quản lý kinh tế tài chính của Nhà nước nhằm cung cấp kịp thời đầy đủ và đồng bộ những vật liệu cần thiết cho sản xuất, kiểm tra được các định mức dự trữ, tiết kiệm vật liệu trong sản xuất, ngăn ngừa và hạn chế mất mát, hư hỏng, lãng phí trong tất cả các khâu của quá trình sản xuất Đặc biệt là cung cấp thông tin cho các bộ phận kế toán nhằm hoàn thành tốt nhiệm vụ kế toán quản trị
1.1.3 Các phương pháp phân loại nguyên vật liệu
Phân loại vật liệu là quá trình sắp xếp vật liệu theo từng loại, từng nhóm trên một căn cứ nhất định nhưng tuỳ thuộc vào từng loại hình cụ thể của từng Doanh nghiệp theo từng loại hình sản xuất, theo nội dung kinh tế và công dụng của vật liệu trong quá trình sản xuất kinh doanh Hiện nay các Doanh nghiệp thường căn cứ vào nội dung kinh tế và công dụng của vật liệu trong quá trình sản xuất kinh doanh để phân chia vật liệu thành các loại sau:
* Nguyên liệu, vật liệu chính: là đối tượng lao động chủ yếu của Công ty và là cơ
sở vật chất chủ yếu cấu thành nên thực thể vật chất chủ yếu của sản phẩm như: xi măng, sắt thép trong xây dựng cơ bản, vải trong may mặc NVL chính dùng vào sản xuất sản phẩm hình thành nên chi phí NVL trực tiếp
* Vật liệu phụ: cũng là đối tượng lao động, chỉ có tác dụng phụ trợ trong sản xuất được dùng với vật liệu chính làm tăng chất lượng sản phẩm, như hình dáng màu sắc hoàn chỉnh sản phẩm hoặc phục vụ cho công việc quản lý sản xuất Vật liệu phụ bao
Trang 11gồm: thuốc nhuộm, thuốc tẩy, sơn các loại, phụ gia bêtông, dầu mỡ bôi trơn, xăng chạy máy, và các loại khác.
* Nhiên liệu: là những vật liệu được sử dụng để phục vụ cho công nghệ sản xuất sản phẩm, kinh doanh như phương tiện vận tải, máy móc thiết bị hoạt động trong quá trình sản xuất Nhiên liệu bao gồm các loại như: xăng dầu chạy máy, than củi, khí ga
* Phụ tùng thay thế: là các chi tiết phụ tùng, sử dụng để thay thế sửa chữa các loại máy móc thiết bị sản xuất, phương tiện vận tải
* Vật liệu và thiết bị xây dựng cơ bản: bao gồm các loại vật liệu và thiết bị, phương tiện lắp đặt vào các công trình xây dựng cơ bản của Doanh nghiệp xây lắp
* Vật liệu khác: là các loại vật liệu còn được xét vào các loại kể trên như phế liệu thu hồi từ thanh lý tài sản cố định, từ sản xuất kinh doanh như bao bì, vật đóng gói…
* Phế liệu: là những loại vật liệu thu được trong quá trình sản xuất, thanh lý tài sản có thể sử dụng hay bán ra ngoài.( phôi bào, vải vụn…) Tuỳ thuộc vào yêu cầu quản lý và hạch toán chi tiết của từng Doanh nghiệp mà trong từng loại vật liệu nêu trên lại được chia thành từng nhóm, từng quy cách từng loại một cách chi tiết hơn
1.1.4 Các phương pháp tính giá NVL
Tính giá nguyên vật liệu
Tính giá NVL là xác định giá trị NVL theo một nguyên tắc nhất định Theo quy định hiện hành, kế toán nhập xuất tồn kho NVL phải phản ánh theo giá thực tế, khi xuất kho cũng phải xác định theo giá thực tế xuất kho theo đúng phương pháp quy định Tuy nhiên trong không ít Doanh nghiệp để đơn giản và giảm bớt khối lượng ghi chép, và tính toán hàng ngày có thể sử dụng giá hạch toán để hạch toán tình hình nhập xuất vật liệu…
Trang 12Tính giá vật liệu theo giá thực tế
* Giá vật liệu thực tế nhập kho:
Trong các doanh nghiệp sản xuất - xây dựng cơ bản, nguyên vật liệu được nhập
từ nhiều nguồn nhập mà giá thực tế của chúng trong từng lần nhập được xác định cụ thể như sau:
- Đối với vật liệu mua ngoài: Trị giá vốn thực tế nhập kho là giá trị mua ghi trên hoá đơn cộng với các chi phí thu mua thực tế (bao gồm chi phí vận chuyển, bốc xếp, bảo quản, phân loại, bảo hiểm ) cộng thuế nhập khẩu (nếu có) trừ các khoản giảm giá triết khấu (nếu có) Giá mua ghi trên hoá đơn nếu tính thuế GTGT theo phương pháp khấu trừ thì bằng giá chưa thuế, nếu tính thuế GTGT theo phương pháp trực tiếp thì bằng giá có thuế
- Đối với vật liệu Doanh nghiệp tự gia công chế biến vật liệu: Trị giá vốn thực tế nhập kho là giá thực tế của vật liệu, công cụ dụng cụ xuất đem gia công chế biến cộng các chi phí gia công, chế biến và chi phí vận chuyển, bốc dỡ (nếu có)
- Đối với vật liệu thuê ngoài gia công chế biến giá thực tế gồm: Trị giá thực tế của vật liệu, công cụ dụng cụ xuất thuê ngoài gia công chế biến cộng với các chi phí vận chuyển, bốc dỡ đến nơi thuê chế biến về Doanh nghiệp cộng số tiền phải trả cho người nhận gia công chế biến
- Trường hợp Doanh nghiệp nhận vốn góp vốn liên doanh của các đơn vị khác bằng vật liệu thì giá thực tế là giá do hội đồng liên doanh thống nhất định giá Cộng với chi phí khác (nếu có)
- Phế liệu thu hồi nhập kho: Trị giá thực tế nhập kho chính là giá ước tính thực tế
có thể bán được
- Đối với vật liệu được tặng thưởng: thì giá thực tế tính theo giá thị trường tương đương Cộng chi phí liên quan đến việc tiếp nhận
Trang 13* Giá thực tế xuất kho:
Vật liệu được thu mua nhập kho thường xuyên từ nhiều nguồn khác nhau, do vậy giá thực tế của từng lần, đợt nhập kho không hoàn toàn giống nhau Đặc biệt, đối với các Doanh nghiệp thuộc đối tượng nộp thuế GTGT theo phương pháp khấu trừ thuế hay theo phương pháp trực tiếp trên GTGT và các Doanh nghiệp không thuộc đối tượng chịu thuế GTGT thì giá thực tế của vật liệu thực tế nhập kho lại càng có sự khác nhau trong từng lần nhập Vì thế mỗi khi xuất kho, kế toán phải tính toán xác định được giá thực tế xuất kho cho các nhu cầu, đối tượng sử dụng khác nhau theo phương pháp tính giá thực tế xuất kho đã đăng ký áp dụng và phải đảm bảo tính nhất quán trong niên độ kế toán Để tính giá thực tế của NVL xuất kho có thể áp dụng một trong những phương pháp sau:
- Tính theo giá thực tế bình quân gia quyền:
Theo phương pháp này giá trị của từng loại hàng tồn kho được tính theo giá trị trung bình của từng loại hàng tồn kho tương tự đầu kỳ và giá trị từng loại hàng tồn kho được mua hoặc sản xuất trong kỳ Giá trị trung bình có thể được tính theo thời kỳ hoặc vào mỗi khi nhập một lô hàng về, phụ thuộc vào tình hình của doanh nghiệp
Trị giá thực tế xuất kho của vật tư được căn cứ vào số lượng vật tư xuất kho và đơn giá bình quân gia quyền, theo công thức:
Đơn giá bình quân ra quyền = [(G/H)/(K/Q)]
Trong đó:
+ G: Trị giá vốn thực tế vật tư đầu kỳ
+ H: Số lượng vật tư tồn kho đầu kỳ
+ K: trị giá vốn thực tế vật tư nhập trong kỳ
+ Q: Số lượng vật tư nhập trong kỳ
+ Trị giá vốn thực tế vật tư xuất kho thì bằng số lượng vật tư xuất kho(tồn kho) nhân với đơn gia bình quân
Trang 14Đơn giá bình quân thường được tính cho từng vật tư Đơn giá bình quân có thể xác định cho cả kỳ được gọi là đơn giá bình quân cả kỳ hay đơn giá bình quân cố định Theo cách này, khối lượng tính toán giảm nhưng chỉ tính được trị giá vốn thực tế của vật tư vào thời điểm cuối kỳ nên không thể cung cấp thông tin kịp thời.
Đơn giá bình quân có thể xác định sau mỗi lần nhập được gọi là đơn giá bình quân di động, theo cách tính này xác định được trị giá vốn thực tế vật tư hàng ngày cung cấp thông tin được kịp thời Tuy nhiên, khối lượng công việc sẽ nhiều lên nên phương pháp này rất thích hợp với những doanh nghiệp làm kế toán máy
- Tính theo giá nhập trước xuất trước –Firt in firt out(FIFO):
Theo phương pháp này ta phải xác định được đơn giá thực tế nhập kho của từng lần nhập và giả thiết tài sản nào nhập trước thì xuất trước, hàng nào nhập sau thì xuất sau Sau đó căn cứ vào số lượng xuất kho để tính ra giá thực tế xuất kho theo nguyên tắc: tính theo đơn giá thực tế nhập trước đối với lượng xuất kho đối với lần nhập trước,
số còn lại được tính theo đơn giá thực tế lần nhập tiếp theo Như vậy, giá thực tế của vật liệu tồn cuối kỳ chính là giá thực tế của vật liệu nhập kho thuộc các lần mua vào sau cùng
Điều kiện áp dụng:
+ Chỉ dùng phương pháp này để theo dõi chi tiết về số lượng và đơn giá của từng lần nhập - xuất kho
+ Khi giá vật liệu trên thị trường có biến động chỉ dùng giá thực tế để ghi sổ
- Tính theo giá thực tế nhập sau xuất trước - Last in firt out (LIFO):
Theo phương pháp này những vật liệu nhập kho sau thì xuất trước và khi tính toán mua thực tế của vật liệu xuất kho theo nguyên tắc: tính theo đơn giá thực tế của lần nhập sau cùng đối với số lượng xuất kho thuộc lần nhập sau cùng, số còn lại được tính theo đơn giá thực tế của các lần nhập trước đó Như vậy, giá thực tế của vật liệu tồn kho cuối kỳ lại là giá thực tế vật liệu thuộc các lần nhập đầu kỳ Điều kiện áp dụng: giống như phương pháp nhập trước - xuất trước
Trang 15- Tính theo giá thực tế đích danh:
Phương pháp này thường được áp dụng đối với các vật liệu có giá trị cao, các loại vật liệu đặc chủng Giá thực tế vật liệu xuất kho được căn cứ vào số lượng xuất kho và đơn giá nhập kho (mua) thực tế của từng hàng, từng lần nhập từng lô hàng và số lượng xuất kho theo từng lần nhập
Điều kiện áp dụng:
+ Theo dõi chi tiết về số lượng và đơn giá của từng lần nhập - xuất theo từng hoá đơn mua riêng biệt
+ Đơn vị chỉ dùng một loại giá thực tế ghi sổ
+ Trong quá trình bảo quản ở kho thì phân biệt theo từng lô hàng nhập - xuất
- Phương pháp tính theo giá mua lần cuối:
Điều kiện áp dụng trong các doanh nghiệp có nhiều chủng loại hàng, mẫu mã khác nhau, giá trị thấp thường xuyên xuất kho Phương pháp này có ưu điểm là đơn giản, dễ làm nhưng độ chính xác lại không cao:
Tổng giá thực tế NVL xuất trong kỳ = st +sn -std
Trang 16Tính giá vật liệu theo hạch toán
Do NVL có nhiều loại, thường tăng giảm trong quá trình sản xuất, mà yêu cầu của công tác kế toán NVL phải phản ánh kịp thời tình hình biến động và số liệu có của NVL nên trong công tác hạch toán NVL có thể sử dụng giá hạch toán để hạch toán tình hình nhập xuất NVL hàng ngày
Khi áp dụng phương pháp này toàn bộ vật liệu biến động trong kỳ được tính theo giá hạch toán (giá kế toán hay một loại giá ổn định trong kỳ) Hàng ngày kế toán sử dụng giá hạch toán để ghi sổ chi tiết giá trị vật liệu nhập xuất Cuối kỳ phải tính toán
để xác định giá trị vật liệu xuất dùng trong kỳ theo các đối tượng theo giá mua thực tế bằng cách xác định hệ số giá giữa giá mua thực tế và giá mua hạch toán của vật liệu luân chuyển trong kỳ
- Trước hết phải xác định hệ số giữa thực tế và giá hạch toán của vật liệu:
Hệ số giá = [(G + sn)/(N+M)]
Trong đó:
+ N: Giá vật liệu tồn đầu kỳ hạch toán
+M : Tổng giá hạch toán vật liệu nhập trong kỳ
- Sau đó tính giá thực tế của hàng xuất kho trong kỳ, căn cứ vào giá hạch toán xuất kho và hệ số giá
Phương pháp này sử dụng trong điều kiện:
- Doanh nghiệp dùng hai loại giá thực tế và giá hạch toán
Giá thực tế Nguyên vật liệu xuất trong kỳ
=
Giá hạch toán Nguyên vật liệu xuất trong kỳ
số giá
Trang 17- Doanh nghiệp không theo dõi được về số lượng vật liệu.
- Tính theo loại nhóm vật liệu
1.1.5 Nhiệm vụ của quản lý nguyên vật liệu
* Yêu cầu quản lý nguyên vật liệu
Vật liệu là tài sản dự trữ sản xuất kinh doanh thuộc tài sản lưu động, thường xuyên biến động Để hoạt động sản xuất kinh doanh diễn ra bình thường, các Doanh nghiệp sản xuất phải thường xuyên mua NVL và xuất dùng cho sản xuất Mỗi loại sản phẩm sản xuất được sử dụng từ nhiều thứ, nhiều loại vật liệu khác nhau, được nhập về
từ nhiều nguồn và giá cả của vật liệu thường xuyên biến động trên thị trường Bởi vậy
để tăng cường công tác quản lý, vật liệu phải được theo dõi chặt chẽ tất cả các khâu từ khâu thu mua bảo quản, sử dụng tới khâu dự trữ Trong quá trình này nếu quản lý không tốt sẽ ảnh hưởng đến chất lượng, giá trị sản phẩm sản xuất ra Do đó yêu cầu quản lý công tác NVL được thể hiện ở một số điểm sau:
Trong khâu thu mua: Đòi hỏi phải quản lý về khối lượng, chất lượng, quy cách, chủng loại, giá mua và chi phí thu mua cũng như kế hoạch mua theo đúng tiến độ, thời gian phù hợp với kế hoạch sản xuất kinh doanh của Doanh nghiệp
Trong khâu bảo quản: Để tránh mất mát, hư hỏng, hao hụt, đảm bảo an toàn vật liệu, thì việc tổ chức tốt kho tàng, bến bãi, thực hiện đúng chế độ quản lý đối với từng loại nguyên vật liệu cũng ảnh hưởng không nhỏ tới quá trình sản xuất và kết quả sản xuất kinh doanh
Trong khâu sử dụng: Đòi hỏi phải thực hiện sử dụng hợp lý, tiết kiệm trên cở sở các định mức, dự toán chi phí nhằm hạ thấp mức tiêu hao vật liệu trong giá thành sản phẩm, tăng thu nhập, tích luỹ cho Doanh nghiệp Vì vậy, trong khâu này cần tổ chức tốt việc ghi chép, phản ánh tình hình xuất dùng và sử dụng vật liệu trong quá trình hoạt động sản xuất kinh doanh
Trong khâu dự trữ: Doanh nghiệp phải xác định được mức dự trữ tối đa, tối thiểu cho từng loại vật liệu để đảm bảo quá trình sản xuất kinh doanh được bình thường,
Trang 18không bị ngưng trệ, gián đoạn do việc cung ứng không kịp thời hoặc gây tình trạng ứ đọng vốn do dự trữ quá nhiều.
Tóm lại, nguyên vật liệu là yếu tố đầu tiên trong quá trình tạo ra sản phẩm và cũng là yếu tố chủ yếu tạo nên sản phẩm Vì vậy muốn sản phẩm đạt tiêu chuẩn, chất lượng cao và đạt được uy tín trên thị trường nhất thiết phải tổ chức việc quản lý vật liệu Đây là một trong những nội dung quan trọng của công tác quản lý nguyên vật liệu
ở Doanh nghiệp
1.2 Giới thiệu ngôn ngữ lập trình C# và hệ quản trị dữ liệu SQL 2005
1.2.1 Ngôn ngữ lập trình C#
* Giới thiệu về ngôn ngữ C#:
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn.Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC
Những hạn chế của các ngôn ngữ lập trình C/C++:
- Khó khăn cho những người bắt đầu học lập trình
- Không thể kiểm tra hoạt động của code cho đến tận lúc code đã được biên dịch
- Khó khăn trong việc gỡ lỗi bởi có rất ít các công cụ gỡ lỗi và đa số là đắt
- Thời gian phát triển ứng dụng với các ngôn ngữ này là lâu
- Kết nối với CSDL phức tạp
- Các khó khăn trong việc chỉnh sửa dữ liệu
- Khó khăn trong việc thực hiện
- Không có bất kì một Framework
+ C# là ngôn ngữ đơn giản
Trang 19+ C# là ngôn ngữ hướng đối tượng.
+C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
+ C# là ngôn ngữ ít từ khóa
+ C# là ngôn ngữ hướng module
Hằng:
+ Giá trị hằng: Ta có một câu lệnh gán như sau: ví dụ x = 100;
+ Biểu tượng hằng: Gán một tên cho một giá trị hằng, để tạo một biểu tượng hằng dùng từ khóa const và cú pháp sau: <const><type><tên hằng> = <giá trị>;
+ Kiểu liệt kê : Kiểu liệt kê đơn giản là tập hợp các tên hằng có giá trị không thay đổi (thường được gọi là danh sách liệt kê)
+ Kiểu chuỗi ký tự: Kiểu dữ liệu chuỗi khá thân thiện với người lập trình trong bất cứ ngôn ngữ lập trình nào, kiểu dữ liệu chuỗi lưu giữ một mảng những ký tự
Để khai báo một chuỗi chúng ta sử dụng từ khoá string tương tự như cách tạo một thể hiện của bất cứ đối tượng nào: ví dụ string chuoi;
Toán tử if:
+ Câu lệnh:
If (biểu thức điều kiện)
<Khối lệnh thực hiện khi điều kiện đúng>
Trang 20while( điều kiện)
* Cơ bản về NET Framework:
NET Framework là một thành phần cơ bản của Windows cho việc xây dựng và chạy các ứng dụng viết bởi các ngôn ngữ lập trình mới (ứng dụng thế hệ kế tiếp)
NET Framework được thiết kế để:
+ Cung cấp một môi trường nhất quán cho lập trình hướng đối tượng
+ Tối ưu hóa việc phát triển phần mềm và sự xung đột phiên bản bằng việc cung cấp một môi trường thực hiện code
+ Cung cấp môi trường thực thi code an toàn hơn
+ Cung cấp trải nghiệm (experience) nhất quán cho những người phát triển trong việc tạo ra các kiểu ứng dụng khác nhau từ các ứng dụng trên nền tảng Windows, các ứng dụng trên nền tảng Web cho đến các ứng dụng trên nền tảng thiết bị di động, các ứng dụng nhúng…
Dot NET Framework bao gồm 2 thành phần chính:
CLR (Common Language Runtime – Môi trường quản lý ngôn ngữ chung): đây
là thành phần cốt lỗi (xương sống – backbone) của NET Framework thực hiện các chức năng sau:
+ Quản lý bộ nhớ
+ Thực hiện code
+ Xử lý lỗi
Trang 21+Xác nhận sự an toàn của code.
+Thu gom rác
Framework Class Library (FCL): là một tập hợp các kiểu dữ liệu có khả năng sử dụng lại (tập hợp các lớp) và hướng đối tượng hoàn toàn, được sử dụng để phát triển các ứng dụng từ những ứng dụng dòng lệnh truyền thống cho đến những ứng dụng với giao diện đồ họa
* Các tính năng cơ bản của ngôn ngữ lập trình C#:
- C# là một ngôn ngữ lập trình hướng đối tượng thuần túy (pure object oriented programming)
- Kiểm tra an toàn kiểu
- Thu gom rác tự động: giảm bớt gánh nặng cho người lập trình viên trong việc phải viết các đoạn code thực hiện cấp phát và giải phóng bộ nhớ
- Hỗ trợ các chuẩn hóa được ra bởi tổ chức ECMA (European Computer Manufactures Association)
- Hỗ trợ các phương thức và các kiểu phổ quát (chung)
Các ứng dụng của C#: C# có thể sử dụng để viết các kiểu ứng dụng khác nhau:
- Các ứng game
- Các ứng dụng cho doanh nghiệp
- Các ứng dụng cho thiết bị di động: PC Pocket, PDA , cell phone
- Các ứng dụng quản lý đơn giản: ứng dụng quản lý Nguyên vật liệu, quản lý thông tin cá nhân…
- Các ứng dụng phân tán phức tạp trải rộng qua nhiều thành phố, đất nước
Một trong những chức năng quan trọng nhất của một ngôn ngữ lập trình là việc cung cấp cơ sở cho việc quản lý bộ nhớ và các đối tượng được chứa trong bộ nhớ
C cung ứng 3 phương cách để cấp phát bộ nhớ cho các đối tượng:
Trang 22+ Sự cấp phát vùng nhớ tĩnh: khoảng trống dành cho đối tượng thì được cung cấp trong phần mã nhị phân ở thời gian dịch; những đối tượng này có một thời gian sống lâu dài theo sự tồn tại của phần mã nhị phân chứa chúng (các đối tượng).
+ Sự cấp phát vùng nhớ tự động: Các đối tượng tạm thời có thể được chứa trong một chồng (stack), và khoảng trống này thì được trả về một cách tự động
và có thể được dùng lại sau khi khối mã mà chúng (tức các đối tượng tạm thời) được khai báo đã thực thi xong.
+ Sự cấp phát vùng nhớ động : Các khối của bộ nhớ với bất kì cỡ lớn mong muốn nào đều có thể được yêu cầu (hay xin) trong thời gian thi hành bằng cách dùng các hàm thư viện như là malloc() , realloc() và free() từ một khu vực của bộ nhớ có tên là heap ; các khối này có thể được tái dụng sau khi gọi hàm free() để hoàn trả chúng lại cho bộ nhớ của máy.
Ba phương án này thích hợp cho các tình huống khác nhau và có những hậu quả khác nhau Thí dụ, kiểu cấp phát tĩnh sẽ không cần thời gian (để tính toán) cho sự cấp phát, kiểu cấp phát tự động sẽ cần một khoảng thời gian nào đó cho dự tính, và kiểu cấp phát động có thể đòi hỏi một lượng lớn thời gian dùng dễ tính toán cho việc cấp phát và hoàn trả (các vùng nhớ đã được yêu cầu trước đó) Mặt khác, khoảng trống của chồng thường giới hạn cho vùng nhớ tĩnh hay cho khoảng trống của heap, và chỉ kiểu cấp phát vùng nhớ động là cho phép sự cấp phát cho các đối tượng mà kích thước của
nó chỉ có thể biết được trong lúc thi hành Hầu hết các chương trình C đều dùng nhiều
cả ba phương cách này
Khi có thể thì sự cấp phát tự động hay sự cấp phát tĩnh thường được dề nghị dùng
vì kho nhớ được quản lý bởi trình dịch, giải phóng cho người lập trình những lồi lầm phiền hà khi phải xin cấp phát và hoàn trả các vùng nhớ bằng tay Rất tiếc nhiều cấu trúc dữ liệu có thể trương nở trong thời gian thực thi và vì kiểu cấp phát tĩnh và kiểu tự động phải có một độ lớn cố định ở thời gian dịch nên trong nhiều tình huống mà buộc phải dùng kiểu cấp phát động Các dãy thay đổi về độ lớn là một thí dụ điển hình của trường hợp này (Xem thí dụ từ bài malloc về các dãy được cấp phát vùng nhớ động.)
* Quan hệ với C++:
Trang 23C++ nguyên là sự kết thừa từ C Mặc dù vậy, không phải mọi chương trình trong
C đều hợp lệ trong C++ Vì là hai ngôn ngữ độc lập, số lượng không tương thích giữa hai ngôn ngữ này đã tăng lên [2] Phiên bản cuối cùng C99 đã tạo ra thêm nhiều tính năng xung đột (giữa C và C++) Các sự khác nhau này tạo ra khó khăn để viết các chương trình và thư viện đẻ có thể được dịch và hoạt động chính xác trong cả hai loại
mã C hay C++, đồng thời gây nhầm lẫn cho những người lập trình dùng cả hai ngôn ngữ này Sự chênh lệch này cũng gây khó khăn cho ngôn ngữ này có thể tiếp thu các tính năng của ngôn ngữ kia
Bjarne Stroustrup, cha đẻ của C++ đã lập đi lập lại rằng [3]: Các tính chất không tương thích giữa C và C++ nên được hạ thấp càng nhiều càng tốt để mở rộng tối đa khả năng hoạt động thông suốt của hai ngôn ngữ này Một số người tranh biện rằng vì C và C++ là hai ngôn ngữ khác nhau, sự tương thích giữ chúng thì hữu ích nhưng không phải có tính sống còn, theo lập trường này, nỗ lực để giảm sự không tương thích không được phá hủy cố gắng để nâng cao mỗi ngôn ngữ đứng riêng
Ngày nay, những khác nhau căn bản, không kể các mở rộng thêm vào của C++ như là các lớp, các tiêu bản, các không gian tên, và quá tải, giữa hai ngôn ngữ là:
inline — các hàm inline có giá trị toàn cục trong C++ và chỉ có giá trị trong phạm
vi tập tin trong C#
Từ khóa bool trong C99 thì có riêng tập tin tiêu dề của nó là <stdbool.h> Các chuẩn C trước đây đã không định nghĩa kiểu boolean và nhiều phương pháp không tương thích đã được dùng để mô phỏng kiểu boolean
Các hằng kí tự (được đặt trong dấu ') có độ lớn của một int trong C# và có độ lớn của một char trong C++ Mặc dù vậy, ngay cả trong C các hàng này sẽ không bao giờ vượt quá giá trị của một char, cho nên việc chuyển đổi kiểu (char) 'a' thì hoàn toàn an toàn Nhừng từ khóa mới thêm vào trong C++ sẽ không thể dược dùng làm các tên trong C như trước đây nữa (Thí dụ: try, catch, template, new, delete, )
Trang 24Trong C++, trình dịch tự dộng tạo một "thẻ" cho mỗi struct, union hay enum, do vậy, struct S {}; trong C++ tương đương với typedef struct S {} S; trong C#.
C99 tiếp thu một số tính năng mà xuất hiện đầu tiên trong C++ Trong số đó là:Bắt cuộc khai báo nguyên mẫu của hàm
Thêm từ khóa inline
Hủy bỏ "hiểu ngầm" của sự trả về sẽ có kiểu int
* Các lợi ích của C#:
- Cross Language Support: hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngôn ngữ khác nhau
- Hỗ trợ các giao thức Internet chung
- Triển khai đơn giản
- Hỗ trợ tài liệu XML: các chú thích XML có thể được thêm vào các đoạn code
và sau đó có thể được chiết xuất để làm tài liệu cho các đoạn code để cho phép các lập trình viên khi sử dụng biết được ý nghĩa của các đoạn code đã viết
* Môi trường phát triển tích hợp Visusal Studio.Net 2005, 2008
VS là một tập hợp các công cụ phát triển cho việc xây dựng các ứng dụng desktop với hiệu năng cao, các ứng dụng cho thiết bị di động, các dịch vụ Web, các ứng dụng Web Ngoài ra VS 2005 cũng được sử dụng để làm đơn giản hóa quá trình phát triển nhóm, triển khai cài đặt các ứng dụng enterprise
VS cung cấp các lợi ích mở rộng cho việc phát triển các ứng dụng:
+ Nâng cao tính sản phẩm
+ Phát triển các ứng dụng cho NET Framework 2.0
+ Phát triển các ứng dụng cho các thiết bị cầm tay với NET Framework Compact
1.2.2 Hệ quản trị cơ sở dữ liệu SQL server 2005
SQL Server là gì?
Trang 25SQL Server là chữ viết tắt của Structure Query Language, nó là một công cụ quản
lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực Hầu hết các ngôn ngữ bậc cao đều
có trình hỗ trợ SQL như Visual Basic, Oracle,Visual C
Trong Oracle tất cả các chương trình và người sử dụng phải sử dụng SQL để truy nhập vào dữ liệu trong CSDL của Oracle Các chương trình ứng dụng và các công cụ Oracle cho phép người sử dụng truy nhập tới CSDL mà không cần sử dụng trực tiếp SQL Nhưng những ứng dụng đó khi chạy phải sử dụng SQL
SQL Server cung cấp công nghệ và khả năng mà các tổ chức hy vọng kiểm soát được các khó khăn thách thức đang ngày càng tăng đối với việc quản lý dữ liệu và cung cấp thông tin có giá trị kịp thời đến người dùng Với những cải thiện đáng kể trong các lĩnh vực chính của nền tảng nhiệm vụ then chốt, phát triển động, dữ liệu quan
hệ mở rộng và truyền lan tin tức, các lợi ích của SQL Server thể hiện ở đây là rất có giá trị SQL Server là một bộ phận trong toàn cảnh về nền tảng dữ liệu của Microsoft được thiết kế cho việc quản lý và làm việc với dữ liệu ngày nay là xa hơn nữa
SQL Server là một phát hành quan trọng mang đến nhiều tính năng mới và những cải thiện quan trọng làm cho nó trở thành một hệ quản trị cơ sở dữ liệu toàn diện và mạnh mẽ nhất với những cần thiết trong việc bùng nổ dữ liệu ngày nay
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 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ác server khác như Microsoft Internet Information Server (IIS), E -Commerce 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
Trang 26Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAMExpress: 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.
Đặc điểm của SQL server
Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng chạy trên hệ điều hành Windows Điềunày có nghĩa là bạn cài đặt cơ sở dữ liệu SQL Server trên hệ điều hành
đa người dùng Windows NT, Windows 2000…
Dễ dàng xây dựng một cơ sở dữ liệu quan hệ lớn, mỗi cơ sở dữ liệu có thể chứa 2
tỷ quan hệ vàmỗi quan hệ có thể chứa đến 1024 thuộc tính
Giải quyết tình trạng va chạm giữa các user khi cùng truy xuất một dữ liệu tại một thời điểm
Các đối tượng của SQL ServerTable
* Bảng
Là thành phần chính trong cơ sở dữ liệu Bảng là đối tượng lưu trữ dữ liệu thực, khi cần giao tiếpvới cơ sở dữ liệu khác, bảng là đối tượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúngđược coi là một miền dữ liệu
Mỗi bảng được định nghĩa nhiều trường, mỗi trường (field còn gọi là column name) ứng với mộtloại kiểu dữ liệu Dữ liệu nhập vào có thể chấp nhận hoặc từ chối tuỳ thuộc vào nguyên tắc ràng buộc dữ liệu tương thích do hệ thống hay người dùng định nghĩa
Trang 27* Datagram – Lược đồ quan hệ
Khi xây dựng cơ sở dữ liệu ứng dụng hay thương mại điện tử, đều phải dựa trên trình phân tích thiết kế hệ thống Sau những bước phân tích và thiết kế, bạn sẽ thiết lập quan
hệ dữ liệu giữa các thực thể ERD Diagram là công cụ duy nhất giúp bạn thực hiện công việc kết nối trên
* Chỉ mục Indexs
Đối tượng này chỉ tồn tại trong bảng hay khung nhìn, chỉ mục có ảnh hưởng đến tốc độ truy cậpdữ liệu, khi tìm kiếm thông tin trên bảng chỉ mục giúp tăng tốc độ cho việc tìm kiếm
* View
Bảng View trong SQL Server:View là đối tượng cơ sở dữ liệu Chúng được biết đến như một bảng ảo (Virtual table) Bản thânView không chứa dữ liệu mà chỉ truy vấn, kết hợp những dữ liệu từ một hay nhiều bảng có quan hệ lại với nhau
Sử dụng View nhằm cải thiện quá trình truy cập, bằng cách định nghĩa trước phát biểu SQL dạng Select với các điều kiện cố định như phép kết nối, tiêu chuẩn so sánh
cố định, không thay đổi,…
Để thiết kế View trước tiên cần xác định những cột dữ liệu nào cần kết xuất, sau đó xem xét những cột dữ liệu này thuộc về bảng dữ liệu nào Từ đó bạn có thể tạo ra một View
từ những bảng dữ liệu có quan hệ với nhau
Views có thể thêm trường mới dựa vào những phép toán, biểu thức của SQL Server Views có thể kết nối nhiều bảng dữ liệu lại với nhau theo quan hệ nhất định cùng với những tiêu chuẩn, nhằm tạo ra một bảng dữ liệu theo nhu cầu của người dùng mong muốn
Trang 28Những tính năng nổi trội của SQL SERVER
Mã hóa trong suốt và hiệu quả
Trong SQL Server 2005, Microsoft giới thiệu khả năng mã hóa và giải mã CSDL cho ứng dụng đầu cuối bằng cách cung cấp hàm để ứng dụng có thể gọi đến Ở SQL Server 2008 khả năng mã hóa được mở rộng ra cho toàn bộ CSDL, dữ liệu và các tập tin nhật kí cũng như cung cấp khả năng mã hóa trong suốt cho phép ứng dụng có thể
mã hóa và tìm kiếm dữ liệu mã hóa mà không cần phải thiết kế lại
Ngoài ra khả năng sao lưu dữ liệu mã hóa cũng được cải thiện đáng kể nhằm đảm bảo dữ liệu của doan nghiệp không lọt ra ngoài cũng như đảm bảo dữ liệu được sao lưu
và phục hồi bởi người được phép
SQL Server 2008 với khả năng giám sát thông minh hơn
Ở SQL Server 2005, công cụ SQL Trace chỉ cho phép giám sát chủ yếu ở các đối tượng truy cập dữ liệu hơn là bản thân dữ liệu chẳng hạn “ai đăng nhập”, “những quyền nào bị thay đổi” Ở SQL Server 2008 khả năng giám sát dữ liệu được bổ sung thông qua các DDL Với khả năng này cho phép quản trị CSDL thực hiện những giám sát hiệu quả hơn trên dữ liệu đại loại như “Ai đã thay đổi giá trị của cột Lương vượt quá 1 tỉ” hay “Ai đang xem thông tin thẻ tín dụng của người dùng Nguyễn Văn A”Tính năng “Ổn Định Cao” được tăng cường
Với SQL Server 2005, Microsoft đưa ra tính năng Ổn Định Cao “Sao Chụp Dữ Liệu” giữa hai máy chủ SQL Để sử dụng tính năng này đòi hỏi ứng dụng phải cấu hình tự động chống lỗi và tự chuyển đổi phiên kết nối Tuy nhiên đôi khi điều này không phải lúc nào cũng có thể thực hiện được và phiên bản SQL Server 2008 đưa ra
cơ chế chống lỗi phụ để giải quyết vấn đề này Ngoài ra với khả năng cung cấp khả năng cắm nóng CPU mà không cần khởi động lại cũng là một tính năng giúp giảm thiểu thời gian ngừng hoạt động hệ thống
SQL Server 2008 cho phép quản lý CSDL bằng công cụ và chính sách
Trang 29Một trong những tác vụ đòi nhiều kĩ năng và tiêu tốn thời gian nhất cho nhà quản trị CSDL đó chính là tác vụ giám sát và quản lý Ở các hệ thống CSDL kiễu cũ để giám sát và chẩn đoán hiệu quả đòi hỏi nhà quản trị phải có hiểu biết am tường về sản phẩm CSDL cũng như hiện trang của hạ tầng liên quan như phần cứng, tải của ứng dụng và các ứng tác động khác trong hệ thống Với SQL Server 2008, Microsoft đưa ra nền tảng Quản Lý Tường Minh cho phép công việc quản trị trở nên dễ dàng nhưng vẫn đảm bảo được tính hiểu quả Muốn thực hiện được điều này ngoài việc cung cấp các công cụ chấn đoán hiệu quả như Surface Area Configurator, Best Practice Analyzer và Upgrade Advisor, Microsoft còn đưa ra khái niệm quản trị theo chính sách giúp nhà quản trị có thể giám sát chẩn đoán theo một cách tự nhiên nhất chẳng hạn như “Tôi muốn khôi phục hệ thống CSDL trong vòng 1 giờ” chẳng hạn.
Khả năng tích hợp với System Center
Ứng dụng CSDL SQL được sử dụng hầu hết trong các ứng như Exchange Server
2007 UM, Sharepoint Server 2007 cho đến OCS 2007 vì vậy nếu không có khả năng giám sát tập trung hệ CSDL thì đúng là một thiếu sót nặng nề Vì vậy với việc tích hợp tốt nhất với các sản phẩm giám sát hệ thống System Center, doanh nghiệp sẽ hơn trong việc quản lý và giám sát tự động
Lập trình dễ dàng và hiệu quả hơn với SQL Server 2008
Với sự ra đời của nền tảng DotNet 3.5 và bộ công cụ lập trình Visual Studio 2008
đã giúp cho các nhà phát triển ứng dụng và CSDL trên SQL Server 2008 trở nên hiệu quả hơn nhiều Đáng kể nhất trong số đó là ADO.Net mới trong DotNet 3.5 đưa ra khái niệm Nền Tảng Đối Tượng ADO giúp cho lập trình viên thao tác với CSDL như một đối tượng Kế đến không thể nhắc tới đứa con cưng con ngôn ngữ CSDL là LINQ, nhờ
nó mà các lập trình viên có thể chuyển đôi qua lại giữa ngôn ngữ ứng dụng như C#,VB.NET và ngôn ngữ truy vấn SQL, nhờ vậy các nhà lập trình có thể thực hiện truy vấn CSDL ngay trong các dòng lệnh của ngôn ngữ lập trình ứng dụng
Lưu trữ được nhiều loại dữ liệu hơn bao giờ hết
Trang 30Khả năng thao tác song hành trên các bảng dữ liệu phân vùng
SQL Server 2005 hỗ trợ việc lưu trữ và thao tác song hành liên bảng ghi CSDL SQL Server 2008 tiếp tục nâng cao khả năng thao tác song hành với các bảng dữ liệu phân vùng liên hệ thống Điều này có nghĩa là khi người dùng có thể thực hiện một truy vấn mà liên quan đến dữ liệu trên hai phân vùng CSDL thì SQL Server 2008 sẽ xử
lý truy vấn này song hành cùng lúc Tăng tốc khả năng truy vấn dữ liệu
Cùng với khả năng nén CSDL lên đến trên 50% thì hiệu xuất truy vấn dữ liệu cũng được cải thiện đáng kể với Support Star Schema và Star Query Optimizations trên SQL Server 2008
Tăng cường kinh doanh thông minh tích hợp với Office 2007
Tính năng kinh doanh thông minh là tính năng có tầm quan trọng lớn trong các hệ CSDL lớn đặc biệt trong khối tài chính như ngân hàng, chứng khoán Với khả năng tích hợp sâu rộng với bộ ứng dụng Office và ứng dụng Dynamic ERP, SQL Server
2008 cung cấp tốt hơn khả năng hỗ trợ việc thao tác với Kinh Doanh Thông Minh và góp phần quan trọng trong việc đưa ra quyết định ngay từ ứng dụng đầu cuối như quan trang thông tin Sharepoint hay Office Word, Office Excel
Trang 31SQL 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 thực hiện.
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á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ế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.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
* Giới thiệu sơ lược về Transact SQL (T-SQL)
Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chu ẩn của ISO (International Organization for Standardization) và ANSI (American National
Trang 32Standards Institute) được sử dụng trong SQL Server khác với P -SQL (Procedural -SQL) dùng trong Oracle.
SQL chuẩn bao gồm khoảng 40 câu lệnh Trong các hệ quản trị cơ sở dữ liệu khác nhau,mặc dù các câu lệnh đều có cùng dạng và cùng mục đích sử dụng xong mỗi một hệ quản trị cơ sở dữ liệu có thể có một số thay đổi nào đó Điều này đôi khi dẫn đến cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ quản trị cơ cơ sở
dữ liệu khác nhau
Ngôn ngữ định nghĩa dữ liệu ( Data Definition Language –DDL)
Đây là những lệnh dùng để tạo (create), thay đổi (alter) hay xóa (drop) các đối tượng trong CSDL Các câu lệnh DDL th ường có dạng:
Createobject
Alterobject
Dropobject
Trong đó object có thể là: table, view, storedprocedure, function, trigger…
Ví dụ: Câu lệnh Create sau sẽ tạo một bảng mới có tên là Nhanvien trong cơ sở
dữ liệu Test
Bảng Nhanvien này gồm có ba cột: manv, tennv, diachi
Lưu ý:Nếu trong SQL Server 2005 Express Edition chưa có CSDL Test, hãy tạo một create table Nhanvien
(
manv int primary key,
tennv nvarchar(50) not nu ll,
diachi nvarchar(50) not null
)
Trang 33Để chạy câu lệnh SQL trên, mở một Query Editor ,copy câu lệnh vào Query Editor , bôi đen toàn bộ câu lệnh v à bấm F5.Tiếp theo, dùng lệnh alter để thay đổi cấu trúc bảng Nhanvien.Cụ thể là một thêm một cột mớicó tên ghichu vào bảng Nhanvien.alter table Nhanvien
add ghichu nvarchar(50) not null
Cuối cùng, dùng lệnh drop để xóa hoàn toàn bảng Nhanvien ra khỏi CSDL, nghĩa
là toàn bộ định nghĩa bảng và các dữ liệu bên trong đều bị xóa drop table NhanvienLưu ý: Lệnh drop khác với lệnh delete Lệnh delete chỉ xóa các dòng dữ liệu có trong bảng
Ngôn ngữ điều khiển dữ liệu (Data control language –DCL)
Bao gồm: Grant; Deny; Revoke
Ví dụ: Lệnh grant sẽ cấp quyền Select trên bảng Nhanvien trong CSDL Test cho các Users thuộc Role public, grant select, on nhanvien, to public
Sau khi thực hiên lệnh này, có Users trong Role public có thể thực hiện câu lệnh Select trên bảng Nhanvien trong CSDL Test
Dùng lệnh deny để từ chối quyền select trên bảng Nhanvien trong CSDL Test của các Users thuộc Role public
Select trên bảng Nhanvien trong CSDL Test
Dùng lệnh revoke để xóa bỏ các quyền đ ược cấp hay từ chối trước đó
revoke select
Trang 34on nhanvien
to public
Sau khi thực hiện lệnh này, các quyền được gán hay từ chối của Users trong Role public trên bảng Nhanvien trong CSDL Test sẽ được “xóa” hoàn toàn
Ngôn ngữ thao tác dữ liệu (Data mani pulation language –DML)
Đây là các lệnh phổ biến dùng để xử lý dữ liệu Bao gồm:
where nv.tennv like 'A %'
Dấu * hàm ý là lựa chọn tất cả các cột của bảng Nhanvien
Câu lệnh sau sẽ thêm dữ liệu về một nhân viên mới vào trong bảng Nhanvien.insert into Nhanvien
values(1,N'Nguy ễn Văn An', N'22 Nguy ễn Thiện Thuật')
Câu lệnh sau sẽ cập nhật lai địa chỉ của nhân viên có manv là 1
update Nhanvien
set diachi = N'22 Nguyễn Thị Minh Khai'
where manv = 1
Trang 35Câu lệnh sau sẽ xóa thông tin của nhân vi ên có manv là 1 trong bảng Nhanviendelete Nhanvien
where manv = 1
Cú pháp của T-SQL
Các đối tượng trong cơ sở dữ liệu dựa trên SQL (table, view, index, storedprocedure…) được xác định thông qua tên của đối tượng(hay còn gọi là identifier) Tên của các đối tượng là duy nhất trong mỗi cơ sở dữ liệu Tên được sử dụng nhiều nhất trong các truy vấn SQL và được xem là nền tảng trong cơ sở dữ liệu quan hệ là tên bảng và tên cột
Có hai loại Identifiers một loại thông thường (Regular Identifier) v à một loại gọi
là Delimited Identifier, loại này cần có dấu "" hay dấu [] để ngăn cách Loại Delimited
được dùng đối với các chữ trùng với từ khóa của SQL Server (reserved keyword) hay các chữ có khoảng trống
một ng ười dùng khác sở hữu (hiển nhiên là phải được phép) thì tên của bảng phải
được viết sau tên của người sở hữu và phân cách với tên người sở hữu bởi dấu chấm:tên_ngư ời_sở_hữu.t ên_bảng
Trang 36Một số đối tượng cơ sở dữ liệu khác (như khung nhìn, thủ tục, hàm), việc sử dụng tên cũng tương tự như đối với bảng.
Ta có thể sử dụng tên cột một cách bình thường trong các câu lệnh SQL bằng cảch chỉ cần chỉ định tên của cột trong bảng Tuy nhiên, nếu trong câu lệnh có liên quan đến hai cột trở lên có cùng tên trong các bảng khác nhau thì bắt buộc phải chỉ định thêm tên bảng trước tên cột; tên bảng và tên cột được phân cách nhau bởi dấu chấm Ví dụ: Giả sử chúng ta có CSDL như sau:
Để tìm ra khách hàng có tên Nguyễn Văn An đ ã đặt hàng vào ngày nào, câu truy vấn như sau:
Select orderid, orderdate
from orders, customers
where orders.customerid =customers.customerid
and customername = N'Nguy ễn Văn An '
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ừ -2 đến 2
Tinyint Số nguyên có giá tr ị từ 0 đến 255
Smallint Số nguyên có giá tr ị từ -2 đến 2
Bigint Số nguyên có giá tr ị từ -263 đến 263-1
Numeric Kiểu số vớiđộ chính xác cố định
Trang 37Decimal 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 ự)
Ví dụ:Mỗi cột trong bảng sẽ chứa những dữ liệu thuộc về duy nhất một kiểu dữ liệu trong
SQL Server C ột nào chứa những dữ liệu thuộc kiểu n ào sẽ được quy định lúc định nghĩa bảng
Create table Nhanvien
(
MANV NVARCHAR(10) NOT NULL,
HOTEN NVARCHAR(30) NOT NULL,
GIOITINH BIT,
NGAYSINH SMALLDATETIME,
NOISINH NCHAR(50),