1 利用sql建立教材数据库,并定义以下基本表:
学生(学号,年龄,性别,系名)
教材(编号,书名,出版社编号,价格)
订购(学号,书号,数量)
出版社(编号,名称,地址)
定义主码、外码、和价格、数量的取值范围。
2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。
新建查询,使用sql语句创建教材数据库
create database jiaocai                   
 on primary(
   name = jiaocai,
   filename = 'D:\data_place\jiaocai_data.mdf',
   size = 10mb,
   filegrowth = 1mb
 )
log on(
   name = jiaocai_log,
   filename =  'D:\data_place\jiaocai_data.ldf', 
   size = 5mb,
   maxsize = 15mb,
   filegrowth = 10%
 )

分别创建学生,教材,出版社,订购表,为属性添加约束。
use jiaocai
 create table student(
   id        varchar(30) primary key not null,
   name      varchar(10) not null,
   age       int,
   sex       varchar(6),
   dept      varchar(10)
 )   
 create table publish(
   id        varchar(30) primary key not null,
   name      varchar(20) not null,
   address   varchar(40)
 )
 create table book(
   id        varchar(30) primary key not null,
   title     varchar(30),
   c_id      varchar(30) foreign key references publish(id),
   price     int check(price > 0 and price < 200)
 )
 create table orders(
   s_id      varchar(30) foreign key references student(id),
   b_id      varchar(30) foreign key references book(id),
   number    int check(number > 0 and number < 2000)
 )

使用insert into批量向各个表中添加数据
 insert into dbo.student(id,name,age,sex,dept) 
 values
 ('2201331','张伟',18,'男','计算机'),
 ('2202332','王晶',20,'男','光电'),
 ('2203333','刘丽',19,'女','汉语言'),
 ('2204334','严正',21,'男','大数据'),
 ('2205335','蒋婷',18,'女','汉语言'),
 ('2206336','杨智',19,'女','英语'),
 ('2207337','周子涵',20,'男','俄语'),
 ('2208338','王飞',19,'男','机电'),
 ('2209339','吴昊',18,'女','中文'),
 ('2210340','徐峰',20,'男','计算机')
 insert into dbo.publish(id,name,address)values
 ('jj01','安徽出版社','安徽'),
 ('gg01','高教出版社','北京'),
 ('dd01','长春出版社','长春'),
 ('aa01','九州出版社','海口'),
 ('ee01','江苏出版社','江苏'),
 ('hh01','重庆出版社','重庆'),
 ('zz01','青岛出版社','青岛'),
 ('yy01','山东出版社','山东')
 insert into dbo.book(id,title,c_id,price)values
 ('j1','C语言','jj01',50),
 ('g1','光学应用基础','gg01',68),
 ('h1','中国古代诗选','hh01',58),
 ('d1','spark语言基础','dd01',77),
 ('y1','商务英语','yy01',30),
 ('e1','计算机俄语','ee01',88),
 ('a1','机械制图','aa01',56),
 ('z1','大学语文','zz01',40)
 insert into dbo.orders(s_id,b_id,number)values
 ('2201331','j1',1),
 ('2202332','g1',2),
 ('2203333','h1',1),
 ('2204334','d1',1),
 ('2205335','y1',1),
 ('2206336','e1',1),
 ('2207337','a1',1),
 ('2208338','z1',1)

这样数据库和对应的带有数据的数据表就创建好了。
use jiaocai
 insert into dbo.student(id,name,age,sex,dept) 
 values('2209339','王明义',19,'男','计算机')
执行以上sql语句发现添加数据失败,原因是学号作为主键,主键具有唯一标识不能重复。

更换学号后执行成功
