Tải bản đầy đủ (.pdf) (46 trang)

bài 2 các đối tượng trong csdl

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 (289.14 KB, 46 trang )

11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SQL Server
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đối tượng trong CSDL
2
33
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cơ sở dữ liệu của SQL
Server
44
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về cơ sở dữ liệu
Khái niệm về cơ sở dữ liệu

Database dùng để

Chứa các bảng, bảng ảo, thủ tục nội,…

Mỗi database có một danh sách các người dùng

Người dùng phải có quyền truy cập database

Có thể phân nhóm người dùng để cấp quyền

Tử phiên bản SQL Server 2000 hỗ trợ Application Role



Các database hệ thống

Master, Model, Tempdb, msdb

Các database ví dụ

AdventureWorks

AdventureWorkDWs
55
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC

Một database bao gồm tối thiểu hai file

.mdf: lưu trữ các đối tượng trong database như table, view, …

Có thể bổ sung thêm các tập tin lưu trữ khác

Tổ chức tốt các tập tin lưu trữ giúp tăng tốc độ xử lý

.ldf: lưu trữ quá trình cập nhật/thay đổi dữ liệu

Hỗ trợ phục hồi dữ liệu

Hỗ trợ backup/restore dữ liệu

Các thông số về kích thước


Initial size

File growth

Maximum file size
Các tập tin vật lý lưu trữ cơ sở dữ liệu
Các tập tin vật lý lưu trữ cơ sở dữ liệu


.mdf .ndf
.ldf
66
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC

Ví dụ lệnh tạo một database đơn giản
Tạo database
Tạo database
CREATE DATABASE QLNHANSU
ON PRIMARY
(NAME = QLNHANSU,
FILENAME=‘D:\SQLDATA\QLNHANSU.MDF’,
SIZE=50MB,
MAXSIZE=200MB,
FILEGROWTH=10%)
LOG ON
(NAME=QLNHANSU_Log,
FILENAME=‘D:\SQLDATA\QLNHANSU_LOG.LDF’,
SIZE=10,
MAXSIZE=UNLIMITED,

FILEGROWTH=5MB)
77
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bảng dữ liệu (Table)
88
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về bảng
Khái niệm về bảng

Bảng dùng để lưu trữ các thông tin của một đối
tượng trong thực tế

Gồm có các dòng và các cột

Bảng trong CSDL thường có khoá chính (primary key)

Các bảng thường liên hệ với nhau bằng các mối quan hệ

Bảng được tạo trong các Schema (mặc định là schema
dbo)

Bảng có thể có các ràng buộc (constraint),
trigger [Sẽ tìm hiểu kỹ trong các chương sau]
99
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các thuộc tính của bảng
Các thuộc tính của bảng


Tên bảng

Tên cột

Kiểu dữ liệu

Độ dài dữ liệu

Số ký số lưu trữ

Số số lẻ lưu trữ

Thuộc tính trên cột

Allow null

Identity

Default value
1010
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giới thiệu các kiểu dữ liệu cơ sở
Loại Các kiểu dữ liệu
Numeric Integer int, bigint, smallint, tinyint
Exact decimal, numeric
Approximat
e
float, real

Monetary money, smallmoney
Date and time datetime, smalldatetime
Characte
r
Non-
Unicode
char, varchar, varchar(max), text
Unicode nchar, nvarchar, nvarchar(max), ntext
Binary binary, varbinary, varbinary(max)
Image image
Global identifier uniqueidentifier
XML xml
Special bit, cursor, timestamp, sysname, table,
sql_variant
1111
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu số nguyên
Kiểu dữ liệu Miền giá trị Kích thước Chú ý
bigint -263  263 - 1 8 bytes
int -231  231 - 1 4 bytes
smallint -215  215 – 1 2 bytes
tinyint 0  255 1 byte
bit 0 hoặc 1 hoặc null n byte
-
Tùy theo số cột kiểu bit trong 1 bảng
mà SQL Server tối ưu hóa lưu trữ đối
với kiểu này theo cách 1  8  1

byte; 9  16  2 byte)
-
Giá trị chuỗi TRUE và FALSE có thể
được chuyển đổi tới 1 và 0
1212
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu số thập phân : Decimal và numeric:

decimal[ (p[ , s] )] và numeric[ (p[ , s] )] : Dùng cho các số mà độ
chính xác được cố định và có thứ tự. Miền giá trị - 10
38
+ 1 
10
38
- 1.

p (precision) : Chỉ định tổng số ký số (digits) tối đa có thể được
lưu trữ (tính cho cả hai phía dấu chấm động). Giá trị này tuân thủ
từ 138, mặc định là 18.

s (scale) : Số ký số tối đa bên phải dấu chấm động (phần thập
phân). Giai chia này phải có một giá trị từ 0  p. Giai chia chỉ có
thể được chỉ định nếu precision được chỉ định. Mặc định là 0

Kích thước lưu trữ tùy thuộc vào số ký số được chỉ định tại phần
Precision
1313

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu tiền tệ : money và smallmoney
Kiểu dữ liệu Miền giá trị Số byte lưu trữ
money - 922,337,203,685,477.5808 
922,337,203,685,477.5807
8
smallmoney - 214,748.3648 214,748.3647 4
1414
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu số thực : float(n) và real
Kiểu dữ liệu Miền giá trị Số byte lưu trữ
float - 1.79E+308  -2.23E-308, 0
và 2.23E-308  1.79E+308
Phụ thuộc vào n.
Mặc định n=53
real - 214,748.3648 214,748.3647 4
Giá trị n Số ký số Kích
thước
1-24 7 4 bytes
25-53 15 8 bytes
1515
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở


