1. Trang chủ
  2. » Công Nghệ Thông Tin

Tự học nhanh và hiệu quả SQL Server 7.0 docx

298 415 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Định dạng
Số trang 298
Dung lượng 9,83 MB

Nội dung

Trang 2

LE Tr ƯỜNG AN

8U SERVER 1

Trang 3

Lời nối đầu

của SQL Server 7 vào việc quản lý cơ sở dữ liệu cũng như lạo và phát triển các trình ứng dụng sử đụng các cơ sở đữ liệu

SQL Server, chúng tôi biên soạn cuôn “Tự học nhanh và hiệu quả SQIL,

Server 7.0”

Ne giúp các bạn tận dụng tối đa những tính năng cao cấp

Sách gồm 20 bài và được bố cục thành ba phần chính:

Từ bài 1-4, bạn sẽ học những điểm cơ bản về một cơ sở dữ liệu quan

hệ là gì, cách truy tìm và chỉnh sửa đữ liệu

Từ bài 5-10, bạn sẽ học cách áp dụng cơ sở đữ liệu vào công việc

thực tế bằng cách sử dụng đữ liệu trong các trình ứng đụng phổ biến như

Microsoft Word và Mierosoft Excel, cách xuất bản dữ liệu lên một Web site

Từ bài 11-20, bạn sẽ được giới thiệu chỉ tiết hơn về SQL Server

cũng như hướng dân bạn cách tạo các cơ sở dữ liệu, phân tích dữ hiệu, thực

hiện những tác vụ quản lý cơ bản, đi chuyển và biến đổi dữ liệu

Với cách bố cục và nội dung nêu trên cùng với hình ảnh minh họa rõ

ràng, chúng tôi hy vọng sách này sẽ là nguồn tham khảo bổ ích cho các bạn

_ Trong quá trình biên soạn, mac du da hết sức cố gắng nhưng sách

vẫn không thể tránh khỏi những thiếu sót ngoài ý muốn, nhóm biên soạn

Trang 4

Bai 1: Dinh nghia vé SQL Server 7 ANN a Dinh nghia vé SQL Server Trong bài này, bạn sẽ tìm hiểu taàn bộ edu tric cia SOL Server 7 tà những dịch vụ mà nả cũng cấp cho bạn

SQL Server la một hệ thống quản lý cơ sở dữ liệu quan hệ

hay RGBMS Một RDBMS lưu trữ dữ liệu theo một dang cau trúc trên một server cơ sở dữ liệu nhâm cho phép nhiều người sử dụng dữ liệu tử các mảy tính khác nhau được gọi là các

client, cùng một lúc Bài này sẽ trình bày tổng quan về SQL

Servsr là gi và chức năng của nó

CAC THANH PHAN SOL SERVER

SQL Server 7 có nhiều dịch vụ chạy trên Windows NT/Win-

Trang 5

8 Bai 1: Dinh nghia vé SQL Server

dich vu nay la MSSQLServer (SQL Server), Search Service, MSDTC và SQServerAgetn Các dịch vụ được minh họa ở hình 1.1 Một dịch vụ mà bạn có thể nghe đến là dịch vụ OLAP, nằm ngoài phạm vi của sách này << mS DTC Distributed SQL Server Transactions ——— Search Service > Full Text Searching Databases ~——ờ \ ) Scheduled Job Control SQ LServerAgent

Hinh 1.1 Cie dich vu SQL Server

Dịch vụ SQL Server là trình quản lý cơ sở dữ liệu cốt lõi và là dịch vụ duy nhất phải chạy Bộ phối hợp giao tác phân phối

(MSDTC©) tương tác với các SQL Server khác và với MS Trans-

action Server (MTS) để phối hợp các giao tác với những trình

ứng dụng chạy trên nhiều máy tính hay công nghệ Dịch vụ tìm

kiếm (Search service) điều khiển việc tìm kiếm toàn text, cho

phép bạn tìm kiếm qua dữ liệu text trong cơ sở dữ liệu của bạn;

Trang 6

Bai 1: Dinh nghia vé SQL Server 9

thé không hiện diện trên server của bạn Sau cùng, SQIL ServerAgent là một bộ lập thời biểu tác vụ nhằm xử lý tất cả tác vụ theo định kỳ, chẳng hạn như bảo trì và sao chép

Những tiến trình này hoạt động cùng với nhau để quản lý và cho phép bạn truy cập các cơ sở dữ liệu, Một SQL Server co thể điều khiến nhiều cơ sở dữ liêu trên cùng một server Mỗi SQL

Server sẽ có tối thiểu các cơ sở dữ liệu model, msdb, master, và

tempdb Bạn sẽ thường tìm thấy hai cơ sở dữ liệu mẫu, Northwind

và pubs, cũng như các cơ sở dữ liệu của công việc của bạn

Nhiều cơ sở dữ liêu cho phép các loại công việc khác nhau

được nhóm thành các thực thể độc tập để dễ quản lý mà không đòi hỏi nhiều server instance để phục vụ cho người dùng

Khi bạn làm việc SQL Server, bạn sẽ nhận ra rằng nó có

những tính năng vốn cần mội hay nhiều tiến trình ngoại vi chạy Ví dụ, nếu bạn muốn chạy các tác vụ được lập thời biểu, bạn sẽ cần SQLServerAgent chạy trên server Nếu bạn là một người dùng hệ thống (không phải là một nhà quản lý), bạn sẽ cần phối hợp với nhà quản lý về bất kỳ dịch vụ mà bạn cần đã không có sẵn

Thủ thuật

Chắc chắn, bạn sẽ có những cău hỏi khi bạn sứ

SF “ dụng SQL Server Để có được những lời giải đáp,

u hãy thử Books Online Books Online 1a mot bộ tài

Ũ liệu hướng đẫn toàn diện mõ tả mọi khia cạnh cửa SQL Servcr, từ quản lý đến những phương pháp

khó hiểu để lập trinh cac ting dung Books Online

cling chia mdt index va mot trinh tién ich nghiên

cứu toàn text, qua đó bạn có thể tim thấy bất kỳ

Trang 7

10 Bai 1: Dinh nghia vé SQL Server

được phân phối dưới dang một file HTML được biên

dich (.chm), bạn có thể tải bộ tài liệu hướng dẫn này xuống client workstation của bạn để truy cập

và Um kiếm nhanh hơn

CAC THANH PHAN Co sử Dữ Liệu

Một cơ sở dữ liệu quan hệ lưu trữ và xử lý không chỉ đơn

thuần là dữ tiệu Trước khi bạn đi sâu vào chỉ tiết của SQL Server,

hãy xem xét với một mức độ cao đối với các phần mà bạn sẽ

thấy trong một cơ sở dữ liệu quan hệ,

