数据库 预备知识

我的电脑系统: Windows 10 64位
使用的SQL Server软件: SQL Server 2014 Express


如果我们要学习这个数据库,我们需要学习什么知识。

预备知识

先解决几个疑问:

1 . 学习数据库必须得学习数据库原理吗

按道理说是这个样子的。数据库原理里面讲的都是一些很理论的知识,而我们现在学的数据库就对它的一个实现。我们学习SQL Server软件是都数据库原理的一个实现。当然你不会数据库原理,问题也不大,因为我们后面会介绍一些需要数据库原理的知识。

2 . 学习 SQL Server 2014 必须得先学习一门编程语言吗

不需要,但是懂一门编程语言的话会有助于学习SQL Server 2014TL_SQL。(如果不是专门去研究这个 TL_SQL,不懂编程语言,问题也不大。就是对于初学者,你可以不懂编程语言,也可以学习SQL Server 2014,并且不用管里面的TL_SQL)。什么是TL_SQL?我们以后的博客里面会讲。简单的说:TL_SQL 是一个带有 for 循环的流程控制的编程语言。

数据库是属于第四代语言,它里面没有 for 循环,没有 if ,里面只有命令。

3 . 数据结构 和 数据库的区别

数据库和数据结构都是研究数据的存储和操作,但是研究的层次不一样。数据库是在应用软件(硬盘)级别研究数据的存储和操作;数据结构是在系统软件(内存)级别研究数据的存储和操作。

4 . 什么是 连接

这个你必须要知道,这个不知道的话,你都不知道库是怎么运行的,它跟我们的编程语言完全不一样。

这里的 连接 指的是:

SQL Server 2014 软件它只是一个客户端,而数据库是后台。

我们必须要要连接数据库,才能使用数据库。这个数据库可以是本地硬盘里面,也可以是在你附近另一个电脑里面,甚至是在另外一个国家的某一个服务器里面。

操作数据库的命令不想是编程语言,有些命令不能一起执行,有些命令可以,具体的内容,我们日后的博客里面会介绍,这边博客只是科普,你了解了解就可以。

5 . 有了编程语言为什么还需要数据库

数据库是用来存数据的。那么C#语言能不能存数据,Java 语言能不能存储数据?它们也能存储数据,它们使用IO流就可以做到,IO流是将数据从一个设备传输到另一个设备的一个管道。那么既然已经有了IO流,为什么还需要使用数据库呢?
因为数据库简单。因为对于编程语言:对内存数据操作是编程语言的强项,但是对硬盘数据操作却是编程语言的弱项。
我们在学习编程语言的时候,都是学对内存的分配:内存什么时候分配、内存如何释放、内存是谁释放的、内存在哪一块空间可以使用,在哪一块空间中就不能使用了。
说白了:编程语言里面的共有、私有、多态、封装其实都是考虑内存的问题。虽然编程语言也可以对硬盘进行操作,但是功能很弱。如果要存放的数据很庞大的话,那么使用编程语言就搞不定了。

那么编程语言搞不定,其他的东西就能搞定吗?的确是这样子的。数据库:对硬盘数据操作却是数据库的强项,是数据库研究的核心问题。
对硬盘的数据要做什么操作呢?比如说,现在要将十万个数据全部写入硬盘;将硬盘是十万个数据一次性全部删除。这东西你要是使用编程语言去实现,那就是非常困难了。数据库就是专门对硬盘进行操作的。
当然你也不能说,数据库对内存的操作就很弱,因为数据库很多功能的实现也是要借助内存的。

总结: 整体而言,数据库是对硬盘的数据进行操作,也编程语言是对内存的数据进行操作。

扩展: 我们在做项目的时候,通常利用数据库可以对数据操作。但是有些操作不方便,我们要把这些数据调到内存,对内存数据进行操作完了之后,把数据在写入硬盘。以前我们讲个容器,这个就是它们之间的合作。我们为什么需要编程语言也需要数据库?是因为数据库的操作很简单很方便,但是复制操作,它实现起来很困难,(数据库内部其实是有语言可以来实现的:比如:TL_SQL语言,但是这些都不是很好,因为一般人不会。)那现在怎么办?
我们有一种常用的方式:如果对数据库里面数据操作很复杂的操作,我们是先将数据库里面的数据调入内存,再利用Java、C#、C、C++、Python等语言对内存里的数据进行操作。现在就生成了我们有效的数据了,最后将这些数据再写入数据库。

6 . 建议初学者从三个方面学习数据库

数据库里面有很多的内容很多,比如说有:建表、增、删、改、查、树、触发器、约束、存储过程、函数。它们之间有什么联系呢?它们之间是一个什么样的关系,我们怎么样找到一个线把它们这些知识给串起来。你可以通过下面的角度去学习数据库:(你这样去学的话,学起来可能会简单,而且可以将这些知识有机的整合成一个整体。)

