T-SQL 建立資料庫

來源:互聯網
上載者:User

 

/*建立bbsDB資料庫*/
use master
if exists(select * from sysdatabases where name='bbsDB')
drop database bbsDB
create database bbsDB
on
(
name='bbsDB_data',
filename='D:\project\bbsDB_data.mdf',
size=10,
filegrowth=20%
)
log on
(
name='bbsDB_log',
filename='D:\project\bbsDB_log.ldf',
size=3,
maxsize=20,
filegrowth=10%
)

/*建立bbsUsers表*/
use bbsdb
if exists(select * from sysobjects where name='bbsUsers')
drop table bbsUsers
create table bbsUsers
(
UID int identity(1,1) not null,--學號,識別欄位
Uname varchar(15) not null,--使用者暱稱
Upassword varchar(10) not null,--使用者密碼
Uemail varchar(20),--郵箱地址
Usex bit not null,--使用者性別
Uclass int,--等級
Uremark varchar(20),--備忘
UregDate datetime not null,--註冊日期
Ustate int null, --狀態
Upoint int null--使用者積分
)

/*建立bbsUsers表中的約束*/
alter table bbsUsers
add constraint PK_uid primary key(uid),--主鍵
constraint DF_Upassword default(888888) for Upassword,--初始密碼為888888
constraint DF_Usex default (1) for Usex,--性別預設為男
constraint DF_UregDate default (getdate()) for UregDate,--註冊日期預設為系統日期
constraint DF_Ustate default(0) for Ustate,--狀態預設為離線
constraint DF_Upoint default(20) for Upoint,--積分預設為20點
constraint CK_Uemail check(Uemail like '%@%'),--電子郵件必須含有@符號
constraint CK_Upassword check (len(Upassword)>=6)--密碼至少為六位

/*建立bbsSection表*/
use bbsdb
if exists(select * from sysobjects where name='bbsSection')
drop table bbsSection
create table bbsSection
(
SID int identity(1,1) not null,--板塊標號,自動成長
Sname varchar(32) not null,--版塊名稱
SmasterID int not null,--版主使用者ID
Sprofile varchar(20) null,--版面簡介
SclickCount int null, --點擊率
StopicCount int null--發帖數
)

/*建立bbsSection表中的約束*/
alter table bbsSection
add constraint PK_sid primary key(sid),--主鍵
constraint DF_SclickCount default(0) for SclickCount,--點擊率預設為0
constraint DF_StopicCount default(0) for StopicCount,--發帖數預設為0
constraint DF_SmasterID foreign key(SmasterID)references bbsUsers (UID)--外鍵

/*建立bbsTopic表*/
use bbsdb
if exists(select * from sysobjects where name='bbsTopic')
drop table bbsTopic
create table bbsTopic
(
TID int identity(1,1) not null,--文章編號,自動成長
TsID int not null,--發帖人ID
TuID int not null,--版主使用者ID
TreplyCount int null,--回複數量
Tface int null, --發帖表情
Ttopic varchar(20) not null,--標題
Tcontents varchar(30) not null,--本文
Ttime datetime null,--發帖時間
TclickCount int null,--點擊數
Tstate int not null,--狀態
TlastReply datetime null--回複時間
)

/*建立bbsTopic表的約束*/
alter table bbsTopic
add constraint DF_TreplyCount default(0) for TreplyCount,--回複數量預設為0
constraint PK_tid primary key(tid),--主鍵
constraint DF_TclickCount default (0) for TclickCount,--點擊數預設為0
constraint DF_Tstate default (1) for Tstate,--狀態預設為1
constraint DF_Ttime default (getdate()) for Ttime,--發帖時間預設為系統日期
constraint CK_Tcontents check (len(Tcontents)>=6),--本文必須大於六個字元
constraint CK_TlastReply check ((TlastReply)>(Ttime)),--最後回複時間必須晚於發帖時間
constraint DF_TsID foreign key(TsID)references bbsSection (SID),--外鍵
constraint DF_TuID foreign key(TuID)references bbsUsers (UID)--外鍵

/*建立bbsReply表*/
use bbsdb
if exists(select * from sysobjects where name='bbsReply')
drop table bbsReply
create table bbsReply
(
RID int identity(1,1) not null,--自動編號,文章編號
RtID int not null,--主貼ID
RsID int not null,--板塊ID
RuID int not null,--回帖人ID
Rface int null, --回帖表情
Rcontents varchar(30) not null,--本文
Rtime datetime null,--回帖時間
RclickCount int null--點擊數
)

/*建立bbsReply表的約束*/
alter table bbsReply
add constraint DF_Rtime default (getdate()) for Rtime,--回帖時間預設為系統日期
constraint CK_Rcontents check (len(Rcontents)>=6),--本文必須大於六個字元
constraint DF_RtID foreign key(RtID)references bbsTopic (TID),--外鍵
constraint DF_RsID foreign key(RsID)references bbsSection (SID),--外鍵
constraint DF_RuID foreign key(RuID)references bbsUsers (UID)--外鍵

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.