数据库系统概论answer
数据库系统概论试卷及答案
一、填空题(每题2分,共20分,空与空之间加空格)
一、填空(每题2分,共20分,空与空之间加空格)
1.主属性,主码和外码之间引用
2.外模式/模式,模式/内模式
3.σF1∧F2(E)
4.小于或等于
5.定义表,定义视图,定义索引
6.Distinct
7.关系数据结构,关系代数
4、
(1)守两段锁的可串行化调度。(2分)
T1
T2
XLOCK A
SLOCK B
读B=0
SLOCK A
A=B+2=2
XLOCK B
写回A(=2)
等待
ULOCK A
等待
ULOCK B
等待
SLOCK A
XLOCK B
读A=2
B=A*3=6
写回B(=6)
ULOCK A
ULOCK B
(2)遵守两段锁的死锁调度。(1分)
一、填空题(每题2分,共20分,空与空之间加空格)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
二、选择题(每题1.5分,共15分)
1
2
3
4
5
6
7
8
9
10
三、简答题(每题5分,共15分)
答题纸
(请将答案写在答题纸上,否则不予给分)
四、计算题(每题5分,共20分)
五、综合题(每题15分,共30分)
答题纸
(请将答案写在答题纸上,否则不予给分)
D. select sno,cno,grade from sc where sno in(select sno from s where sdept like‘电气系’) order by sno(2分)
数据库answer
第1章数据库概述1.文件管理方式在管理数据方面有哪些缺陷?答:编写应用程序不方便,数据冗余不可避免,应用程序依赖性,不支持对文件的并发访问,数据间联系弱,难以按不同用户的愿望表示数据和无安全控制功能。
2.与文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
3.比较文件管理和数据库管理数据的主要区别。
答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。
而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。
4.数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
5.在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不能。
7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。
数据库系统概念答案(第五版)
C H A P T E R2Exercises2.4Describe the differences in meaning between the terms relation and relation schema.Answer:A relation schema is a type definition,and a relation is an instance of that schema.For example,student(ss#,name)is a relation schema andis a relation based on that schema.2.5Consider the relational database of Figure2.35,where the primary keys are un-derlined.Give an expression in the relational algebra to express each of the fol-lowing queries:a.Find the names of all employees who work for First Bank Corporation.b.Find the names and cities of residence of all employees who work for FirstBank Corporation.c.Find the names,street address,and cities of residence of all employees whowork for First Bank Corporation and earn more than$10,000per annum.d.Find the names of all employees in this database who live in the same cityas the company for which they work.e.Assume the companies may be located in several cities.Find all companieslocated in every city in which Small Bank Corporation is located.Answer:a.Πperson-name(σcompany-name=“First Bank Corporation”(works))78Chapter2Relational Modelemployee(person-name,street,city)works(person-name,company-name,salary)company(company-name,city)manages(person-name,manager-name)Figure2.35.Relational database for Exercises2.1,2.3and2.9.b.Πperson-name,city(employee1(σcompany-name=“First Bank Corporation”(works)))c.Πperson-name,street,city(σ(company-name=“First Bank Corporation”∧salary>10000)works1employee)d.Πperson-name(employee1works1company)e.Note:Small Bank Corporation will be included in each answer.Πcompany-name(company÷(Πcity(σcompany-name=“Small Bank Corporation”(company))))2.6Consider the relation of Figure2.20,which shows the result of the query“Findthe names of all customers who have a loan at the bank.”Rewrite the query to include not only the name,but also the city of residence for each customer.Observe that now customer Jackson no longer appears in the result,even though Jackson does in fact have a loan from the bank.a.Explain why Jackson does not appear in the result.b.Suppose that you want Jackson to appear in the result.How would youmodify the database to achieve this effect?c.Again,suppose that you want Jackson to appear in the result.Write a queryusing an outer join that accomplishes this desire without your having to modify the database.Answer:The rewritten query isΠcustomer-name,customer-city,amount(borrower1loan1customer)a.Although Jackson does have a loan,no address is given for Jackson in thecustomer relation.Since no tuple in customer joins with the Jackson tuple of borrower,Jackson does not appear in the result.b.The best solution is to insert Jackson’s address into the customer relation.Ifthe address is unknown,null values may be used.If the database system does not support nulls,a special value may be used(such as unknown)for Jackson’s street and city.The special value chosen must not be a plausible name for an actual city or street.c.Πcustomer-name,customer-city,amount((borrower1loan)1customer)2.7Consider the relational database of Figure2.35.Give an expression in the rela-tional algebra for each request:a.Give all employees of First Bank Corporation a10percent salary raise.Exercises 9b.Give all managers in this database a 10percent salary raise,unless the salary would be greater than $100,000.In such cases,give only a 3percent raise.c.Delete all tuples in the works relation for employees of Small Bank Corpora-tion.Answer:a.works ←Πperson -name,company -name,1.1∗salary (σ(company -name =“First Bank Corporation”)(works ))∪(works −σcompany -name =“First Bank Corporation”(works ))b.The same situation arises here.As before,t 1,holds the tuples to be updated and t 2holds these tuples in their updated form.t 1←Πworks.person -name,company -name,salary (σworks.person -name =manager -name (works ×manages ))t 2←Πworks.person -name,company -name,salary ∗1.03(σt 1.salary ∗1.1>100000(t 1))t 2←t 2∪(Πworks.person -name,company -name,salary ∗1.1(σt 1.salary ∗1.1≤100000(t 1)))works ←(works −t 1)∪t 2c.works ←works −σcompany −name =“Small Bank Corporation”(works )2.8Using the bank example,write relational-algebra queries to find the accountsheld by more than two customers in the following ways:ing an aggregate function.b.Without using any aggregate functions.Answer:a.t 1←account -number G count customer -name (depositor )Πaccount -number σnum -holders>2 ρaccount -holders (account -number,num -holders )(t 1)b.t 1←(ρd 1(depositor )×ρd 2(depositor )×ρd 3(depositor ))t 2←σ(d 1.account -number =d 2.account -number =d 3.account -number )(t 1)Πd 1.account -number (σ(d 1.customer -name =d 2.customer -name ∧d 2.customer -name =d 3.customer -name ∧d 3.customer -name =d 1.customer -name )(t 2))2.9Consider the relational database of Figure 2.35.Give a relational-algebra expres-sion for each of the following queries:a.Find the company with the most employees.b.Find the company with the smallest payroll.c.Find those companies whose employees earn a higher salary,on average,than the average salary at First Bank Corporation.Answer:10Chapter 2Relational Modela.t 1←company -name G count-distinct person -name (works )t 2←max num -employees (ρcompany -strength (company -name,num -employees )(t 1))Πcompany -name (ρt 3(company -name,num -employees )(t 1)1ρt 4(num -employees )(t 2))b.t 1←company -name G sum salary (works )t 2←min payroll (ρcompany -payroll (company -name,payroll )(t 1))Πcompany -name (ρt 3(company -name,payroll )(t 1)1ρt 4(payroll )(t 2))c.t 1←company -name G avg salary (works )t 2←σcompany -name =“First Bank Corporation”(t 1)Πt pany -name ((ρt 3(company -name,avg -salary )(t 1))1t 3.avg -salary >first -bank.avg -salary (ρfirst -bank (company -name,avg -salary )(t 2)))2.10List two reasons why null values might be introduced into the database.Answer:Nulls may be introduced into the database because the actual value is either unknown or does not exist.For example,an employee whose address has changed and whose new address is not yet known should be retained with a null address.If employee tuples have a composite attribute dependents ,and a particular employee has no dependents,then that tuple’s dependents attribute should be given a null value.2.11Consider the following relational schemaemployee (empno ,name ,office ,age )books (isbn ,title ,authors ,publishe r )loan (empno ,isbn ,date )Write the following queries in relational algebra.a.Find the names of employees who have borrowed a book published by McGraw-Hill.b.Find the names of employees who have borrowed all books published byMcGraw-Hill.c.Find the names of employees who have borrowed more than five different books published by McGraw-Hill.d.For each publisher,find the names of employees who have borrowed morethan five books of that publisher.Answer:No answerExercises3.8Consider the insurance database of Figure 3.11,where the primary keys are un-derlined.Construct the following SQL queries for this relational database.a.Find the number of accidents in which the cars belonging to “John Smith ”were involved.b.Update the damage amount for the car with license number “AABB2000”in the accident with report number “AR2197”to $3000.Answer:Note:The participated relation relates drivers,cars,and accidents.a.SQL query:selectcount (distinct *)fromaccident where exists(select *from participated,personwhere participated.driver id =person.driver idand =’John Smith’and accident.report number =participated.report number )b.SQL query:update participatedset damage amount =3000where report number =“AR2197”and driver id in(select driver idfrom ownswhere license =“AABB2000”)11C H A P T E R312Chapter3SQLperson(driver id,name,address)car(license,model,year)accident(report number,date,location)owns(driver id,license)participated(driver id,car,report number,damage amount)Figure3.11.Insurance database.employee(employee name,street,city)works(employee name,company name,salary)company(company name,city)manages(employee name,manager name)Figure3.12.Employee database.3.9Consider the employee database of Figure3.12,where the primary keys are un-derlined.Give an expression in SQL for each of the following queries.a.Find the names of all employees who work for First Bank Corporation.b.Find all employees in the database who live in the same cities as the com-panies for which they work.c.Find all employees in the database who live in the same cities and on thesame streets as do their managers.d.Find all employees who earn more than the average salary of all employeesof their company.e.Find the company that has the smallest payroll.Answer:a.Find the names of all employees who work for First Bank Corporation.select employee namefrom workswhere company name=’First Bank Corporation’b.Find all employees in the database who live in the same cities as the com-panies for which they work.select e.employee namefrom employee e,works w,company cwhere e.employee name=w.employee name and e.city=c.city andpany name=pany namec.Find all employees in the database who live in the same cities and on thesame streets as do their managers.select P.employee namefrom employee P,employee R,manages Mwhere P.employee name=M.employee name andM.manager name=R.employee name andP.street=R.street and P.city=R.cityExercises13d.Find all employees who earn more than the average salary of all employeesof their company.The following solution assumes that all people work for at most one com-pany.select employee namefrom works Twhere salary>(select avg(salary)from works Swhere pany name=pany name)e.Find the company that has the smallest payroll.select company namefrom worksgroup by company namehaving sum(salary)<=all(select sum(salary)from worksgroup by company name)3.10Consider the relational database of Figure3.12.Give an expression in SQL foreach of the following queries.a.Give all employees of First Bank Corporation a10percent raise.b.Give all managers of First Bank Corporation a10percent raise.c.Delete all tuples in the works relation for employees of Small Bank Corpora-tion.Answer:a.Give all employees of First Bank Corporation a10-percent raise.(the solu-tion assumes that each person works for at most one company.)update worksset salary=salary*1.1where company name=’First Bank Corporation’b.Give all managers of First Bank Corporation a10-percent raise.update worksset salary=salary*1.1where employee name in(select manager namefrom manages)and company name=’First Bank Corporation’c.Delete all tuples in the works relation for employees of Small Bank Corpora-tion.delete workswhere company name=’Small Bank Corporation’3.11Let the following relation schemas be given:14Chapter3SQLR=(A,B,C)S=(D,E,F)Let relations r(R)and s(S)be given.Give an expression in SQL that is equivalentto each of the following queries.a.ΠA(r)b.σB=17(r)c.r×sd.ΠA,F(σC=D(r×s))Answer:a.ΠA(r)select distinct Afrom rb.σB=17(r)select*from rwhere B=17c.r×sselect distinct*from r,sd.ΠA,F(σC=D(r×s))select distinct A,Ffrom r,swhere C=D3.12Let R=(A,B,C),and let r1and r2both be relations on schema R.Give anexpression in SQL that is equivalent to each of the following queries.a.r1∪r2b.r1∩r2c.r1−r2d.ΠAB(r1)1ΠBC(r2)Answer:a.r1∪r2(select*from r1)union(select*from r2)b.r1∩r2We can write this using the intersect operation,which is the preferred approach,but for variety we present an solution using a nested subquery.Exercises15select*from r1where(A,B,C)in(select*from r2)c.r1−r2select∗from r1where(A,B,C)not in(select∗from r2)This can also be solved using the except clause.d.ΠAB(r1)1ΠBC(r2)select r1.A,r2.B,r3.Cfrom r1,r2where r1.B=r2.B3.13Show that,in SQL,<>all is identical to not in.Answer:Let the set S denote the result of an SQL subquery.We compare(x<>all S)with(x not in S).If a particular value x1satisfies(x1<>all S)then for all elements y of S x1=y.Thus x1is not a member of S and must satisfy(x1not in S).Similarly,suppose there is a particular value x2which satisfies(x2not inS).It cannot be equal to any element w belonging to S,and hence(x2<>all S) will be satisfied.Therefore the two expressions are equivalent.3.14Consider the relational database of ing SQL,define a view con-sisting of manager name and the average salary of all employees who work for that manager.Explain why the database system should not allow updates to be expressed in terms of this view.Answer:create view salinfo asselect manager name,avg(salary)from manages m,works wwhere m.employee name=w.employee namegroup by manager nameUpdates should not be allowed in this view because there is no way to de-termine how to change the underlying data.For example,suppose the request is“change the average salary of employees working for Smith to$200”.Should everybody who works for Smith have their salary changed to$200?Or should thefirst(or more,if necessary)employee found who works for Smith have their salary adjusted so that the average is$200?Neither approach really makes sense.3.15Write an SQL query,without using a with clause,tofind all branches wherethe total account deposit is less than the average total account deposit at allbranches,16Chapter3SQLing a nested query in the from clauser.ing a nested query in a having clause.Answer:We output the branch names along with the total account deposit atthe branch.ing a nested query in the from clauser.select branch name,tot balancefrom(select branch name,sum(balance)from accountgroup by branch name)as branch total(branch name,tot balance)where tot balance¡(select avg(tot balance)from(select branch name,sum(balance)from accountgroup by branch name)as branch total(branch name,tot balance))ing a nested query in a having clause.select branch name,sum(balance)from accountgroup by branch namehaving sum(balance)¡(select avg(tot balance)from(select branch name,sum(balance)from accountgroup by branch name)as branch total(branch name,tot balance))3.16List two reasons why null values might be introduced into the database.Answer:No Answer3.17Show how to express the coalesce operation from Exercise3.4using the caseoperation.Answer:No Answer.3.18Give an SQL schema definition for the employee database of Figure3.12.Choosean appropriate domain for each attribute and an appropriate primary key foreach relation schema.Answer:create domain company names char(20)create domain city names char(30)create domain person names char(20)create table employeeExercises17 (employee name person names,street char(30),city city names,primary key(employee name))create table works(employee name person names,company name company names,salary numeric(8,2),primary key(employee name))create table company(company name company names,city city names,primary key(company name))create table manages(employee name person names,manager name person names,primary key(employee name))3.19Using the relations of our sample bank database,write SQL expressions to definethe following views:a.A view containing the account numbers and customer names(but not thebalances)for all accounts at the Deer Park branch.b.A view containing the names and addresses of all customers who have anaccount with the bank,but do not have a loan.c.A view containing the name and average account balance of every customerof the Rock Ridge branch.Answer:No Answer.3.20For each of the views that you defined in Exercise3.19,explain how updateswould be performed(if they should be allowed at all).Answer:No Answer.3.21Consider the following relational schemaemployee(empno,name,office,age)books(isbn,title,authors,publisher)loan(empno,isbn,date)Write the following queries in SQL.a.Print the names of employees who have borrowed any book published byMcGraw-Hill.18Chapter3SQLb.Print the names of employees who have borrowed all books published byMcGraw-Hill.c.For each publisher,print the names of employees who have borrowed morethanfive books of that publisher.Answer:No Answer.3.22Consider the relational schemastudent(student id,student name)registered(student id,course id)Write an SQL query to list the student-id and name of each student along withthe total number of courses that the student is registered for.Students who arenot registered for any course must also be listed,with the number of registeredcourses shown as0.Answer:No Answer.3.23Suppose that we have a relation marks(student id,score).Write an SQL query tofind the dense rank of each student.That is,all students with the top mark get arank of1,those with the next highest mark get a rank of2,and so on.Hint:Splitthe task into parts,using the with clause.Answer:No Answer.C H A P T E R4Exercises4.7Referential-integrity constraints as defined in this chapter involve exactly tworelations.Consider a database that includes the following relations:salaried-worker(name,office,phone,salary)hourly-worker(name,hourly-wage)address(name,street,city)Suppose that we wish to require that every name that appears in address appear in either salaried-worker or hourly-worker,but not necessarily in both.a.Propose a syntax for expressing such constraints.b.Discuss the actions that the system must take to enforce a constraint of thisform.Answer:a.For simplicity,we present a variant of the SQL syntax.As part of the createtable expression for address we includeforeign key(name)references salaried-worker or hourly-workerb.To enforce this constraint,whenever a tuple is inserted into the address rela-tion,a lookup on the name value must be made on the salaried-worker relationand(if that lookup failed)on the hourly-worker relation(or vice-versa).4.8Write a Java function using JDBC metadata features that takes a ResultSet asan input parameter,and prints out the result in tabular form,with appropriate names as column headings.Answer:No Answer.1920Chapter4Advanced SQL4.9Write a Java function using JDBC metadata features that prints a list of all re-lations in the database,displaying for each relation the names and types of itsattributes.Answer:No Answer.4.10Consider an employee database with two relationsemployee(employee-name,street,city)works(employee-name,company-name,salary)where the primary keys are underlined.Write a query tofind companies whoseemployees earn a higher salary,on average,than the average salary at First BankCorporation.ing SQL functions as appropriate.b.Without using SQL functions.Answer:a.create function avg-salary(cname varchar(15))returns integerdeclare result integer;select avg(salary)into resultfrom workswhere pany-name=cnamereturn result;endselect company-namefrom workswhere avg-salary(company-name)>avg-salary(”First Bank Corporation”)b.select company-namefrom worksgroup by company-namehaving avg(salary)>(select avg(salary)from workswhere company-name=”First Bank Corporation”)4.11Rewrite the query in Section4.6.1that returns the name,street and city of allcustomers with more than one account,using the with clause instead of using afunction call.Answer:No Answer.4.12Compare the use of embedded SQL with the use in SQL of functions defined ina general-purpose programming language.Under what circumstances wouldyou use each of these features?Answer:SQL functions are primarily a mechanism for extending the powerof SQL to handle attributes of complex data types(like images),or to performcomplex and non-standard operations.Embedded SQL is useful when imper-ative actions like displaying results and interacting with the user are needed.Exercises21 These cannot be done conveniently in an SQL only environment.Embedded SQL can be used instead of SQL functions by retrieving data and then perform-ing the function’s operations on the SQL result.However a drawback is that a lot of query-evaluation functionality may end up getting repeated in the host language code.4.13Modify the recursive query in Figure4.14to define a relationempl depth(employee name,manager name,depth)where the attribute depth indicates how many levels of intermediate managers are there between the employee and the manager.Employees who are directly under a manager would have a depth of0.Answer:No Answer.4.14Consider the relational schemapart(part id,name,cost)subpart(part id,subpart id,count)A tuple(p1,p2,3)in the subpart relation denotes that the part with part-id p2is adirect subpart of the part with part-id p1,and p1has3copies of p2Note that p2 may itself have further subparts.Write a recursive SQL query that outputs the names of all subparts of the part with part-id“P-100”.Answer:No Answer.4.15Consider again the relational schema from Exercise4.14.Write a JDBC functionusing non-recursive SQL tofind the total cost of part“P-100”,including the costs of all its subparts.Be sure to take into account the fact that a part may have multiple occurrences of a subpart.You may use recursion in Java if you wish.Answer:No Answer.7.22Using the functional dependencies of Practice Exercise7.6,compute B+.Answer:Computing B+by the algorithm in Figure7.9we start with result= {B}.Considering FDs of the formβ→γin F,wefind that the only depen-dencies satisfyingβ⊆result are B→B and B→D.Therefore result= {B,D}.No more dependencies in F apply now.Therefore B+={B,D}7.23Show that the following decomposition of the schema R of Practice Exercise7.1is not a lossless-join decomposition:(A,B,C)(C,D,E).Hint:Give an example of a relation r on schema R such thatΠA,B,C(r)1ΠC,D,E(r)=rAnswer:Following the hint,use the following example of r:A B C D Ea1b1c1d1e1a2b2c1d2e2With R1=(A,B,C),R2=(C,D,E):a.ΠR1(r)would be:A B Ca1b1c1a2b2c1b.ΠR2(r)would be:C D Ec1d1e1c1d2e2c.ΠR1(r)1ΠR2(r)would be: A B C D Ea1b1c1d1e1a1b1c1d2e2a2b2c1d1e1a2b2c1d2e2Clearly,ΠR1(r)1ΠR2(r)=r.Therefore,this is a lossy join.Exercises6.14Explain the distinctions among the terms primary key,candidate key,and su-perkey.Answer:A superkey is a set of one or more attributes that,taken collectively,al-lows us to identify uniquely an entity in the entity set.A superkey may contain extraneous attributes.If K is a superkey,then so is any superset of K.A superkey for which no proper subset is also a superkey is called a candidate key.It is pos-sible that several distinct sets of attributes could serve as candidate keys.The primary key is one of the candidate keys that is chosen by the database designer as the principal means of identifying entities within an entity set.6.15Construct an E-R diagram for a hospital with a set of patients and a set of medi-cal doctors.Associate with each patient a log of the various tests and examina-tions conducted.Answer:See Figure6.16.16Construct appropriate tables for each of the E-R diagrams in Practice Exercises6.1and6.2.Answer:a.Car insurance tables:person(driver-id,name,address)car(license,year,model)accident(report-number,date,location)participated(driver-id,license,report-number,damage-amount)b.Hospital tables:33Figure6.1E-R diagram for a hospital.patients(patient-id,name,insurance,date-admitted,date-checked-out)doctors(doctor-id,name,specialization)test(testid,testname,date,time,result)doctor-patient(patient-id,doctor-id)test-log(testid,patient-id)performed-by(testid,doctor-id)c.University registrar’s tables:student(student-id,name,program)course(courseno,title,syllabus,credits)course-offering(courseno,secno,year,semester,time,room)instructor(instructor-id,name,dept,title)enrols(student-id,courseno,secno,semester,year,grade)teaches(courseno,secno,semester,year,instructor-id)requires(maincourse,prerequisite)。
数据库系统概论及习题及答案
数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和②。
数据库系统概论第一章总结
数据库系统概论第一章总结English Answer:Introduction to Database Systems.A database system is a collection of interrelated data and the software that manages and provides access to the data. The data is typically stored in a database management system (DBMS), which provides the necessary functionality to create, maintain, and query the data.Components of a Database System.The main components of a database system include:Data: The data stored in the database.Database Management System (DBMS): The software that manages the data and provides access to it.Users: The people who use the database system.Types of Databases.There are many different types of databases, each with its own strengths and weaknesses. The most common types of databases include:Relational databases: Relational databases store data in tables, which are made up of rows and columns. Each row represents a single record, and each column represents a particular attribute of the record.NoSQL databases: NoSQL databases are designed for storing and managing large amounts of unstructured data. They do not use the traditional table structure of relational databases.Object-oriented databases: Object-oriented databases store data in objects, which are made up of data and methods. Objects can be related to each other through inheritance and polymorphism.Database Design.Database design is the process of creating a database that meets the specific needs of the users. The goal of database design is to create a database that is efficient, reliable, and easy to use.Database Administration.Database administration is the process of managing the database system and ensuring that it is running smoothly. Database administrators are responsible for creating and maintaining the database, as well as monitoring its performance and security.Conclusion.Database systems are essential for managing and accessing data. They are used in a wide variety of applications, from small businesses to large corporations. By understanding the basics of database systems, you canbetter understand how to use them to meet your specific needs.Chinese Answer:数据库系统概述。
(完整版)《数据库系统概论》简答题集及答案
《数据库系统概论》简答题集答案◆数据库管理系统的主要功能是什么?数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
它的主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
◆数据管理技术的人工管理阶段的特点是什么?◆数据管理技术的文件系统阶段的特点是什么?用文件系统管理数据具有如下特点:数据可以长期保存、由文件系统管理数据、数据共享性差冗余度大、数据独立性差。
◆数据库系统的特点是什么?◆什么是数据的物理独立性?什么是数据的逻辑独立性?◆什么是数据模型?它应该满足哪三方面的要求?在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和和信息。
即数据模型就是现实世界的模拟。
数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
◆试述概念模型的作用概念模型实际上是现实世界到计算机世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
◆满足什么条件的数据库系统被称为层次模型数据库?层次模型数据库是满足下面两个条件的基本层次联系的集合:(1)有且只有一个结点没有双亲结点,这个结点称为根结点(2)根以外的其他结点有且只有一个双亲结点◆在层次模型中可以那两种方法表示多对多联系,两者的优缺点如何?在层次模型中表示多对多联系,必须首先将其分解成一对多联系。
分解方法有两种:冗余结点法和虚拟结点法。
冗余结点的优点是结构清晰,允许结点改变存储位置,缺点是需要额外占用存储空间,有潜在的不一致性。
虚拟结点法的优点是减少对存储空间的浪费,避免产生潜在的不一致性,缺点是结点改变存储位置可能引起虚拟结点中指针的修改。
◆试述层次数据模型的优缺点◆满足什么条件的数据库系统被称为网状模型数据库?◆试述网状数据模型的优缺点◆试述关系数据模型的优缺点◆试述数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成;数据库管理系统在这三级模式之间提供了两层映象,从而形成了物理独立性和逻辑独立性。
《数据库系统概论》课后习题及参考答案
课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材41页)1.试述数据、数据库、数据库系统、数据库管理系统得概念。
数据:描述事物得符号记录称为数据。
数据得种类有文字、图形、图象、声音、正文等等。
数据与其语义就是不可分得。
数据库:数据库就是长期储存在计算机内、有组织得、可共享得数据集合。
数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。
数据库系统:数据库系统( DBS)就是指在计算机系统中引入数据库后得系统构成.数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统 (DBMS)就是位于用户与操作系统之间得一层数据管理软件.用于科学地组织与存储数据、高效地获取与维护数据.DBMS主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能.2.使用数据库系统有什么好处?使用数据库系统得好处就是由数据库管理系统得特点或优点决定得.使用数据库系统得好处很多,例如可以大大提高应用开发得效率,方便用户得使用,减轻数据库系统管理人员维护得负担等。
为什么有这些好处,可以结合第 5题来回答。
使用数据库系统可以大大提高应用开发得效率。
因为在数据库系统中应用程序不必考虑数据得定义、存储与数据存取得具体路径,这些工作都由DBMS来完成。
此外,当应用逻辑改变,数据得逻辑结构需要改变时,由于数据库系统提供了数据与程序之间得独立性。
数据逻辑结构得改变就是DBA得责任,开发人员不必修改应用程序,或者只需要修改很少得应用程序。
从而既简化了应用程序得编制,又大大减少了应用程序得维护与修改。
使用数据库系统可以减轻数据库系统管理人员维护系统得负担.因为 DBMS在数据库建立、运用与维护时对数据库进行统一得管理与控制,包括数据得完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。
(完整)《数据库系统原理概论》题库及答案,推荐文档
(完整)《数据库系统原理概论》题库及答案,推荐文档华中师范大学网络教育学院《数据库》练习测试题库本科一、选择题1、单个用户使用的数据视图的描述称为( A )。
A.外模式 B.概念模式 C.内模式 D.存储模式2、子模式DDL用来描述( B )。
A.数据库的总体逻辑结构 B.数据库的局部逻辑结构C.数据库的物理存储结构 D.数据库的概念结构3、在DBS中,DBMS和OS之间的关系是( B )。
A.相互调用B.DBMS调用OS C.OS调用DBMS D.并发运行4、五种基本关系代数运算是( A )。
A.∪,-,×,π和σ B.∪,-,∞,π和σC.∪,∩,×,π和σ D.∪,∩,∞,π和σ5、当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是( D )。
A.左外联接 B.右外联接 C.外部并 D.外联接6、下列聚合函数中不忽略空值 (null) 的是( C )。
A.SUM (列名) B.MAX (列名) C.COUNT ( * ) D.AVG (列名)7、设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F( A )。
A.是无损联接,也是保持FD 的分解 B.是无损联接,但不保持FD的分解C.不是无损联接,但保持FD的分解D.既不是无损联接,也不保持FD 的分解8、下列SQL语句中,修改表结构的是( A )。
A.CREATE B.ALTER C.UPDATE D.INSERT9、在数据库设计中,将ER图转换成关系数据模型的过程属于( B )。
A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段10、SQL中,下列涉及空值的操作,不正确的是(C )。
A.AGE IS NULL B.AGE IS NOT NULL C.AGE = NULL D.NOT (AGE IS NULL)11、如果事务T获得了数据项Q上的排它锁,则T对Q( C )。
(完整版)数据库系统概论复习试题及答案
数据库系统概论复习资料:第一章:三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
第一章补充作业部分:假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。
数据库系统概论期末试题及答案(整理版)
《数据库原理及应用》试题1一、选择题1、数据库系统的基本特征是_________。
A 、数据的统一控制B 、数据共享性和统一控制C 、数据共享性、独立性和冗余度小D 、数据共享性和数据独立性(难度系数C )正确答案:C2、DB 、DBMS 和DBS 三者之间的关系是_________。
A 、DBS 与DB 和DBMS 无关 B 、DBMS 包括DBS 和DBC 、DB 包括DBMS 和DBSD 、DBS 包括DB 和DBMS(难度系数B )正确答案:D3、设有关系R 和S ,关系代数 S)(R R -- 表示的是_________。
A 、R ∩SB 、R ―SC 、R ÷SD 、R ∪S(难度系数B )正确答案:A4、自然连接是构成新关系的有效方法。
一般情况下,当对关系R 和S 使用 自然连接时,要求R 和S 含有一个或多个共有的__________。
A 、行B 、属性C 、记录D 、元组(难度系数C )正确答案:B5、以下是信息世界的模型,且实际上是现实世界到机器世界的一个中间层次的是_________。
A 、数据模型B 、概念模型C 、关系模型D 、E-R 图(难度系数C )正确答案:C6、构成E —R 模型的三个基本要素是_________。
A 、实体、属性值、关系;B 、实体、属性、联系;C 、实体、实体集、联系;D 、实体、实体集、属性;(难度系数C )正确答案:B7、在关系代数运算中,五种基本运算为_________。
A 、并、差、选择、投影、连接B 、并、交、选择、投影、笛卡尔积C 、并、差、选择、投影、笛卡尔积D 、并、除、投影、笛卡尔积、选择(难度系数B )正确答案:C8、在下列关于规范化理论的叙述中,不正确的是_________。
A 、任何一个关系模式一定有键。
B 、任何一个包含两个属性的关系模式一定满足3NF 。
C 、任何一个包含两个属性的关系模式一定满足BCNF 。
数据库系统概论部分答案
第一章1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机的、有组织的、可共享的数据集合。
( 3 )数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
5 .试述数据库系统的特点。
答:( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。
( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
( 4 )数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
7. 什么是概念模型?试述概念模型的作用。
答:概念模型是现实世界到机器世界的一个中间层次,作用:用于信息世界的建模,是现实世界到信息世界的第一层抽象,数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
8.定义并解释概念模型中以下术语:实体,实体型,实体集,实体之间的联系答:实体:客观存在并可以相互区分的事物叫实体。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
《数据库系统概论》习题答案详解
+ + +
BCD BCDAE BCDAEF BCDAEFG
2NF。
6、设二目关系 R(A,B) ,证明 R 是属于 3NF。 解答: 前提:R 有码。R 的码有以下情况: 1、 (A,B)为码 2、A、B 分别为码 3、A 为码,B 为非主属性 4、B 为码,A 为非主属性 考虑 A、B 的对称性,其实 3 与 4 相同,合并考虑。 1、2 情况下,R 没有非主属性,不可能存在非主属性对码的部分依赖和传 递依赖,因此 R∈3NF。 情况 3 存在函数依赖 A→B,非主属性 B 对码 A 的依赖是完全的、直接的, 因此 R∈3NF。 综合三种情况 R 是属于 3NF。
分解成 1NF(包括 D#) Dept1(D#,DBudget,LE#) Emp1(D#,E#,J#,O#,P#) Job1(D#,E#,JobTitle) Slist1(D#,E#,JobTitle ,Date,Salary) Proj1(D#,J#,JBudget) Offi1(D#,O#,Area) Phone1(D#,O#,P#)
消除部分函数依赖,分解成 2NF(消除冗余属性 D#) Dept2(D#,DBudget,LE#) Emp2(E#,J#,O#,P#) Slist2(E#, Date,JobTitle ,Salary) Proj2(J#,D#,JBudget) Offi2(O#,D#,Area) Phone2(P#,O#) 消除传递函数依赖,分解成 3NF(主要解决 Emp2) Dept3(D#,DBudget,LE#) Emp3(E#,J#,P#) Slist3(E#, Date,JobTitle ,Salary) Proj3(J#,D#,JBudget) Offi3(O#,D#,Area) Phone3(P#,O#)
数据库系统概论试题及答案5
分
二、填空题
(本大题共10小题,每小题2分,共20分) 错填、不填均无分。
1. 数据管理经过了人工管理、文件系统和
三个发展阶段。
2. 关系中主码的取值必须唯一且非空,这条规则是 完整性规则。
3. 关系代数中专门的关系运算包括: 、投影、连接和除法。
4. SQL语言提供数据定义、
、数据控制等功能。
购物(顾客编号,商店名称,日期,消费金额) (关系模型6分,3个关系模式各2分,主码错一个扣1分)
写成WHERE DNAME LIKE( ) A.’_ _ W _ %’ B.’_ % W _ _’ C.’_ W _ _’ D.’_ W _ %’
6. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个
数字组成的字符串,这一规则属于( )。
A.实体完整性约束
B.参照完整性约束
C.用户自定义完整性约束
2.
πDNAME( ENO=’001’(EMP)
DEPT)(πDNAME1分,ENO=’001’ 1分,(EMP)
DEPT3分) 或
πDNAME( ENO=’001’(EMP
DEPT)) (πDNAME1分,ENO=’001’ 1分,(EMP
DEPT)3分) 3. UPDATE EMP SET SALARY=SALARY*1.1 WHERE ENO IN (2分)
R2 (商店编号,部门编号,负ห้องสมุดไป่ตู้人) (2分)
2. n
m 地址
顾客 购物 商店 商店编号 商店名
日期 年龄 性别 顾客编号 姓名 消费金额 地址
电话
(E-R模型4分,两个实体型的属性漏写一个扣0.5分,购物联系的 两个属性漏写一个扣1分,联系类型错扣1分)
数据库系统概论答案(第四版)
数据库系统概论答案第四版第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
(完整版)数据库系统概论试题及答案4
试题四一、单项选择题1. 数据库系统的特点是()、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享B.数据存储C.数据应用D.数据保密2.数据库系统中,物理数据独立性是指()。
A.数据库与数据库管理系统的相互独立B.应用程序与DBMS的相互独立C.应用程序与存储在磁盘上数据库的物理模式是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立3.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()。
A.外模式B.内模式C.存储模式D.模式4. 关系模型的数据结构是()。
A.层次结构B.二维表结构C.网状结构 D.封装结构5. 关系模型中,一个候选码()。
A.可由多个任意属性组成B.至多由一个属性组成C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D.必须由多个属性组成6.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。
A.元组B.行C.记录D.属性7.设关系R和S的属性个数分别是2和3,那么R S等价于()1<2A.σ1<2(R⨯S)B.σ1<4(R⨯S)C.σ1<2(R S)D.σ1<4(R S)8.SQL语言具有()的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵9.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系()。
A.S B.SC,C C.S,SC D.S,C,SC10. 已知关系SPJ(S#,P#,J#,QTY),把对关系SPJ的属性QTY的修改权授予用户张三的T-SQL语句是( C )A. GRANT QTY ON SPJ TO 张三B. GRANT UPDA TE ON SPJ TO张三C. GRANT UPDA TE (QTY) ON SPJ TO张三D. GRANT UPDA TE ON SPJ (QTY) TO张三12.在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'→Y,则()。
数据库系统概论课后习题答案
第1章绪论习题参考答案13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E-R图画山此工厂产品,零件,材第2章关系数据库习题参考答案5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))第3章 SQL语言习题参考答案用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S( Sno CHAR(2) UNIQUE,Sname CHAR(6) ,Status CHAR(2),City CHAR(4));零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P( Pno CHAR(2) UNIQUE,Pname CHAR(6),COLOR CHAR(2),WEIGHT INT);工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J( JNO CHAR(2) UNlQUE,JNAME CHAR(8),CITY CHAR(4));供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ( SNO CHAR(2),PNO CHAR(2),JNO CHAR(2), QTY INT);4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:求供应工程J1零件的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO=’J1’求供应工程J1零件P1的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO='J1' AND PNO='P1'求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,PWHERE JNO='J1' AND = AND COLOR='红'求没有使用天津供应商生产的红色零件的工程号JNO:SELECT JNO FROM SPJWHERE JNO NOT IN (SELECT JNO FROM SPJ,P,SWHERE ='天津' AND COLOR='红' AND =AND =;或者:SELECT JNO FROM JWHERE NOT EXITS( SELECT * FROM SPJ,S,PWHERE = AND =;求至少用了供应商S1所供应的全部零件的工程号JNO。
04735数据库系统原理(2022版)课后习题参考答案
04735数据库系统原理(2022版)课后习题参考答案第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
第三章数据库设计选择题B、C、C简答题1.请简述数据库设计的基本步骤。
P66需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。
1)一个实体型转换为一个关系模式。
数据库系统概论习题及答案
数据库系统概论习题及答案资料1:一、选择题:1、下面列出的条目中,哪些是数据库系统的组成成员? ( )Ⅰ.操作系统 Ⅱ.数据库管理系统 Ⅲ.用户 Ⅳ.数据库管理员 Ⅴ.数据库A .Ⅱ、Ⅲ、Ⅳ和ⅤB .Ⅱ、Ⅳ和ⅤC .Ⅰ、Ⅱ、Ⅳ和ⅤD .都是2、在下面列出的数据模型中,哪一个是概念数据模型? ( )A .关系模型B .层次模型C .网状模型D .实体-联系模型3、数据库的三级模式结构中最接近外部存储器的是 ( )A .模式B .外模式C .概念模式D .内模式4、设关系R 和关系S 的元数分别是3和4,关系T 是R 与S 的广义笛卡尔积,即:T=R×S,则关系T 的元数是 ( )A .7B .9C .12D .165、设有关系R(A ,B ,C)和S(C ,D)。
与SQL 语句select A ,B ,D from R ,S where R.C=S.C 等价的关系代数表达式是 ( )A .))((,,..S R DB AC S C R ⨯=πσB .))((..,,S RC S C RD B A ⨯=σπC .))()((,,,..SD D B A C S C R ππσ⨯=D .))))((((,..S R B A D C S C R ⨯=ππσ6、在关系代数表达式的查询优化中,不正确的叙述是 ( )A .尽可能早地执行连接B .尽可能早地执行选择C .尽可能早地执行投影D .把笛卡尔积和随后的选择合并成连接运算7、有关系R 和S ,R∩S 的运算等价于 ( )A .S-(R-S)B .R-(R-S)C .(R-S)∪SD .R∪(R -S)8、有如下两个关系EMP 和DEPT :EMP (雇员号,雇员名,部门号,工资) DEPT (部门号,部门名,地址)在雇员信息表关系EMP 中,哪个属性是外键(foreign key) ( )A .雇员号B .雇员名C .部门号D .工资9、为数据表创建索引的目的是 ( )A .提高查询的检索性能B .创建唯一索引C .创建主键D .归类10、SQL 语言中,删除一个表的命令是 ( )A.DELETE B.DROPC.CLEAR D.REMOVE11、数据库管理系统中用于定义和描述数据库逻辑结构的语言称为()A.数据库模式描述语言(DDL) B.数据库子语言(SubDL)C.数据操纵语言(DML) D.数据控制语言(DCL)12、.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()A.完整性B.可靠性C.安全性D.一致性13、X→Y,当下列哪一条成立时,称为平凡的函数依赖()A.X ∈Y B.Y∈XC.X∩Y=ΦD.X∩Y≠Φ14、设属性A是关系R的主属性,则属性A不能取空值(NULL)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章关系数据库1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
4 .试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))6.试述等值连接与自然连接的区别和联系。
答:连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
7.关系代数的基本运算有哪些? 如何用这些基本运算来表示其他运算?答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
第3章关系数据库标准语言SQL1 .试述sQL 语言的特点。
答:(l)综合统一。
sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。
(2)高度非过程化。
用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
sQL 语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2 .试述sQL 的定义功能。
sQL 的数据定义功能包括定义表、定义视图和定义索引。
SQL 语言使用cREA TE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREA TE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREA TE VIEW 语句建立视图,DROP VIEW 语句删除视图。
3 .用sQL 语句建立第二章习题 5 中的4 个表。
答:对于S 表:S ( SNO , SNAME , STATUS , CITY ) ;建S 表:CREA TE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));对于P表:P ( PNO , PNAME , COLOR , WEIGHT );建P表:CREA TE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于J 表:J ( JNO , JNAME , CITY);建J 表:CREA TE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))对于sPJ 表:sPJ ( sNo , PNo , JNo , QTY);建SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREA TE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT))4.针对上题中建立的 4 个表试用sQL 语言完成第二章习题5 中的查询。
( l )求供应工程Jl零件的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO=’J1’( 2 )求供应工程Jl 零件Pl 的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'( 3 )求供应工程Jl 零件为红色的供应商号码SNO ;SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红' ( 4 )求没有使用天津供应商生产的红色零件的工程号JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供应商Sl 所供应的全部零件的工程号JNO ;由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件。
SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')5.针对习题3中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。
SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供应商S1所供应零件的工程号码。
SELECT DIST JNO FROM SPJ WHERE SNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。
SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。
SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海产的零件的工程名称。
SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。
注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。
UPDA TE P SET COLOR='蓝' WHERE COLOR='红'(9)由S5供给J4的零件P6改为由S3供应。
UPDA TE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETE FROM S WHERE SNO=’S2’B、DELETE FROM SPJ WHERE SNO=‘S2’(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERT INTO SPJ V ALUES(‘S2’,‘J6’,‘P4’,200)6 .什么是基本表?什么是视图?答两者的区别和联系是什么?基本表是本身独立存在的表,在sQL 中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
7 .试述视图的优点。
答( l )视图能够简化用户的操作;( 2 )视图使用户能以多种角度看待同一数据;( 3 )视图对重构数据库提供了一定程度的逻辑独立性;( 4 )视图能够对机密数据提供安全保护。
8 .所有的视图是否都可以更新?为什么?答:不是。
视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。
因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.9 .哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明。
答:基本表的行列子集视图一般是可更新的。
若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。
10 .试述某个你熟悉的实际系统中对视图更新的规定。
答VFP11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
CREA TE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME='三建'针对该视图VSP完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。