Giới thiệu SQL Server

Giới thiệu SQL Server

SQL Server là gì?

SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS – Relational Database Management System), được phát triển và tiếp thị bởi Microsoft.

Tương tự như các phần mềm RDBMS khác, SQL Server được xây dựng dựa trên SQL, một ngôn ngữ lập trình tiêu chuẩn để tương tác với các cơ sở dữ liệu quan hệ. SQL Server được liên kết với Transact-SQL hoặc T-SQL, Microsoft đã bổ sung thêm một bộ cấu trúc lập trình độc quyền khi triển khai SQL.

SQL Server chỉ hoạt động trên môi trường Windows trong hơn 20 năm. Năm 2016, Microsoft đã cung cấp nó trên Linux. SQL Server 2017 được phát hành vào tháng 10 năm 2016, chạy trên cả Windows và Linux.

Kiến trúc SQL Server

Sơ đồ sau minh họa kiến ​​trúc của SQL Server:

Kiến trúc SQL Server

SQL Server bao gồm hai thành phần chính:

  1. Database Engine
  2. SQLOS

Database Engine

Thành phần cốt lõi của SQL Server là Công cụ cơ sở dữ liệu (Database Engine). Công cụ cơ sở dữ liệu bao gồm một Công cụ quan hệ (Relational Engine) để xử lý các truy vấn và Công cụ lưu trữ (Storage Engine) để quản lý các file cơ sở dữ liệu, trang, chỉ mục, v.v. Các đối tượng cơ sở dữ liệu như stored procedure, view và trigger cũng được tạo bởi Công cụ cơ sở dữ liệu.

Relational Engine

Công cụ quan hệ (Relational Engine) chứa các thành phần xác định cách tốt nhất để thực hiện truy vấn. Công cụ quan hệ còn được gọi là bộ xử lý truy vấn (query processor).

Công cụ quan hệ yêu cầu dữ liệu từ Công cụ lưu trữ (Storage Engine) dựa trên truy vấn đầu vào và xử lý kết quả.

Một số tác vụ của Công cụ quan hệ bao gồm xử lý truy vấn, quản lý bộ nhớ, quản lý luồng và tác vụ, quản lý bộ đệm và xử lý truy vấn phân tán.

Storage Engine

Công cụ lưu trữ (Storage Engine) chịu trách nhiệm lưu trữ và truy xuất dữ liệu từ các hệ thống lưu trữ như ổ đĩa và SAN.

SQLOS

Dưới Công cụ quan hệ và Công cụ lưu trữ là Hệ điều hành SQL Server hoặc SQLOS.

SQLOS cung cấp nhiều dịch vụ hệ điều hành như bộ nhớ và quản lý I/O. Các dịch vụ khác bao gồm xử lý ngoại lệ và dịch vụ đồng bộ hóa.

Công cụ và dịch vụ SQL Server

Microsoft cung cấp cả công cụ quản lý dữ liệu, công cụ nghiệp vụ thông minh (BI – Business Intelligence) và các dịch vụ khác cùng với SQL Server.

Để quản lý dữ liệu, SQL Server bao gồm SQL Server Integration Services (SSIS), SQL Server Data Quality Services và SQL Server Master Data Services.

Để phát triển cơ sở dữ liệu, SQL Server cung cấp các công cụ dữ liệu SQL Server Data tools.

Để quản lý, triển khai và giám sát cơ sở dữ liệu SQL Server có SQL Server Management Studio (SSMS).

Để phân tích dữ liệu, SQL Server cung cấp dịch vụ phân tích SQL Server Analysis Services (SSAS).

Dịch vụ báo cáo SQL Server Reporting Services (SSRS) cung cấp các báo cáo và trực quan hóa dữ liệu.

Công nghệ dịch vụ học máy Machine Learning Services xuất hiện đầu tiên trong SQL Server 2016 được đổi tên từ dịch vụ R Services.

Phiên bản SQL Server

SQL Server có bốn phiên bản chính có các dịch vụ và công cụ đi kèm khác nhau. Hai phiên bản có sẵn miễn phí là:

  • Phiên bản SQL Server Developer được sử dụng trong phát triển và thử nghiệm cơ sở dữ liệu.
  • Phiên bản SQL Server Expression cho các cơ sở dữ liệu nhỏ với dung lượng lưu trữ lên tới 10 GB.

Đối với các ứng dụng lớn hơn và quan trọng hơn, SQL Server cung cấp phiên bản Enterprise có đầy đủ tất cả các tính năng của SQL Server.

