MySQL与SQL Server数据完整性约束的比较教学
摘要:近年来,各大职业技术院校计算机相关专业《数据库技术》课程,授课计划从原来的“SQL Server”换成了“MySQL”,主要是因为MySQL数据库已是当下许多公司采用的数据库系
王彩霞,王睿 摘要:近年来,各大职业技术院校计算机相关专业《数据库技术》课程,授课计划从原来的“SQL Server”换成了“MySQL”,主要是因为MySQL数据库已是当下许多公司采用的数据库系统,MySQL数据库系统占空间很小,安装简单,卸载方便,兼容不同的操作系统,代码开源,也不存在盗版问题,还能配合Navicat进行可视化操作,这也方便了教学的开展,比SQL Server使用更方便,更有效提高开发效率,与SQL Server相比,两者在很多方面有相同点,也有差异,该文主要针对两者在数据完整性约束上的异同进行研究和阐述,重点讨论了用户定义的五种完整性约束的异同。 关键词:MySQL;SQL Server;Navicat;数据库 中图分类号:G642 文献标识码:A 文章编号:1009-3044(2021)21-0026-03 开放科学(资源服务)标识码(OSID): 数据完整性是数据库设计好坏的一项重要标志,它是为了保證数据库中数据的一致性和准确性,让不符合规范的数据不能写入数据库,特别是插入、修改、删除数据时,数据库管理系统软件(以MySQL为例)会提供一种自动保证数据完整性的方法,即约束,来保证数据库中数据是合理的、正确的、有效的。 1 数据完整性约束的简介 数据完整性约束可分成下面五种: (1)主键约束:主键是指一个列或多个列的组合,其值能唯一标识表中的每一行,通过它可以保证表的实体完整性。 (2)外键约束:可以保证数据库中两表的数据链接,通过主关键字和外关键字来实现,保证数据库中两表数据的一致性。第一个表中的一列或多列必须是主键或组合主键,将该字段添加到第二个表中,这个列就是第二个表的外键。 (3)唯一约束:又被称为UNIQUE约束,标识数据库表中的每条记录不能重复,即唯一性,但是可以允许为空值,但只能有一行值为NULL。 (4)检查约束:又被称为:“CHECK约束”,用于限定数据库中每列数据的取值范围。 (5)默认值约束:又被称为:“DEFULT约束”,主要作用是向数据库列字段中插入默认的值,该默认值可以根据自己需求来设置。 2数据完整性约束的方法 本文以学生选课系统数据库(XK)为例,从用户定义的完整性约束着手Mssq数据完整性约束,探讨MySQL与SQL Server在用户定义的完整性中五种约束的相同点和不同点。 XK数据库中,有5张表,关系模式如下: (1)系部(Department) (系部编号DepartNo、系部名称DepartName) (2)班级(Class) (班级编号ClassNo、班级名称ClassName、系部编号DepartNo) (3)学生(Student) (学号StuNo、姓名StuName、密码pwd、班级编号ClassNo) (4)课程(Course) (课程号CouNo、课程名CouName、报名人数Willnum、系部编号DepartNo) (5)选修(StuCou) (学号StuNo、课程号CouNo、报名志愿号Willorder、报名状态State) 2.1 PRIMARY KEY主键约束 主键用来表示一个精确定位的特定行,表示行的唯一性,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,会导致更新或者删除表中特定的行很困难。如果有主键约束行记录的唯一性,可以来解决这些问题。 2.1.1 创建primary key 为Department表中DepartNo列创建一个主键约束,代码如下: MySQL: CREATE TABLE Department ( DepartNoVARCHAR(3) NOT NULL, DepartNameVARCHAR(255) NOT NULL, PRIMARY KEY (DepartNo) //声明主键写在最后 ) SQL Server: CREATE TABLE Department ( DepartNo VARCHAR(10) NOT NULL PRIMARY KEY, //声明主键紧跟列后 DepartNameVARCHAR(255) NOT NULL ) 假设表Department存在,要给该表DepartNo列加主键主健时,Mysql 和SqlServer都可以用下面SQL语句: ALTER TABLE Department ADD PRIMARY KEYpk_DepartNo (DepartNo) 2.1.2删除 PRIMARY KEY 约束 删除Department表中DepartNo列的主键约束,代码如下: MySQL: ALTER TABLE Department DROP PRIMARY KEY SQL Server: ALTER TABLE Department DROP constraint PK_DepartNo (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |