Tải bản đầy đủ (.doc) (93 trang)

Giới thiệu về hệ quản trị sql server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 93 trang )

Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

MỤC LỤCC LỤC LỤCC
LỜI NÓI ĐẦU--------------------------------------------------------------------------------------------3
CHƯƠNG I: GIỚI THIỆU VỀ VB.NET VÀ SQL SERVER-----------------------------------5
1.NGÔN NGỮ LẬP TRÌNH VB.NET--------------------------------------------------------------------------------------------- 5
1.1. Sơ lược về lịch sử VB.NET----------------------------------------------------------------------------------------------------- 5
1.2.Sơ lược về .NET------------------------------------------------------------------------------------------------------------------- 6
1.3.NET Framework------------------------------------------------------------------------------------------------------------------ 7
1.4.Visual Basic.NET----------------------------------------------------------------------------------------------------------------- 8
1.5.Hướng đối tượng trong Visual Basic.NET----------------------------------------------------------------------------------8
1.6.Một số tính năng mới của Visual Basic.NET so với Visual Basic 6.0-----------------------------------------------13
1.7.Kết nối Cơ sở dữ liệu của Visual Basic.NET-----------------------------------------------------------------------------17
2.GIỚI THIỆU VỀ HỆ QUẢN TRỊ SQL SERVER-------------------------------------------------------------------------18
2.1.Tổng quan về SQL server----------------------------------------------------------------------------------------------------- 18
2.2.Thành phần của SQL----------------------------------------------------------------------------------------------------------- 21
2.3.Chức năng của SQL------------------------------------------------------------------------------------------------------------ 22
2.4.Vai trò của SQL----------------------------------------------------------------------------------------------------------------- 23
2.5.Các câu lệnh cơ bản của SQL------------------------------------------------------------------------------------------------ 24
2.7.Các giá trị trong SQL---------------------------------------------------------------------------------------------------------- 29
2.8.Giới thiệu phiên bản SQL Express Edition SP2 2005------------------------------------------------------------------30

CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG-----------------------------------32
1.KHẢO SÁT HIỆN TRẠNG------------------------------------------------------------------------------------------------------ 32
1.1.Mục đích-------------------------------------------------------------------------------------------------------------------------- 32
1.2.Khảo sát--------------------------------------------------------------------------------------------------------------------------- 32
1.3.Các mẫu đơn liên quan-------------------------------------------------------------------------------------------------------- 33
1.4.Các chức năng chính của hệ thống :--------------------------------------------------------------------------------------- 38
1.5.u cầu chương trình---------------------------------------------------------------------------------------------------------- 39
2.PHÂN TÍCH HỆ THỐNG-------------------------------------------------------------------------------------------------------- 40
2.1.Mục đích-------------------------------------------------------------------------------------------------------------------------- 40


2.2.Chức năng của hệ thống------------------------------------------------------------------------------------------------------- 40
2.3.Biểu đồ phân cấp chức năng------------------------------------------------------------------------------------------------- 43
2.4.Các đối tượng và mối quan hệ----------------------------------------------------------------------------------------------- 44
2.5.Sơ đồ ngữ cảnh------------------------------------------------------------------------------------------------------------------ 48
2.6.Các sơ đồ luồng dữ liệu------------------------------------------------------------------------------------------------------- 49

CHƯƠNG III : THIẾT KẾ CHƯƠNG TRÌNH QUẢN LÝ KHO---------------------------55
Page 1


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh
1.THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG-------------------------------------------------------------------------55
1.1.Tổng quan về cơ sở dữ liệu------------------------------------------------------------------------------------------------- 55
1.2. Lý thuyết về Cơ sở dữ liệu---------------------------------------------------------------------------------------------------- 56
1.3. Mô hình Cơ sở dữ liệu quan hệ--------------------------------------------------------------------------------------------- 59
1.4.Cơ sở dữ liệu của chương trình---------------------------------------------------------------------------------------------- 62
2.GIAO DIỆN CHƯƠNG TRÌNH VÀ CÂU LỆNH ĐI KÈM------------------------------------------------------------68
2.1.Giao diện chương trình-------------------------------------------------------------------------------------------------------- 68
2.2.Code của một sồ Form--------------------------------------------------------------------------------------------------------- 78

KẾT LUẬN----------------------------------------------------------------------------------------------- 92

Page 2


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Lời Nói Đầu

Ngày nay cơng nghệ thông tin (CNTT) là ngành khoa học đã nhanh chóng

khẳng định vị trí của mình với những tính ưu việt mà khơng ai có thể phủ nhận được.
Từ những năm cuối thế kỷ 20, CNTT ở Việt Nam đã phát triển mạnh mẽ và ứng dụng
ngày càng sâu rộng trong hầu hết các lĩnh vực khoa học kỹ thuật, kinh tế, văn hố, xã
hội.
Trong cơng cuộc đổi mới đất nước, cùng với các lĩnh vực khác, ngành Giáo dục
và đào tạo đã và đang từng bước áp dụng những tiến bộ khoa học kỹ thuật của CNTT
vào ngành. Những phần mềm quản lý, những phần mềm hỗ trợ sự dạy và học với sự
trợ giúp của máy tính đã và đang phát huy tác dụng góp phần khơng nhỏ vào sự nghiệp
giáo dục nước nhà. Đặc biệt là trong công tác quản lý tin học làm giảm nhẹ sức lực của
người quản lý tin học làm giảm nhẹ và thuận tiện hơn rất nhiều so với thực hiện công
việc quản lý theo cách truyền thống cũ trên giấy tờ, ứng dụng tin học vào công tác
quản lý đặc biệt là thu hẹp không gian lưu trữ, tránh được thất lạc dữ liệu, từng bước tự
động hoá và cụ thể hố lượng thơng tin theo u cầu của người quản lý, có thể tìm
kiếm, tra cứu thơng tin nhanh một cách đầy đủ và chính xác hơn.
Chương trình Quản lý kho hàng này được viết dưới dạng một phần mềm tin học
dùng để ứng dụng trong các cửa hàng với mục đích quản lý các mặt hàng trong kho về
các mặt: xuất,nhập...
Song bên cạnh đó vì thời gian có hạn, nên chương trình này của em cịn chứa
đựng rất nhiều hạn chế mà em chưa có thời gian khắc phục. Vì vậy, em rất mong nhận
được sự đúng góp ý kiến của tất cả các thầy, các bạn
Nhờ sự tận tâm theo sát hướng dẫn của thầy Cao Kim ánh, 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 quản lý
đáp ứng tương đối một số các yêu cầu đặt ra như trên. Tuy nhiên 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

Page 3


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh


đượ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 hồn thiện và hiệu quả hơn.
Em xin chân thành cảm ơn thầy giáo hướng dẫn Cao Kim ánh và các thày cơ
giáo Khoa Cơng Nghệ Thơng Tin đã giúp em hồn thành đồ án này.

Hà nội, ngày 30 tháng 4 năm 2009
Sinh viên thực hiện
Nguyễn Bảo Trung

Page 4


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Chương I
GIỚI THIỆU VỀ VB.NET VÀ SQL SERVER
1.NGƠN NGỮ LẬP TRÌNH VB.NET
1.1. Sơ lược về lịch sử VB.NET
Ngôn ngữ BASIC (Beginner’s All Purpose Symbolic Instruction Code) đã có từ
năm 1964. BASIC rất dễ học và dễ dùng. Trong vịng 15 năm đầu, có rất nhiều chun
gia Tin Học và cơng ty tạo các chương trình thông dịch (Interpreters) và biên dịch
(Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông.
Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC và
tiếp đó Quick BASIC (cịn gọi là QBASIC) thành cơng rực rỡ.
Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao
diện kiểu Windows. Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm mới cho
phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập trình với giao
diện bằng hình ảnh (Graphic User Interface - GUI) trong Windows. Đó là Visual Basic
Version 1.0
Trước khi ra đời ngơn ngữ này ta khơng có 1 giao diện bằng hình ảnh (GUI) với

một IDE (Integrated Development Environment) giúp các chun gia lập trình tập
trung cơng sức và thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình. Mỗi
người phải tự thiết kế giao diện qua thư viện có sẵn Windows API (Application
Programming Interface) trong nền Windows. Điều này tạo ra những trở ngại khơng cần
thiết làm phức tạp việc lập trình.
Visual Basic giúp ta bỏ qua những hệ lụy đó, chuyên gia lập trình có thể tự vẽ
cho mình giao diện cần thiết trong ứng dụng (application) 1 cách dễ dàng và như vậy,
tập trung nổ lực giải đáp các vần đề cần giải quyết trong doanh nghiệp hay kỹ thuật.
Ngoài ra, cịn nhiều cơng ty phụ phát triển thêm các khn mẫu (modules),
công cụ (tools, controls) hay ứng dụng (application) phụ giúp dưới hình thức VBX
cộng thêm vào giao diện chính càng lúc càng thêm phong phú.

Page 5


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database)
qua sự kết hợp của ADO (Active Data Object). ADO còn giúp các chuyên gia phát
triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server Pages (ASP).
Bộ Microsoft Visual Studio.NET (đến nay đã phát hành Visual Studio.NET
2008) bao gồm vừa mọi cơng cụ yểm trợ lập trình và ngơn ngữ lập trình .NET, như:
Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET và hỗ
trợ .NET Framework 3.0.
Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated
Development Environment (IDE). IDE giúp ta lập trình Visual Basic.NET (VB.NET)
dễ dàng, thoải mái và thích thú. IDE khơng những cung cấp mọi cơng cụ lập trình cần
thiết khơng thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thơng thường
bằng chữ (text editors) mà cịn giúp kiểm tra nguồn mã (code checking) hay tạo giao
diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và

