1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng ngôn ngữ sql trong tính toán khoa học và giảng dạy

87 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Ngôn Ngữ SQL Trong Tính Toán Khoa Học Và Giảng Dạy
Tác giả Phạm Thị Bích Ngọc
Người hướng dẫn TS. Nguyễn Thị Thanh Huyền
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Toán Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 87
Dung lượng 1,05 MB

Cấu trúc

  • MỤC LỤC

  • MỞ ĐẦU

  • CHƯƠNG 1

  • CHƯƠNG 2

  • CHƯƠNG 3

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

Nội dung

CƠ SỞ D Ữ LI Ệ U QUAN H Ệ VÀ NGÔN NG Ữ SQL

T ổ ng quan v ề cơ sở d ữ li ệ u quan h ệ

1.1.1 Mô hình dữ liệu quan hệ

Mô hình dữ liệu quan hệ, được Codd giới thiệu vào năm 1970, đã trở thành tiêu chuẩn phổ biến trong các hệ quản trị cơ sở dữ liệu thương mại Cơ sở dữ liệu quan hệ tổ chức dữ liệu thành các bảng có mối quan hệ với nhau, trong đó mỗi bảng gồm các dòng (bản ghi) và cột (trường) Hình 1.1 minh họa một ví dụ về ba bảng trong một cơ sở dữ liệu quan hệ.

Hình 1.1 Các bảng trong một cơ sở dữ liệu

Trong cơ sở dữ liệu quan hệ, bảng là đơn vị chính để tổ chức và lưu trữ dữ liệu, với mỗi cơ sở dữ liệu bao gồm nhiều bảng được xác định duy nhất bởi tên của chúng Mỗi bảng chứa một tập hợp các dòng và cột, trong đó mỗi dòng đại diện cho một thực thể, như ví dụ trong bảng SINHVIEN, mỗi dòng tương ứng với một sinh viên Các cột trong bảng thể hiện những thuộc tính của thực thể, chẳng hạn như cột NGAYSINH lưu trữ ngày sinh của sinh viên.

SINHVIEN biểu diễn cho ngày sinh của các sinh viên được lưu trữ trong bảng) Như vậy, liên quan đến mỗi một bảng bao gồm các yếu tố sau:

• Tên của bảng: được sử dụng đểxác định duy nhất mỗi bảng dữ liệu

Cấu trúc của bảng bao gồm các cột, mỗi cột được xác định bởi một tên và kiểu dữ liệu cụ thể Ví dụ, cột NGAYSINH trong bảng SINHVIEN có kiểu dữ liệu DATETIME Kiểu dữ liệu này quy định các giá trị dữ liệu hợp lệ cho từng cột trong bảng.

• Dữ liệu của bảng: Tập các dòng (bản ghi) hiện có trong bảng

Trong cơ sở dữ liệu, mỗi bảng cần có ít nhất một cột hoặc một tập hợp các cột mà giá trị dữ liệu của chúng xác định duy nhất một dòng trong bảng.

Trong thiết kế và cài đặt cơ sở dữ liệu quan hệ, việc chọn khoá cho bảng là rất quan trọng Khoá của bảng được xác định bởi một hoặc nhiều cột, đảm bảo rằng các dòng dữ liệu trong bảng có giá trị khác nhau trên khoá Ví dụ, bảng MONHOC có khoá là cột MAMONHOC.

Hình 1.2 Bảng MONHOC với khoá chính là MAMONHOC

Một bảng có thể chứa nhiều tập hợp cột khác nhau với tính chất của khóa, giúp xác định duy nhất một dòng dữ liệu trong bảng Khoá được chọn để đại diện cho bảng được gọi là khoá chính (primary key), trong khi những khoá còn lại được gọi là khoá phụ hoặc khoá dự tuyển (candidate key/unique key).

1.1.4 Mối quan hệ và khoá ngoài

Các bảng trong cơ sở dữ liệu không hoạt động độc lập mà có mối liên hệ chặt chẽ với nhau về dữ liệu Mối quan hệ này được thể hiện qua các ràng buộc, yêu cầu giá trị dữ liệu trong một bảng phải xuất hiện trước trong bảng khác.

Mối quan hệ giữa các bảng trong cơ sở dữ liệu rất quan trọng để đảm bảo tính chính xác và hợp lệ của dữ liệu Ví dụ, trong hình 1.3, hai bảng LOP và KHOA có mối liên hệ chặt chẽ, trong đó giá trị cột MAKHOA của mỗi lớp trong bảng LOP phải được xác định từ cột MAKHOA của bảng KHOA.