SQL Server Standard Edition có một phần tính năng của phiên bản Enterprise và các giới hạn trên máy chủ liên quan đến số lượng lõi bộ xử lý và bộ nhớ có thể được cấu hình.

Để biết thông tin chi tiết về các phiên bản SQL Server, hãy tham khảo phiên bản SQL Server 2017.

Trong phần này, bạn đã có một tổng quan ngắn gọn về SQL Server bao gồm kiến ​​trúc, dịch vụ, công cụ và phiên bản của nó.

Cài đặt SQL Server

Trong phần này, bạn sẽ từng bước tìm hiểu cách cài đặt SQL Server 2017 Developer Edition và SQL Server Mangement Studio (SSMS).

Cài đặt SQL Server 2017 Developer Edition

Để cài đặt SQL Server, bạn cần tải xuống từ trang web microsoft.com thông qua liên kết sau:

Tải xuống SQL Server

Sau khi quá trình tải xuống hoàn tất, bạn bấm đúp vào tệp  SQLServer2017-SSEI-Dev.exe để khởi chạy trình cài đặt.

1. Trình cài đặt yêu cầu bạn chọn loại cài đặt, chọn loại cài đặt Custom cho phép bạn chuyển qua trình hướng dẫn cài đặt SQL Server và chọn các tính năng mà bạn muốn cài đặt.

Cài đặt SQL Server 2017 Developer Edition

2. Chỉ định thư mục để lưu trữ các tệp cài đặt mà trình cài đặt sẽ tải xuống, sau đó nhấp vào nút Install.

Cài đặt SQL Server 2017 Developer Edition

3. Trình cài đặt bắt đầu tải xuống gói cài đặt một lúc.

Cài đặt SQL Server 2017 Developer Edition

4. Khi quá trình tải xuống hoàn tất, hãy mở thư mục lưu trữ gói cài đặt và bấm đúp vào tệp SETUP.exe.

Cài đặt SQL Server 2017 Developer Edition

5. Cửa sổ sau hiển thị; chọn tùy chọn Installation bên trái:

Cài đặt SQL Server 2017 Developer Edition

6. Nhấp vào liên kết đầu tiên để khởi chạy trình hướng dẫn để cài đặt SQL Server 2017.

Cài đặt SQL Server 2017 Developer Edition

7. Chỉ định phiên bản bạn muốn cài đặt, chọn phiên bản dành cho nhà phát triển (Developer) và nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

8. Đánh dấu vào ô “I accept the license terms.” và nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

9. Đánh dấu vào ô “Use Microsoft Update to check for updates (recommended)” để nhận cập nhật bảo mật và các bản cập nhật quan trọng khác cho SQL Server và nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

10. Trình cài đặt sẽ kiểm tra các điều kiện tiên quyết trước khi cài đặt. Nếu không có lỗi, nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

11. Chọn các tính năng mà bạn muốn cài đặt. Bạn chỉ cần chọn Database Engine Services bằng cách đánh dấu vào hộp kiểm và nhấp vào nút Next để tiếp tục.

Cài đặt SQL Server 2017 Developer Edition

12. Chỉ định Instance ID cho phiên bản của SQL Server và nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

13. Chỉ định tài khoản dịch vụ và cấu hình đối chiếu. Chỉ cần sử dụng cấu hình mặc định và nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

14. Chỉ định chế độ bảo mật công cụ cơ sở dữ liệu. Đầu tiên, chọn Chế độ hỗn hợp (Mixed Mode). Tiếp theo, nhập mật khẩu cho tài khoản (sa) quản trị viên hệ thống SQL Server. Sau đó, nhập lại cùng một mật khẩu để xác nhận nó. Sau đó, nhấp vào nút Thêm người dùng hiện tại (Add Current User). Cuối cùng, nhấp vào nút Next.

Cài đặt SQL Server 2017 Developer Edition

15. Xác minh các tính năng SQL Server 2017 sẽ được cài đặt và nhấn nút Install:

Cài đặt SQL Server 2017 Developer Edition

16. Trình cài đặt bắt đầu quá trình cài đặt

Cài đặt SQL Server 2017 Developer Edition

17. Sau khi hoàn thành, cửa sổ sau sẽ hiển thị. Nhấp vào nút OK.

Cài đặt SQL Server 2017 Developer Edition

18. Nhấp vào nút Close để hoàn tất cài đặt

Cài đặt SQL Server 2017 Developer Edition

Chúc mừng! bạn đã cài đặt thành công SQL Server 2017 Developer Edition.

Cài đặt SQL Server Management Studio

Để làm việc với SQL Server, bạn cần cài đặt SQL Server Management Studio (SSMS).