Các đối tượng

Hầu như những thử trong chính cơ sở dữ liệu là các đổi tudng (object) Các đoạn sau đây giới thiệu các đối tượng phổ biến nhất Những đối tượng này được gọi là những đối tượng cố

định; nghĩa là, chúng được lưu trữ trong cơ sở dữ liệu và không

biến mất khi bạn thoát khỏi hệ thống hay khi server tắt,

Một table là một cấu trúc đữ liệu cơ bản của một cơ sở dữ liệu Tất cả thông tin trong cơ sở dữ liệu được lưu trữ trong các

table, trong mét kiéu trình bày hàng/cột để dễ xử lý dữ liệu Trong một table, mỗi hàng là một record (bản ghi) của dữ liệu,

và các cột là các field (trường) của record Các table được giải thích chỉ tiết ở bài 2 -

Trang 8

Bai 1: Dinh nghia vé SQL Server 11

có thể giúp xác định những hàng đỏ trước khi nó tìm qua tất cả dữ liệu trong table Nếu không có index, SQL Sarver phải duyệt tất cả hàng trong table

Một view (khung xem) được xem là một phần được truy xuất

cố định, được ấn định trước từ cơ sở dữ liệu Nếu bạn có một tập hợp thông tín mà bạn thường cần tìm kiếm trong cơ sở đữ liệu,

bạn có thể tạo một view để chứa lệnh nhằm truy tìm dữ liệu Với một view, bạn không cần gõ nhập lại lệnh mỗi lần bạn cần dữ liệu; những người khác cũng có thể sử dụng view để xem dữ

liệu một cách tốt hơn Điều này thật sự tiết kiệm được nhiều thời

gian, đặc biệt nếu lệnh dùng để truy †im dữ liệu phức tạp, hoặc truy tìm dữ liệu tử nhiều table khác nhau Các view được thảo

luận ở bài 16

Một constraint là một đối tượng ấn định một giới hạn về

cách hay loại dữ liệu nào có thể được lưu trữ trong cơ sở dữ liệu

với mục đích là giữ cho dữ liệu nhất quán hay hiện thực Ví dụ,

một table kiểm kê có thể đặt một constraint NOT NULL trên cột

chứa số lượng có sẵn Các constraint được thảo luận ở bài 2

Nhất quán

Một cơ sở dữ liệu nhất quán nếu tất ca dữ liệu

trong đỏ hòa hợp với nhau và bản thiết kế của cơ

sở dữ liệu Việc lưu trữ một số bộ phan trong mot

bang kiểm kê vốn không tương xứng với một bộ

phan trong một bảng ấn định về các bộ phan hay lưu trữ một số ãm cho Luối của một người là hai ví dụ về dữ liệu không nhất quán,

Một thủ tục được lưu trữ (stored procedure) tương tự như một

Trang 9

12 Bai 1: Dinh nghia vé SQL Server một thủ tục được lưu trữ có thể thực thì bất kỳ lệnh SQL (chứ không phải một phần được truy xuất), và có thể lấy các tham số

chẳng hạn như tiêu chuẩn truy xuất của nó, nhằm chỉnh sửa hoạt động của nó mỗi lần bạn thực thi nó Các thủ tục được lưu trữ được thảo luận ở bài 14

Mot trigger (bộ kích khởi) có thể được xem là một loại thd tục được lưu trữ đặc biệt Các trigger được liên kết với các ta5le trong cơ sở dữ liệu và có thé được thực thi bất cứ lúc nào dữ liệu được bổ sung, được chỉnh sửa hay bị xóa khỏi table Các trigger

được thảo luận ở bài 15

Một default (xác lập mặc định) là một giá trị mà SQL Server

sẽ cung cấp cho một cột nếu bạn thêm một hàng vào một table

và không điền vào cột đó

Một kiểu dữ liệu do người dùng ấn định (UDT) là một phần

ấn định cụ thể về loại dữ liệu mà có thể được nhập vào một cột

SQL Server cung cấp các kiểu chuẩn vốn có thể xử lý các số và

dữ liệu text Bạn có thể sử dụng các UDT để ấn định dữ liệu một cách cụ thể hơn so với các kiểu dữ liệu được cài sẵn Tuy nhiên, chúng cỏ thể có nhiều vấn đề khó hiểu và nằm ngoài phạm vi

của sách này,

Cac quan hé

Một cơ sở dữ liệu chỉ lưu trữ các table chắc chắn hữu dụng

Cơ sở dữ liệu PC phổ biến nhất vào những năm 1980, dBASE

của Ashton-Tate là một cơ sở dữ liệu chỉ chứa table, thường

được gọi là một cơ sở dữ tiệu file det (flat-file) Bạn có thể thực

Trang 10

Bai 1: Dinh nghia vé SQL Server 13

trong bang cach cho phép ban két hdp cac hang trong cac table

khác nhau bằng cách sử dụng một khái niệm được gọi là một

quan hé (relation)

Với một cơ sở dữ liệu flat file, hầu như dữ liệu luôn cần được

liên kết từ các file khác nhau, nhưng hoạt động này phải được

thực hiện trong mã người dùng bằng cách sử dụng ngôn ngữ

người dùng của trình quản lý cơ sở dữ liệu Trong các cơ sở dữ

liệu quan hệ, các quan hệ này được lưu trữ trong chính cơ sở dữ

liệu Hầu như không có dữ liệu nào mà bạn sẽ làm việc với chứa

dữ liệu không liên quan đến bất kỳ dữ liệu khác, do đó bằng cách xử lý cụ thể những quan hệ này, bạn có thể dé dang tao và bảo tri một cơ sở dữ liệu đáng tin cậy, nhất quán

Một ví dụ đơn giản, hãy xem xét các table employee va table

job trong cơ sở dữ liệu pubs Mỗi công việc trong table jobs được nhận biết bằng một job.id riêng biệt Mỗi nhân viên trong em- ployee có quan hệ với một công việc bởi một job_¡d vốn là một phần của hồ sơ nhân viên Quan hệ này phải tồn tại Nếu bạn

có một nhân viên khỏng có việc làm, thì điều này không có

nghĩa

Query

Một query (mẫu vấn tin) là một lệnh mà bạn gởi đến SQL

Server thông qua một chương trình client cơ sở đữ liệu Bạn viết những lệnh này bằng cách sử dụng ngôn ngữ chung của các cơ

sở dữ liệu quan hệ: Structured Query Language (SQL) Mỗi lệnh

