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

BÀI GIẢNG QUẢN LÝ HỆ THỐNG CƠ SỞ DỮ LIỆU CHAPTER 2 TABLE

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 (383 KB, 32 trang )

Sunday, August 17, 2014 1
CH NG 2:ƯƠ
THI T K C S DẾ Ế Ơ Ở Ữ
LI U K TOÁN Ệ Ế
< ti t>ế
Sunday, August 17, 2014
NỘI DUNG

1. Xây dựng cấu trúc các bảng
dữ liệu

2. Các kiểu dữ liệu (Data types)

3. Thiết kế cơ sở dữ liệu bằng
MS SQL server 2008

Tạo table

Tạo Database Diagrams

Nhập dữ liệu vào table
Sunday, August 17, 2014
TÀI LIỆU

Giáo trình: Chương 2:Thiết kế cơ sở
dữ liệu kế toán, HT TTKT P.2

Tài liệu tham khảo:
[1] Dương Quang Thiện, Chương 3:
‘Table & View, “Lập trình T – SQL”,
NXB Văn Hoá Sài Gòn, trang 77 - 124


[2] SQL Server Books Online (từ khoá
tìm kiếm Create table, data types,
constraint)
Sunday, August 17, 2014
Dẫn nhập….

Nói m t cách đ n gi n, m t ộ ơ ả ộ table là m t ộ
t p h p d li u liên quan đ n m t ch ậ ợ ữ ệ ế ộ ủ
th ể (entity), thu c tính ộ (anttributes).

M i hàng ỗ (row, tuple) trên m t table ộ
ph i duy nh t, và m i hàng d li u có ả ấ ỗ ữ ệ
m t mã nh n di n duy nh t ộ ậ ệ ấ (Primary).

Và phân l n các table trong m t ớ ộ
database th ng có m t m i liên h ườ ộ ố ệ
(Relationship)
Sunday, August 17, 2014
1. XÂY DỰNG CẤU TRÚC
CÁC BẢNG DỮ LIỆU

Danh mục bảng trong kế toán bán hàng

01_DanhMucHangHoa

02_DanhMucKhachHang_NhaCungCap

03_PhieuNhapKho

04_ChiTietNhapKho


05_PhieuXuatKho

06_ChiTietXuatKho

07_ThuChiTienMat

08_NhatKyChung
Sunday, August 17, 2014
2. CÁC KIỂU DỮ LIỆU

Kiểu dữ liệu quy định các giá trị dữ
liệu được phép cho cột đó.

Kiểu dữ liệu

Kiểu dữ liệu được định nghĩa bởi hệ
thống (System Defined Datatypes) “bẩm
sinh”

Kiểu dữ liệu do người dùng định
nghĩa (User Defined Datatypes)
Sunday, August 17, 2014
Type DataType Size
/Range
Binary Binary
Varbinary
Image
Character Char Chuỗi ký tự chiều dài cố định
Varchar Chuỗi ký tự chiều dài thay đổi

Text Dùng chứa kiểu dữ liệu lớn (2G)
Unicode Nchar Chuỗi ký tự Unicode chiều dài cố định
NVarchar Chuỗi ký tự Unicode chiều dài thay đổi
NText
Date and
Time
Datetime
Ngày và giờ
Smalldatetime
Decimal
Decimal
Numeric
Kiểu số với độ chính xác cố định
System Defined Datatypes
Sunday, August 17, 2014
Type DataType Size
/Range
Foating
point
Float
Số thực
Real
Integer (số
nguyên)
Bigint 8 byte
Int 4 byte
Smallint 2 byte
Tinyint 1 byte
Monetary Money
Smalmoney

Special
Bit
Cursor
Timestamp
Uniqueidentifier
SQL_variant
Sunday, August 17, 2014
Example 1

Hãy cho biết kiểu dữ liệu phù hợp
với các cột sau:

Số thứ tự (1, 2, 3)

Số chứng từ (PN00301)

Ngày chứng từ (20/12/2010)

Tài khoản nợ, có (511)

Số lượng (10,02)

Đơn giá (1000000)

Thuế suất (10%)

Số phát sinh (1000000)

Diễn giải (nhập hàng hoá đơn…)
Sunday, August 17, 2014

3. CÁC HẠN BUỘC
(CONSTRAINT)

Toàn vẹn dữ liệu là bảo đảm dữ liệu
trong database luôn đúng

Sử dụng các ràng buộc để đảm bảo
toàn vẹn dữ liệu của CSDL và xây dựng
quan hệ giữa các bảng.

Có 2 kỹ thuật để đảm bảo tính toàn
vẹn dữ liệu:

Toàn vẹn mang tính thủ tục
(procedural integrity): sử dụng
trigger, stored procedure

Toàn vẹn khai báo (declarative
integrity): contraint, default, rule
Sunday, August 17, 2014
3. CÁC HẠN BUỘC
(CONSTRAINT)