Kiểu ngày giờ

Sử dụng datetime để trình bày dữ liệu ngày giờ từ
1/1/1753  31/12/9999.

Sử dụng smalldatetime để trình bày dữ liệu ngày giờ từ
1/1900  6/6/2079.

Lưu ý: Bạn có thể sử dụng smalldatetime khi bạn không
cần lưu thời điểm chính xác [tức là không cần chính xác
đến giây, milli giây], ví dụ như ngày hết hạn (expiration
dates).
1616
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu chuỗi ký tự

char và varchar
Kiểu dữ liệu Miền giá trị Số byte
lưu trữ
Ghi chú
Char[(n)] n phải là giá trị từ 1 
8000
n bytes non-Unicode và độ dài
cố định
Varchar[( n | max )] n có thể là giá trị từ 1
 8000; max biểu thị

rằng kích thước lưu trữ
tối đa 2 gigabytes (GB)
non-Unicode và độ dài
biến đổi
Mặc định n=1
1717
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu chuỗi ký tự :

nchar và nvarchar
Kiểu dữ liệu Miền giá trị Số byte
lưu trữ
Ghi chú
nchar[(n)] n phải là giá trị từ 1 
4000
n bytes Unicode và độ dài cố
định
nvarchar[( n | max )] n có thể là giá trị từ 1
 4000; max biểu thị
rằng kích thước lưu
trữ tối đa 2 GB
Unicode và độ dài biến
đổi
Mặc định n=1
1818
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC

Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu chuỗi ký tự

text và ntext và image (Đây là các kiểu dữ liệu được Microsoft
khuyến cáo không nên sử dụng bởi lẻ trong tương lai nó sẽ bị loại
bỏ. Thay thế vào đó là varchar(max), nvarchar(max), varbinary(max))
Kiểu dữ liệu Miền giá trị Ghi chú
text 231- 1 non-Unicode và độ dài biến
đổi
ntext 230 - 1 Unicode và độ dài biến đổi
image 0–2 GB (16-byte
pointer)
Dữ liệu binary biến đổi từ 0
 231 - 1
1919
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Kiểu chuỗi nhị phân
Kiểu dữ liệu Miền giá trị Kích thước Ghi chú
binary [ ( n ) ] n là giá trị từ 1 8000 n bytes Độ dài cố định
varbinary [ ( n | max) ] n có thể là giá trị từ 1
8000; max biểu thị
rằng kích thước lưu trữ
tối đa 2 GB
Độ dài biến đổi
2020
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Các kiểu dữ liệu khác

Cursor :

kiểu dữ liệu cho khai báo biến hoặc khai báo tham số
loại OUTPUT cho stored procedure chứa tham chiếu
tới một cursor.

Column của table không thể được chỉ định với kiểu
cursor.
2121
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

Timestamp :

Là kiểu dữ liệu tự động phát sinh số nhị duy nhất bên
trong một database.

Giá trị phát sinh mang tính “đóng dấu phiên bản” các
dòng của table.

Kích thước 8 bytes
2222
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC

Cách sử dụng các kiểu dữ liệu cơ sở

uniqueidentifier

Một column hoặc biến cục bộ kiểu dữ liệu uniqueidentifier
có thể được khởi tạo giá trị theo các cách sau:

Sử dụng hàm hệ thống NEWID

Chuyển đổi từ một hằng chuỗi dạng xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx, trong đó mỗi x là một ký số hexadecimal trong
miền 0-9 hoặc a-f. Ví dụ, 6F9619FF-8B86-D011-B42D-
00C04FC964FF là một giá trị uniqueidentifier hợp lệ.

Khi tiến hành đồng bộ dữ liệu, sử dụng các column kiểu
uniqueidentifier để bảo đảm rằng các dòng được nhận
dạng duy nhất qua nhiều bản sao chép của table.
2323
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở

xml

Là kiểu dữ liệu lưu trữ dữ liệu XML. Bạn có thể lưu trữ
dữ liệu xml trong một column, hoặc biến kiểu xml

sql_variant

Là kiểu dữ liệu lưu trữ các giá trị của nhiều kiểu dữ liệu

khác nhau được SQL Server hỗ trợ , ngoại trừ text, ntext,
image, timestamp và sql_variant

table

Là kiểu dữ liệu đặc biệt có thể được sử dụng để lưu trữ
tập kết quả cho việc xử lý ở thời điểm sau đó. Kiểu table
chủ yếu được sử dụng cho việc khai báo kiểu kết quả trả
về của hàm loại table-valued
2424
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo cấu trúc bảng đơn giản
Tạo cấu trúc bảng đơn giản
CREATE TABLE Tên_schema.Tên_bảng
(
Tên_cột1 Kiểu_dữ_liệu [NOT NULL] ,
Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ]
)

Từ khóa NOT NULL chỉ định không cho phép
dữ liệu tại cột bị bỏ trống.
2525
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo cấu trúc bảng có cột định danh
Tạo cấu trúc bảng có cột định danh
CREATE TABLE Tên_bảng
(
Tên_cột1 Kiểu_dữ_liệu_số

IDENTITY [(Số_bắt_đầu, Chỉ_số_tăng)] ,
Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ]
)

Kiểu dữ liệu số: dạng số nguyên (int, smallint, tinyint, numeric và
decimal)

Với numeric và decimal thì phải chỉ định không lấy số lẻ.

Số bắt đầu: SQL Server sử dụng để cấp phát cho mẩu tin đầu tiên.
Mặc định là 1.

Chỉ số tăng: số cộng lên để cấp phát cho những mẩu tin kế tiếp.
Mặc định là 1.

×