写出创建如下三张数据表的SQL语句。

写出创建如下三张数据表的SQL语句。(本题4分)
“图书”表结构:
书号:普通编码定长字符类型,长度为10,主键。
书名:普通编码可变长字符类型,长度为20,非空。
类别:统一字符编码定长字符类型,长度为4,取值为:“高等数学”、“量子力学”、“国学基础”。
出版日期:日期类型。
单价:整型。
“书店”表结构:
书店编号:普通编码定长字符类型,长度为20,主键。
书店名:普通编码可变长字符类型,长度为30,非空。
地址:统一字符编码可变长字符类型,长度为30。
“销售”表结构:
书号:普通编码定长字符类型,长度为10,引用图书表的外键。
书店编号:普通编码定长字符类型,长度为20,引用书店表的外键。
销售时间:日期时间类型。
销售数量:整型。
主键:(书号,书店编号,销售时间)。

在SSMS中,用【创建表】来设计,包括约束;然后保存,选中该新表,右键【编写表脚本】,SQL就有了
项目”表结构:项目号:普通编码定长字符类型,长度为10,主键。项目写出创建如下三张表的sQL语句。
按照要求用SQL语句创建表格:选课表:表名——SC属性:Sno字符型,最大7个字符表示学生学号。
Cno字符型,最大4个字符表示课程号。Grade整型表示成绩。约束:主码——Sno,Cno;Sno,Cno均为外码)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-16
CREATE TABLE TEACHER
(
 TID CHAR(10) primary key,
 TNAME VARCHAR(20),
 TDEPT VARCHAR(30),
 TJNAME CHAR(6)
)
insert into TEACHER values('110','黄嘉欣','管理学系','教授')
insert into TEACHER values('111','刘而已','计算机系','教师')
insert into TEACHER values('112','王嘉骥','外语系','副教授')

CREATE TABLE COURSE1
(
  CNO CHAR(20) primary key,
  CNAME VARCHAR(40),
  CHOUR tinyint ,
  TERM tinyint 
)
insert into COURSE1 values('011','酒店管理',35,1)
insert into COURSE1 values('012','管理学基础',75,1)
insert into COURSE1 values('021','JAVA基础',80,2)
insert into COURSE1 values('022','安卓开发',70,2)
insert into COURSE1 values('031','英语作文书写',40,1)
insert into COURSE1 values('032','日语听力练习',70,1)

insert into COURSE1 values('033','日语写作',70,1)
insert into COURSE1 values('023','数据结构',20,1)

create table tcourse
(
TID CHAR(10) ,
CNO CHAR(20) ,
thour int,
tyear int --这个题有些矛盾,如果这里设为了主键,下面插入数据就没法插入重复的,c.3.就没有意义
)
ALTER TABLE tcourse ADD CONSTRAINT TID_cons FOREIGN KEY (TID) REFERENCES teacher;
ALTER TABLE tcourse ADD CONSTRAINT CNO_cons FOREIGN KEY (CNO) REFERENCES course1;

insert into tcourse values('110','011',35,2014)
insert into tcourse values('110','012',75,2012)
insert into tcourse values('111','021',80,2015)
insert into tcourse values('111','022',70,2013)
insert into tcourse values('112','031',40,2014)
insert into tcourse values('112','032',70,2014)
--a.
SELECT TNAME,TDEPT FROM TEACHER WHERE TJNAME='教授'
--b.
SELECT COUNT(CNO) FROM COURSE1 WHERE CHOUR>40
--C.
select CNAME,CHOUR,TNAME,thour FROM COURSE1 C1,TEACHER TR ,tcourse TE 
WHERE C1.CNO=TE.CNO AND TR.TID = TE.TID AND TE.tyear=2012
--D.
DELETE COURSE1 WHERE CNO NOT IN(SELECT CNO FROM tcourse)
--3.
CREATE VIEW QL
as
SELECT TNAME,CNAME,thour  FROM COURSE1 C1,TEACHER TR ,tcourse TE 
WHERE C1.CNO=TE.CNO AND TR.TID = TE.TID AND TE.tyear=2014

SELECT * FROM QL

我用的数据库是SQL2008 R2,已测试。

第2个回答  2018-05-24

create table 图书

(书号 char(10) primary key,

书名 varchar(20) not null,

类别 nchar(4) check 类别 in('高等数学','量子力学','国学基础'),

出版日期 date,

单价 int)

create table 书店

(书店编号 char(20) primary key,

书店名 varchar(30) not null,

地址 nvarchar(30))

create table 销售

(书号 char(10) references 图书,

书店编号 char(20) char(20) references 书店,

销售时间 datetime,

销售数量 int,

primary key (书号,书店编号,销售时间))

本回答被网友采纳
第3个回答  2022-12-15
在题后写出创建如下三张数据表的SQL语句。“电子产品"表结构:产品型号:普通编码定长字符类型,长度为20,主键。产品类别:普通编码定长字符类型,长度为6,取值为:“笔记本电脑”、“智能手机”。生产年份:整型。“经销商"表结构:经销商号:普通编码定长字符类型,长度为20,主键。经销商名:普通编码可变长字符类型,长度为40,非空。地址:普通编码可变长字符类型,长度为50。“销售"表结构:经销商号:普通编码定长字符类型,长度为20,引用经销商表的外键。产品型号:普通编码定长字符类型,长度为20,引用电子产品表的外键。销售时间:日期时间型。销售价格:整
型主键:(经销商号,产品型号,销售时间)。150