Download miễn phí Quản lí hàng hoá dựa trên đơn đặt hàng





LỜI NÓI ĐẦU 4

PHẦN 1. CƠ SỞ LÝ THUYẾT 6

CHƯƠNG 1. LÝ THUYẾT CƠ SỞ DỮ LIỆU 6

I. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 6

1. Khái niệm về cơ sở dữ liệu 6

2. Sự cần thiết của cơ sở dữ liệu 6

3. Hệ quản trị cơ sở dữ liệu (Database Management System) 6

II. LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU QUAN HỆ 7

1. Khái niệm cơ bản về cơ sở dữ liệu quan hệ 7

2. Thành phần của cơ sở dữ liệu 7

a) Các trường dữ liệu (data fields) 7

b) Các bản ghi dữ liệu (Data Record) 7

c) Bảng dữ liệu (Data Table) 7

d) Các mối quan hệ trong bảng (Relationship) 8

3. Lý thuyết thiết kế cơ sở dữ liệu quan hệ 9

III. MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ 17

1. Quan hệ 17

2. Phụ thuộc hàm 18

3. Khoá 18

4. Các dạng chuẩn 20

CHƯƠNG 2. GIỚI THIỆU VB.NET 21

1 Nguồn gốc của .NET 21

2 VB.NET 22

3 Những khác biệt giữa VB.NET với VB6 25

4 Namespaces 26

5. Local và Global Namespaces 27

6. Truy cập Variable/Class/Structure 36

7. Tạo một Class mới 46

PHẦN 2: XÂY DỰNG CHƯƠNG TRÌNH 53

CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 53

1.Khái niệm hệ thống tin quản lý(MIS) 53

2.Mục đích, ý nghĩa. 53

CHƯƠNG 2: KHẢO SÁT HỆ THỐNG 55

I. MÔ TẢ HỆ THỐNG 55

1. Nhiệm vụ cơ bản 55

2.Phạm vi đề tài 55

3. Nghiên cứu hiện trạng giải quyết vấn đề 56

3.1. Ban điều hành 56

3.2. Phân loại khách hàng 56





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ketnooi -


Ai cần tài liệu gì mà không tìm thấy ở Ketnooi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