(1) . 数据库是如何存储数据的

比如说:我们的SQL Server软件,它怎么就能将数据存储起来。
那么,你就需要理解:字段记录约束主键外键唯一键非空checkdefault触发器)。
我写这些是什么意思呢?就是:如果你以后看到这些知识,它们所讲的都是:如何存储数据。数据库就是使用这些知识来对数据进行存储的。

(2) . 数据库是如何操作数据的

insertupdatedeleteT-SQL存储过程函数触发器

这些知识,讨论的就是:如何操作数据

(3) . 数据库是如何显示数据的

select(重点中的重点)


上面提到的知识,我们日后的博客中都会一个一个的详细介绍。

SQL 数据库 学习 004 预备知识相关推荐

  1. SQL 数据库学习04 ADB.NET

    文章目录 ADO.NET 数据库连接示例 构造连接字符串的其他方法 SqlConnectionStringBuilder/读取配置文件 Try...catch/Using 连接池 执行命令,增删改查 ...

  2. 下面为初学者分享一下SQL 数据库学习资料

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  3. SQL 数据库 学习 003 什么是数据库? 为什么需要数据库?是不是所有的软件都是用Sql Server?

    什么是数据库? 为什么需要数据库? 是不是所有的软件都是用Sql Server? 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Exp ...

  4. SQL数据库学习-简单查询

    SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来 ...

  5. 后缀数组的学习(一):学习的预备知识

    去年的时候弄了一阵子的后缀数组,当时一直都没有弄懂!今年再看后缀数组,似懂非懂!其实还是没懂!但比去年的完全不懂,还是有进步的! 下来把思路理了理,要看明白后缀数组,是需要一些知识储备的! 1.基数排 ...

  6. SQL 数据库 学习 011 关系、一对一、一对多、多对多

    我的电脑系统:Windows 10 64位 SQL Server 软件版本: SQL Server 2014 Express 什么是关系 定义: 表和表之间的联系. 实现方式: 通过设置不同形式的外键 ...

  7. SQL 数据库 学习 017 查询-00 介绍 scott 例子库

    我的电脑系统:Windows 10 64位 SQL Server 软件版本: SQL Server 2014 Express 我们要查数据,总先得有数据要查吧,所以我们需要先找一个例子库.Orale软 ...

  8. android mp3播放器学习之预备知识1:activity

    对应的MP3源码下载:http://download.csdn.net/detail/brightshadow11111/4971610 学习android毋庸置疑,activity是相当相当重要的一 ...

  9. SQL数据库学习之路(九)

    目录 数据库创建补充: 为数据库用户赋予权限 在数据库表中使用视图进行添加修改 数据库创建补充: 以文本格式显示自己创建的数据库表                                    ...

  10. 《动手学习深度学习》预备知识——自动求导

    自动微分 正如我们在 :numref:sec_calculus中所说的那样,求导是几乎所有深度学习优化算法的关键步骤. 虽然求导的计算很简单,只需要一些基本的微积分. 但对于复杂的模型,手工进行更新是 ...

最新文章

  1. 【EMC】EMC屏蔽设计
  2. C++中的运算符重载
  3. 【Linux】在虚拟机上安装CentOS7
  4. php邮件加密,怎样对邮件正文分段加密及解密解决思路
  5. 【OMP信道估计】基于OMP压缩感知的信道估计算法的MATLAB仿真
  6. C#宿舍管理系统数据库
  7. SAP Spartacus需要补充url validation单元测试的地方
  8. 工作275:表单验证重置
  9. 前端学习(2568):使用高级特性provide和inject
  10. Android之android.os.Build
  11. python决策树id3算法_python实现决策树ID3算法
  12. ls -l 显示年份
  13. distpicker实现省市级联动
  14. 钉钉群机器人通知中的图片,突然不显示了
  15. 微信iOS版7.0版发布:界面全新改版
  16. 可爱的灯泡眨眼表情动画特效
  17. [ERROR] Slave SQL for channel ‘‘: Could not execute Write_rows event on table xxx.xxx; Duplicate ent
  18. 使用uniapp开发社区交友网站的项目教程
  19. 解决标题党的计算机算法用户app,今日头条算法工程师:做好推荐必须打击标题党...
  20. 计算机一级windows2000,2012年一级BWindows2000操作系统[2]

热门文章

  1. 机器人也能打排球了,击球成功率80%!日本东京大学新型气动仿人机器人
  2. 浅谈被动式IAST产品与技术实现
  3. RTL8111E datasheet中提到的术语
  4. React:在发表评论功能中加入表情emoji
  5. 使用Bandicam录屏
  6. 班迪录屏- Bandicam v4.5.6
  7. eyoucms使用入门 二
  8. 免费图片文字识别,非常好用
  9. 优化代码==>常见问卷调查模板,多端通用版本
  10. AtCoder Beginner Contest 160 A ~ E