- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大软件工程研究生的课程---数据库设计开发-0-3
郭文明 2003.06.05 《电信资源管理系统》立项可行性说明 郭文明 2003.06.05 1.3 SQL 自从20世纪80年代以来,SQL就是一个通用的、功能极强的关系数据库语言。现在,SQL语言正从关系形式(ANSI SQL-92标准)转向对象-关系形式(ANSI SQL-99标准,1999年颁布)。 SQL语言是1974年由Boyce和Chamberlin提出。1986年10月美国国家标准局(ANSl)批准了SQL作为关系数据库语言的美国标准。同年公布了SQL标准文本(简称SQL-86)。1987年6月国际标准化组织(ISO)也采纳了此标准。1989年,美国国家标准局(ANSI)采纳了新的规范SQL-89标准,取代SQL-86,同时SQL-89标准也被国际标准化组织(ISO)采纳。1992年,ANSI/ISO颁布了SQL2版本,标准的名称为SQL-92。SQL-92分称几个顺序级别:从代表SQL-89最小扩展集的“Entry”到“Intermediate”和“Full”。完成于己于1999年的SQL-99具有更加高级的特征(包括对象-关系特性),亦称SQL3。 1.3 SQL 主要的几个数据库生产厂商并不可能完全遵守SQL-99(以及更老的SQL-92)。我们一般更加关注在产品中已经实现的SQL-99特征。 1.3.1 SQL特点 1.3.2数据定义 1.3.2.1 SQL模式的创建和删除 1.3.2.2 SQL提供的基本数据类型 1.3.2.3 定义、删除与修改基本表 ? 1.3.2.4 建立与删除索引 1.3.2.5 视图的创建和删除 1.3.3 数据查询 1.3.3.1 简单查询 ? 1.3.3.2 子查询 1.3.3.3 UNION运算和FOR ALL条件 1.3.1 SQL特点 1)综合统一 2)高度非过程化 3)面向集合的操作方式 4)以同一种语法结构提供两种使用方式 5)语言简捷,易学易用 和关系代数相比,就查询能力而言,SQL并没有根本的改进,在关系代数查询方面的经验可以成为用SQL来实现查询的良好借鉴。在构造查询时SQL的select语句比关系代数要灵活. 1.3.2数据定义 SQL的数据定义功能包括对模式(Schema)、表(关系,Table)、视图(View)和索引(Index) 的创建、删除和修改操作。如下表所示。 1.3.2.1 SQL模式的创建和删除 在SQL-99中,模式是表、索引及其他数据库对象的集合。模式名通常是一个用户名。在Core SQL-99和当前大多数产品中,当用户的数据库帐户建立时,其模式在用户名之后给出,他们不能再建立其他模式。SQL-99的扩展特性允许用户建立附加模式,一个SQL模式由模式名和模式拥有者的用户名或账号来确定。 SQL模式的创建可用CREATE语句实现,其句法如下: CREATE SCHEMA 模式名 AUTHORIZATION 用户名 目前只有DB2 UDB允许用户建立附加模式。其它产品中模式用用户名替代。 1.3.2.1 SQL模式的创建和删除 在SQL中还有一个“目录”概念。目录是SQL环境中所有模式的集合。包含数据库中定义的对象的信息的表,由系统维护。ORACLE叫数据字典,DB2 UDB叫目录表,INFORMIX叫系统目录。目录表在建立数据库时建立,用户不能更新,但DBA可以用select获取这些信息。 当一个SQL模式及其所属的基本表、视图等元素都不需要时,可以用DROP语句撤消这个SQL模式。DROP语句的句法如下: DROP SCHEMA 模式名 [CASCADE|RESTRICT] 1.3.2.2 SQL提供的基本数据类型 1.3.2.3 定义、删除与修改基本表 建立数据库最重要的一步就是定义一些基本表。SQL语言使用CREATE TABLE语句定义基本表,一般格式如下: CREATE TABLE 表名 (列名数据类型[列级完整性约束条件] [,列名数据类型[列级完整性约束条件]]… [,表级完整性约束条件]); 例:CREATE TABLE Student (Sno CHAR(5) PRIMARY KEY, Sname CHAR(8) NOT NULL, Sage SMALLINT CHECK(Sage BETWEEN 17 AND 22), Ssex CHAR(2) CHECK(Ssex IN(’男’,’女’)), Sdept CHAR(20) DEFAULT(‘软件学院’)); 创建学生
文档评论(0)