欢迎来到天天文库
浏览记录
ID:26979297
大小:620.00 KB
页数:98页
时间:2018-11-30
《《数据库语言》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章数据库语言本章学习要求:1.数据库的用户接口了解什么是数据库的用户接口?数据库语言与宿主语言的区别。2.SQL语言概况了解SQL的4大功能.3.SQL数据定义语言了解基表和视图的概念以及各种数据类型。掌握基表模式的定义和修改基表模式的7条命令。4.SQL查询语言掌握最常用最基本的查询语句的定义和应用。5.SQL中的视图了解视图的概念以及视图与基表的区别;掌握视图的定义和操作。6.嵌入式SQL掌握嵌入式SQL解决四个问题的手段。3.1数据库的用户接口DBMS提供操作命令和语言,使用户能够对数据库进行各式各样的操作,例如查询、增、删、改数据
2、,定义、修改数据模式等———这就构成了用户和数据库的接口。DBMS所提供的语言一般局限于对数据库的操作,有别于计算完备的程序设计语言,称为数据库语言(databaselanguage)。过程性语言——以关系代数为基础设计出的数据库语言。即用户不但要说明需要什么数据,而且还要说明获得这些数据的过程。非过程性语言——用户只要说明需要的数据,而如何获得这些数据则不必由用户说明,而由系统来实现。层次和网状数据库的语言一般都是过程性的,而关系数据模型的抽象级别较高,比较简单,且有明确的数学定义。用户只须了解逻辑模式,不必关心物理存储的细节,这就为设计非
3、过程关系数据库语言提供了良好的基础。SQL语言是非过程关系数据库语言。它将描述操作过程的麻烦由用户转嫁给了系统!数据库语言本身不是计算完备的语言,不能用来独立编制应用程序。目前常用方法是将数据库语言嵌入到一种高级程序设计语言中(如C)。这种高级程序设计语言称为数据库语言的宿主语言。数据库语言与宿主语言的区别:数据库语言是非过程性语言,是面向集合的语言,主要用于访问数据库;宿主语言是过程性语言,主要用于处理数据。3.2SQL(StructuredQueryLanguage)语言概况SQL按其功能可分为4大部分:1数据定义语言(DDL)用于定
4、义、撤消和修改数据模式,如表、视图、索引;2查询语言(QL)用于查询数据;3数据操作纵语言(DML)用于增、删、改数据;4数据控制语言(DCL)用于数据访问权限的控制。3.3SQL数据定义语言关系称为表,是关系数据库的基本组成单位。在SQL中,表分为两种:基表(basetable)--数据显式地存储在数据库中。视图(view)视图是个虚表。仅有逻辑定义,可根据其定义由其它表(视图)导出,但不作为一个表显式地存储在数据库中。视图可像基表一样,参与各种数据库操作。(2)临时视图对于较复杂的查询,可将查询中相对独立部分作为查询的中间结果,定义为临
5、时视图。临时视图在功能上与普通视图一样,但仅用于附在临时视图定义后的查询语句中。该查询语句结束后,临时视图随之自行消失。(1)普通视图一般SQL都支持的数据类型见表3-1。3.3.2基表模式的定义定义基表模式语句的格式见图3-1所示。图中椭圆形框中的内容是关键字;方框中的内容是非终极符;圆圈中的内容是终极符。非终极符终极符此列不得设置为空列值不得重复当此列的值空缺时,填以缺省值定义外键来自的表名,即主表名引用完整性检查,主表中被引用的主键删除时用关键字SETNULL------该列应无NOTNULL说明RESTRICT------凡被基表引用
6、的主键,不得删除;加下划线表示为ONDELETE的缺省项CASCADE-------如主表中删除了某一主键,则基表中引用此主键的行也被删除ONDELETE的三个选项:例3-1定义STUDENT(学生),COURSE(课程),SC(选课)三个基表。(SNOCHAR(7)NOTNULL,SNAMEVARCHAR(8)NOTNULL,SEXCHAR(2)NOTNULL,BDATEDATENOTNULL,HEIGHTDEC(5,2)DEFAULT000.00,PRIMARYKEY(SNO));CREATETABLESTUDENT/*建立学生表*/“;
7、”不是SQL语句的一部分,而是命令结束符CREATETABLECOURSE/*建立课程表*/(CNOCHAR(6)NOTNULL,LHOURSMALLINTNOTNULL,CREDITDET(1,0)NOTNULL,SEMESTERCHAR(2)NOTNULL,PRIMARYKEY(CNO));CREATETABLESC/*建立选课基表*/(SNOCHAR(7)NOTNULL,CNOCHAR(6)NOTNULL,GRADEDEC(4,1)DEFAULTNULL,PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERE
8、NCESSTUDENTONDELETECASCADE,FOREIGNKEY(CNO)REFERENCESCOURSEONDELETERESTRICT);外键来自ST
此文档下载收益归作者所有