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... M i hàng ỗi hàng row, tuple trến m t table ph i ột cách đơn giản, một ản,
Trang 1CH ƯƠNG 2: NG 2:
THIẾ T KẾ C S D ƠNG 2: Ở DỮ Ữ
LI U KẾ TOÁN ỆU KẾ TOÁN
< tiế t>
Trang 2NỘ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
Trang 3TÀI LIỆU
dữ liệu kế toán, HT TTKT P.2
[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)
Trang 4Dẫn nhập….
Nói m t cách đ n gi n, m t ột cách đơn giản, một ơn giản, một ản, một ột cách đơn giản, một table là m t ột cách đơn giản, một
t p h p d li u liến quan đế n m t ch ập hợp dữ liệu liên quan đến một chủ ợp dữ liệu liên quan đến một chủ ữ liệu liên quan đến một chủ ệu liên quan đến một chủ ột cách đơn giản, một ủ
th ể (entity), thu c tính ột cách đơn giản, một (anttributes)
M i hàng ỗi hàng (row, tuple) trến m t table ph i ột cách đơn giản, một ản, một duy nhấ t, và m i hàng d li u có m t mã ỗi hàng ữ liệu liên quan đến một chủ ệu liên quan đến một chủ ột cách đơn giản, một
nh n di n duy nhấ t ập hợp dữ liệu liên quan đến một chủ ệu liên quan đến một chủ (Primary)
Và phấn l n các table trong m t ớn các table trong một ột cách đơn giản, một database
thường có một mối liên hệ ng có m t ột cách đơn giản, một mố i liến h ệu liên quan đến một chủ
(Relationship)
Trang 62 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
thống (System Defined Datatypes) “bẩm
sinh”
Trang 7Type 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
Trang 8Type DataType Size
Monetary Money
Smalmoney Special Bit
Cursor Timestamp Uniqueidentifier SQL_variant
Trang 103 CÁC HẠN BUỘC
(CONSTRAINT)
Toàn vẹn dữ liệu là bảo đảm dữ liệu trong
d atabase 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
Trang 12Giá 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
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
Trang 13PRIMARY 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
Trang 14UNIQUE KEY
Một hạn buộc Unique cũng tương
tự như Primary Key.
Khác: Có thể cho phép Null
Trang 15FOREIGN 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
Trang 16 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
Trang 18Example 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”
Trang 194 THIẾT KẾ BẢNG DỮ LIỆU
(TABLE)
M t số yếu cấAu khi thiế t kế table?ột số yêu cầu khi thiết kế table?
M c đích và ục đích và vai trò c a tableủa table trong database?
Table gốAm nh ng ữ liệu liên quan đến một chủ c tột số yêu cầu khi thiết kế table? gì, ki u d li u ểu dữ liệu ữ liệu ệu c a ủ
c t đó? ột cách đơn giản, một
Nh ng c t nào cho phép nh n giá tr ữ liệu liên quan đến một chủ ột cách đơn giản, một ập hợp dữ liệu liên quan đến một chủ ị Null, Not Null?
Có s d ng các ử dụng các ục đích và ràng bu cột số yêu cầu khi thiết kế table? hay khống? Nh ng ữ liệu liên quan đến một chủ
c t nào đóng vai trò là ột cách đơn giản, một Primary, Foreign, Unique key, Check?
Trang 204 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
Trang 21Thiế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
Trang 22Example 3
1.Tạo bảng: HOSONHANVIEN
(MaNV,SoCMND,HoTen,NamSinh, SoPhone)
Trang 23Example 3
table HOSONHANVIEN
Trang 24Thiết bảng bằng câu lệnh
SQL
Cú pháp câu lệnh Create table:
CREATE TABLE table_name
Trang 25Cú 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
Trang 26Example 4:
Tạo bảng nhân viên
CREATE TABLE NHANVIEN
(
)
Trang 28 3.4 Chi tiết nhập kho
3.5 Phiếu xuất kho
3.6 Chi tiết xuất kho
3.7 Thu chi tiền mặt
Trang 294 THIẾT KẾ BẢNG DỮ LIỆU
3.9 Lượp dữ liệu liên quan đến một chủ c đốA quan h (Data Diagrams)ệu liên quan đến một chủ
T o mố i liến kế t gi a các b ngạo mối liên kết giữa các bảng ữ liệu liên quan đến một chủ ản, một
Hi u ch nh mố i liến kế t gi a các b ngệu liên quan đến một chủ ỉnh mối liên kết giữa các bảng ữ liệu liên quan đến một chủ ản, một
Xoá mố i liến kế t gi a các b ngữ liệu liên quan đến một chủ ản, một
Trang 30THỰC HÀNH BUỔI 2
Chương 2: Thiết kế cơ sở dữ
liệu kế toán (Câu lệnh SQL)
Chương 3: Try vấn xử lý dữ liệu
(Câu lệnh Select)
Trang 31Bài học kế tiếp
LIỆU (06 tiết)
Trang 32Q & HỎI A
ĐÁP
Trân trọng cảm ơn!