学编程,来源栈;先学习,再交钱
当前系列: SQL 修改讲义
复习:

数据和数据库

所谓数据库,简单的说,就是:存放数据的仓库。

什么是数据?比如:

  • 你要在“一起帮”上注册,你就需要输入的用户名密码,就是数据。
  • 或者,你发布一个求助,标题、正文、悬赏……等等,都是数据。

注意:区分“源代码”和“数据”。

为什么需要

数据库

因为数据需要存放/查找/修改/删除等:

  • 比如注册,你输入了用户名和密码,提交:系统就需要把他们存放到数据库。
  • 此后当你登录的时候,系统做的就是将你输入的用户名和密码在数据库中进行查找:只有当你的输入和数据库中的存储的一致,你才能够成功登录。
  • 又比如你发布求助,你输入的标题、正文和其他各种信息,都会被存放到数据库中;然后当其他用户浏览的时候,这些内容又会被从数据库中取出来。

@想一想@:不使用数据库,你把数据存放在哪里?

然后,你的方案(内存中/记事本等)能不能解决这些问题:

  1. 安全。不仅仅是信息不会被恶意用户(所谓的“黑客”)窃取,还要保证信息不会因为断电、磁盘损坏等原因丢失损坏。
  2. 效率。一是使用/开发效率,你能不能方便快速的存入(增)、查找(查)、修改(改)和删除(删)你想操作的数据?二是执行效率,当数据越来越多越来越多,比如上千万条的数据,你的方法能不能很快的执行?
  3. ……

数据库就能!

数据库可以被认为是一种软件,它能用一种较好(安全高效)的方式进行数据的管理(增删改查)。

那么,如何进行这些增删改查的操作呢?使用

SQL

这种结构化(Structured )查询(Query)语言(Language)。我们通过这三个单词来认识它:

  • Structured:结构化的。数据是按照某种“结构”,有序的组织起来的。什么样的一种结构呢?“关系(relationship)型表(Table)”结构。
  • Query:查询。实际上概括了增删改查四种操作,但查询是核心:删和改的前提是查找,不然你删谁改谁呢?为了便于查询,增加数据的时候,也需要用一种“有效的”方式进行存放。(复习:数据结构和算法
    延伸:为什么“数算”在实际工作中用不到?已经在数据库中被良好的封装。
  • Language:语言,SQL是一门语言,是和数据库进行交流的工具。

三大主流数据库

准确的说,是“关系型”数据库:
  • Oracle:甲骨文公司开发,收费,功能强大,语法丰富,适用于各种大中小微机环境。(复习:计算机类型
  • MySql:社区开源免费,后被甲骨文收购,但仍保留免费社区版。特点是可选择“引擎”,一直在不断完善中……
    PS:毁誉参半拉里·埃里森
  • SQL Server:微软公司开发,收费,可视化操作界面(Management Studio)强大,之前只能在windows上部署,现在已可以在Linux上部署使用。

以上仅为简单概括解释,非关系型的NoSQL数据库将在同学们对SQL数据库有了更深的认识后予以介绍。

SQL Server和T-SQL

前面已经说过了:SQL Server是数据库,是微软推出的三大主流数据库之一。不要把他和SQL混淆了,虽然微软很希望大家就把SQL当成SQL Server,^_^

SQL是一个公认的语言(语法标准),三大主流数据库厂商都已经确保标准的SQL语言能在他们的数据库上正常运行。所以,我们的课程也以SQL标准语法为主。

但是,各个数据库厂商为了提高自身的竞争力,更好的为数据库开发人员服务,还各自推出了他们自己的 SQL语法,但这些语法,不能确保在其他数据库上正常运行。

  • Oracle推出的被称为PL/SQL
  • mysql还是叫mysql,
  • SQL Server推出的,就叫做:T-SQL。

可以把T-SQL看成是SQL的扩展,即T-SQL包含了全部SQL语法,并且还额外添加了其他一些只适用于SQL Server(或者不保证也能适用于其他数据库的)语法。


课程安排说明

通用SQL语言

数据库的操作可以分为两部分:

  • DBA:维护数据库,保证数据库安全高效的运行,工作除了写SQL,还要优化数据库的:
    • 安全:备份恢复、权限设置等
    • 性能:读写分离、集群维护、索引整理
    • 可维护性:视图、函数、存储过程……
  • 开发人员:利用SQL语句完成数据的增删改查(我们教学的重点)

我们主讲“开发人员”这一部分。而且重点放在“通用的(SQL Server和mysql都能用)”SQL语法上,个别无法通用但不得不讲的,会分别放在T-SQLmysql两章里。

演示用工具

PS:也可以称之为工作台(studio),不能算是IDE

再三考虑,我们还是主要使用和SqlServer搭配的Visual Studio,因为:

  1. mysql的可视化工具也太多了,有:workbench(官方推荐,然并卵)、phpMyAdimin、Navicat……,所以很多课程干脆直接用(黑窗体)控制台!
  2. SqlServer就不一样,VS宇宙最强IDE,名不虚传,可视化的“执行计划”演示效果更佳
  3. workbench字体太小了,不适合演示,伤眼睛,^_^

但是,我们一样会介绍workbench的安装使用,所有mysql独有的语法,都会在workbench上演示。


作业

  1. 数据库和SQL是什么关系?
  2. 为什么要学习数据库/SQL?
  3. 有哪些主流的数据库?各有什么特点?
  4. 我们要学习哪些内容?

学习笔记
源栈学历
键盘敲烂,月薪过万作业不做,等于没学

作业

  1. 数据库和SQL
    1. 数据库和SQL是什么关系?
    2. 为什么要学习数据库/SQL?
    3. 有哪些主流的数据库?各有什么特点?
    4. 我们要学习哪些内容?



觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 SQL 中继续学习:

上一课: 已经是第一课了……

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码