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

数据库基础知识点(系列五)

创建表,设置约束,修改表,删除表,表中数据的操作(insert,修改,删除)

1.在第5章习题创建的 “仓库库存”数据库中完成下列操作。

(1)创建“商品”表,表结构如表6-4:

 表6-4 “goods”商品表

(2)创建“store”仓库表,表结构如表6-5:

                                    表6-5 “store”仓库表

(3)创建“invent”库存情况表,表结构如表6-6:

表6-6 “invent”库存情况表

 (3)创建“manager”管理员表,表结构如表6-7:

表6-7 “manager”管理员表

答:(1)

USE仓库库存

GO

CREATE TABLE goods

      (gno     char(6)     PRIMARY KEY, //主键

      gname nvarchar(10)  NOT  NULL,  //不能为空值

      price      float     NOT  NULL,

      producer nvarchar(30)  NOT  NULL

    )

CREATE TABLE store

      (stno     char(3)   PRIMARY KEY,

      address nvarchar(30)  NOT  NULL,

      telephone  varchar(11)  check(telephone like '[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]' ),

      capacity   smallint

     )

CREATE TABLE invent

      (stno   char(3)  foreign key references store(stno),

      gno  char(6)  foreign key references goods(gno),

      number   int,

     primary key(stno,gno)

   )

CREATE TABLE manager

      (mno     char(3)  PRIMARY KEY,

     mname nvarchar(10)  NOT  NULL,

      sex     nchar(1)  check(sex in ('男','女')),

      birthday  date  check(birthday between '19570101' and '20100101'),

      stno  char(3)  foreign key references store(stno)

)

Alter table store

Add check(capacity>=sum(number))

2.建立商品表、仓库表、库存情况表和管理员表四表之间的关系图。

答:略。

3.分别给商品表、仓库表、库存情况表和管理员表添加数据。

答:例如,

INSERT INTO goods VALUES('bx-179','冰箱',3200,'青岛海尔')

   INSERT INTO store VALUES('001','1号楼','89000001',69)

   INSERT INTO invent VALUES('004','bx-179',5)

INSERT INTO manager VALUES('101','张力','男','1989-2-3','001')

4. 在teaching教学库创建一个student1表,包含“学号”、“姓名”和“年级”列,要求能够与student表同步插入、修改和删除数据。

答:CREATE TABLE student1

  (  sno     char(7)      PRIMARY KEY,

  sname   nvarchar(10)      NOT NULL,

  grade   nchar(3)     NULL,

  )

MERGE student1 AS d  USING  student  AS s  

ON s.ProductID=d.ProductId  WHEN NOT MATCHED BY TARGET

THEN INSERT(sno,sname,grade) VALUES(s.sno, s.sname, s.grade)  

WHEN NOT MATCHED BY SOURCE THEN  DELETE  

WHEN MATCHED THEN  

UPDATE SET d.sname = s.sname, d.grade = s.grade;


http://www.kler.cn/a/608366.html

相关文章:

  • 分数线划定(信息学奥赛一本通-1180)
  • 关于跨域问题(本地前端访问服务器端接口跨域出错)
  • 解析信息归属地与网络安全的关联
  • 重复出现的数字
  • 无人机中继传输数据链技术,(无人机+自组网)远距离传输技术实现详解
  • Taro 深度解析:跨端框架的设计哲学与实践精髓
  • 智能巡检与预警保障电网安全
  • 开源视频剪辑工具,无损编辑更高效
  • position 属性的值有哪些及其区别
  • PostgreSQL:数据类型与运算符
  • Linux C/C++ 程序的内存泄漏定位方法
  • 使用selenium来获取数据集
  • Java学习总结-Map集合的实现类
  • 算法 | 小龙虾优化算法原理,引言,公式,算法改进综述,应用场景及matlab完整代码
  • VMware打开ubuntu正在使用中怎么解决
  • C语言---函数指针 (指向函数的指针)
  • centos 7 部署FTP 服务用shell 脚本搭建
  • 【区块链 + 文化版权】文创链 | FISCO BCOS 应用案例
  • 如何使用 Postman 在线版?新手教程
  • 导游职业资格考试:从迷茫到清晰的备考指南