SQL Server Management Studio là một phần mềm để truy vấn, thiết kế và quản lý SQL Server trên máy tính cục bộ của bạn hoặc trên đám mây. Nó cung cấp cho bạn các công cụ để cấu hình, giám sát và quản lý các thể hiện của SQL Server.

Đầu tiên, tải xuống SSMS từ trang web của Microsoft thông qua liên kết sau:

Tải xuống SQL Server Management Studio

Thứ hai, bấm đúp vào tệp cài đặt  SSMS-Setup-ENU.exe để bắt đầu cài đặt. Quá trình cài đặt SMSS rất đơn giản mà bạn chỉ cần thực hiện theo trình tự màn hình.

1. Nhấp vào nút Install

Cài đặt SQL Server Management Studio

2. Đợi vài phút trong khi trình cài đặt thiết lập phần mềm.

Cài đặt SQL Server Management Studio

3. Sau khi hoàn tất thiết lập, nhấp vào nút Đóng

Cài đặt SQL Server Management Studio

Bây giờ, bạn đã cài đặt thành công SQL Server 2017 Developer Edition và SQL Server Management Studio trên máy tính của mình. Tiếp theo, chúng ta sẽ tìm hiểu cách kết nối với SQL Server 2017 từ SQL Server Management Studio.

Kết nối với SQL Server

Trong phần này, bạn sẽ tìm hiểu cách kết nối với SQL Server từ SQL Server Management Studio và thực hiện truy vấn.

Kết nối với SQL Server bằng SSMS

Để kết nối với SQL Server bằng Microsoft SQL Server Management Studio, bạn sử dụng các bước sau:

Đầu tiên, khởi chạy Microsoft SQL Server Management Studio từ menu Start:

Kết nối với SQL Server

Tiếp theo, nhấn vào menu Connect trong Object Explorer, chọn Database Engine

Kết nối với SQL Server

Sau đó, nhập thông tin cho Server name là localhost, Authentication là SQL Server Authentication, Login là sa, Password cho tài khoản sa bạn đã nhập lúc cài đặt và nhấp vào nút Connect để kết nối với SQL Server.

Kết nối với SQL Server

Nếu kết nối được thiết lập thành công, thì bạn sẽ thấy bảng điều khiển Object Explorer như sau:

Kết nối với SQL Server

Thực hiện một truy vấn trong SQL Server

Để thực hiện một truy vấn, bạn làm theo các bước sau:

Đầu tiên, nhấp chuột phải vào nút localhost (SQL Server) và chọn mục menu New Query:

Thực hiện một truy vấn trong SQL Server

Sau đó bạn nhập truy vấn sau vào Editor:

select @@version;

Truy vấn này trả về phiên bản của SQL Server.

Cuối cùng bạn nhấp vào nút Execute để thực thi truy vấn:

Thực hiện một truy vấn trong SQL Server

Cửa sổ Results hiển thị phiên bản của SQL Server được hiển thị trong hình ở trên. Ngoài ra bạn cũng có thể nhấn phím F5 để thực thi truy vấn.

Bây giờ, bạn đã biết cách kết nối với SQL Server và thực hiện truy vấn từ SSMS.

Cơ sở dữ liệu mẫu của SQL Server

Trong phần này, chúng tôi sẽ giới thiệu cho bạn cơ sở dữ liệu mẫu của SQL Server có tên BikeStores.

Dưới đây minh họa lược đồ cơ sở dữ liệu BikeStores:

Cơ sở dữ liệu mẫu của SQL Server

Như bạn có thể thấy từ sơ đồ, cơ sở dữ liệu mẫu BikeStores có hai lược đồ là salesproduction, và các lược đồ này có chín bảng.

Bảng sales.stores

Bảng sales.stores lưu trữ các thông tin của cửa hàng. Mỗi cửa hàng có một tên cửa hàng, thông tin liên lạc như điện thoại và email và một địa chỉ bao gồm đường phố, thành phố, tiểu bang và mã zip.

CREATE TABLE sales.stores (
    store_id INT IDENTITY (1, 1) PRIMARY KEY,
    store_name VARCHAR (255) NOT NULL,
    phone VARCHAR (25),
    email VARCHAR (255),
    street VARCHAR (255),
    city VARCHAR (255),
    state VARCHAR (10),
    zip_code VARCHAR (5)
);

Bảng sales.staffs

Bảng sales.staffs lưu trữ các thông tin của nhân viên bao gồm tên, họ. Nó cũng chứa các thông tin liên lạc như email và điện thoại.

