Mình là sv K59 tin kinh tế. Đây là bài báo cáo Môn học của bộ môn Tin học kinh tế khoa công nghệ thông tin đại học mỏ địa chất............ Tìm hiểu về Microsoft SQL Sever 2017. Mình là sv K59 tin kinh tế. Đây là bài báo cáo Môn học của bộ môn Tin học kinh tế khoa công nghệ thông tin đại học mỏ địa chất............ Tìm hiểu về Microsoft SQL Sever 2017. Mình là sv K59 tin kinh tế. Đây là bài báo cáo Môn học của bộ môn Tin học kinh tế khoa công nghệ thông tin đại học mỏ địa chất............ Tìm hiểu về Microsoft SQL Sever 2017.
Trang 1TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT KHOA CÔNG NGHỆ THÔNG TIN
-*** -CHUYÊN ĐỀ THỰC HÀNH 2 GIỚI THIỆU VỀ MICROSOFT SQL SEVER 2017
Giảng viên hướng dẫn
Sinh viên thực hiện
Trang 2Ôi, chắc bạn sẽ cười Tôi vì câu hỏi đơn giản quá!
Trước tiên là phải xác định được vị trí của cuốn sách bằng cách:
Hỏi người phụ trách thư viện
Tra cứu trên máy tra tài liệu của thư viện (theo loại sách, tên sách, tác giả,
…)
Sau đó thì chỉ việc đến vị trí đã xác định và lấy về đọc thôi phải không nào
Nếu thư viện không có máy tra tài liệu hay người phụ trách không nhớ ranơi đặt cuốn sách này Lúc này, bạn phải tự mò tìm cuốn sách trong hàngnghìn cuốn sách ở thư viện Chỉ nghĩ thôi mà đã muốn bỏ về mất rồi
Vậy đó, nếu chúng ta không có kênh thích hợp thì sẽ không biết cách để lấycuốn sách đó một cách nhanh và chính xác
Tương tự như vậy, một hệ quản trị cơ sở dữ liệu (DBMS) là một ứng dụngphần mềm máy tính để tạo và quản lý dữ liệu trong cơ sở dữ liệu Chúngcung cấp cho người dùng và những người lập trình một cách thích hợp đểtruy xuất, quản lý, cập nhật và tạo dữ liệu
Các hệ quản trị cơ sở dữ liệu giúp bảo vệ dữ liệu an toàn, giảm sự thừa dữliệu và duy trì hiệu quả của dữ liệu
Trang 3Microsoft SQL Sever là phần mềm quản trị cơ sở dữ liệu phổ biến, đượcMicrosoft phát triển dựa trên RDBMS (Relational Database ManagementSystem) Phần mềm sử dụng cả giao diện dòng lệnh và giao diện GUI
Thêm vào đó, khi sử dụng phần mềm bạn sẽ luôn luôn nhận được sự hỗ trợthân thiện từ cộng đồng người dùng trực tuyến Bạn cũng có thể bắt đầu sửdụng chương trình với những bài học đã được biên soạn cẩn thận
Vì do đây là một phần mềm được phát triển bởi Microsoft nên dễ cài đặttrên nền tảng window
Chúng ta sẽ cùng tìm hiểu về Microsoft SQL Sever để hiểu rõ hơn
BẢNG PHÂN CÔNG CÔNG VIỆC
Thuyết trình + Tìm tài liệu + Chương IV
Trang 4Mục Lục
Trang 5CHƯƠNG I : TỔNG QUAN VỀ MICROSOFT SQL SERVER
1 Hệ quản trị cơ sở dữ liệu
1.2 Vai trò của hệ quản trị cơ sở dữ liệu
Trong thời buổi công nghệ số hiện nay, nhiều quy trình, công đoạn hay các
hệ thống quản trị đều được mã hóa và vận hành bởi các thiết bị, phần mềmnhằm giúp cho các đối tượng sử dụng đạt được hiệu suất làm việc tốt nhất.Trên cơ sở đó, các hệ cơ sở quản trị dữ liệu ra đời và đóng vai trò quantrọng trong xử lý và kiểm soát các nguồn thông tin, dữ liệu đơn lẻ Cụ thể,
hệ quản trị CSDL có các chức năng chính như sau:
Cung cấp môi trường tạo lập cơ sở dữ liệu: hệ quản trị cơ sở dữ liệu đóngvai trò cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu để mô tả,khai báo kiểu dữ liệu, các cấu trúc dữ liệu
Trang 6Cung cấp cách nhập và xử lí dữ liệu: hệ quản trị cơ sở dữ liệu cung cấp chongười dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu các thao tác
dữ liệu và khai thác dữ liệu Thao tác dữ liệu bao gồm: Cập nhật ( nhập,sửa, xóa dữ liệu ) và khai thác ( tìm kiếm, kết xuất dữ liệu )
Cung cấp các công cụ kiểm soát, điều khiển các truy cập và cơ sở dữ liệu:nhằm đảm bảo một số yêu cầu cơ bản của cơ sở dữ liệu Bao gồm:
+ Đảm bảo an ninh, phát hiện và ngăn chặn các truy cập bất hợp pháp.+ Duy trì tính nhất quán của dữ liệu
+ Tổ chức và điều khiển các truy cập
+ Khôi phục cơ sở dữ liệu khi có sự cố về phần cứng hay phần mềm
+ Quản lí các mô tả dữ liệu
2 Tổng quan về Microsoft SQL Server
2.1 Khái niệm Microsoft SQL Server
Microsoft SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụngcâu lệnh SQL để trao đổi dữ liệu giữa máy cài SQL Server và máy Client.Một Relational Database Management System – RDBMS gồm có:databases, datase engine và các chương trình ứng dụng dùng để quản lý các
bộ phận trong RDBMS và những dữ liệu khác
2.2 Lịch sử phát triển
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989cho các hệ điều hành chạy 16 bit với SQL Server phiên bản 1.0 và tiếp tụcphát triển cho tới ngày nay
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version6.5 Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới choSQL Server cho nên có thể nói từ version 6.5 lên version 7.0 là một bướcnhảy vọt Có một số đặc tính của SQL Server 7.0 không tương thích vớiversion 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000)
Trang 7thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm choSQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance Tức
là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước màkhông cần phải gỡ chúng Nghĩa là bạn có thể chạy song song version 6.5hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ravới các phiên bản trước đây) Khi đó phiên bản cũ trên máy bạn là DefaultInstance còn phiên bản 2000 mới vừa cài sẽ là Named Instance
Microsoft gần đây đã phát hành SQL Server 2017, và nó cung cấp nhiều lý
do thuyết phục để nâng cấp Mặc dù bạn có thể lo lắng rằng quá trình này
có thể dẫn đến thời gian ngừng hoạt động và gián đoạn hoạt động kinhdoanh của bạn, nhưng lợi thế trong các lĩnh vực như khả năng tương thíchnền tảng và phân tích thống kê nguồn mở cung cấp cho bạn những lợi thếcạnh tranh tiềm năng
2.3 Các phiên bản SQL Server
Microsoft SQL sever hiện có nhiều phiên bản khác nhau Dưới đây là danhsách các phiên bản cùng với tính năng của từng phiên bản:
• Enterprise - bản cao cấp nhất với đầy đủ tính năng
• Standard - ít tính năng hơn Enterprise, sử dụng khi không cần dùngtới các tính năng nâng cao
• Workgroup - phù hợp cho các công ty lớn với nhiều văn phòng làmviệc từ xa
• Web - thiết kế riêng cho các ứng dụng web
• Developer - tương tự như Enterprise nhưng chỉ cấp quyền cho mộtngười dùng duy nhất để phát triển, thử nghiệm, demo Có thể dễdàng nâng cấp lên bản Enterprise mà không cần cài lại
• Express - bản này chỉ dùng ở mức độ đơn giản, tối đa 1 CPU và bộnhớ 1GB, kích thước tối đa của cơ sở dữ liệu là 10GB
Trang 8• Compact - nhúng miễn phí vào các môi trường phát triển ứng dụng
web Kích thước tối đa của cơ sở dữ liệu là 4GB
• Datacenter - thay đổi lớn trên SQL Server 2008 R2 chính là bản
Datacenter Edition Không giới hạn bộ nhớ và hỗ trợ hơn 25 bản cài
• Business Intelligence - Business Intelligence Edition mới được giới
thiệu trên SQL Server 2012 Phiên bản này có các tính năng của bản
Standard và hỗ trợ một số tính năng nâng cao về BI như Power View
và PowerPivot nhưng không hỗ trợ những tính năng nâng cao về
mức độ sẵn sàng như AlwaysOn Availability Groups…
• Enterprise Evaluation - bản SQL Server Evaluation Edition là lựa
chọn tuyệt vời để dùng được mọi tính năng và có được bản cài miễn
phí của SQL Server để học tập và phát triển Phiên bản này có thời
gian hết hạn là 6 tháng từ ngày cài.Từ tháng 10 năm 2016, các phiên
bản sau được Microsoft hỗ trợ:
o SQL Server 2008 R2
o SQL Server 2012
o SQL Server 2014
o SQL Server 2016
Tên gọi qua các năm:
1986: SQL 86 (Được công bố đầu tiên bởi ANSI Được phê chuẩnbởi ISO năm 1987)
Trang 9SQL Server 2017 được phát hành chính thức vào tháng 10/2017 Nhữngphần đầu tiên của SQL Server 2017 đã được tung ra từ cuối năm 2016, tínhđến cuối năm 2017 nó đã có 10 bản phát hành.
Phiên bản SQL Server 2017 chủ yếu kết nối với Linux, mang sức mạnh củaSQL lên Linux Để nói ngắn gọn thì bạn có thể cài SQL Server 2017 trênLinux, sử dụng SQL Server 2017 trên docker container dựa trênLinux SQL Server 2017 cũng cho phép lựa chọn ngôn ngữ phát triển, pháttriển nó tại chỗ (on-premise) hoặc dựa trên đám mây
Trong bản này, SQL Server 2017 cũng cải thiện hiệu suất, khả năng mởrộng và các tính năng trong từng phần như Database Engine, IntegrationServices, Master Data Services, Analysis Services, v.v Trong bài viết nàychúng ta sẽ xem xét qua từng phần một
Trang 10CHƯƠNG II: MICROSOFT SQL SEVER 2017
1 Các phiên bản của Microsoft SQL Sever 2017
• SQL Sever 2017 on-premises: Xây dựng các ứng dụng thông minh,
nhiệm vụ quan trọng bằng cách sử dụng nền tảng dữ liệu hỗn hợp, cóthể mở rộng cho các khối lượng công việc đòi hỏi Được dùng thửmiễn phí 180 ngày của SQL Server 2017 trên Windows
• SQL Sever in the cloud: Tận dụng khả năng sẵn có cao, bảo mật và
thông minh của Cơ sở dữ liệu SQL Azure và sử dụng công cụ SQLquen thuộc mà không cần sự phức tạp của quản lý cơ sở hạ tầng.Được sử dụng Cơ sở dữ liệu SQL miễn phí trong Azure
• Phiên bản SQL Server Developer : là phiên bản miễn phí, nhưng bạn
không thể sử dụng nó trong sản xuất Đối với hướng dẫn này, bạn cóthể sử dụng phiên bản SQL Server Developer edition Bạn nên sửdụng nó cho mục đích phát triển hoặc cho mục đích đào tạo Nó cũngbao gồm tất cả các tính năng cần có
• Phiên bản SQL Server Express : miễn phí và có thể được sử dụng
trong sản xuất, nhưng nó có một giới hạn lưu trữ (10GB) và nókhông bao gồm một số tính năng (như SQL Server Agent, DTA,v.v ) Bạn nên sử dụng phiên bản này nếu bạn không cần quá nhiềudung lượng ổ đĩa hoặc tài nguyên trong máy
2 Tính năng mới của SQL Server 2017
Tính năng mới trong Database Engine:
identity_cache
Tùy chọn này giúp bạn tránh những sai lệch về giá trị của cột ID, trongtrường hợp máy chủ tắt đột ngột hoặc tiến hành chuyển đổi dự phòng, haythậm chí chuyển sang máy chủ phụ Nó được sử dụng với lệnh ALTERDATABASE SCOPED CONFIGURATION, để kích hoạt các thiết lập cấuhình cơ sở dữ liệu Cú pháp như sau:
Trang 11ALTER DATABASE SCOPED CONFIGURATION { { [ FORSECONDARY] SET <set_options> } } | CLEAR PROCEDURE_CACHE |SET < set_options > [;] < set_options > ::= { MAXDOP = { <value> |PRIMARY} | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF |PRIMARY} | PARAMETER_SNIFFING = { ON | OFF | PRIMARY} |QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY} |IDENTITY_CACHE = { ON | OFF } }
Cải thiện xử lý truy vấn thích ứng
Nếu bạn muốn cải thiện hiệu suất thực thi truy vấn thì tính năng mới này sẽgiúp ích đáng kể Nó được hỗ trợ trong SQL Server và Azure SQLDatabase
Đây là quy trình tối ưu hóa thông thường khi thực thi truy vấn SQL:
• Đầu tiên, trình tối ưu hóa truy vấn sẽ tính toán tất cả các kế hoạchthực hiện truy vấn khả thi cho truy vấn vừa tạo
• Tiếp theo, nó sẽ đưa ra kế hoạch tối ưu nhất/nhanh nhất
• Cuối cùng, kế hoạch được ước tính là tối ưu nhất sẽ được chọn đểthực thi truy vấn và quá trình thực hiện sau đó sẽ bắt đầu
Quá trình trên có những nhược điểm sau:
• Nếu ước tính sai kế hoạch tối ưu nhất thì sẽ ảnh hưởng đến hiệu suất
• Nếu không đủ bộ nhớ được cấp phát cho việc thực thi kế hoạch tối
ưu thì sẽ xảy ra lỗi tràn bộ nhớ
Dưới đây là những tính năng mà SQL Server 2017 đã đưa vào để khắc phụcnhững nhược điểm trên:
Batch Mode Memory Grant Feedback (Phản hồi về việc cấp phát bộ nhớcho chế độ hàng loạt): Phản hồi này sẽ tính toán lại bộ nhớ được yêu cầucho việc thực thi kế hoạch và cấp phát bộ nhớ cho nó từ cache
Trang 12Batch Mode Adaptive Joins (Join thích ứng với chế độ hàng loạt): Có 2kiểu join là Hash và vòng lặp lồng nhau Khi truy kế hoạch thực hiện đượcnhập vào và quét lần đầu, nó sẽ quyết định xem sẽ áp dụng kiểu join nào để
có được output ở tốc độ tối ưu
Interleaved Execution (Thực thi xen kẽ): Trong quá trình thực thi kế hoạchtối ưu, tính năng này sẽ "pause" khi gặp những hàm kiểu bảng đa lệnh(multi-stament table valued function) để chỉ tính toán hoàn hảo các yếu tốtrong bảng này, rồi sau đó mới tiếp tục tối ưu hóa
Automatic Tuning
Tính năng này kiểm tra các vấn đề trong hiệu suất truy vấn, xác định chúng
và khắc phục bằng những giải pháp được đề xuất Đây là những kỹ thuậtautomactic tuning (tự động điều chỉnh) có sẵn trong tính năng này:
Automatic Correction (Plan): Kỹ thuật này có trong SQL 2017 Database,
nó sẽ tìm những vấn đề về hiệu suất trong kế hoạch truy vấn được đưa ra,sau đó sửa chữa chúng với những giải pháp được đề xuất
Automatic Management (Index): Kỹ thuật này có trong SQL 2017 Azure
DB, nó sẽ xác định và sửa thứ tự các chỉ mục bằng cách xóa chỉ mục chưachuẩn và thêm chỉ mục đúng vào
Tính năng mới trong Graph DB
Graph DB là gì?
Về cơ bản, Graph DB là một tập hợp các nút và cạnh, cạnh biểu thị cho mốiquan hệ giữa các nút, nút là thực thể, một cạnh có thể nối với nhiều nút.Graph DB hoạt động giống như một cơ sở dữ liệu quan hệ, và bạn có thể sửdụng nó trong những trường hợp sau:
• Khi có cơ sở dữ liệu ở định dạng phân cấp (hierarchical) và muốnlưu nhiều parent cho một nút
Trang 13• Khi cần kiểm tra và phân tích quan hệ liên kết và dữ liệu.
• Khi có nhiều quan hệ (relationship)
Ở đây, từ khóa MATCH được sử dụng để truy vấn bảng Graph và sắp xếp
dữ liệu, với sự trợ giúp của một truy vấn duy nhất, người dùng có thể truyvấn trên biểu đồ và dữ liệu quan hệ
Always Available (truy cập dữ liệu chéo)
Với sự trợ giúp của tính năng này, giờ đây việc trao đổi chéo các cơ sở dữliệu giữa các SQL instance khác nhau (một SQL instance có thể kết nốiđược với cácSQL instance khác) là hoàn toàn khả thi Nó cũng hỗ trợ choviệc trao đổi các cơ sở dữ liệu phân tán [SQL 2016 cũng hỗ trợ truy cập cơ
sở dữ liệu chéo nhưng chỉ giữa các cá thể trong cùng một SQL Server.]
Cải tiến về DTA
Trong SQL 2017, đã có cải thiện về hiệu suất trong Database tuning advisor(DTA) Cụ thể là các tùy chọn cho DTA đã được bổ sung thêm
Nếu bạn chưa biết DTA là gì thì:
DTA là công cụ cơ sở dữ liệu thực hiện kiểm tra quá trình truy vấn (đãđược xử lý) sau đó đưa ra những cách thức giúp bạn cải thiện hiệu suất hoạtđộng, có thể là bằng cách thay đổi cấu trúc cơ sở dữ liệu (ví dụ: chỉ mục,khóa) Có thể sử dụng DTA theo hai cách sau đây:
Sử dụng GUI (giao diện)
Sử dụng tiện ích lệnh
Hàm chuỗi (string) mới
SQL 2017 mang đến cho người dùng một số hàm chuỗi mớinhư TRANSLATE, CONCAT_WS, STRING_AGG, TRIM Hãy cùng tìmhiểu từng hàm một
Trang 14Về cơ bản hàm này lấy một chuỗi kí tự làm dữ liệu đầu vào và sau đóchuyển các ký tự này sang một số ký tự mới, xem cú pháp dưới đây:
TRANSLATE ( inputString, characters, translations)
Trong cú pháp trên chiều dài của 'characters' phải tương tự như trong'translations', nếu không hàm trên sẽ trả về giá trị lỗi Ví dụ:
TRANSLATE ('6*{10+10}/[6-4]','[]{}','()()')
Kết quả trả về của ví dụ trên sẽ là 6 * (10 + 10) / (6-4) Chúng ta có thểthấy các dấu ngoặc nhọn và ngoặc vuông được chuyển thành các dấu ngoặctròn
Hàm này có cơ chế hoạt động giống như hàm REPLACE nhưng cách sửdụng đơn giản hơn để thay cho hàm REPLACE Ví dụ nếu chúng ta muốn
có kết quả trả về như trên mà sử dụng hàm REPLACE, thì chúng ta phảiviết hàm như sau, mới nhìn thôi đã thấy không hề dễ hiểu chút nào:
SELECT 4]','{','('), '}', ')'), '[', '('), ']', ')');
REPLACE(REPLACE(REPLACE(REPLACE('6*{10+10}/[6-CONCATE_WS
Chức năng của hàm này chỉ đơn giản là ghép nối tất cả các đối số đầu vàovới các dấu phân cách được chỉ định Hãy tham khảo cú pháp dưới đây:
CONCAT_WS ( separator, argument1, argument1 [, argumentN]… )
Hàm này tạo ra những chuỗi đơn bằng cách nối tất cả các đối số với nhaunhờ vào sự trợ giúp của các dấu phân tách, do vậy nó cần tối thiểu 2 đối số
để tạo ra kết quả đầu ra, nếu không kết quả trả về sẽ lỗi Ví dụ:
SELECT CONCAT_WS(',','Count
numers', 'one', 'two', 'three', 'four' ) AS counter;
Trang 15Kết quả trả về của lệnh trên sẽ là: one, two, three, four
Bạn cũng có thể sử dụng tên cột cơ sở dữ liệu thay vì các chuỗi được mãhóa
TRIM
Cuối cùng thì hàm này cũng đã xuất hiện trên SQL 2017 Về cơ bản thì nóhoạt động giống như hàm trim của C#, tức là loại bỏ tất cả các khoảngtrống thừa ở phần đầu và cuối chuỗi Cú pháp như sau:
SELECT TRIM(' trim me ') AS result;
Kết quả trả về của lệnh trên sẽ là: trim me
Hàm này sẽ không loại bỏ các khoảng trống nằm giữa chuỗi
STRING_AGG
Hàm này nối các giá trị của chuỗi với sự trợ giúp của các dấu phân táchtrong khi không thêm dấu phân tách ở cuối chuỗi Dữ liệu đầu vào có thể làVARCHAR, NVARCHAR, bạn có thể tùy ý chỉ định thứ tự hiển thị của kếtquả bằng việc sử dụng mệnh đề WITHIN GROUP
Xem cú pháp dưới đây:
STRING_AGG ( expression, separator ) [ <order_clause> ]
Trang 16Trong ví dụ trên, tất cả tên đã được ghép nối và phân tách bằng dấu chấmphẩy (;) Mệnh đề WITHIN GROUP giúp chúng ta sắp xếp theo thứ tự Kếtquả trả về sẽ được hiển thị như sau:
Có gì mới trong SSRS (Reporting Services) của SQL 2017
• Từ bây giờ, Query designer sẽ hỗ trợ DAX Các truy vấn DAXnguyên bản sẽ có thể được tạo ra để ngăn chặn SSAS (các dịch vụphân tích) Tính năng này sẽ xuất hiện trên bản cập nhật mới nhấtcủa các công cụ SQL và trình xây dựng báo cáo
• Các lệnh OpenAPI được hỗ trợ bởi RESTful API, và giờ đây,RESTful API lại được hỗ trợ bởi SSRS
• Từ bây giờ, bạn có thể đính kèm thêm tệp vào các nhận xét củamình
• Bạn cũng có thể thêm nhận xét vào các báo cáo
• Cổng thông tin dịch vụ báo cáo đã được nâng cấp đáng kể (tính năngnày đã có sẵn trong SQL 2016)
Có gì mới ở SSIS (Dịch vụ tích hợp) trong SQL 2017
Từ bây giờ bạn có thể thực hiện SSIS trên Linux, tăng thêm khối lượng,cũng như trích xuất và chuyển đổi dữ liệu trực tiếp trên Linux
Tính năng mở rộng quy mô cho phép các hệ thống tích hợp phức tạp vớinhiều máy có hiệu năng cao Tính năng mở rộng quy mô có thể thực hiệntất cả các hoạt động với sự trợ giúp của Scale Out Master và Scale OutWorkers
Dịch vụ phân tích trong (SSAS) trong SQL 2017 có gì mới
• Giao diện mới của Get Data được ra mắt trên SQL 2017 tương tựnhư MS Excel, power BI Ngoài ra tính năng data transformation và
Trang 17data mashup cũng đã xuất hiện, bạn có thể làm điều đó bằng cách sửdụng trình tạo truy vấn và biểu thức M.
• Tabular mode cho SSAS - một đế độ được giới thiệu trong SQL
2012, giờ đã được nâng cấp mạnh mẽ hơn trong SQL 2017
• SQL 2017 đưa ra tính năng Encoding hints mới, được sử dụng để tối
ưu hóa dữ liệu bảng trong bộ nhớ lớn
• Cải thiện hiệu suất cho PIVOT
Machine Learning
Chúng ta đều biết rằng SQL 2016 hiện đang hỗ trợ các dịch vụ R, và từ bâygiờ, dịch vụ này sẽ được đổi tên thành các dịch vụ SQL Server Machinelearning Lợi ích từ sự thay đổi này là bạn có thể dễ dàng sử dụng hệ thốngcác lệnh R hoặc Python trên SQL Server
Với tính năng mới này, Python có thể chạy được trong những thủ tục đãlưu Thậm chí bạn có thể thực thi lệnh từ xa thông qua SQL Server, điềunày sẽ thực sự hữu ích cho các nhà phát triển Python Tuy nhiên, tính năngnày hiện tại vẫn chưa được hỗ trợ trên Linux, hãy cùng chờ đợi ở nhữngbản nâng cấp tiếp theo
Để sử việc dụng machine learning một cách trở lên hiệu quả và tối ưu hơn,SQL sử dụng các giải pháp sau:
• revoscalepy là một loại thư viện mới có nhiệm vụ làm nền tảng cho
các thuật toán hiệu năng cao, các tính toán và tình huống từ xa Về
cơ bản revoscalepy dựa trên nền tảng RevoScaleR (một gói dịch vụR)
• microsoftml là cụm máy chủ Microsoft R hỗ trợ các thuật toán theo
ngôn ngữ máy, Microsoft đã phát triển thư viện này cho machinelearning nội bộ Nhưng qua nhiều năm, nó đã được cải tiến và hiệntại microsoftml hỗ trợ truyền dữ liệu nhanh cũng như chuyển đổi cácvăn bản lớn, v.v
Trang 18Hỗ trợ Linux
Về cơ bản, ngay từ tên gọi "SQL 2017 on Linux and Windows" ta đã có thểbiết được rằngmục đích chính của bản nâng cấp này là hỗ trợ cho việc pháthành sản phẩm trên nền tảng Linux Dưới đây là một vài tính năng chínhcủa "SQL trên Linux":
• Khả năng lưu trữ cơ sở dữ liệu lõi
• Liền mạch hóa và tự do hóa quá trình cài đặt
• SQL cho Visual studio core (VS core đã có trên Linux)
• Trình tạo tập lệnh nền tảng chéo
3 Ưu điểm và nhược điểm của SQL Server 2017
* Ưu điểm:
Microsoft gần đây đã phát hành SQL Server 2017, và nó cung cấp nhiều lý
do thuyết phục để nâng cấp Mặc dù bạn có thể lo lắng rằng quá trình này
có thể dẫn đến thời gian ngừng hoạt động và gián đoạn hoạt động kinhdoanh của bạn, nhưng lợi thế trong các lĩnh vực như khả năng tương thíchnền tảng và phân tích thống kê nguồn mở cung cấp cho bạn những lợi thếcạnh tranh tiềm năng
- Khả năng tương thích trên nhiều nền tảng
Tin tức lớn nhất từ bản cập nhật này là Microsoft cuối cùng đã chọn hỗ trợnhiều hơn các hệ điều hành Windows trên các máy chủ SQL Các thùngchứa Linux, Mac OS và Docker nhận được sự hỗ trợ mà nhiều công ty đãchờ đợi trong nhiều năm Bạn có sự linh hoạt để chọn nền tảng mà bạnmuốn sử dụng trên máy chủ SQL của bạn thay vì bị khóa vào Windows
Trang 19- Giảm tổng chi phí sở hữu
Microsoft đã chú ý nhiều đến lợi ích của các mô hình đám mây lai, giúpcác tổ chức giảm TCO cho cơ sở dữ liệu của họ Bạn có thời gian dễ dàngtruy cập vào dữ liệu dựa trên đám mây cùng với các máy chủ tại chỗ củabạn, với các tính năng như Cơ sở dữ liệu Stretch mang lại cho bạn sự linhhoạt rất cần thiết
- Dịch vụ phân tích dữ liệu thống kê và dữ liệu tốt hơn
Một phát triển thú vị khác là việc bổ sung Python Microsoft cũng đưaEnhanced R-Open vào trong SQL Server 2017 Họ nhận ra sự cần thiếtphải truy cập dữ liệu theo thời gian thực và các công cụ phân tích tốt hơncho cơ sở dữ liệu của các tổ chức Analytics nâng cao trong cơ sở dữ liệucung cấp cho bạn thông tin chi tiết bạn cần để cải thiện mọi thứ từ hiệu suất
cơ sở dữ liệu đến quản lý khoảng không quảng cáo của công ty bạn
Các tính năng thông minh kinh doanh có thể xử lý khoảng 1 triệu dự đoánmỗi giây, cung cấp cho bạn một công cụ mạnh mẽ cho sự phát triển kinhdoanh của bạn
- Hiệu suất tốt hơn
Bạn sẽ thấy những cải thiện đáng kể về hiệu suất, vì SQL Server 2017 cóthể tăng tốc truy vấn nhanh hơn 100 lần Tốc độ giao dịch cũng tăng lênđến 30 lần Nhu cầu xử lý dữ liệu của tổ chức của bạn sẽ chỉ tăng trongtương lai, vì vậy tối đa hóa hiệu suất trong lĩnh vực này là rất quan trọng
- Bảo mật tốt nhất trong lớp
Không ai muốn suy nghĩ về các vấn đề an ninh gây rắc rối cho các tổ chứcthuộc mọi quy mô, nhưng Microsoft đang làm một phần của nó trong SQLServer 2017 để cố gắng ngăn chặn làn sóng tội phạm mạng Mã hóa khinghỉ ngơi và chuyển động cắt giảm khả năng kẻ xâm nhập có thể nhận
Trang 20được dữ liệu có thể sử dụng do vi phạm Mặt nạ dữ liệu động làm tăng mức
độ khó hơn nữa
- Hỗ trợ Linux
SQL Server 2017 hỗ trợ nhiều hoạt động Linux ngay bây giờ Việc cài đặtdựa trên gói là có thể cho Ubuntu, Docker, SUSE và RHEL để sắp xếp quátrình nâng cấp và cài đặt Bạn sẽ không gặp phải nhiều chi phí quản trị hơnđơn giản chỉ vì bạn muốn sử dụng thứ gì đó ngoài Windows
Bạn có thể triển khai trên các nền tảng vùng chứa phổ biến như DockerSwarm Pacemaker cung cấp một cách khác để quản lý rủi ro của bạn thôngqua chuyển đổi dự phòng, và tất cả các tính năng sao lưu và khôi phục đềuđược đề cập đến
- SQL Server 2017 không chỉ là nâng cấp chất lượng cuộc sống cho cơ sở dữliệu Khả năng làm việc với tính tương thích đa nền tảng là một sự thay đổitrò chơi, và nó là giá trị nâng cấp ngày của riêng mình Khi bạn thêm vào
hỗ trợ tốt hơn cho tình báo kinh doanh, giảm chi phí sở hữu, cấu hình lailiền mạch và tất cả các cải tiến khác, điều duy nhất cần giữ lại là bộ phậnCNTT bận rộn đến mức nào
- Hỗ trợ khôi phục dữ liệu tuyệt vời
Dữ liệu bị hỏng luôn là mối quan tâm khi mất điện hoặc tắt máy khôngđúng cách Microsoft SQL Server có một số tính năng thúc đẩy phục hồi vàkhôi phục dữ liệu Mặc dù các bảng riêng lẻ không thể được sao lưu hoặcphục hồi, nhưng các tùy chọn khôi phục cơ sở dữ liệu hoàn chỉnh có sẵn.Thông qua việc sử dụng các tệp nhật ký, bộ nhớ đệm và các bản sao lưu,sản phẩm của Microsoft cho phép bạn cảm thấy tự tin rằng các tùy chọnkhôi phục thảm họa rất phong phú
* Nhược điểm:
- Chi phí
Trang 21Một trong những nhược điểm lớn khi sử dụng Microsoft SQL Server thay
vì một hệ thống quản lý cơ sở dữ liệu quan hệ thay thế là các tùy chọn cấpphép khá đắt tiền Mặc dù sử dụng phần mềm cho mục đích phát triển hoặcgiáo dục là miễn phí, bất kỳ loại hình doanh nghiệp nào sử dụng đều phảichịu phí cấp phép Ví dụ, đối với SQL Server 2008, SQL Server StandardEdition có giá $ 7,171 cho mỗi bộ xử lý Phiên bản Trung tâm dữ liệu máychủ SQL là $ 54,990 cho mỗi bộ vi xử lý, theo trang web của Microsoft.Đối với các doanh nghiệp nhỏ và cá nhân chạy các trang web vì lợi nhuận,điều này không thể thực hiện được Phần mềm cạnh tranh, chẳng hạn nhưMySQL, thường miễn phí để sử dụng Tuy nhiên, trong trường hợp khôngphải là gói MySQL Enterprise đắt nhất có giá $ 4.999 cho mỗi máy chủmỗi năm Đây là rẻ hơn đáng kể so với gói Microsoft SQL StandardEdition
CHƯƠNG III: THAO TÁC CƠ BẢN TRÊN MICROSOFT SQL SEVER 2017
1 Các thao tác cơ bản trên bản SQL Server Express 2017
Tạo cơ sở dữ liệu mới và tạo bảng
Bước 1: Nhấp chuột phải vào Database -> Chọn New Database
Bước 2 : Hiển thị overlay thêm mới cơ sở dữ liệu Đặt tên cho CSDL vàchọn Ok
Trang 22Bước 3: Có CSDL mới “QUANLYBANHANG” Nhấp chuột phải vàoTable, chọn New Table
Bước 4:
Xuất hiện cửa sổ TenPC.TenDatabase – dbo.Table_1
Trong đó:
Column Name: Tên trường thuộc tính của bảng
Data Type: Kiểu dữ liệu của các trường thuộc tính
Allow Nulls: Trường thuộc tính có nhận giá trị Null hay không
Các kiểu dữ liệu :
Trang 23Kiểu dữ liệu Phạm vi lưu trữ Kích thước
Bigint Các số nguyên -263 đến 263-1 8 bytes
Binary(n) Dữ liệu nhị phân với độ dài cố
định n byte
4 bytes Bit Kiểu bit(có giá trị 0 hoặc 1) 1 bytes
Char(n) Kiểu chuỗi có chiều dài n kí
tự cố định
n bytes Datetime Dữ liệu ngày giờ, nhận giá trị
từ 1/1/1753 đến 31/12/9999
4 bytes Decimals(p,s) Dữ liệu số thập phân P là
tổng số kí tự số có thể được lưu, s là số chữ số thập phân
Phụ thuộc vào độ chính xác
có phạm vi từ -1.79E+308 đến 1.79+308
8 bytes
Image Dữ liệu nhị phân Co thể lưu
trữ tối đa 2,146,483,647 bytes
Mỗi kí tự chiếm 2 bytes
Numberic(p,s) Tương tự kiểu decimal Phụ thuộc vào độ chính xác Nvarchar(n) Dữ liệu kiểu chuổi, có thể lưu
trữ n(1<=n<=4000) kí tự Unicode
2n bytes
Real Dữ liệu số thực dấu phẩu
động, phạm vi từ -3.4E+38 đến 3.4E+38
4 bytes
Smalldatetime Dữ liệu ngày giờ có thể lưu
trữ từ 1/1/1900 đến 6/6/2079
4 bytes Smallint Số nguyên từ -215 đến 215-1 2 bytes
Smallmoney Dữ liệu kiểu tiền tệ từ
-214,748.3648 đến 214,748.3647
4 bytes
Sql_variant Cho phép giữ các giá trị của
các kiểu dữ liệu khác nhau Text Dữ liệu kiểu chuỗi, có thể lưu
trữ tối đa 2,147,483,647 kí tự.
Không được hỗ trợ Unicode
Mỗi kí tự chiếm 1 bytes
Timestamp Cột timestamp được cập nhật
tự động mỗi khi dòng được thêm hoặc được cập nhật Mỗi bảng chỉ có thể có 1 cột timestamp
8 bytes
Tinyint Số nguyên có giá trị từ 0 đến
255
1 bytes Unique-dentifier Là số định danh duy nhất toàn
cục(GUID) Nó được tự động
16 bytes