NGÔN NGỮ LẬP TRÌNH C#

Một phần của tài liệu Xây dựng chương trình quản lý kinh doanh thuốc tân dược thuộc công ty đầu tư thương mại Hoàng Minh (Trang 26)

2.2.1 Giới thiệu về NET FRAMEWORK

- Thư viện .NET Framework

Thư viện lớp .NET Framework là một tập hợp những kiểu dữ liệu được dùng lại và được kết hợp chặt chẽ với Common Language Runtime. Thư viện lớp là hướng đối tượng cung cấp những kiểu dữ liệu mà mã nguồn được quản lý của chúng ta có thể dẫn xuất. Điều này không chỉ làm cho những kiểu dữ liệu của .NET Framework dễ sử dụng mà còn làm giảm thời gian liên quan đến việc học đặc tính mới của .NET Framework. Thêm vào đó, các thành phần của các hãng thứ ba có thể tích hợp với những lớp trong .NET Framework.

Cũng như mong đợi của người phát triển với thư viện lớp hướng đối tượng, kiểu dữ liệu .NET Framework cho phép người phát triển thiết lập nhiều mức độ thông dụng của việc lập trình, bao gồm các nhiệm vụ như: quản lý chuỗi, thu thập hay chọn lọc dữ liệu, kết nối với cơ cở dữ liệu, và truy cập tập tin. Ngoài những nhiệm vụ thông dụng trên. Thư viện lớp còn đưa vào những kiểu dữ liệu để hỗ trợ cho những kịch bản phát triển chuyên biệt khác. Ví dụ người phát triển có thể sử dụng .NET Framework để phát triển những kiểu ứng dụng và dịch vụ như sau:

- Ứng dụng Console

- Ứng dụng giao diện GUI trên Windows (Windows Forms) - Ứng dụng ASP.NET

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 27

- Dịch vụ XML Web - Dịch vụ Windows

Trong đó những lớp Windows Forms cung cấp một tập hợp lớn các kiểu dữ liệu nhằm làm đơn giản việc phát triển các ứng dụng GUI chạy trên Windows.

2.2.2 Giới thiệu về 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 phát triển nó từ 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. Trong đó có nhiều đặc tính khá giống với những đặc tính có trong ngôn ngữ Java. Những điểm mạnh của C#:

- C# là ngôn ngữ đơn giản

C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi. Ví dụ như, trong C++ có ba toán tử làm việc với các thành viên là ::, . , và ->. Để biết khi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn. Trong C#, chúng được thay thế với một toán tử duy nhất gọi là . (dot). Đối với người mới học thì điều này và những việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn.

- C# là ngôn ngữ hiện đại

Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa tất cả những đặc tính trên.

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 28

C# loại bỏ những phức tạp và rắc rối phát sinh bởi con trỏ. Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++.

- C# là ngôn ngữ hướng đối tượng

Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả những đặc tính trên.

- C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo

Với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác.

- C# là ngôn ngữ ít từ khóa

C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng để mô tả thông tin.

- C# là ngôn ngữ hướng module

Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó. Những lớp và những phương thức có thể được sử dụng lại trong ứng dụng hay các chương trình khác. Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả.

2.2.3 Các câu lệnh

- Toán tử if Cú pháp:

if (biểu thức điều kiện)

