sách bài tập sql 2005 1 - Pdf 16

Bài tập SQL 2005 1
SQL Server 2000 Data Type
Money
smallmoney
binary
varbinary
numeric
decimal
float
int
smallint
tinyint
char
varchar
nchar
nvarchar
text
ntext
image
Order Data Type
- timestamp
- bit
- table
- sql_variant
- uniqueidentifier(GUID)
Binary
Monetary
Numberic
Interger
Text
Data integrity

1. Khái niệm: Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan, được lưu trữ có tổ chức theo
dạng bảng nhằm giảm việc lưu dưa thừa dữ liệu và được lưu trữ lại để sử dụng khi cần thiết.
2. Phương pháp tiếp cận Quản lý dữ liệu
- Hệ thống file
- Ưu điểm chính: đơn giản, thuận tiện, hệ thống nào cũng hỗ trợ
- Nhược điểm chính: Dư thừa dữ liệu, dữ liệu không nhất quán, khó khăn trong truy vấn dữ
liệu.
- Hệ thống CSDL
- Ưu điểm: dữ liệu nhất quán, không dư thừa, có khả năng chia sẻ dữ liệu cao, dễ dàng truy
vấn dữ liệu và tính bảo mật cao.
- Nhược điểm: chi phí cao, tốn dung lượng nhớ, các thao tác bảo trì, tối ưu dữ liệu khó
khăn.
3. Hệ quản trị CSDL
1. Khái niệm: CSDL là một tập các dữ liệu có liên quan với nhau còn Hệ quản trị CSDL là một
tập các chương trình được dùng để thêm, sửa, xóa các dữ liệu trong CSDL.
2. (?) Liệt kê những lợi ích của Hệ quản trị CSDL
1) …
2) …
3) …
4) …
Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
5) …
6) …
7) …
8) …
4. Các mô hình dữ liệu
- Mô hình File phẳng
- Mô hình Phân cấp
- Mô hình Mạng
- Mô hình Quan hệ

a. Các tính năng:
(?) Cho biết các tính năng cơ bản của SQL Server 2005.
Các tính năng mới của SQL Server 2005 bao gồm:
-Notification Services: cho phép gửi thông báo khi có một sự kiện xảy ra trong
CSDL.
-Reporting Services: dịch vụ báo cáo về các sự kiện xảy ra trên hệ thống CSDL.
-Service Broker: công nghệ này dựa trên kiến trúc hướng dịch vụ (Service Oriented
Architecture - SOA). Nó cung cấp phương thức liên lạc chắc chắn và bảo mật giữa
các CSDL với nhau.
-Engine CSDL nâng cao: cải tiến ngôn ngữ Transact-SQL, thêm tính năng mới XML,
thêm kiểu dữ liệu mới,…
b. Các phiên bản:
Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
SQL Server chia thành nhiều phiên bản tùy theo nhu cầu sử dụng:
-Bản Enterprise với đầy đủ tính năng, phục vụ những ứng dụng cỡ lớn.
-Bản Standard dành cho doanh nghiệp vừa và nhỏ.
-Bản Workgroup dành cho nhóm làm việc và tổ chức nhỏ.
-Bản Developer dành cho người phát triển và kiểm thử ứng dụng.
-Bản Express là bản miễn phí, chỉ có các tính năng cơ bản nhất.
c. Ưu điểm:
-Nâng cao khả năng quản lý dữ liệu.
-Tăng năng suất và hiệu quả phát triển ứng dụng.
-Hỗ trợ nghiệp vụ thông minh và linh hoạt.
-Có các tính năng ưu việt, nổi trội.
3. Các thành phần của SQL Server 2005:
(?) Nêu các thành phần của SQL Server 2005.
4. Kiến trúc ứng dụng doanh nghiệp
a. Các lớp (layer):
-Data Presentation: nơi người dùng duyệt và truy cập dữ liệu.
-Application Logic: đặt ra các quy định và xử lý dữ liệu.