SQL được xem là một query, mặc dù nhiều lệnh không truy xuất bât cú thứ gì (như bạn có thể mong đợi từ một thứ nào đó được

Trang 11

14 Bai 1: Dinh nghia vé SQL Server

sử dụng SQL làm ngôn ngữ vấn tin của chúng, ban sẽ có thể sử

dụng phần lớn SQL và các kỹ thuật cơ sở dữ liệu trong sách này

với những server cơ sở đữ liệu khác

Mọi thứ bạn thực hiện với SQL Server trở thành một query

vào một thời điểm nào đó, mặc dù bạn không thể thấy chính

query này Bạn có thể nhấp các nút và các hộp kiểm trong một

giao diện người dùng đồ họa (GUI), nhưng trình ứng dụng đáp

ứng các lệnh của bạn bằng cách gởi một query đến cơ sở dữ

liệu ở hậu cảnh, như được minh họa ở hình 1.2

Các lệnh query có thể được nhóm lại thành ba hạng mục

chính:

A Noon ngữ ấn định dữ liệu (DDL): DDL ám chỉ bệ câu lệnh SQL

mà bạn sử dụng trong các query để ấn định các đối tượng chẳng

hạn như cdc table, constraint, cdc thu tue được lưu trữ và view

DDL được sử dụng để tạo cấu trúc các tính năng cố định của cơ

Sở dữ liệu

A Ngôn ngữ thao tác dữ liệu (DML): DML, tập hợp con của S0QL mà

bạn sẽ sử dụng hầu hết thời gian, là nhóm các câu lệnh chẳng

hạn như SELECT va INSERT ma ban sv dung dé truy xuất, phân

tích, chỉnh sửa, hay xóa dữ liệu trong cơ sở dữ liệu của bạn Các

câu lệnh DML rất đơn giản về mặt khái niệm, nhưng chúng là những công cụ cực kỳ mạnh mẽ để làm việc với thông tin A Ngôn ngữ điều khiển dữ liệu (DCL): DCL được sử dụng để ấn

định các control truy cập trên đữ liệu của bạn Khi một người

dùng tương tác với cd sở dữ liệu, server cơ sở dữ liệu kiểm tra

các mức độ cho phép của người dùng và cung cấp hay từ chối sự

Trang 12

Bai t: Dinh ughia vé SQL Server 15

thuết lập bởi nhà quản lý hay nguời sẻ hữu dữ liệu DCL due siz dụng để tạo những qui tắc đủ

‘You use menus and windaws

SOL Server SELECT © ROM authors

but the application sbi talks to the database wath SOL

Hinh 1.2 SQL dang sau GUI

TÚM Lược

Trong bài này, ban đã khai thác những thành phần của SOL

Server và các loại đối tượng mà bạn sẽ làm việc trong một hệ

thống quản lý cơ sở dữ liệu quan hệ Bạn nên nắm vững khải niệm về những gi mà một cơ sở dữ liệu quan hệ thực hiện cho

bạn Trong bài kế tiếp, bạn sẽ được trình bảy chỉ tiết về các table và những đổi tượng liên quan, do đó bạn có thể bắt đầu

Trang 13

16 Bài 2: Tùn hiểu các cơ sở dữ liệu AND Tìm hiểu các cơ sở gđữ liệu

Hài này sẽ giới thiệu cho bạn về các đổi tượng mà bạn sử dụng

dữ hát trữ dự liêu trang co sé ai? ligu SQL Server 7

Bài đầu tiên đã mô tả những khái niệm đằng sau SQL Server

và cấu trúc của mội cơ sở dữ liệu quan hệ, Bải này sẽ đi sâu

Trang 14

Bài 2: Tìm hiéu cdc co sé dit liéu 17

TARLE

Hầu hết công viêc thiết kế một cơ sở dữ liệu nằm trong việc

ấn định những thực thể (entity) nào sẽ được lưu trữ và cách

chủng quan hệ với nhau Table là một đơn vị cấu trúc cơ bản của một cơ sở đữ liệu quan hệ và là cấu trúc vật lý mà bạn sẽ

sử dụng để lưu trữ các thực thể mà bạn ấn định

Thực thể

Một thực thể là sự mô tả vẻ một điều thực tế mà bạn muốn lưu trữ thông tín về điều đỏ trong cơ sở đữ liệu của bạn chẳng hạn nhí một người, một hợp

đồng hay một giao địch tải chính Nó gồm có các

thuộc tính, các hạng mục thông tìn riêng biết (liền

quan đến thực thế) mà bạn mitốn giữ lại, và các quan hệ, những mối liên kết với những đối tượng

khác mà thực thể sử dụng hay phụ thuộc vào theo

một cách não đó Sau khi bạn đã mô Lá những thực

thể mà bạn muốn ghi lại trong cơ sở đừữ liệu của

bạn, bạn hoạch định cấu trúc table của bạn để lưu

trữ thông tin của thực thể trong một hay nhiều

table cơ sở đữ liệu

Trang 15

18 Bài 2: Tùm hiếu các cơ sở dữ liệu tile_id au_id au id Relations PS3333 [172 32-1176 |————>|t72.32-1176 lÌ White Johnson 8U1032 |213.46-8915| ,| 213-46-8915 1] Green Manorie 274-80-9391

Hình 2.1 Cae khoi tạo cơ sở dữ liệu

Một table sẽ có một tập hợp dữ liệu, chỉ một cột đơn, nhận

biết riêng từng hàng trang table Ví dụ, bởi vi chính phủ bảo đảm rằng số tài khoản an sinh xã hội (SSAN) của mỗi người thi duy nhất, table authors trong pubs sử dụng nó làm au_¡id để nhận biết nêng các tác giả

Trong các thuật ngữ cơ sở dữ liêu, bộ nhận dạng hảng được

gọi là khóa chính (primary key) và được yêu cầu cho hầu hết quan hệ Bởi vi giá trị khóa chính được sử dụng để nhận biết

hàng và sẽ được tạo lại trong bất kỳ index hay table tham chiếu

nó, ban nên chọn kiểu dữ liệu nhỏ nhất thích hợp mả sẽ nhận

Trang 16

Bài 2: Tìm hiểu các cơ sở dữ liệu 19

Cot

Các cột lưu trữ các phần dữ liệu riêng biệt trong một hàng của một table Các cột có hai đặc tính chính: kích cỡ và kiểu của

chúng Bạn sẽ không luôn quan tâm đến kích cỡ của cột, với

một ngoại lệ: Bạn không thể tạo một table có tổng kích cỡ của các cột lớn hơn 8060 byte Điều này không phải là một vấn đề;

nếu table của bạn có đủ các cột để phù nop với giới hạn này, có

thể bạn nên đơn giản hóa nó

Thủ thuật

Khi bạn thiết kế một table, hãy giảm số cột Bạn

hiếm khi cần quá nhiều cột trong một table cơ sở

dữ liệu chuẩn, và hơn 10 hay 15 cột sẽ thường bảo hiệu rằng cản nên phân tích nhiều hơn

Kiểu của cột mô tả loại dữ liệu nào mà bạn có thể lưu giữ trong đó Các kiểu dữ liệu thông thưởng mà bạn sẽ sử dụng trong SQL Server được liệt kê ở bảng 2.1

Bảng 2.1 Cae kiểu dữ liệu $ÖL Server

Kiểu Mô tả

binary OL) Théng tin nhi phan, dain byte bil Mội giá trị irue bay false

