数据库 预备知识

我的电脑系统: 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 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)

    SQL 数据库 学习 007 通过一个示例简单介绍什么是字段.属性.列.元组.记录.表.主键.外键 (上) 我们来介绍一下:数据库是如何存储数据的. 数据库是如何存储数据的 来看一个小例子 scott ...

  2. SQL数据库学习,常用语句查询大全

    数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...

  3. SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库

    我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...

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

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

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

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

  6. SQL数据库学习系列之一

    数据库知识的重要性不言而喻,以下链接给出了最最基础知识的讲解. 第一讲:SQL 语法 第二讲:SQL SELECT 语句 第三讲:SELECT DISTINCT 语句 第四讲:SQL WHERE 子句 ...

  7. SQL 数据库 学习 006 如何设置一个用户名和密码

    我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 先启动 SQL Server 2014 Management Studi ...

  8. SQL 数据库 学习 002 如何启动 SQL Server 软件

    如何启动 SQL Server 软件 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果你还没有下载 SQL Serv ...

  9. C# SQL数据库学习时遇到到一些异常

    1一些关于SqlHelper类的异常: DataAdapter.SqlHelper”的类型初始值设定项引发异常. ExecuteNonQuery.SqlHelper”的类型初始值设定项引发异常. Ex ...

随机推荐

  1. cocos2d js的一些tip

    cocos2d-js-v3.2-rc0 cc.director.end();//退出app cc.Application.getInstance().openURL("http://www. ...

  2. 【转】使用JMeter做性能测试的心得

    企业应用开发过程中,性能测试是很重要的一个环节,在这个环节中Apache的JMeter以它开源.100%纯Java.操作方便等优点发挥着很大的作用. 经过一段时间的使用,多少有些心得和技巧,拿出来共享 ...

  3. SpringBoot中RedisTemplate订阅发布对象

    解说 RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布.订阅配置都必须在这里面实现 addMessageListener(MessageListe ...

  4. H3C IRF2的三种配置情况

    H3C-IRF2-虚拟交换技术-强列鼻视看我文档不下载的呵呵.看了下面的东西你就会配IRF了. H3C-5120-HI  H3C-5120S   H3C5800 先到H3C官网上面看那些交换机支持IR ...

  5. MySQL升级指南

    一 .MySQL升级 1.官方升级策略 注意 升级过程中必须使用具有管理权限的MySQL帐户来执行SQL语句. 1.升级方法 逻辑升级: 涉及使用 mysqldump从旧的MySQL版本导出现有数据 ...

  6. mysql 存储过程简单学习

    转载自:http://blog.chinaunix.net/uid-23302288-id-3785111.html ■存储过程Stored Procedure 存储过程就是保存一系列SQL命令的集合 ...

  7. Shell教程快速入门

    Shell即是一种命令语言,又是一种程序设计语言,使用者可以通过Shell访问操作系统的内核服务. Shell编程和java.python.C一样,只要一个能编写代码的文本编辑器和一个能解释执行的脚本 ...

  8. canvas之画一条线段

    var canvas=document.getElementById("canvas"); //设置绘图环境 var cxt=canvas.getContext('2d'); // ...

  9. python cx_Oracle模块的安装和使用

      $wget http://download.oracle.com/otn/linux/instantclient/10204/basic-10.2.0.4.0-linux-x86_64.zip 3 ...

  10. Linux 之不同运维人员共用root 账户权限审计

    一.为什么? 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还好,出了问题,就很难找出源头. 这里介绍下,如何利用编译bash 使不同的客 ...