5分钟认识数据库_层次型数据库

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在这里插入图片描述

什么是数据库?

  • 数据库是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联, 反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。
  • 数据库的概念诞生于 60 年前,随着信息技术和市场的快速发展 数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来一场巨大的革命。
  • 数据库的发展大致划分为人工管理阶段、文件系统阶段 数据库系统阶段和高级数据库阶段。其种类大概有3种,即层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。
  • 对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异, 其中一种比较普遍的观点认为数据库(Database, DB 是个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义一一千呆管数据的“仓库”以及数据管理的方法和技术。
  • 数据库的特点包括实现数据共享,减少数据冗余;采用特定的数据类型 具有较高的数据独立性有统一的数据控制功能。

数据表

在关系型数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,例如数据类型、数据宽度等。

数据类型

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型 常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。表中的每一个字段就是某种指定数据类型,例如 employee表中的”工号“字段为整数数据,"年龄"字段为字符型数据。

主键

主键( PRIMARY KEY )又称主码,用于唯一地标识表中的每一条记录。用户可以定义表中的一列或多列为主键,注意主键列上不能有两行相同的值,也不能为空值。假如定义employee表,该表给每一个学生分配一个"工号",该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把员工的“姓名”作为主键,则不能出现重复的名字,这与现实不相符,因此“姓名”字段不适合作为主键。

数据库系统

数据库系统有以下3个主要组成部分。

  • 数据库 用于存储数据的地方。
  • 数据库管理系统 用于管理数据库的软件。
  • 数据库应用程序 为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

数据库( Database System) 提供了一个存储空间用于存储各种数据,可以将数据库视为一个存储数据的容器 一个数据库中可能包含许多文件,一个数据库系统中通常包含许多数据库。

数据库管理系统(Database Management System, DBMS )是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

数据库应用程序( Database Application )虽然已经有了DBMS ,但是在很多情况下 DBMS 无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与 DBMS 进行通信,访问和管理 DBMS 申存储的数据,允许用户插入、修改、删除数据库中的数据。
数据库系统如图所示:
在这里插入图片描述

SQL 语言

SQL 语言包含以下4个部分。
(1)数据定义语言(DDL): DROP、CREATE、ALTER等语句
(2)数据操作语言(DML): INSERT、UPDATE、DELETE语句
(3)数据查询语言(DQL):SELECT语句
(4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句

数据库访问技术

  • ODBC(Open Database Connectivity ,开放数据库互连)技术为访问不同的 SQL 数据库提供了一个共同的接口。 ODBC 使用 SQL 作为访问数据的标准,这一接口提供了最大限度的互操作性 一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与 DBMS 打交道,所有的数据库操作由对应的 DBMS的ODBC驱动程序完成。也就是说,不论是 Access MySQL还是Oracle数据库,均可用ODBCAPI进行访问。由此可见 ODBC 的最大优点是能以统一的方式处理所有的数据库;
  • JDBC (Java Database Connectivity, Java 数据库连接〉是用于 Java 应用程序连接数据库的标准方法,是一种用于执行 SQL 语旬的 JavaAPI ,可以为多种关系型数据库提供统 访问,它由一组用 Java 语言编写的类和接口组成;
  • ADO.NET 是微软公司在.NET 框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET 提供了对关系数据、 XML 和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互;
  • PDO(PHP Data Object )为 PHP 访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样无论使用什么数据库都可以通过 致的函数执行查询和获取数据。

关系型数据模型

建立数据库系统离不开数据模型 模型是对现实世界的抽象 在数据库技术中用模型的概念描述数据库的结构与语义,对现实世界进行抽象,能表示实体类型及实体间联系的模型称为“数据模型"。

关系模型是由若干个关系模式组成的集合,关系模式的实例称为关系,每个关系实际上是一张二维表格。关系模型用键导航数据,其表格简单,用户只需用简单的查询语句就可以对数据库进行操作,并不涉及存储结构、访问技术等细节。SQL语言是关系数据库的代表性语言,已经得到了广泛的应用。典型的关系数据库产品有 DB2, Oracle Sybase、SQL Server等。关系数据库是以关系模型为基础的数库,是根据表、无组、字段之间的关系进行组织和访问数据的一种数据库,它通过若干个表来存取数据,并且通过关系将这些表联系在一起 关系数据库是目前应用最广泛的数据库。

关系模型有3个组成部分,即数据结构、数据操作和完整性规则。
关系模型建立在严格的数学概念的基础之上,它用二维表来描述实体实体间的联系。

例如在一个有关学生信息的名为 tudent 的表中,每个列包含所有作者的某个特定类型的信息,比如姓名,而每行包含了某个特定作者的所有信息,比如学号、姓名、性别、专业,如图所示。
在这里插入图片描述
关系模型的基本术语如下。

  • 关系(Relation ):一个二维表就是个关系。
  • 元组(Tuple ):二维表中的一行即为一个元组。
  • 属性(Attribute):二维表中的一列即为一个属性,给每个属性取一个名称即属性名。
  • 域(Domain) 属性的取值范围。

关系模式是对关系的描述,可表示为关系名(属性 ,属性,…, 属性 )。例如上面的关系可以描述为学生(学号,姓名,性别,专业)。

一个关系模型是若干个关系模式的集合。在关系模型中,实体以及实体间的联系都用关系来表示。例如学生、课程 、学生与课程之间的多对多联系在关系模型中可以如下表示:
学生(学号,姓名,性别,专业)
课程(课程号,课程名,学分)
选修(学号 课程号 成绩)

由于关系模型概念简单、清晰、易懂、易用,并有严密的数学基础以及在此基础上发展起来的关系数据理论,简化了程序开发及数据库建立的工作量,因而迅速获得了广泛的应用,并在数据库系统中占据了
统治地位。

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

oot密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值