WriteOnly ta sẽ viết:
Public ReadOnly Property Age() As Integer
Get
Age = 3
End Get
End Property
Private _data As Integer
Public WriteOnly Property Data() As Integer
Set
_data = Value
End Set
End Property
Có thể dùng Reserved Word làm Procedure Name bằng cách để nó giữa ngoặc vuông, thí dụ như:
Public Function [Compare] (ByVal v1 as Integer, ByVal v2 as Integer) as Boolean
Dùng Structure TRY... CATCH... FINALLY... END TRY để xử lý error. Thí dụ như trong bài toán chia dưới đây, nếu bị Division by 0 error thì ta sẽ cho kết quả bằng 0:
Try
result = a / b ' if this section has error jump to Catch section
Catch
' only get here if an error occurs between Try and Catch
result = 0
Finally
' This section is optional
System.Diagnostic.Debug.WriteLine( result)
End Try
Gosub đã bị dẹp bỏ.
3 Những khác biệt giữa VB.NET với VB6
VB.NET, còn gọi là VB7, chẳng qua là C# viết theo lối Visual Basic. Nay VB7 đã hoàn toàn là Object Oriented, tức là cho ta dùng lại (reuse) classes/forms theo cách thừa kế thật thoải mái, nên nó khác VB6 nhiều lắm.
Dầu vậy, đối với VB6 programmers học VB.NET không khó. Lý do là VB.NET không cho thêm nhiều từ mới (reserved words). Nói chung các ý niệm mới trong VB.NET đều dễ lĩnh hội, nhất là khi đem ra áp dụng cách thực tế. Đó là nhờ Microsoft vẫn giữ nguyên tắc dấu và làm sẵn (của VB6) những gì rắc rối phía sau sân khấu, để ta có thể tập trung vào việc tìm kiếm một giải pháp, thay vì quá bận tâm vào cách thức làm một việc gì. Chính nguyên tắc ấy đã giúp Microsoft chiêu mộ được 3 triệu VB6 programmers trên khắp thế giới. VB.NET cống hiến cho VB programmers một công cụ rất hữu hiệu để dùng cho mọi hoàn cảnh, từ database, desktop, distributed, internet cho đến real-time hay mobile (pocket PC).
Những ưu điểm (features) của VB.NET đến từ chức năng của.NET Framework. Nó mang đến phương tiện lập trình cho mạng cách Object Oriented như XML, Remoting, Streaming, Serialisation, Threading. v. v... Những thứ nầy tuy lạ nhưng không khó học, ngược lại sẽ tiết kiệm rất nhiều thì giờ. Mặc dầu VB6 là một ngôn ngữ lập trình trưởng thành và hiệu năng, chắc chắn hãy còn tồn tại trong nhiều năm nữa, nhưng học thêm VB.NET là một đầu tư tương đối ít tốn kém và đảm bảo huê lợi gấp bao nhiêu lần trong hàng thập niên tới.
Trong bài nầy ta sẽ bàn về những điểm khác nhau giữa VB6 và VB.NET từ quan điểm ngôn ngữ lập trình. Trong một bài khác ta sẽ bàn về những chức năng Đối tượng (Object Oriented) của VB.NET.
4 Namespaces
Namespaces là một cách đặt tên để giúp sắp đặt các Classes ta dùng trong program một cách thứ tự hầu dễ tìm kiếm chúng. Tất cả code trong.NET, viết bằng VB.NET, C# hay ngôn ngữ nào khác, đều được chứa trong một namespace. Điểm nầy cũng áp dụng cho code trong.NET system class libraries. Chẳng hạn, các classes của WinForms đều nằm trong System.Windows.Forms namespace. Và các classes dùng cho collections như Queue, Stack, Hashtable. v. v.. đều nằm trong System. Collections namespace.
Tất cả code ta viết trong program của mình cũng đều nằm trong các namespaces. Trước đây trong VB6, mỗi khi nhắc đến một Class trong một COM tên CompName ta viết CompName.classname (còn gọi là PROGID), tức là cũng dùng một dạng namespace.
Tuy nhiên phương pháp nầy có một vài giới hạn:
Địa chỉ của class bị buộc cứng vào component đang chứa nó.
Những classes không nằm trong một COM component thì không có "namespace".
Cách gọi tên PROGID chỉ có một bậc thôi, không có bậc con, bậc cháu.
Tên của Component luôn luôn có hiệu lực trên khắp cả computer.
Namespaces trong.NET khắc phục được mọi giới hạn nói trên trong VB6. Nhiều assemblies có thể nằm trong cùng một namespace, nghĩa là classes khai báo trong các components khác nhau có thể có chung một namespace. Điều nầy cũng áp dụng xuyên qua các ngôn ngữ, giúp cho một class viết trong VB.NET có thể nằm trong cùng một namespace với một class viết trong C#, hơn nữa, trong một assembly có thể có nhiều namespaces, dù rằng thông thường ta chỉ dùng một namespace duy nhất cho tất cả các classes trong ấy.
Theo mặc định, tên của project được dùng làm namespace. Nếu bạn right click lên project name NETListbox trong Solution Explorer của program Demo, rồi chọn Properties trong popup menu, IDE sẽ hiển thị Property Pages dialog.
Namespaces có thể được phân chia thứ bậc giống như Folders trong một File Directory. Nó sẽ giúp user sắp đặt các classes theo đúng nhóm cho trong sáng và dễ đọc. Thí dụ bạn đang viết một program cho một hảng sản xuất, bạn sẽ dùng namespace NhàSảnXuất ở root level. Bên trong namespace ấy bạn sẽ tạo thêm các nhánh của chương trình như:
NhàSảnXuất.TồnKho
NhàSảnXuất.SảnPhẩm
NhàSảnXuất.KếToán.ChiPhí
NhàSảnXuất.KếToán.ThuNhập
Mỗi namespace chứa những phần của code thích hợp cho nó trong program nói chung. Trong File Directory, ta có thể có hai files dù mang cùng tên nhưng nằm trong hai folders khác nhau. Giống như vậy, trong.NET ta có thể có hai classes có cùng một tên nhưng nằm trong hai namespaces khác nhau. Đó là vì khi ta viết tên của một class với cả namespace của nó thì có thể phân biệt với một class khác với cùng tên.
5. Local và Global Namespaces
Khác với COM components với "namespace" của chúng áp dụng cho khắp cả computer, namespaces của.NET thông thường là Local, chỉ có application program của nó thấy mà thôi..NET cũng hổ trợ Global namespace, nhưng phải được ký tên (digitally signed) và đăng ký với.NET runtime để chứa nó trong global assembly cache.
Dùng Namespaces
Ta có thể dùng namespaces bằng cách nói thẳng ra (explicitly) với nguyên tên (Direct Addressing) hay hàm ý (implicitly) với Import keyword. Nhưng điều tiên quyết là ta phải reference cái assembly chứa namespace mà ta muốn dùng. Ta thực hiện việc ấy với Menu command Project | Add References. Khi Add References dialog hiện ra, chọn Tab.NET cho standard.NET components hay Tab Projects cho DLL của một.NET project khác, highlight DLL bạn muốn rồi click Select button, đoạn click OK.
Chẳng hạn ta muốn read và write từ stdio (cái console input/output stream). Cái namespace ta cần sẽ là System.Console. Trong cách Direct Addressing ta sẽ code như sau để viết hàng chữ "Chào thế giới":
System.Console.WriteLine ("Hello world!")
Nếu ta dùng Import keyword bằng cách nhét vào câu Imports System.Console ở đầu code module, ta có thể code gọn hơn:
WriteLine ("Hello world!")
Dưới đây là một số namespaces thông dụng:
Namespace
Chức năng
Classes điển hình
System.IO
Đọc/Viết files và các data streams khác
FileStream, Path, StreamReader, StreamWriter
System.Drawing
Đồ họa
Bitmap, Brush, Pen Color, Font, Graphics
System.Data
Quản lý data
DataSet, DataTable, DataRow, SQLConnection, ADOConnection
System.Collection
Tạo và quản lý các loại collections
ArrayList, BitArray, Queue, Stack, HashTable
System.Math
Tính toán
Sqrt, Cos, Log, Min
System.Diagnostics
Debug
Debug, Trace
System.XML
Làm việc với XML, Document Object Model
XMLDocument, XMLElement, XMLReader, XMLWriter
System.Security
Cho phép kiểm soát an ninh
Cryptography, Permission, Policy
Aliasing Namespaces (dùng bí danh)
Khi hai namespaces trùng tên, ta phải dùng nguyên tên (kể cả gốc tích) để phân biệt chúng. Điển hình là khi ta dùng những namespaces liên hệ đến VB6 như Microsoft.Visualbasic. Thay vì code:
Microsoft.Visualbasic.Left ( InputString, 6)
ta viết:
Imports VB6= Microsoft.Visualbasic
Sau đó ta có thể code:
VB6.Left ( InputString, 6)
Dùng Namespaces keyword
Trong thí dụ về program có Root Namespace là NhàSảnXuất như nói trên, nếu ta muốn đặt ra một namespace con là TồnKho, ta phải dùng NameSpace keyword trong code như sau:
' Root Namespace là NhàSảnXu

 

Các chủ đề có liên quan khác

Top