đổi.
8. Kiến trúc CSDL quan hệ
-Xử lý truy vấn.
-Kiến trúc bộ nhớ.
-Luồng và tác vụ.
-Nhập/Xuất.
-Phân phối truy vấn.
B. Bài tập
1. Cài đặt SQL Server 2005:
Dựa theo Phụ lục A (tr. 263), học viên cài SQL Server 2005 bản Enterprise lên máy của
mình.
Lưu ý:
-Ở Figure 11 (tr. 273), mở mục Documentation, Sample, and… rồi chọn cài đặt
CSDL AdventureWorks.
-Ở Figure 13 (tr. 275), chọn Use the built-in System account, chọn Local system.
2. Kết nối và thao tác:
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 9 of 24
35/115 Phố Định Công – Hoàng Mai
-Mở Microsoft SQL Server Management Studio.
-Kết nối đến instance của SQL Server 2005 bản Enterprise.
-Ngắt kết nối (disconnect) và kết nối lại.
-Đóng và mở lại các panel Object Explorer, Object Explorer Details.
-Duyệt cây thư mục trong Object Explorer, xem xét những thay đổi bên Object
Explorer Details. Cho biết tác dụng của các panel này?
-Mở SQL Server Books Online từ SQL Server Management Studio.
-Trong SQL Server Books Online, mở panel Index (nhấn nút Index trên thanh công
cụ). Tiếp đó tìm kiếm thông tin về “.mdf files”.
3. Truy vấn dữ liệu:
-Sử dụng Query Designer, từ CSDL AdventureWorks lấy dữ liệu về ngày sinh, giới
tính và tình trạng hôn nhân của các nhân viên (bảng HumanResources.Employee).

