Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com 3.3 Sửa đổi CSDL, mở rộng CSDL thu nhỏ CSDL Transaction log cung cấp thêm cho thành phần sau: - Bulkload/Operation - Select into statement - Modify database - Tăng giảm kích thớc database : - Shrink database : Chọn chức bạn có tiêu thức để chọn cắt giảm kích cỡ database Cịng cã thĨ dïng lƯnh Transaction SQL: DBCC Shrinkfile ({filename| file_ID}{[,target size]}| [,{emptyfile|Notruncate| Truncate_only}]) Lùa chän: Click Option 1) Database Access: + DBO: Chỉ định quyền DBO + Single user: Tại thời điểm có ngời khai thác liệu + Readonly: Quyền đợc đọc 2) ANSI null: Ngầm định Not null 3) Select into/Bulk copy: cho phép thực lệnh 32 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com + Update text + Write text + Select into statement + BCP + Bulk insert statement 4) Truncate logon/Checkpoint Cho phÐp thùc hiÖn lÖnh CHECKPOINT 5) Auto close 6) Auto Shrink: tự động giảm kích cỡ file 7) Auto create statistic 8) Auto Update statistic 9) Use quated Indentifiers C¸c thành phần khóa đặc trng có liên quan: 1) Primary Key 2) Foreign Key 3) Uniquie Constraint 4) Default Constraint 5) Check Constraint + Primary key: 33 S¸ch điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Khoá trờng liệu (khoá) tồn hàng liệu table Khoá không chấp nhận giá trị NULL + Foreign key : Khoá hay nhiều trờng liệu đợc thiết lập để kết nối quan hệ (liên kết) c¸c table víi + To¸n tư UNIQUE : To¸n tư UNIQUE cã thĨ gióp cho ng−êi sư dơng nã thay cho khoá : a) Trong cột không cho phép có hai giá trị khác hàng lại giống b) Nếu bạn sử dụng nhiều toán tử UNIQUE có nghĩa table có nghiều khoá đợc định nghĩa c) Cột có chứa giá trị null primary key nhng ta dùng toán tử để sử dụng + Toán tử Check : CHECK bắt buộc hạn chế phạm vi toàn giới hạn giá trị chấp nhận cột Nó định giá trị hợp lệ thoả mÃn biểu thức logic cột liệu khác +Định nghĩa Default : Mỗi cột record chứa giá trị, ngầm định NULL thay giá trị NULL giá trị ngầm định Default Giá trị ngầm định UNKNOW không định đợc giá trị cho cột 3.4 Chuyển files liệu từ môi trờng vµo CSDL - Ngoµi ta cịng cã thĨ sư dơng mét sè lƯnh cđa Transact SQL ®Ĩ thùc hiƯn chuyển đổi liệu Ví dụ nh lệnh : + BCp database_name Tablename 34 Sách điện tử, luận văn tốt nghiÖp CNTT – http:/www.diachiweb.com {IN| OUT} dataFile [/F firstrow][/L lastrow][/b batchsize][/C ][/U login_ID] [/P Password] [/S Servername] + DUMP Database Database_name to Disk = “path\filename” + DUMP table table_name to Disk = “path\filename” + DUMP Transacttion Database_name to Disk = path\filename Nếu muốn xoá liệu bị tràn ô nhí: + DUMP Transacttion Database_name with [Truncate_opnly | No_log ] Khi muốn LOAD vào hay phục hồi liệu đợc BACKUP dïng lÖnh LOAD + LOAD Table Dbname Tablename from DISK =Path\FileName 3.5 Di chuyển CSDL máy chủ: SQL Server cho phép bạn xuất nhập liệu (import and export data) Đây chức quan trọng Microsoft SQL Server Nó cung cấp DTS (Distributed Transaction Services) dịch vụ chuyển đổi liệu Gồm có dạng liệu sau: + ASCII Fixed –field length text file + ODBC data source + SQL Server database + Microsoft excel Speadsheets 35 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com + Microsoft Access database + Microsoft Foxpro database + Dbase or Paradox database ã Làm để nhập xuất CSDL(database)? 1) Chọn All tasks 2) Chän import data (hay export data) 3) Nhấn Next Với hình bạn phải vào đủ thông tin d÷ liƯu ngn: + Chän server + Chän sè liệu nguồn Sau chọn xong hai thành phần bạn cần phải xác định kiểu liệu xuất/nhập Sư dơng: Windows NT hay SQL Server NÕu b¹n chän SQL Server phải cung cấp thêm Logon_ID, password +Chọn database : Thờng giá trị ngầm định default Bạn nên làm tơi (Refresh) lại lần -> Next ->OK 36 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Với hình bạn phải vào đủ thông tin liệu đích: Tơng tự nh bớc bạn chọn bớc -> Sau chọn Next Khi bạn phải chọn loại bảng nguồn đợc xuất/nhập, copy hay query nguồn cần chuyển đổi -> Next -> OK Nếu bạ chọn sai liệu kết không Vì phải cẩn thận chọn số Với hình dới bạn phải chọn cột(trờng) cần kết xuất sau Nhấn vào nút Finish để hoàn thành công việc 37 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Với hình dới bạn phải chọn loại liệu cần đợc kết xuất theo dạng : + Runtime immediately + Create DTS package for replication + Shedule DTS package for later execution SAVE DTS package: + SQL Server: D÷ liƯu dạng table SQL server +Respository: Đóng gói vào DTS->Respository package +File: Dạng file Tiếp tục -> Nhấn Next (hoàn thành) 38 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Phần IV: Các thành phần CSDL 4.1 Bảng (bao gồm thành phần cùng) Làm để tạo TABLE? Bảng (table) thành viên cấu thành CSDL đóng vai trò rÊt quan träng viƯc t¹o mét hƯ CSDL - Chän Table-> NhÊn nót ph¶i cht-> chän New database NhËp tên bảng(table_name) bạn cần tạo vào dòng sau ->chọn OK Sau lần lợt thực công việc sau: 1) NhËp tªn cét (column name) 2) Chän kiĨu d÷ liƯu cho cét (field): (data type) SQL server cung cấp cho ngời dùng dạng liệu sau: Data type Desciption -Varbinary Kiểu nhị phân -Image Max G bytes -Binary -Char KiÓu ký tù (char –1 bytes) -Varchar Varchar n bytes -Text Text Max G Bytes 39 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com -nChar -nVarchar -nText -DateTime KiÓu thêi gian (8Byte) - Smalldatetime (4byte) -Int (-2.147.483.648,+ 2.147.483.647) -Smallint (-32.768,+ 32.767) -Tinyint 255 -Decimal - Numeric -Float KiÓu sè thùc (8 bytes) -Real -Timestamp (0,1) -Bit(On,OFF) -(Tru,false) 3) Length: ChiỊu dµi cđa trờng liệu 4) Precision: Độ xác trờng liệu 5) Allow null có giá trị null hay không Nên nhớ trờng liệu khoá định không tồn giá trị null 40 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com 6) Default value: Giá trị ngầm định trờng liệu Khi mà bạn đà hoàn thành trình trớc đóng lại bạn nhớ phải ghi lại ã Một table thành viên CSDL(database); để có ngữ nghĩa ngôn ngữ quản trị CSDL table phải có nghĩa CSDL ã Dữ liệu đợc tạo user truy cập đợc mà bạn phải cần thiết lập quyền truy cập cho loại table mà bạn đà tạo chức riêng biệt tốt 4.2 Quan sát Thế gọi Views? Là tập hợp thủ tục chứa đoạn mà Transact SQL lu trữ toàn nội dung đợc định nghĩa VIEW dới dạng query động(real) thực Một View tập hợp cột table CSDL Tuy nhiên database rỗng View không thực tồn Tại ta phải dùng VIEWS? + Trong CSDL : loại CSDL điều có đặc trng quan trọng nó, để giảm bớt bÃng lu trữ thông tin ®ã CSDL ng−êi Sư Dơng cã thĨ t¹o query trung gian đợc lu giữ trung tâm để cần liệu khai thác mà không tốn nhớ để lu trữ + VIEWS có chức nh database có nghĩa chia sẻ nhiều mức khác 41 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com -Làm thiết lập đợc VIEWS? 1) Chän Views - > NhÊn nót ph¶i cht -> New Views 2) Chọn table mà bạn định lấy làm CSDL VIEWS (Hoàn toàn tơng tự nh lúc bạn chọn table để thiết kế CSDL Diagram) 3) Dùng lệnh Transact SQL để soạn thảo ô TEXT: Khi soạn thảo xong bạn nên thực CHECK Syntax Bạn hÃy dùng công cụ hỗ trợ Toolbar để làm việc với Views Vì Views dạng query nên ta thiết lập quyền Permission cho 42 Sách điện tử, luận văn tèt nghiƯp CNTT – http:/www.diachiweb.com ThiÕt lËp qun cho Views hoàn toàn tơng tự nh thiết lập quyền cho database, nã gåm cã c¸c b−íc chÝnh nh− vËy Trong nhãm 1: user/DB roles/Public Gồm login_ID nhóm làm viƯc Nhãm 2: TËp c¸c lƯnh Transact SQL Nếu bạn check vào ô user/nhóm user/nhóm đợc quyền sử dụng lệnh Sau đà check quyền hoàn thành >Tiếp tục nhấn nút OK (có thể nhấn Apply) Tiếp theo (lát cắt thứ hai Views) chọn tên cột liệu (field_name) bảng đà đợc chọn để đa Views (hình sau) Sau chọn xong cột liệu, SQL server tự động biên dịch thao tác bạn thành ngôn ngữ Transact SQL đợc lu giữ (nguồn Text) Views 43 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Ngoài bạn check table đà đợc thêm (Add) vào lát cắt thứ (trên sơ đồ quan hệ CSDL) 4.3 Khoá Khoá tập hợp tuộc tính độc lập với có ngữ nghĩa định, đợc mô tả bảng (table) CSDL co mục đích liên kết bảng(table) với Có hai mức khoá + Primary Keys: Khoá (Xem phần khoá) + Foreign Keys: Khoá + Primary key: Khoá trờng liệu (khoá) tồn hàng liệu table Khoá không chấp nhận giá trị NULL + Foreign key : Khoá hay nhiều trờng liệu đợc thiết lập để kết nối quan hệ (liên kết) table với 4.4 Thđ tơc ghi nhí -ThÕ nµo lµ Stored procedure? Lµ tập hợp thủ tục đợc thiết lập để quản lý, xử lý trao đổi thông tin với ứng dụng với SQL server 44 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Mỗi bạn thiết lập ứng dụng SQl Server, Transact SQl giao diện quan trọng SQL Server database ứng dụng, sử dụng chơng trình Transact SQL có hai khả thuộc tính xảy nh sau: + Mỗi chơng trình đợc gán phạm vi cơc bé ë client VÝ dơ Visual Basic gưi lệnh đến SQl Server đà đợc xử lý + Hoặc chơng trình tập trung SP SERVER ã Sử dụng SP có lợi ích sử dụng lệnh Transact SQL máy client vì: 1) Thực nhanh 2) Giảm lu lợng giao dịch mạng 3) Bảo mật tốt Server 4) Mà nguồn lu trữ trung t©m 5) Cã thĨ sư dơng cho nhiỊu øng dụng khác nh client khác Làm để tạo SP? 1) Chọn Stored procedure -> nhÊn nót ph¶i cht -> chän New SP 2) Dïng ngôn ngữ Transact SQL để soạn thảo SP 3) Save SP cịng t−¬ng tù nh− Views: ng−êi thiÕt lËp SP chia sẻ tài nguyên cung cấp quyền sử dụng SP cho client hay mét sè c¸c øng dơng kh¸c c¸c Server kh¸c ( gần hay xa) 4.5 Thế Trigger? Là dạng đặc biệt Stored procedure, dạng thủ tục đợc chia sẻ nh SP nhng thực (ngầm định automatic ) đáp lại lệnh (Insert, Update, Delete) đợc thực Một Trigger có thĨ lµ mét query vµ cịng cã thĨ lµ mét ®o¹n m· lƯnh cđa Transact SQL T¹o mét Trigger 45 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Chän All tasks 1) Chän manager trigger 2) Chän New 3) Dùng lệnh Transact SQL để soạn thảo 4) Check Syntax 5) Save 4.6 ChØ sè - Indexes: SQL Server tự động quản lý indexes cho khoá nh thông số: UNIQUE constraint Tuy nhiên thực INDEXES bảng bảng cần nhiều nhớ mà có để thực index Nếu lần thực dạng lệnh INSERT, UPDATE, DELETE có index cần thời gian lâu để xử lý Có hai dạng INDEXES sau: Clustered-Index: Là dạng index theo hàng bảng ghi liệu NonClustered-Index: Là dạng index theo cột bảng ghi liệu 46 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com -Edit Indexes: Nếu bạn muốn thay đổi cột giá trị cần indexes, bạn chọn cột liệu > click vào nút EDIT (index) Từ bạn cập nhật (modify) cột cần xếp Tại dây bạn có lựa chọn indexes: + To¸n tư unique : Khư trïng + Clustered index : kiểu săp xếp 47 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com + Ignore duplicate value: Bỏ qua giá trị nhân + Filegroup: Chọn nhóm file bao nhiêu? + Ngoài bạn có khả kết hợp với lệnh SQL cách nhấn EDIT SQL 48 ... tin với ứng dụng với SQL server 44 Sách điện tử, luận văn tốt nghiệp CNTT http:/www.diachiweb.com Mỗi bạn thiết lập ứng dụng SQl Server, Transact SQl giao diện quan trọng SQL Server database ứng... dụng chơng trình Transact SQL có hai khả thuộc tính xảy nh sau: + Mỗi chơng trình đợc gán ph¹m vi cơc bé ë client VÝ dơ Visual Basic gửi lệnh đến SQl Server đà đợc xử lý + Hoặc chơng trình tập... execution SAVE DTS package: + SQL Server: Dữ liệu dạng table SQL server +Respository: Đóng gói vào DTS->Respository package +File: D¹ng file TiÕp tơc -> NhÊn Next (hoàn thành) 38 Sách điện tử, luận văn