char (n) Lén dén nmdu te, 86 bay Rv tie cham cân (small) datetime Một ngày tháng thời gian hodc cd hat

decimal (p, Ls) Một số dấu cbấm động Hy ý có độ chính

xác cho phép b chỉ vố có nghia c6 len đến

Trang 17

20 Bài 2: Tìm hiểu các cơ sở dit liéu image (small or linpyni (small)nioncy numeric(p Ls) realty) tent timestamp rarbinarysyr) rarchar(y) Dự liệu nhì phán lớn Cac s6 nguyén Số tiên

Kiểm số chung Cirong tt nhit sé thap phan)

Kién ddu chdm déng chung cb dé chinh

xdc n bil

Cde đối tong texi lớn

Trường được tư động điền đây rói môi gửi iri counter duy nhat dita nào thời gian bbí môi bàng được chen nào bay ditoe cap nha Trường nhì phân chiều dài biến đổi, có dén n byle Trường text chiều đài biến đổi có đến " ký tự

Đối với các kiểu text, char, và varchar, có các kiểu Unicode

tương ứng được gọi là ntext, nchar, và nvarchar

Unicode

Unieode là một tiêu chuẩn quốc tế dùng để lưu trữ

texL đãnh cho nhiều ngôn ngữ khác nhau Các Liêu

chuẩn cũ hơn, kể cả bộ ký tự ASCII được chỉnh sửa

được sử dụng trên các máy tính loại PC, có đủ ký tự cho tiếng Anh và một số ngôn ngữ châu Âu, nhưng không phải các ngon ngữ như tiếng Trung

Quốc và tiếng Nhật Unicode có các ký tự đành cho

Trang 18

Bai 2: Tim hiểu các cơ sở dữ liệu 21 Khi bạn tạo một table, bạn sẽ cho SQL Server biết loại dữ

liệu nào mà mỗi cột sẽ chứa bằng cách xác định kiểu của nó

Đây là cơ chế đầu tiên trong những cơ chế mà qua đó SQL giữ

cho dữ liệu nhất quán với bản thiết kế của cơ sở dữ liệu Đây là một điều tốt, nhưng có một sự hòa hợp giữa tính khả dụng và tín hiệu quả Bạn cần chọn kiểu cho một cột một cách cẩn thận: Kiểu nên đủ lớn để lưu trữ bất kỳ dữ liệu thích hợp mà bạn cần

lưu trữ trong cột nhưng không quá lớn Bất kỳ khoảng trống phụ

bị lãng phí nếu nó không bao giờ được sử dụng Bảng 2.2 liệt kê kích cỡ và dãy giá trị cho các kiểu được mô tả ở bảng 2.1

Bảng 2.2 Dác kiểu kích cỡ và đãy

Kiêu Kích cỡ và dãy "

DỊH1ry(11) Chiều dài cố đđÙ1b có 1 byte

bù Tor thiéu mot byte; len dén tdm ct vil cb

thé duoc ket bop thanh mét byte bei SQL

Server

charg) Chiéu dai cé dink 6 byte

(smalbdatetmne smalldatetime: 7 byte, We fanuary 1 £900 den pune 6 2079, chink xde deur mot phiit

datetine: & byte famuary 1, 1753 dén

December 31, 0999 chinh xdc dén +/-.002 eidy

decimal(p Ls) D chit s6 cb ughia có đến s chữ số nằm

bén phdi dấu tbập phán đòi béi 5 byte

nên jb< 10 7HóiÐ là 10 đến 19 tà L3 trói pla 20 dé 28

Trang 19

22 (small or tiny int (small) money niunericlp 1, s1) real(i) finestamp varbinaryOr) rarchar(i)

Bài 2: Tìm hiểu các cơ sở dữ liệu

tinyint: mot byte, 0-255

smallint: hai byte, - 32768 dén 32767

int bn byte, +/- khoang 2 ty smallmoney: bin byte, +/- 200,000

money: lam byte, +/- khodng 900 nghin ty Thường tương đương số tbập phân

trong đó 0! là các ĐH có độ chính xác; tới „ lên cđiến 2⁄4 ( 7 chữ số có nghĩ), 4 bytc; 8 byïe tới n > 24 (15 chữ xố có nghĩa)

& byte

kích cỡ biến đổi lên đến 8.000 byte, cing

tới bốn bytc: n là số bụte tối đa được phép

kich cỡ biến đổi lên đến 8.O00 hý tt: + lò

số ký tư tối đa được cbo phép

Có thêm một sự cân bằng về khả năng thực thi khi sử dụng

các kiểu dữ liệu varbinary và varchar Chúng có hiệu quả về

khoảng trống nhiều hơn so với các cột có chiều dài cố định khi

dữ liệu sẽ thay đổi kích cỡ, nhưng SQL Server bị chậm lại bởi

nhu cầu xác minh kích cỡ thật của dữ liệu khi nó được truy xuất

Bất kể kiểu của cột là gì, nó có thể được cài đặt sang NULL néu phan an dinh table cho phép NULL la mét phi gia tri dac

biệt xác định giá trị không được xác định hoặc không tổn tại

Trang 20

Bài 2: Tìm hiểu các cơ sở đữ liệu 23

Index

Bạn sử dụng một index để tăng tốc sự truy cập dữ liệu trong

các table của bạn Việc Iưu trữ dữ liệu chỉ là một phần của chức

năng của một cơ sở dữ liệu; việc truy tìm nó thường là một khía cạnh quan trọng của trình ứng dụng và các index làm cho tiến

trình này trở nên nhanh hơn nhiều nếu chúng được áp dụng một

cách thông minh

Có hai loai index trong SQL Server: clustered va

nonclustered Mét clustered index sap xép thu ty cac hàng trong table; nói cách khác, khí bạn truy tim dữ liệu mà không xác định

một thứ tự trong query, các hàng mà bạn thấy sẽ được sắp xếp

theo các cột trong clustered index trên table Bởi vì một clus-

tered index thiết đặt thứ tự thực của các hàng, bạn có thể chỉ có

một clustered index trên mỗi table Nếu một khóa chính hiện

hữu, một clustered index được tạo trên cột đó

Một nonclustered index được lưu trữ bên ngoài table, và liên