Một nhân viên làm việc tại một cửa hàng được chỉ định bởi giá trị trong cột store_id. Một cửa hàng có thể có một hoặc nhiều nhân viên.

Một nhân viên báo cáo cho người quản lý cửa hàng được chỉ định bởi giá trị trong cột  manager_id. Nếu giá trị trong manager_id là null, thì nhân viên là người quản lý cao nhất.

Nếu một nhân viên không còn làm việc cho bất kỳ cửa hàng nào, giá trị trong cột active được đặt thành 0.

CREATE TABLE sales.staffs (
    staff_id INT IDENTITY (1, 1) PRIMARY KEY,
    first_name VARCHAR (50) NOT NULL,
    last_name VARCHAR (50) NOT NULL,
    email VARCHAR (255) NOT NULL UNIQUE,
    phone VARCHAR (25),
    active tinyint NOT NULL,
    store_id INT NOT NULL,
    manager_id INT,
    FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (manager_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

Bảng production.categories

Bảng production.categories lưu trữ các thông tin chủng loại xe đạp như xe đạp trẻ em, xe đạp điện.

CREATE TABLE production.categories (
    category_id INT IDENTITY (1, 1) PRIMARY KEY,
    category_name VARCHAR (255) NOT NULL
);

Bảng production.brands

Bảng production.brands lưu trữ các thông tin của thương hiệu xe đạp, ví dụ, Electra, Haro và Heller.

CREATE TABLE production.brands (
    brand_id INT IDENTITY (1, 1) PRIMARY KEY,
    brand_name VARCHAR (255) NOT NULL
);

Bảng production.products

Bảng production.products lưu trữ các thông tin của sản phẩm như tên, thương hiệu, chủng loại, năm sản xuất, và giá niêm yết.

Mỗi sản phẩm thuộc về một thương hiệu được chỉ định bởi cột brand_id. Do đó, một thương hiệu có thể có không hoặc có nhiều sản phẩm.

Mỗi sản phẩm cũng thuộc một chủng loại được chỉ định bởi cột category_id. Ngoài ra, mỗi chủng loại có thể có không hoặc nhiều sản phẩm.

CREATE TABLE production.products (
    product_id INT IDENTITY (1, 1) PRIMARY KEY,
    product_name VARCHAR (255) NOT NULL,
    brand_id INT NOT NULL,
    category_id INT NOT NULL,
    model_year SMALLINT NOT NULL,
    list_price DECIMAL (10, 2) NOT NULL,
    FOREIGN KEY (category_id) 
        REFERENCES production.categories (category_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (brand_id) 
        REFERENCES sales.brands (brand_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Bảng sales.customers

Bảng sales.customers lưu trữ các thông tin của khách hàng bao gồm cả tên, họ, điện thoại, email, đường phố, thành phố, tiểu bang và mã zip.

CREATE TABLE sales.customers (
    customer_id INT IDENTITY (1, 1) PRIMARY KEY,
    first_name VARCHAR (255) NOT NULL,
    last_name VARCHAR (255) NOT NULL,
    phone VARCHAR (25),
    email VARCHAR (255) NOT NULL,
    street VARCHAR (255),
    city VARCHAR (50),
    state VARCHAR (25),
    zip_code VARCHAR (5)
);

Bảng sales.orders

Bảng sales.orders lưu trữ các thông tin đơn đặt hàng của khách hàng bao gồm trạng thái đơn hàng, ngày đặt hàng, ngày yêu cầu, ngày vận chuyển.

Nó cũng lưu trữ thông tin về nơi đơn hàng được tạo ra (cửa hàng) và ai đã tạo đơn hàng (nhân viên).

Mỗi đơn hàng có một hàng trong bảng sales.orders. Một đơn đặt hàng có một hoặc nhiều chi tiết đơn hàng được lưu trữ trong bảng sales.order_items.

CREATE TABLE sales.orders (
    order_id INT IDENTITY (1, 1) PRIMARY KEY,
    customer_id INT,
    order_status tinyint NOT NULL,
    -- Order status: 1 = Pending; 2 = Processing; 3 = Rejected; 4 = Completed
    order_date DATE NOT NULL,
    required_date DATE NOT NULL,
    shipped_date DATE,
    store_id INT NOT NULL,
    staff_id INT NOT NULL,
    FOREIGN KEY (customer_id) 
        REFERENCES sales.customers (customer_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (staff_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

Bảng sales.order_items

Bảng sales.order_items lưu trữ các thông tin chi tiết của một đơn đặt hàng. Mỗi chi tiết đơn hàng thuộc về một đơn đặt hàng được chỉ định bởi cột order_id.

Một chi tiết đơn hàng bao gồm sản phẩm, số lượng đặt hàng, giá niêm yết và chiết khấu.

CREATE TABLE sales.order_items(
    order_id INT,
    item_id INT,
    product_id INT NOT NULL,
    quantity INT NOT NULL,
    list_price DECIMAL (10, 2) NOT NULL,
    discount DECIMAL (4, 2) NOT NULL DEFAULT 0,
    PRIMARY KEY (order_id, item_id),
    FOREIGN KEY (order_id) 
        REFERENCES sales.orders (order_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Bảng production.stocks

Bảng production.stocks lưu trữ các thông tin hàng tồn kho tức là số lượng của một sản phẩm cụ thể trong một cửa hàng cụ thể.

CREATE TABLE production.stocks (
    store_id INT,
    product_id INT,
    quantity INT,
    PRIMARY KEY (store_id, product_id),
    FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Nhấp vào nút sau đây tải xuống tập lệnh của cơ sở dữ liệu mẫu:

Tải xuống cơ sở dữ liệu mẫu của SQL Server

Bây giờ, bạn nên làm quen với cơ sở dữ liệu mẫu của BikeStores và sẵn sàng nạp nó vào SQL Server.

Nạp cơ sở dữ liệu mẫu vào SQL Server

Trong phần này, bạn sẽ tìm hiểu cách tạo cơ sở dữ liệu mới trong SQL Server và thực thi tập lệnh cơ sở dữ liệu mẫu đã tải về ở phần trước.

Sau khi đã tải tập lệnh cơ sở dữ liệu mẫu về, bạn giải nén tệp zip và sẽ thấy ba tệp tập lệnh SQL:

  • BikeStores Sample Database - create objects.sql – tệp này là để tạo các đối tượng cơ sở dữ liệu bao gồm các lược đồ và bảng.
  • BikeStores Sample Database - load data.sql – tập tin này là để chèn dữ liệu vào các bảng.
  • BikeStores Sample Database - drop all objects.sql – tệp này dùng để xóa các bảng và lược đồ ra khỏi cơ sở dữ liệu mẫu. Nó rất hữu ích khi bạn muốn làm mới cơ sở dữ liệu mẫu.

Bây giờ bạn hãy tạo một cơ sở dữ liệu, tạo các lược đồ, bảng và nạp dữ liệu mẫu theo hướng dẫn sau:

Bước 1: Bấm chuột phải vào nút Database trong Object Explorer và menu New Database…

Tạo cơ sở dữ liệu mới

Bước 2: (1) Nhập tên cơ sở dữ liệu là BikeStores, (2) nhấp vào nút OK để tạo cơ sở dữ liệu mới.

Tạo cơ sở dữ liệu mới

Bước 3: Nếu mọi thứ đều ổn, bạn sẽ thấy cơ sở dữ liệu BikeStores xuất hiện dưới nút Database như trong ảnh chụp màn hình bên dưới:

Tạo cơ sở dữ liệu mới

Bước 4: Từ menu File, chọn Open > File… để mở tệp tập lệnh SQL.

Tạo cơ sở dữ liệu mới

Bước 5: Chọn tệp BikeStores Sample Database - create objects.sql và nhấp vào nút Open.

Tạo cơ sở dữ liệu mới

Bước 6: (1) Chọn cơ sở dữ liệu là BikeStores rồi nhấp vào nút Execute để thực thi tập lệnh SQL.

Tạo cơ sở dữ liệu mới

Bạn sẽ thấy kết quả sau chỉ ra rằng truy vấn được thực hiện thành công.

Tạo cơ sở dữ liệu mới

Nếu bạn mở rộng BikeStores> Table, bạn sẽ thấy các lược đồ và các bảng của chúng được tạo như hình dưới đây:

Tạo cơ sở dữ liệu mới

Bước 7: Mở tệp để nạp dữ liệu vào các bảng.

Tạo cơ sở dữ liệu mới

Bước 8: Chọn tệp BikeStores Sample Database - load data.sql và nhấp vào nút Open.

Tạo cơ sở dữ liệu mới

Bước 9: Nhấp vào nút Execute để nạp dữ liệu vào các bảng.

Bạn sẽ thấy thông báo sau cho biết rằng tất cả các câu lệnh trong tập lệnh đã được thực thi thành công.

Tạo cơ sở dữ liệu mới

Trong hướng dẫn này, bạn đã học cách tạo cơ sở dữ liệu mới sau đó thực thi các tập lệnh SQL để tạo lược đồ, bảng và nạp cơ sở dữ liệu mẫu BikeStores vào SQL Server.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *