BÀI THỰC HÀNH 1: LÀM QUEN VỚI SQL SEVER VÀ CÁC THAO TÁC TRÊN BẢNG

17 20 0
  • Loading ...
1/17 trang

Thông tin tài liệu

Ngày đăng: 27/09/2019, 21:56

Ràng buộc toàn vẹn:+ Ràng buộc toàn vẹn là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thoả mãn ở mọi thời điểmVí dụ:Ngày sinh của sinh viên phải nhỏ hơn ngày nhập họcĐiểm của sinh viên phải từ 0 đến 10 là một qui địnhGiới tính của sinh viên chỉ có thể là nam hoặc nữ.Sinh viên đăng ký học với những môn học thuộc khoa mà sinh viên đó học+ Phân loại ràng buộc toàn vẹn: Ràng buộc toàn vẹn được chia làm 3 loại:Toàn vẹn thực thể: RB thực thể đảm bảo toàn vẹn cho các thực thể được mô hình bởi hệ thống. Ở mức độ đơn giản nhất, sự tồn tại của khóa chính là một RB thực thể nhằm đảm bảo qui tắc ‘mỗi thực thể phải là duy nhất’.Toàn vẹn miền: là tập các qui tắc xác định giá trị hợp lệ của thuộc tính.Toàn vẹn tham chiếu: Khi mô hình quan hệ thì cần thiết phải chia các quan hệ để giảm thiểu sự dư thừa và phải thiết lập các khóa ngoại để liên kết các quan hệ. Nếu các liên kết này bị phá vỡ, trường hợp tốt nhất là hệ thống sẽ không còn đáng tin cậy, xấu nhất là không thể sử dụng được nữa. RBTV tham chiếu đảm bảo cho những liên kết này. Nói cách khác, RB tham chiếu đảm bảo cho các SQL Server cung cấp một lượng lớn các công cụ để thực thi toàn vẹn dữ liệu. Chúng được liệt kê trong bảng sau:Kiểu toàn vẹnCác công cụ SQL ServerToàn vẹn thực thể1.Ràng buộc PRIMARY KEY2.Ràng buộc UNIQUE3.Ràng buộc IDENTITYToàn vẹn miền1.Ràng buộc DEFAULT2.Ràng buộc CHECK3.Ràng buộc NOT NULL4.RuleToàn vẹn tham chiếu1.Ràng buộc FOREIGN KEY2.Ràng buộc CHECK2 Tổng quan về SQL Server:+ Hệ quản trị CSDL: Hệ quản trị cơ sở dữ liệu (Database Management System DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL).Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix...+ SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System RDBMS) sử dụng các lệnh chuyển TransactionSQL để trao đổi dữ liệu giữa Client Computer và Server Computer.+ SQL Server có một số đặc tính sau: BÀI THỰC HÀNH 1: LÀM QUEN VỚI SQL SEVER VÀ CÁC THAO TÁC TRÊN BẢNG I/ LÝ THUYẾT: 1/ Ràng buộc toàn vẹn: + Ràng buộc toàn vẹn điều kiện bất biến mà tất quan hệ có liên quan CSDL phải thoả mãn thời điểm Ví dụ: - Ngày sinh sinh viên phải nhỏ ngày nhập học - Điểm sinh viên phải từ đến 10 qui định - Giới tính sinh viên nam nữ - Sinh viên đăng ký học với môn học thuộc khoa mà sinh viên học + Phân loại ràng buộc tồn vẹn: Ràng buộc toàn vẹn chia làm loại: - Toàn vẹn thực thể: RB thực thể đảm bảo tồn vẹn cho thực thể mơ hình hệ thống Ở mức độ đơn giản nhất, tồn khóa RB thực thể nhằm đảm bảo qui tắc ‘mỗi thực thể phải nhất’ - Toàn vẹn miền: tập qui tắc xác định giá trị hợp lệ thuộc tính - Tồn vẹn tham chiếu: Khi mơ hình quan hệ cần thiết phải chia quan hệ để giảm thiểu dư thừa phải thiết lập khóa ngoại để liên kết quan hệ Nếu liên kết bị phá vỡ, trường hợp tốt hệ thống khơng đáng tin cậy, xấu sử dụng RBTV tham chiếu đảm bảo cho liên kết Nói cách khác, RB tham chiếu đảm bảo cho  SQL Server cung cấp lượng lớn công cụ để thực thi toàn vẹn liệu Chúng liệt kê bảng sau: Kiểu tồn vẹn Tồn vẹn thực thể Các cơng cụ SQL Server Ràng buộc PRIMARY KEY Ràng buộc UNIQUE Ràng buộc IDENTITY Ràng buộc DEFAULT Ràng buộc CHECK Ràng buộc NOT NULL Rule Ràng buộc FOREIGN KEY Ràng buộc CHECK Toàn vẹn miền Toàn vẹn tham chiếu 2/ Tổng quan SQL Server: + Hệ quản trị CSDL: Hệ quản trị sở liệu (Database Management System - DBMS), phần mềm hay hệ thống thiết kế để quản trị sở liệu Cụ thể, chương trình thuộc loại hỗ trợ khả lưu trữ, sửa chữa, xóa tìm kiếm thơng tin sở liệu (CSDL) Các hệ quản trị CSDL phổ biến nhiều người biết đến MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix + SQL Server hệ thống quản trị sở liệu quan hệ (Relational DataBase Management System- RDBMS) sử dụng lệnh chuyển Transaction-SQL để trao đổi liệu Client Computer Server Computer + SQL Server có số đặc tính sau:  Cho phép quản trị hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý liệu nhanh đáp ứng yêu cầu thời gian  Cho phép nhiều người khai thác thời điểm CSDL toàn quản trị CSDL (lên đến vài chục ngàn user)  Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật Windows NT sử dụng hệ thống bảo vệ độc lập SQL Server  Hỗ trợ việc triển khai CSDL phân tán phát triển ứng dụng Internet  Cho phép lập trình kết nối với nhiều ngơn ngữ lập trình khác dùng xây dựng ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML, )  Sử dụng câu lệnh truy vấn liệu Transaction-SQL (Access SQL, Oracle PL/SQL) + Một hệ quản trị CSDL thường có thành phần sau:  SQL (Structured Query Language - ngơn ngữ truy vấn mang tính cấu trúc) loại ngơn ngữ máy tính phổ biến để tạo, sửa, lấy liệu từ hệ quản trị sở liệu quan hệ  Data Definition Language (DDL): Các lệnh mô tả CSDL, gồm: tạo (Create), sửa (Alter), xoá (Drop) bảng ràng buộc  Data Manipulation Language (DML): Các lệnh thao tác truy vấn liệu, gồm: Chèn(Insert), Cập nhật(Update), Xóa(Delete), Lựa chọn (Select)  Data Control Language (DCL): Các lệnh điều khiển CSDL, dùng để quản lý quyền hạn user, Gồm: grand, revoke, deny + Các kiểu liệu SQL Server Kiểu liệu Mơ tả Kích thước Char Kiểu kí tự với độ dài khơng thay đổi Lưu trữ tối đa 8000 kí tự Nchar Giống Char hỗ trợ Unicode Tối đa 4000 kí tự Varchar Nvarchar Dạng kí tự với độ dài thay đổi tùy theo độ Tối đa 4000 kí tự dài thực liệu Giống Varchar hỗ trợ Unicode Tối đa 4000 kí tự Text Kiểu văn gồm ký tự xuống dòng Cỡ GB tùy dung lượng máy Ntext Giống Text hỗ trợ Unicode Cỡ GB tùy dung lượng máy Date/Time Dữ liệu ngày chia dạng: Date/Time byte đầy đủ ngày thời gian SmallDateTime ngày thời gian Numeric Dữ liệu dạng số nguyên: int, smallint, bigint, – – - 12 byte tùy theo số thực: float, real, decimal, numeric kiểu số chọn Monetary Kiểu tiền tệ: Money SmallMoney byte + Quy tắc viết lệnh SQL Sever:  Không phân biệt chữ hoa, chữ thường  Nội dung lệnh SQL viết nhiều dòng  Từ khố khơng viết tắt hay phân cách nhiều dòng  Các mệnh đề thường đặt nhiều dòng khác  Ta sử dụng ký tự đặc biệt như: +, -, /, *, để biểu diễn giá trị câu lệnh + Chú thích tiếng việt  Dòng đơn  - Nhóm dòng  /* … */  Sử dụng tiếng việt truy vấn - Chọn kiểu liệu hỗ trợ Unicode (nchar, nvarchar, ntext) Thêm tiền tố N (National Characters) vào trước chuỗi cần nhập để báo cho SQL Server chuỗi Unicode 2/ Các lệnh làm việc với CSDL: a/ Tạo CSDL:  Cú pháp bản: CREATE DATABASE [ ON ]  Trong đó: o o ::= ( NAME = logical_file_name, FILENAME = os_file_name [, SIZE = n [KB|MB|GB|TB] ] [, MAXSIZE = max [KB|MB|GB|TB] | Unlimited ] [, FILEGROWTH = grow [ KB|MB|GB|TB|% ] :để điều khiển thuộc tính cho file tạo - Name: định tên logical cho file - Filename: định tên, đường dẫn file hệ điều hành (file vật lý) - Size: định kích thước file, tối thiểu 3MB - Maxsize: định kích thước tối đa lớn mà file phát triển đến, có từ khóa unlimited định file phát triển đĩa bị đầy - Filegrowth: định độ tự động gia tăng file + Ví dụ : Tạo CSDL QLSV CREATE DATABASE QLSV; b Sử dụng CSDL: + Cú pháp: USE ; + Ví dụ: USE QLSV; c Đổi tên CSDL + Cú pháp: ALTER Database modify name = + Ví dụ: Thay đổi tên CSDL ALTER Database QLSV modify QL_SV; d Xóa CSDL: Khi sử dụng lệnh xóa, CSDL bị xóa khỏi vùng lưu trữ, muốn tạo phải thực thi lại lệnh + Cú Pháp: DROP DATABASE ; + Ví dụ: DROP Database Quan_ly_SV; Chú ý: Khơng dùng cách xóa thơng thường để xóa tệp liệu SQL mà phải dùng lệnh Drop 3/ Các lệnh làm việc với bảng 3.1/ Tạo cấu trúc bảng + Cú pháp: CREATE TABLE ( column1 data-type [RBTV], [ column2 data-type [RBTV],] … [ columnn data-type [RBTV],] [Constraint RBTV (column1, column2, …)] ) Trong đó, Table-name: tên bảng cần tạo, tuân thủ nguyên tắc định danh, không 128 ký tự - Column: tên cột cần tạo bảng, bảng có cột - Data-type: xác định kiểu liệu lưu trữ cột, Kiểu liệu thuộc tính bắt buộc - RBTV: gồm ràng buộc khuôn dạng liệu hay ràng buộc bảo tồn liệu, có thể: NOT NULL, NULL, UNIQUE, DEFAULT, PRIMARY KEY, IDENTITY, CHECK,… - Constrain: dùng có nhiều RBTV loại, đặc biệt với RBTV khóa Có RBTV sau: - CHECK: kiểm tra giá trị cột thỏa mãn điều kiện sau CHECK - NOT NULL: liệu cột không bỏ trống - PRIMARY KEY: định khóa cho bảng - DEFAULT: gán giá trị mặc định - UNIQUE: giá trị cột - FOREIGN KEY: ràng buộc khóa ngoại Sử dụng để tham chiếu đến bảng liệu nguồn - IDENTITY: giá trị tự tăng, giá trị tự động tăng lên đơn vị; Nếu khai báo dạng IDENTITY (n,m) giá trị n tự động tăng lên m đơn vị + Ví dụ: Tạo sở liệu quản lý sinh viên gồm bảng (table) Sinhvien: thông tin liên quan tới sinh viên - Tên trường Kiểu liệu Chú thích Masv int (tự tăng) Khóa Tensv Nvarchar Tên sinh viên, liệu khơng bỏ trống Gioitinh Nvarchar Giới tính, mặc định giá trị Nam Ngaysinh Date Ngày tháng năm sinh, nhỏ ngày Que Nvarchar Quê, giá trị không bỏ trống Lop Nvarchar Lớp Bảng Monhoc: Thông tin môn học nhà trường Tên trường Kiểu liệu Chú thích Mamh Int (tự tăng) Khóa Tenmh Nvarchar Tên mơn học, giá trị cột DVHT Int Số đơn vị học trình, nằm khoảng từ đến Bảng Ketqua: Điểm thi sinh viên Tên trường Masv Mamh Diem Kiểu liệu Int Int Float Chú thích khóa Điểm từ 0-10 create database QLSV Tạo CSDL sinh viên use QLSV –Sử dụng CSDL go Create Table Sinhvien ( MaSV int identity primary key, TenSV Nvarchar(30) not null, GT NVarchar (5) default 'Nam', Ngaysinh Date check (Ngaysinh DEFAULT ) Giá trị mặc định phải thích hợp với kiểu liệu cột để định nghĩa DEFAULT áp dụng Ví dụ, giá trị mặc định cột int phải số nguyên, xâu ký tự Ví dụ: tạo giá trị mặc định cho cột HSL thuộc bảng NV 2.34 create table NV (HSL float DEFAULT 2.34) + Thêm ràng buộc DEFAULT cho cột có: Alter Table Add Default for Ví dụ: Thêm giá trị mặc định cho cột HSL 2.34 alter table NV Add Default 2.34 for HSL 2.2 Ràng buộc khóa FOREIGN Một khóa ngồi cột kết hợp cột sử dụng để tạo liên kết liệu hai bảng Mục đích ràng buộc FOREIGN KEY điều khiển liệu lưu trữ bảng Một ràng buộc khóa đảm bảo liệu tồn khóa bảng chủ phép vào trường khóa ngồi Một bảng có nhiều khóa ngồi Cú pháp: CREATE TABLE Tên_bảng 14 (Tên_cột Kiểu_dữ_liệu, FOREIGN KEY (Tên_cột) REFERENCES Tênbảng_khóachính) Trong đó: + Tên_cột: Tên cột khóa ngồi + Tênbảng_khóachính: Tên bảng chứa khóa mà khóa ngồi tham chiếu Ví dụ: Tạo liên kết bảng NV bảng PHONG Bảng NV bảng PHONG có chung cột MaP Cột MaP khóa bảng PHONG khóa ngoại bảng NV, nên đặt ràng buộc bảng NV sau: create table NV ( MaP int foreign key (MaP) references PHONG ) + Tạo ràng buộc Foreign key cho cột có sẵn: Alter Table Add foreign key ( references (tên cột khóa chính) Ví dụ: Thêm ràng buộc foreign key cho cột MaP bảng NV, tham chiếu sang cột MaP bảng PHONG alter table NV add foreign key (MaP) references PHONG(MaP) 2.3 Ràng buộc CHECK Ràng buộc CHECK nhằm kiểm tra miền giới hạn giá trị lưu trữ cột Cú pháp: CREATE TABLE (< Kiểu_dữ_liệu >CHECK () Ví dụ: Đặt điều kiện ràng buộc cho sột HSL>0 create table NV (HSL float CHECK (HSL>0)) + Tạo ràng buộc Check cho cột có sẵn: Alter Table Add Check () Ví dụ: Thêm điều kiện SoNV>0 cho cột SoNV bảng PHONG ALTER Table PHONG Add Check (SoNV>0) 2.4 Ràng buộc Not Null Tự chọn để thực thi toàn vẹn miền ràng buộc NOT NULL cột NOT NULL có nghĩa cột khơng thể có giá trị NULL Người dùng phải cung cấp vài giá trị cho cột Do thực thi ràng buộc NOT NULL bắt người dùng nhập vài giá trị cho cột 15 Cú pháp: CREATE TABLE < Tên_bảng > ( NOT NULL, …) Ví dụ: Tạo ràng buộc NOT NULL cho cột MaNV bảng NV create table NV ( MaNV int not null) + Thêm ràng buộc NOT NULL cho cột có sẵn: Alter Table Alter Column NOT NULL Ví dụ: Thêm ràng buộc NOT NULL cho cột HT bảng NV Alter Table NV Alter Column HT varchar(30) Not Null 2.5 Rule Rule cung cấp ý nghĩa luân phiên việc thực thi toàn vẹn người dùng định nghĩa sở liệu Rule giống với ràng buộc CHECK, tạo đối tượng riêng độc lập, sau gắn cho cột Một cột đơn có luật đơn gắn với Nếu bạn đòi hỏi nhiều ràng buộc, sử dụng ràng buộc CHECK thay luật Cú pháp CREATE RULE tên_luật AS biểuthức_điềukiện đó: - tên_luật: Xác định tên cho luật - biểuthức_điềukiện: Chỉ giá trị cho cột mà luật gắn vào Cú pháp để gắn luật tới cột: sp_bindrule , Ví dụ, sử dụng luật để đảm bảo hệ số lương nằm từ 2.34 đến 8.0 Đầu tiên bạn phải tạo luật, sau gắn tới cột HSL sau: create Rule check_hsl as @pnr between 2.34 and 8.00 go sp_bindrule 'check_hsl','NV.HSL' Các cơng cụ để thực thi tồn vẹn tham chiếu Bạn sử dụng ràng buộc khóa ngồi CHECK để thực thi toàn vẹn tham chiếu Để cung cấp toàn vẹn tham chiếu, bạn phải liên kết ràng buộc khóa ngồi tới khóa bảng khác Các cơng cụ để thực thi tồn vẹn người dùng định nghĩa 16 Tất ràng buộc thảo luận thực thi tồn vẹn người dùng định nghĩa Thêm vào đó, bạn tạo thủ tục lưu trigger để thực thi toàn vẹn người dùng định nghĩa 17 ... ) 3.2 Các thao tác bảng + Xem thông tin bảng: sp_help + Đổi tên bảng: exec sp_rename + Xóa bảng: Drop Table + Thêm cột vào bảng: ALTER Table ... sản phẩm 2.0 - Các ràng buộc khóa chính, khóa ngoại (Bằng cách) - Tạo mục Index cho bảng (chọn cột index cột khóa chính) Thực thao tác bảng: - Xem thông tin bảng tạo - Đổi tên bảng: NCC  NhaCC;... Primary Key Một bảng có cột, kết hợp cột, giá trị chúng sử dụng để định dạng hàng bảng Khi cột đơn định dạng hàng bảng nhất, gọi Primary Key bảng Nó thực thi tồn vẹn thực thể bảng Một bảng có khóa
- Xem thêm -

Xem thêm: BÀI THỰC HÀNH 1: LÀM QUEN VỚI SQL SEVER VÀ CÁC THAO TÁC TRÊN BẢNG, BÀI THỰC HÀNH 1: LÀM QUEN VỚI SQL SEVER VÀ CÁC THAO TÁC TRÊN BẢNG, SQL Server cung cấp một lượng lớn các công cụ để thực thi toàn vẹn dữ liệu. Chúng được liệt kê trong bảng sau:, 1/ Tạo cấu trúc bảng

Từ khóa liên quan

Mục lục

Xem thêm

Gợi ý tài liệu liên quan cho bạn