- Nếu các sản phẩm: Sai về mã số hàng, tình trạng, cấu hình, các thành phần không đúng với hóa đơn xuất thực hiện thông báo lại cho các bộ phận nhập hàng, kế toán, thông báo cho cơ quan
Trang 1Mục lục
Lời mở đầu 3
Chương 1 : Khảo sát và đặt bài toán 5
1.Yêu cầu chung bài toán quản lý 5
2.Yêu cầu cụ thể của bài toán 5
2.1.Quản trị hệ thống 5
2.2.Quản lý sản phẩm 6
2.3.Quản lý kho 6
2.4.Quản lý khách hàng 12
2.5.Báo cáo thống kê 12
Chương 2 : Lựa chọn công nghệ và công cụ lập trình 13
1.Giới thiệu chung về hệ quản trị cơ sở dữ liệu và SQL Server 2000 13
1.1 Hệ quản trị cơ sở dữ liệu là gì? 13
1.2 Giới thiệu chung về SQL Server 2000 13
1.2.1 Các thành phần của SQL Server 2000 15
1.2.2 Các đối tượng cơ sở dữ liệu 16
1.2.3 Giới thiệu một số đối tượng cơ sở dữ liệu SQL Server 18
1.2.4 Kiểu dữ liệu - Data Type 20
2 Giới thiệu về Visual Studio 2005 20
2.1.Tổng quan về DOTNET 20
2.1.1.Lịch sử và tầm quan trọng của Visual Studio 2005 20
2.1.2.Lý do sử dụng công nghệ này 21
2.2.Môi trường DOTNET 21
2.3.Ngôn ngữ Visual Basic.NET 21
2.4.ADO.NET 22
2.4.1.Giới thiệu chung 22
2.4.2.So sánh với phiên bản ADO 22
2.4.3.Kiến trúc ADO.NET 24
2.4.4 Sử dụng ADO.NET trong Visual Basic.NET 25
Chương 3 : Phân tích thiết kế hệ thống 27
1.Phân tích các chức năng 27
1.1.Quản trị hệ thống 27
1.2.Quản lý sản phẩm 27
1.3.Quản lý kho 28
1.4.Quản lý khách hàng 28
1.5.Báo cáo thống kê 28
2.Sơ đồ phân rã chức năng 29
3.Sơ đồ luồng dữ liệu 30
4.Thiết kế cơ sở dữ liệu 32
Chương 4 : Cài đặt và chạy chương trình 41
1.Cài đặt 42
1.1.Môi trường chạy chương trình 42
1.2.Thiết lập cơ sở dữ liệu 42
Trang 21.2.2.Restore Databases 42
2.Một số giao diện chương trình 43
2.1.Thiết lập cấu hình kết nối cơ sở dữ liệu 43
2.2.Giao diện đăng nhập 44
2.3.Giao diện chính chương trình 45
2.3.1.Quản trị hệ thống 45
2.3.2.Quản lý sản phẩm 46
2.3.3.Quản lý kho 47
2.3.4.Quản lý khách hàng 48
2.3.5.Báo cáo thống kê 48
Kết luận 49
Tài liệu tham khảo 51
Trang 3rõ ràng và ngày càng thay thế các phương thức quản lý thủ công
Quản lý kho trong doanh nghiệp là một công việc quan trọng đòi hỏi bộ phận quản lý phải tiến hành nhiều nghiệp vụ phức tạp Các doanh nghiệp không chỉ có mô hình tập trung
mà còn tổ chức mô hình kho phân tán trên nhiều địa điểm khác nhau Do vậy cách quản lý kho theo phương pháp truyền thống sẽ không còn hiệu quả
Việc ứng dụng CNTT đã mang lại bước đột phá mới cho công tác quản lý kho, giúp doanh nghiệp nắm bắt được thông tin về hàng hóa, vật tư, nguyên vật liệu và sản phẩm một cách chính xác kịp thời Từ đó, người quản lý doanh nghiệp có thể đưa ra các kế hoạch và quyết định đúng đắn, giảm chi phí và tăng khả năng cạnh tranh, nâng cao kết quả hoạt động sản xuất kinh doanh
Nhờ được sự hướng dẫn của thầy Nguyễn Đức Dư trong bước đầu em đã nghiên cứu
và vận dụng kiến thức đã học để xây dựng được chương trình đã đáp ứng tương đối một số yêu cầu đặt ra như trên Tuy do kiến thức còn hạn chế nên chương trình chắc chắn không tránh khỏi các thiếu sót, vì vậy em rất mong được sự góp ý nhắc nhở của các Thầy Cô và của các bạn để có thể từng bước xây dựng chương trình ngày càng hoàn thiện và hiệu quả hơn
Em xin trân thành cảm ơn các Thầy Cô trong Bộ môn Công Nghệ Phần Mềm và khoa CNTT đã tạo điều kiện cho em hoàn thành đề tài tốt nghiệp này
Trang 4Bố cục đồ án được chia làm 4 chương :
Chương 1 : Khảo sát đặt bài toán
Chương 2 : Lựa chọn công nghệ và công cụ lập trình
Chương 3 : Phân tích thiết kế hệ thống
Chương 4 : Cài đặt chương trình
Trang 5Chương 1 : Khảo sát và đặt bài toán
1.Yêu cầu chung bài toán quản lý
Một doanh nghiệp muốn tin học hóa quá trình quản lý của mình, cụ thể là các phần sau: quản lý sản phẩm; quản lý kho; quản trị hệ thống; quản lý thông tin cá nhân Thì việc quản lý phải đảm bảo phân loại sản phẩm được theo các loại, nhãn hiệu, ngành của sản phẩm Đồng thời tạo ra được quan hệ giữa sản phẩm
Chương trình còn có chức năng quản trị hệ thống, dùng để: quản lý tài khoản, nhóm tài khoản, phân quyền Chương trình cũng có phần tạo ra các báo cáo theo các mẫu của doanh nghiệp (có kèm theo trong phụ lục)
Chương trình phải sử dụng được cho tất cả mọi nhân viên trong doanh nghiệp đó và mỗi người dùng trong chương trình chỉ có một số quyền và chỉ được thao tác một số phần nhất định được chỉ ra trước Chương trình cần thực sự dễ dùng đối với ngay cả người có trình độ tin học không cao trong doanh nghiệp
2.Yêu cầu cụ thể của bài toán
Quy trình nghiệp vụ quản lý kho được áp dụng cho toàn bộ quá trình xuất và nhập hàng của bộ phận kho, quá trình quản lý sắp xếp, phân bố vị trí trong kho Công việc chính của bộ phận kho gồm: nhập hàng, xuất hàng, phân bố vị trí trong kho, quản lý thông tin hàng trong kho, hàng tồn Hàng hóa thuộc kho không chỉ là các hàng doanh nghiệp nhập từ các doanh nghiệp, đơn vị khác mà cả hàng hóa sản phẩm tồn chưa bán được, hàng hóa là tài sản
cố định thuộc công ty
Chương trình xây dựng nhằm mục đích phục vụ công việc quản kho tại kho công ty máy tính, bao gồm những nghiệp vụ chính sau:
2.1.Quản trị hệ thống
Là người quản trị hệ thống có các chức năng:
- Quản trị tài khoản người dùng
- Phân quyền cho người dùng
Trang 6- Phân việc cho các user
Trang 7 Bộ phận quản lý kho và bộ phận nhập khẩu thực hiện các thủ tục chuyển giao như kiểm tra hóa đơn, hợp đồng, báo cáo sơ bộ về việc kiểm tra của đơn vị nhập hàng
Nếu một tình huống bất định xảy ra như: bộ phận quản lý kho, bộ phận nhập hàng không thực hiện việc chuyển giao, hàng sẽ bị niêm phong, bộ phận kho sẽ có thông báo hoặc khiếu nại với bộ phận liên quan
Kiểm tra trạng thái hàng
Bộ phận kho (thủ kho) kiểm tra chi tiết đối với các sản phẩm: tình trạng sản phẩm, số lượng, mã số đã có, cấu hình và chi tiết các thành phần Việc kiểm tra sẽ phụ thuộc vào mức độ tin cậy lẫn nhau giữa hai bên
- Nếu các sản phẩm đầy đủ các thông tin giống hóa đơn thì thực hiện việc tạo mã cho sản phẩm để lưu vào kho
- Nếu các sản phẩm: Sai về mã số hàng, tình trạng, cấu hình, các thành phần không đúng với hóa đơn xuất thực hiện thông báo lại cho các bộ phận nhập hàng, kế toán, thông báo cho cơ quan vận chuyển, chuyển fax, nhà cung cấp Có thể lưu sản phẩm đó lại hoặc gửi trả đối với nhà cung cấp
Nhập thông tin hàng
Mã số hàng có thể được đánh bằng tay hoặc bằng barcode Mã số phải đánh chuẩn Đối với việc tạo mã bằng barcode thì mã số được tạo ngay khi kiểm tra sản phẩm, mã này được tạo và lưu ngay khi đọc Với một
số loại sản phẩm giá trị nhỏ, kích thước, cấu hình không lớn cho phép tạo mã theo nhóm, loại Việc tạo mã có thể không cần thiết khi hai bên nhập và xuất thống nhất tải file dữ liệu cho nhau hoặc truy xuất dữ liệu giữa hệ thống hai bên
Trang 8Chú ý: Khi bên xuất đã niêm phong lô hàng hoặc đóng gói và chắc chắn gói hàng đó đã tạo mã việc tạo mã sẽ không phải thực hiện
Nhập thông tin hàng vào hệ thống, nhập với tất cả các thông tin và hiện trạng của hàng
Bộ phận kho đưa hàng vào kho và phân bố vị trí
Điều kiện trước khi đưa vào kho: Các sản phẩm phải có mã số đầy đủ đúng quy định Nếu sai sản phẩm đó sẽ được đưa ra ngoài để tạo lại mã
Cách phân phối sản phẩm trong kho: Các sản phẩm được phân phối trong kho phải theo nguyên tắc: dễ nhìn, dễ thấy, dễ lấy, bố trí ngăn nắp, phân chia theo các khu vực cụ thể và tùy theo tính chất nhạy cảm của công việc, theo dòng, loại sản phẩm
Tạo sơ đồ bố trí sản phẩm để dễ thấy và dễ tìm
Lập báo cáo
Báo cáo thống kê các hàng mới vào, báo cáo thống kê các hàng cũ đã xuất trong kho theo ngày cho phụ trách văn phòng
Báo cáo cho phòng kinh doanh
Báo cáo thống kê về sản phẩm nhập, tình trạng, sản phẩm xuất, liệt kê phân loại các sản phẩn sai, hỏng cho bộ phận kế toán để họ cân đối
Điều kiện bổ xung
Sẽ xảy ra trường hợp khi hàng chưa được đưa vào kho sẽ phải xuất Trong trường hợp này hàng sẽ được kiểm tra và đưa ra xuất với điều kiện có sự xác nhận của trưởng phòng Khi đó các thủ tục sẽ được giải quyết
Nếu các đơn vị, kho trong cùng một công ty việc xuất nhập hàng chỉ cần các chứng từ xuất và chuyển giao đến đơn vị đó Nếu là các đơn vị hoặc
Trang 9các kho ở các công ty hoặc các nơi khác nhau buộc phải có hóa đơn xuất
và chứng từ liên quan
Mẫu phiếu nhập kho(mẫu 01 – VT)
Quy trình xuất kho
Mô tả :
Việc xuất hàng có thể rất nhiều hình thức khác nhau:
Xuất hàng theo đơn đặt hàng
Xuất hàng tồn kho, thanh lý các hàng hóa sản phẩm bị hỏng
Xuất hàng phục vụ cho quá trình giới thiệu quảng cáo, tư vấn sản phẩm
Xuất hàng sử dụng cho chính các đơn vị thuộc công ty (xuất nội bộ)
Xuất hàng trả lại nhà cung cấp khi hàng đã nhập không đủ tiêu chuẩn hoặc do hỏng trong thời gian bảo hành
Trang 10Do tính chất công việc kinh doanh trong một doanh nghiệp các bộ phận khác như bộ phận kinh doanh, bộ phận sửa chữa, bộ phận bảo hành, bộ phận kế toán phải liên tục cập nhật các thông tin từ kho Khi các bộ phận có nhu cầu về hàng hóa vật tư các đơn vị sẽ lập phiếu dự trù vật tư nộp cho bộ phận kho có sự xác nhận của bộ phận kế toán Bộ phận kho xem xét và duyệt các thông tin về
số lượng, chủng loại vật tư, quy cách, thời gian cung cấp
Nếu trong kho có đầy đủ các thông tin yêu cầu :
Bộ phận kho thực hiện làm phiếu xuất hàng(có mẫu), kiểm tra hàng, đóng gói, chuyển và xác nhận đã giao hàng cho bộ phận giao hàng hoặc các bộ phận liên quan
Nếu trong kho không có đầy đủ các thông tin yêu cầu :
Bộ phận kho thực hiện gửi các thông tin về tình hình nhu cầu và hiện tại kho cho cấp trên Lập phiếu mua hàng gửi nhà cung cấp về số lượng chủng loại, chất lượng, quy cách , thời gian giao hàng Bộ phận kho thực hiện việc nhập kho và bảo quản vật tư để chuẩn bị cung ứng vật tư cho các đơn vị liên quan Thực hiện xuất kho cung cấp cho các đơn vị có nhu cầu
Các phiếu xuất thường có sự xác nhận của thủ kho và các bộ phận liên quan như kế toán, phòng kinh doanh Các phiếu xuất khi chưa có sự xác nhận của thủ kho thì hàng chưa được xuất kho ra ngoài
Trang 11 Mẫu phiếu xuất kho (mẫu 02 – VT )
Tính toán sản phẩm tồn kho
Mô tả :
Trên cơ sở thông tin hàng nhập, thông tin hàng xuất, thời gian quy định lưu trữ, thời gian bảo hành, thời gian tính khấu hao Bộ phận kho cân đối để tính ra hàng là tồn kho
Kiểm tra: Nhân viên kho hoặc thủ kho kiểm tra các thông tin thực về các mặt hàng sản phẩm trong kho
Thống kê: Nhân viên thống kê tổng hợp và chi tiết các hàng hóa, sản phẩm trong kho tính toán trên cơ sở các thông tin hàng nhập vào, hàng xuất ra, các sản phẩm lưu đọng hàng tuần, hàng tháng
Báo cáo: Trên cơ sở thông tin của đã thống kê nhân viên kho lập các báo cáo tổng hợp, báo cáo chi tiết về hàng tồn kho gửi cấp trên theo tuần,tháng hoặc quý
Trang 122.4.Quản lý khách hàng
Quản lý thông tin về khách hàng khi mua hàng của công ty, để từ đó ta có thông tin chính xác về sản phẩm đã được bán cho ai từ đó có kế hoạch bảo hành
2.5.Báo cáo thống kê
Thống kê được lượng hàng nhập vào kho, nhập từ đơn vi nào, công ty nào
Thống kê được lượng hàng xuất, xuất cho khách hàng nào cho công ty nào
Thống kê sản phẩm đang có trong kho
Trang 13Chương 2 : Lựa chọn công nghệ và công cụ lập trình
1.Giới thiệu chung về hệ quản trị cơ sở dữ liệu và SQL Server 2000
1.1 Hệ quản trị cơ sở dữ liệu là gì?
Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác vụ quản
lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ
SQL Server là một hệ thống quản Lý cơ sở dữ liệu quan hệ (RDBMS) hay còn được gọi là Relation Database Management System Cơ sở dữ liệu quan hệ là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột và các hàng thông tin Sau đó các bảng này lại liên hệ với nhau bởi Database Engine khi có yêu cầu RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay
1.2 Giới thiệu chung về SQL Server 2000
SQL (Structured Query Language) là ngôn ngữ dùng để truy vấn cơ sở dữ liệu, hay nói cách khác đây là ngôn ngữ truy vấn cho phép lấy thông tin về từ các bảng dữ liệu
SQL Server 2000 tối ưu hơn nhiều so với cơ sở dữ liệu quan hệ Chúng phát triển để
sử dụng trên nhiều ấn bản như: CE, Personal, Desktop Engine, Standard Developer, Enterprise
SQL Server 2000 hỗ trợ kiểm tra khóa chính, phụ thuộc tồn tại, miền giá trị, … của
dữ liệu bên trong các bảng một cách chặt chẽ SQL Server 2000 hỗ trợ khá mạnh cho cơ sở
dữ liệu đa truy cập, cơ sở dữ liệu mạng,…
Trang 14Những thành phần chính trong SQL Server 2000
SQL Server 2000 Đây là phần chính của hệ thống, là
trung tâm điều hành những phần thực thi khác Với Desktop Engine bạn sẽ thấy các dịch vụ trong hệ thống như:
SQL Server Profiler, và một số công
cụ khác
Desktop Engine Personal Standard Developer Enterprise
Full – Text Sarch Đây là phần tự chọn trong lúc cài đặt,
nếu bạn muốn chức năng tìm kiếm thì nên chọn hệ thống này vì chúng không
là phần mặc nhiên Full – Text Sarck cung cấp chức năng tìm kiếm (Word) rất mạnh, nếu sử dụng Iternet để tìm kiếm thì đây là một giải pháp tuyệt vời
Nếu bạn muốn tìm kiếm một chuỗi con trong một văn bản lớn thì đây là công
cụ thích hợp cho công việc đó
Personal (Except Win95) Standard Developer Enterprise
English Query English Query cho phép người sử dụng
không có kỹ thuật về SQL cũng có thể
sử dụng SQL Server, bằng cách đặt câu hỏi chuỗi English sau đó được dịch ra Query mà có thể thực thi trên SQL Server
Personal Standard Developer Enterprise
Analusis Phần này không bao gồm mặc định Personal
Trang 15Services trong phần cài đặt, chúng là dạng sản
phẩm tự chọn, là công cụ phân tích OLAP (Online Analysis Processing), sử dụng cho cơ sở dữ liệu lớn
Standard Developer Enterprise
Replication Chức năng này cho phép tái tạo một
bản sao đến SQL Server khác, thông thường dùng chức năng này cho các hệ thống Server từ xa hay trong Network, nhằm để làm giảm trao đổi dữ liệu giữa các SQL Server với nhau
Desktop Engine Personal Standard Developer Enterprise
và giao tiếp dữ liệu giữa các cơ sở dữ liệu khác nhau, đây là những giải pháp lập trình trên Visual Basic
Desktop Engine Personal Standard Developer Enterprise
1.2.1 Các thành phần của SQL Server 2000
Kiểu dữ liệu - Data Type
- RDBMS cũng như SQL Server chứa đựng nhiều đối tượng bao gồm:
- Tập tin log: Tập tin lưu trữ những chuyển tát của SQL
- Tables: Bảng dữ liệu
- Filegroups: Tập tin nhóm
- Diagrams: Sơ đồ quan hệ
Trang 16- Views: Khung nhìn (hay bảng ảo) số liệu dựa trên bảng
- Stored Procedure: Các thủ tục lưu trữ và hàm nội
- Users defined: Hàm do người dùng định nghĩa
- Users: Người sử dụng cơ sở dữ liệu
- Rules: Những quy tắc
- Defaults: Các giá trị mặc nhiên
- User - defined data type: Kiểu dữ liệu do người dùng định nghĩa
- Full - text catalogs: Tập phân loại dữ liệu text
1.2.2 Các đối tượng cơ sở dữ liệu
Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQL Server, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thành phần chính của cơ sở dữ liệu Bản thân SQL Server là một hệ quản trị cơ sở dữ liệu, chúng bao gồm các đối tượng như database, table, view, procedure nêu trên cùng một số cơ sở dữ liệu hỗ trợ khác
Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng, với mỗi Server bạn chỉ có một
hệ quản trị cơ sở dữ liệu Nếu muốn có nhiều hệ quản trị cơ sở dữ liệu bạn cần có nhiều Server tương ứng
Truy cập cơ sở dữ liệu SQL Server dựa vào những tài khoản người dùng riêng biệt và ứng với quyền truy nhập nhất định Cài đặt cơ sở dữ liệu SQL Server bạn có 6 cơ sở dữ liệu mặc định sau:
- Master : Bất kỳ SQL Server nào đều có cơ sở dữ liệu Master (còn gọi là master file),
cơ sở dữ liệu này chứa đựng tất cả các bảng dữ liệu đặc biệt (bảng hệ hệ thống), chúng kiểm soát tất cả hoạt động của hệ quản trị cơ sở dữ liệu SQL Server
Trang 17Ví dụ: Khi người dùng cơ sở dữ liệu mới trong SQL Server, thêm hoặc xóa một Procedure thì tất cả thông tin này đều được lưu trữ trong cơ sở dữ liệu Master của hệ thống
- Model : Cơ sở dữ liệu này chứa đựng tất cả Template dùng làm mẫu để tạo cơ sở dữ
liệu mới Khi bạn tạo một cơ sở dữ liệu thì SQL Server lấy tất cả các mẫu (bao gồm bảng, view, ) từ cơ sở dữ liệu model này
Xuất phát từ tính chất cơ sở dữ liệu mẫu giúp SQL Server thực hiện việc tao mới cơ
sở dữ liệu cho người dùng khi có yêu cầu, bạn không được xóa cơ sở dữ liệu này Khi một cơ sở dữ liệu được tạo ra thì ít nhất cơ sở dữ liệu mới này cũng bằng và giống như cơ sở dữ liệu model
- Msdb : Như đã nêu, chúng ta có hai cơ sở dữ liệu hệ thống master và model, nếu xóa
một trong hai cơ sở dữ liệu này thì hệ thống SQL Server sẽ bị lỗi, nhưng với cơ sở dữ liệu Msdb thì khác Msdb chính là SQL Agent lưu trữ tất cả các tác vụ xảy ra trong SQL Server
- Tempdb : Là một trong những cơ sở dữ liệu chính trong SQL Server Cơ sở dữ liệu
này cho phép người dùng tạo những ứng dụng tham khảo hay thực tập trước khi bạn bắt đầu với cơ sở dữ liệu thực Ngoài ra chúng còn giúp thực hiện những thao tác về
cơ sở dữ liệu mỗi khi SQL Server khởi động
- Pubs : Chứa hầu hết nội dung về hướng dẫn, trợ giúp và sách tham khảo về SQL
Server
- Northwind : Cũng giống như cơ sở dữ liệu Pubs, đây là cơ sở dữ liệu mẫu cho người
dùng tham khảo, hoặc cho các lập trình viên Visual Basic hay Assces dùng truy cập
dữ liệu SQL Server Cơ sở dữ liệu này được cài đặt như một phần của SQL Server, nếu cần dùng cấu trúc của hai cơ sở dữ liệu này bạn có thể sử dụng hai file kịch bản script mang tên inspub.sql và insnwnd.sql
Trang 18- Tập tin Log : Tập tin chứa đựng những hoạt động, hay tất cả những chuyển tác của
cơ sở dữ liệu theo thời gian Thông thường khi cần tìm hiểu sự cố xảy ra với cơ sở dữ liệu, người ta chỉ cần tham khảo tập tin log sẽ biết được nguyên nhân
1.2.3 Giới thiệu một số đối tượng cơ sở dữ liệu SQL Server
- Bảng – Table :
Trong cơ sở dữ liệu, bảng (Table) là phần chính của chúng Do bảng là đối tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác bảng là đối tượng căn bản nhất trong bất kỳ cơ sở dữ liệu nào, chúng được coi như 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ỗi loại kiểu dữ liệu Dữ liệu nhập vào có thể chấp nhận hoặc từ chối tùy thuộc vào nguyên tắc ràng buộc dữ liệu hoặc loại dữ liệu tương thích do hệ thống hay người dùng định nghĩa
Khi định nghĩa bảng cơ sở dữ liệu bạn cần quan tâm đến các yếu tố sau:
+ Key: Trường đó là khóa hay không (Primary key)?
+ ID: Trường đó có thuộc tính Indentity hay không?
+ Column name: Tên của trường (cột )
+ Data type: Loại dữ liệu cho trường tương ứng
+ Size: Kích thước trường dữ liệu
+ Allow null: Cho phép giá trị rỗng lưu trong trường này hay không
+ Default: Giá trị mặc nhiên cho trường
+ Identity: Nếu ta sử dụng một trường có giá trị tự động như autonumber trong assces, trường này Not Null và Identity: Yes(No)
+ Identity Seed: Nếu trường (cột) này là Identity, cần số bắt đầu là 1 hoặc 2
+ Identity Increament: Số nhảy cho mỗi lần tăng
Trang 19- Chỉ Mục – Indexs :
Đối tượng chỉ mục (Indexs) chỉ tồn tại trong bảng hay khung nhìn (view) Chỉ mục có ảnh hưởng đến tốc độ truy nhập số liệu, nhất là khi cần 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
+ Clustered: ứng với loại chỉ mục này có một bảng có thể có nhiều chỉ mục và số liệu được sắp xếp theo trường dữ liệu mà bạn trỏ đến
- Lược đồ quan hệ - Diagram :
Khi xây dựng cơ sở dữ liệu cho ứng dụng hay thương mại điện tử, thường đều phải dựa trên trình phân tích và thiết kế hệ thống Sau những bước phân tích và thiết kế, chúng ta sẽ thiết lập quan hệ dữ liệu giữa các thực thể ERD (Entity relationship diagram)
- Khung nhìn – View :
View là khung nhìn (hay bảng ảo) của bảng Cũng giống như bảng nhưng view không thể chứa dữ liệu, bản thân view có thể tạo nên trường mới dựa vào những phép toán biểu thức của SQL Server
- Thủ tục lưu trữ - Stored Procedure :
Stored Procedure còn gọi là Spocs, tiếp tục phát triển như một phần SQL trên cơ sở
dữ liệu Stored Procedure cho phép khai báo biến, nhận tham số cũng như thực thi các phát biểu có điều khiển Stored Procedure có các ưu điểm lớn như sau
+ Kế thừa tất cả các phát biểu của SQL, và là một đối tượng xử lý số liệu hiệu quả nhất khi dùng SQL Server
+ Tiết kiệm thời gian thực thi trên dữ liệu
+ Có thể gọi Stored Procedure theo cách gọi thủ tục hay hàm trong ngôn ngữ lập trình truyền thống, đồng thời sử dụng lại khi yêu cầu
Trang 20Khi dùng cơ sở dữ liệu SQL Server, nếu có nhu cầu tính toán trên bảng số liệu, chuyển tác thực hiện trên từng mẩu tin, ta nên nghĩ đến kiểu dữ liệu Cursor
1.2.4 Kiểu dữ liệu - Data Type
Bất kỳ trường nào trong bảng (Table) của cơ sở dữ liệu đều phải có kiểu dữ liệu Một
số kiểu dữ liệu SQL Server cho phép định nghĩa chiều dài của kiểu trong khi một số kiểu khác thì không
Cũng như những ngôn ngữ lập trình khác SQL Server cung cấp đầy đủ kiểu dữ liệu cần thiết, như: Kiểu số nguyên (Binary, Int, TinyInt, ), kiểu tiền tệ (Money, SmallMoney, ), kiểu chuỗi (Char, nchar, Varchar, Text, ) và nhiều kiểu dữ liệu khác
Ngoài ra SQL Server cong cho phép chuyển đổi qua lại giữa các kiểu dữ liệu, tuy nhiên điều này cũng có một số hạn chế đối với một số kiểu dữ liệu Ví dụ: kiểu binary không thể nhận sự chuyển đổi từ dữ liệu kiểu Float hay Real,
2 Giới thiệu về Visual Studio 2005
2.1.Tổng quan về DOTNET
2.1.1.Tầm quan trọng của Visual Studio 2005
Trong những năm qua, Visual Basic là công cụ lập trình rộng rãi nhất trên thế giới Visual Basic.NET mở rộng thêm khả năng cho lập trình viên thông qua cấu trúc điều khiển
xử lý lỗi, hỗ trợ thực thi đa tuyến threads, khả năng xây dựng ứng dụng nhanh chóng và xử dụng dịch vụ Web Services kết hợp với mô hình xử lý cơ sở dữ liệu mới ADO.NET và còn nhiều tính năng nữa
Trong môi trường NET các chương trình được viết bằng Visual Basic, C#, C++, sẽ cùng sử dụng phương thức và lớp thư viện do tầng diễn dịch ngôn ngữ CRL(Common Languege Runtime) hỗ trợ Do mỗi ngôn ngữ lập trình sử dụng cùng thư viện (cải tiến cả trong trình biên dịch Visual Basic ) và các chương trình NET sẽ thực thi tương tự nhau bất chấp ngôn ngữ lập trình nào được dùng để viết ra ứng dụng
Trang 212.1.2.Lý do sử dụng công nghệ này
Do khả năng xây dựng ứng dụng nhanh chóng và những đặc điểm đã nêu ở trên Nên
em đã lựa chon công nghệ này để làm đồ án tốt nghiệp
2.2.Môi trường DOTNET
Đối với Visual Basic.NET (VB.NET), tất cả mọi thứ đều thay đổi tận gốc rễ Một trong những thành phần quan trọng của NET là NET Framework Đây là nền tảng cho mọi công cụ phát triển các ứng dụng (application) NET
.NET Framework bao gồm:
* Môi trường vận hành nền (Base Runtime Environment)
* Bộ sưu tập nền các loại đối tượng (a set of foundation classes)
* Môi trường vận hành nền (Base Runtime Environment) hoạt động giống như hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng (application) và các thành phần phức tạp của
hệ thống Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1 số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệ thống tập tin (file system access) hay ngay cả các quy ước về mạng (Internet protocols), … nhằm giảm thiểu gánh nặng lập trình cho các chuyên gia Tin Học Do đó, việc tìm hiểu NET Framework giúp ta lập trình dễ dàng hơn vì hầu như mọi công dụng đều đã được yểm trợ
Ta xem NET Framework như là một tầng công dụng trừu tượng cung cấp dịch vụ trên hệ
điều hành (nhìn dưới khía cạnh cung cấp dịch vụ):
2.3.Ngôn ngữ Visual Basic.NET
Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft ’s NET Framework Do đó, nó cũng không phải là VB phiên bản 7 Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác
đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp
ta giải đáp những vấn đề khúc mắc khi lập trình Hơn nữa, dù không khó khăn gì khi cần tham khảo, học hỏi hay đào sâu những gì xảy ra bên trong … hậu trường OS, Visual
Trang 22đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp
mà thôi
2.4.ADO.NET
2.4.1.Giới thiệu chung
ADO.NET là một phần của NET Framework, nó được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS.NET ADO.NET được thiết kế với dạng dữ liệu “ngắt kết nối”, nghĩa là chúng ta có thể lấy cả một cấu trúc phức tạp của dữ liệu từ database, sau đó ngắt kết nối với database rồi mới thực hiện các thao tác cần thiết Đây là một sự tiến bộ về mặt thiết kế bởi vì thiết kế ADO trước đây luôn cần duy trì một kết nối trong quá trình thao tác dữ liệu
2.4.2.So sánh với phiên bản ADO
Trước ADO.NET, Microsoft đã có ADO là một bộ thư viện để xử lý các thao tác liên quan đến dữ liệu ADO có tính linh hoạt, dễ sử dụng và được tích hợp trong các ngôn ngữ như Visual Basic, ASP 3.0
Có thể coi ADO.NET là một thế hệ tiếp theo của ADO ADO.NET kế thừa tất cả những ưu điểm của ADO, đồng thời với ý tưởng thiết kế hoàn toàn mới ADO.NET có một diện mạo khác hẳn so với tiền thân của nó Một vài đặc điểm nổi bật của ADO.NET mà ADO không có như sau:
- ADO.NET được thiết kế hoàn toàn dựa vào XML vì XML là chuẩn trao đổi dữ liệu
tiến bộ và tốt nhất trên môi trường Internet hiện nay
- ADO.NET được thiết kế hoàn toàn hướng đối tượng : đây là đặc điểm chi phối toàn
bộ các sản phẩm Microsoft NET
2 đặc điểm trên là 2 đặc điểm cơ bản, và nổi trội của ADO.NET mà ADO không có Bây giờ chúng ta sẽ so sánh chi tiết hơn về từng khía cạnh của ADO và ADO.NET
Trang 23Đặc điểm ADO ADO.NET
Dữ liệu xử lý được đưa
Dataset : cho phép duyệt “tự
do, ngẫu nhiên”, truy cập thẳng tới bảng ,dòng ,cột mong muốn
Dữ liệu ngắt kết nối Recordset cũng có thể ngắt
kết nối nhưng tư tưởng thiết kế ban đầu của Recordset là hướng kết nối,
do đó việc ngắt kết nối cũng không được hỗ trợ tốt nhất
Dataset được thiết kế với tư tưởng ban đầu là “ngắt kết nối”
à hỗ trợ mạnh mẽ “ngắt kết nối”
Khả năng vượt tường
lửa
Khi trao đổi dữ liệu với ADOqua Internet, thường
sử dụng chuẩn COM, chuẩn COM rất khó vượt qua được tường lửa Do vậy khả năng trao đổi dữ liệu ADO qua Internet thường có nhiều hạn chế
ADO.NET trao đổi dữ liệu qua Internet rất dễ dàng vì
ADO.NET được thiết kế theo chuẩn XML, là chuẩn dữ liệu chính được sử dụng để trao đổi trên Internet
Trang 24- Connection : Đối tượng quản lý đóng /mở kết nối tới Database.Có 2 dạng
Connection tuỳ theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là
OleDbConnection và SqlConnection
- Command : Đối tượng thực hiện các câu lệnh tương tác truy vấn, rút trích dữ
liệu từ database khi đã thiết lập kết nối tới dữ liệu và trả về kết quả Tương tự như Connection, Command cũng có 2 dạng tuỳ theo nguồn dữ liệu là gì
(OleDb hay SQL Server) đó là OleDbCommand và SqlCommand
- DataReader : Đối tượng xử lý đọc dữ liệu, được thiết kế phù hợp cho các ứng
dụng web Chỉ Xử lý 1 dòng dữ liệu tại một thời điểm Phù hợp với ứng dụng web vì xử lý nhanh, nhẹ không chiếm bộ nhớ Cũng có 2 dạng tùy theo dữ liệu nguồn : OleDbDataReader và SqlDataReader Dữ liệu của đối tượng được tạo
ra khi đối tượng Command thực hiện câu lệnh ExecuteReader()
- DataAdapter : Đây là đối tượng rất quan trọng của ADO.NET, nó là cầu nối
của database và dataset (dataset là đối tượng ngắt kết nối), bởi vì đối tượng
“ngắt kết nối” dataset không thể liên lạc trực tiếp với database nên nó cần một đối tượng trung gian lấy dữ liệu từ database cho nó Và đó chính là DataAdapter Vì DataAdpater khi thao tác với Database vẫn phải duy trì kết nối nên nó được liệt kê vào dạng “kết nối”, nhưng bản chất là phục vụ cho việc
“ngắt kết nối”
Phần “ngắt kết nối” : chỉ có một đối tượng chịu trách nhiệm ngắt kết nối đó chính là DataSet DataSet không cần biết gì về Database thuộc kiểu gì, kết nối ra sao Nhiệm
Trang 25vụ của DataSet là nhận dữ liệu về từ DataAdapter và xử lý nó DataSet có thể được xem như 1 Database trong bộ nhớ gồm tất cả các bảng ,quan hệ … DataSet có nhiều đối tượng được xem là “con” tức là cấp thấp hơn đi kèm với nó như : DataTable ( tương đương với 1 bảng trong database) , cấp thấp hơn của DataTable có các đối tượng DataRow (tương đương với 1 dòng) ,DataColumn( tương đương với 1 cột), DataRelation (tương đương với các quan hệ) Ngoài ra còn có các đối tượng nhóm :
vd DataTableCollection, DataRowCollection, DataColumnCollection Việc sử dụng DataSet là một tiến bộ lớn của kiến trúc ADO.NET tuy nhiên với các ứng dụng Web , việc sử dụng DataSet không được khuyến khích vì đối tượng DataSet được xem là quá lớn, nặng nề khó thích hợp cho đường truyền trên web vốn rất hạn chế
2.4.4 Sử dụng ADO.NET trong Visual Basic.NET
Để sử dụng ADO.NET trong Visual Basic, ta phải khai báo imports các namespace sau đây :
System.Data.SqlClient Chứa các lớp hỗ trợ hệ quản trị cơ sở dữ liệu
MS SQL Server phiên bản 7.0 trở lên
System.Data.SqlOleDb Chứa các lớp hỗ trợ cho cở sở dữ liệu
OLEDB vd Access, Oracle hay MS SQL Server phiên bản 6.5 trở về trước