Chinaunix首页 | 论坛 | 博客
  • 博客访问: 376838
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 16:43:46


  规划管理
  
  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
  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
【责编:admin】

--------------------next---------------------

阅读(139) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~