Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Kiryuu Sakuya
Database-test
Commits
64b5371d
Verified
Commit
64b5371d
authored
Dec 17, 2019
by
Kiryuu Sakuya
🎵
Browse files
Finish No.3
parent
2ef2e21c
Changes
2
Hide whitespace changes
Inline
Side-by-side
03. 图书管理数据库.md
0 → 100644
View file @
64b5371d
# 图书管理数据库
## 数据库
现有图书管理数据库的三个关系模式:
book - 图书(总编号, 分类号, 书名, 作者, 出版单位, 单价)
reader - 读者(借书证号, 单位, 姓名, 性别, 职称, 地址, 电话)
lr - 借阅(借书证号, 总编号, 借书日期)
在 MYSQL 中建立一个 TSDB 的数据库并在数据库中建立三张表,在三张表中分别插入以下所给的元组。(字段的数据类型请自己定义,不做要求,需建主键,无需建外键)
### 建库命令
请参阅
`图书管理数据库.sql`
。
## 题目与解答
### 1. 查找书名以计算机打头的所有图书和作者
```
mysql
SELECT * FROM book WHERE Bname LIKE '计算机%';
```
### 2. 检索同时借阅了总编号为 112266 和 449901 两本书的借书证号
```
mysql
SELECT reader.Lno
FROM book
LEFT JOIN lr ON lr.Bno = book.Bno
LEFT JOIN reader ON reader.Lno = lr.Lno
WHERE lr.Bno = '112266' AND '449901';
```
### 3. 找出李某所借图书的所有图书的书名及借书日期
```
mysql
SELECT book.Bname, lr.Ltime
FROM book
LEFT JOIN lr ON lr.Bno = book.Bno
LEFT JOIN reader ON reader.Lno = lr.Lno
WHERE reader.Lname LIKE '李%';
```
### 4. 求信息系当前借阅图书的读者人次数
```
mysql
-- COUNT 的话,比如 SELECT COUNT(*) FROM pet; 这种就是数 pet 里所有的。
-- DISTINCT 是去除重复记录的。
SELECT count(DISTINCT Lno)
FROM lr
WHERE Lno in (
SELECT Lno
FROM reader
WHERE dept='信息系');
```
### 5. 找出借阅了 FoxPro 大全一书的借书证号
```
mysql
SELECT reader.Lno
FROM book
LEFT JOIN lr ON lr.Bno = book.Bno
LEFT JOIN reader ON reader.Lno = lr.Lno
WHERE book.Bname = 'FoxPro 大全';
```
\ No newline at end of file
SQL/图书管理数据库.sql
0 → 100644
View file @
64b5371d
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50714
Source Host : localhost:3306
Source Database : tsdb
Target Server Type : MYSQL
Target Server Version : 50714
File Encoding : 65001
Date: 2018-01-03 10:04:58
*/
SET
FOREIGN_KEY_CHECKS
=
0
;
-- ----------------------------
-- Table structure for `book`
-- ----------------------------
DROP
TABLE
IF
EXISTS
`book`
;
CREATE
TABLE
`book`
(
`Bno`
varchar
(
6
)
NOT
NULL
,
`Cno`
varchar
(
7
)
DEFAULT
NULL
,
`Bname`
varchar
(
10
)
DEFAULT
NULL
,
`writer`
varchar
(
10
)
DEFAULT
NULL
,
`publication`
varchar
(
10
)
DEFAULT
NULL
,
`price`
decimal
(
9
,
2
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`Bno`
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8mb4
;
-- ----------------------------
-- Records of book
-- ----------------------------
INSERT
INTO
`book`
VALUES
(
'445501'
,
'TP3/12'
,
'数据库导论'
,
'王强'
,
'科学出版社'
,
'17.90'
);
INSERT
INTO
`book`
VALUES
(
'445502'
,
'TP3/12'
,
'数据库导论'
,
'王强'
,
'科学出版社'
,
'17.90'
);
INSERT
INTO
`book`
VALUES
(
'445503'
,
'TP3/12'
,
'数据库导论'
,
'王强'
,
'科学出版社'
,
'17.90'
);
INSERT
INTO
`book`
VALUES
(
'332211'
,
'TP5/10'
,
'计算机基础'
,
'李伟'
,
'高等教育出版社'
,
'18.00'
);
INSERT
INTO
`book`
VALUES
(
'112266'
,
'TP3/12'
,
'FoxBASE'
,
'张三'
,
'电子工业出版社'
,
'23.60'
);
INSERT
INTO
`book`
VALUES
(
'665544'
,
'TS7/21'
,
'高等数学'
,
'刘明'
,
'高等教育出版社'
,
'20.00'
);
INSERT
INTO
`book`
VALUES
(
'114455'
,
'TR9/12'
,
'线性代数'
,
'孙业'
,
'北京大学出版社'
,
'20.80'
);
INSERT
INTO
`book`
VALUES
(
'113388'
,
'TR7/90'
,
'大学英语'
,
'胡玲'
,
'清华大学出版社'
,
'12.50'
);
INSERT
INTO
`book`
VALUES
(
'446601'
,
'TP4/13'
,
'数据库基础'
,
'马凌云'
,
'人民邮电出版社'
,
'22.50'
);
INSERT
INTO
`book`
VALUES
(
'446602'
,
'TP4/13'
,
'数据库基础'
,
'马凌云'
,
'人民邮电出版社'
,
'22.50'
);
INSERT
INTO
`book`
VALUES
(
'446603'
,
'TP4/13'
,
'数据库基础'
,
'马凌云'
,
'人民邮电出版社'
,
'22.50'
);
INSERT
INTO
`book`
VALUES
(
'449901'
,
'TP4/14'
,
'FoxPro 大全'
,
'周虹'
,
'科学出版社'
,
'32.70'
);
INSERT
INTO
`book`
VALUES
(
'449902'
,
'TP4/14'
,
'FoxPro 大全'
,
'周虹'
,
'科学出版社'
,
'32.70'
);
INSERT
INTO
`book`
VALUES
(
'118801'
,
'TP4/15'
,
'计算机网络'
,
'黄力钧'
,
'高等教育出版社'
,
'21.80'
);
INSERT
INTO
`book`
VALUES
(
'118802'
,
'TP4/15'
,
'计算机网络'
,
'黄力钧'
,
'高等教育出版社'
,
'21.80'
);
-- ----------------------------
-- Table structure for `lr`
-- ----------------------------
DROP
TABLE
IF
EXISTS
`lr`
;
CREATE
TABLE
`lr`
(
`Lno`
varchar
(
3
)
DEFAULT
NULL
,
`Bno`
varchar
(
6
)
DEFAULT
NULL
,
`Ltime`
date
DEFAULT
NULL
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8mb4
;
-- ----------------------------
-- Records of lr
-- ----------------------------
INSERT
INTO
`lr`
VALUES
(
'112'
,
'445501'
,
'1997-03-19'
);
INSERT
INTO
`lr`
VALUES
(
'125'
,
'332211'
,
'1997-02-12'
);
INSERT
INTO
`lr`
VALUES
(
'111'
,
'445503'
,
'1997-08-21'
);
INSERT
INTO
`lr`
VALUES
(
'112'
,
'112266'
,
'1997-03-14'
);
INSERT
INTO
`lr`
VALUES
(
'114'
,
'665544'
,
'1997-10-21'
);
INSERT
INTO
`lr`
VALUES
(
'120'
,
'114455'
,
'1997-11-02'
);
INSERT
INTO
`lr`
VALUES
(
'120'
,
'118801'
,
'1997-10-18'
);
INSERT
INTO
`lr`
VALUES
(
'119'
,
'446603'
,
'1997-12-12'
);
INSERT
INTO
`lr`
VALUES
(
'112'
,
'449901'
,
'1997-10-23'
);
INSERT
INTO
`lr`
VALUES
(
'115'
,
'449902'
,
'1997-08-21'
);
INSERT
INTO
`lr`
VALUES
(
'118'
,
'118801'
,
'1997-09-10'
);
-- ----------------------------
-- Table structure for `reader`
-- ----------------------------
DROP
TABLE
IF
EXISTS
`reader`
;
CREATE
TABLE
`reader`
(
`Lno`
varchar
(
3
)
NOT
NULL
,
`dept`
varchar
(
6
)
DEFAULT
NULL
,
`Lname`
varchar
(
6
)
DEFAULT
NULL
,
`sex`
varchar
(
1
)
DEFAULT
NULL
,
`work`
varchar
(
20
)
DEFAULT
NULL
,
`addr`
varchar
(
20
)
DEFAULT
NULL
,
`tel`
varchar
(
11
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`Lno`
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8mb4
;
-- ----------------------------
-- Records of reader
-- ----------------------------
INSERT
INTO
`reader`
VALUES
(
'111'
,
'信息系'
,
'王维利'
,
'女'
,
'教授'
,
'1 号楼 424'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'112'
,
'财会系'
,
'李立'
,
'男'
,
'副教授'
,
'2 号楼 316'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'113'
,
'经济系'
,
'张三'
,
'男'
,
'讲师'
,
'3 号楼 105'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'114'
,
'信息系'
,
'周华发'
,
'男'
,
'讲师'
,
'1 号楼 316'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'115'
,
'信息系'
,
'赵正义'
,
'男'
,
'工程师'
,
'1 号楼 224'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'116'
,
'信息系'
,
'李明'
,
'男'
,
' 副教授'
,
'1 号楼 318'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'117'
,
'计算机系'
,
'李小峰'
,
'男'
,
'助教'
,
'1 号楼 214'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'118'
,
'计算机系'
,
'许鹏飞'
,
'男'
,
'助工'
,
'1 号楼 216'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'119'
,
'计算机系'
,
'刘大龙'
,
'男'
,
'教授'
,
'1 号楼 318'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'120'
,
'国际贸易'
,
'李雪'
,
'男'
,
'副教授'
,
'4 号楼 506'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'121'
,
'国际贸易'
,
'李爽'
,
'女'
,
'讲师'
,
'4 号楼 510'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'122'
,
'国际贸易'
,
'王纯'
,
'女'
,
'讲师'
,
'4 号楼 512'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'123'
,
'财会系'
,
'沈小霞'
,
'女'
,
'助教'
,
'2 号楼 202'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'124'
,
'财会系'
,
'朱海'
,
'男'
,
'讲师'
,
'2 号楼 210'
,
null
);
INSERT
INTO
`reader`
VALUES
(
'125'
,
'财会系'
,
'马英明'
,
'男'
,
'副教授'
,
'2 号楼 212'
,
null
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment