数据库习题

1.数据库中的E-R图
E-R图是(实体-联系图)用于反应现实世界中实体之间的联系的图形。
包含元素有:
1.实体(矩形框为实体名)
2.属性(短横线连接实体,椭圆内写上属性名)
3.联系类型(联系连接不同实体的线上表示出联系类型)(菱形表示)
联系类型:1:1(实体之间一对一关系);1:n(1对多的关系);m:n(多对多的关系);
合并E-R图:各个局部应用面临问题不同,各个子系统的E-R图之间存在不一致,称为冲突
1.属性冲突:属性值类型,取值范围,取值集合不同
2.命名冲突:不同意义的对象在不同局部应用中具有相同的名字||同一意义的对象在不同局部应用中具有不同的名字
3.结构冲突:同一对象在不同应用中具有不同的抽象;

2.数据库中什么是元组?
元组是关系型数据库中的基本概念,关系是一张表(表中每一行是一个元组)(每列就是一个属性)

3. sql语言中,between 20 and 30 表示的区间?
sql中:between 和 and 表示的是闭区间
4. 什么是事务?
mysql事务:传统理解mysql中一次操作过程表示一次事务
mysql中有多个线程,同时操作mysql数据,称为并发事务
mysql中,数据库层面采用不同的事务隔离级别进行并发事务的控制
不同隔离级别是因为数据库中内部锁机制使用方式不同
有的是在select完成之后立马释放锁,有的是在commit之后释放锁
应用层事务:
每一个线程调用服务本质上也称为事务
多线程同时调用服务,也称为并发事务
应用层对并发事务解决方案包含:同步锁(悲观锁),乐观锁

ACID:

A:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sql语句来练习题。1. 写出创建图书表的SQL语句。 Create table book( Book_id char (10) primary key, (主码primary key) Name varchar(30) not null, (非空not null) Author varchar(20) Publish varchar(30) Price decimal(6,2) (,前表示有几位有效数字 ,后表示小数部分有几位) ) 2. 将编号为“NEU1105101”的图书的定价改为50元。 Update book (修改数据update语句) Set price=50 Where book_id=‘NEU1105101’ 3. 查询所有男性读者的姓名和出生日期。 Select name.birthdate From reader Where sex=‘男’ 4. 查询图书表中出现过哪些出版社,每个出版社名称只显示一次,并且按照出版社名称升序排列显示。 Select publish From book Order by publish ASC (按照出版社升序排列显示) 5. 查询借阅过定价介于20元到40元(包括两个边界值)图书的读者的姓名。 Select Name (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where price >=20 and price <=40 6. 查询每个读者借阅过图书的数量,只显示借阅过图书的读者的读者编号以及借书数量。 Select count(book_id),reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Group by reder_id 7. 如果有一个名为user001的用户,请写出给他分配对图书表进行数据修改的权限的SQL语句。 Grant update on book to user001 (授权grant语句) 8. 创建一个名为view001的视图,其中包含每个出版社的名称、该出版社出版图书的数量、该出版社出版图书的最高定价、以及该出版社出版图书的最低定价。 Create view view001 (创建视图格式,聚集函数) AS Select publish,count(book_id),MAX(price),MIN(price) From student 9. 显示借阅过书名包含“数据库”字样的女性读者的编号和姓名。 Select Name,reader_id (建立多表连接查询) From borrow join book on borrow.book_id=book.book_id Join reader on borrow.reader_id=reader.readerid Where name like ‘%数据库%’ 10. 显示出版图书数量超过100本的出版社的名称及其出版图书的数量。 Select count(book_id),publish (查询图书数量,出版社名称) From book Group by publish (根据出版社的名称来分组) Having count(book_id)>100 (条件约束) 这里用having 不用where 原因是它不能和聚集函数一起使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值