创建数据库及定义数据完整性

创建数据库及数据完整性定义

1 创建数据库:

USE master             --设置当前数据库为master ,以便找到存储数据库信息的表  sysdatebases
GO
IF EXISTS (SELECT * FROM sysdatabases WHERE name='销售管理')
DROP DATABASE 销售管理

CREATE DATABASE 销售管理
ON PRIMARY(			        --主数据文件的具体描述
NAME = SalesData,			--逻辑名
FILENAME = 'D:\SalesData_1.mdf',	--文件物理地址
SIZE = 50MB,			    --主数据文件初始大小
MAXSIZE = unlimited,		--主数据文件最大不受限
FILEGROWTH = 20%			--文件的增长率为20%
),
(	NAME = SalesD,
FILENAME = 'D:\SalesData_2.ndf',
SIZE = 50MB,
MAXSIZE = unlimited,
FILEGROWTH = 10MB
)
LOG ON (                     --日志文件描述
NAME = SalesLog,						-
FILENAME = 'D:\SalesLog.ldf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 10MB
)

查看系统中的数据库:
exec    sp_helpdb  数据库名称
不带参数时,显示系统所有的数据库

2 修改数据库:

(1)修改数据库名称
Alter database   数据库名称
Modify  name = your_new_name
)
(2)增大文件大小
Alter   database   数据库名称
Modify   file(
Name= ‘你要修改的文件的逻辑名称’,
Size|maxsize|filegrowth = ‘你要输入的修改后的值’

(3)减小文件容量:
USE 销售管理;
GO
DBCC SHRINKFILE (sales1, 60);
GO

(4)添加文件
添加数据库文件
alter  database  销售管理
add  file(
name='sales3',
filename='d:\sales_data3.ndf',
size = 10MB,
maxsize=20MB,
filegrowth = 10%
)

3自定义数据类型:

exec  sp_addtype   telephone , 'char(11)',  'not null'

exec sp_addtype   @typename= 'telephone1',
							@phystype= 'char(11)',
							@nulltype = 'not null'
exec sp_droptype  telephone
							
select * from information_schema.domains        ----获取用户定义数据类型信息

4 表的约束:

(1)check
(2)unique
(3)foreign key
(4)级联更新cascade
(5)with nocheck
(6)对含有identify()字段表插入数据
(1)check约束
alter  table  表的名字
		add  constraint   CK_EmpNo   check(emp_no  like '[0-9][0-9][0-9]')
      在建表语句中写 :  constaraint CK_EmpNo  check(emp_no  like '[0-9][0-9][0-9]')

修改或增加表的约束时,添加  with   nocheck  可以不检查以前插入的数据。
alter   table  Employees    with nocheck 
				 add   constraint   CK_EmpNo   check(emp_no  like '[0-9][0-9][0-9][0-9]')
				 
(2)unique  约束
alter  table  表的名字
		add  constraint   UI_EmpNo   unique(telephone)
      在建表语句列的后面直接写 : unique
(3)foreign   key
alter  table  表的名字
		add  constraint   FK_DepNO   foreign  key  (Dep_no)   references   Department(Dep_no)
      在建表语句中写 :  foreign  key (Dep_no)  references  Department(Dep_no)
      
(4)级联更新
foreign   key (dep_no)  references   department(dep_no)  on  cascade

alter  table  Employees
		add constraint  FK_DepNO  foreign  key(dep_no)   references  Department(dep_no)  on  update  cascade
 (5)  with    nocheck
 alter   table  Employees    with nocheck 
				 add   constraint   CK_EmpNo   check(emp_no  like '[0-9][0-9][0-9][0-9]')

(6)  对含有identify 字段的表插入数据
对于含有自增长序列的表,插入数据前;
Set   identity_insert  Purchase_bak on
插入数据后:
Set   identity_insert  Purchase_bak off




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值