nhiều thứ khác nữa.
Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của
kiểu mẫu ngơn ngữ lập trình khuynh hướng đối tượng (Object Oriented Language OOL) như các ngơn ngữ C++, Java.
Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá
bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng mạnh cho
khn nền .NET Framework. Đó là các ngơn ngữ lập trình Visual Basic.NET và C#
(gọi là C Sharp). Sau đó, nhiều ngơn ngữ lập trình khác cũng thay đổi theo như
smalltalk.NET, COBOL.NET, … làm Công Nghệ Tin Học trở nên phong phú hơn, đa
dạng hơn.

1.2.Sơ lược về .NET
.NET là tầng trung gian giữa các ứng dụng (applications) và hệ điều hành (OS).
Tầng .NET cung cấp mọi dịch vụ cơ bản giúp ta tạo các cơng dụng mà ứng dụng
(application) địi hỏi, giống như hệ điều hành cung cấp các dịch vụ cơ bản cho ứng
dụng (application), tỷ như: đọc hay viết các tập tin (files) vào dĩa cứng (hard drive), …
Page 6


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Tầng này bao gồm 1 bộ các ứng dụng (application) và hệ điều hành gọi là .NET
Servers. Như vậy, .NET gần như là một bộ sưu tập (collection) các nhu liệu và khái
niệm kết hợp trộn lẫn nhau làm việc nhằm tạo giải đáp các vấn đề liên quan đến
thương nghiệp của ta.
Trong đó tập hợp các đối tượng (objects) được gọi là .NET Framework và tập
hợp các dịch vụ yểm trợ mọi ngôn ngữ lập trình .NET gọi là Common Laguage
Runtime (CLR).
Các thành phần cơ bản của .NET:



User Applications



.NET Framework.NET Servers



.NET Devices



Hardware Components

1.3.NET Framework
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 chun 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ụ):
Page 7


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh



User Applications



.NET Framework



Hệ điều hành (OS)



Device Drivers




Harware Components (Cương liệu)

Để mọi ngơn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi .NET
Framework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi là
Common Language Specifications (CLS). Tiêu chuẩn này giúp các chương trình biên
dịch (compilers) làm việc hữu hiệu.

1.4.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 hồn tồ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 hữu dụng, 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 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 Basic.NET (VB.NET) giúp ta
đối phó với các phức tạp khi lập trình trên nền Windows và do đó, 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 mà thôi.

1.5.Hướng đối tượng trong Visual Basic.NET
Hướng đối tượng trong Visual Basic.NET cũng tương tự như các ngôn ngữ
khác như : C#, C++, Visual C++ ,…..
Bao gồm các đặc tính :
Page 8



Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh



Lớp (class)

Một lớp có thể được hiểu là khuôn mẫu để tạo ra các đối tượng. Trong một lớp,
người ta thường dùng các biến để mơ tả các thuộc tính và các hàm để mơ tả các
phương thức của đối tượng. Khi đã định nghĩa được lớp, ta có thể tạo ra các đối tượng
từ lớp này. Để việc sử dụng được dễ dàng, thông qua hệ thống hàm tạo (constructor),
người ta dùng lớp như một kiểu dữ liệu để tạo ra các đối tượng.