-Hàm ngày giờ: (?)Tìm ví dụ về cách sử dụng các hàm ngày giờ trên SQL Server
Books Online.
-Hàm toán học: phục vụ việc tính toán đại số.
-Hàm hệ thống: cung cấp thông tin về siêu dữ liệu và các cấu hình của hệ thống.
-Hàm xếp hạng: Đánh số dòng bắt đầu từ 1, 2, 3… trong tập hợp kết quả
(ROW_NUMBER); Trả về thứ hạng trong tập hợp kết quả (DENSE_RANK).
b. Biểu thức:
(?)Cho biết các dạng toán tử có thể sử dụng trong biểu thức.
4. Ngôn ngữ định nghĩa dữ liệu (Data Definition Language – DDL)
a. Tạo bảng:
CREATE TABLE <Tên_Bảng>
(<Tên_Cột1> <Kiểu_dữ_liệu>, <Tên_Cột2> <Kiểu_dữ_liệu>,…)
CREATE TABLE Contacts
(MailID varchar(20) PRIMARY KEY, Name text NOT NULL, TelephoneNumber int)
b. Sửa bảng: ALTER TABLE
Sách bài tập SQL 2005 1 AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
ALTER TABLE <Tên_Bảng>
[ALTER COLUMN <Tên_Cột> <Kiểu_dữ_liệu_mới>]
| [ADD <Tên_Cột> <Kiểu_dữ_liệu>]
| [DROP COLUMN <Tên_Cột>
c. Xóa bảng: DROP TABLE
DROP TABLE <Tên_Bảng>
5. Ngôn ngữ thao tác dữ liệu:
a. Cơ bản:
Ngôn ngữ thao tác dữ liệu (Data Manipulation Language – DML) sử dụng các lệnh
SELECT, INSERT, UPDATE, DELETE để thực hiện những thao tác tương ứng trên các
đối tượng tạo bởi DDL.
UPDATE Contacts
SET TelephoneNumber = 382915 WHERE Name = ‘John’
b. Nâng cao:

Name Nvarchar 200
StandardCost Decimal 18, 4
SellEndDate Datetime
-Lấy tất cả dữ liệu thỏa mãn điều kiện SellEndDate khác NULL từ bảng
Production.Product đưa vào bảng Item.
-Thêm cột Picture có kiểu dữ liệu Image vào bảng Item.
-Tăng StandardCost thêm 5% đối với các sản phẩm có tên là “Road-150 Red, 44”
trong bảng Item.
-Đổi kiểu dữ liệu của cột ItemID trong bảng Item thành Bigint.
-Hiển thị thông tin về tên và giá chuẩn của các sản phẩm có ItemID > 820 trong bảng
Item.
-Xóa cột Picture khỏi bảng Item.
-Xóa thông tin về các sản phẩm có tên là “HL Mountain Frame - Black, 48” trong
bảng Item.
-Hủy toàn bộ bảng Item.
-Tạo một file script ghi lại các thao tác đã thực hiện trong bài tập này. Đặt tên file là
“baitap05.sql”.
-Sử dụng các ghi chú để mô tả rõ ý nghĩa của từng dòng lệnh. VD:
Delete all records from table Item
DELETE FROM Item
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 15 of 24
35/115 Phố Định Công – Hoàng Mai
-Đóng file “baitap05.sql”. Mở lại file này, nhấn F5 để chạy toàn bộ các lệnh trong file.
Quan sát kết quả và nêu nhận xét.
Chương 3 : Bảng và các kiểu dữ liệu
I. Bảng – Table:
Trong cơ sở dữ liệu bảng là thành phần chính của chúng.Do bảng là đối tương lưu trữ dữ liệu thực , khi cần
giao tiếp với cơ sở dữ liệu khác, bảng là đối tượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúng được
coi như là một miền dữ liệu.
Mỗi bảng được định nghĩa nhiều trường,mỗi trường(field hay còn gọi là column name) ứng với một loại kiểu dữ

2) Tên cột – Column Name:
Đặt tên cột cũng giống như đặt tên bảng, có rất nhiều qui tắc đặt tên ( như đã trình bày ở phần table nhưng
khuyến khích bạn đặt tên theo một số qui tắc cơ bản sau:
 Tên cột bắt đầu bằng chữ hoa, còn lại bằng chữ thường
 Tên ngắn gọn và đầy đủ ý nghĩa
 Không nên đặt tên cột có khoảng trắng, sau này bạn sẽ gặp phiền toái khi tham chiếu đến trường đó
 Không nên đặt cột trùng với từ khóa, từ dành riêng và những ký tự đặc biệt như các phép toán hay toán tử
khác
3) Kiểu dữ liệu – Data Type:
Khi xây dựng cơ sở dữ liệu, tất cả các trường trong bảng cần phải có kiểu dữ liệu cụ thể.Vấn đề
quan trọng là việc chọn kiểu dữ liệu nào cho phù hợp với dữ liệu mà người dùng sẽ nhập vào.
Để thiết kế dữ liệu cho phù hợp với thực tế ngoài tính ứng dụng hợp với ngữ cảnh bạn cũng cần
quan tâm đến kiểu dữ liệu tương thích và chiều dài của từng cột
VD: [CustomerNo] [varchar] (10) NULL
Dưới đây là một số kiểu mà SQL 2000 hỗ trợ:
Trên thực tế, thông thường trong quá trình xử lý dữ liệu, một vài trường hợp khi cần trao đổi
thông tin nhưng có sự khác nhau về kiểu dữ liệu chúng ta cần có các hàm chuyển đổi qua lại các kiểu dữ
liệu
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 17 of 24
35/115 Phố Định Công – Hoàng Mai
Để làm được điều này chúng ta cần một số kiến thức về các hàm chuyển đổi của SQL Server. Tuy
nhiên cũng có một số kiểu dữ liệu không thể chuyển đổi được.
Ví dụ như binary không thể chuyển đổi sang dữ liệu số như float hay real. Nhưng bạn có thể chuyển đổi
float, real, decimal, numeric sang text hay ntext
4) Toàn vẹn dữ liệu – Data integrity:
Trong quá trình chạy ứng dụng thì việc toàn vẹn dữ liệu trong cơ sở dữ liệu là một điều rất quan trong.
SQL Server 2000 cung cấp một vài thuộc tính tối ưu trong phương thức ràng buộc dữ liệu khi xây dựng cơ sở
dữ liệu.
Constrains còn gọi là ràng buộc. Nó dùng để kiểm tra khi có sự biến đổi dữ liệu như thêm vào, xóa, cập
nhật từ bất kỳ nguồn nào khác nhau

