Đang tải... (xem toàn văn)
Tạo bảng và sử dụng các kiểu dữ liệu
Session 11Tạo bảng và sử dụng các kiểu dữ liệu RDBMS and Data Management/Session 11/2 of 40Tổng quanKết quả của câu lệnh SELECT được gọi là tập kết quảSau câu lệnh SELECT là danh sách các cột được sử dụng trong câu truy vấnDấu (*) được dùng để hiển thị tất cả các cột trong bảngMệnh đề AS đưa ra kết quả của một cột biết trướcĐiều kiện Boolean được sử dụng với mệnh đề Where để kiểm tra điều kiện của các hàngCác toán tử như CUBE và ROLLUP được sử dụng với mệnh đề GROUP BY để tóm tắt dữ liệuMệnh đề ORDER BY chỉ các yêu cầu mà ở đó các cột nên được lưu trữ trong tập kết quả RDBMS and Data Management/Session 11/3 of 40Mục tiêu của bài họcĐịnh nghĩa các kiểu dữ liệu và danh sách các chỉ mục trong SQL Server 2005Mô tả cách tạo, hiệu chỉnh và xóa bảng trong cơ sở dữ liệu SQL ServerMô tả cách thêm, hiệu chỉnh và xóa các cột cũng như các ràng buộc trong bảngMô tả cách làm việc với các typed và untyped XMLGiải thích cách tạo, sử dụng và xem các giản đồ XMLGiải thích cách sử dụng XQuery để truy cập dữ liệu XML RDBMS and Data Management/Session 11/4 of 40Các kiểu dữ liệuKiểu dữ liệu là một thuộc tính, nó chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượng Các kiểu dữ liệu ép buộc dữ liệu phải toàn vẹn SQL Server 2005 hỗ trợ 3 kiểu dữ liệu:Kiểu dữ liệu hệ thống : được cung cấp bởi SQL Server 2005Kiểu dữ liệu người dùng : Là kiểu dữ liệu được tạo ra dựa trên kiểu dữ liệu hệ thốngKiểu dữ liệu được định nghĩa trong ngôn ngữ lập trình : Là các kiểu dữ liệu được tạo ra bằng cách sử dụng ngôn ngữ lập trình, chúng được hỗ trợ trong .Net Framework RDBMS and Data Management/Session 11/5 of 40Các kiểu dữ liệu hệ thống (1-4)MụcKiểu dữ liệu Mô tảExact Numbers int Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 4 byte trong bộ nhớ máy tính. Nó thường được sử dụng để lưu trữ giá trị số nguyên smallint Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 2 byte trong bộ nhớ máy tính. Nó có thể lưu trữ các số nguyên từ -32768 đến 32767. tinyint Một cột của kiểu này chiếm 1 byte trong bộ nhớ. Có giá trị từ 0 đến 255 bigint Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Nó có thể lưu trữ các số nguyên từ -2^63 (-9223372036854775807) đến 2^63-1 numeric Một cột được khai báo kiểu dữ liệu này sẽ có độ chính xác cao và có thể co dãn kích thước lưu trữ trong bộ nhớ. money Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Biểu diễn giá trị dữ liệu tiền tệ từ (-2^63/10000) đến (2^63-1). RDBMS and Data Management/Session 11/6 of 40Các kiểu dữ liệu hệ thống (2-4)Mục Kiểu dữ liệu Mô tảApproximate numerics floatMột cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Biễu diễn các số chấm động từ -1.79E+308 đến 1.79E+308. realMột cột được khai báo kiểu dữ liệu này sẽ sử dụng 4 byte trong bộ nhớ máy tính. Biễu diễn các số chấm động có độ chính xác từ -3.4E+38 đến 3.40E+38. Date and time datetimeBiễu diễn ngày và giờ. Được lưu trữ như là 2 số integer, chiếm 8 byte. smalldatetimeBiểu diễn ngày và time. RDBMS and Data Management/Session 11/7 of 40Các kiểu dữ liệu hệ thống (3-4)Mục Kiểu dữ liệu Mô tảCharacter String charLưu trữ dữ liệu kí tự, nó được cố định kích thước và không hỗ trợ Unicode. varcharLưu trữ dữ liệu kí tự, độ dài có thể thay đổi và không hỗ trợ Unicode. textLưu trữ dữ liệu kí tự, độ dài có thể thay đổi và không hỗ trợ Unicode. Unicode Typesnchar Lưu trữ dữ liệu kí tự, nó được cố định kích thước và có hỗ trợ Unicode. nvarcharLưu trữ dữ liệu kí tự, độ dài có thể thay đổi và có hỗ trợ Unicode. RDBMS and Data Management/Session 11/8 of 40Các kiểu dữ liệu hệ thống (4-4)Mục Kiểu dữ liệu Mô tảCác kiểu dữ liệu khácTimestampMột cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Nó chứa các số binary tự động phát sinh (mỗi hàng là một số duy nhất). binary(n)Lưu trữ dữ liệu binary có độ đài cố định với độ dài tối đa là 8000byte. varbinary(n)Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài tối đa là 8000byte. .image Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài tối đa là (2^30-1) byte.uniqueidentifierMột cột được khai báo kiểu dữ liệu này sẽ sử dụng 16 byte trong bộ nhớ máy tính. Ngoài ra nó lưu trữ một GUID (Globally Unique Identifier) RDBMS and Data Management/Session 11/9 of 40Kiểu dữ liệu người dùng (1-2)CREATE TYPE [ schema_name. ] type_name {FROM base_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] } [ ; ]Cú pháp:where,schema_name là tên của giản đồ mà kiểu dữ liệu người dùng đang được tạo ra type_name là tên kiểu dữ liệu người dùng base_type là tên của kiểu dữ liệu hệ thống cơ sởprecision and scale -Chỉ ra độ chính xác và độ co dãn đối với kiểu dữ liệu numericNULL | NOT NULL - qui định kiểu dữ liệu có cho phép chứa giá trị null hay khôngKiểu dữ liệu người dùng được dựa trên các kiểu dữ liệu được hệ thống cung cấp.Chúng có thể được tạo bằng cách sử dụng câu lệnh CREATE TYPE RDBMS and Data Management/Session 11/10 of 40Kiểu dữ liệu người dùng (2-2)CREATE TYPE usertype FROM varchar(20) NOT NULLVí dụ:Kết quả: [...]... báo kiểu dữ liệu này sẽ sử dụng 16 byte trong bộ nhớ máy tính. Ngồi ra nó lưu trữ một GUID (Globally Unique Identifier) RDBMS and Data Management/Session 11/4 of 40 Các kiểu dữ liệu Kiểu dữ liệu là một thuộc tính, nó chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượng Các kiểu dữ liệu ép buộc dữ liệu phải toàn vẹn SQL Server 2005 hỗ trợ 3 kiểu dữ liệu: Kiểu dữ liệu. .. Server 2005 Kiểu dữ liệu người dùng : Là kiểu dữ liệu được tạo ra dựa trên kiểu dữ liệu hệ thống Kiểu dữ liệu được định nghĩa trong ngơn ngữ lập trình : Là các kiểu dữ liệu được tạo ra bằng cách sử dụng ngôn ngữ lập trình, chúng được hỗ trợ trong .Net Framework RDBMS and Data Management/Session 11/25 of 40 Ràng buộc kiểm tra Ràng buộc kiểm tra giới hạn giá trị có thể được nhập vào trong cột... kiểu dữ liệu người dùng base_type là tên của kiểu dữ liệu hệ thống cơ sở precision and scale -Chỉ ra độ chính xác và độ co dãn đối với kiểu dữ liệu numeric NULL | NOT NULL - qui định kiểu dữ liệu có cho phép chứa giá trị null hay không Kiểu dữ liệu người dùng được dựa trên các kiểu dữ liệu được hệ thống cung cấp.Chúng có thể được tạo bằng cách sử dụng câu lệnh CREATE TYPE RDBMS and Data Management/Session... 11/7 of 40 Các kiểu dữ liệu hệ thống (3-4) Mục Kiểu dữ liệu Mô tả Character String char Lưu trữ dữ liệu kí tự, nó được cố định kích thước và không hỗ trợ Unicode. varchar Lưu trữ dữ liệu kí tự, độ dài có thể thay đổi và khơng hỗ trợ Unicode. text Lưu trữ dữ liệu kí tự, độ dài có thể thay đổi và khơng hỗ trợ Unicode. Unicode Types nchar Lưu trữ dữ liệu kí tự, nó được cố định kích thước và có hỗ... đây, dữ liệu có thể được xác định tính hợp lệ trong khi nó được lưu trữ vào trong cột dữ liệu XML Một thể hiện XML không được phân loại (Untyped XML) khơng có sự kết hợp với một lược đồ XML. SQL Server không thực hiện việc kiểm tra tính hợp lệ của dữ liệu nhập vào trong cột RDBMS and Data Management/Session 11/8 of 40 Các kiểu dữ liệu hệ thống (4-4) Mục Kiểu dữ liệu Mô tả Các kiểu dữ liệu khác Timestamp Một... được tạo ra cho mỗi bảng chứa các giá trị, các giá trị đó là duy nhất trong tất cả các máy tính trong mạng Chỉ có một cột là cột nhận dạng duy nhất tổng thể trong mỗi bảng Để tạo và làm việc với cột nhận dạng duy nhất tổng thể, chúng ta phải sử dụng kết hợp từ khóa ROWGUIDCOL, kiểu dữ liệu uniqueidentifier và hàm NEWID RDBMS and Data Management/Session 11/29 of 40 Xoá cột trong bảng ALTER... dụ: Cú pháp để thêm một khóa chính trong khi tạo bảng: INSERT INTO Person.ContactPhone VALUES (101,983345674,’Hutch’, NULL) GO INSERT INTO Person.ContactPhone VALUES(101,989010002,’Airtel’, NULL) GO Ví dụ: RDBMS and Data Management/Session 11/33 of 40 XML định kiểu và khơng định kiểu Có hai cách lưu trữ dữ liệu XML trong các cột kiểu dữ liệu XML và các biến: Được phân loại-Typed Không phân... xml(CricketSchemaCollection) SET @team = ‘<MatchDetails><Team country=”Australia”></Team></MatchDetails>’ SELECT @team Ví dụ: Session 11 Tạo bảng và sử dụng các kiểu dữ liệu RDBMS and Data Management/Session 11/10 of 40 Kiểu dữ liệu người dùng (2-2) CREATE TYPE usertype FROM varchar(20) NOT NULL Ví dụ: Kết quả: RDBMS and Data Management/Session 11/34 of 40 Giản đồ XML CREATE XML... một bảng có một cột IDENTITY Hàm COLUMNPROPERTY Tìm tên của cột IDENTITY trong một bảng RDBMS and Data Management/Session 11/9 of 40 Kiểu dữ liệu người dùng (1-2) CREATE TYPE [ schema_name. ] type_name {FROM base_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] } [ ; ] Cú pháp: where, schema_name là tên của giản đồ mà kiểu dữ liệu người dùng đang được tạo ra type_name là tên kiểu dữ liệu. .. liệu khác Timestamp Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Nó chứa các số binary tự động phát sinh (mỗi hàng là một số duy nhất). binary(n) Lưu trữ dữ liệu binary có độ đài cố định với độ dài tối đa là 8000byte. varbinary(n) Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài tối đa là 8000byte. . image Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài . của dữ liệu và dung lượng có thể lưu trữ của một đối tượng Các kiểu dữ liệu ép buộc dữ liệu phải toàn vẹn SQL Server 2005 hỗ trợ 3 kiểu dữ liệu: Kiểu dữ. liệu: Kiểu dữ liệu hệ thống : được cung cấp bởi SQL Server 2005 Kiểu dữ liệu người dùng : Là kiểu dữ liệu được tạo ra dựa trên kiểu dữ liệu hệ thống Kiểu dữ liệu