Tải bản đầy đủ (.ppt) (33 trang)

Table + View pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (389.71 KB, 33 trang )

Table + View
Hoa Sen University
www.hoasen.edu.vn
2
Câu hỏi

1. Table là gì?

2. Làm cách nào tạo và bảo trì bảng trong MSSQL?

3. Những yếu tố cơ bản khi thiết kế, sử dụng Table?

Hoa Sen University
www.hoasen.edu.vn
3
Table là gì?

Table = Relation = Những mẩu thông tin có cùng định
dạng

Dữ liệu được tổ chức dạng row-column.

Row = 1 mẩu thông tin

Column = 1 field của thông tin.
Cùng 1 column phải cùng kiểu dữ liệu

Number of Column : FIX

Number of ROW: CHANGE


WHY ???
Hoa Sen University
www.hoasen.edu.vn
4
Example of Table:
Hoa Sen University
www.hoasen.edu.vn
5
Create table

Tạo bảng
CREATE TABLE
[database_name.[owner].| owner.] table_name
(
{ <column_definition>
| column_name AS computed_column_expression
| <table_constraint>
} [, n]
)
[ON {filegroup | DEFAULT} ]
[TEXTIMAGE_ON {filegroup | DEFAULT} ]
Hoa Sen University
www.hoasen.edu.vn
6
Create Table
<column_namedata_type
constant_expression
 seed,increment!""##$%"

#"&'%"

()*+,,,n
Hoa Sen University
www.hoasen.edu.vn
7
Create table
()*+%"-#constraint_name

"
 $#/#01
%-#"%-#
&2%"#=fillfactor
"filegroup

 "#'0
##%-ref_table(ref_column) 
""##$%"

%2%0""##$%"
(logical_expression)

Hoa Sen University
www.hoasen.edu.vn
8
Create table
(+3)*+%"-#constraint_name

$#/#01
%-#"%-#
(column,,,,n) }
&2%"#=fillfactor

"filegroup

"#'0
(column,,,,n)
##%-ref_table(ref_column,,,,n)
""##$%"
%2%0""##$%"
(search_conditions)

Hoa Sen University
www.hoasen.edu.vn
9
Create table
Tạo một bảng có tên CUSTOMERS
create table customers
(
customerid int identity (1,1) primary key,
customername nvarchar(50) not null,
address nvarchar(100 ) null ,
birthday datetime null,
gender bit default('true') not null
)
Hoa Sen University
www.hoasen.edu.vn
10
Những yếu tố cơ bản
1. Kiểu dữ liệu của column
2. Giá trị NULL| DEFAULT
3. Constraint (Ràng buộc)
Hoa Sen University

www.hoasen.edu.vn
11
Kiểu dữ liệu
Type of data System-supplied data types Number of bytes
Binary binary[(n)], varbinary[(n)] 1-8000
Character char[(n)], varchar[(n)] 1-8000, (8000 characters)
Unicode,
character
nchar[(n)] ,nvarchar[(n)] 2-8000, (1 - 4000 characters)
Date and time Datetime, smalldatetime
8 (2 4-byte integers) , 4 (2 2-byte
integers)
Exact numeric decimal[(p[, s])], numeric[(p[, s])] 5-17
Approximate
numeric
float[(n)], real 4-8, 4
Global identifier Uniqueidentifier 16
Integer int, smallint, tinyint 4 , 2, 1
Monetary Money, Smallmoney 8, 4
Special bit, cursor, sysname, timestamp 1, 0-8
Text and image text, image 0-2 GB
Unicode text ntext 0-2 GB
Hoa Sen University
www.hoasen.edu.vn
12
Câu hỏi

Tại sao varchar, char lại bị chặn bởi 8000 byte?

Datetime tại sao chỉ cần 8 byte?

Hoa Sen University
www.hoasen.edu.vn
13
Giá trị NULL/ DEFAULT

NULL: giá trị không xác định

Nguyên nhân:
- Giá trị đó tồn tại nhưng không biết
- Không xác định được giá trị đó tồn tại hay không
-Giá trị tại thời điểm hiện tại chưa có nhưng sẽ xác
định sau
- Là kết quả của lỗi tính toán
- Do thiết kế

Phân biệt với “xâu rỗng” (kiểu char, varchar, …)

Có thể khai báo NULL | NOT NULL

DEFAULT là giá trị mặc định
Hoa Sen University
www.hoasen.edu.vn
14
Giá trị NULL

Hãy chỉ ra những trường hợp các bảng có giá trị NULL
trong thiết kế ĐỒ ÁN A
Hoa Sen University
www.hoasen.edu.vn
15

Các ràng buộc

Primary Key Constraint

Unique Constraint

Foreign Key Constraint

Check Constraint
Hoa Sen University
www.hoasen.edu.vn
16
Ràng buộc CHECK