kết các giá trị của các cột với các hàng trong table Bạn tìm index của một sách về SQL để tìm nơi ma query có thể được ấn định Theo cùng một cách, khi bạn vấn tin SQL Server để tìm ra

hàng trong table authors có tên của một tác giả cụ thể (xem

hình 2.2), SQL Server sẽ sử dụng một index để tìm hàng nào

trong table tương xứng với tên tác giả thay vì tìm qua table Nhu

ở hình minh họa, một index có thể được tạo dựa vào nhiều trường của một table, tạo một index tổng hợp

Lưu ý

Trang 21

24 Bài 2: Tìm hiểu các cơ sở dữ liệu

một cột hay cac cột hoàn toàn riêng biết, chi ca

một số nhỏ giá trị (nhiều hàng có chúng một giả

tri) Cac cot text, nlext, image va bit thudng khong

thích hợp với yêu cẩn này Các cột được tính mà

bạn sẽ Lhấy ở bải 13, được dựa vào các cột khác,

do do chung that sự không hữu trừ cáo giá trị mã có

thé due Waa index Index Table au_Iname | au tname_ | row au_/ở — | su Iname | 30-tname PS3333 |I72-32-1176| 1 |———*l172-32-1178[ Whne Johnson BU1032 |213-46-8915| 2 |———>|213-46-8915| Green Manane |238-95-7766] Carson Cheryl 267-41-2394] O'Leary } Michael ai Straight Dean

Hinh 2.2 Mật table dược tao index

Khi vấn tin authors, chỉ có 23 hàng, index không tạo ra những cải tiến về tốc độ Tuy nhiên, với 25 triệu hàng, kết quả có thể

gây ấn tượng Mặc dù bởi vì các index chiểm khoảng trông,

nhưng dù muốn hay khõng, đừng tạo chúng trên các table Cũng

có môt vấn dé về khả năng thực thi; mỗi lần bạn cập nhật một

