使用程序:SQL Server 2008
时间:2020年6月
练习题目:创建完整的多表数据库
要求:熟练掌握多表数据库的创建
题目

--使用主数据库
use master
go
--判断
if exists (select * from sys.databases where name = 'Test')
drop database Test
go
--常创建
create database Test
go
--使用创建的数据库
use Test
go
--判断创建表是否存在
if exists (select * from sys.objects where name = 'Project')
drop table Project
if exists (select * from sys.objects where name = 'Task')
drop table Task
go
--创建表
create table Project
(
ProjectID int primary key identity(1,1), --项目编号
ProjectName varchar(50) not null --项目名称
)
create table Task
(
TaskID int primary key identity(1,1), --任务编号
TaskPriority int check(TaskPriority = 1 or TaskPriority = 2 or TaskPriority = 3), --任务优先级
Content varchar(200) not null, --任务内容
AddTime datetime default(GETDATE()) not null, --添加时间
TaskState int default(1) check(TaskState = 1 or TaskState = 2), --任务状态
FinishedTime datetime default(null), --完成时间
ProjectID int references Project(ProjectID) --所属项目编号
)
go
--插入测试数据
insert into Project values ('No1')
insert into Project values ('No2')
insert into Project values ('No3')
insert into Task values (1,'备注','',2,GETDATE(),1)
insert into Task values (3,'备注',GETDATE(),1,null,2)
insert into Task values (2,'备注','',2,'',3)
--测试插入数据
select * from Project
select * from Task
显示结果:

注意因为有主外键的关系,在判断创建表是否存在的时候先后顺序要理清楚,先删除外键再删除主键
本文详细介绍了使用SQLServer2008创建包含Project和Task两个表的多表数据库的过程,包括数据库的创建、表的定义、主外键关系设置及测试数据的插入,为读者提供了实用的数据库设计与实现指南。
8070





