Diễn giải CREATE Database trong SQL Server

Một phần của tài liệu Giới thiệu về PHP (Ngôn ngữ lập trình) (Trang 120 - 122)

I- With Grant Option

6.7.3.Diễn giải CREATE Database trong SQL Server

13 ASW-60VT NULL

6.7.3.Diễn giải CREATE Database trong SQL Server

> ON: Dùng để định nghĩa nơi chứa cơ sở dữ liệu và không gian chứa tập tin log.

> NAME: Dùng định nghĩa tê n của cơ sở dữ liệu. Tên này dùng tham chiếu khi gọi đến cơ sở dữ liệu, tê n được dùng cho quá trìn h backup, export, Import, S h rin k cơ sở dữ liệu đó.

> FILE N A M E: Tên tập tin cơ sở dữ liệu lưu trong đĩa cứng, thông thường khi cài SQ L Server

lên ổ đĩa nào th ì giá trị mặc định cho phép lưu tập tin đến thư mục đó. Tuy nhiên, nếu muốn bạn cũng có th ể thay đổi vị trí các file này.

Khi tạo cơ sỡ dữ liệu, bạn đã định nghĩa vị trí đ ặt tập tin ở thư mục nào th ì không th ể di chuyển một cách thủ công (như dùng Explorer của Windows), vì làm điều đó th ậ t nguy hiểm n h ấ t là khi dữ liệu trong cơ sở dữ liệu đang có giá trị kinh tế.

> S IZ E: Dung lượng của cơ sở dữ liệu khi khởi tạo chúng. Thông thường giá trị mặc định là 1 MB.

> Dung lượng phải là sô' nguyên, có thể tăn g thêm bằng cách sử dụng thủ tục S h rin k trong

SQ L Server.

> M AXSIZE: Dung lượng lớn n h ất, khi dung lượng cơ sở dữ liệu tăn g lên đến mức M axSize thì dừng lại.

Nếu khi dung lượng bằng M axSize, các chuyển tác có th ể bị huỷ bỏ hay trả về lỗi không thể thực hiện được, và có th ể làm cho cơ sở dữ liệu của bạn bị treo.

Để trá n h điều này xảy ra, th ì người quần trị cơ sở dữ liệu phải thường xuyên theo giỏi quá trìn h tăn g dung lượng cơ sở dữ liệu theo thời gian, để có biện pháp trá n h mọi rủi ro có thể xảy ra.

> FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa cho phép tăn g trong quá trìn h thêm dữ liệu vào cơ sở dữ liệu. Nhằm tự động hóa, chúng ta phải th iế t lập quá trìn h tăn g tự động theo chỉ sô' KB cho trước hay tỷ lệ p hần tră m theo dung lượng đang có.

> LOG ON: Log on cho phép b ạn quản lý những chuyển tác xảy ra trong quá trìn h sử dụng cơ sở dữ liệu của SQ L Server.

X â y d ự n g c ơ s ở d ữ l i ệ u T e s t

Như đã trìn h bày ở trê n , sau đây ví dụ tạo cơ sở dữ liệu Test có cú pháp như sau:

V í dụ 8-31: T ạo cở sử d ữ liệ u T e st tro n g SQL S erv er

USE master

GO

CREATE DATABASE Test ON