Hình 1.3 Ví dụ về mối quan hệ giữa hai bảng trong cơ sở dữ liệu

Mối quan hệ giữa các bảng trong cơ sở dữ liệu phản ánh chính xác các mối quan hệ giữa các thực thể trong thế giới thực Ví dụ, trong Hình 1.3, sự liên kết giữa bảng LOP và KHOA đảm bảo rằng không có lớp nào tồn tại mà lại thuộc về một khoa không có thực.

Khóa ngoài (Foreign Key) trong cơ sở dữ liệu quan hệ thể hiện mối quan hệ giữa các bảng dữ liệu Nó bao gồm một hoặc nhiều cột trong một bảng, với giá trị được xác định từ khóa chính của bảng khác Ví dụ, trong bảng LOP, cột MAKHOA là khóa ngoài, tham chiếu đến khóa chính của bảng KHOA là cột MAKHOA.

SQL là ngôn ng ữ cơ sở d ữ li ệ u quan h ệ

SQL (Ngôn ngữ truy vấn có cấu trúc) là công cụ thiết yếu để tổ chức, quản lý và truy xuất dữ liệu trong các cơ sở dữ liệu Đây là một hệ thống ngôn ngữ bao gồm các câu lệnh giúp người dùng tương tác hiệu quả với cơ sở dữ liệu quan hệ.

SQL, hay ngôn ngữ truy vấn có cấu trúc, không chỉ đơn thuần là công cụ truy xuất dữ liệu trong các cơ sở dữ liệu, mà còn mang lại khả năng vượt trội trong việc điều khiển và quản lý toàn bộ chức năng của hệ quản trị cơ sở dữ liệu Mặc dù truy xuất dữ liệu là mục đích ban đầu của SQL, nhưng nó vẫn giữ vai trò quan trọng trong việc hỗ trợ người dùng thực hiện các thao tác phức tạp hơn.

SQL cho phép định nghĩa cơ sở dữ liệu, cấu trúc lưu trữ và cách tổ chức dữ liệu, đồng thời xác định mối quan hệ giữa các thành phần dữ liệu.

Với SQL, người dùng có khả nă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 một cách dễ dàng trong các cơ sở dữ liệu.

SQL được sử dụng để cấp phát và kiểm soát quyền truy cập của người dùng đối với dữ liệu, từ đó đảm bảo an toàn cho cơ sở dữ liệu.

SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu, giúp đảm bảo tính hợp lệ và chính xác của dữ liệu Điều này rất quan trọng để ngăn chặn các lỗi hệ thống và bảo vệ dữ liệu trước các thao tác cập nhật.

SQL là ngôn ngữ hoàn thiện dành cho hệ thống cơ sở dữ liệu, giữ vai trò quan trọng trong quản trị cơ sở dữ liệu Dù không phải là ngôn ngữ lập trình như C, C++, hay Java, các câu lệnh SQL có thể được tích hợp vào các ngôn ngữ lập trình khác để phát triển ứ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 như C, C++, Java, SQL là ngôn ngữ khai báo, cho phép người dùng mô tả yêu cầu trên cơ sở dữ liệu mà không cần chỉ định cách thực hiện Điều này khiến SQL trở thành một ngôn ngữ dễ tiếp cận và sử dụng cho mọi đối tượng.

Vai trò c ủ a SQL

SQL không phải là một hệ quản trị cơ sở dữ liệu độc lập, mà là một phần quan trọng trong các hệ quản trị cơ sở dữ liệu Nó đóng vai trò là ngôn ngữ và công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu, giúp thực hiện các thao tác quản lý và truy vấn dữ liệu hiệu quả.

Trong hầu hết các hệ quản trịcơ sở dữ liệu quan hệ, SQL có những vai trò như sau:

SQL là ngôn ngữ truy vấn tương tác, cho phép người dùng gửi yêu cầu đến cơ sở dữ liệu thông qua các công cụ dễ sử dụng và nhận kết quả trả về một cách nhanh chóng.

SQL là ngôn ngữ lập trình chuyên dụng cho cơ sở dữ liệu, cho phép lập trình viên tích hợp các câu lệnh SQL vào trong các ngôn ngữ lập trình khác Điều này giúp xây dựng các ứng dụng có khả năng giao tiếp hiệu quả với cơ sở dữ liệu.