Domain Integrity
1. Ràng buộc mặc nhiên - DEFAULT
definition
2. Ràng buộc khóa ngoại - FOREIGN
KEY constraint
3. Ràng buộc kiểm tra - CHECK
constraint
4. NOT NULL property
Referential Integrity
1. FOREIGN KEY constraint
2. CHECK constraint
User-defined Integrity
3. Rules
4. Stored Procedures
5. Triggers
5) Ràng buộc khóa chính – Promary Key constraints:
Primary key được chia làm hai kiểu:
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 19 of 24
35/115 Phố Định Công – Hoàng Mai
o Composite key
o Candidate key – Identifying the Primary Key
Primary key là cách duy nhất để nhận dạng một mẩu tin trong bảng dữ liệu nên chúng phải chứa duy nhất
một giá trị, không thể null, và tuân theo các ràng buộc với các bảng quan hệ khác. Khóa chính là nền tảng cho
ràng buộc Primary constraints. Khi dữ liệu thêm vào hay sửa đổi trên cột Primary key quá trình kiểm tra ràng
buộc Primary Key sẽ xảy ra.
Note:
o Một bảng có duy nhất một khóa chính
o Một khóa chính có thể chứa một hoặc nhiều trường
o Primary key không thể xóa nếu tồn tại một foreign key tới bảng khác
o Khi tạo primary key trong bảng mà đã chứa dữ liệu thì SQL server 2000 check xem dữ liệu trong cột cần

 Tạo Unique constraint:
CREATE TABLE Table_name
( <column_name> NOT NULL UNIQUE)
Nếu bảng đã tồn tại:
ALTER TABLE Table_name ADD CONSTRAINT UK_name UNIQUE(column_name)
Note:
o UNIQUE cho phép chứa giá trị null
o UNIQUE cũng có thể được coi là FOREIGN KEY
8) Identity property:
Một cách khác để bảo toàn dữ liệu thực thể là áp dụng thuộc tính identity cho cột.Thuộc tính này có thể
áp dụng cho các kiểu dữ liệu như decimal, int, smailint or numberic.Khi đó nó sẽ tạo giá trị duy nhất cho các
dòng dữ liệu trong bảng.
Syntax:
Column_name Data Type IDENTITY (seed,increment)
9) Ràng buộc kiểm tra – Check Constraint:
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 21 of 24
35/115 Phố Định Công – Hoàng Mai
Sự ràng buộc này rất thú vị. Thông thường khi nhập thêm mẩu tin hay cập nhật số liệu đôi khi do nhầm
lẫn trong thao tác nhập liệu, giá trị người dùng đưa vào không đúng như mong muốn ( tuy nguyên tắc cú pháp
thì phù hợp), cho nên giá trị đó vẫn tồn tại, mặc dù kết quả trả về không đúng
Để ngăn điều này xảy ra, chúng ta cần có ràng buộc CHECK. Mục đích của ràng buộc này là kiểm tra lại
các giá trị trong các cột ràng buộc có phù hợp hay không
VD:
ALTER TABLE tblSIM
ADD CONSTRAINT CN_tbnSIMInvoiceDate
CHECK (InvoiceDate<= getDate())
10) Ràng buộc mặc nhiên:
Ràng buộc này giúp giống như các ràng buộc khác, nó giúp cho định nghĩa của bảng có dữ liệu
phù hợp ngay cả khi không được người dùng nhập vào.
Khi các bạn thêm một mẩu tin vào nếu bạn đưa dữ liệu vào trường đó rỗng thì giá trị default sẽ

• Id : Khóa chính
• Type: khách thuộc loại nào ( Khóa phụ liên kết với bảng CustomerType)
• Name: tên của khách
• Gender: giới tính
• Phone
• Company
• BirthDay ( với điều kiện nhỏ hơn ngày hiện tại)
• Age
• DateCreate: Ngày tạo (mặc định là ngày hiện hành)
Accounts:
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 23 of 24
35/115 Phố Định Công – Hoàng Mai
• Cust_Id: khóa ngoại liên kết với bảng Customer
• Email: ( khóa chính )
• Password:
CustomerType:
• Name_Type: Tên kiểu ( Khóa chính)
• DiscountRate: phần trăm giảm giá cho khách hàng ( mặc định là 5)
• Describe: Mô tả
Sau khi tạo xong các bảng thực hiện thay đổi những
Thêm hai trường sau vào bảng Customers:
• Address
• Country
Xóa trường Age trong bảng Customers


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status