sql server2000 入门应用实例

来源:互联网 发布:优化发展环境心得 编辑:程序博客网 时间:2024/04/28 23:04

   
一、论坛数据库练习:
1、 数据库bbsDB,主文件和逻辑文件 初始值都是10M;
2、 bbsDB结构
表名 备注 
bbsUser 用户表 
bbsSector 版块表 
bbsTopic 主贴表 
bbsReply 回帖表 

二、bbsUser(用户表结构)

字段名 数据类型 是否为空 备注 
UID Int Not 用户ID,主键,自动增长
uName Varchar(20) Not 用户姓名,
uLoginName Varvchar(50) Not 用户昵称或者登陆名(至少6个字符)
uPwd Varchar(20) Not 用户密码,默认值为:888888
uAge Int  年龄,在1-150之间
uState Bit   用户状态,0离线,1在线,2禁言,
uClass Int  星级,默认为1
uPoint Int  积分,默认20分
uEmail Varchar(50) Not 邮箱必须包含@符号
uRegDate Datetime  注册时间,默认当天
uTopicCount Int  发帖数,默认0
   
   

三、bbsSector(版块表结构)


字段名 数据类型 是否为空 备注
SID In Not 版块表分类ID,主键,自动增长
sName Varchar(20) Not 版块名称
sMasterID Int Not 版主ID, 引用用户表ID,外键
sContent Varchar(200)  简介 不少于6个字符
sCount Int  此版块的发帖数 默认0


四、bbsTopic(主贴表结构)


字段名 数据类型 是否为空 备注
TID Int Not 主贴表ID,主键,自动增长
tSID Int Not 所属版块ID,外键
Title Varchar(200) Not 标题
tContent Ntext Not 内容
tUID Int Not 发帖人ID   外键
tTime Datetime  发帖时间 默认当天
tEndTime Datetime  最后跟帖时间 不能早于发帖时间
tCount Int  跟帖数,默认为0


二、bbsReply(回帖表结构)


字段名 数据类型 是否为空 备注
RID Int Not 回帖表ID,主键,自动增长
rTID Int Not 主贴ID,外键
rUID Int Not 回帖人ID,外键
rContent Ntext Not 回复内容,不少于6个字符
rTime Datetime  回帖时间默认当天

 

 

 

 

 

 

 

 

下面是答案 

 

create database bbsDB
on
primary(name=bbsDB_data,
filename='F:/sql实战/bbsDB.mdf',
size=10MB,
maxsize=unlimited,
filegrowth=10%)
create table bbsUser
(
uID int identity(1,1) primary key,
uName varchar(20) not null,
uLoginName varchar(50)check(uLoginName>=6) not null,
uPwd varchar(20) default'888888' not null,
uAge int check(uAge>=1 and uAge <=150),
uState bit default'0',
uClass int default'1',
uPoint int default'20',
uEmail varchar(50) not null,
uRegDate datetime default(getdate()),
uTopicCount int default'0'
)


create table bbsSector
(
sID int identity(1,1) primary key,
sName varchar(20) not null,
sMasterID int not null,
sContent varchar(200) not null,check(sContent>=6),
sCount int default'0'not null
)
alter table bbsSector
add constraint fk_sMasterID
foreign key(sMasterID)references bbsUser

create table bbsTopic
(
tID   int identity(1,1) primary key,
tSID  int not null,
tTitle varchar(200) not null,
tContent ntext not null,
tUID  int not null,
tTime datetime default(getdate()),
tEndtime datetime,
tCount int default'0' not null
)
alter table bbsTopic
add constraint fk_tSID
foreign key(tSID) references bbsSector
alter table bbsTopic
add constraint fk_tUID
foreign key(tUID) references bbsUser

create table bbsReply
(
rID  int identity(1,1) primary key,
rTID int not null,
rUID int not null,
rContent varchar  not null ,
rTime datetime default(getdate())
)
alter table bbsReply
add constraint chk_rContent check(rContent>=6 )
alter table bbsReply
add constraint fk_rUID
foreign key(rUID) references bbsUser
alter table bbsReply
add constraint fk_rTID
foreign key(rTID) references bbsTopic

 

 

原创粉丝点击