Bài giảng sql server 2005 chương 3 phạm mạnh cương

43 1 0
Bài giảng sql server 2005 chương 3   phạm mạnh cương

Đ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

Chương III TABLES Giảng viên: Phạm Mạnh Cương NỘI DUNG I. Các kiểu dữ liệu II. Các phép tốn III. Tạo Table trong một CSDL IV. Thay đổi cấu trúc và ràng buộc V. Xóa Table VI. Đổi tên Table VII.Mơ hình quan hệ dữ liệu I­ CÁC KiỂU DỮ LiỆU 1. Exact Numerics: Số Chính Xác 2. Approximate Numerics: Số gần đúng 3. Date and Time ­ Ngày giờ 4. Character strings ­ Chuỗi ký tự ASCII 5. Unicode character strings ­ Chuổi ký tự Unicode 6. Binary Strings ­ Chuỗi số nhị phân 7. Other Data Types 1­ Số Chính Xác ­ Exact Numerics • Bigint (8 bytes) giá trị từ ­ 263 đến 263­1 • Int :(4 bytes) giá trị từ ­ 231 đến 231 ­ 1 • SmallInt : (2 bytes) giá trị từ ­ 215 đến 215 ­ 1 • Tinyint : (1 byte) giá trị từ 0 đến 255 • Bit : có giá trị 0, 1 hoặc NULL • Decimal [ ( p [, s ]) ] – P (precision) có giá trị từ 1 đến 38, là tổng số chữ số tối đa bên phải và bên trái dấu  chấm thập phân. Mặc định là 18 – S (Scale) có giá trị từ 0 đến P, là số chữ số lẻ bên phải dấu chấm thập phân. Mặc  định bằng 0 • Numeric [ ( p [, s ] ) ]: tương tự Decimal • Money , SmallMoney 2­ Số gần đúng ­ Approximate Numerics a) Float [( n )] : • Miền giá trị tuyệt đối từ 2.23E­ 308 đến 1.79E +308 • n là số bít dùng lưu phần định trị, có giá trị từ 1 – 53, mặc định là 53 • Số byte lưu trữ phụ thuộc vào giá trị của n – Với n ˛ [1, 24]: 4 byte, vớ i độ chính xác là 7 chữ số thập phân – Với n ˛ [25, 53]: 8 byte, vớ i độ chính xác là 15 chữ số thập phân b) Real : 4 byte, Miền giá trị tuyệt đối 1.18E­ 38 đến 3.40E +38 3­ Ngày giờ ­ Date And Time a) DateTime : • Miền giá trị : từ 1­1­ 1753 đến 31­12­ 9999 b) SmallDateTime : • Miền giá trị: 1­1­ 1900 đến 6­6­ 2079 Chú .: Hằng ngày giờ bao trong dấu nháy đơn Ví dụ: ‘1998­01­20 23:59:59.997’ 4­ Chuỗi ký tự ­ Character Strings • Char [(n)] : độ dài cố định, tối đa là 8000 byte • Varchar [( n )]: độ dài khơng cố định, tối đa là 8000 byte • Varchar( max ) | Text: độ dài khơng cố định, tối đa là 231­1 byte 5­ Chuổi ký tự Unicode ­ Unicode Character Strings • nChar [( n )] : độ dài cố định, tối đa là 4000 ký tự • nVarchar[( n )] : độ dài khơng cố định, tối đa là 4000 ký tự • nVarchar(max) | nText : độ dài khơng cố định, tối đa là 2^31–1 byte Chú .: Hằng chuỗi Unicode bao trong dấu nháy đơn và phải bắt đầu bằng chữ N: N’sssss’ 6­ Dữ liệu nhị phân ­ Binary Strings • Binary [( n )] : độ dài cố định, n có tối đa 8000 bytes • Varbinary [( n )] : độ dài thay đổi, n có tối đa 8000 bytes • Varbinary( max ) | Image : độ dài thay đổi, lưu trong 2^31 – 1 bytes 7­ Other Data Types • Sql_Variant : dùng lưu giá trị của các kiểu dữ liệu khác trong SQL Server ngoại trừ các kiểu text, ntext, Image, timestamp, và  sql_variant • Timestamp : kiểu số (binary(8) hay varbinary(8)). Cột khai báo kiểu này sẽ  được tự động cập nhật với giá trị phân biệt mỗi khi thêm mẫu tin mới • UniqueIdentifier : 16 bytes GUID (Globally Unique Identifier). Nhận giá trị này  bằng hàm NewID() • XML : dùng lưu dữ liệu XML 10 1.1­ Đổi kiểu dữ liệu hoặc kích thước của cột Ví dụ: ALTER TABLE KhachHang ALTER COLUMN TenKH CHAR (40) NULL 29 1.2­ Thêm cột mới ALTER TABLE  ADD  [, ] CREATE TABLE NhanVien ( MaNV Int CONSTRAINT pk_NV Primary Key, TenNV VarChar(40) NOT NULL) GO ALTER TABLE NhanVien ADD NoiSinh Varchar(20) DEFAULT 'Đồng Nai', MaNVQL Int NULL Constraint fk_MaNV References NhanVien(MaNV) 30 Chú ý: khi thêm cột NOT NULL Trong trường hợp Table đã có dữ liệu, nếu bạn cần thêm cột với ràng buộc NOT NULL thì có thể thực hiện một trong 2 cách sau: • Cách 1: thực hiện qua 3 bước: (i) thêm cột với thuộc tính NULL, (ii) Điền đầy đủ các giá trị cho cột, (iii) Đổi lại thuộc tính của cột thành NOT NULL • Cách 2: Thêm cột mới có ràng buộc Default và thuộc tính WITH VALUES để điền tự động giá trị cho các dịng đang tồn tại trong bảng ALTER TABLE SanPham ADD SoTon Float NOT NULL CONSTRAINT df_ST DEFAULT WITH VALUES 31 3­ Xóa cột : ALTER TABLE DROP COLUMN ColName [, n] Ví dụ: ALTER TABLE SanPham DROP COLUMN SoTon Chú ý: Khơng thể xóa cột có ràng buộc CHECK, DEFAULT, FOREIGN KEY, UNIQUE, PRIMARY KEY 32 5­ Hủy bỏ RB khỏi bảng: ALTER TABLE table_name DROP CONSTRAINT Ví dụ: ALTER TABLE SanPham DROP CONSTRAINT df_ST 33 6­ Kích hoạt hay tạm ngưng kiểm tra  ràng buộc Foreign key và Check ALTER TABLE table_name {CHECK | NOCHECK} CONSTRAINT {ALL | tênRB [, n]} Ví dụ : Tạm ngưng kiểm tra ràng buộc ALTER TABLE SanPham NOCHECK CONSTRAINT chk_DonGia Kích hoạt kiểm tra constraint ALTER TABLE SanPham CHECK CONSTRAINT chk_DonGia 34 7­ Đổi tên cột : SP_RENAME 'TableName.OldName', 'NewName', 'COLUMN' Ví dụ: SP_RENAME 'SanPham.DonGia', 'DonGiaSP', 'COLUMN' 35 2­ Sử dụng Object Explorer 36 V­ XÓA TABLE : DROP TABLE [, …n] Chú ý: Khơng thể xóa Table cha tham chiếu Table khác 37 VI­ ĐỔI TÊN BẢNG: EXEC SP_RENAME 'OldName', 'NewName' Ví dụ: Đổi tên table NCC thành NhaCungCap EXEC sp_rename ‘NCC', ‘NhaCungCap' 38 VII­ MƠ HÌNH QUAN HỆ • Biểu diễn mối quan hệ dữ liệu giữa các bảng • Khai báo, hiệu chỉnh các ràng buộc khóa ngoại • Tạo, sửa và xóa cấu trúc bảng 39 1­ Tạo mới mơ hình quan hệ B1: Click phải vào Database Diagram chọn New Database->Diagram B2: Chọn bảng cho mơ hình B3: Click nút Close kết thúc q trình tạo mơ hình 40 41 BÀI TẬP  THỰC HÀNH BÀI TẬP 1 42 CẢM ƠN 43

Ngày đăng: 10/10/2023, 18:18