Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
443,17 KB
Nội dung
Giáo Trình Hệ Quản Trị CSDL GV: Lê Trung Thư - 0918181888 Người Biên Soạn : Nguyển Văn Trường An Được copy: https://voer.edu.vn/c/giao-trinh-he-quan-tri-co-so-du-lieu-sql-dhcnhn/0351a5c3 Tổng quan DBMS SQL Sever Chương trình bày cách nhìn khái quát sở liệu (CSDL/DB), hệ quản trị sở liệu (HQTCSDL/DBMS) hệ sở liệu (HCSDL/DBS) Các đòi hỏi xây dựng HQTCSDL chức mà HCSDL cần phải có Trong chương muốn giới thiệu tổng quan ngôn ngữ hỏi có cấu trúc (SQL) hệ quản trị sở liệu quan hệ tảng kỹ thuật quan trọng công nghiệp máy tính Cho đến nay, nói SQL xem ngôn ngữ chuẩn sở liệu Các hệ quản trị sở liệu quan hệ thương mại có Oracle, SQL Server, Informix, DB2, chọn SQL làm ngôn ngữ cho sản phẩm Vậy thực SQL gì? Tại lại quan trọng hệ quản trị sở liệu? SQL làm nào? Nó sử dụng hệ quản trị sở liệu quan hệ? Chương cung cấp cho nhìn tổng quan SQL số vấn đề liên quan Ta tìm hiểu DBMS HQCSDL cụ thể: SQL Server 2000 Do chương giới thiệu cài đặt SQL Server 2000 thành phần nó, giúp chủ động khai thác nắm bắt tạo lập ứng dụng Tổng quan DBMS MỘT SỐ KHÁI NIỆM Một cơsở liệu - CSDL(DataBase): Là kho liệu tổ chức theo nguyên tắc Đó tập hợp tập tin có liên quan với nhau, thiết kế nhằm làm giảm thiểu dư thừa liệu, đảm bảo tính tin cậy truy xuất liệu Các tập tin chứa thông tin biểu diễn đối tượng ứng dụng giới thực CSDL lưu giữ thông tin trường đại học : khoa, giảng viên, sinh viên, khóa học,… Thông thường, sở liệu bao trùm tất thông tin ứng dụng, không nên đặt hai sở liệu vào ứng dụng Hệ quản trị sở liệu DBMS(DataBaseManagement System): hệ thống gồm CSDL thao tác CSDL Đó hệ thống chương trình, công cụ cho phép quản lý tương tác với CSDL Trên người dùng định nghĩa, thao tác, xử lí liệu CSDL để xuất thông tin có nghĩa Ví dụ 1-5 : DBMS quản trị sở liệu trường đại học sở liệu có ý nghĩa khác : sở liệu phục vụ tổng thu nhập quốc gia, sở liệu liên hợp quốc liệu địa lý giới,v v… - Một hệ sở liệu (HCSDL/ DBS: DataBase System) phần mềm cho phép xây dựng HQTCSDL Các vấn đề cần xử lý hệ sở liệu Một số điểm bất lợi việc lưu giữ thông tin có tổ chức hệ thống xử lý file thông thường mà hệ HCSDL cần lưu ý: • Dư thừa liệu tính không quán (Data redundancy and inconsistency) : Do file trình ứng dụng tạo người lập trình khác nhau, nên file có định dạng khác nhau, chương trình viết ngôn ngữ lập trình khác nhau, thông tin lưu giữ file khác Tính không thống dư thừa làm tăng chi phí truy xuất lưu trữ, nũa, dẫn đến tính không quán liệu: liệu không quán • Khó khăn việc truy xuất liệu: Môi trường hệ thống xử lý file thông thường không cung cấp công cụ cho phép truy xuất thông tin cách hiệu thuận lợi • Sự cô lập liệu(Data isolation) : Các giá trị liệu lưu trữ sở liệu phải thoả mãn số ràng buộc tính quán liệu ( ràng buộc quán / consistency contraints ) Trong hệ thống xử lý file thông thường, khó khăn việc thay đổi chương trình để thoả mãn yêu cầu thay đổi ràng buộc Vấn đề trở nên khó khăn ràng buộc liên quan đến hạng mục liệu nằm file khác • Các vấn đề tính nguyên tử (Atomicity problems): Tính nguyên tử hoạt động (giao dịch) là: hoàn tất trọn vẹn Điều có nghĩa hoạt động (giao dịch) làm thay đổi liệu bền vững hoàn tất (kết thúc thành công) không, giao dịch không để lại dấu vết CSDL Trong hệ thống xử lý file thông thường khó đảm bảo tính chất • Tính bất thường truy xuất cạnh tranh : Một hệ thống cho phép nhiều người sử dụng cập nhật liệu đồng thời, dẫn đến kết liệu không quán Điều đòi hỏi giám sát Hệ thống xử lý file thông thường không cung cấp chức • Vấn đề an toàn (Security problems): người sử dụng hệ sở liệu không cần thiết quyền truy xuất tất liệu Vấn đề đòi hỏi hệ thống phải đảm bảo tính phân quyền, chống truy xuất trái phép Các bất lợi nêu gợi mở phát triển DBMS Phần sau giáo trình đề cập đến quan niệm thuật toán sử dụng để phát triển hệ sở liệu nhằm giải vấn đề nêu Hầu hết hệ quản trị CSDL thực chức sau : Lưu trữ liệu Tạo trìCSDL Cho phép nhiềungười dùngtruy xuất đồngthời Hỗ trợ tính bảo mật riêng tư Cho phép xem xử lý liệu lưu trữ Cho phép cập nhật lưu trữ liệu sau cập nhật Cung cấp chế mục (index) hiệu để truy cập nhanh liệu lựa chọn Cung cấp tính quán ghi khác Bảo vệ liệu khỏi mát trình lưu (backup) phục hồi (recovery) Tổng quan sở liệu quan hệ Mô hình liệu quan hệ Mô hình liệu quan hệ Codd đề xuất năm 1970 đến trở thành mô hình sử dụng phổ biến hệ quản trị sở liệu thương mại Nói cách đơn giản, sở liệu quan hệ sở liệu tất liệu tổ chức bảng có mối quan hệ với Mỗi bảng bao gồm dòng cột: dòng gọi ghi (bộ) cột trường (thuộc tính) Hai hay nhiều bảng có liên kết chúng có hay nhiều trường chung) Hình 1.1 minh hoạ cho ta thấy bảng sở liệu Các bảng sở liệuBảng (Table) Như nói trên, sở liệu quan hệ, bảng đối tượng sử dụng để tổ chức lưu trữ liệu Một sở liệu bao gồm nhiều bảng bảng xác định tên bảng Một bảng bao gồm tập dòng cột: dòng bảng biểu diễn cho thực thể (trong hình 1.1, dòng bảng SINHVIEN tương ứng với sinh viên), cột biểu diễn cho tính chất thực thể (chẳng hạn cột NGAYSINH bảng SINHVIEN biểu diễn cho ngày sinh sinh viên lưu trữ bảng) Như vậy, liên quan đến bảng bao gồm yếu tố sau: • Tên bảng: sử dụng để xác định bảngn sở liệu • Cấu trúc bảng: Tập cột bảng Mỗi mộtcột bảng xác định tên cột phải có kiểu liệu (chẳng hạn cột NGAYSINH bảng SINHVIEN hình 1.1 có kiểu DATETIME) Kiểu liệu cột qui định giá trị liệu chấp nhận cột • Dữ liệu bảng: Tập dòng (bản ghi) có bảng Khoá bảng Trong sởdữ liệu thiết kế tốt, bảng phải có một tập cột mà giá trị liệu xác định dòng tập dòng bảng Tập nhiều cột có tính chất gọi khoá bảng Việc chọn khoá bảng có vai trò quan trọng việc thiết kế cài đặt sở liệu quan hệ Các dòng liệu bảng phải có giá trị khác khoá Bảng MONHOC hình có khoá cột MAMONHOC Bảng MONHOC với khoá MAMONHOCMột bảng có nhiều tập cột khác có tính chất khoá (tức giá trị xác định dòng liệu bảng) Trong trường hợp này, khoá chọn cho bảng gọi khoá (primary key) khoá lại gọi khoá phụ khoá dự tuyển (candidate key/unique key) Mối quan hệ khoá Các bảng sở liệu không tồn độc lập mà có mối quan hệ mật thiết với mặt liệu Mối quan hệ thể thông qua ràng buộc giá trị liệu xuất bảng phải có xuất trước bảng khác Mối quan hệ bảng sở liệu nhằm đàm bảo tính đắn hợp lệ liệu sở liệu Trong hình 1.3, hai bảng LOP KHOA có mối quan hệ với Mối quan hệ đòi hỏi giá trị cộtMAKHOA dòng (tức lớp)trong bảng LOP phải xác định từ cột MAKHOA bảng KHOA Mối quan hệ hai bảng LOP KHOA sở liệuMối quan hệ bảng sở liệu thể mối quan hệ thực thể giới thực Trong hình 1.3, mối quan hệ hai bảng LOP KHOA không cho phép lớp tồn mà lại thuộc vào khoa thật Khái niệm khoá (Foreign Key) sở liệu quan hệ sử dụng để biểu diễn mối quan hệ bảng liệu Một hay tập cột bảng mà giá trị xác định từ khóa bảng khác gọi khoá Trong hình 1.3, cột MAKHOA bảng LOP gọi khoá bảng này, khoá tham chiếu đến khoá bảng KHOA cột MAKHOA Giới Thiệu SQL Server 2000 SQL Server 2000 hệ thống quản trị sở liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi liệu Client computer SQL Server computer Một RDBMS bao gồm databases, database engine ứng dụng dùng để quản lý liệu phận khác RDBMS SQL Server 2000 tối ưu để chạy môi trường sở liệu lớn (Very Large Database Environment) lên đến Tera-Byte phục vụ lúc cho hàng ngàn user SQL Server 2000 kết hợp "ăn ý" với server khác Microsoft InternetInformation Server (IIS), E-Commerce Server, Proxy Server SQL Server có editions - Enterprise : Chứa đầy đủ đặc trưng SQL Server chạy tốt hệ thống lên đến 32 CPUs 64 GB RAM Thêm vào có dịch vụ giúp cho việc phân tích liệu hiệu (Analysis Services) - Standard : Rất thích hợp cho công ty vừa nhỏ giá thành rẻ nhiều so với Enterprise Edition, lại bị giới hạn số chức cao cấp (advanced features) khác, edition chạy tốt hệ thống lên đến CPU GB RAM - Personal: tối ưu hóa để chạy PC nên cài đặt hầu hết phiên windows kể Windows 98 - Developer : Có đầy đủ tính Enterprise Edition chế tạo đặc biệt giới hạn số lượng người kết nối vào Server lúc Ðây edition mà bạn muốn học SQL Server cần có Chúng ta dùng edition suốt khóa học Edition cài Windows 2000 Professional hay Win NT Workstation - Desktop Engine (MSDE): Ðây engine chạy desktop user interface (giao diện) Thích hợp cho việc triển khai ứng dụng máy client Kích thước database bị giới hạn khoảng GB - Win CE : Dùng cho ứng dụng chạy Windows CE - Trial: Có tính Enterprise Edition, download free, giới hạn thời gian sử dụng Cài Ðặt SQL Server 2000 (Installation) Ta cần có Developer Edition 64 MB RAM, 500 MB hard disk để install SQL Server Có thể install Windows Server hay Windows XP Professional, Windows 2000 Professional hay NT Workstation install Win 98 family Khi install cần lưu ý điểm sau: Ở hình thứ hai bạn chọn Install Database Server Sau install xong SQL Server bạn install thêm Analysis Service thích Ở hình Installation Definition chọn Server and Client Tools Sau nên chọn kiểu Customvà chọn tất cảcác phận SQL Server Ngoài nên chọn giá trị mặc định (default) Ở hình Authentication Mode nhớ chọn Mixed Mode Lưu ý SQL Server dùng chung chế độ bảo mật (security) với Win NT dùng chế độ bảo mật riêng Trong Production Server người ta thường dùng Windows Authetication độ an toàn cao dễ dàng cho người quản lý mạng cho người sử dụng Nghĩa bạn chấp nhận (authenticated) kết nối vào domain bạn có quyền truy cập liệu (access data) SQL Server Tuy nhiên ta nên chọn Mixed Mode để dễ dàng cho việc học tập Sau install bạn thấy icon nằm góc phải bên hình, Service Manager Có thể Start, Stop SQL Server services dễ dàng cách double-click vào icon Một chút kiến thức Version SQL Server SQL Server Microsoft thị trường chấp nhận rộng rãi kể từ version 6.5 Sau Microsoft cải tiến viết lại engine cho SQL Server 7.0 Cho nên nói từ version 6.5 lên version 7.0 bước nhảy vọt Có số đặc tính SQL Server 7.0 không tương thích với version 6.5 Trong từ Version 7.0 lên version 8.0 (SQL Server 2000) cải tiến chủ yếu mở rộng tính web làm cho SQL Server 2000 đáng tin cậy Một điểm đặc biệt đáng lưu ý version 2000 Multiple-Instance Nói cho dễ hiểu bạn install version 2000 chung với version trước mà không cần phải uninstall chúng Nghĩa bạn chạy song song version 6.5 7.0 với version 2000 máy (điều xảy với version trước đây) Khi version cũ máy bạn Default Instance version 2000 vừa install Named Instance Các thành phần quan trọng SQL Server 2000 SQL Server 2000 cấu tạo nhiều thành phần Relational Database Engine, Analysis Service English Query Các thành phần phối hợp với tạo thành giải pháp hoàn chỉnh giúp cho việc lưu trữ phân tích liệu cách dễ dàng Relational Database Engine - Cái lõi SQL Server: Ðây engine có khả chứa data quy mô khác dạng table support tất kiểu kết nối (data connection) thông dụng Microsoft ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) Ngoài có khả tự điều chỉnh (tune up) ví dụ sử dụng thêm tài nguyên (resource) máy cần trả lại tài nguyên cho hệ điều hành user log off Replication - Cơ chế tạo (Replica): Giả sử bạn có database dùng để chứa liệu ứng dụng thường xuyên cập nhật Khi bạn muốn có database giống hệt server khác để chạy báo cáo (report database) (cách làm thường dùng để tránh ảnh hưởng đến performance server chính) Vấn đề report server bạn cần phải cập nhật thường xuyên để đảm bảo tính xác báo cáo Ta dùng chế back up and restore trường hợp Vậy cần xử lý nào? Lúc chế replication SQL Server sử dụng để bảo đảm cho liệu database đồng (synchronized) Data Transformation Service ( DTS ) - Một dịch vụ chuyển dịch data hiệu Nếu bạn làm việc công ty lớn data chứa nhiều nơi khác dạng khác cụ thể chứa Oracle, DB2 (của IBM), SQL Server, Microsoft Access Bạn chắn có nhu cầu di chuyển data server (migrate hay transfer) không di chuyển bạn muốn định dạng (format) trước lưu vào database khác, bạn thấy DTS giúp bạn giải công việc dễ dàng Analysis Service- Một dịch vụ phân tích liệu hay Microsoft Dữ liệu (Data) chứa database chẳng có ý nghĩa nhiều bạn lấy thông tin (Information) bổ ích từ Do Microsoft cung cấp cho bạn công cụ mạnh giúp cho việc phân tích liệu trở nên dễ dàng hiệu cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) kỹ thuật khai phá liệu (data mining) English Query - Ðây dịch vụ giúp cho việc query data tiếng Anh "trơn" (plain English) MetaData Service : Dịch vụ giúp cho việc chứa đựng "xào nấu" Meta data dễ dàng Thế Meta Data vậy? Meta data thông tin mô tả cấu trúc data database data thuộc loại String hay Integer , cột có phải Primary key hay không Bởi thông tin chứa database nên dạng data để phân biệt với data "chính thống" người ta gọi Meta Data Phần phải xem thêm thành phần khác SQL Server SQLServerBooks Online SQL Server Books Online - Rất hữu dụng thiếu (được đính kèm theo SQL Server) SQL Server Tools - Ðây đồ nghề người quản trị sở liệu (DBA), gồm: Enterprise Manager - Ðây công cụ cho ta thấy toàn cảnh hệ thống sở liệu cách trực quan Nó hữu ích đặc biệt cho người học không thông thạo SQL Query Analyzer - Ðối với DBA giỏi cần công cụ quản lý hệ thống database mà không cần đến thứ khác Ðây môi trường làm việc tốt ta đánh câu lệnh SQL chạy đặc biệt giúp cho ta debug stored procedure dễ dàng SQL Profiler - Nó có khả "chụp" (capture) tất kiện hay hoạt động diễn SQL server lưu lại dạng text file hữu dụng việc kiểm soát hoạt động SQL Server Ngoài số công cụ trực quan thường hay dùng osql bcp (bulk copy) command prompt SQL ngôn ngữ sở liệu quan hệ SQL , viết tắt Structured Query Language (ngôn ngữ hỏi có cấu trúc), công cụ sử dụng để tổ chức, quản lý truy xuất liệu đuợc lưu trữ sở liệu SQL hệ thống ngôn ngữ bao gồm tập câu lệnh sử dụng để tương tác với sở liệu quan hệ Tên gọi ngôn ngữ hỏi có cấu trúc phần làm liên tưởng đến công cụ (ngôn ngữ) dùng để truy xuất liệu sở liệu Thực mà nói, khả SQL vượt xa so với công cụ truy xuất liệu, mục đích ban đầu SQL xây dựng nên truy xuất liệu chức quan trọng SQL sử dụng để điều khiển tất chức mà hệ quản trị sở liệu cung cấp cho người dùng bao gồm: • Định nghĩa liệu : SQL cung cấp khả định nghĩa sở liệu, cấu trúc lưu trữ tổ chức liệu mối quan hệ thành phần liệu • Truy xuất thao tác liệu : Với SQL, người dùng dễ dàng thực thao tác truy xuất, bổ sung, cập nhật loại bỏ liệu sở liệu • Điều khiển truy cập - SQL sử dụng để cấp phát kiểm soát thao tác củangười sử dụng liệu, đảm bảo an toàn cho sở • Đảm bảo toàn vẹn liệu : SQL định nghĩa ràng buộc toàn vẹn sở liệu nhờ đảm bảo tính hợp lệ xác liệu trước thao tác cập nhật lỗi hệ thống Như vậy, nói SQL ngôn ngữ hoàn thiện sử dụng cáchệ thống sở liệu thành phần thiếu hệ quản trị sở liệu Mặc dù SQL ngôn ngữ lập trình C, C++, Java, song câu lệnh mà SQL cung cấp nhúng vào ngôn ngữ lập trình nhằm xây dựng ứng dụng tương tác với sở liệu Khác với ngôn ngữ lập trình quen thuộc C, C++, Java, SQL ngôn ngữ có tính khai báo Với SQL, người dùng cần mô tả yêu cầu cần phải thực sở liệu mà không cần phải cách thức thực yêu cầu Chính vậy, SQL ngôn ngữ dễ tiếp cận dễ sử dụng Cài đặt SQL Server Cài Ðặt SQL Server 2000 (Installation) Ta cần có Developer Edition 64 MB RAM, 500 MB hard disk để install SQL Server Bạn install Windows Server hay Windows XP Professional, Windows 2000 Professional hay NT Workstation install Win 98 family Vì đặc điểm sản phẩm Microsoft dễ install nên không trình bày chi tiết cách install hay bước install mà trình bày điểm cần lưu ý install mà Khi install cần lưu ý điểm sau: Ở hình thứ hai bạn chọn Install Database Server Sau install xong SQL Server bạn install thêm Analysis Service bạn thích Ở hình Installation Definition bạn chọn Serverand ClientTools Sau bạn nên chọn kiểu Custom chọn tất phận SQL Server Ngoài nên chọn giá trị mặc định (default) Ở hình Authentication Mode nhớ chọn Mixed Mode Lưu ý SQL Server dùng chung chế độ bảo mật (security) với Win NT dùng chế độ bảo mật riêng Trong Production Server người ta thường dùng Windows Authetication độ an toàn cao dễ dàng cho người quản lý mạng cho người sử dụng Nghĩa bạn chấp nhận (authenticated) kết nối vào domain bạn có quyền truy cập liệu (access data) SQL Server Tuy nhiên ta nên chọn Mixed Mode để dễ dàng cho việc học tập Sau install bạn thấy icon nằm góc phải bên hình, Service Manager Bạn Start, Stop SQL Server services dễ dàng cách double-click vào icon Một chút kiến thức Version SQL Server SQL Server Microsoft thị trường chấp nhận rộng rãi kể từ version 6.5 Sau Microsoft cải tiến viết lại engine cho SQL Server 7.0 Cho nên nói từ version 6.5 lên version 7.0 bước nhảy vọt Có số đặc tính SQL Server 7.0 không tương thích với version 6.5 Trong từ Version 7.0 lên version 8.0 (SQL Server 2000) cải tiến chủ yếu mở rộng tính web làm cho SQL Server 2000 đáng tin cậy Một điểm đặc biệt đáng lưu ý version 2000 Multiple-Instance Nói cho dễ hiểu bạn install version 2000 chung với version trước mà không cần phải uninstall chúng Nghĩa bạn chạy song song version 6.5 7.0 với version 2000 máy (điều xảy với version trước đây) Khi version cũ máy bạn DefaultInstance version 2000 vừa install NamedInstance Sơ lược SQL Tổng quan T- SQL Bản thân SQL hệ quản trị sở liệu, tồn độc lập SQL thực phần hệ quản trị sở liệu, xuất hệ quản trị sở liệu với vai trò ngôn ngữ công cụ giao tiếp người sử dụng hệ quản trị sở liệu Trong hầu hết hệ quản trị sở liệu quan hệ, SQL có vai trò sau: • SQL ngôn ngữ hỏi có tính tương tác: Người sử dụng dễ dàng thông qua trình tiện ích để gởi yêu cầu dạng câu lệnh SQL đến sở liệu nhận kết trả từ sở liệu • SQL ngôn ngữ lập trình sở liệu: Các lập trình viên nhúng câu lệnh SQL vào ngôn ngữ lập trình để xây dựng nên chương trình ứng dụng giao tiếp với sở liệu • SQL ngôn ngữ quản trị sở liệu : Thông qua SQL, người quản trị sở liệu quản lý sở liệu, định nghĩa cấu trúc lưu trữ liệu, điều khiển truy cập sở liệu, • SQL ngôn ngữ cho hệ thống khách/chủ (client/server): Trong hệ thống sở liệu khách/chủ, SQL sử dụng công cụ để giao tiếp trình ứng dụng phía máy khách với máy chủ sở liệu • SQL ngôn ngữ truy cập liệu Internet : Cho đến nay, hầu hết máy chủ Web máy chủ Internet sử dụng SQL với vai trò ngôn ngữ để tương tác với liệu sở liệu • SQL ngôn ngữ sở liệu phân tán : Đối với hệ quản trị sở liệu phân tán, hệ thống sử dụng SQL để giao tiếp với hệ thống khác mạng, gởi nhận yêu cầu truy xuất liệu với • SQL ngôn ngữ sử dụng cho cổng giao tiếp sở liệu : Trong hệ thống mạng máy tính với nhiều hệ quản trị sở liệu khác nhau, SQL thường sử dụng chuẩn ngôn ngữ để giao tiếp hệ quản trị sở liệu SQL chuẩn bao gồm lệnh thường sử dụng nhấ t khoảng 40 câu lệnh Các bảng phía liệt kê danh sách câu số câu lệnh SQL Trong hệ quản trịcơ sở liệu khác nhau, câu lệnh có dạng mục đích sử dụng song hệ quản trị sở liệu có số thay đổi Điều dẫn đến cú pháp chi tiết câu lệnh khác hệ quản trị cơ sở liệu khác Câu l ệ nh t hao tác li ệ u Chứcnăng SELECT Truy xuất liệu INSERT Bổ sung diệu UPDATE Cập nhật liệu DELETE Xoá liệu TRUNCATE Xoá toàn liệu bảng Câu l ệ nh định nghĩa liệu Chứcnăng CREATE TABLE Tạo bảng DROP TABLE Xoá bảng ALTER TABLE Sửa đổi bảng CREATE VIEW Tạo khung nhìn ALTER VIEW Sửa đổi khung nhìn DROP VIEW Xoá khung nhìn CREATE INDEX Tạo mục DROP INDEX Xoá mục CREATE SCHEMA Tạo lược đồ sở liệu DROP SCHEMA Xoá lược đồ sở liệu CREATE PROCEDURE Tạo thủ tục lưu trữ ALTER PROCEDURE Sửa đổi thủ tục lưu trữ DROP PROCEDURE Xoá thủ tục lưu trữ CREATE FUNCTION Tạo hàm (do người sử dụng định nghĩa) ALTER FUNCTION Sửa đổi hàm DROP FUNCTION Xoá hàm CREATE TRIGGER Tạo trigger ALTER TRIGGER Sửa đổi trigger DROP TRIGGER Xoá trigger Câu l ệ nh điều khiển truy cập Chứcnăng GRANT Cấp phát quyền cho người sử dụng REVOKE Thu hồi quyền từ người sử dụng Câu l ệ nh quản lý giao dịch Chứcnăng COMMIT Uỷ thác (kết thúc thành công) giao dịch ROLLBACK Quay lui giao dịch SAVE TRANSACTION Đánh dấu điểm giao dịch Câu l ệ nh lập trình Chứcnăng DECLARE Khai báo biến định nghĩa trỏ OPEN Mở trỏ để truy xuất kết truy vấn FETCH Đọc dòng kết truy vấn (sử dụng trỏ) CLOSE Đóng trỏ EXECUTE Thực thi câu lệnh SQL Các câu lệnh SQL bắt đầu từ lệnh, từ khoá cho biết chức câu lệnh (chẳng hạn SELECT, DELETE, COMMIT) Sau từ lệnh mệnh đề câu lệnh Mỗi mệnh đề câu lệnh bắt đầu từ khoá (chẳng hạn FROM, WHERE, ) Câu lệnh: SELECT masv,hodem,ten FROM sinhvien WHERE malop=’C24102’ dùng để truy xuất liệu bảng SINHVIEN bắt đầu từ lệnh SELECT, câu lệnh bao gồm hai mệnh đề: mệnh đề FROM định tên bảng cần truy xuất liệu mệnh đề WHERE định điều kiện truy vấn liệu Qui tắc sử dụng tên SQL Các đối tượng sở liệu dựa SQL xác định thông qua tên đối tượng Tên đối tượng sở liệu Tên sử dụng nhiều truy vấn SQL xem tảng sở liệu quan hệ tên bảng tên cột Trong sở liệu lớn với nhiều người sử dụng, ta định tên bảng câu lệnh SQL, hệ quản trị sở liệu hiểu tên bảng ta sở hữu (tức bảng ta tạo ra) Thông thường, hệ quản trị sở liệu cho phép người dùng khác tạo bảng trùng tên với mà không gây xung đột tên Nếu câu lệnh SQL ta cần đến bảng người dùng khác sở hữu (hiển nhiên phải phép) tên bảng phải viết sau tên người sở hữu phân cách với tên người sở hữu dấu chấm: tên_người_sở_hữu.tên_bảng Một số đối tượng sở liệu khác (như khung nhìn, thủ tục, hàm), việc sử dụng tên tương tự bảng Ta sử dụng tên cột cách bình thường câu lệnh SQL cảch cần định tên cột bảng Tuy nhiên, câu lệnh có liên quan đến hai cột trở lên có tên bảng khác bắt buộc phải định thêm tên bảng trước tên cột; tên bảng tên cột phân cách dấu chấm Ví dụ minh hoạ cho ta thấy việc sử dụng tên bảng tên cột câu lệnh SQL SELECT masv,hodem,ten,sinhvien.malop,tenlop FROM dbo.sinhvien,dbo.lop WHERE sinhvien.malop = lop.malop Kiểu liệu Chuẩn ANSI/ISO SQL cung cấp kiểu liệu khác để sử dụng sở liệu dựa SQL ngôn ngữ SQL Dựa sở kiểu liệu chuẩn ANSI/ISO SQL cung cấp, hệ quản trị sở liệu thương mại sử dụng dạng liệu khác sản phẩm Bảng 1.2 liệt kê số kiểu liệu thông dụng sử dụng SQL Một số kiểu liệu thông dụng Mô tả SQLTên kiểu CHAR (n) Kiểu chuỗi với độ dài cố định NCHAR (n) Kiếu chuỗi với độ dài cố định hỗ trợ UNICODE VARCHAR (n) Kiểu chuỗi với độ dài xác NVARCHAR (n) Kiểu chuỗi với độ dài xác hỗ trợ UNICODE INTEGER Số nguyên có giá trị từ -231 đến 231 - INT Như kiểu Integer TINYTINT Số nguyên có giá trị từ đến 255 SMALLINT Số nguyên có giá trị từ -215 đến 215 – BIGINT Số nguyên có giá trị từ -263 đến 263-1 NUMERIC (p,s) Kiểu số với độ xác cố định DECIMAL (p,s) Tương tự kiểu Numeric FLOAT Số thực có giá trị từ -1.79E+308 đến 1.79E+308 REAL Số thực có giá trị từ -3.40E + 38 đến 3.40E + 38 MONEY Kiểu tiền tệ BIT Kiểu bit (có giá trị 1) DATETIME Kiểu ngày (chính xác đến phần trăm giây) SMALLDATETIME Kiểu ngày (chính xác đến phút) TIMESTAMP BINARY Dữ liệu nhị phân với độ dài cố định (tối đa 8000 bytes) VARBINARY Dữ liệu nhị phân với độ dài xác (tối đa 8000 bytes) IMAGE Dữ liệu nhị phân với độ dài xác (tối đa 2,147,483,647 bytes) TEXT Dữ liệu kiếu chuỗi với độ dài lớn (tối đa 2,147,483,647 ký tự) NTEXT Dữ liệu kiếu chuỗi với độ dài lớn hỗ trợ UNICODE (tối đa 1,073,741,823 ký tự) Câu lệnh định nghĩa bảng với kiểu liệu qui định cho cột bảng CREATE TABLE NHANVIEN ( MANV NVARCHAR(10) NOT NULL, HOTEN NVARCHAR(30) NOT NULL, GIOITINH BIT, NGAYSINH SMALLDATETIME, NOISINH NCHAR(50), HSLUONG DECIMAL(4,2), MADV INT ) Giá trị NULL Một sở liệu phản ánh hệ thống giới thực, giá trị liệu tồn sở liệu không xác định Một giá trị không xác định xuất sở liệu số nguyên nhân sau: • Giá trị có tồn • Không xác định giá trị có tồn hay không • Tại thời điểm giá trị chưa có có • Giá trị bị lỗi tính toán (tràn số, chia cho không, ) Những giá trị không xác định biểu diễn sở liệu quan hệ giá trị NULL Đây giá trị đặc biệt không nên nhầm lẫn với chuỗi rỗng (đối với liệu kiểu chuỗi) hay giá trị không (đối với giá trị kiểu số) Giá trị NULL đóng vai trò quan trọng sở liệu hầu hết hệ quản trị sở liệu quan hệ hỗ trợ việc sử dụng giá trị Các tập tin vật lý lưu trữ sở liệu Mặc dù phải quản lý nhiều đối tượng bên sở liệu Microsoft SQL Server tổ chức hai loại tập tin để lưu trữ Một sở liệu Microsoft SQL Server tối thiểu dùng hai (2) tập tin vật lý để lưu trữ liệu: Datafile: dùng lưu trữ liệu Transaction log file : dùng để lưu trữ hành động thực sở liệu trình sử dụng Các hành động thực CSDL gọi giao tác Các loại tập tin lưu trữ liệu SQL Sever 2000Các loại tập tin lưu trữ liệu SQL Sever 2000 Các tập tin lưu trữ sở liệu bên Microsoft SQL Server phân chia thành ba loại tập tin vật lý khác nhau: Tập tin liệu (Primary Data File) : Đây tập tin dùng để lưu trữ thông tin hệ thống sở liệu phần lại dùng lưu trữ phần liệu Phần mở rộng tập tin thông thường *.MDF Tập tin liệu thứ yếu(Secondary Data Files) : Đây tập tin dùng lưu trữ đối tượng liệu không nằm tập tin liệu Loại tập tin không bắt buộc phải có tạo sở liệu Phần mở rộng tập tin thông thường *.NDF Tập tin lưu vết (Log Files): Đây tập tin dùng lưu vết giao tác – hành động cập nhật liệu (thêm, sửa, xóa) vào bảng người sử dụng tác động sở liệu Tập tin hỗ trợ cho phép bạn hủy bỏ (rollback) thao tác cập nhật liệu thực hay giúp SQL Server phục hồi liệu trường hợp gặp cố điện,… Phần mở rộng tập tin thông thường *.LDF Kết chương Như vậy, SQL (viết tắt StructuredQueryLanguage) hệ thống ngôn ngữ sử dụng cho hệ quản trị sở liệu quan hệ Thông qua SQL thực thao tác sở liệu định nghĩa liệu, thao tác liệu, điều khiển truy cập, quản lý toàn vẹn liệu SQL thành phần quan trọng thiếu hệ quản trị sở liệu quan hệ SQL đời nhằm sử dụng cho sở liệu theo mô hình quan hệ Trong sở liệu quan hệ, liệu tổ chức lưu trữ bảng Mỗi bảng tập hợp bao gồm dòng cột; dòng ghi cột tương ứng với trường, tập tên cột với kiểu liệu tính chất khác tạo nên cấu trúc bảng, tập dòng bảng liệu bảng Các bảng sở liệu có mối quan hệ với Các mối quan hệ biểu diễn thông qua khoá khoá bảng Khoá bảng tập nhiều cột có giá trị bảng giá trị xác định dòng liệu bảng Một khoá tập nhiều cột có giá trị xác định từ khoá bảng khác