一、不定项选择题(共40题,每小题25分,总分100分)1数据库管理系统的发展历经了如下那些模型阶段(ACDE)A层次模型B结构模型C关系模型D网状模型E对象模型2关系型数据库的核心单元是(B)A对象B表C行D列3对于关系型数据库来说,表之间存在下面那些关系(ABC)A一对一关系B一对多关系C多对多关系D继承关系4在SQL中,下面对于数据定义语言(DDL)描述正确的是(D)。ADDL关心的是数据库中的数据B完成数据的增、删、改、查 *** 作C控制对数据库的访问D定义数据库的结构5MySQL是一种(C)数据库管理系统。A层次型B网络型C关系型D对象型6SQL中,下列 *** 作有语法错误的是(B)AAGEISNOTNULLBNOT(AGEISNULL)CSNAME=‘王五’DSNAME=‘王%’7SQL中,下列关于创建、管理数据库的 *** 作语句不正确的是(CDE)ACREATEDATABASEInstantBUSEInstantCNEWDATABASEInstantDConnectionInstantEDeleteDATEBASEInstant8在MySQL中,不存在的数据类型是(F)。AINTBTEXTCDECIMALDVARCHAREDATETIMEFVARCHAR29在MySQL中,下列关于创建数据库表的描述正确的是(C)。A在创建表时必须设定列的约束B在删除表的时候通过外键约束连接在一起的表会被一同删除C在创建表时必须设置列类型D通过CREATETABLEnew_tSELECTFROMold_t复制表的同时,表的约束能够一起被复制到新表中10根据数据完整性实施的方法,可以将其分为(ACDF)A实体完整性B表完整性C域完整性D引用完整性E记录完整性F用户自定义完整性11下面关于域完整性的方法,不正确的是(A)。A主键约束B外键约束C检查约束D非空约束E默认值12下面关于创建和管理索引正确的描述是(C)。A创建索引是为了便于全表扫描B索引会加快DELETE、UPDATE和INSERT语句的执行速度C索引被用于快速找到想要的记录D大量使用索引可以提高数据库的整体性能13SQL中,“AGEIN(20,22)”的语义是(D)。AAGE=20BAGE20CAGE=20ANDAGE=22DAGE=20ORAGE=2214有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C)A实体完整性约束B参照完整性约束C用户自定义完整性约束D关键字完整性约束15下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:(B)Selectstu_id,subId,count()asxFromt_examWhereex_date=’2008-08-08’Groupstu_id,subIdHavingcount()>1OrderbyxdescA找出’2008-08-08’这天某科考试2次及以上的学生记录B找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面C找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面D根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面16EMP表如下所示,下面哪些SQL语句的返回值为3:(BD)EMP雇员号雇员名部门号工资 001 张山 02 2000010 王宏达 011200056 马林生 021000101 赵敏04Aselectcount()fromempBselectcount(distinct部门号)fromempCselectcount()fromempgroupby雇员号Dselectcount(工资)fromemp17下面那一项不是SELECT语句对数据的 *** 作:(D)A投影B联接C并D级联18下面关于SQL数据查询 *** 作描述正确的有:(ABD)A投影 *** 作是选择对表中的哪些列进行查询 *** 作B使用DISTINCT关键字可以过滤查询中重复的记录C在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符D在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数19在SQL语言中,条件“BETWEEN20AND30”表示年龄在20到30之间,且(A)。A包括20岁和30岁B不包括20岁和30岁C包括20岁,不包括30岁D不包括20岁,包括30岁20SQL语言中,删除EMP表中全部数据的命令正确的是(C)。AdeletefromempBdroptableempCtruncatetableempD没有正确答案21有关索引的说法错误的是(AD)A索引的目的是为增加数据 *** 作的速度B索引是数据库内部使用的对象C索引建立得太多,会降低数据增加删除修改速度D只能为一个字段建立索引22下列哪个关键字在Select语句中表示所有列(A)ABALLCDESCDDISTINCT23在表中设置外键实现的是哪一类数据完整性(B)A实体完整性B引用完整性C用户定义的完整性D实体完整性、引用完整性和用户定义的完整性24下面正确表示Employees表中有多少非NULL的Region列的SQL语句是(B)ASELECTcount()fromEmployeesBSELECTcount(ALLRegion)fromEmployeesCSELECTcount(DistinctRegion)fromEmployeesDSELECTsum(ALLRegion)fromEmployees25下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是(C)AWHERE子句BGROUPBY子句CHAVING子句DORDERBY子句26t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是(A)Aselectavg(nvl(socre,0))fromscoregroupbystu_idBselectstu_id,avg(sorce)fromscoreCselectstu_id,avg(score)fromscoreDselectstu_id,sum(score)/count(score)fromscore27若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的(B)ASELECTSno,SNAMEFROMSWHERESNAME=′王%′BSELECTSno,SNAMEFROMSWHERESNAMELIKE′王%′CSELECTSno,SNAMEFROMSWHERESNAMELIKE′王_′D全部28若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是(B)ASELECTSnoFROMSCGROUPBYSnoWHERECOUNT()>3BSELECTSnoFROMSCGROUPBYSnoHAVING(COUNT()>3)CSELECTSnoFROMSCORDERBYSnoWHERECOUNT()>3DSELECTSnoFROMSCORDERBYSnoHAVINGCOUNT()>=329对下面的查询语句描述正确的是(D)SelectStudentID,Name,(selectcount()fromStudentExamwhereStudentExamStudentID=StudentStudentID)asExamsTakenfromStudentorderbyExamsTakendescA从Student表中查找StudentID和Name,并按照升序排列B从Student表中查找StudentID和Name,并按照降序排列C从Student表中查找StudentID、Name和考试次数D从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列30下面题基于学生-课程数据库中的三个基本表:学生信息表:s(sno,sname,sex,age,dept)主键为sno课程信息表:c(cno,cname,teacher)主键为cno学生选课信息表:sc(sno,cno,grade)主键为(sno,cno)“从学生选课信息表中找出无成绩的学生信息”的SQL语句是(Cd)ASELECTFROMscWHEREgrade=NULLBSELECTFROMscWHEREgradeIS‘’CSELECTFROMscWHEREgradeISNULLDSELECTFROMscWHEREgrade=‘’31当子查询返回多行时,可以采用的解决法是(C)。A使用聚合函数BWhere条件判断C使用IN运算符D使用Groupby进行分组32下面关于在子查询中使用运算符描述不正确的是(D)。A使用IN运算符用于查找字段值属于某一组值的行B使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真C使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件D使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件33下面关于组合查询描述不正确的是(D)。A从一个表中获取的数据必须和其它表中的数据具有相同的列数B两个表中相对应的列必须具有相同的数据类型CUNION的结果集列名与第一个SELECT语句的结果集中的列名相同DUNION的结果集列名与第二个SELECT语句的结果集中的列名相同EUNIONALL运算符返回每个数据集的所有成员34下面关于联接的描述正确的是(A)。A内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行B左外联接结果集包含从右边的表返回的所有行C右外联接结果集包含从左边的表返回的所有行D全外联接返回左表和右表中的所有匹配的行35下面关于数据库设计过程正确的顺序描述是(C)。A需求收集和分析、逻辑设计、物理设计、概念设计B概念设计、需求收集和分析、逻辑设计、物理设计C需求收集和分析、概念设计、逻辑设计、物理设计D需求收集和分析、概念设计、物理设计、逻辑设计36ER图属于下面哪一种数据库设计模型(B)。A物理数据模型B概念数据模型C逻辑数据模型D需求模型37非主键必须完全依赖于主键列,这属于下列范式的内容(BC)A1NFB2NFC3NFD都没有的38如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立(B)。APK(主键)BFK(外键)CUK(唯一键)D复合主键39根据三个范式的定义,下面哪个选项的设计是正确的(C)职工编号姓名工种车间车间主任1001李宁车工一车间周杰1002王海铣工一车间周杰1003赵亮钳工二车间吴明1001李宁钳工二车间吴明A员工表、工种表、车间表B员工表、工种表、车间表、车间主任表C员工表、工种表、车间表、员工工种表、员工车间表D以上设计均不正确40下列说法中,哪些是正确的(BD)ARDBMS是数据库管理系统的简称B各行记录都不能重复,是第二范式要求的C在数据库设计中一定要满足第三范式D索引越多,查询越快,数据更新越慢
什么是索引
拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。
同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。
• SQL Server中的数据也是按页( 4KB )存放
• 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据。
• 索引页:数据库中存储索引的数据页;索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。
• 索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。
索引类型
• 唯一索引:唯一索引不允许两行具有相同的索引值
• 主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空
• 聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个
• 非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个
索引类型:再次用汉语字典打比方,希望大家能够明白聚集索引和非聚集索引这两个概念。
唯一索引:
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在stuInfo表中的学员员身份z号(stuID) 列上创建了唯一索引,则所有学员的身份z号不能重复。
提示:创建了唯一约束,将自动创建唯一索引。尽管唯一索引有助于找到信息,但为了获得最佳性能,建议使用主键约束或唯一约束。
主键索引:
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
聚集索引(clustered index)
在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。例如:汉语字(词)典默认按拼音排序编排字典中的每页页码。拼音字母a,b,c,d……x,y,z就是索引的逻辑顺序,而页码1,2,3……就是物理顺序。默认按拼音排序的字典,其索引顺序和逻辑顺序是一致的。即拼音顺序较后的字(词)对应的页码也较大。如拼音“ha”对应的字(词)页码就比拼音“ba” 对应的字(词)页码靠后。
非聚集索引(Non-clustered)
如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引(nonclustered index)有更快的数据访问速度。例如,按笔画排序的索引就是非聚集索引,“1”画的字(词)对应的页码可能比“3”画的字(词)对应的页码大(靠后)。
提示:SQL Server中,一个表只能创建1个聚集索引,多个非聚集索引。设置某列为主键,该列就默认为聚集索引
如何创建索引
使用T-SQL语句创建索引的语法:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
q UNIQUE表示唯一索引,可选
q CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选
q FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比
在stuMarks表的writtenExam列创建索引:
USE stuDB
GO
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'IX_writtenExam')
DROP INDEX stuMarksIX_writtenExam
/--笔试列创建非聚集索引:填充因子为30%--/
CREATE NONCLUSTERED INDEX IX_writtenExam
ON stuMarks(writtenExam)
WITH FILLFACTOR= 30
GO
/-----指定按索引 IX_writtenExam 查询----/
SELECT FROM stuMarks (INDEX=IX_writtenExam)
WHERE writtenExam BETWEEN 60 AND 90
虽然我们可以指定SQL Server按哪个索引进行数据查询,但一般不需要我们人工指定。SQL Server将会根据我们创建的索引,自动优化查询。
索引的优缺点
• 优点
– 加快访问速度
– 加强行的唯一性
• 缺点
– 带索引的表在数据库中需要更多的存储空间
– *** 纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新
创建索引的指导原则
• 请按照下列标准选择建立索引的列。
– 该列用于频繁搜索
– 该列用于对数据进行排序
• 请不要使用下面的列创建索引:
– 列中仅包含几个不同的值。
– 表中仅包含几行。为小型表创建索引可能不太划算,因为SQL Server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长
以上就是关于这两种题型mysql数据库结构应该怎么设计,B形题和A3A4题全部的内容,包括:这两种题型mysql数据库结构应该怎么设计,B形题和A3A4题、sqlserver怎么建立索引、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)