Có 5 loại hạn buộc:

PRIMARY KEY

UNIQUE KEY

FOREIGN KEY


CHECK

DEFAULT
Sunday, August 17, 2014
Giá trị NULL hoặc NOT NULL

Giá trị NULL dùng để chỉ các giá trị
chưa biết, không thể dùng được, hay
sẽ được bổ sung sau (giá trị bắt buộc
phải nhập hay không bắt buộc phải
nhập).

Ví dụ: Số điện thoại của khách hàng
hiện tại chưa có, nhưng có thể sẽ
được bổ sung này. Số điện thoại sẽ có
giá trị là null.
Sunday, August 17, 2014
PRIMARY KEY (PK)

Mỗi hàng dữ liệu trong một table
phải là duy nhất và có thể phân
biêt đối với các hàng dữ liệu khác
trong table.

PRIMARY KEY: không được nhận
giá trị Null

Mỗi một bảng chỉ có một PK
Sunday, August 17, 2014

UNIQUE KEY

Một hạn buộc Unique cũng tương
tự như Primary Key.

Khác: Có thể cho phép Null
Sunday, August 17, 2014
FOREIGN KEY

Foreign key (FK): là tập hợp các
cột dữ liệu trên một bảng dữ liệu
(bảng dữ liệu lệ thuộc), theo đấy giá
trị cột khớp với các giá trị của PK
(bảng dữ liệu cha - mẹ).

FK: không được Null, kiểu dữ liệu
giống giá trị của PK
Sunday, August 17, 2014
CHECK

Cho biết một điều kiện mà hàng
dữ liệu phải thoả mãn trước khi nó
có thể được chèn hoặc cập nhật
Sunday, August 17, 2014
DEFAULT

Default dùng để xác định giá trị
“sẵn trước” được gán cho 1 cột khi
thêm 1 bản ghi mới vào bảng.


Default nhận giá trị như chuỗi ký
tự, hàm hệ thống, hay giá trị
NULL.
Sunday, August 17, 2014
Example 2

Tạo table có tên HoSoNhanVien có
các cột sau:

MaNhanVien, char (10), Primary
key

SoCMND, char (10), Unique key

Tuoi, int, tuổi lớn hơn 18 tuổi và
nhỏ hơn 40 tuổi (Check)

DiaChi: varchar (50), mặt định là
“Nhân viên mới”
Sunday, August 17, 2014
4. THIẾT KẾ BẢNG DỮ LIỆU
(TABLE)
M t s yêu c u khi thi t k table?ộ ố ầ ế ế

M c đích và ụ vai trò c a tableủ trong
database?

Table g m nh ng ồ ữ c tộ gì, ki u d li uể ữ ệ c a ủ
c t đó?ộ


Nh ng c t nào cho phép nh n giá tr ữ ộ ậ ị Null,
Not Null?

Có s d ng các ử ụ ràng bu cộ hay không?
Nh ng c t nào đóng vai trò là ữ ộ Primary,
Foreign, Unique key, Check?
Sunday, August 17, 2014
4. THIẾT KẾ BẢNG DỮ LIỆU

Các thao tác khi khi thiết kế table

Tạo table (sinh)

Hiệu chỉnh table (lão, bệnh)

Xoá table (tử)

Khi thao tác với table có thể bằng

Công cụ Enterprise Manage

Bằng lệnh SQL
Sunday, August 17, 2014
Thiết kế bảng bằng công cụ

Chọn con trỏ chuột tới database cần
tạo table, sau đó click chuột phải
chọn:

New table: tạo bảng mới


Modify: Hiệu chỉnh bảng

Delete: Xoá bảng

Open table: nhập dữ liệu vào
bảng
Sunday, August 17, 2014
Example 3
1.Tạo bảng: HOSONHANVIEN
(MaNV,SoCMND,HoTen,NamSinh,
SoPhone)
Yêu cầu:

MaNV, khoá chính, not null

SoCMND, duy nhất

Namsinh: lớn lơn năm 1990

SoPhone: duy nhất
Sunday, August 17, 2014
Example 3

Thêm cột Diachi (địa chỉ nhà) vào
table HOSONHANVIEN

Xoá cột: DiaChi
Sunday, August 17, 2014
Thiết bảng bằng câu lệnh SQL


Cú pháp câu lệnh Create table:
CREATE TABLE table_name
(
colname_1 col_1_properties [constraint_1],
colname_2 col_2_properties [constraint_2],

[,colname_n col_n_properties [constraint_n],
[Table constraint]
)
Sunday, August 17, 2014
Cú pháp câu lệnh Create table:

Table_name: Tên bảng cần tạo
(duy nhất)

Colname_i: Tên cột thứ i của bảng

Col_1_properties: Kiểu dữ kiệu, và
giá trị Null hoặc Not Null

Constraint_n: Các ràng buộc

Table constraint: Các ràng buộc
trên bảng dữ liệu

×