Lớp con (subclass)

Lớp con là một lớp thơng thường nhưng có thêm tính chất kế thừa một phần hay
tồn bộ các đặc tính của một lớp khác. Lớp mà chia sẽ sự kế thừa gọi là Lớp cha
(parent class).


Lớp trừu tượng hay lớp cơ sở trừu tượng (abstract class)

Lớp trừu tượng là một lớp mà nó khơng thể thực thể hóa thành một đối tượng
thực dụng được.
Lớp này được thiết kế nhằm tạo ra một lớp có các đặc tính tổng quát nhưng bản
thân lớp đó chưa có ý nghĩa (hay khơng đủ ý nghĩa) để có thể tiến hành viết mã cho
việc thực thể hóa.
Ví dụ:
Lớp "hinh_thang" được định nghĩa khơng có dữ liệu nội tại và chỉ có các
phương thức (hàm nội tại) "tinh_chu_vi", "tinh_dien_tich".

Nhưng vì lớp hinh_thang này chưa xác định được đầy đủ các đặc tính của nó
(cụ thể các biến nội tại là tọa độ các đỉnh nếu là đa giác, là đường bán kính và toạ độ
tâm nếu là hình trịn, ...) nên nó chỉ có thể được viết thành một lớp trừu tượng. Sau đó,
người lập trình có thể tạo ra các lớp con chẳng hạn như là lớp "tam_giac", lớp
"hinh_tron", lớp "tu_giac",....
Và trong các lớp con này người viết mã sẽ cung cấp các dữ liệu nội tại (như là
biến nội tại r làm bán kính và hằng số nội tại Pi cho lớp "hinh_tron" và sau đó viết mã
cụ thể cho các phương thức "tinh_chu_vi" và "tinh_dien_tich").

Page 9


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh



Phương thức (method)
Phương thức của một lớp thường được dùng để mô tả các hành vi của đối

tượng (hoặc của lớp). Ví dụ như đối tượng thuộc lớp điện thoại có các hành vi sau: Đổ
chng, chuyển tín hiệu từ sóng sang dạng nghe được, chuyển tín hiệu giọng nói sang
dạng chuẩn, chuyển tín hiệu lên tổng đài.v.v.
Khi thiết kế, người ta có thể dùng các phương thức để mô tả và thực hiện các
hành vi của đối tượng. Mỗi phương thức thường được định nghĩa là một hàm, các thao
tác để thực hiện hành vi đó được viết tại nội dung của hàm.
Khi thực hiện hành vi này, đối tượng có thể phải thực hiện các hành vi khác. Ví
dụ như điện thoại phải chuyển tín hiệu giọng nói sang dạng chuẩn trước khi chuyển lên
tổng đài. Cho nên một phương thức trong một lớp có thể sử dụng phương thức khác
trong q trình thực hiện hành vi của mình.
Người ta cịn định nghĩa thêm vài loại phương thức đặc biệt:



Hàm tạo (constructor) là hàm được dùng để tạo ra một đối tượng, cài đặt

các giá trị ban đầu cho các thuộc tính của đối tượng đó.


Hàm hủy (destructor) là hàm dùng vào việc làm sạch bộ nhớ đã dùng để

lưu đối tượng và hủy bỏ tên của một đối tượng sau khi đã dùng xong, trong đó có thể
bao gồm cả việc xóa các con trỏ nội tại và trả về các phần bộ nhớ mà đối t ượng đã
dùng.Nhiều ngôn ngữ lập trình có sẵn hàm tạo mặc định (thơng thường khơng có tham
số) và hàm huỷ.


Thuộc tính (attribute)

Thuộc tính của một lớp bao gồm các biến, các hằng, hay tham số nội tại của lớp
đó. Ở đây, vai trị quan trọng nhất của các thuộc tính là các biến vì chúng sẽ có thể bị
thay đổi trong suốt q trình hoạt động của một đối tượng. Các thuộc tính có thể được
xác định kiểu và kiểu của chúng có thể là các kiểu dữ liệu cổ điển hay đó là một lớp đã
định nghĩa từ trước.
Như đã ghi, khi một lớp đã được thực thể hoá thành đối tượng cụ thể thì tập họp
các giá trị của các biến nội tại làm thành trạng thái của đối tượng. Giống như trường
hợp của phương thức, tùy theo người viết mã, biến nội tại có thể chỉ được dùng bên
Page 10


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh


trong các phương thức của chính lớp đó, có thể cho phép các câu lệnh bên ngồi lớp,
hay chỉ cho phép các lớp có quan hệ đặc biệt như là quan hệ lớp con, (và quan hệ bạn
bè (friend) trong C++) được phép dùng tới nó (hay thay đổi giá trị của nó). Mỗi thuộc
tính của một lớp còn được gọi là thành viên dữ liệu của lớp đó.


Quan hệ giữa lớp và đối tượng

Lớp trong quan niệm thông thường là cách phân loại các thực thể dựa trên
những đặc điểm chung của các thực thể đó. Do đó lớp là khái niệm mang tính trừu
tượng hóa rất cao.
Ví dụ như lớp "người" dùng để chỉ những thực thể sống trên trái đất có những
thuộc tính: có hai chân,hai bàn tay khéo léo, có tư duy, ngơn ngữ v.v và có phương
thức: giao tiếp bằng ngôn ngữ, tư duy, đi, đứng bằng hai chân... Khi đó hai người cụ
thể ơng A, ơng B là các đối tượng thuộc lớp người. Trong ngơn ngữ lập trình, ta cũng
hiểu khái niệm lớp tương tự, cho nên ta có q trình "Thực thể hóa" sau, để tạo một đối
tượng thuộc một lớp đã được ta định nghĩa (phân loại).


Thực thể (identity)

Thực thể hóa (instantiate) là q trình khai báo để có một tên (có thể được
xem như là một biến) trở thành một đối tượng từ một lớp nào đó.
Một lớp sau khi được tiến hành thực thể hóa để có một đối tượng cụ thể gọi là
một thực thể. Hay nói ngược lại một thực thể là một đối tượng riêng lẽ của một lớp đã
định trước. Như các biến thông thường, hai thực thể của cùng một lớp có thể có trạng
thái nội tại khác nhau (xác định bởi các giá trị hiện có của các biến nội tại) và do đó
hồn tồn độc lập nhau nếu khơng có u cầu gì đặc biệt từ người lập trình.



Cơng cộng (public)

Cơng cộng là một tính chất được dùng để gán cho các phương thức, các biến
nội tại, hay các lớp mà khi khai báo thì người lập trình đã cho phép các câu lệnh bên
ngồi cũng như các đối tượng khác được phép dùng đến nó.
Thí dụ: Trong C++ khai báo public: int my_var; thì biến my_var có hai tính
chất là tính cơng cộng và là một integer cả hai tính chất này hợp thành đặc tính của

Page 11


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

biến my_var khiến nó có thể được sử dụng hay thay đổi giá trị của nó (bởi các câu
lệnh) ở mọi nơi bên ngồi lẫn bên trong của lớp.


Riêng tư (private)

Riêng tư là sự thể hiện tính chất đóng mạnh nhất (của một đặc tính hay một
lớp). Khi dùng tính chất này gán cho một biến, một phương pháp thì biến hay phương
pháp đó chỉ có thể được sử dụng bên trong của lớp mà chúng được định nghĩa. Mọi nỗ
lực dùng trực tiếp đến chúng từ bên ngoài qua các câu lệnh hay từ các lớp con sẽ bị
phủ nhận hay bị lỗi.


Bảo tồn (protected)

Tùy theo ngơn ngữ, sẽ có vài điểm nhỏ khác nhau về cách hiểu tính chất này.
Nhìn chung đây là tính chất mà mà khi dùng để áp dụng cho các phương thức, các biến

nội tại, hay các lớp thì chỉ có trong nội bộ của lớp đó hay các lớp con của nó (hay trong
nội bộ một gói như trong Java) được phép gọi đến hay dùng đến các phương pháp,
biến hay lớp đó.
So với tính chất riêng tư thì tính bảo tồn rộng rãi hơn về nghĩa chia sẻ dữ liệu
hay chức năng. Nó cho phép một số trường hợp được dùng tới các đặc tính của một lớp
(từ một lớp con chẳng hạn).


Đa kế thừa (multiple inheritance)