SQL là ngôn ngữ chủ yếu dùng để quản lý cơ sở dữ liệu, cho phép người quản trị thực hiện các tác vụ như quản lý và định nghĩa cấu trúc lưu trữ dữ liệu, cũng như kiểm soát quyền truy cập vào cơ sở dữ liệu.

SQL là ngôn ngữ giao tiếp chính trong các hệ thống cơ sở dữ liệu khách/chủ, giúp kết nối các ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.

SQL là ngôn ngữ phổ biến được sử dụng để truy cập và tương tác với dữ liệu trên Internet Hầu hết các máy chủ Web và máy chủ trực tuyến hiện nay đều sử dụng SQL để quản lý dữ liệu trong các cơ sở dữ liệu.

SQL là ngôn ngữ cơ sở dữ liệu phân tán, cho phép các hệ quản trị cơ sở dữ liệu giao tiếp với nhau qua mạng Mỗi hệ thống sử dụng SQL để gửi và nhận yêu cầu truy xuất dữ liệu, tạo điều kiện cho việc trao đổi thông tin hiệu quả giữa các hệ thống khác nhau.

SQL là ngôn ngữ chuẩn dùng để giao tiếp với các hệ quản trị cơ sở dữ liệu trong mạng máy tính Trong môi trường có nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL đóng vai trò quan trọng trong việc kết nối và tương tác giữa chúng.

V ấ n tin b ằ ng ngôn ng ữ SQL

SQL chuẩn bao gồm khoảng 40 câu lệnh, với danh sách các câu lệnh thường được sử dụng nhất được liệt kê trong các bảng dưới đây Mặc dù các câu lệnh có cùng dạng và mục đích sử dụng trong các hệ quản trị cơ sở dữ liệu khác nhau, nhưng có thể có một số thay đổi trong từng hệ quản trị, dẫn đến cú pháp chi tiết của các câu lệnh có sự khác biệt.

Hệ quản trị CSDL khác nhau a Các lệnh về thao tác dữ liệu

SELECT Truy xuất dữ liệu

INSERT Bổ sung dữ liệu

UPDATE Cập nhật dữ liệu

TRUNCAT Xoá toàn bộ dữ liệu trong bảng

Bảng 1.1 Một số lệnh cơ bản về thao tác dữ liệu b Các lệnh định nghĩa dữ liệu

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 chỉ mục

DROP INDEX Xoá chỉ mục

CREATE SCHEMA Tạo lược đồ cơ sở dữ liệu

DROP SCHEMA Xoá lược đồcơ sở dữ liệu

CREATE PROCED 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

ALTER TRIGGER Sửa đổi trigger

Bảng 1.2 Một số lệnh cơ bản về định nghĩa dữ liệu c Các lệnh điều khiển truy cập

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

Bảng 1.3 Một số lệnh cơ bản về điều khiển truy cập dữ liệu d Các lệnh quản lý giao tác

COMMIT Ủy thác (kết thúc thành công) giao tác

ROLLBACK Quay lui giao tác

SAVETRANSACTION Đánh dấu một điểm

Bảng 1.4 Một số lệnh cơ bản về quản lý giáo dục e Các lệnh lập trình

DECLARE Khai báo biến hoặc định nghĩa con trỏ

OPEN Mở một con trỏđể truy xuất kết quả truy vấn

FETCH Đọc một dòng trong kết quả truy vấn (sử dụng con trỏ)

CLOSE Đóng một con trỏ

EXECUTE Thực thi một câu lệnh

Bảng 1.5 Một số lệnh cơ bản về lập trình

Các câu lệnh SQL bắt đầu bằng từ lệnh, chỉ rõ chức năng của câu lệnh như SELECT, DELETE, hay COMMIT Sau từ lệnh, các mệnh đề được trình bày, mỗi mệnh đề cũng bắt đầu bằng từ khóa như FROM hoặc WHERE.

SELECT masv, hodem, ten FROM sinhvien

Câu lệnh SELECT được sử dụng để truy xuất dữ liệu từ bảng SINHVIEN, bao gồm hai mệnh đề quan trọng: mệnh đề FROM để chỉ định tên bảng và mệnh đề WHERE để xác định điều kiện truy vấn dữ liệu.

1.4.2 Quy tắc sử dụng tên trong SQL

Trong cơ sở dữ liệu SQL, các đối tượng được xác định bằng tên duy nhất trong mỗi cơ sở dữ liệu Tên này thường được sử dụng trong các truy vấn SQL và đóng vai trò quan trọng trong cơ sở dữ liệu quan hệ, đặc biệt là tên bảng và tên cột.

