• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一个未来
不管结果如何,你都应该做到最好
博客园    首页    新随笔    联系   管理    订阅  订阅

优化Myschool数据库设计SQL 建库建表建约束

我的笔记

use master --设置当前操作的数据库位master数据库
go --一个批处理操作

--判断数据库是否已经存在,如果存在则先删除
if exists(
select * from sysdatabases where name = 'MySchool'
)
drop database MySchool --删除数据库
go

--执行sp_configure启用xp_cmdshell
EXEC sp_configure 'show advanced options',1 --显示高级配置信息
GO
RECONFIGURE --重新配置
GO
EXEC sp_configure 'xp_cmdshell',1 --打开xp_cmdshell选项
GO
RECONFIGURE --重新配置
GO
--创建数据库所在的文件夹
EXEC xp_cmdshell 'mkdir D:\projectDB'
go

--创建MySchool数据库
create database MySchool
on
(
name = 'MySchool_data', --逻辑名称
filename = 'D:\projectDB\MySchool_data.mdf',--物理路径
size = 5mb, --初始大小
maxsize = 100mb,--最大值
filegrowth = 15% --文件增长率
)
log on
(
name = 'MySchool_log', --逻辑名称
filename = 'D:\projectDB\MySchool_log.ldf',--物理路径
size = 2mb, --初始大小
maxsize = 20mb,--最大值
filegrowth = 1mb --文件增长率
)
go

use MySchool --设置当前操作的数据库为MySchool
go
--判断student表是否存在,如果存在则先删除
if exists(
select * from sysobjects where name='Student'
)
drop table student
go

--创建Student表
create table Student
(
StudentNo int not null , --学号,非空(必填)
LoginPwd nvarchar(20) , --密码,非空(必填)
StudentName nvarchar(20) , --姓名,非空(必填)
Sex bit , --性别,非空(必填)
GradeId int , --年级号(必填)
Phone nvarchar(50) NULL, --电话
BornDate datetime NULL, --出生日期(必填)
Address nvarchar(255) NULL, --地址
Email nvarchar(50) NULL, --邮件帐号
IDENTITYCard varchar(18) NULL --身份证号(必填)
)
go

--创建年级表
Create table Grade
(
GradeId int not null,
GradeName varchar(50) not null
)
go

 

--为Grade表添加主键
ALTER TABLE Grade
ADD CONSTRAINT PK_GradeID PRIMARY KEY(GradeID)

--为Student表添加约束
Alter table Student Add
constraint PK_stuNo Primary key(StudentNo), --主键约束
constraint DF_stuAddress DEFAULT('地址不详')FOR Address,--默认约束
constraint UQ_IdentityCard Unique(IDENTITYCard), --唯一约束
constraint CK_stuBornDate CHECK(BornDate > '1980-01-01'),--检查约束
constraint FK_Grade FOREIGN KEY(GradeID) REFERENCES Grade(GradeID) --外键约束

posted @ 2015-01-12 22:24  一个未来  阅读(184)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3