Đây là một tính chất cho phép một lớp con có khả năng kế thừa trực tiếp cùng
lúc nhiều lớp khác.
Vài điểm cần lưu ý khi dùng tính chất đa kế thừa:


Khi muốn có một sự kế thừa từ nhiều lớp phụ mẫu thì các lớp này cần

phải độc lập và đặc biệt tên của các dữ liệu hay hàm cho phép kế thừa phải có tên khác
nhau để tránh lỗi "ambiguilty". Bởi vì lúc đó phần mềm chuyển dịch sẽ không thể xác
định được là lớp con sẽ thừa kế tên nào của các lớp phụ mẫu.


Nhiều ngơn ngữ, ví dụ như Java, khơng có đa thừa kế, nhưng chúng có

khái niệm giao diện Interface. Với Interface, ta có thể có hầu hết các lợi ích mà đa thừa
kế mang lại.

Page 12



Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

1.6.Một số tính năng mới của Visual Basic.NET so với Visual Basic 6.0
Visual Basic.NET (VB.NET) dùng lại classes/forms theo cách thừa kế thật
thoải mái.


Tất cả đều là Object như trong Java.



Dùng Namespace để Import classes từ các component vào chương trình



Các Visual components của Winform đều được chứa dưới dạng Designer

Generated Code giống như Delphi, chớ không phải chứa trong phần đầu của.frm file
như trong VB6.


Integer types bây giờ gồm có Byte, Short, Integer và Long



Có thể dùng các Arithmetic Operators mới như:
X += 4 tương đương với X = X + 4
Mess &= " text" tương đương với Mess = Mess & " text"




VB.NET có cả Byte và Char data type. Byte với trị số 0-255 có thể được

dùng cho ASCII character. Char với trị số 0-65535 của 2 bytes được dùng cho
Unicode.


String trong VB.NET khác với String trong VB6 rất nhiều vì nó đến từ

System.String class. ý niệm fixed-length string của VB6 như khai báo
Dim MyString as string * 30
đã bị dẹp bỏ.


Option Strict bắt buộc ta phải tự mình convert data type chớ VB.NET

khơng làm dùm như trong VB6.


Những control tàn hình như Timer, Menu (khơng cịn dùng Menu Editor

như trong VB6 nữa) được chứa riêng trong Component tray (mâm).


VB.NET khơng có variant data type nhưng thay vào đó là Object data

type.

Page 13



Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh



Tất cả array đều zero-based. VB.NET dùng block-level scope, do đó một

variable declared trong một IF... THEN.. END IF block sẽ biến mất khi qua khỏi END
IF.


Short Circuit trong IF.. THEN Statement

Trong VB6, nếu ta viết:
Dim myInt as Integer
myInt = 0
If (myInt <> 0) and (17 \ myInt < 5 ) then

Thì sẽ bị Division by Zero error, vì mặc dầu phần (myInt <>0) là False, nhưng
VB6 vẫn tiếp tục tính phần (17\myInt<5).


Trong VB.NET, khi (myInt <>0) là False thì nó khơng tính thêm nữa.

Đặc tính nầy gọi là Short Circuit (đi tắt).


Thêm vào Collection và Dictionary class sẽ có ArrayList, BitArray,

Hashtable, ObjectList, Queue, SortedList, Stack và StringCollection



Khơng cịn Set statement cho Object. Trong VB6 ta có thể viết:
Set x = New Product
Set w = x

Trong VB.NET sẽ được viết lại như sau:
x = New Product()
w=x


Thay đổi trong cách viết Property rourines

Nếu trong VB6 ta viết:
Private _description as String
Page 14


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Public Property Let Description (Value As String)
_description = Value
End Property
Public Property Get Description() As String
Description = _description
End Property



Trong VB.NET Let và Get đuợc hợp lại và ta lại dùng chữ Set thay cho


chữ Get (mặc dầu chữ Set khơng cịn dùng cho Object như mới nói ở trên) như sau:
Private _description As String
Public Property Description() As String
Set
_description = Value
End Set
Get
Description = _description
End Get
End Property


Bây giờ nếu Property là ReadOnly hay WriteOnly ta sẽ viết:
Public ReadOnly Property Age() As Integer
Get

Page 15


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

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 vng, 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

Page 16


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

' This section is optional
System.Diagnostic.Debug.WriteLine( result)
End Try



Gosub đã bị dẹp bỏ

1.7.Kết nối Cơ sở dữ liệu của Visual Basic.NET
Visual Basic.NET sử dụng ADO.NET ( ADO = ActiveX Data Object ) để kết
nối với cơ sở dữ liệu .
Phát huy những thế mạnh mà ADO trong VB6 đem lại ADO.NET lại thêm
những đặc tính mới nhằm tối ưu hóa việc truy cập Cơ sở dữ liệu và bù đắp lại lỗ hổng
trong ADO của VB6.
Trong ADO.NET mục đích và các chức năng khác nhau được chia thành các
đối ượng riêng biệt, sau đó được sử dụng riêng biệt hoặc liên kết với nhau, khả năng
này cho phép nhà phát triển sử dụng các đối tượng một cách tối ưu cho các mục đích
cụ thể khác nhau mà không cần mang theo những thứ không cần.
ADO.NET được thiết kế làm việc với cả dữ liệu phi kết nối trong mơi trường đa
tầng (Multi-Tier). Nó sử dụng XML để trao đổi dữ liệu phi kết nối, do vậy dễ dàng khi
giao tiếp giữa các ứng dụng không phải trên nền windows.
ADO.NET là thành phần nội tại (có sẵn) trong .NET Framework, do vậy dễ
dàng khi phát triển bằng nhiều ngơn ngữ khác nhau.
ADO.NET Hỗ trợ XML hồn tồn (ADO thì khơng), nghĩa là chúng ta có thể
nạp dữ liệu từ một tệp XML và thao tác như một CSDL, sau đó cũng có thể lưu kết
quả ngược trở lại tệp XML.
ADO.NET lưu trữ dữ liệu dưới dạng XML nên có thể đi qua Firewall một
cách dễ dàng.
Các thành phần chính của ADO.NET :

Đối tượng

Diễn giải

Page 17



Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

Connection

Thiết lập nguồn kết nối tới nguồn DL cụ thể

Command

Thực thi lệnh ở nguồn dữ liệu. Nó bao gồm các đối tượng
pramater và phưởng thức để thực thi các kiểu lệnh khác nhau

DataReader

Chỉ đọc và trả về dữ liệu từ nguồn dữ liệu

DataAdapter

Cầu nối giữa dataset và nguồn dữ liệu
lưu trữ một tập các bảng (Table) và cung cấp một số

Dataset Object

phương thức, thuộc tính… để thao tác dữ liệu mà nó lưu trữ.
Mỗi bảng trong DataSet là một đối tượng DataTable. Mỗi
Table này có thể lưu trữ một bảng dữ liệu của DataBase

2.GIỚI THIỆU VỀ HỆ QUẢN TRỊ SQL SERVER
2.1.Tổng quan về SQL server

