SQL Server 和MySQL在高职教学中异同性的分析与比较
2021-03-24张海越范曦
张海越 范曦
(无锡科技职业学院,江苏无锡 214028)
0 引言
SQL Server是由微软公司于2000年正式推出的数据库管理系统,MySQL是开放源代码的数据库管理系统,目前归属于甲骨文即Oracle公司。它们两个作为中小型关系型数据库的典型主要代表,现在被广泛的应用于各类软件及系统的设计与开发,用来完成相应的数据处理任务。无论在以前的Client/Server模式下,现今的Browser/Server模式下亦或是移动端的安卓及微信小程序开发,它们都一直是程序员和软件开发工程师选择或者作为备选的后台数据库系统。因此,很多高职院校选择SQL Server或者M y S Q L 作为数据库课程的学习内容。文章将对这两种数据库在教学过程中存在的相似性和差异性做出相对全面的分析与比较。
1 SQL Server和MySQL在教学中的相似性
SQL Server和MySQL作为常用的关系型数据库代表,它们各自都有具有优势的使用场景和意义,就两者在高职院校的实际教学过程中两者存在以下的相似性或者说共通之处:
1.1 安装维护便利,占用资源少,稳定性较好
两个数据库的安装都相对比较简单,没有特别复杂或者需要技巧的地方,和一些中大型数据库相比占用的资源少,对机器配置要求也不高,无论是学校实验室的台式机还是学生的笔记本都能轻松满足安装需求, 相比于Oracle、DB2等其它数据库,两者对于硬件的需求确实相对的要低一些。此外,由于两者通常并不用于存储和处理大量数据或者海量数据,在数据维护方面工作量并不大,叠加安装的便利性后,它们整体的使用和维护的效率就比较高,也可以说性价比比较突出。SQL Sever和My SQL数据库已经诞生了很多年,在各行各业都有着广泛的应用,毫无疑问它们较为出色的稳定性也接受住了严格的市场考验。
1.2 遵从SQL语言标准,易学易用
SQL Server和MySQL数据库都遵守了SQL语言标准,在实际学习中可以十分方便的使用标准的SQ L语句进行数据处理和程序块编写。当然,由于两种数据库的开发厂商不同,数据库文件的定义和组成不同,因此在某些语句上有一些细微的差别以满足自己的特点,但在数据中使用的DML和DDL语句(即通常所说的增删改查和数据定义语句)都很好的符合了SQL语言标准。在实际的教学过程中,学生们也都普遍反映SQL标准语句简单易懂,便于记忆,初学时容易上手,再结合两个数据库在使用中的便利性,使得整个课程的教学过程和教学效果都比较好,这或许也是多数高职院校考虑选择SQL Server或MySQL数据库作为专业核心课程或者普及性计算机教育课程的重要原因之一。
1.3 多种基础编程语言访问SQL Server和MySQL数据库高效便捷
在数据库课程的学习过程中,需要学生结合使用之前学习过的基础编程语言(比如:Java、C#、Python等)来访问后台数据库并完成相应的数据处理任务。SQL Server和MySQL数据库都可以通过JDBC或者ODBC接口被访问[2],连接的步骤和方式简洁明了,特别是对于面向对象的编程语言来说更加的直观和高效(可以通过编写连接类减少代码冗余),需要提醒注意的是自JDK1.7后MySQL不再支持JDBC-ODBC桥连接而之前的JDK版本不影响。从教学安排环节来说,如果学生前期已经学习了基础编程语言和网页制作课程,那么后续学习SQL Server或者MySQL数据库几乎是无缝衔接。从毕业设计来看,几乎90%以上的学生都会选择这两者之一作为后台数据库来完成相关项目的设计与开发,这也从事实上印证了两个数据库系统的高效及易用。
1.4 两者都可以作为高级数据库课程的先修课
近几年随着大数据技术的迅速发展和成熟,数据仓库、数据挖掘、云存储等课程得到了很多学生的追捧。这些技术和课程的基础都离不开数据之源即数据库系统本身,但是如果一开始学生们就介入这些课程的学习显然是不够科学也不切实际的,而SQL Server和MySQL数据库凭借自身轻量化的优势却都可以作为先行课程为学生们以后学习Oracle、DB2、Hadoop及大数据等知识和技术打下良好的基础。
以上为SQL Server和MySQL数据库在高职教学中具有的主要共通点,表1将这些相似点进行了归纳。
2 SQL Server和MySQL在教学中的差异性
诚如上文所述在实际的教学过程中,两者确实具有很多的相似特点,但是作为不同公司开发的不同数据库也天然存在着非常显著的差异性即不同点:
2.1 不同的跨平台性
SQL Server数据库由于是微软公司开发的,自然就表明了该数据库系统不具备跨平台型即只能安装在w i ndows操作系统上,不能够在其它操作系统上使用,这就造成了其使用的局限性。相反,因为MySQL数据库本质上是一种开源代码的数据库系统,它天生就具有跨平台的特性即可以安装运行于不同的操作系统上,与SQL Server相比也更具有广泛的实用性和兼容性[3]。在教学过程中发现,有很多先行学习过Linux课程的学生,对于MySQL的学习具有极大热情。
2.2 可视化操作上的不同
SQL Server数据库是基于视窗系统的,自身又集成了“管理工作台”“设置信息”等操作工具,因此其具有非常友好的可视化使用环境。它的整个可视化环境不光可以提供建库、建表、查询、视图等基础操作,还可以对由SQL语句组成的程序段进行运行、调试等操作,就功能性来说的确是十分的完善和强大。M y S Q L 数据库因为开源及跨平台的原因,自身并不集成任何可视化的操作工具,需要在俗称“黑屏”环境下进行使用。当然,外界也为它“量身定做”了一些可以使用的可视化工具,例如目前使用率比较高的Workbench和Navicat软件,这也弥补了MySQL数据库在使用时不够灵活及便捷的缺点。虽然第三方的可视化工具弥补了M yS QL 在操作上一些不足,但和微软公司为SQL Server集成的可视化环境相比还是存在着功能性及完善性上的差距。而在实际的教学过程中也经常会发现学生在学习和使用SQL Server数据库时上手特别快,也非常愿意去学,这也正是微软为SQL Server提供的集成可视化环境功能强大的体现。
2.3 命令及语法使用上的差异
从整个教学过程来看,SQL Server和MySQL数据库所涉及到的知识点都基本一致。虽然两者都很好的遵从了SQL语句标准,但是在一些主要命令及部分SQL语言编程上还是具有一定的差别。例如:在查看数据库或者数据表时,两者使用不同的命令;支持的数据类型不同;定义变量时变量名表示方法不同;触发器的临时表名字不同等。这些差别看起来好像微不足道,但往往在使用时如果不能很好的辨别会在使用时浪费大量的时间和精力来调试错误。在教学中也经常发现不少学生认为已经会熟练使用SQL Server数据库了,以此依葫芦画瓢地去这样使用MySQL,结果却是犯了经验主义的错误,各种使用错误频发。所以无论这两者相似性有多高,对它们存在的一些显著的命令及语法差异点还是要去仔细的辨别。
表1 SQL Server 和MySQL 在高职教学中的相似性Tab.1 Similarity of SQL server and MySQL in Higher Vocational Education
表2 SQL Server 和MySQL 在高职教学中的差异性Tab.2 Differences between SQL server and MySQL in Higher Vocational Education
以上三点为SQL Server和MySQL数据库在高职教学中具有的主要不同点,表2 对这些差异性做出了归纳。
3 总结
伴随当今科技的迅速发展,人们在学习、工作、生活中的信息化已经越来越深入,高职院校开设的数据库课程无论是作为专业教学还是普及型的通识教学也为学生适应信息化的发展提供了很好的基础。文章通过对SQL Server和MySQL这两种数据库在高职院校教学过程中的相似性和差异性进行了比较,主要列举了它们之间存在的一些显著的相同点和不同点予以阐述和分析,期望能够给数据库课程的授课老师、学习数据库课程的同学和数据库系统的使用者带来一定的启示和帮助。