作业4
请在电脑中完成MongoDB的安装,并通过MongoDB Shell新建一个以自己名字(英文全拼,例如Sunjing)的数据库,并创建一个名为“grade”的集合,在该集合中插入自己上学期五门课程的成绩数据,具体包括课程名称,分数,任课教师,考试时间(或者其他相关信息)。并依次完成对数据进行增、删、改、查等基本操作,上传屏幕截图。有能力的同学可以试着使用其他编程软件简单调用MongoDB。参考教程:https://dblab.xmu.edu.cn/blog/3980/
我的答案:
python连接MongoDB
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()
if "LiJiayao" in dblist:print("数据库已存在!")
mydb = myclient["LiJiayao"]
mycol = mydb["grade"]
#添加数据
stu1={'课程名称':'软件工程','任课教师':'王建民','考试时间':'7.15','考试成绩':67}
result = mycol.insert_one(stu1)
#修改数据
condition ={'课程名称':'英语'}
res = mycol.find_one(condition)
res['考试成绩'] = 91
result = mycol.update_one(condition, {'$set': res})
print(result)
#删除数据
result = mycol.delete_one({"课程名称":"英语"})
#查询数据
record = mycol.find()
for set in record:
print(set)
MongoDB Shell操作数据库
2. (多选题, 2分)关系数据库已经无法满足Web2.0的需求,主要表现在以下几个方面?
- A.
无法满足海量数据的管理需求
- B.
无法满足数据高并发的需求
- C.
无法满足高可扩展性和高可用性的需求
- D.
使用难度高
3. (多选题, 2分)下列关于MySQL集群的描述,哪些是正确的?
- A.
复杂性:部署、管理、配置很复杂
- B. 数据库复制:MySQL主备之间一般采用复制方式,很多时候是异步复制
- C.
扩容问题:如果系统压力过大需要增加新的机器,这个过程涉及数据重新划分
- D.
动态数据迁移问题:如果某个数据库组压力过大,需要将其中部分数据迁移出去
4. (多选题, 2分)关系数据库引以为傲的两个关键特性(完善的事务机制和高效的查询机制),到了Web2.0时代却成了鸡肋,主要表现在以下哪几个方面?
- A. Web2.0 网站系统通常不要求严格的数据库事务
- B.
Web2.0 网站系统基本上不用关系数据库来存储数据
- C.
Web2.0 并不要求严格的读写实时性
- D. Web2.0 通常不包含大量复杂的SQL 查询
三. 单选题(共3题,6分)
5. (单选题, 2分)下列哪个不属于NoSQL数据库的特点?
- A.
灵活的可扩展性
- B.
灵活的数据模型
- C.
与云计算紧密融合
- D.
数据存储规模有限
6. (单选题, 2分)下列哪一项不属于NoSQL的四大类型?
- A.
文档数据库
- B.
图数据库
- C.
列族数据库
- D.
时间戳数据库
7. (单选题, 2分)下列哪一项不属于数据库事务具有ACID四性?
- A.
间断性
- B.
原子性
- C.
一致性
- D.
持久性