第四章SQL练习
sql练习题及答案
sql练习题及答案SQL练习题及答案在学习SQL(Structured Query Language)时,练习题是非常重要的一部分。
通过练习题,我们可以巩固和应用所学的SQL知识,提高自己的实践能力。
本文将介绍几个常见的SQL练习题,并提供相应的答案,希望对大家的学习有所帮助。
1. 查询员工表中所有员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表;```2. 查询员工表中薪水大于5000的员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表WHERE 薪水 > 5000;```3. 查询员工表中职位为经理的员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表WHERE 职位 = '经理';```4. 查询员工表中薪水在4000到6000之间的员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表WHERE 薪水 BETWEEN 4000 AND 6000;```5. 查询员工表中薪水最高的员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表WHERE 薪水 = (SELECT MAX(薪水) FROM 员工表);```6. 查询员工表中没有分配部门的员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表WHERE 部门 IS NULL;```7. 查询员工表中按照薪水从高到低排列的前5名员工的姓名和薪水。
答案:```sqlSELECT 姓名, 薪水FROM 员工表ORDER BY 薪水 DESCLIMIT 5;```8. 查询员工表中每个部门的员工数量。
答案:```sqlSELECT 部门, COUNT(*) AS 员工数量FROM 员工表GROUP BY 部门;```9. 查询员工表中薪水排名在第3到第5位的员工的姓名和薪水。
SQL试题——精选推荐
SQL试题数据库基础与应⽤课程针对性训练⼀、单项选择题,1.域是实体中相应属性的( A. 取值范围)。
2.把保存关系定义的关系称为对应数据库的( B. 元关系)。
3.在⼀个关系R中,若存在X→Y和X→Z,则存在X→(Y,Z),称此为函数依赖的(C. 合并性)规则。
4. 设⼀个关系为R(A,B,C,D,E,F),它的最⼩函数依赖集为FD={A→B,A→C,D→E,D→F},则该关系的候选码为(D. (A,D))。
5.在SQL中,对基本表进⾏插⼊和修改记录的命令为(D. insert和update)。
6.Access2000数据库是(C.关系)型数据库。
7.如果字段内容为声⾳⽂件,可将此字段定义为(C.OLE对象)类型。
8.在建交叉表查询的过程中,最多可以选择(B.3)个⾏标题字段。
9.若要退出Microsoft Acces s,则应使⽤的操作是(C.Quit)。
10.显⽰包含警告信息或其他信息的消息框,应该使⽤的操作是(D.MsgBox)。
1.设D1,D2和D3域的基数分别为2,3和4,则D1?D2?D3的元组数为(B. 24 )。
2.若⼀个关系为R(学⽣号,姓名,性别,年龄),则(A. 学⽣号)适合作为该关系的主码。
3.设⼀个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A和B的并集中包含有(C. 7)个元素。
4. 在⼀个关系R中,若存在X→(Y,Z),则也隐含存在X→Y和X→Z,称此为函数依赖的(B. 分解性)规则。
5.在SQL的查询语句中,order by选项实现对结果表的(D. 排序)功能。
6.Access2000数据库⽂件的扩展名是(D.mdb)。
7.在下⾯所给的属性中,(D.⾝份证号码)属性适宜作为主关键字。
8.下列(C .)图标是Access中表对象的标志。
9.Access中包含有(B.10)种数据类型。
10.可以通过Internet进⾏数据发布的对象是(D.数据访问页)。
VFP第四章SQL练习
一、单项选择题1.下列说法正确的是()。
A)SQL 语言不能直接以命令方式交互使用,而只能嵌入到程序设计语言中以程序方式使用B)SQL 语言只能直接以命令方式交互使用,而不能嵌入到程序设计语言中以程序方式使用C)SQL 语言不可以直接以命令方式交互使用,也不可以嵌入到程序设计语言中以程序方式使用,是在一种特殊的环境下使用的语言D)SQL 语言既可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用2.SQL 语言具有()的功能。
A)关系规范化,数据操纵,数据控制B)数据定义,数据操纵,数据控制C)数据定义,关系规范化,数据控制D)关系规范化,数据操纵,数据查询3.SQL 语言中使用最多的功能是()。
A)数据查询B)数据修改C)数据定义D)数据控制4.SQL 语句中,Select 命令中Join 短语用于建立表之间的联系,联接条件应出现在()短语中。
A)Where B)On C)Having D)In5.Sql 语句中删除表中数据的语句是()。
A)Drop B)Erase C)Cancle D)Delete6.用SQL 语句建立表时为属性定义主索引,应在SQL 语句中使用短语()。
A)Default B)Primary Key C)Check D)Unique7.SQL 语句的Drop Index De 作用是()。
A)删除索引B)建立所引C)修改索引D)更改索引8.SQL 语句中条件短语的关键字是()。
A)Where B)For C)While D)Condition9.SQL 中可以使用的通配符有()。
A)* B)% C)_ D)B 项和c项10.SQL 的数据操纵语句不包括()。
A)Insert B)Delete C)Update D)Change11.字符串匹配运算符是()。
A)Like B)And C)In D)=12.将查询结果放在数组中应使用()短语。
A)Into Cursor B)To Array C)Into Table D)Into Array13.SQL 实现分组查询的短语是()。
sql 练习题
sql 练习题SQL练习题SQL(Structured Query Language)是一种用于管理关系数据库系统的标准化语言。
它可以用于创建、修改和查询数据库中的数据。
对于想要提高SQL技能的人来说,练习是非常重要的。
在本文中,我将提供一些SQL练习题,帮助读者加深对SQL的理解和应用。
练习题一:查询数据假设有一个名为"employees"的表,包含以下字段:id、name、age、salary。
请编写一条SQL语句,查询所有员工的姓名和薪水。
练习题二:条件查询在上述"employees"表的基础上,请编写一条SQL语句,查询所有薪水大于5000的员工的姓名和薪水。
练习题三:排序查询继续使用上述"employees"表,请编写一条SQL语句,查询所有员工的姓名和薪水,并按照薪水降序排列。
练习题四:聚合函数假设有一个名为"orders"的表,包含以下字段:id、customer_id、order_date、total_amount。
请编写一条SQL语句,查询每个客户的总订单金额。
练习题五:连接查询在上述"employees"和"orders"表的基础上,请编写一条SQL语句,查询每个员工的姓名、薪水和总订单金额,并按照薪水降序排列。
练习题六:子查询在上述"employees"表的基础上,请编写一条SQL语句,查询薪水高于平均薪水的员工的姓名和薪水。
练习题七:更新数据假设有一个名为"products"的表,包含以下字段:id、name、price。
请编写一条SQL语句,将所有价格低于10的产品的价格增加10%。
练习题八:删除数据在上述"products"表的基础上,请编写一条SQL语句,删除所有价格高于100的产品。
练习题九:创建表请编写一条SQL语句,创建一个名为"students"的表,包含以下字段:id、name、age、gender。
第4章_结构化查询语言SQL-6学时
说明1:
SELECT S••F联Tro接Um条D短件E语:N:两T后.个学面表接号进多行,姓个联表名接时查,,性询两别的个前,表成提之是绩间一用;定逗有号“隔相开同。” FROM STUDENT,S的C字O段R名E。; WHERE 成•联绩接>的8方0法A:如N:D表“名Ss1Tt.u字Ud段eDn名tE.学=N表号T名=.学s2c.字o号r段e.=学名S号C”ORE.学号
无条件查询小结:
6)结果排序 【例】查询显示COURSE表中的所有信息,并按学分 升序排序。
SELECT * FROM COURSE ORDER BY 学分
2、单表条件查询----SELECT … FROM …WHERE …
【格式】SELECT [ALL | DISTINCT] <字段列表> FROM <表> [WHERE <条件表达式> ]
1975~1979,IBM San Jose Research Lab的关系数据库管 理系统原型System R实施了这种语言
SQL-86是第一个SQL标准
(ANSI)
SQL-89、SQL-92(SQL2)、SQL-99(SQL3) (ANSI)
●现状:大部分DBMS产品都支持SQL,成为操作数据库的标 准语言
第四章 结构化查询语言SQL
本章主要内容
4.1 数据查询 4.2 数据操作 4.3 数据定义 本章作业
SQL语言的基本概述
●SQL:Structured Query Language 缩写
结构化查询语言,目前关系型数据库的通用语言。
●SQL的发展
1974年,由Boyce和Chamberlin提出
数据库第六版第四章答案
Intermediate SQLPractice Exercises4.1Write the following queries in SQL:a.Display a list of all instructors,showing their ID,name,and the num-ber of sections that they have taught.Make sure to show the numberof sections as0for instructors who have not taught any section.Yourquery should use an outerjoin,and should not use scalar subqueries.b.Write the same query as above,but using a scalar subquery,withoutouterjoin.c.Display the list of all course sections offered in Spring2010,alongwith the names of the instructors teaching the section.If a section hasmore than one instructor,it should appear as many times in the resultas it has instructors.If it does not have any instructor,it should stillappear in the result with the instructor name set to“—”.d.Display the list of all departments,with the total number of instructorsin each department,without using scalar subqueries.Make sure tocorrectly handle departments with no instructors.Answer:a.Display a list of all instructors,showing their ID,name,and the num-ber of sections that they have taught.Make sure to show the numberof sections as0for instructors who have not taught any section.Yourquery should use an outerjoin,and should not use scalar subqueries.select ID,name,count(course id,section id,year,semester)as’Number of sections’from instructor natural left outer join teachesgroup by ID,nameThe above query should not be written using count(*)since count*counts null values also.It could be written using count(section id),or1920Chapter4Intermediate SQLany other attribute from teaches which does not occur in instructor,which would be correct although it may be confusing to the reader.(Attributes that occur in instructor would not be null even if the in-structor has not taught any section.)b.Write the same query as above,but using a scalar subquery,withoutouterjoin.select ID,name,(select count(*)as’Number of sections’from teaches T where T.id=I.id)from instructor Ic.Display the list of all course sections offered in Spring2010,alongwith the names of the instructors teaching the section.If a section hasmore than one instructor,it should appear as many times in the resultas it has instructors.If it does not have any instructor,it should stillappear in the result with the instructor name set to“−”.select course id,section id,ID,decode(name,NULL,’−’,name)from(section natural left outer join teaches)natural left outer join instructorwhere semester=’Spring’and year=2010The query may also be written using the coalesce operator,by re-placing decode(..)by coalesce(name,’−’).A more complex versionof the query can be written using union of join result with anotherquery that uses a subquery tofind courses that do not match;refer toexercise4.2.d.Display the list of all departments,with the total number of instructorsin each department,without using scalar subqueries.Make sure tocorrectly handle departments with no instructors.select dept name,count(ID)from department natural left outer join instructorgroup by dept name4.2Outer join expressions can be computed in SQL without using the SQLouter join operation.To illustrate this fact,show how to rewrite each of thefollowing SQL queries without using the outer join expression.a.select*from student natural left outer join takesb.select*from student natural full outer join takesAnswer:a.select*from student natural left outer join takescan be rewritten as:Exercises21 select*from student natural join takesunionselect ID,name,dept name,tot cred,NULL,NULL,NULL,NULL,NULLfrom student S1where not exists(select ID from takes T1where T1.id=S1.id)b.select*from student natural full outer join takescan be rewritten as:(select*from student natural join takes)union(select ID,name,dept name,tot cred,NULL,NULL,NULL,NULL,NULLfrom student S1where not exists(select ID from takes T1where T1.id=S1.id))union(select ID,NULL,NULL,NULL,course id,section id,semester,year,gradefrom takes T1where not exists(select ID from student S1where T1.id=S1.id))4.3Suppose we have three relations r(A,B),s(B,C),and t(B,D),with allattributes declared as not null.Consider the expressions•r natural left outer join(s natural left outer join t),and•(r natural left outer join s)natural left outer join ta.Give instances of relations r,s and t such that in the result of thesecond expression,attribute C has a null value but attribute D has anon-null value.b.Is the above pattern,with C null and D not null possible in the resultof thefirst expression?Explain why or why not.Answer:a.Consider r=(a,b),s=(b1,c1),t=(b,d).The second expression wouldgive(a,b,NULL,d).b.It is not possible for D to be not null while C is null in the result of thefirst expression,since in the subexpression s natural left outer join t,it is not possible for C to be null while D is not null.In the overallexpression C can be null if and only if some r tuple does not have amatching B value in s.However in this case D will also be null.4.4Testing SQL queries:To test if a query specified in English has been cor-rectly written in SQL,the SQL query is typically executed on multiple test22Chapter4Intermediate SQLdatabases,and a human checks if the SQL query result on each test databasematches the intention of the specification in English.a.In Section Section3.3.3The Natural Joinsubsection.3.3.3we saw an ex-ample of an erroneous SQL query which was intended tofind whichcourses had been taught by each instructor;the query computed thenatural join of instructor,teaches,and course,and as a result uninten-tionally equated the dept name attribute of instructor and course.Givean example of a dataset that would help catch this particular error.b.When creating test databases,it is important to create tuples in refer-enced relations that do not have any matching tuple in the referencingrelation,for each foreign key.Explain why,using an example queryon the university database.c.When creating test databases,it is important to create tuples with nullvalues for foreign key attributes,provided the attribute is nullable(SQL allows foreign key attributes to take on null values,as long asthey are not part of the primary key,and have not been declared asnot null).Explain why,using an example query on the universitydatabase.Hint:use the queries from Exercise Exercise4.1Item.138.Answer:a.Consider the case where a professor in Physics department teaches anElec.Eng.course.Even though there is a valid corresponding entryin teaches,it is lost in the natural join of instructor,teaches and course,since the instructors department name does not match the departmentname of the course.A dataset corresponding to the same is:instructor={(12345,’Guass’,’Physics’,10000)}teaches={(12345,’EE321’,1,’Spring’,2009)}course={(’EE321’,’Magnetism’,’Elec.Eng.’,6)}b.The query in question0.a is a good example for this.Instructors whohave not taught a single course,should have number of sections as0in the query result.(Many other similar examples are possible.)c.Consider the queryselect*from teaches natural join instructor;In the above query,we would lose some sections if teaches.ID is al-lowed to be NULL and such tuples exist.If,just because teaches.ID isa foreign key to instructor,we did not create such a tuple,the error inthe above query would not be detected.4.5Show how to define the view student grades(ID,GP A)giving the grade-point average of each student,based on the query in Exercise??;recallthat we used a relation grade points(grade,points)to get the numeric pointsExercises23 associated with a letter grade.Make sure your view definition correctly handles the case of null values for the grade attribute of the takes relation.Answer:We should not add credits for courses with a null grade;further to to correctly handle the case where a student has not completed any course, we should make sure we don’t divide by zero,and should instead return a null value.We break the query into a subquery thatfinds sum of credits and sum of credit-grade-points,taking null grades into account The outer query divides the above to get the average,taking care of divide by0.create view student grades(ID,GP A)asselect ID,credit points/decode(credit sum,0,NULL,credit sum)from((select ID,sum(decode(grade,NULL,0,credits))as credit sum,sum(decode(grade,NULL,0,credits*points))as credit pointsfrom(takes natural join course)natural left outer join grade pointsgroup by ID)unionselect ID,NULLfrom studentwhere ID not in(select ID from takes))The view defined above takes care of NULL grades by considering the creditpoints to be0,and not adding the corresponding credits in credit sum.The query above ensures that if the student has not taken any course with non-NULL credits,and has credit sum=0gets a gpa of NULL.This avoid the division by0,which would otherwise have resulted.An alternative way of writing the above query would be to use student natural left outer join gpa,in order to consider students who have not taken any course.4.6Complete the SQL DDL definition of the university database of Figure Fig-ure4.8Referential Integrityfigcnt.50to include the relations student,takes, advisor,and prereq.Answer:create table student(ID varchar(5),name varchar(20)not null,dept name varchar(20),tot cred numeric(3,0)check(tot cred>=0),primary key(ID),foreign key(dept name)references departmenton delete set null);24Chapter4Intermediate SQLcreate table takes(ID varchar(5),course id varchar(8),section id varchar(8),semester varchar(6),year numeric(4,0),grade varchar(2),primary key(ID,course id,section id,semester,year),foreign key(course id,section id,semester,year)references sectionon delete cascade,foreign key(ID)references studenton delete cascade);create table advisor(i id varchar(5),s id varchar(5),primary key(s ID),foreign key(i ID)references instructor(ID)on delete set null,foreign key(s ID)references student(ID)on delete cascade);create table prereq(course id varchar(8),prereq id varchar(8),primary key(course id,prereq id),foreign key(course id)references courseon delete cascade,foreign key(prereq id)references course);4.7Consider the relational database of Figure Figure4.11figcnt.53.Give an SQLDDL definition of this database.Identify referential-integrity constraintsthat should hold,and include them in the DDL definition.Answer:create table employee(person name char(20),street char(30),city char(30),primary key(person name))Exercises25create table works(person name char(20),company name char(15),salary integer,primary key(person name),foreign key(person name)references employee,foreign key(company name)references company)create table company(company name char(15),city char(30),primary key(company name))pp create table manages(person name char(20),manager name char(20),primary key(person name),foreign key(person name)references employee,foreign key(manager name)references employee)Note that alternative datatypes are possible.Other choices for not nullattributes may be acceptable.4.8As discussed in Section Section4.4.7Complex Check Conditions and Assertionssubsection.4.4we expect the constraint“an instructor cannot teach sections in two differ-ent classrooms in a semester in the same time slot”to hold.a.Write an SQL query that returns all(instructor,section)combinationsthat violate this constraint.b.Write an SQL assertion to enforce this constraint(as discussed in Sec-tion Section4.4.7Complex Check Conditions and Assertionssubsection.4.4.7,current generation database systems do not support such assertions,although they are part of the SQL standard).Answer:a.select ID,name,section id,semester,year,time slot id,count(distinct building,room number)from instructor natural join teaches natural join sectiongroup by(ID,name,section id,semester,year,time slot id)having count(building,room number)>1Note that the distinct keyword is required above.This is to allow twodifferent sections to run concurrently in the same time slot and are26Chapter4Intermediate SQLtaught by the same instructor,without being reported as a constraintviolation.b.create assertion check not exists(select ID,name,section id,semester,year,time slot id,count(distinct building,room number)from instructor natural join teaches natural join sectiongroup by(ID,name,section id,semester,year,time slot id)having count(building,room number)>1)4.9SQL allows a foreign-key dependency to refer to the same relation,as in thefollowing example:create table manager(employee name char(20),manager name char(20),primary key employee name,foreign key(manager name)references manageron delete cascade)Here,employee name is a key to the table manager,meaning that each em-ployee has at most one manager.The foreign-key clause requires that everymanager also be an employee.Explain exactly what happens when a tuplein the relation manager is deleted.Answer:The tuples of all employees of the manager,at all levels,getdeleted as well!This happens in a series of steps.The initial deletion willtrigger deletion of all the tuples corresponding to direct employees ofthe manager.These deletions will in turn cause deletions of second levelemployee tuples,and so on,till all direct and indirect employee tuples aredeleted.4.10SQL-92provides an n-ary operation called coalesce,which is defined asfollows:coalesce(A1,A2,...,A n)returns thefirst nonnull A i in the listA1,A2,...,A n,and returns null if all of A1,A2,...,A n are null.Let a and b be relations with the schemas A(name,address,title)and B(name,address,salary),respectively.Show how to express a natural full outer joinb using the full outer-join operation with an on condition and the coalesceoperation.Make sure that the result relation does not contain two copiesof the attributes name and address,and that the solution is correct even ifsome tuples in a and b have null values for attributes name or address.Answer:Exercises27 select coalesce(,)as name,coalesce(a.address,b.address)as address,a.title,b.salaryfrom a full outer join b on = anda.address=b.address4.11Some researchers have proposed the concept of marked nulls.A markednull⊥i is equal to itself,but if i=j,then⊥i=⊥j.One application of marked nulls is to allow certain updates through views.Consider the view instructor info(Section Section4.2Viewssection.4.2).Show how you can use marked nulls to allow the insertion of the tuple(99999,“Johnson”,“Music”) through instructor info.Answer:To insert the tuple(99999,“(”Johnson),“Music”)into the view instructor info,we can do the following:instructor←(99999,“Johnson”,⊥k,⊥)∪instructordepartment←(⊥k,“Music′′,⊥)∪departmentsuch that⊥k is a new marked null not already existing in the database.Note:“Music”here is the name of a building and may or may not be related to Music department.。
(完整版)数据库练习题(答案)..
(完整版)数据库练习题(答案)..第四章练习题⼀、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B(σC≠'C56'(R?S))2、嵌⼊式SQL的预处理⽅式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌⼊的SQL语句处理成函数调⽤形式C.对源程序进⾏格式化处理D.把嵌⼊的SQL语句编译成⽬标程序3、SQL中,“DELETE FROM 表名”表⽰ [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)⽤于[ C]A.计算元组个数B.计算属性的个数C.对⼀列中的⾮空值计算个数D.对⼀列中的⾮空值和空值计算个数5、在传统SQL技术中,使⽤“ORDER BY”⼦句的SELECT语句查询的结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提⾼查询速度的是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏8、在DB应⽤中,⼀般⼀条SQL 语句可产⽣或处理⼀组记录,⽽DB主语⾔语句⼀般⼀次只能处理⼀条记录,其协调可通过(B )实现。
A. 指针B. 游标C. 数组D. 栈9、在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩10、在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where⼦句中,对空值的操作,不正确的是( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。
第4章 标准查询语言SQL
(2)<列名>:规定了该列(属性)的名称。一个表中不能有两列同名。 (3)<数据类型>:规定了该列的数据类型。各具体DBMS所提供的数据类型是不同的; 本书使用的是SQL Server 2005中规定的数据类型。 (4)完整性约束:完整性约束规则在该命令中较为复杂,为了学习方便,没有把命令 的全部内容一次写出来,这里主要用到下列三类子句:
SQL语言的主பைடு நூலகம்特点
(2)高度非过程化。 SQL语言与各种关系数据库DBMS中的语言一样是一 种高度非过程化语言。使用时,只要指明“做什么?” 不必像高级语言那样指明“怎样做?”,因此用户无 需了解文件与数据的存取路径,这种存取路径的SQL 语句的操作过程是由系统自动来完成。这不仅大大减 轻了编程人员的负担,还有利于提高数据的独立性。
定义数据库内基本表
实例说明: (1)“教师”表:T,由教师编号(TNO)、姓名(TN)、性别(SEX)、 年龄(AGE)、职称(ZC)和所在专业(DEPT)6个属性组成。可记为: T(TNO,TN,SEX,AGE,ZC,DEPT) (2)“课程”表:C,由课程号(CNO)、课程名(CN)、课程性质 (CX)和学分(CT)4个属性组成。可记为: C(CNO,CN,CX,CT) (3)“教师授课”表:TC,由教师编号(TNO)、课程号(CNO)、教 龄(YEAR)3个属性组成,这里的教龄是指教授这门课的教龄。可记为: TC(TNO,CNO,YEAR)
计算机二级VFP第4章(sql)
一、判断题(20分)1、SQL语句的核心是数据查询。
2、查询设计器默认的查询去向是浏览窗口。
3、使用sql语句进行分组查询时,为了去掉不满足条件的小组,应该在group by后面使用where子句。
4、查询设计器中的“筛选”选项卡对应于sql语句中的where。
5、在使用查询设计器时,如果是单表查询,连接选项卡是肯定不需要设置的。
6、在select语句中,可以使用eof()函数。
7、在sql中,修改数据表结构的命令是modify structure。
8、在sql的alter table命令中增加字段的子句是drop。
9、用insert-sql语句可以插入记录的部分字段值。
10、用insert-sql语句可以插入多条记录。
11、select-SQL可以为输出的字段重新命名。
12、select-SQL语句不能重新指定列的顺序。
13、用select-sql语句进行统计查询时,要统计学生表中女生的人数应使用函数count。
14、如果要在屏幕上直接看到查询的结果,“查询去向”应选择浏览或屏幕。
15、如果学生表中有“所在系”字段,要统计全系有多少个系,可以用命令子句select count(distinct 所在系)。
16、select-sql中,top子句必须放在order by子句之后。
17、在select-sql中,空值用null表示。
18、在sql中的delete命令功能是物理删除记录。
19、在用select-sql进行多表查询时,多表的连接分为内连接、左连接、右连接和完全连接。
20、select-sql可以将查询结果追加到已有的数据表中。
二、选择题(40分)1、在SQL语句中,与表达式“工资BETEEN 2000 AND 2800”功能相同的表达是()A、工资>=2000 and 工资>=2800B、工资>=2000 or 工资>=2800C、工资>=2000 and 工资<=2800D、工资>=2000 or 工资<=28002、不属于SQL数据定义功能的是()A、CREAT TABLEB、CREAT VIEWC、ALTER TABLED、UPDATE3、在SQL查询时,使用where子句指出的是()A、查询目标B、查询结果C、查询条件D、查询视图4、执行“select * from stock into stock stock order by 单价”()A、会产生一个按“单价”升序排列的文件。
VF第四章SQL练习题
Visual FoxPro章节练习题(四)一、填空题1、SQL按其功能可以分为、和3部分。
2、SQL的数据定义包括定义、定义、定义和定义等。
3、使用CREATE TABLE命令定义表结构时,要设置字段的有效性规则,使用短语,设置字段的默认值使用短语,设置主关键字段使用短语,设置候选索引使用短语。
4、在SELECT查询命令中,DISTINCT选项的含义是5、在SELECT查询命令中,如果要设置排序项,需要选择短语,设置分组查询,需要选择短语,设置条件查询,需要选择的短语是。
6、在SELECT查询命令中,如果要标注查询项的列标题,需要选项。
7、在SELECT查询命令中的HA VING选项,一般与短语配合使用。
8、嵌套查询是指在SELECT查询条件中包含一个或多个。
9、如果要在“图书”表中查询“出版社ID”是“01”和“03”的图书,则查询命令为:SELECT 书名,作者ID,出版社ID FROM 图书WHERE 出版社ID10、如果要查询“图书”表中各个出版社图书的最高单价和平均单价,则查询命令为:SELECT 出版社ID,MAX(单价),FROM 图书出版社ID11、如果要查询借阅了两本和两本以上图书读者的“姓名”和“单位”,则查询命令为:SELECT 姓名,单位FROM 读者WHERE 借书证号IN (SELECT FROM 借阅GROUP BY 借书证号COUNT (*)>=2)12、检索学生表中籍贯为“北京”的学生记录,将结果保存到表TEMP中,SQL语句为:SELECT * FROM 学生表WHERE 籍贯=“北京”TEMP13、使用CREATE TABLE命令定义表结构时,不需要定义字段宽度的字段是货币型、日期型、、、、和。
14、“学生表”文件中有字段“学号C(2)”,现要将“学号”字段的宽度由2改为4,则语句为:ALTER TABLE 学生表15、一条SQL的INSERT INTO命令只能插入条记录。
SQL第四章阶段测试题及答案
SQL第四章阶段测试题及答案一、选择题(每题2分,共20分)1. SQL语言中用于查询数据的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 在SQL中,以下哪个关键字用于创建新表?A. CREATEB. DROPC. ALTERD. TRUNCATE答案:A3. 以下哪个选项不是SQL数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D4. 在SQL中,以下哪个关键字用于删除表?A. DROPB. DELETEC. REMOVED. DESTROY答案:A5. 使用GROUP BY子句时,以下哪个操作是正确的?A. 可以对任何列进行分组B. 只能对SELECT语句中包含的列进行分组C. 必须对所有列进行分组D. 不能与HAVING子句一起使用答案:B6. SQL中的主键约束用于保证:A. 表中数据的唯一性B. 表中数据的完整性C. 表中数据的一致性D. 表中数据的可读性答案:A7. 如果要查询表中所有数据,以下哪个SQL语句是正确的?A. SELECT * FROM table_nameB. SELECT ALL FROM table_nameC. SELECT ALL * FROM table_nameD. SELECT table_name.*答案:A8. 在SQL中,以下哪个关键字用于添加新列?A. ADDB. CREATEC. INSERTD. ALTER答案:D9. SQL中,以下哪个函数用于计算平均值?A. AVGB. SUMC. COUNTD. MAX答案:A10. 以下哪个选项不是SQL中的连接类型?A. INNER JOINB. OUTER JOINC. LEFT JOIND. RIGHT JOIN答案:B二、填空题(每题2分,共20分)1. 在SQL中,使用________关键字可以插入新的数据行。
第四章sql语言基础练习
第4章T-SQL语言基础一、简答或填空题1. SQL语言完成数据定义、数据操纵、数据控制的核心功能用了哪些动词?数据查询SELECT 数据定义CREATE DROP ALTER数据操纵INSERT UPDATE DELETE 数据控制GRANT REVOKE2. 在SQL Sever 2000中关键字的含义是什么?系统固定写法,语言规范3. 简要说明标识符的含义?标识符用于SQL SERVER中的服务器、数据库、数据库对象、变量等。
标识符分为常规标识符和分隔标识符。
4. 标识符首字符必须为(a~z或A~Z )、(# ) 、( _ )、( @ )以及来自其他语言的字母字符)这四种字符之一。
5. 判断23,198 是否为tinyint类型数据?(是)6. 判断-56,425 是否为tinyint类型数据?(不是)7. 判断-136,597 是否为smallint类型数据?(不是)8. 判断48961 是否为smallint类型数据?(不是)9. 国际标准Unicode采用(双)字节编码统一表示世界上的主要文字。
10. 浮点数据类型采用(科学技术)法存储十进制小数,包括(real)和(float)数据类型。
11. 在浮点数据类型decimal(7,3)中7的含义是什么?,3的含义是什么?7是定点精度,3是小数位数使用浮点数据类型decimal(7,3)保存数据456.7891,能够保存它的(3)位小数?在查询分析器运行以下程序,结果为(456.789)。
declare @a decimal(7,3)set @a=456.7891print @a12. 用char(100)类型存放字符串abcde,使用了(100)个字节。
13. 用Varchar(100)类型存放字符串abcde,使用了(5)个字节。
14. 用char(10)类型能存放字符串hello world前(hello worl)个字符。
在查询分析器运行以下程序:declare @str1 char(10)set @str1='hello world'print @str1注:单引号不属于字符串的一部分,只是表示字符串的开始和结束。
第四章T-SQL语言、存储过程触发器例题
第四章T-SQL语言部分例题【例4-13】创建一个只有一个主数据文件SchoolTest(不指定该文件的大小)的数据库。
CREATE DATABASE SchoolTestON(NAME=SchoolTest_Data,FILENAME='D:\SchoolTest_Data.MDF')【例4-14】建立学生表T_StudentTest。
CREATE TABLE T_StudentTest (StudentCode CHAR(8) NOT NULL UNIQUE, /*唯一性约束,不许取空值*/StudentName V ARCHAR(16) NOT NULL,Sex CHAR(2) NOT NULL,LiveInDorm BIT DEFAULT 1, /*默认值为1*/Constraint StudentPK Primary Key(StudentCode) /* StudentCode为主键约束*/ )【例4-15】建立成绩表T_GradeTest。
CREATE TABLE T_GradeTest(StudentCode CHAR(8) NOT NULL , /*不许取空值*/Grade REAL DEFAULT 0 , /*默认值为0*/Constraint GradeCK Check(Grade>=0 AND Grade<=100)/*检查约束0>= Grade<=100*/)【例4-16】删除T_GradeTest表DROP TABLE T_GradeTest【例4-17】在T_Student表的姓名(StudentName)字段上建立升序索引。
CREATE INDEX NameIndex on T_Student (StudentName)【例4-18】在T_Student表的学号(StudentCode)字段上建立唯一降序索引。
CREATE UNIQUE INDEX StudentCodeIndex on T_Student (StudentCode DESC)【例4-19】删除T_Student表中索引名称分别为NameIndex和StudentCodeIndex的两个索引。
电大《数据库基础与应用》教材第4章答案
电大《数据库基础与应用》教材第4章答案第四章结构化查询语言--SQL一、填空题1. 视图、基本表2. 非过程化、集合3. KUCUN、LIU4. 列级、表级5. 主码、单值、外码、检查6. primary key、foreign key7. 建立、修改、删除、多行(多值)8. 单行(单值)9. 插入、修改、删除10. 表、建立11. 修改、查找12. 基本表、视图13. 没有影响、有影响14. create view、update、drop view 15.投影、连接、选择16.group by、order by17.inner join、left join、right join二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条S QL 查询语句写出相应的功能。
1. 从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。
2. 从商品库中查询出所有商品的不同品牌。
3. 从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。
4. 从教学库中查询出每门课程被选修的学生数。
5. 从教学库中查询出只选修了一门课程的全部学生。
6. 从教学库中查询出学生号为@s1 的学生所选修、而学生号为@s2 的学生没有选修的全部课程。
7. 从教学库中查询出所有已被学生选修的课程。
8. 从教学库中查询出同时选修了3门课程的全部学生。
9. 从教学库中查询出每个专业的学生人数,并按人数多少降序排列。
10. 从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。
三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。
1. select 商品表1.商品代号,单价,数量,产地from 商品表1,商品表2where 商品表1.商品代号=商品表2.商品代号2. select *from 商品表1where 数量 between 10 and 20 (或w here 数量>=10 and 数量<=20) 3.select 分类名,avg(数量) as 平均数量from 商品表1group by 分类名4.select *from 商品表1where 单价>=2000 or 数量>=155.select *from 商品表1where 单价>all(select avg(单价)from 商品表1)6.select distinct 分类名from 商品表1group by 分类名 havingcount(*)>1 7. select *,单价*数量 as总价值from 商品表1order by 总价值 desc8. select distinct 学生.*from 学生,选课where 学生.学生号=选课.学生号 and 课程号=any(select 课程号from 学生,选课where 学生.学生号=选课.学生号 and 姓名=@m1)。
SQL-数据库原理与应用题库(按章节)
目录第一章数据库基础知识 (2)一单选题 (2)二判断题 (4)第二章SQL语言 (4)一单选题 (4)二判断题 (8)三综合题 (8)第四章视图与索引 (13)一单选题 (13)二判断题 (14)第七章数据库设计 (14)一单选题 (14)二判断题 (16)三综合题 (16)第十章数据库备份与恢复 (20)一单选题 (20)二判断题 (21)《数据库原理与应用III 》题库第一章数据库基础知识一单选题[试题分类]: [01]数据库基础知识/[0101]数据库基本概念1.( B )是按照一定的数据模型组织的、长期存储在计算机内,可为多个用户共享的数据的集合。
( A )数据库系统( B )数据库( C )关系数据库( D )数据库管理系统2.(B)是位于用户和操作系统之间的一层数据管理软件。
数据库在建立、使用和维护时由其统一管理、统一控制.A. DB B.DBMS C.DBS D3.数据库管理系统的工作不包括( A )A.为定义的数据库提供操作系统B.数据备份C.为已定义的数据库进行管理D.定义数据库4. 数据库系统的特点是____、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享B.数据存储C.数据应用D.数据保密5、数据库(DB )、DBMS 、DBS 三者之间的关系( B ) 。
( A )DB 包括DBMS 和DBS ( B )DBS 包括DB 和DBMS( C )DBMS 包括DB 和DBS ( D )DBS 与DB 和DBMS 无关6. 数据库是保存在计算机中的、有组织的、可共享的(B)A.文件的集合B.数据的集合C.命令的集合D.程序的集合7.支持数据库各种操作的软件系统叫(B )。
A.命令系统B.数据库管理系统C.数据库系统D.操作系统8.在数据库中存储的是( A )?A.数据B.数据模型C.数据以及数据之间的联系D.信息9._D____可以减少相同数据重复存储的现象。
SQL第四章课后习题答案
USE studentGOCREATE TABLE stud_info( stud_id CHAR(10) NOT NULL,name NVARCHAR(4) NOT NULL,birthday DATETIME,gender NCHAR(1),address NVARCHAR(20),telcode CHAR(12),zipcode CHAR(6),mark DECIMAL(3,0))--1、利用资源管理器创建表--2.、删除表和创建表use studentgodrop table stud_infogouse studentgodrop table classroom_infogouse studentgodrop table dept_codegouse studentgodrop table lesson_infogouse studentgodrop table specialty_codegouse studentgodrop table staffroom_infogouse studentgodrop table stud_gradegouse studentgodrop table teacher_infogouse studentgodrop table teacher_schedulegoUSE studentGOCREATE TABLE stud_info( stud_id CHAR(10) NOT NULL,name NVARCHAR(4) NOT NULL,birthday DATETIME,gender NCHAR(1),address NVARCHAR(20),telcode CHAR(12),zipcode CHAR(6),mark DECIMAL(3,0))USE studentGOCREATE TABLE teacher_info( teacher_id CHAR(10) NOT NULL,name NVARCHAR(4) NOT NULL,gender NCHAR(1),age int,tech_title nchar(5),telephone varchar(12),salary decimal(7),course_id char(10))gocreate table stud_grade(stud_id char(10) not null,name nvarchar(4) not null, course_id char(10),grade numeric(4))use studentgocreate table lesson_info(course_id char(10) not null, course_name nvarchar(12) not null, course_type nchar(2) not null, course_mark int not null,course_time decimal(3))use studentgocreate table teach_schedule (course_id char(10) not null, course_date datetime,course_week int,room_id char(6),deptcode char(2),teacher_id char(6))use studentgocreate table dept_code (deptcode char(2) not null, deptname nvarchar(10),)use studentgocreate table specialty_code (speccode char(10) not null, specname nvarchar(10))gocreate table staffroom_info(jysh_id char(4) not null,jysh_name nvarchar(10),jysh_type nchar(2),jysh_leader nvarchar(4))use studentgocreate table classroom_info(room_id char(6) not null,room_name nvarchar(8),room_type nvarchar(6),room_device nvarchar(10),room_size int)use studentgocreate table stud_exam(exam_course nvarchar(10),exam_type nvarchar(6),exam_quantity int,exam_time datetime,exam_id char(10),exam_teacher nvarchar(10),exam_classroom nvarchar(8),exam_rule nvarchar(10),exam_jilu nvarchar(20))--3、分别使用对象资源管理器和T—SQL语句修改表结构--(1)、将teacher_info表中的teacher_id列长度从6个字符改变到8个字符alter table teacher_infoalter column teacher_id char(8)--(2)、在dept_code表中加最后一列dept_memo,其数据类型为可变长度字符型,30位alter table dept_codeadd dept_memo nvarchar(30)--(3)、向stud_info表中增加“入学时间”列,其数据类型为日期型alter table stud_infoadd schooldate datetime--假设在创建数据表lesson_info时错将课程学分course_mark设计为char(2),现欲修改为alter table lesson_infoalter column course_mark decimal(3,1)--(4).建立约束--(4)1、为student数据库的stud_info表中的mark列建立check约束alter table stud_infoadd constraint ch_mark check(mark between 560 and 600);--(4).2、使用T-SQL语句创建表stud_info,设置stud_info为primary key约束use studentgodrop table stud_infogoUSE studentGOCREATE TABLE stud_info( stud_id CHAR(10) NOT NULL constraint pk_stud_id primary key,name NVARCHAR(4) NOT NULL,birthday DATETIME,gender NCHAR(1),address NVARCHAR(20),telcode CHAR(12),zipcode CHAR(6),mark DECIMAL(3,0))--(4).3为表stud_info的telcode列建立UNIQUE约束alter table stud_infoadd constraint un_telephone unique (telcode)--(4).4为stud_grade表中的stud_id列建立foreign key约束alter table stud_gradeadd constraint fk_stud_id foreign key(stud_info) references stud_info(stud_id)--独立实践:alter table stud_infoadd default(null) for zipcode--(5).插入数据--(5).1insert into stud_infovalues('0401010811',N'张源','12-05-1986',N'男',N'北京市海淀区','010-********','100080',560) select * from stud_info--独立实践:USE studentGOINSERT INTO "STUD_INFO" ("STUD_ID","NAME","BIRTHDAY","GENDER", "ADDRESS","TELCODE","ZIPCODE","MARK")VALUES ('0401010811',N'张源','12-05-1986',N'男',N'北京市海淀区','010-********','100080',560);INSERT INTO "STUD_INFO" ("STUD_ID","NAME","BIRTHDAY","GENDER", "ADDRESS","TELCODE","ZIPCODE","MARK")VALUES ('0401020201',N'赵明','08-06-1986',N'男',N'上海市浦东区','021-********','201700',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401030101',N'王刚','01-02-1986',N'男',N'天津市南开区','022-********','300000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401050201',N'陈红','10-25-1986',N'女',N'武汉市汉口区','027-********','430000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401040112',N'孙强','06-07-1986',N'男',N'重庆市沙坪坝','023-********','400000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401020103',N'李伟','09-01-1986',N'男',N'北京市大兴县','010-********','102600',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401010634',N'钱昆','12-06-1986',N'男',N'广州市海珠区','020-********','510000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401030213',N'郑芳','08-09-1986',N'女',N'江苏省南京市','025-********','210000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401010102',N'袁飞','03-11-1986',N'男',N'湖南省长沙县','0731-*******','410000',560);INSERT INTO "STUD_INFO" ("STUD_ID" ,"NAME" ,"BIRTHDAY" ,"GENDER" , "ADDRESS" ,"TELCODE" ,"ZIPCODE" ,"MARK")VALUES ('0401040123',N'孔荣','05-31-1986',N'男',N'云南省昆明市','0871-*******','650000',600);--(5).2insert into teacher_infovalues('010101',N'刘娜',N'女',34,N'讲师','020-********',418,'0401010102')select * from teacher_info--独立实践:USE studentGOinsert into teacher_infovalues('010102',N'邵云鹏',N'男',45,N'教授','020-********',418,'0401010105');insert into teacher_infovalues('010103',N'孙乐多',N'男',27,N'助教','020-********',418,'0401010106');insert into teacher_infovalues('010104',N'赵一欧',N'女',26,N'助教','020-********',418,'0401010101');insert into teacher_infovalues('010106',N'王吉林',N'男',32,N'讲师','020-********',418,'0401010103');insert into teacher_infovalues('010105',N'王小悦',N'女',35,N'讲师','020-********',418,'0401010104');--(5).3USE studentGOINSERT INTO classroom_info VALUES('120703',N'微机组装与维护',N'实训',N'微机、投影仪',40); INSERT INTO classroom_info VALUES('120704',N'计算机网络',N'实验',N'交换机、路由器等',40); INSERT INTO classroom_info VALUES('120705',N'数据库',N'计算机机房',N'微机、投影仪',60); INSERT INTO classroom_info VALUES('120706',N'软件设计',N'计算机机房',N'微机、投影仪',60); INSERT INTO classroom_info VALUES('120707',N'多媒体',N'计算机机房',N'微机、投影仪',60); INSERT INTO classroom_info VALUES('120708',N'',N'普通',N'白板、投影仪',120);USE studentGOINSERT INTO dept_code VALUES ('01',N'计算机工程系');INSERT INTO dept_code VALUES ('02',N'管理工程系');INSERT INTO dept_code VALUES ('03',N'机电工程系');INSERT INTO dept_code VALUES ('04',N'食品工程系');INSERT INTO dept_code VALUES ('05',N'轻化工程系');INSERT INTO dept_code VALUES ('06',N'通信工程系');INSERT INTO dept_code VALUES ('07',N'外语工程系');USE studentGOINSERT INTO lesson_info VALUES('0401010101',N'计算机导论',N'考查',30,1.5);INSERT INTO lesson_info VALUES('0401010102',N'Java程序设计',N'考试',60,3.5);INSERT INTO lesson_info VALUES('0401010103',N'微型计算机原理',N'考试',60,3.5); INSERT INTO lesson_info VALUES('0401010104',N'IT市场营销',N'考查',30,1.5);INSERT INTO lesson_info VALUES('0401010105',N'网络互联设备与配置',N'考查',60,2.0); INSERT INTO lesson_info VALUES('0401010106',N'多媒体技术',N'考查',60,3.0);USE studentGOINSERT INTO specialty_code VALUES ('040101',N'计算机应用技术');INSERT INTO specialty_code VALUES ('040102',N'计算机网络技术');INSERT INTO specialty_code VALUES ('040103',N'计算机控制技术');INSERT INTO specialty_code VALUES ('040104',N'多媒体技术');INSERT INTO specialty_code VALUES ('040105',N'计算机软件技术');INSERT INTO specialty_code VALUES ('040106',N'计算机通信技术');INSERT INTO specialty_code VALUES ('040107',N'计算机管理技术');USE studentGOINSERT INTO staffroom_info VALUES ('0101',N'计算机应用',N'专业',N'王二毛');INSERT INTO staffroom_info VALUES ('0102',N'计算机网络',N'专业',N'李四冲');INSERT INTO staffroom_info VALUES ('0103',N'计算机软件',N'专业',N'赵一生');INSERT INTO staffroom_info VALUES ('0104',N'计算机管理',N'专业',N'汪三洋');USE studentGOINSERT INTO stud_grade VALUES('0401010811',N'张源','0401010102',90);INSERT INTO stud_grade VALUES('0401020201',N'赵明','0401010105',89);INSERT INTO stud_grade VALUES('0401030101',N'王刚','0401010103',87);INSERT INTO stud_grade VALUES('0401050201',N'陈红','0401010101',91);INSERT INTO stud_grade VALUES('0401040112',N'孙强','0401010104',83);INSERT INTO stud_grade VALUES('0401020103',N'李伟','0401010106',86);INSERT INTO stud_grade VALUES('0401010634',N'钱昆','0401010106',78);INSERT INTO stud_grade VALUES('0401030213',N'郑芳','0401010106',95);INSERT INTO stud_grade VALUES('0401010102',N'袁飞','0401010106',95);INSERT INTO stud_grade VALUES('0401040123',N'孔荣','0401010106',83);INSERT INTO stud_grade VALUES('0401050127',N'张军','0401010106',84);USE studentGOINSERT INTO teach_schedule VALUES('0401010101','08-30-2004','15','120703','01','010104'); INSERT INTO teach_schedule VALUES('0401010102','08-30-2004','15','120704','01','010101'); INSERT INTO teach_schedule VALUES('0401010103','08-30-2004','13','120705','01','010106'); INSERT INTO teach_schedule VALUES('0401010104','08-30-2004','10','120706','01','010105'); INSERT INTO teach_schedule VALUES('0401010105','08-30-2004','19','120707','01','010102'); INSERT INTO teach_schedule VALUES('0401010106','08-30-2004','14','120708','01','010103');--(6).修改数据--(6).1update stud_grade set grade=grade+grade*0.1 where course_id='0401010101'--(6).2update stud_grade set grade=null where grade<60--(6).3update teacher_info set age=age+1--独立实践:update stud_grade set grade=83 where stud_id='0401020201'--(7).修改数据--(7).1delete from stud_info where stud_id='0401020201'--(7).2delete from dept_code where deptcode='01'--独立实践:delete from teacher_info--本章习题--1.简答题--1(1).表是对数据进行存储和操作的一种逻辑结构,每一个表代表一个对象。
国开作业数据库应用-形考任务四(第四章)91参考(含答案)
题目:向基本表插入数据时,可以在命令中使用关键字__________引出记录值,或者在命令中使用select子句得到一个结果表。
选项A:from
选项B:values
选项C:where
选项D:insert
答案:values
题目:在SQL中,列级完整性约束分为____种情况。
选项A:6
选项B:4
选项C:2
选项D:8
答案:6
题目:在SQL中,删除数据库中基本表结构的命令为________命令。
选项A:create
选项B:drop
选项C:alter
选项D:delete
答案:drop
题目:在SQL中,表级完整性约束分为____种情况。
选项A:4
选项B:6
选项C:2
选项D:8
答案:4
题目:在SQL中,通过使用视图,能够使在关系规范化时被分解的关系连接起来,能够增强数据库的________性。
选项A:兼容
选项B:正确
选项C:安全
选项D:完整
答案:安全
题目:在SQL的查询语句中,________选项实现投影运算。
选项A:from
选项B:values
选项C:where
选项D:select
答案:select
题目:在SQL的查询语句中,________选项实现连接运算。
选项A:from
选项B:select
选项C:values
选项D:where
答案:from
题目:在SQL的查询语句中,________选项实现选择运算。
选项A:where
选项B:select。
sql数据库练习题参考答案
第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。
13.将需求分析得到的用户需求抽象为信息结构即概念模型。
14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。
15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。
三、指出以下各缩写的英文意思和中文意思1.DB:Database2.DBMS:Database Management System3.RDBMS:4.DBS:Database System5.DBA:Database Administrator6.NF:Normal Form7.DDL:Data Definition Language 四、按题目要求回答问题3.答:(1)关系R是2NF。
因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建数据表P139例3
主键、不允许空0-800
小数点后2位
create table 数据库名
(列名1 类型(大小) (NOT) NULL primary key default(默认值),列名2 类型(大小) NULL default(默认值))
check(约束条件)
2.以sql命令设计表
create table student char
(xh char(4) not null primary key default '1111',int
xm char(6) null,decimal
nl int null,image
cj decimal(4,1) null default 700,datetime
ty L null,L
zp image null,
xb char(2) null defalut '女',空值
dz char(60) null,
tc text,
sr datetime,
check(nl>=16 and nl<=25),不允许空值check (cj>=0 and cj<=800),主键
check (xb in('男','女')))默认值
约束
条件
教工信息表teacher
工号gh姓名xm出生年月sr性别xb工龄gl照片zp
5位4汉字日期整数
主键男或女16-50间
非空非空
create (1) teacher table
(gh (2) not null (3),char(5)primary key
xm (4) null,char(8)
sr (5) (6),datetime not null
gl (7) null,int
zp (8) null,image
gz (9) null,decimal(8,2)
ty L null,
check (10),gl>=16 and gl<=50
check (xb in(11)))'男','女'
复习时看P140例4
修改表结构工号列大小由5变成6
alter table teacher alter column gh char(6) not null primary key
练习:姓名列改10汉字
alter table teacher alter column xm char(20) null
工龄改为0-50间
alter table teacher alter column gl int null,check(gl>=0 and gl<=50)
增加一列,专业(字符,8汉字,允许空值)
alter table teacher add zy char(16) null
删除团员列
alter table teacher drop column ty
修改工资列
alter table teacher alter column gz decimal(6,2) null
alter table xs alter column xm char(10) null
alter table cj alter column decimal(5,2) null,check(cj>=0 and cj<=700)
字符加单引号字符(汉字或代码)
取整的数值
数值,小数点前和后位数
图片
日期或时间
逻辑数据,是或否
null
not null
primary key
default
check()
nl>=16 and NL<=25 xb in('男','女') sz<=50 or sz>100基本工资gz团员ty
8,2是或不是
逻辑数据
类型为L。