欢迎来到天天文库
浏览记录
ID:58780098
大小:571.50 KB
页数:164页
时间:2020-10-03
《数据库系统概论 第3章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库标准语言SQLSQL概述数据操纵数据控制数据定义数据查询视图SQL(StructuredQueryLanguage)即结构化查询语言。1974年,由Boyce和Chamberlin提出,并在IBM公司研制的关系数据库管理系统原型SystemR上实现。由于SQL简单易学,功能丰富,深受用户及计算机工业界的欢迎。SQL概述1986年,美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,同年公布了SQL标准文本(SQL86)。1987年,国际化标准组织(ISO)也通过了这
2、一标准。SQL是集数据定义、数据查询、数据操纵和数据控制功能于一体的语言,具有功能丰富、使用灵活、语言简捷易学等特点。主要特点包括:(1)综合统一。(2)高度非过程化。(3)面向集合的操作方式。(4)以同一种语法结构提供多种使用方式。(5)语言简洁,易学易用。数据定义(基本表)定义Createtable<表名>(<列名1><数据类型>(列宽度)[列级完整性条件],<列名2><数据类型>(列宽度)[列级完整性条件],……[,<表级完整性约束条件>])注意:(1)不同表中相应属性列的类型、宽度要一致。(2)注意约束
3、的作用。例5:建立一个“学生”表student.CreatetableStudent(SnoChar(9)PrimaryKey,SnameChar(20)Unique,SsexChar(2),SageSmallint,SdeptChar(20));例6:建立一个“课程”表Course.CreatetableCourse(CnoChar(4)PrimaryKey,CnameChar(40),CpnoChar(4),CcreditSmallint,ForeignKey(Cpno)ReferencesCourse(C
4、no));例6:建立一个“选课”表SC.CreatetableSC(SnoChar(9),CnoChar(4),GrradeSmallint,PrimaryKey(Sno,Cno),ForeignKey(Sno)ReferencesStudent(Sno),ForeignKey(Cno)ReferencesCourse(Cno));常用完整性约束主码约束:PRIMARYKEY唯一性约束:UNIQUE非空值约束:NOTNULL参照完整性约束思考:PRIMARYKEY与UNIQUE的区别?例.建立一个学生表Stud
5、ent,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,SnameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(15));修改Altertable<表名>Add<新列名><新列类型>(列宽度)[完整性约束]DropColumn<列名>
6、<完整性约束名>AlterColumn<列名><列类型>(
7、列宽度)P87例8,例9,例10注意:使用Alter语句修改列时不能修改列名。例8:向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDS_entranceDATE;不论基本表中原来是否已有数据,新增加的列一律为空值。例9:将年龄的数据类型改为整型。ALTERTABLEStudentAlterColumnSageInt;修改原有的列定义有可能会破坏已有数据。例10:增加课程名必须取唯一值的约束。AlterTableCourseAddUnique(Cname);删除D
8、roptable<表名>Restrict
9、Cascade例11:删除Student表。DropTableStudentSQLServer2005中是如何规定的?有限制无限制数据操纵插入数据删除数据修改数据插入数据1.插入单个元组INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)P115例1,例2,例3例1:将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。INSERTINTOStu
10、dentVALUES('200215128','陈冬','男','IS',18);例2:将学生张成民的信息(‘200215126’;‘张成民’;‘男’;‘IS’;18)插入到Student表中。INSERTINTOStudentVALUES(‘200215126’,‘张成民’,‘男’,18,‘CS');例3:插入一条选课记录('95020','1')。INSERTINTOSC(Sno,
此文档下载收益归作者所有