<Khối lệnh thực hiện khi điều kiện đúng> [else

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 29

- Câu lệnh Switch: (adsbygoogle = window.adsbygoogle || []).push({});

switch (biểu thức điều kiện) { case <giá trị>: <Các câu lệnh thực hiện> <lệnh nhảy> [default: <Các câu lệnh thực hiện mặc định>] } - Vòng lặp Do…While… Cú pháp: do <Câu lệnh thực hiện> while ( điều kiện )

- Vòng lặp For Cú pháp:

for ([ phần khởi tạo] ; [biểu thức điều kiện]; [bước lặp]) <Câu lệnh thực hiện>

- Vòng lặp forreach Cú pháp:

foreach (<kiểu tập hợp><tên truy cập thành phần> in < tên tập hợp>)

<Các câu lệnh thực hiện>

2.2.4 Lớp

- Định nghĩa lớp:

Để định nghĩa một kiểu dữ liệu mới hay một lớp đầu tiên phải khai báo rồi sau đó mới định nghĩa các thuộc tính và phương thức của kiểu dữ liệu đó. Khai báo một lớp bằng cách sử dụng từ khoá class.

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 30

[Thuộc tính] [Bổ sung truy cập] class <Định danh lớp> [: Lớp cơ sở] {

<Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phương thức hành động>

}

Định danh lớp chính là tên của lớp do người xây dựng chương trình tạo ra. Lớp cơ sở là lớp mà đối tượng sẽ kế thừa để phát triển. Tất cả các thành viên của lớp được định nghĩa bên trong thân của lớp, phần thân này sẽ được bao bọc bởi hai dấu ({}).

- Thuộc tính truy cập:

Thuộc tính truy cập quyết định khả năng các phương thức của lớp bao gồm việc các phương thức của lớp khác có thể nhìn thấy và sử dụng các biến thành viên hay những phương thức bên trong lớp.

Thuộc tính Thuộc tính giới hạn truy cập

public Không hạn chế. Những thành viên được đánh dấu public có thể được dùng bởi bất kì các phương thức của

private Thành viên trong một lớp A được đánh dấu là private thì chỉ được truy cập bởi các phương thức của lớp A.

protected Thành viên trong lớp A được đánh dấu là protected thì chỉ được các phương thức bên trong lớp A và những phương thức dẫn xuất từ lớp A truy cập.

internal Thành viên trong lớp A được đánh dấu là internal thì được truy cập bởi những phương thức của bất cứ lớp nào trong cùng khối hợp ngữ với A.

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 31

protected internal

Thành viên trong lớp A được đánh dấu là protectedinternal

được truy cập bởi các phương thức của lớp A, các phương thức của lớp dẫn xuất của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A.

- Tham số của phương thức

Trong các ngôn ngữ lập trình thì tham số và đối mục được xem là như nhau, cũng tương tự khi đang nói về ngôn ngữ hướng đối tượng thì ta gọi một hàm là một phương thức hay hành vi. Tất cả các tên này đều tương đồng với nhau. Một phương thức có thể lấy bất kỳ số lượng tham số nào, các tham số này theo sau bởi tên của phương thức và được bao bọc bên trong dấu ngoặc tròn ().

void Method( int param1, button param2) { //...}

- Tạo các biến thành viên:

Các biến thành viên có thể được khởi tạo trực tiếp khi khai báo trong quá trình khởi tạo thay vì phải thực hiện việc khởi tạo các biến trong bộ khởi dựng. Để thực hiện việc khởi tạo này rất đơn giản là việc sử dụng phép gán giá trị cho một biến: (adsbygoogle = window.adsbygoogle || []).push({});

private int Giay = 30; // Khởi tạo

Việc khởi tạo biến thành viên sẽ rất có ý nghĩa, vì khi xác định giá trị khởi tạo như vậy thì biến sẽ không nhận giá trị mặc định mà trình biên dịch cung cấp. Khi đó nếu các biến này không được gán lại trong các phương thức khởi dựng thì nó sẽ có giá trị mà ta đã khởi tạo.

- Sử dụng các thành viên tĩnh (static member)

Những thuộc tính và phương thức trong một lớp có thể là những thành viên thể hiện (instance members) hay những thành viên tĩnh (static members). Những thành viên thể hiện hay thành viên của đối tượng liên quan đến thể hiện của một kiểu dữ liệu. Trong khi thành viên tĩnh được xem như một phần

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 32

của lớp. Chúng ta có thể truy cập đến thành viên tĩnh của một lớp thông qua tên lớp đã được khai báo biến thành viên tĩnh thông qua một thể hiện, nếu chúng ta cố làm điều đó thì trình biên dịch C# sẽ báo lỗi, điều này khác với ngôn ngữ C++. Phương thức tĩnh hoạt động ít nhiều giống như phương thức toàn cục, ta truy cập phương thức này mà không cần phải tạo bất cứ thể hiện hay đối tượng của lớp chứa phương thức toàn cục.

2.3 HỆ QUẢN TRỊ CSDL SQL SERVER

2.3.1 Giới thiệu về SQL SEVER

SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), làcông cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ.

Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Thực sự mà nói,khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trongnhững chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:

- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu,các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.

- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.

- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 33

- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống.

Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++,Java,... song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.

Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java,... SQL là ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào.

2.3.2 Các thành phần quan trọng của SQL SERVER

SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phầncó mối quan hệ trong một hệ thống, phối hợp với nhau để tạo thành một giải pháp hoàn chính, nâng cao hiệu quả quản trị, phân tích, lưu trữ dữ liệu.

- Relational DataBase Engine.

Đây là một engine có khả năng chứa dữ liệu dưới nhiều quy mô khác nhau, theo dạng bảng, hỗ trợ nhiều phương thức kết nối ADO, OLE DB, ODBC.

- Replication.

Là công cụ dùng nhân bản dữ liệu, bạn có thể tạo một Server khác với bộ dữ liệu giống bộ dữ liệu trên Server chính. Công cụ tạo cơ chế tự đồng bộ dữ liệu giữa Server chính và Server nhân bản. Mục đích của việc tạo Server nhân bản là giảm tải cho Server chính, nâng cao hiệu quả phục vụ với số lượng người, phiên giao dịch lớn.

- Data Transformation Service – DTS.

Là công cụ giúp bạn chuyển dữ liệu giữa các Server quản trị CSDL khácnhau, DTS có thể chuyển dữ liệu từ SQL Server sang Oracle, Access,

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 34

DB,… trước khi chuyển dữ liệu DTS định dạng kiểu dữ liệu để chuyển sang hệ quản trị CSDLkhác.

- Analysis service.

Là công cụ giúp khai thác phân tích dữ liệu, hay khai phá dữ liệu theo phương thức đa chiều. Từ một tập dữ liệu sẵn có bạn có thể khai phá rồi từ đó đưa ra những nhận định, phân tích, đánh giá và dự đoán theo lĩnh vực nào đó, mỗi chiều trong ngữ cảnh này được coi là một tiêu chí xem xét của dữ liệu.

- English query. (adsbygoogle = window.adsbygoogle || []).push({});

Đây là công cụ tra cứu dữ liệu bằng tiếng anh, cú pháp có thể sử dụng theo văn phạm tiếng anh thông thường.

- SQL Server tools.

Đây là một bộ đồ nghề của người quản trị cơ sở dữ liệu (DBA).

- Ngoài ra còn có một vài công cụ thông dụng khác như:

+ Enterprise Manager. Đây là một công cụ cho ta thấy toàn cảnh hệ thống cơ sở dữ liệu một cách rất trực quan. Nó rất hữu ích đặc biệt cho người mới học và không thông thạo lắm về SQL.

+ Query Analyzer. Đối với một DBA giỏi thì hầu như chỉ cần công cụ này là có thể quản lý cả một hệ thống database mà không cần đến những thứ khác. Đây là một môi trường làm việc khá tốt vì ta có thể đánh bất kỳ câu lệnh SQL nào và chạy ngay lập tức đặc biệt là nó giúp cho ta debug mấy cái stored procedure dễ dàng.

+ SQL Profiler. Nó có khả năng "chụp" (capture) tất cả các sự kiện hay hoạt động diễn ra trên một SQL server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soát hoạt động của SQL Server.

Ngoài một số công cụ trực quan như trên chúng ta cũng thường hay dùng osql và bcp (bulk copy) trong command prompt.

2.3.3 Tính bảo mật trong SQL SERVER

Hệ quản trị cơ sở dữ liệu SQL Server cho phép nhiều người sử dụng CSDL của hệ thống nên bảo mật là vấn đề đặc biệt quan trọng, công việc này

Sinh viên: Phạm Thị Huyền Trang – Lớp CNT9DH2 Page 35

sẽ điều khiển mọi sự truy cập và sử dụng CSDL của hệ thống. Vấn đề bảo mật ở đây là :

- Ngăn chặn sự truy cập trái phép tới cơ sở dữ liệu.

- Không cho phép sự truy cập trái phép trên các đối tượng của hệ quản trị cơ sở dữ liệu.

- Điều khiển không gian sử dụng đĩa.

- Điều khiển sự sử dụng tài nguyên của hệ thống.

- Kiểm tra người dùng.

Bảo mật cơ sở dữ liệu được thực hiện ở 2 mức : bảo mật hệ thống và bảo

Một phần của tài liệu Xây dựng chương trình quản lý kinh doanh thuốc tân dược thuộc công ty đầu tư thương mại Hoàng Minh (Trang 26)