Chỉ định điều kiện hợp lệ đối với dữ liệu.

Khi có sự thay đổi dữ liệu trên bảng (INSERT, UPDATE)
→ Kiểm tra xem dữ liệu mới có hợp lệ hay không.

Cú pháp:
[CONSTRAINT tên_ràng_buộc] CHECK (điều_kiện)
Hoa Sen University
www.hoasen.edu.vn
17
Ràng buộc CHECK
create table students
(
studentid int identity(1,1) primary key,
studentname nvarchar(50) not null,
address nvarchar(100) not null,

score1 tinyint not null
constraint chk_score1 CHECK (score1 >= 0 and score1 <=
10),
score2 tinyint not null
constraint chk_score2 CHECK (score2 between 0 and 10)
)
Hoa Sen University
www.hoasen.edu.vn
18
Ràng buộc PRIMARY KEY

Định nghĩa khoá chính của bảng.

Khoá chính: một hoặc một tập nhiều cột mà giá trị
của chúng là duy nhất trong bảng.

Mỗi một bảng chỉ có thể có duy nhất một khoá
chính

Khoá chính không chấp nhận giá trị NULL.

Cú pháp:
[CONSTRAINT tên_ràng_buộc] PRIMARY KEY
[(danh_sách_cột)]
Hoa Sen University
www.hoasen.edu.vn
19
Ràng buộc PRIMARY KEY
create table orderdetail
(

customerid int,
orderid int,
itemid int not null,
quantity decimal(8,2) not null,
constraint chk_primarykey primary key (customerid,
orderid)
)
Hoa Sen University
www.hoasen.edu.vn
20
Ràng buộc UNIQUE

Nếu một (hoặc) tập hợp cột unique thì giá trị xác
định của chúng phải là duy nhất trong bảng.

Mỗi một bảng chỉ có thể có nhiều khoá UNIQUE

Chấp nhận giá trị NULL.

Cú pháp:
[CONSTRAINT tên_ràng_buộc] UNIQUE
[(danh_sách_cột)]
Hoa Sen University
www.hoasen.edu.vn
21
Ràng buộc UNIQUE
create table customer
(
customerid int,
customername char(40) ,

nickname char(20),
constraint chk_unique unique (nickname)
)
Hoa Sen University
www.hoasen.edu.vn
22
Ràng buộc FOREIGN KEY

Một (nhiều) cột: áp đặt mối liên kết dữ liệu giữa hai table.

FOREIGN KEY của một bảng sẽ giữ giá trị của PRIMARY KEY
của một bảng khác

Có thể tạo ra nhiều FOREIGN KEY trong một table.

FOREIGN KEY có thể chứa giá trị NULL.

Xóa dữ liệu trong bảng cha thì xóa hay vô hiệu hóa ràng buộc
FOREIGN KEY trong bảng con trước.

Cú pháp:
[CONSTRAINT tên_ràng_buộc] FOREIGN KEY [(danh_sách_cột)]
REFERENCES tên_bảng_tham_chiếu(danh_sách_cột_tham_chiếu)
[ON DELETE CASCADE | NO ACTION | SET NULL | SET DEFAULT]
[ON UPDATE CASCADE | NO ACTION | SET NULL | SET DEFAULT]
Hoa Sen University
www.hoasen.edu.vn
23
Ràng buộc FOREIGN KEY


CASCADE: Tự động xoá (cập nhật) nếu bản ghi được
tham chiếu bị xoá (cập nhật).

NO ACTION: (Mặc định) Nếu bản ghi trong bảng tham
chiếu đang được tham chiếu bởi một bản ghi bất kỳ
trong bảng được định nghĩa thì bàn ghi đó không được
phép xoá hoặc cập nhật (đối với cột được tham chiếu).

SET NULL: Cập nhật lại khoá ngoài của bản ghi thành
giá trị NULL (nếu cột cho phép nhận giá trị NULL).

SET DEFAULT: Cập nhật lại khoá ngoài của bản ghi
nhận giá trị mặc định (nếu cột có qui định giá trị mặc
định).
Hoa Sen University
www.hoasen.edu.vn
24
Alter Table
#4table
 #%"/column_name
 new_data_type (precision, scale)
"
#"$#"&'%"



 (
.column_name-computed_column_expression
,,,,n
&2%2%0&2"%2%0

(+3)*+5,,,n
#"$
 %"-#constraint_name
%"/column
,,,,n
%2%0"%2%0%"-#
constraint_name,,,,n
4-4#''#
trigger_name,,,,n

Hoa Sen University
www.hoasen.edu.vn
25
Alter Table

Bổ sung một cột vào bảng.

Xoá một cột khỏi bảng.

Thay đổi định nghĩa của một cột
trong bảng.

Xoá bỏ hoặc bổ sung các ràng buộc
cho bảng

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×