资源描述:
《关系数据库的标准语言ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章关系数据库的标准语言SQL本章主要内容本章介绍关系数据库标准语言SQL。主要内容包括:数据定义、数据操纵、数据控制和数据约束等。(1)SQL数据库的体系结构,SQL的组成。(2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。(3)SQL的数据查询:SELECT语句的句法,SELECT语句的几种形式及各种限定,基本表的联接操作。(4)SQL的数据更新:插入、删除和修改语句。(5)视图的创建和撤消,对视图更新操作的限制。关系数据库的标准语言SQL2.1SQL概述2.2SQL的数据定义2.3数据查询2.4聚集函数(Ag
2、gregation)2.5数据库更新2.6视图本章小结2.1SQL概述1)SQL的发展历程SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。1986年10月,经美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,并公布了标准SQL文本。1987年6月国际标准化组织(ISO)将其采纳为国际标准,称为“SQL86”。相继出现了“SQL89”、“SQL2(SQL92)”、“SQL3”。SQL已成为关系数据库领域中的一个主流语言:首先,各
3、个数据库产品厂家纷纷推出了自己的支持SQL的软件或与SQL接口的软件。其次,SQL在数据库以外的其他领域也受到了重视。不少软件产品将SQL的数据检索功能与面向对象技术、图形技术、软件工程工具、软件开发工具、人工智能语言等相结合,开发出功能更强的软件产品。2)SQL数据库的体系结构视图V1用户1视图V2基本表B1基本表B2基本表B3基本表B4存储文件S1存储文件S2存储文件S3存储文件S4用户2用户3用户4SQL用户外模式模式内模式2.2 SQL的数据定义2.2.1数据类型2.2.2基本表模式的定义2.2.3基本表的修改和删除2.
4、2.4域2.2.5索引的建立和删除2.2.1数据类型数据类型说明符备注定义字符串CHAR(n)按固定长度n存储字符串,如果实际字符串长度长小于n,后面填空格符;如果实际字符串长大于n,则报错。变长字符串VARCHAR(n)按实际字符串长度存储,但字符长度不得超过n,则报错。整数INT常见的长整数,字长32位短整数SMALLINT字长16位十进制数DECIMAL(n,d)n为十进制数总位数(不包括小数点),d为小数据点后的十进制位数浮点数FLOAT一般指双精度浮点数,即字长64位定长位串BIT(n)二进制位串,长度为n,n的缺省值
5、为1变长位串BITVARING(n)按实际二进制位串存储,但最长不得超过n位,否则报错日期DATE格式为“yyyymmdd”,yyyy表示年份,范围为0001~9999;mm表示月份,范围为1~12;dd表示日,范围为1~31。时间TIME格式为“hhmmss”,hh表示小时,范围为0~24;mm为分钟,ss表示秒,范围都是0~59。时标TIMESTAMP格式为“yyyymmddhhmmssnnnnnn”,其中“nnnnnn”表示微秒,范围为0~99999,其他符号的意义同上。2.2.2数据表模式的定义1)定义数据库的语句格式为
6、:CREATEDATABASEdatabase_name[ON(NAME=file_name,FILENAME='os_file_name'[,SIZE=size][,MAXSIZE={max_size
7、UNLIMITED}][,FILEGROWTH=growth_increment])][LOGON(NAME=logical_file_name,FILENAME='os_file_name'[,SIZE=size][,MAXSIZE={max_size
8、UNLIMITED}][,FILEGROWTH=growth_increm
9、ent])]事例CREATEDATABASEstudbON(NAME='studb_dat',FILENAME='d:studb.mdf',SIZE=4,MAXSIZE=10,FILEGROWTH=1)LOGON(NAME='studb_log',FILENAME='d:studb_log.LDF',SIZE=1,FILEGROWTH=10%);2)基本表SQL定义语句格式定义基本表的语句格式为:CREATETABLE<表名>(<属性名1><类型1>[NOTNULL][UNIQUE][,<属性名2><类型2][NOTNULL
10、][UNIQUE]]…)[其他参数];例2-1:学生成绩数据库含有三张表:学生关系:S(SNO,SNAME,SEX,AGE,DNAME)课程关系:C(CNO,CNAME,CREDIT,PRE_CNO)选课关系:SC(SNO,CNO,SCORE)可用下列SQL语句