cét duge tao index, SQL Server phai cap nhật cả giá trị và in- dex Do dé, hay xét những người có thể tìm kiếm dữ liệu (hoặc

Trang 22

Bài 2: Tìm hiểu các cơ sở dữ liệu 25 tạo các index vốn hỗ trợ hầu hết các query thông thường Bài 1 1 sẽ trình bày cách kiểm tra hoạt động của cơ sở dữ liệu để xem

chiến lược index của bạn hoạt động tốt như thế nào

CONSTRAINT

Một constraint là dòng bảo vệ thú hai chống lại sự hư hỏng

dữ liệu Khi bạn ân định một constraint, bạn thông báo cho SQL

Server một qui tắc mà bất kỳ dữ liệu được đặt vào một table

phải! tuân theo Mặc dù các constraint thường được tạo dưởi

dạng một phần tao table, ban có thể bổ sung một constraint sau

đó nếu dữ liệu hiện có trong table không vi phạm qui tắc đó

Mội loại constraint đã được mô tả, PRIMARY_KEY của một

table Bai vi khéa chính được ấn định để nhận biết riêng một

hàng cụ thể trong table, có một constraint tương ứng: Bạn không

thể chèn một hàng có cùng một giá trị cho khóa chính khi một

hàng khác đã hiện hữu, và bạn không thể chèn một hàng không

có một giá trị cho khóa chính

Constraint của khóa chính kết nhập hai constraint khác mà bạn có thể đặt trên một cột (NOT NULL) và UNIQUE Một con- straint NOT NULL chi dinh cho SQL Server biết rằng cột phải được điền đầy cho bất kỳ hàng mà bạn thêm vào table UNIQUE

cho biết rằng giá trị trong cột không thể được lặp lại trong hai

hang trong table

Constraint CHECK cung cấp một công thức mà SQL Server

sử dụng để xác minh các giá trị dữ liệu trước khi chúng được

Trang 23

26 Bai 2: Tim hiểu các cơ sở dữ liệu CHECK như qty >= 0 trên table sales sẽ yêu cầu SQL Server không cho phép chèn một số lượng bán hàng âm

Một DEFAULT xác định một giá trị mà sẽ được ghi lại trong

một cột nếu bạn không cung cấp mộ! giá trị hay cài đặt nó sang

NULL Sau cùng, một constraint FOREIGN KEY nhận dạng các cột tham chiếu một khóa chính trong một †able khác

CAC QUAN HE

Các quan hệ ghi lại các phần phụ thuộc và các liên kết giữa

cdc table trong cơ sở dữ liệu Bạn sử dụng SQL Server để áp

đặt các qui tắc thay vì phụ thuộc vào mã trình ứng dụng Cơ chế

DRI (declarative referential integrity) là cách đáng tin cậy duy

nhất để làm cho các phần tham chiếu nhất quán Có ba loại

quan hệ giữa các table (xem hình 2.3)

A Mộ!-đối-mội: Một quan hệ một-đối-một chỉ định rằng một hàng trong một table sẽ liên kết với một hàng trong một table khác 2 Một-đối-nhiều: Một quan hệ một-đối-nhiều, quan hệ phổ biến

nhất chỉ định rang table tham chiếu (table con) có thể có nhiều

hàng tham chiếu một hàng đơn trong một table khác (table bố) A Nhiều-đối-nhiễu: Một quan hệ nhiều-đối-nhiềUu có một giá trị trung gian để luu trữ mối quan hệ, liên kết một hay nhiều record

Trang 24

Bài 2: Tìm hiểu các cơ sở dữ liệu 27 Child Parent A one-to-many relation A many-to-many relation

Hình 2.3 Cae quan hệ giữa các †able Table bố và table con

“Trong một quan hệ, một table tham ch

khác, Table chữa tham chiếu được gọi lá table con,

va (able mà nó tham chiếu được gọi là tahle bố

mot lable

Việc khai báo một quan hệ là điều đơn giản Table bố trong

Trang 25

28 Bài 2: Tìm hiểu các cơ sở dữ liệu

quan hé nay, ban thém mét constraint FOREIGN KEY vao cét

của table con vốn đặt tên cho table bố và cột chính Sau khi mối quan hệ được thiết lập, SQL Server sẽ kiểm tra các hoạt động chèn và cập nhật vào table con và loại bỏ bất kỳ hoạt động nào

vốn vi phạm constraint

TÚM Lược

Bai nay đã đề cập đến các table, cột, các kiểu dữ liệu, in- dex, constraint, va quan hé Ban da thay tất cả các hạng mục

Trang 26

Bai 3: Tim kiém théng tin trong co’ so dit liéu 29

Tìm kiếm thông tin trong cơ sở đữ liệu

Bài này sẽ giới Hiệu cho bạn về Suuctured Querv Language (SỢL) và trình bày cho bạn cách tìm kiếm dữ tiệu trong các tubfe

bằng cách sứ dụng lệnh SELECT SQL

Bài này hướng dẫn bạn cách truy †ìm dữ liệu từ cơ sở dữ

liệu bởi vì cơ sở dữ liệu pubs được sử dụng cho các ví dụ, bạn cỏ thể thực thi các query trên mảy tỉnh riêng của bạn vả xem kết

quả khi bạn đọc Sau khi bạn quen thuộc với các tiến trình truy

Trang 27

30 Bài 3: Tìm kiếm thông tin trong cơ sử đữ liệu TIM HIEU STRUCTURED QUERY LANGUAGE (SQL)

SQL la một ngôn ngữ đơn giản gây nhầm lẫn được sử dụng để tương tác với các cơ sở dữ liệu quan hệ Cả SQL và RDBMS

có nguồn gốc trong cuộc nghiên cứu tại IBM từ giữa những năm

1980 đến đầu những năm 1970 Với các ngôn ngữ query đa dạng trên thị trường, viện tiêu chuẩn quốc gia Mỹ (ANSI) đã xuất bản một tiêu chuẩn SQL vào năm 1989, và sau đó sửa đổi

nó vào năm 1982 Tiêu chuẩn 1992, ANSI X3.135-1992, là phiên

bản hiện hành và thường được xem là SGL2, hoặc thường gọi

chung là SQL92

SQL chỉ có một vài từ khóa so với bất kỳ ngôn ngữ lập trình khác mà bạn sẽ gặp phải, nhưng tập hợp lệnh đơn giản này có

thể thực hiện sự phân tích và sự chuyển đổi dữ liệu phức tap CAu LENH SELECT

Câu lệnh SELECT phổ biến nhất mà bạn sẽ sử dụng trong

SQL, câu lệnh SELECT truy tìm dữ liệu từ các table, view, và các hàm cài sẵn trong SQL Server Sau đây là cú pháp của câu

lệnh SGELECT:

SELECT { * | columnref |, columnref | } FROM tableref [, tableref .)

({INNER ; {LEFT ; RIGHT} OUTER }

JOIN tableref ON columnref = columnref .) {WHERE expression [{AND | OR} expression .]]

Thành phần columnref là tên của một cột, tableref là tên

Trang 28

Bai 3: Từm kiếm thông tin trong cơ sở đữ liệu 31

như

Dạng mô tả cú pháp được sử dụng trong sách này tương tự dạng được sử dụng bởi Microsoft, do đó bạn sẽ thấy dạng tương tự này ở đây khi bạn sử dụng Books Online: a yu N N dau dau

Các hạng mục được yêu cầu nằm bên ngoài bất kỳ dấu ngoặc Các hạng mục tùy ý được đặt trong các đấu ngoặc

Các hạng mục thông thường có một font thường

Các hạng mục được thay thể bằng dữ liệu riêng của bạn có dạng

¡n nghiêng

Nếu bạn có thể sử dụng một trong những hạng mục của danh

sách, các lựa chọn được tách rời bằng một vạch thẳng đúng được gọi là một pipe (:)

Lựa chọn bắt buộc trong một lựa chọn (bạn phải đưa vào một

hay lựa chọn khác) được đặt trong các dấu ngoặc (1l)

Sự thay đổi chính đối với dạng Books Online là sử dụng các ba chấm để báo hiệu rằng các hạng mục trong một tập hợp ngoặc có thể được lặp lại

Mô tả của cú pháp SELECT cho biết bạn phải có ít nhất từ

SELECT; một dấu sao (*) hay một hay nhiều columnref (SE-

LECT Iist); từ FROM, và í† nhất mot tableref

Sau FROM, bạn có thể đưa vào các JOIN, mdi JOIN phải

chứa †ử khóa ,JOIN, một tableref, từ khóa ON, và một câu lệnh

của các cột tương đương (columnref) Trong mệnh đề JOIN, bạn có thể ấn dinh thém INNER, LEFT OUTER, hay RIGHT OUTER để chỉnh sửa kiểu nối Các dấu ba chấm ở cuối mện, dé JOIN

Trang 29

32 Bài 3: Tìm kiểm thông tin trong cơ sử dữ liệu

Sau cùng, bạn có thể đưa vào tử khóa WHERE, theo sau là các biểu thức điều kiện được tách biệt bằng các từ khóa AND

hay OR để giới hạn các hàng được cho ra

Dạng biểu diễn SELECT nảy chỉ cho thấy một phần của cầu lệnh Trong phần còn lại của bài này, bạn sẽ xem cách sử dụng từng thảnh phần được trình bảy trước đó

Trước khi xem qua các ví dụ, bạn sẻ phải hiển thi SQL Server Query Analyzer Ban sẽ tìm thấy nó trong menu Microsoft SQL Server 7.0 trên menu Start Khi nó khởi động, nối kết với cơ sở dữ liệu khi mạng của bạn yêu cầu Để sử dụng cơ sở dữ liệu pubs, chọn nó trong danh sách xổ xuống DB bền dưới thanh

menu nằm ở phần trên củng của cửa sổ (xem hinh 3.1)

SLM ee eee

Ble Elk Yew Query ron « Help mea

NSAP MT pee A ge oof TT SH: ere

(Emcere 6000) [omnia (aloo

Trang 30

Bài 3: Tìm kiém thong tin trong cơ sở dữ liệu 3

Cac table authors, titles, và titleauthor sẽ được sử dụng cho

các vi du trong bai nay Hinh 3.2 minh họa các table và môi

quan hề giữa những table nảy Ban cũng cỏ thể thực thi sp_help_tablename trong Query Analyzer để hiển thị thông tin trên mỗt table Ges wei ee ae Qaly |» a SIL YD cemvcle anaes tale Hinh 3.2 Cae table titles, authors, va titleauthor trong SQL Server 7 Sif dung SELECT

SELECT don giản mà bạn có thể thực thi như được xác

định bỏi phan mô tả củ pháp, truy tìm mọi thử từ một table, thực

Trang 31

34 Bai 3: Từm kiếm thông tin trong cơ sở dữ liệu

vào vùng text của cửa số query và nhấp nút Play:

SELECT*

FROM authors

Khi bạn thuc thi query, bạn sẽ thấy dữ liệu giống như đữ liệu

sau đây ở nửa phần dưới của cửa số query 172-32-1176 213-468-8815 238 -95-7766 899 - 46-2035 988 -72-3§87 au_lname au_ fname White Johnson Green Marjorie Carson Cheryl Ringer Anne Ringer Albert

Để giới hạn dữ liệu mà bạn nhận được, hãy tìm tên của các tác giả Sử dụng query sau đây:

Trang 32

Bai 3: Tim kiếm thông tin trong cơ sở dữ liệu 35

Thay vì dấu sao, SELECT này xác định các cột mà bạn

muốn xem trong danh sách SELECT Nó vẫn truy tìm mỗi hàng

trong table

Sif dung cdc hiểu thiữc WHERE và hiếu thức I0gÏt

WHERE được sử dụng để xác định tiêu chuẩn mà các hàng

phải đáp úng phải được trả về Từ khóa được theo sau bởi một

hay nhiều biểu thức, mỗi biểu thức chứa một cột; một toán tử;

và một cột, biểu thức, hay giá trị khác

Toán tử

Trong SQL Server, nó là một ký hiệu hay từ khóa

liên quan hay thay đổi một hay nhiều toán hạng

Có thể bạn quen thuộc với các toán tử số học cho phép cộng (+), phép trừ (-) SQL Server cung cấp

những toán tử này và nhiều toản tứ khác

Những toán tử mà bạn sử dụng trong các biểu thức WHERE

là các toán tử quan hệ và logic Các biểu thức sử dụng những

toán tử này có thể true hay false phụ thuộc vào các toán hạng

Một số biểu thức chung thuộc loại này được trình bày ở bảng

3.1 Nói chung, các toán hạng trong những phép so sánh này

phải có cùng một kiểu để phép so sánh có hiệu lực

Bang 3.1 Ôác phếp so sánh thông thường Biểu thức này — là true nếu

Trang 33

36 Bài 3: Từm kiếm thông tín trong cơ sở đữ liệu

IS NULL x khéng ditoc dn dinh (x rỗng) x BETWEEN y AND zx nam trong addy fy z/

x/Ví(a b, ) x nam trong tap hop các giá trí

x LIKE y dị liệu trong x giống nbut man trong y

Ví dụ, để tìm số điện thoại của Charlene Locksley, ban thuc

thi query sau day:

SELECT au_fname, au_lname, phone

FROM authors

WHERE au_tname = 'Charlene'

AND au_lname = 'Locksley'

Query nay tao ra đữ liệu xuất sau đây:

au_Tname au_iname phone

Charlene Locksley 415 585-4620

LIKE và các ký tự thay thế

Toán tử sau cùng, LIKE, được sử dụng để tìm các mẫu phù

hợp trong dữ liệu ký tự giống như tên tác giả trong authors Trong ví dụ trước, bạn kiểm tra để tìm một tên phù hợp với tên của Ms Locksley Nếu bạn không biết cách viết chính tả tên của người này, ngoại trừ bạn chỉ biết rằng nó bắt đầu với L, bạn có thể sử dụng query sau đây:

SELEGT au_fnams, au lname, phone

FROM authors

WHERE au_lname LIKE 'L®'

Trang 34

Bài 3: Từm kiếm thông tin trong cơ sở dit liéu 37

sẽ được liệt kê

Từ khỏa LIKE trong biểu thức được theo sau bằng một mẫu mà SQL Server so sánh để chỉ định các hàng để chứa hay loại trừ chúng Mẫu trong ví du, 'L%’, yéu cau SQL Server hiển thị bất kỳ hàng có au_Iname bắt đầu với chữ hoa L Nếu dấu phần trăm trong mẫu chỉ định bất kỳ số của bất kỳ ký tự khác có thể

xuất hiện sau L Nếu bạn quen thuộc với các ký tự thay thế

(wildcard) của DOS, dấu phần trăm tương đương với dấu sao

DOS

Bạn có thể sử dụng hai hạng mục ký tự thay thế khác trong

mẫu Một dấu underscore chỉ tượng trưng cho một ký tự: 'L_' sẽ

phủ hợp với Lu và Li chứ không phải Locksley Hạng mục sau cùng là một đặc tả dãy; nếu bạn muốn truy tìm các tên bắt đầu

với A đến D, bạn có thể xác định “au_Iname LIKE 'A-D]%”, trong đó biểu thức trong các dấu ngoặc biểu thị dãy của các giá

trị mà sẽ phù hợp trong vị trí này

Có quá nhiều toán tử đến nỗi không thể trình bày hết ở đây; những toán tử được liệt kê trong bảng 3.1 sẽ là những toán tử mà bạn sẽ sử dụng thường xuyên nhất và bạn nên sử dụng

chúng bây giờ Thử các query trên table authors néu ban muén

xem nhiều phần hơn về cách hoạt động của chúng

Cac phan noi hén trong

Sau cùng, bạn sẽ thấy các quan hệ một chiều được sử dụng trong một cơ sở dữ liệu Khi bạn truy tìm dữ liệu từ nhiều table

bằng cách sử dụng một quan hệ để liên kết dữ liệu, bạn yêu

cầu cơ sở dữ liệu nối các table dựa vào tiêu chuẩn mà bạn xác

Trang 35

38 Bài 3: Tìm kiếm thông tin trong cơ sở đữ Hiệu

nếu các phần tham chiếu được ấn định, nhưng đây không phải

la đặc tính chuẩn Trong SQL chuẩn, bạn bắt đầu chọn từ một table cơ sở, và sau đó liên kết các table b6 sung bằng cách sử

dụng mệnh đề JOIN của câu lệnh SELECT để thông báo cho

SQL Server biét cách liên kết các hàng từ những table

Ví dụ, giả sử bạn muốn truy tìm một danh sách các tác giả

có các tên bắt đầu với B và những cuốn sách mà họ đã viết Table cơ sở mà bạn sẽ sử dụng là table authors Bạn sẽ bắt đầu

query với các table authors và tittleauthor để bạn có một cảm

nhận về sự tinh chỉnh gia tăng cũng như học cách làm việc của phần nối

Tỉnh chỉnh gia tăng

Ky thuat bat dau mot query don giản và sau đó bổ sung vảo nó được gọi là sự tỉnh chỉnh gia tăng, Nó

là một phương pháp tốt hơn nhiều so với việc làm

cho một query phức tạp hoạt động trong một bước Sif tinh chính gia tăng giúp ban dé dang nhận được

cú pháp và kết quả mà bạn cần bằng cách xử lý

vấn để môi lắn một chút

Gõ nhập query sau đây:

SELECT au fname, au Iname, title_id FROM authors

INNER JOIN titleauthor ON authors, au_id = titleauthor.au_id

Trang 36

Bai 3: Tim kiém thong tin trong co sé dit liéu 39

Query nay tạo ra đữ liệu xuất sau đây:

au_fname au_lname title id

Abraham Bennet BU1032

Reginald Blotchet -Halls T04203

Nếu bạn xem dữ liệu trong hai table, bạn có thể xác minh

rằng ID tựa đề được trình bày là các ID trong titleauthor liên kết

với các tác giả, nghĩa là, trong đó khóa ngoại au_id trong titleauthor phù hợp với khóa chính au_¡d của tác giả trong au-

thors Phần nối bên trong chứa table titleautnor trong tập hợp kết quả (chú ý rằng cột title_¡d trong danh sách SELECT bắt nguồn từ table tittleauthor) và cho SQL Server biết rằng nó nên phù hợp với các hàng từ tittleauthor va authors bang cach so

sánh các giá trị au_id

Bởi vì các cột trong cả authors và tittleauthor được gọi là

au_id, chúng được nhận biết là authors.au_¡d và tittleauthor.au_ ¡d

Ký hiệu chấm này phân tích các phần khó hiểu của tên cho SQL Server bang cách xác định au_¡d nào mà bạn đang bàn về

Bây giờ nhớ sử dụng cú pháp tablename.columnname này khi có nhiều cột có cùng một tên trong các query của bạn

Query này được đề nghị hiển thị các tựa đề sách Do đó, nó cần nối với một table khac, tables Query sau đây được sử dụng

thành công:

SELECT au_fname, au_lname, title FROM authors

Trang 37

40 Bài 3: Tìm kiếm thông tin trong cơ sở dữ hiệu

Từ query này, sau cùng bạn sẽ nhận được dữ liệu mong muốn:

au_fname au_1name title

Abraham Bennet The Busy Executive's

Database

Reginald Blotchet-Hallgs Fifty Years in Buckingham

Palace

Cột title_ ¡d trong danh sách SELECT đã được thay đổi thành

tile (tên của trường từ table titles) Sau đó, một phần nối từ

tittleauthor được thêm vào table titles; phần nối gốc kết hợp các

tác giả với title_id nhưng phần nối mới nối kết qua title iđ với title

(tựa sách) trong titles

Cac phan ndi bén ngoai

Các ví dụ cho đến thời diém nay da sti dung INNER JOIN

để chỉ truy tìm các hàng có các khóa phù hợp Mặt khác, một

phần nối bên ngoài có thể chứa các hàng từ một table không có các hàng phù hợp trong một table khác Để chứng mình điều

này, bạn sẽ thay đổi query để truy †ìm tất cả tác giả có các tên

bắt đầu với G, và bất kỳ cuốn sách mà họ đã xuất bản Sử dụng

Trang 38

Bai 3: Tim kiếm thông tin trong cơ sử dữ liệu 41

SELECT au_fname, au_lname, title FROM authors

LEFT OUTER JOIN titleauthor

ON authors.au_id = titleauthor.au_id

LEFT OUTER JOIN titles

ON titleauthor.title_id = titles, title_aid

WHERE au_lname LIKE 'G%'

au_ fname au_1name title

Marjorie Green The Busy Executive's Oatabase

Guide

Marjorie Green You Can Combat Computer Stresst

Morningstar Greene (ñU11)

Burt Gringlesby Sushi, Anyone?

LEFT OUTER JOIN thay cho INNER JOIN yéu cau SQL

Server đưa vào tất cả cột trong table bên trái ngay cả nếu không có một phần phù hợp trong table bên phải Trong phần nối thứ nhất, các hàng được đặt trong table author không phù hợp với các hàng trong tittleauthor; phần nối thứ hai phải là phần nối

bên ngoài hoặc SQL Server sẽ loại bỏ các tác giả không có các

tựa sách để không phù hợp với bất kỳ hàng trong table titles

Với query này, bạn sẽ thấy tên của Morningstar Greene, mặc

dù tác giả này đã không xuất bản bất kỳ cuốn sách nào (Bạn có

thay (null) trong cột title hay không?)

TRANSACT SOL VOL ANSI SOL 92

Trang 39

42 Bài 3: Tìm kiếm thông tìn trong cơ sở dữ liệu

cùng, nhưng một sự cố nảy sinh khi nó được phát triển Các phần tham khảo và các phần trợ giáo cho SQL Server có thể sử

dụng các phương ngữ cũ hơn của SQL, do dé query ANS! SQL

mà bạn đã sử dụng trong ví dụ trước

SELECT au fname, sau 1name, title_ 1đ

FROM authors

INNEA JOIN titleauthor ON authors.av_id = titleauthor.au_id

WHERE au_lname LIKE 'L%'

có thể được trình bày trong một phần tham kháo khác dưới

dạng

SELECT au_fname, au_lname, title_id

FROM authors, titleauthor

WHERE authors.au_id = titleauthor.au_id

ANO au_lname LIKE ‘L%'

Cú pháp này kết hợp biểu thức nối với tiêu chuẩn được sử

dụng để nhận biết các hàng nào mà bạn muốn truy tìm SQL Server sử dụng cả hai form, nhưng bạn nên sử dụng cú pháp

ANSI JOIN, nếu chỉ bởi vì nó rõ ràng hơn, bằng cách nhận biết

các phần nối riêng biệt với tiêu chuẩn chọn

Có các điểm khác biệt giữa Transact SQL và ANSI

TÓM tược

Trong bài này, bạn đã học về cú pháp: chọn (SELECT) dữ

liệu từ cơ sở dữ liệu, các phần phủ hợp ký tự thay thế và các biểu thức logic, các phần nối và sự tinh chỉnh gia tăng như là một công cụ để tạo các query

Nhiều khái niệm được thảo luận trong bài này sẽ được sử dụng lại và được củng cố lại trong các bài tiếp theo bởi vì thông

Trang 40

Bai 3: Tim kiém thong tin trong co sé dit liéu 43

linh vuc khac cla SQL Server

Hãy nhớ

Để vấn tin nhiều table, bạn bắt đầu với một table, và sau đó bổ sung các table bằng cách nối chúng

is qua các quan hệ Các cột mà bạn truy tim trong

danh sách SELECT bắt nguồn từ bất kỳ trong các

tablc trong những thành phan FROM va JOIN, nhung

khi bạn gặp phải nhiều cột có cùng một tên, bạn

phải sử dụng cú pháp table.column có dấu chấm

Trong bài kế tiếp, bạn sẽ hoàn tất kiến thức của bạn về

SQL cơ bản bằng cách bổ sung, cập nhật, và xóa dữ liệu trong cơ sở đữ liệu Với kiến thức của bạn từ chương này, thì đây sẽ là

điều dễ dàng Sau đó, bạn sẽ cỏ thể chuyển sang các bài học định hướng trình ứng dụng, trong đó bạn sẽ thấy cách bạn áp dụng kiến thức về cơ sở dữ liệu của bạn vào thực tế bằng cách sử dụng dữ liệu từ cơ sở dữ liệu pubs trong cac trình ứng dụng

Ngày đăng: 30/03/2014, 01:20

TỪ KHÓA LIÊN QUAN