2.1.1.Lịch sử SQL server
SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là
một loại ngơn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ
sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để
phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn
ANSI/ISO.
Từ một bài báo tham dự hội thảo khoa học A Relational Model of Data for
Large Share Data Banks (tạm dịch là "Mơ hình quan hệ cho dữ liệu dùng trong ngân
hàng dữ liệu chia sẻ có khối lượng lớn") của tiến sĩ Edgar F. Codd xuất bản tháng 6
năm 1970 trong tạp chí Communications of the ACM của Hiệp hội ACM, một mơ hình
đã được chấp nhận rộng rãi là mơ hình tiêu chuẩn dùng cho hệ thống quản lý cơ sở dữ
liệu quan hệ.
Giữa những năm 1970, một nhóm các nhà phát triển tại trung tâm nghiên cứu
của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mơ hình
Page 18


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

của Codd. Structured English Query Language, viết tắt là "SEQUEL" (tạm dịch là
"Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), được thiết kế để quản lý và truy lục dữ
liệu được lưu trữ trong Hệ thống R.
Sau này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp
nhãn hiệu (từ SEQUEL đã được một công ty máy bay của UK là Hawker-Siddeley
đăng ký). Mặc dù SQL bị ảnh hưởng bởi cơng trình của tiến sĩ Codd nhưng nó khơng
do tiến sĩ Codd thiết kế ra.
Ngôn ngữ SEQUEL được thiết kế bởi Donald D.Chamberlin và Raymond
F.Boyce tại IBM, và khái niệm của họ được phổ biến để tăng sự chú ý về SQL.
Phiên bản cơ sở dữ liệu quan hệ phi thương mại, không hỗ trợ SQL đầu tiên
được phát triển năm 1974.(Ingres from U.C. Berkeley. )

Năm 1978, việc thử nghiệm phương pháp được khởi đầu tại một cơ sở thử
nghiệm của khách hàng. Cuộc thử nghiệm đã chứng minh được sự có ích và tính thực
tiễn của hệ thống và đã chứng tỏ sự thành công của IBM. Dựa vào kết quả đó, IBM bắt
đầu phát triển các sản phẩm thương mại bổ sung thêm SQL dựa trên nguyên mẫu Hệ
thống R bao gồm System/38 ( Hệ thống/38 ) ( được cơng bố năm 1978 và được thương
mại hóa tháng 8 năm 1979 ), SQL/DS ( được giới thiệu vào năm 1981 ) và DB2 ( năm
1983).
Cùng thời điểm đó Relational Software, Inc. ( bây giờ là Oracle Corporation )
đã nhận thấy tiềm năng của những khái niệm được Chamberlin and Boyce đưa ra và đã
phát triển phiên bản Hệ quản trị cơ sở dự liệu quan hệ riêng của họ cho Navy, CIA và
các tổ chức khác.
Vào mùa hè năm 1979, Relational Software, Inc. giới thiệu Oracle V2 (Phiên
bản 2), phiên bản thương mại đầu tiên hỗ trợ SQL cho máy tính VAX. Oracle thường
xuyên được nhắc tới một cách khơng nghiêm túc vì đã tấn cơng thị trường của IBM
trong 2 năm, nhưng việc táo bạo nhất trong quan hệ công chúng của họ là tấn công một
phiên bản của IBM System/38 chỉ trong có vài tuần.
Tương lai của Oracle đã được đảm bảo vì có sự quan tâm đáng kể của cơng
chúng sau đó mới phát triển, trong khi đã có nhiều phiên bản của các nhà cung cấp
Page 19


Sinh viên thực hiện: Nguyễn Bảo Trung MS:505101053 Người hướng dẫn : Thầy Cao Kim Ánh

khác.
IBM đã quá chậm trong việc phát triển SQL và các sản phẩm quan hệ, có lẽ vì
ban đầu nó khơng dùng được trong mơi trường Unix và máy tính lớn (Mainframe), và
họ sợ nó sẽ làm giảm lợi nhuận thu được từ việc bán các sản phẩm cơ sở dữ liệu IMS
(những sản phẩm dựa trên mơ hình cơ sở dữ liệu định hướng chứ khơng phải cơ sở dữ
liệu quan hệ) của mình.
Trong lúc đó, Oracle vẫn đang phát triển, IBM đang phát triển System/38, được

mong đợi là hệ cơ sở dữ liệu quan hệ đầu tiên của họ. Với năng lực và thiết kế tiên tiến
của nó, người ta cho rằng nó chó thể sẽ thay thế cho hệ thống Unix và máy tính lớn.
SQL được thừa nhận là tiêu chuẩn của [ANSI]] (American National Standards
Institute) vào năm 1986 và ISO (International Organization for Standardization) năm
1987. ANSI đã công bố cách phát âm chính thức của SQL là "ess kyoo ell", nhưng rất
nhiều các chuyên gia cơ sở dữ liệu nói tiếng Anh vẫn gọi nó là sequel.

2.1.2.SQL là gì ?
SQL là một chuẩn của ANSI ( American National Standards Institute - Viện
tiêu chuẩn quốc gia Hoa kỳ ) về truy xuất các hệ thống Cơ sở dữ liệu.
Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một Cơ
sở dữ liệu.SQL hoạt động với hầu hết các chương trình Cơ sở dữ liệu như MS Access,
DB2, Informix, MS SQL Server, Oracle, Sybase v.v...
SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) và là
ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language).
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à relational Database management System. RDBMS là một trong những mơ
hình Cơ sở dữ liệu quan hệ thông dụng ngày nay.
SQl server tối ưu hơn nhiều mơ hình quan hệ. Chúng phát triển để sử dụng trên
nhiều phiên bản như CE, prosonal, Desktop Engine , standard Develop , enterprise .

Page 20



×