文稿五章分析sql1lexyacc chap5.pdfVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1

第五章分析SQL

本章内容:

SQL的要点概述

语法检查程序

语法分析程序

嵌入式SQL

练习

SQL(代表“结构化查询语言”,通常发音为sequel)是处理关系数据库最常用

2

的语言。首先,开发一个检测输入语法的SQL语法分析程序,但是不以它做任

何事情。然后将它转换成嵌入在C程序中的SQL预处理程序。

这个语法分析程序使用C.J.Date编写的《AGuidetotheSQLStandard》(第二版,

Addison-Wesley)一SQL定义。Date的描述采用

Backus-Naur范式(BNF).它是用于编写正规语言描述的标准形式。除了标点符

号以外、yacc的输入语法类似于BNF,所以在许多地方,直译BNF得到相应的

yacc规则就足够了。在多数情况下,使用与Date相同的符号名,但在有些地方

为了符合yacc的语则而不能这样做。

SQL的最终定义是标准的文档——ANSIX3.135-1989(它定义了SQL本身)和

ANSIX3.168-1989(它定义了在其他程序设计语言中嵌入SQL的方式)。

SQL的要点概述

SQL是用于关系数据库的语言。它处理数据库表中的数据,而不是处理内

存中的数据(偶尔才内存)。

关系数据库

关系数据库是表的集合,类似于文件。每个表都包含行(row)和列(column),

类似于记录和字段。表中的行没有任何特定的顺序。通过给出每列的名字和类型

可以创建一组表:

CREATESCHEMA

AUTHORIZATIONJOHNL

1JobnR.Levine,TonyMason,DougBrown著,,等译).整理:qy8087@

2SQL,是数据库的Fortran,没有人特别喜欢它.这个语言而且特别,每个数据库都支持它,而且我

们都用它。

CREATETABLEFoods(

nameCHAR(8)NOTNULL,

typeCHAR(5),

flavorCHAR(6),

PRIMARYKEY(name)

)

CREATETABLECourses(

courseCHAR(8)NOTNULL,PRIMARYKEY,

flavorCHAR(6),

SequenceINTEGER

)

这个语法是完全格式自由的,并且同一件事通常有几种不同的语法编写方式,注

意给出的PRIMARYKEY说明符的两种不同的方式。(表中的主关键字Primary

key是惟一指定一行的列或一组列。)图5-1展示了装载数据后刚刚创建的两个

表。

Foods

nametypeflavor

peachfruitsweet

tomatofruitsavory

lemonfruitsour

lardfatbland

cheddarfatsavory

Courses

courseflavorsequence

saladsavory1

main

文档评论(0)

152****8708 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档