数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
MCDBA 数据库设计学习BLOG

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

MCDBA 数据库设计学习BLOG

 2004-4-14

规划存储管理

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 <Database Name>
MODIFY FILEGROUP <Filegroup name> DEFAULT


确保数据完整性

实现约束的6种
Alter table <table name>
Add constraint <constraint name>
<constraint type><constraint define>

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

 

 

 

 

 

 

 


 




相关文章

相关软件