当前位置: 首页 > news >正文

【SQL Server】教材数据库(1)

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语句发现添加数据失败,原因是学号作为主键,主键具有唯一标识不能重复。

更换学号后执行成功

http://www.lryc.cn/news/513968.html

相关文章:

  • Windows系统下载、部署Node.js与npm环境的方法
  • SQL 总结
  • 设计一个基于Spring Boot开发的电商网站,部署在阿里云上
  • Java jni调用nnom rnn-denoise 降噪
  • C++软件设计模式之状态模式
  • Microsoft Visual Studio中的/MT, /MTd,/MD,/MDd分别是什么意思?
  • 谷粒商城项目125-spring整合high-level-client
  • 日期时间选择(设置禁用状态)
  • 基于SpringBoot的题库管理系统的设计与实现(源码+SQL+LW+部署讲解)
  • 钉钉h5微应用安卓报错error29 ios报错error3 加上报错52013,签名校验失败 (前端)
  • Vue.js组件开发-客户端如何限制刷新Token次数
  • Linux上安装jdk
  • Ardunio BLE keyboard 库的使用
  • django --递归查询评论
  • 【开源免费】基于SpringBoot+Vue.JS音乐网站(JAVA毕业设计)
  • SUBSTRING_INDEX()在MySQL中的用法
  • 对45家“AI+安全”产品/方案的分析
  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述
  • Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法
  • UNI-APP弹窗
  • 【大模型实战篇】LLaMA Factory微调ChatGLM-4-9B模型
  • 【Cesium】三、实现开场动画效果
  • #渗透测试#红蓝攻防#红队打点web服务突破口总结01
  • 适用于项目经理的跨团队协作实践:Atlassian Jira与Confluence集成
  • 智能家居体验大变革 博联 AI 方案让智能不再繁琐
  • 云计算与服务是什么
  • 接口测试面试题
  • 【Cesium】六、实现鹰眼地图(三维)与主图联动效果
  • ESLint+Prettier的配置
  • 4.微服务灰度发布落地实践(消息队列增强)