USE master
GO
/*---检查是否已存在bbsDB数据库:查询master数据库中的系统表sysdatabases---*/
IF EXISTS (SELECT * FROM sysdatabases WHERE name = 'bbsDB')
DROP DATABASE bbsDB
GO
EXEC xp_cmdshell 'mkdir D:\project' --调用DOS命令创建文件夹,后续章节将讲解
/*-----建库--------*/
CREATE DATABASE bbsDB
ON
(
/*----数据文件的具体描述--*/
NAME = 'bbsDB_data', --主数据文件的逻辑名
FILENAME = 'D:\project\bbsDB_data.mdf' , --主数据文件的物理名
SIZE = 10 MB, --主数据文件初始大小
FILEGROWTH = 20% --主数据文件的增长率
)
LOG ON
(
/*----日志文件的具体描述,各参数含义同上--*/
NAME = 'bbsDB_log',
FILENAME = 'D:\project\bbsDB_log.ldf' ,
SIZE = 1MB,
MAXSIZE = 20MB,
FILEGROWTH = 10%
)
GO
/*-----建表--------*/
USE bbsDB
GO
/*---检查是否已存在表bbsUsers:查询bbsDB数据库中的系统表sysobjects---*/
IF EXISTS(SELECT * FROM sysobjects WHERE name='bbsUsers')
DROP TABLE bbsUsers
GO
CREATE TABLE bbsUsers
(
UID INT IDENTITY (1,1) NOT NULL , --自动编号,标识列
Uname VARCHAR(15) NOT NULL , --呢称
Upassword VARCHAR (10) , --密码
Uemail VARCHAR (32) , --邮件
Ubirthday DATETIME , --生日
Usex BIT NOT NULL , --性别
Uclass INT , --级别(几星级)
Uremark VARCHAR (255) , --备注
UregDate DATETIME NOT NULL , --注册日期
Ustate INT NULL , --状态(是否禁言等)
Upoint INT NULL --积分(点数)
)
GO
SELECT * FROM bbsUsers
GO
/*--------添加约束-------*/
ALTER TABLE bbsUsers ADD CONSTRAINT PK_UID PRIMARY KEY(UID) --主键
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Upassword DEFAULT (8888) FOR Upassword --初始密码密码为8888
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Usex DEFAULT (1) FOR Usex --性别默认为男(1)
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Uclass DEFAULT (1) FOR Uclass --级别默认为1星级
ALTER TABLE bbsUsers ADD CONSTRAINT DF_UregDate DEFAULT (getDate( )) FOR UregDate --注册日期默认为当前日期
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Ustate DEFAULT (0) FOR Ustate --状态默认为离线
ALTER TABLE bbsUsers ADD CONSTRAINT DF_Upoint DEFAULT (20) FOR Upoint --默认积分20点
ALTER TABLE bbsUsers ADD CONSTRAINT CK_Uemail CHECK (Uemail LIKE '%@%') --必须包含'@'字符
ALTER TABLE bbsUsers ADD CONSTRAINT CK_Upassword CHECK (LEN(Upassword) >= 6) --至少6位
GO
--插入测试数据
INSERT INTO bbsUsers (Uname,Upassword,Uemail,Ubirthday,Uremark,Upoint)
VALUES ('火云邪神','hyxs007','hyxs@HotMail.com', '1978-7-9','快…',20000)
GO
IF NOT EXISTS (SELECT * FROM MASTER.DBO.SYSLOGINS WHERE LOGINNAME = N'SYSADMIN')
BEGIN
DECLARE @LOGINDB NVARCHAR(132), @LOGINLANG NVARCHAR(132) SELECT @LOGINDB = N'BANKDB', @LOGINLANG = N'简体中文'
IF @LOGINDB IS NULL OR NOT EXISTS (SELECT * FROM MASTER.DBO.SYSDATABASES WHERE NAME = @LOGINDB)
SELECT @LOGINDB = N'MASTER'
IF @LOGINLANG IS NULL OR (NOT EXISTS (SELECT * FROM MASTER.DBO.SYSLANGUAGES WHERE NAME = @LOGINLANG) AND @LOGINLANG <> N'US_ENGLISH')
SELECT @LOGINLANG = @@LANGUAGE
EXEC SP_ADDLOGIN N'SYSADMIN', NULL, @LOGINDB, @LOGINLANG
END
GO
EXEC SP_ADDSRVROLEMEMBER N'LIRONGGU\ADMINISTRATOR', SYSADMIN
GO
CREATE TABLE DBO.bbsDBREPLY (
RID INT IDENTITY (1, 1) NOT NULL ,
RNUMBER VARCHAR (32) COLLATE CHINESE_PRC_CI_AS NOT NULL ,
RTID INT NOT NULL ,
RSID INT NOT NULL ,
RUID INT NOT NULL ,
REMOTION INT NULL ,
RTOPIC VARCHAR (255) COLLATE CHINESE_PRC_CI_AS NOT NULL ,
RCONTENTS NTEXT COLLATE CHINESE_PRC_CI_AS NOT NULL ,
RTIME DATETIME NULL ,
RCLICKCOUNT INT NULL
) ON PRIMARY TEXTIMAGE_ON PRIMARY
GO
CREATE TABLE DBO.bbsDBSECTION (
SID INT IDENTITY (1, 1) NOT NULL ,
SNAME VARCHAR (32) COLLATE CHINESE_PRC_CI_AS NOT NULL ,
SMASTERID INT NOT NULL ,
SSTATEMENT VARCHAR (255) COLLATE CHINESE_PRC_CI_AS NULL ,
SCLICKCOUNT INT NULL ,
STOPICCOUNT INT NULL
) ON PRIMARY
GO
CREATE TABLE DBO.bbsDBTOPIC (
TID INT IDENTITY (1, 1) NOT NULL ,
TNUMBER VARCHAR (32) COLLATE CHINESE_PRC_CI_AS NOT NULL ,
TSID INT NOT NULL ,
TUID INT NOT NULL ,
TREPLYCOUNT INT NULL ,
TEMOTION INT NULL ,
TTOPIC VARCHAR (255) COLLATE CHINESE_PRC_CI_AS NOT NULL ,
TCONTENTS NTEXT COLLATE CHINESE_PRC_CI_AS NOT NULL ,
TTIME DATETIME NULL ,
TCLICKCOUNT INT NULL ,
TFLAG INT NOT NULL ,
TLASTCLICKT DATETIME NULL
) ON PRIMARY TEXTIMAGE_ON PRIMARY
GO
ALTER TABLE DBO.bbsDBREPLY WITH NOCHECK ADD
CONSTRAINT PK_bbsDBREPLY PRIMARY KEY CLUSTERED
(
RID
) ON PRIMARY
GO
ALTER TABLE DBO.bbsDBSECTION WITH NOCHECK ADD
CONSTRAINT PK_bbsDBSECTION PRIMARY KEY CLUSTERED
(
SID
) ON PRIMARY
GO
ALTER TABLE DBO.bbsDBTOPIC WITH NOCHECK ADD
CONSTRAINT PK_bbsDBTOPIC PRIMARY KEY CLUSTERED
(
TID
) ON PRIMARY
GO
ALTER TABLE DBO.bbsDBTOPIC ADD
CONSTRAINT CK_bbsDBTOPIC CHECK (TLASTCLICKT > TTIME AND TLASTCLICKT <= GETDATE()),
CONSTRAINT CK_bbsDBTOPIC_1 CHECK (NOT(TTOPIC LIKE '%''%'))
GO
ALTER TABLE DBO.bbsDBREPLY ADD
CONSTRAINT FK_bbsDBREPLY_bbsDBSECTION FOREIGN KEY
(
RSID
) REFERENCES DBO.bbsDBSECTION (
SID
),
CONSTRAINT FK_bbsDBREPLY_bbsDBTOPIC FOREIGN KEY
(
RTID
) REFERENCES DBO.bbsDBTOPIC (
TID
),
CONSTRAINT FK_bbsDBREPLY_bbsUsers FOREIGN KEY
(
RUID
) REFERENCES DBO.bbsUsers (
UID
)
GO
ALTER TABLE DBO.bbsDBSECTION ADD
CONSTRAINT FK_bbsDBSECTION_bbsUsers FOREIGN KEY
(
SMASTERID
) REFERENCES DBO.bbsUsers (
UID
)
GO
ALTER TABLE DBO.bbsDBTOPIC ADD
CONSTRAINT FK_bbsDBTOPIC_bbsDBSECTION FOREIGN KEY
(
TSID
) REFERENCES DBO.bbsDBSECTION (
SID
),
CONSTRAINT FK_bbsDBTOPIC_bbsUsers FOREIGN KEY
(
TUID
) REFERENCES DBO.bbsUsers (
UID
)
GO
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
SQL Server.rar (51个子文件)
SQL Server
PPT
TP6.ppt 466KB
TP2.ppt 824KB
TP4.ppt 762KB
TP1.ppt 2.42MB
TP5.ppt 866KB
TP7.ppt 696KB
TP3.ppt 694KB
学生用书源代码
上机部分
LG3-Source
第三阶段.sql 5KB
LG6-Source
第六阶段.sql 4KB
LG7-Source
第七阶段.sql 4KB
LG2-Source
第二阶段.sql 6KB
LG5-Source
第五阶段.sql 3KB
LG4-Source
第四阶段.sql 3KB
理论部分
SG4-Source
示例5:EXISTS子查询.sql 978B
示例4:NOT IN子查询.sql 315B
示例3:IN子查询.sql 385B
示例2:多表子查询.sql 319B
示例1:什么是子查询.sql 396B
示例6:综合查询.sql 2KB
SG2-Source
示例7.sql 197B
示例3.sql 520B
示例6.sql 236B
示例4.sql 187B
示例5.sql 682B
示例1.sql 495B
示例2.sql 713B
示例8.sql 227B
SG7-Source
示例1:为什么需要触发器.sql 1KB
示例2:INSERT触发器.sql 2KB
示例4:UPDATE触发器.sql 1KB
示例5:UPDATE列触发器.sql 768B
示例3:DELETE触发器.sql 868B
SG3-Source
变量.sql 338B
while循环.sql 438B
if语句.sql 382B
全局变量和输出语句.sql 383B
case多分支.sql 425B
SG6-Source
示例6:raiserror语句.sql 2KB
示例5:带输出参数的存储过程.sql 1KB
示例2:xp_cmdshell扩展存储过程.sql 574B
示例3:不带参数的存储过程.sql 983B
示例4-1:带参数的存储过程1.sql 863B
示例1:常用的系统存储过程.sql 558B
示例4-2:带默认参数的存储过程2.sql 1KB
SG5-Source
示例2:如何创建事务.sql 1KB
示例3:创建索引.sql 536B
示例1:为什么需要事务.sql 1KB
示例4:创建视图.sql 575B
指导学习参考答案
指导学习答案.sql 3KB
学生用书源代码.rar 33KB
教学指导书源代码.rar 6KB
共 51 条
- 1
sz_bdqn
- 粉丝: 398
- 资源: 129
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0