灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4854回复:0

[SQL Server]SQL Server数据架构创建之表格的创建

楼主#
更多 发布于:2013-06-17 11:10
SQL Server数据架构创建之表格的创建
 
格式:
 
create table 表名
 
(
 
列名1 类型,
 
列名2 类型
 
)
 
on 文件组
 
如:
 
create table Student
 
(
 
id int identity(1,1),
 
name varchar(20)
 
)
 
on grouptwo
 
注:可在列后面添加各种约束等。如果需要使用代码列出当前数据库中的表,可查询
 
Sys.tables。如:
 
select * from Sys.tables
 
一、架构
 
架构是一个对象,仅用于拥有数据库对象,以便将大型数据划分成易于管理的模块或实
 
现不同的安全策略。默认情况下,对象归dbo架构所有,在由4部分组成的名称中,
 
架构安全是第三部分。
 
Server.Database.Schema.Object ;
 
注:如果使用自定义架构而不是dbo,则每次查询都必须指定该架构。
 
二、创建键
 
1、主键
 
关系数据库依赖于主键,在物理层主键主要有两个作用
 
a、唯一地标识行
 
b、作为可供外键引用的对象
 
SQL Server以约束方式实现主键和外键。
 
主键约束相当于唯一性约束和聚集(或非聚集)唯一索引的组合。
 
 1.1创建主键
 
方法一:在创建表时在列后加上
 
primary key [nonclustered|clustered]
 
或者在表格定义的最后定义
 
如:
 
create table Student
 
(
 
id int identity(1,1) primary key ,
 
name varchar(20)
 
)
 

 
create table Student
 
(
 
id int identity(1,1) ,
 
name varchar(20),
 
constraint Student_PK_ID primary key (id)
 
)
 
方法二:使用alter table声明
 
alter table 表名 add constraint 约束名 primary key (列名1[,列名2]) on 文件组名
 
如:alter table Student add constraint Student_PK_ID primary key (id)
 
1.2天然主键
 
如:人名、护照号、街道地址
 
1.3标识列代理主键
 
identity(n1,n2)
 
1.4gUID
 
使用Default (  newid ( ) |newSequentialID())
 
三、创建外键
 
1.1创建表时在列后加
 
foreign key references 表名(列名)
 
1.2使用alter table
 
alter table 表名 add constraint 约束名 foreign key (外键列名) references 表名(列名)
 
注:表名(列名):一般是其它表和其主键列。
 
如:
 
create table course
 
(
 
c_id int primary key,
 
c_name varchar(20)
 
)
 
go
 
create table select_course
 
(
 
s_id int foreign key references Student(id),
 
c_id int foreign key references course(c_id)
 
)
 
1.3可选外键(外键值可为空,也有效)
 
1.4级联删除和更新
 
当主键值被删除或更新时,相应的外键也随同一起删除和更新。

喜欢0 评分0
游客

返回顶部