【硬件工程师学软件】之 关系型数据库

硬件工程师基本不用数据库,没法用,最多就是用一个内存表。但是在软件里,如果没用过数据库,估计面试这一关就比较不好过,因为在软件的面试题,数据库基本上是必选题,即使面试不问,在实际的软件开发中,也很难找到没有数据库的项目。
那数据库是啥?类比一下,就是和我们硬件里的表差不多,只不过数据库是很多表搁在一个文件里,然后还有表头,表名,数据库名,最关键的是可以用sql语句查询。
举个例子,现在要做个玩具车管理系统,这就要一个数据库,大家听说过oracle吧,他们家生产的是大型数据库系统,那个我们用不上,太大了,操作和管理起来也不方便,我们这个小系统用个小型的数据库就可以了,比如现在常用的mysql,还免费,所以现在大多数国内的系统基本上都用这个。
我们这个玩具车管理系统需要好几张表,比如:用户表、车辆表、车辆运行表、车辆维护表等等。然后每张表都代表一个实体,软件里又叫业务对象,比如说车辆表吧,这里搁着车辆的信息,比如说车辆编号、车辆型号、车辆别名、车辆颜色、车辆购买日期等等,这些名词就叫字段,一个表需要多少个字段你就设置多少个字段。
有人说了,这不就是excel吗?是的,excel里面的表格又叫电子表格,本身就是一个结构化的文件,所以也可以看做是数据库,当然,mysql数据库比excel要高级多了,mysql可以支持多线程读写,就是几个程序可以同时读写,这样效率就高多了。
大家可能也听说了,数据库表的操作有增删改查,就是增加、删除、修改、查询,这些都可以通过sql语句来操作,那什么是sql语句?
sql语句,你就当做是一个数据库的脚本语言,有自己的格式和编译引擎,比如说查询玩具车表,语句如下:
select * from doll_car_info;
这句的意思就是将表中所有玩具车的信息全查出来。查出来的结果是啥?软件里面叫这个结果为结果集,什么是结果集?实际上就是一个二维数组,横向为行,纵向为列。
上面所说的这个mysql数据库,我们又叫它关系型结构化的数据库,什么叫关系型?就是表和表之间可以建立起关系,并且可以联合操作。
既然有关系型结构化的数据库,必然也有非关系型非结构化的数据库,下一节给大家介绍一下软件项目中的非结构化的数据库,也就是我们经常说的nosql。

猜你喜欢

转载自blog.csdn.net/wwwmagic/article/details/91947379