Trong các cơ sở dữ liệu lớn với nhiều người sử dụng, khi chỉ định tên bảng trong câu lệnh SQL, hệ quản trị cơ sở dữ liệu sẽ hiểu đó là bảng do người dùng sở hữu và tạo ra Điều này thường áp dụng trong các hệ quản trị cơ sở dữ liệu.

Cơ sở dữ liệu này cho phép nhiều người dùng tạo ra các bảng có cùng tên mà không xảy ra xung đột Khi cần truy cập một bảng thuộc sở hữu của người dùng khác trong câu lệnh SQL, bạn phải ghi rõ tên người sở hữu trước tên bảng, cách nhau bằng dấu chấm, theo định dạng: tên_người_sở_hữu.tên_bảng.

Một số đối tượng cơ sở dữ liệu khác (như khung nhìn, thủ tục, hàm), việc sử dụng tên cũng tương tựnhư đối với bảng

Trong các câu lệnh SQL, bạn có thể sử dụng tên cột một cách bình thường bằng cách chỉ định trực tiếp tên cột trong bảng Tuy nhiên, khi có hai cột trở lên với cùng tên trong các bảng khác nhau, bạn cần thêm tên bảng trước tên cột, với tên bảng và tên cột được phân cách bởi dấu chấm.

Ví dụ: Ví dụ dưới đây minh hoạ cho ta thấy việc sử dụng tên bảng và tên cột trong câu lệnh SQL

SELECT masv,hodem,ten,sinhvien.malop,tenlop

FROM dbo.sinhvien,dbo.lop

WHERE sinhvien.malop = lop.malop

Chuẩn ANSI/ISO SQL cung cấp nhiều kiểu dữ liệu cho các cơ sở dữ liệu và ngôn ngữ SQL, cho phép các hệ quản trị cơ sở dữ liệu thương mại hiện nay áp dụng các dạng dữ liệu đa dạng Dưới đây là bảng 1.2 liệt kê một số kiểu dữ liệu thông dụng trong SQL.

Tên kiểu dữ liệu Mô tả

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 chính xác

NVARCHAR (n) Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

INTEGER Số nguyên có giá trị từ -2 31 đến 2 31 - 1

TINYTINT Số nguyên có giá trị từ0 đến 255

SMALLINT Số nguyên có giá trị từ -2 15 đến 2 15 – 1

BIGINT Số nguyên có giá trị từ -2 63 đến 2 63 -1

NUMERIC (p,s) Kiểu số với độ chính 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

BIT Kiểu bit (có giá trị 0 hoặc 1)

DATETIME Kiểu ngày giờ(chính xác đến phần trăm của giây)

SMALLDATETIME Kiểu ngày giờ(chính xác đến phút)

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 chính xác (tối đa 8000 bytes)

IMAGE Dữ liệu nhị phân với độ dài chính 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 và hỗ trợ UNICODE (tối đa

Bảng 1.6 Một số kiểu dữ liệu thông dụng được sử dụng trong SQL

Ví dụ 1: Câu lệnh dưới đây định nghĩa bảng với kiểu dữ liệu được quy định cho các cột trong bảng

Ví dụ 2: Câu lệnh dưới đây định nghĩa Ma trận (Matrices) với kiểu dữ liệu đã biết

CREATETABLE Matrices(MatrixNo int,rowint, col int, val int)

Cơ sở dữ liệu là hình ảnh phản chiếu của một hệ thống trong thế giới thực, vì vậy các giá trị dữ liệu trong cơ sở dữ liệu có thể không xác định được Sự xuất hiện của một giá trị không xác định có thể do nhiều nguyên nhân khác nhau.

• Giá trịđó có tồn tại nhưng không biết

• Không xác định được giá trịđó có tồn tại hay không

• Tại một thời điểm nào đó giá trịchưa có nhưng rồi có thể sẽ có

• Giá trị bị lỗi do tính toán (tràn số, chia cho không, )

Trong cơ sở dữ liệu quan hệ, giá trị không xác định được biểu diễn bằng các giá trị NULL, một loại giá trị đặc biệt không nên nhầm lẫn với chuỗi rỗng hay giá trị không Giá trị NULL đóng vai trò quan trọng trong các cơ sở dữ liệu, và hầu hết các hệ quản trị cơ sở dữ liệu quan hệ hiện nay đều hỗ trợ việc sử dụng giá trị này.

Các bảng trong cơ sở dữ liệu có mối quan hệ qua khoá chính và khoá ngoài Khoá chính là tập hợp các cột có giá trị duy nhất, giúp xác định một dòng dữ liệu cụ thể trong bảng Trong khi đó, khoá ngoài là tập hợp các cột có giá trị được xác định từ khoá chính của bảng khác, tạo nên sự liên kết giữa các bảng.

SỬ D ỤNG SQL TRONG TÍNH TOÁN ĐẠ I S Ố

Ma tr ậ n và các phép toán trên ma tr ậ n

Ma trận trong toán học rời rạc được sử dụng để thể hiện mối quan hệ giữa các phần tử trong một tập hợp, cũng như trong nhiều mô hình khác nhau.

Ma trận là một bảng số hình chữ nhật, được định nghĩa là ma trận m x n với m hàng và n cột Chúng được ứng dụng trong mô hình hóa các mạng thông tin, hệ thống giao thông vận tải và đồ thị Nhiều thuật toán sẽ được phát triển dựa trên các mô hình ma trận này.

Ma trận vuông là loại ma trận có số hàng bằng số cột Hai ma trận được coi là bằng nhau khi chúng có cùng số hàng, số cột và các phần tử tại tất cả các vị trí tương ứng đều giống nhau.

Ma trận được định nghĩa bởi kích thước gồm số hàng và số cột, với tổng cộng k phần tử Thông thường, ma trận được thể hiện dưới dạng bảng và được bao quanh bởi hai dấu ngoặc vuông.

"[" và "]" (hoặc, hiếm hơn, dấu ngoặc "(" và ")")

1 là ma trận 3 x 2 Định nghĩa 2 Cho

11 hoặc viết tắt A = (aij)mn

Ma trận A được định nghĩa là ma trận có cấp m x n, trong đó aij là phần tử tại dòng i và cột j Nếu số dòng và số cột của A bằng nhau, A được gọi là ma trận vuông cấp n, với các phần tử aij (i = 1, 2, …, m và j = 1, 2, …, n) nằm trên đường chéo chính Ma trận không, ký hiệu O, là ma trận mà tất cả các phần tử đều bằng 0 Ma trận đối của A, ký hiệu -A, có dạng (-aij)mn.

- Ma trận bằng nhau: Hai ma trận A = (aij)mn và B = (bij)mn được gọi là bằng nhau nếu aij = bij với i= 1, 2, …, m và j = 1, 2, …, n

- Ma trận đường chéo: Ma trận vuông cấp n mà tất cả các phân tử nằm ngoài đường chéo chính bằng 0 gọi là ma trận đường chéo, ta viết:

Ma trận chéo cấp n với tất cả các phần tử trên đường chéo chính bằng 1 được gọi là ma trận đơn vị, ký hiệu là I_n.

- Ma trận tam giác: Ma trận có các phần tử ở trên (hoặc dưới) đường chéo chính bằng 0 được gọi là ma trận tam giác

+ Ma trận tam giác trên: là ma trận A = (aij)mn mà nếu i>j thì aij = 0 hay A có dạng:

+ Ma trận tam giác dưới: là ma trận A = (aij)mn mà nếu i

Ngày đăng: 27/02/2022, 22:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. H ồ Thu ầ n, H ồ C ẩ m Hà, Các h ệ cơ sở d ữ li ệ u Lí thuy ế t & Th ự c hành, NXBGD, 2004 Khác
[2]. Tô Văn Nam, Giáo trình cơ sở d ữ li ệ u, NXBGD, 2009 Khác
[3]. H ồ Thu ầ n, H ồ C ẩ m Hà, Tr ầ n Thiên Thanh, C ấ u trúc d ữ li ệ u, Phân tích thu ậ t toán và phát tri ể n ph ầ n m ề m, NXBGD, 2004 Khác
[4]. Ph ạ m H ữu Khang, Phương Lan, Microsoft SQL Server 2008 Quả n tr ị cơ sở d ữ li ệu, NXBLĐ -XH, 2009 Khác
[5]. Nguy ễn Đức Nghĩa, Nguyễ n Tô Thành, Toán r ờ i r ạ c, NXB Giáo D ụ c Khác
[6]. Bùi Minh Trí, Giáo trình Toán ứ ng d ụ ng trong tin h ọ c, NXBGD, 2011 Khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w