intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sách bài tập SQL 2005 1

Chia sẻ: Dangerous Zone | Ngày: | Loại File: PDF | Số trang:24

616
lượt xem
257
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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. 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,...

Chủ đề:
Lưu

Nội dung Text: Sách bài tập SQL 2005 1

  1. tinyint char 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ộ varchar integrity Data nchar integrity Entity nvarchar Bài tập SQL 2005 1 Referential integrity text Domain integrity ntext User-defined integrity image Order Data Type - timestamp - bit - table - sql_variant - uniqueidentifier(GUID) Binary Monetary Numberic Interger Text Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 1 of 24 35/115 Phố Định Công – Hoàng Mai
  2. 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ộ Lời giới thiệu Sách bài tập do tập thể giáo viên AiTi-Aptech thiết kế và được sử dụng như một phần không thể tách rời khỏi giáo trình đang học của Aptech Ấn Độ với các học viên đang theo học tại Trung tâm. Tập sách bài tập này là tài liệu lưu hành nội bộ, chỉ dành cho các học viên theo học tại Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech. Mọi hình thức sao chép lại nội dung của sách là vi phạm bản quyền và không tuân thủ Luật Sở hữu trí tuệ của Nhà nước Việt Nam. AiTi-Aptech luôn mong mỏi tạo dựng một môi trường học tập tốt cho các bạn học viên theo học tại trung tâm. Mọi ý kiến đóng góp về xây dựng Sách bài tập, cải tiến hệ thống xin gửi mail về contact.aiti@gmail.com hoặc đường dây nóng (04) 6 64 8848. Chúng tôi sẽ ghi nhận và cải tiến để có thể cung cấp cho các bạn một môi trường học tập ngày một tốt hơn. “Sự nghiệp tương lai của các bạn là thành công của chúng tôi” Đội thiết kế Sách bài tập Việt Nam luôn thiếu Lập trình viên đẳng cấp Quốc tế Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 3 of 24 35/115 Phố Định Công – Hoàng Mai
  3. Contents Chương 1 : Giới thiệu hệ quản trị Cơ sở dữ liệu (CSDL) ..........................................................................................3 Chương 2 : Tổng quan về SQL Server 2005..............................................................................................................4 Chương 3 : Bảng và các kiểu dữ liệu......................................................................................................................12 Chương 1 : Giới thiệu hệ quản trị Cơ sở dữ liệu (CSDL) Tóm tắt những nội dung cần ghi nhớ trong chương: 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) …
  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ệ - (?) Thực hiện so sánh ưu nhược điểm trong việc tổ chức và lưu trữ dữ liệu cũng như truy vấn dữ liệu từ các mô hình trên. 5. Hệ quản trị CSDL Quan hệ 1. Khái niệm: từ khái niệm Hệ quản trị CSDL ta có thể dễ dàng định nghịa khái niệm Hệ quản trị CSDL Quan hệ (RDBMS) là Hệ quản trị CSDL theo mô hình dữ liệu quan hệ. 2. (?) Các khái niệm trong Hệ quản trị CSDL Quan hệ: 1) Dữ liệu được biểu diễn dưới dạng một tập các… 2) Mỗi quan hệ được biểu diễn dưới dạng… 3) Các cột dữ liệu trong bảng là các… 4) Mỗi dòng dữ liệu biểu diễn thông tin của một… 5) Mỗi bảng dữ liệu có một tập các thuộc tính được gọi là … cho phép biểu diễn một Thực thể duy nhất. Bài tập: 1) Viết một chương trình C cho phép lưu dữ liệu của 2 bảng Table 1.8 và Table 1.11 trong trang 18 và 19 của sách vào trong file phẳng. a. Viết hàm lấy thông tin khách hàng theo số điện thoại, ví dụ nhập liệu: 0241 chương trình hiển thị thông tin 2 khách hàng là Ryan và Bruce. b. Viết hàm hiển thị danh sách khách hàng và số lượng đơn hàng mà khách hàng đặt. 2) Hãy liệt kê những câu hỏi truy vấn về những thông tin mà bạn có thể thu được từ Table 1.8 và Table 1.11 như “Khách hàng đặt nhiều đơn hàng nhất?”, “Từ ngày 01/08/06 đến 20/08/06 có bao Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 5 of 24 35/115 Phố Định Công – Hoàng Mai
  5. nhiêu đơn hàng?” v.v.. rồi thử trao đổi với các bạn của bạn về những câu hỏi này, cùng nhau xác định xem cần viết bao nhiêu hàm trong chương trình C để trả lời các câu hỏi này. Chương 2 : Tổng quan về SQL Server 2005 A. Tóm tắt nội dung cần ghi nhớ 1. Giới thiệu: SQL Server 2005 là một Hệ Quản lý Cơ Sở Dữ Liệu (CSDL) Quan hệ. Nó cũng được coi là một nền tảng dữ liệu ở cấp độ doanh nghiệp. 2. SQL Server 2005 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:
  6. 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. - Data Services: trực tiếp thao tác và lưu trữ dữ liệu. Bốn chức năng chính thuộc lớp này là: lấy dữ liệu, chèn thêm dữ liệu, cập nhật và xóa dữ liệu. b. Các mô hình phân lớp: Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 7 of 24 35/115 Phố Định Công – Hoàng Mai
  7. - Mô hình 2 lớp: gồm 2 lớp Data Presentation và Data Services - Mô hình 3 lớp: gồm 3 lớp Data Presentation, Application Logic và Data Services. 5. Các CSDL hệ thống: - master: lưu trữ tất cả thông tin hệ thống cho một instance của SQL Server. - msdb: được chương trình SQL Server Agent dùng để hẹn giờ thông báo hay thực hiện tác vụ. - model: dùng làm mẫu để tạo CSDL mới. - Resource: chứa các đối tượng hệ thống có trong SQL Server 2005. - tempdb: dùng để chứa các dữ liệu tạm. 6. File và Filegroup: Có 3 kiểu file cơ bản trong SQL Server 2005: - File dữ liệu chính: .mdf - Các file dữ liệu phụ: .ndf - File log: .ldf Filegroup là một nhóm các file chứa dữ liệu và không bao gồm file log. 7. Kiến trúc CSDL a. Các thành phần logic: - Các đối tượng trong CSDL: bảng, kiểu dữ liệu, ràng buộc,… - Thông tin đăng nhập, phân nhóm, phân quyền: login, user, role, group. Có 2 cách xác thực: dùng user của Windows và dùng user của SQL Server.
  8. 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ộ b. Kiến trúc vật lý: - Page và Extent: 1 page chiếm 8KB bộ nhớ, 1 extent bằng 8 page. - File và Filegroup. - Việc ghi log các giao dịch cho phép khôi phục CSDL về trạng thái trước khi có thay đổ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
  9. - 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). - Tạo query mới. Sử dụng Query Designer, từ CSDL AdventureWorks, thêm 2 bảng Employee và Contact. Lấy dữ liệu về họ tên (FirstName, LastName, MiddleName), ngày sinh, giới tính, tình trạng hôn nhân, chức vụ của các nhân viên.
  10. 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ộ V. Transact-SQL Language A. Tóm tắt nội dung cần ghi nhớ 1. Giới thiệu: Ngôn ngữ truy vấn có cấu trúc (Structured Query Language – SQL) là ngôn ngữ phổ biến dành cho CSDL. Dựa trên chuẩn SQL của Hiệp hội Tiêu chuẩn Quốc tế (ISO) và Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI), tập đoàn Microsoft đã phát triển một ngôn ngữ mới, đó là Transact-SQL (T-SQL). 2. Ngôn ngữ T-SQL a. Biến: - Biến cục bộ: (?) Nêu cách khai báo và gán giá trị cho biến cục bộ. - Biến toàn cục: @@VERSION, @@LANGUAGE, @@SERVERNAME,… b. Kiểu dữ liệu: - Những đối tượng được định kiểu là: các cột trong bảng, tham số, biến. - Các kiểu dữ liệu thường dùng: int, bigint, nvarchar, ntext, datetime, smalldatetime, decimal, image. c. Ghi chú: -- Đây là một dòng ghi chú /* Đây là một đoạn ghi chú nằm trên nhiều dòng */ 3. Hàm và biểu thức trong T-SQL Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 11 of 24 35/115 Phố Định Công – Hoàng Mai
  11. a. Các hàm: - Hàm gộp: SUM (tính tổng), AVG (giá trị trung bình), COUNT (đếm), MAX (tìm giá trị lớn nhất), MIN (tìm giá trị nhỏ nhất). - Hàm chuyển đổi: CONVERT (chuyển kiểu dữ liệu của một giá trị). - 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 ( , ,…) CREATE TABLE Contacts (MailID varchar(20) PRIMARY KEY, Name text NOT NULL, TelephoneNumber int) b. Sửa bảng: ALTER TABLE
  12. 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 [ALTER COLUMN ] | [ADD ] | [DROP COLUMN c. Xóa bảng: DROP TABLE DROP TABLE 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: - Biểu thức bảng thông thường (Common Table Expression - CTE) WITH () AS (SELECT FROM ) - Mệnh đề .WRITE: thay đổi một phần giá trị của một biểu thức. 6. Ngôn ngữ điều khiển dữ liệu Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 13 of 24 35/115 Phố Định Công – Hoàng Mai
  13. Ngôn ngữ điều khiển dữ liệu (Data Control Language – DCL) sử dụng các lệnh GRANT, REVOKE, DENY để phân quyền và hủy quyền truy cập, sửa đổi các đối tượng trong CSDL. 7. Thực thi câu lệnh T-SQL Có thể thực thi: - Từng lệnh riêng lẻ. - Một khối lệnh. - Cả file kịch bản (thường có đuôi .sql). 8. T-SQL nâng cao - Mệnh đề TOP: quyết định số dòng trả về của tập kết quả. - Mệnh đề TABLESAMPLE: giới hạn số dòng trả về của tập kết quả. - Mệnh đề OUTPUT: cho thông tin về sự thay đổi của các dòng bởi lệnh INSERT, UPDATE hoặc DELETE. - Toán tử PIVOT: Gộp một số giá trị trong bảng rồi chuyển dòng thành cột. - Toán tử UNPIVOT: Lấy các cột trong bảng rồi chuyển thành các dòng. B. Bài tập Trong CSDL AdventureWorks: - Hiển thị tổng số nhân viên nữ trong bảng HumanResources.Employee. - Hiển thị 15% số dòng của bảng Person.Contact.
  14. 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ộ - Tạo bảng Item theo cấu trúc sau: Tên cột Kiểu dữ liệu Kích thước ItemID Int 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
  15. - Đó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ữ liệu. Dữ liệu nhập vào có thể chấp nhận hoặc từ chối tùy thuộc vào nguyên tắc ràng buộc dữ liệu hoặc loại dữ liệu tương thích do hệ thống hay người dùng định nghĩa. Khi thiết kế cơ sở dữ liệu nên đặt tên bảng đúng chuẩn, điều này giúp cho việc lập trình theo nhóm ,hay làm việc trong các công ty chuyên nghiệp, bạn nên sử dụng tiếp đầu ngữ ‘tbl’ trước, kế đến là tên bảng VD: tblEmployee, tblCustomer, tblOrders… Khi định nghĩa bảng số liệu, bạn cần quan tâm đến các yếu tố sau:  Key: Trường đó có Khóa hay không (Primary key)  ID: Trường có thuộc tính Indentity hay không  Column name: Tên của trường (cột)  Data Type: Loại dữ liệu cho trường tương ứng  Size: Kích thước trường dữ liệu  Allow null: Cho phép giá trị rỗng lưu trong trường hay không  Default: Giá trị mặc nhiên cho trường  Identity: Nếu bạn cần sử dụng một trường có giá trị tự động như Autonumber trong Access, trường này Not Null và Identity:Yes  Identity Seed: Nếu trường (cột) này là Identity , cần số bắt đầu số 1 hoặc 2…  Identity Increament: Số nhảy cho mỗi lần tăng 1) Tạo bảng- Create table: Tên bảng nên đặt ngắn gọn và dễ hiểu, không có khoảng trắng, không trùng với những từ dành riêng, có ý nghĩa để khi đồng nghiệp của bạn cùng phát triển ứng dụng sẽ dễ dàng hiểu được
  16. 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ộ Cú pháp đầy đủ phát biểu tạo bảng như sau: CREATE TABLE ( ) Example: CREATE TABLE tblEmployee ( Type_emp nvarchar(2), Name_emp nvarchar(20) ) 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
  17. Để 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 Một số bảng có sự thay đổi về lượng và chất của dữ liệu phải theo một qui luật nhất định nào đó nhằm bảo toàn được tính ràng buộc trọn vẹn đối với dữ liệu đang tồn tại trong những bảng có quan hệ với nhau. Mỗi khi các hành động làm thay đỏi dữ liệu xảy ra, quá trình kiểm tra các ràng buộc được thực hiện như là một phương thức để rà soát lại tất cả các điều kiện và các qui luật khi thiết lập cơ sở dữ liệu Nếu một dữ liệu thêm vào hoặc xóa đi hay cập nhật không thỏa mãn điều kiện hoặc qui luật đã định, tùy vào nhóm phân lỗi mà SQL phát sinh ngoại lệ (exception) nhằm thông báo cho người dùng biết rằng dữ liệu đưa vào không hợp lệ,dữ liệu khi đó sẽ không được phép cập nhật và thay đổi trong cơ sở dữ liệu. Data integrity có thể phân loại thành bốn loại sau: 1. Domain integrity: Domain integrity liên quan đến nhiều cột.Ứng với mỗi cột có một qui luật hay tiêu chuẩn.Khi bạn thêm hay cập nhật mẩu tin ràng buộc này kiểm tra mà không cần xét đến sự liên quan đến các mẩu tin trong bảng 2. Entitty integrity: Entity integrity liên quan đến các mẩu tin, ràng buộc này không quan tâm đến cột trong mẩu tin, kiểm tra số liệu có đúng tiêu chuẩn hay không 3. Referential integrity: Referential integrity kiểm tra giá trị của cột có phù hợp với cột trong bảng khác quan hệ với bảng hiện chứa ràng buộc hay không.
  18. 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ộ 4. User-defined integrity Đây là kiểu toàn vẹn dữ liệu do người dùng tự tạo ra để kiểm tra tính toàn vẹn dữ liệu trong cơ sở dữ liệu. Dưới đây là danh sách chi tiết các dàng buộc cụ thể của từng loại: Integrity type SQL Server Tools Entity Integrity 1. Dàng buộc khóa chính- Primary Key Constraints 2. Dàng buộc duy nhất – UNIQUE Constraints 3. Dàng buộc đồng nhất – IDENTITY columns 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
  19. 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 primary key có null hay trùng lắp giá trị không.nếu null hay trùng lắp SQL server 2000 sẽ trả về một lỗi  Tạo khóa chính trong bảng: Systax: CREATE TABLE Table_Name ( Column_definition PRIMARY KEY) Example: CREATE TABLE Reservation ( PNR_no int PRIMARY KEY ) Hoặc sau khi bạn tạo xong bảng dữ liệu: ALTER TABLE Table_name ADD CONSTRAINT PRIMARY KEY (column_name) Example: ALTER TABLE Rerservation ADD CONSTRAINT PK_const PRIMARY KEY (PNR_no)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2