MCDBA数据库设计学习BLOG

文章作者 100test 发表时间 2007:03:13 21:38:31
来源 100Test.Com百考试题网


规划存储管理
  
  1、有且只能有一个主数据文件
  2、数据和事务日志永远不能在同一个文件中
  3、两个数据库之间不能共享一个文件组
  4、当估算数据库大小时,应该使用表和索引.
  5、无限文件增长只受操作系统和物理磁盘容量的限制.
  6、文件组,就是把一组文件象单个文件一样的处理,这些文件的组称为文件组,
   通过它实现了一个数据库存放在多个磁盘可能,通过练习理解了文件组的概念。
  
  
  练习:
  USE master
  GO
  
  Create database ExamNotes
  ON Primary
  (Name =ExamNotes_data,filename=d:\testdata\ExamNotes_data.mdf ,
  size=4MB,
  MAXSIZE=16MB,
  FileGrowth=2mb),
  FILEGROUP SUCCESS
  (Name =ExamNotes1_data1,Filename=d:\testdata\ExamNotes1_data1.ndf,
  size=4Mb,
  maxsize=8mb,
  filegrowth =500kb),
  (Name =ExamNotes1_data2,Filename=d:\testdata\ExamNotes2_data2.ndf,
  size=4Mb,filegrowth=10%) 
  log on(NAME =ExamNotes1_Log,
  filename=d:\testdata\ExamNotes_Log.ldf,
  size=4Mb,maxsize=16mb)
  
  
  向数据库中添加由两个文件组成的文件组
  
  ALTER DATABASE Exam
  ADD FILEGROUP ExamFG1
  GO
  
  ALTER DATABASE exam
  ADD FILE
  ( NAME = exam_data3,
   FILENAME = d:\testData\exam_data3.ndf,
   SIZE = 5MB,
   MAXSIZE = 100MB,
   FILEGROWTH = 5MB),
  ( NAME = exam_data4,
   FILENAME = d:\testData\exam_data4.ndf,
   SIZE = 5MB,
   MAXSIZE = 100MB,
   FILEGROWTH = 5MB)
  TO FILEGROUP ExamFG1
  
  ALTER DATABASE exam
  MODIFY FILEGROUP examFG1 DEFAULT
  GO
  
  欲删除文件组,必先删除该组文件
  ALTER DATABASE EXAM
  REMOVE FILE exam_data4
  
  ALTER DATABASE EXAM
  REMOVE FILE exam_data3
  
  ALTER DATABASE EXAM
  REMOVE FILEGROUP EXAMFG1
  
  一个有用的SP:
  EXEC sp_spaceused USERTABLENAME
  查出某个表的记录数和使用的空间大小,因为在实际应用中会出现某个表超大的情形.
  
  在数据库中为表指定文件组的用法如ON后面子句,注意ON [PRIMARY]中的[PRIMARY]是主文件组而非主键.
  CREATE TABLE [ACC_PAYMETHOD_MSTR] (
   [PAYMETHODID] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
   [PAYMETHODNAME] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
   [STAMPUSERNAME] [STAMPUSERNAME] NULL ,
   [STAMPDATETIME] [STAMPDATETIME] NULL
  ) ON [PRIMARY]
  
  相应的改变默认文件的语法为:
  ALTER DATABASE
  MODIFY FILEGROUP DEFAULT
  
  确保数据完整性
  
  实现约束的6种
  Alter table name>
  Add constraint
  
  
  1 Unique Key
  alter table product
  add constraint uk_product
  UNIQUE (SupplierID,Productname)
  
  2 Primary Key
  Alter table product
  add constraint pl_product
  PRIMARY KEY (ProductID)
  
  3 Foreign Key
  Alter table product
  add constraint fk_product_suppliers
  Foreign KEY (ProductID) references suppliers (ID)
  
  4 CHECK 约束
  Alter table product
  add constraint DF_product_UNITSinstock
  CHECK (Unitsinstock >=0 or UnitsINStock is NULL)
  
  5 NOT NULL 约束
  Alter table product
  ALTER COLUMN DISCONTINUED BIT NOT NULL
  6 默认约束
  
  ALTER TABLE PRODUCT
  ADD CONSTRAINT DF_PRODUCTS_UNITPRICE
  DEFAULT 0 FOR UNITPRICE

相关文章


微软国际认证考试全接触(四)
MCDBA数据库设计学习BLOG
windows操作系统蓝屏错误对照表三
如何知道SQLServer2000是不是适合你的?
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