( NAME = Test,

SIZE = 10, MAXSIZE = 50, FILEGROWTH= 5 ) LOG ON ( NAME = 'Testlog', FILENAME = 'c :\mssql7\data\Testlog.ldf' , SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO

Để đơn giản hoá các đối tượng Table trong cơ sở dữ liệu Test, chúng tôi chỉ trìn h bày m ột vài p h á t biểu SQ L dạng Create Table, các Table khác bạn có th ể tìm th ấy trong cơ sở dữ liệu đính kèm.

V i dụ 8-32: T ạo m ộ t s ố b ả n g tr o n g T est

/* Tạo bảng danh sách khách hàng thường xuyên */ CREATE TABLE tblcustomers (

CustID int(3) unsigned NOT NULL auto_increment, Username varchar (20) NOT NULL DEFAULT ' ' ,

Password varchar ( 10) NOT NULL DEFAULT ' ' ’ CustName varchar ( 50 ) , Address varchar ( 100 ), Tel varchar (2 0 ) , FaxNo varchar ( 10 ), Email varchar ( 50 ) , Contact varchar ( 50 ) , Cour.tryCode char ( 3 ) , ProvinceCode char ( 3 ) , PRIMARY KEY (CustID) , INDEX CustID (CustID)

) ;

/* Tạo bảng hạp đồng mua hàng qua mạng */ CREATE TABLE tblorders {

OrderlD int (3 ) NOT NULL auto_increment, OrderDate date ,

CustID int ( 11 ) ,

Description varchar ( 100 ) DEFAULT '0' , (adsbygoogle = window.adsbygoogle || []).push({});

Trar.ID tinyint (3 ) DEFAULT • 0 * , PaymentID tinyint (3 ) DEFAULT '0' , Amount float DEFAULT ' 0 ' ,

ShipCost float DEFAULT '0' , TotalAmount float DEFAULT ' 0 ' , PRIMARY KEY (OrderlD) ,

INDEX OrderlD (OrderlD)

) ;

/* Tạo bảng hạp đồng chi tiết mua hàng qua mạng */ CREATE TABLE tblorderdetails (

ItemlD int ( 3 ) unsigned DEFAULT '0' , OrderlD int (3 ) unsigned DEFAULT '0' , No tinyint ( 3 ) unsigned DEFAULT '0' , Qttyint(3) unsigned DEFAULT '0' , Priceint(3) unsigned DEFAULT '0' , Discount int(3) unsigned DEFAULT '0' ,

Amount bigint(3) unsigned DEFAULT '0'

M ộ t sô" q u y đ ịn h k h i t h i ế t k ế T a b le 6.7.4. T ên c ộ t - C olum n N am e

Đặt tên cột cũng giông như đặt tê n bảng, có r ấ t nhiều quy tắc đ ặt tê n (như đã trìn h bày ở trê n p hần table), nhưng khuyến khích bạn nên theo m ột số quy tắc cơ b ản sau:

> Tên cột b ắt đầu chữ hoa, còn lại bằng chữ thường. > Tên ngắn gọn và đầy đủ ý nghĩa.

> Không n ên đ ặt tê n cột có khoảng trắng, sau này bạn sẽ gặp những phiền toái khi tham chiếu đến cột đó.

> Không đ ặ t tê n cột trùng với những từ khoá, từ dành riêng, và những ký tự dặc b iệt như những phép toán hay toán tử khác.

> Chú ý, nên đ ặ t tê n cột cùng tê n những cột có quan hệ với những bảng khác trong cùng cơ sở dữ liệu, giúp dễ hiểu và trá n h bị nhầm lẫn.

Một số người thích th êm vào dấu gạch chân (_) để phân biệt ý nghĩa hay tên gọi của cột, điều này là tùy vào sở thích của bạn. Tuy nhiên chúng tôi không thích qui tắc này.

Nhưng đối với k inh nghiệm lập th iế t kế xây dựng cơ sở dữ liệu th ì bạn không nên dùng dấu gạch dưới và dĩ nh iên trong nhiều trường hợp khác bạn sẽ cảm th ấy khó chịu khi thêm m ột dấu _ trong tên của đối tượng của cơ sở dữ liệu.

Mặc dù không có vấn đề gì cho cú pháp hay các p h á t biểu tham chiếu đến chúng, nhưng bạn sẽ th ấy tạ i sao chúng ta không nên dùng dấu gạch chân (_) khi đ ặt tê n đối tượng hay tên cơ sỡ dữ liệu trong M y SQL.

> Nếu bạn d ặ t tê n có dấu _ ,bạn phải tốn thời gian hay năng lượng cho hành động tạo ra dấu _

> T ro n g c h ừ n g m ực h a y giới h ạ n n à o đó do h iộ u ứ n g của F o n t chữ có th ổ p h á t s in h lỗ i sẽ g â y

ra nhầm lẫn cho người lập trình.

> Nói tóm lại là bạn sẽ m ất th êm thời gian lưu tâm đến chúng.

Một phần của tài liệu Giới thiệu về PHP (Ngôn ngữ lập trình) (Trang 120 - 122)