第三章关系数据库
- 格式:ppt
- 大小:684.50 KB
- 文档页数:51
第三章关系数据库标准语言SQL语言一、选择题1. 在SQL语言中授权的操作是通过________________语句实现的。
C A.CREATEB.REVOKEC.GRANTD.INSERT2. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系____。
DA.S B.SC,C C.S,SC D.S,C,SC3. 在 MS SQL Server中建立了表 Student(no,name,sex,birthday),no为表的主码,其他属性的默认值为 null。
表中信息如图所示:能够正确执行的插入操作是________。
A No Name Sex Birthday 101 张丽丽女 1967/05/07 102 李芳女 1970/04/14103 王朋男 1982/10/27 A.INSERT INTO student (no,sex) VALUES(102,′男′) B.INSERT INTO student (name,sex) VALUES(′王中′,′男′)D.INSERT INTO student VALUES(106,′王中′,′男′,′1984/03/08′) C.INSERT INTO stude nt VALUES(102,′男′,′王中′,′1984/03/08′) 4. SQL语言中,删除一个表的命令是________。
B A. DELETE B. DROP C. CLEAR D. REMORE 5. 为数据表创建索引的目的是________ AA.提高查询的检索性能B.创建唯一索引C.创建主键D.归类6. 在SQL语言中,条件“RETWEEN 20 AND 30”表示年龄在20到30之间,且________A. 包括20岁和30岁B. 不包括20岁和30岁C. 包括20岁不包括30岁D. 不包括20岁包括30岁7. 为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字________ AA. UNIQUEB. COUNTC. DISDINCTD. UNION 8. 下面关于SQL语言的说法中,哪一种说法是错误的? ________ AA. 一个SQL数据库就是一个基本表B. SQL语言支持数据库的三级模式结构C. 一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表D. SQL的一个表可以是一个基本表,也可以是一个视图二、简答题1. 什么是基本表?什么是视图?两者的区别和联系是什么?【解答】基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
第三章关系数据库一、单项选择题1、实体是信息世界中的术语,与之对应的关系数据库术语为(A)。
A、元组B、数据库C、字段D、文件2、关系数据表的主关键字由(D)个字段组成。
A、一个B、两个C、多个D、一个或几个3、在概念模型中,一个实体集对应于关系模型中的一个(D)。
A、元组B、字段C、属性D、关系4、下列叙述中,(A)是不正确的?A、一个关系中可以出现相同的行B、关系中的列称为属性C、关系中的行称为元组D、属性的取值范围称为域5、下列关于关系模式的码的叙述中,(C)是不正确的?A、从候选码中选出一个作为主码,在关系中只能有一个主码B、主码可以是单个属性,也可以是属性组C、在关系中只能有一个候选码D、若一个关系模式中的所有属性构成码,则称为全码6、关于关系模式的关键字,以下说法正确的是(B)。
A、一个关系模式可以有多个主关键字B、一个关系模式可以有多个侯选关键字C、主关键字可以取空值D、关系模式必须有主关键字7、在关系数据库中,关系是指(D)。
A、视图B、属性C、实体D、二维表8、如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示(A)。
A、所有可能选课的情况B、所有学生选部分课程的情况C、所有课程被部分学生选课的情况D、均不是9、如果集合A含2个元素,集合B含3个元素,则A与B的笛卡尔积包含(B)个元素。
A、2B、6C、3D、510、数据的完整性是指(C)。
A、数据的存储和使用数据的程序无关B、防止数据被非法使用C、数据的正确性、一致性D、减少重复数据11、关系模型中有三类基本的完整性约束,定义外部关键字实现的是(C)。
A、实体完整性B、域完整性C、参照完整性D、实体完整性、参照完整性和域完整性12、某表的性别字段只能输入男或女,属于(B)约束。
A、实体完整性B、域完整性C、参照完整性D、实体完整性、参照完整性和域完整性113、关系代数运算是以(C)为基础的运算。
A、关系运算B、谓词演算C、集合运算D、代数运算14、对关系s和关系r进行集合运算,结果中既包含s中元组也包含r中元组,这种集合运算称为(A)。
一、选择题1.SQL语言是()的语言,容易学习.BA. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。
CA.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。
CA.数据查询B.数据操纵C.数据定义D.数据控制4.SQL语言中,删除一个视图的命令是()。
BA.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。
AA.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。
DA.CREA TE TABLEB.DROP VIEWC.CREA TE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。
CA.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。
CA. ADD TABLE S (CN CHAR(8))B. ADD TABLE S ALTER (CN CHAR(8))C. ALTER TABLE S ADD CN CHAR(8)D. ALTER TABLE S (ADD CN CHAR(8))9.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
BA.DELETE Age from SB.ALTER TABLE S DROP COLUMN AgeC.UPDA TE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。
第三章关系数据库标准查询语言SQL●3.1 SQL概述●3.2数据定义语言(DDL)●3.3 SQL的数据查询(DML)●3.4 SQL的数据更新(DML)●3.5视图●3.6数据控制语言(DCL)●3.7嵌入式SQL语言●3.8 存储过程*(T-SQL)3.1 SQL概述●SQL(Standard/Structured Query Language)是关系数据库标准●1986年10月,美国国家标准局(American National Standard Institute ANSI)公布第一个标准ANSI X3.135-1986,国际标准化组织(International Organization for Standardization ISO)也通过这一标准称SQL-86●1989年ANSI再次公布标准ANSI X3.135-1989 ,ISO 相应SQL-89●1999年,ISO公布SQL-1999(SQL99,SQL3)●2003年,ISO公布SQL-20033.1.1 SQL语言的组成●数据定义(DDL Data Definition/Description Language )–定义数据库的逻辑结构,包括基本表、视图、索引等●数据操纵(DML Data Manipulation Language)–包括查询和更新,更新又包含插入、删除和修改●数据控制(DCL Data Control Language )–授权、完整性规则描述、事务控制等●嵌入式SQL(ESQL)–在宿主语言中使用SQL的规则3.1.2 SQL语言的特点●综合统一:集DDL、DML、DCL于一体,语言风格统一●面向集合的操作方式:操作对象、查询结果都可以是元组的集合●高度非过程化:存取路进透明。
●以统一的语法结构提供两种使用方式:自含式、嵌入式●语言简洁,易学易用,主要共使用11个关键词–DDL:create drop alter–DML:select insert delete update–DCL:grant revoke commit rollback3.2数据定义语言(DDL)3.2.1定义、删除与修改基本表定义基本表语法CREATE TABLE <表名> (<列名><数据类型>[列级约束条件][,<列名><数据类型>[列级约束条件]... ...][,<表级完整性约束条件>])例:CREATE TABLE S(S#CHAR(5)NOT NULL UNIQUE,SN CHAR(20),SA INT,SD CHAR(3),PRIMARY KEY (S#));修改表语法ALTER TABLE <表名>[ADD <新列名><数据类型>[列级约束条件]] [DROP <完整性约束条件>][MODIFY <列名><数据类型>];例:ALTER TABLE S ADD SCome DATE;ALTER TABLE S MODIFY SA SMALLINT; ALTER TABLE S DROP UNIQUE(S#);删除表语法DROP TABLE <表名>例:DROP TABLE S3.2.2建立和删除索引索引的建立语法CREATE [UNIQUE][CLUSTER] INDEX <索引名>ON <表名>(<列名1>[<次序>][,<列名2><次序>... ...])<次序>可以是ACS和DESC例:CREATE UNIQUE INDEX S_S# ON S(S#)CREATE UNIQUE INDEX C_C# ON C(C#)CREATE UNIQUE INDEX SC_S#_C# ON SC(S#ASC,C# DESC)索引的删除语法DROP INDEX [<表名>.]<索引名>DROP INDEX [S.]S_S#3.3 SQL的数据查询(DML)●关系代数表达式∏A1,A2,.....An(δF(R1×R2×... ...×R n)) ●SQL 语句SELECT A1,A2,......A nFROM R1,R2,... ...R mWHERE F详细语法SELECT [ALL|DISTINCT] {*|<目标表达式1> [,<目标表达式2> ... ...]}FROM <表名或视图名1> [,<表名或视图名2>]... ...[WHERE <条件表达式>][GROUP BY <列名表达式1>[,<列名表达式2>]][HAVING <条件表达式> ][ORDER BY <列名表达式1> [ASC|DESC]], <列名表达式2> [ASC|DESC]]执行过程1)先按WHERE子句条件从FROM子句指定的表/视图中找出满足条件的元组(选择);2)再按SELECT子句中的目标表达式选择出元组中的属性,形成结果表(投影);3)如有GROUP子句,则将结果按<列名表达式>的值分组,该<列名表达式>值相等的元组为一个组,通常会在每组中使用聚合函数。