Cách tạo User Thiết kế Database Cách tạo User Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo User Database Chúng ta tạo database dễ dàng dùng SQL Server Enterprise cách rightclick lên "database" chọn "New Database" hình vẽ sau: Sau việc đánh tên database click OK Ngoài dùng SQL script để tạo database Khi ta phải rõ vị trí primary data file transaction log file Ví dụ: USE master GO CREATE DATABASE Products 1/6 Cách tạo User Thiết kế Database ON ( NAME = prods_dat, FILENAME = 'c:\program files\microsoft SQL server\mssql\data\prods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = ) GO Trong ví dụ ta tạo database tên Products với logical file name prods_dat physical file name prods.mdf, kích thước ban đầu MB data file tự động tăng lên lần MB tối đa 10 MB Nếu ta không định transaction log file SQL tự động tạo log file với kích thước ban đầu MB Lưu Ý: Khi tạo database phải lưu ý số điểm sau: Ðối với hệ thống nhỏ mà vấn đề tốc độ server không thuộc loại nhạy cảm thường chọn giá trị mặc định (default) cho Initial size, Automatically growth file Nhưng số production server hệ thống lớn kích thước database phải người DBA ước lượng trước tùy theo tầm cỡ business, thông thường người ta không chọn Autogrowth(tự động tăng trưởng) Autoshrink(tự động nén) Câu hỏi đặt ta không để SQL Server chọn giá trị khởi đầu cho datafile sau cần tự động nới rộng mà lại phải ước lượng trước? Nguyên nhân chọn Autogrowth (hay Autoshrink) gặp vấn đề sau: • Performance hit: Ảnh hưởng đáng kể đến khả làm việc SQL Server Do phải thường xuyên kiểm tra xem có đủ khoảng trống cần thiết hay không không đủ phải mở rộng cách dành thêm khoảng trống từ dĩa cứng trình làm chậm hoạt động SQL Server • Disk fragmentation : Việc mở rộng làm cho data không liên tục mà chứa nhiều nơi khác dĩa cứng điều gây ảnh hưởng lên tốc độ làm việc SQL Server Trong hệ thống lớn người ta dự đoán trước kích thước database cách tính toán kích thước tables, kích thước ước đoán mà (xin xem "Estimating the size of a database" SQL Books Online để biết thêm cách 2/6 Cách tạo User Thiết kế Database tính) sau thường xuyên dùng số câu lệnh SQL (thường dùng câu lệnh bắt đầu DBCC Phần bàn qua sau) kiểm tra xem có đủ khoảng trống hay không không đủ ta chọn thời điểm mà SQL server bận rộn (như ban đêm hay sau làm việc) để nới rộng data file không làm ảnh hưởng tới performance Server Chú ý giả sử ta dành sẵn GB cho datafile, dùng Window Explorer để xem ta thấy kích thước file GB data thực tế chiếm vài chục MB mà Những Ðiểm Cần Lưu Ý Khi Thiết Kế Một Database Trong phạm vi nói sâu lý thuyết thiết kế database mà đưa vài lời khuyên mà bạn nên tuân theo thiết kế Trước hết bạn phải nắm vững loại data type Ví dụ bạn phải biết rõ khác biệt char(10), nchar(10)varchar(10), nvarchar(10) Loại liệu Char loại string có kích thước cố định nghĩa ví dụ data đưa vào "This is a really long character string" (lớn 10 ký tự) SQL Server tự động cắt phần đuôi ta "This is a" Tương tự string đưa vào nhỏ 10 SQL thêm khoảng trống vào phía sau cho đủ 10 ký tự Ngược lại loại varchar không thêm khoảng trống phía sau string đưa vào 10 Còn loại data bắt đầu chữ n chứa liệu dạng unicode Một lưu ý khác SQL Server ta có loại Integer : tinyint, smallint, int, bigint Trong kích thước loại tương ứng 1,2,4,8 bytes Nghĩa loại smallint tương đương với Integer loại int tương đương với Long VB Khi thiết kế table nên: • Có cột thuộc loại ID dùng để xác định record dễ dàng • Chỉ chứa data entity (một thực thể) Trong ví dụ sau thông tin Sách Nhà Xuất Bản chứa table 3/6 Cách tạo User Thiết kế Database Books Ta nên tách thành table Books table Publisher sau: Books Publishers • Tránh dùng cột có chứa NULL nên có giá trị Default cho cột • Tránh lập lại giá trị hay cột Ví dụ sách viết tác giả ta dùng cách sau để chứa data: 4/6 Cách tạo User Thiết kế Database Books hay Books Tuy nhiên việc lập lập lại cột Author tạo nhiều vấn đề sau Chẳng hạn sách có nhiều tác giả gặp phiền phức Trong ví dụ ta nên chặt thành table sau: Books 5/6 Cách tạo User Thiết kế Database Authors AuthorBook Ngoài điều quan trọng phải biết rõ quan hệ (Relationship) table: • One-to-One Relationships : mối quan hệ hàng bên table A liên kết với hàng bên table B ngược lại • One-to-Many Relationships : mối quan hệ hàng bên table A liên kết với nhiều hàng bên table B • Many-to-Many Relationships : mối quan hệ hàng bên table A liên kết với nhiều hàng bên table B hàng bên table B liên kết với nhiều hàng bên table A Như ta thấy ví dụ sách viết nhiều tác giả tác giả viết nhiều sách Do mối quan hệ Books Authors quan hệ Many to Many Trong trường hợp người ta thường dùng table trung gian để giải vấn đề (table AuthorBook) Ðể có database tương đối hoàn hảo nghĩa thiết kế cho data chứa database không thừa không thiếu bạn cần biết thêm thủ thuật Normalization Tuy nhiên phạm vi khóa học không muốn bàn sâu đề tài này, bạn xem thêm sách dạy lý thuyết sở liệu 6/6 ... kích thước database cách tính toán kích thước tables, kích thước ước đoán mà (xin xem "Estimating the size of a database" SQL Books Online để biết thêm cách 2/6 Cách tạo User Thiết kế Database. .. data thực tế chiếm vài chục MB mà Những Ðiểm Cần Lưu Ý Khi Thiết Kế Một Database Trong phạm vi nói sâu lý thuyết thiết kế database mà đưa vài lời khuyên mà bạn nên tuân theo thiết kế Trước hết bạn.. .Cách tạo User Thiết kế Database ON ( NAME = prods_dat, FILENAME = 'c:program filesmicrosoft SQL servermssqldataprods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = ) GO Trong ví dụ ta tạo database