按照如下要求创用sql语句创建数据库对象:
某职工社团数据库有以下3个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地址);
参加(职工号,编号,参加日期)。
其中:
1)职工表的主码为职工号
2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号;
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。
用sql语句创建数据库
答案:2 悬赏:0 手机版
解决时间 2021-02-22 13:46
- 提问者网友:無理詩人
- 2021-02-21 17:13
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-02-21 17:28
CREATE TABLE 职工(
职工号 INT PRIMARY KEY,
姓名 VARCHAr(10)
年龄 INT,
性别 VARCHAr(2)
);
CREATE TABLE 社会团体(
编号 INT PRIMARY KEY,
名称 VARCHAr(20),
负责人 INT,
活动地址 VARCHAr(50)
);
ALTER TABLE 社会团体
ADD CONSTRAINT cons_1
FOREIGN KEY (负责人) REFERENCES 职工;
CREATE TABLE 参加(
职工号 INT NOT NULL,
编号 INT NOT NULL,
参加日期 DATETIME,
PRIMARY KEY (职工号, 编号)
);
ALTER TABLE 参加
ADD CONSTRAINT _cons_2
FOREIGN KEY (职工号) REFERENCES 职工;
ALTER TABLE 参加
ADD CONSTRAINT cons_3
FOREIGN KEY (编号) REFERENCES 社会团体;
职工号 INT PRIMARY KEY,
姓名 VARCHAr(10)
年龄 INT,
性别 VARCHAr(2)
);
CREATE TABLE 社会团体(
编号 INT PRIMARY KEY,
名称 VARCHAr(20),
负责人 INT,
活动地址 VARCHAr(50)
);
ALTER TABLE 社会团体
ADD CONSTRAINT cons_1
FOREIGN KEY (负责人) REFERENCES 职工;
CREATE TABLE 参加(
职工号 INT NOT NULL,
编号 INT NOT NULL,
参加日期 DATETIME,
PRIMARY KEY (职工号, 编号)
);
ALTER TABLE 参加
ADD CONSTRAINT _cons_2
FOREIGN KEY (职工号) REFERENCES 职工;
ALTER TABLE 参加
ADD CONSTRAINT cons_3
FOREIGN KEY (编号) REFERENCES 社会团体;
全部回答
- 1楼网友:玩世
- 2021-02-21 18:54
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%
)
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--用户积分
)
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)--密码至少为六位
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--发帖数
)
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)--外键
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--回复时间
)
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)--外键
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--点击数
)
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)--外键
差不多,你改一下吧!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