数据库系统基础课后题

合集下载

数据库系统原理教程课后习题答案

数据库系统原理教程课后习题答案

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统得概念。

答:( l )数据( Data):描述事物得符号记录称为数据。

数据得种类有数字、文字、图形、图像、声音、正文等。

数据与其语义就是不可分得。

解析在现代计算机系统中数据得概念就是广义得。

早期得计算机系统主要用于科学计算,处理得数据就是整数、实数、浮点数等传统数学中得数据。

现代计算机能存储与处理得对象十分广泛,表示这些对象得数据也越来越复杂。

数据与其语义就是不可分得。

500 这个数字可以表示一件物品得价格就是500元,也可以表示一个学术会议参加得人数有500 人,还可以表示一袋奶粉重500 克。

(2)数据库( DataBase,简称DB) :数据库就是长期储存在计算机内得、有组织得、可共享得数据集合。

数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。

( 3 )数据库系统(DataBas。

Sytem ,简称DBS):数据库系统就是指在计算机系统中引入数据库后得系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

解析数据库系统与数据库就是两个概念。

数据库系统就是一个人一机系统,数据库就是数据库系统得一个组成部分。

但就是在日常工作中人们常常把数据库系统简称为数据库。

希望读者能够从人们讲话或文章得上下文中区分“数据库系统”与“数据库”,不要引起混淆。

( 4 )数据库管理系统( DataBase Management sytem,简称DBMs ):数据库管理系统就是位于用户与操作系统之间得一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。

DBMS 得主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能。

解析DBMS 就是一个大型得复杂得软件系统,就是计算机中得基础软件。

目前,专门研制DBMS 得厂商及其研制得DBM S产品很多。

数据库系统课后习题及答案

数据库系统课后习题及答案

数据库系统课后习题及答案第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。

(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2.使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。

3.试述文件系统与数据库系统的区别和联系。

(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。

在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。

数据库系统实现整体数据的结构化,是数据库的主要特征之一。

2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。

而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。

3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。

而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。

5.试述数据库系统的特点。

(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。

6.数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。

7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。

(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。

数据库基础知识习题答案

数据库基础知识习题答案

数据库基础知识习题一、数据库系统基本概念(1)数据管理技术发展的三个阶段中,数据共享最好的是(C)。

A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同(2)数据库技术的根本目标是要解决数据的(B)。

A)存储问题B)共享问题C)安全问题D)保护问题(3)数据库系统的核心是(B)。

A)数据模型B)数据库管理系统C)数据库D)数据库管理员(4)数据库DB、数据库系统DBS、数据库管理系统DBMS 之间的关系是(C)。

A)DB 包含DBS 和DBMS B)DBMS 包含DB 和DBSC)DBS 包含DB 和DBMS D)没有任何关系(5)负责数据库中查询操作的数据库语言是(C)。

A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(6)数据库设计中反映用户对数据要求的模式是(C)。

A)内模式B)概念模式C)外模式D)设计模式(7)数据独立性是数据库技术的重要特点之一。

所谓数据独立性是指(D) 。

A)数据与程序独立存放B)不同的数据被存放在不同的文件中C)不同的数据只能被对应的应用程序所使用D)以上三种说法都不对二、数据模型及关系数据库系统(1)层次型、网状型和关系型数据库划分原则是(D)。

A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(2)数据模型的三要素是(C)。

A)数据结构、数据操作、数据分析B)数据分析、数据操作、数据完整性约束C)数据结构、数据操作、数据完整性约束D)数据结构、数据分析、数据完整性约束(3)下面哪种数据模型与计算机无关(A)。

A)概念数据模型B)逻辑数据模型C)物理数据模拟D)层次数据模型(4)在关系数据库中,用来表示实体间联系的是(B)。

A)属性B)二维表C)网状结构D)树状结构(5)在学生管理的关系数据库中,存取一个学生信息的数据单位是(D)。

A)文件B)数据库C)字段D)记录(6)下列关于关系数据库中数据表的描述,正确的是(D)。

数据库课后练习及答案

数据库课后练习及答案

1.以下的英文缩写中表示数据库管理系统的是( B)。

A. DB B.DBMS C.DBA D.DBS2.数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是(B )。

A. 数据库管理系统、操作系统、应用软件B. 操作系统、数据库管理系统、应用软件C. 数据库管理系统、应用软件、操作系统D. 操作系统、应用软件、数据库管理系统3.DBMS是(C )。

A. 操作系统的一部分B.一种编译程序 C.在操作系统支持下的系统软件 D.应用程序系统4.数据库系统提供给用户的接口是(A )。

A.数据库语言 B.过程化语言 C.宿主语言D.面向对象语5.(B )是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。

A.数据库系统 B.数据库C.关系数据库D.数据库管理系统6. ( C)处于数据库系统的核心位置。

A.数据模型 B.数据库C.数据库管理系统D.数据库管理员7.( A)是数据库系统的基础。

A.数据模型B.数据库C.数据库管理系统D.数据库管理员8.( A)是数据库中全部数据的逻辑结构和特征的描述。

A.模式B.外模式 C.内模式 D.存储模式9.(C )是数据库物理结构和存储方式的描述。

A.模式 B.外模式 C.内模式D.概念模式10.( B)是用户可以看见和使用的局部数据的逻辑结构和特征的描述》 A.模式B.外模式C.内模式D.概念模式11.有了模式/内模式映像,可以保证数据和应用程序之间( B)。

A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性12.数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( B)。

A.有专门的软件对数据进行管理B.采用一定的数据模型组织数据C.数据可长期保存D.数据可共享13.关系数据模型通常由3部分组成,它们是(B )。

A. 数据结构、数据通信、关系操作B. 数据结构、关系操作、完整性约束C. 数据通信、关系操作、完整性约束D. 数据结构、数据通信、完整性约束14.用户可以使用DML对数据库中的数据进行(A )操纵。

数据库系统基础教程(第二版)课后习题答案2

数据库系统基础教程(第二版)课后习题答案2

Database Systems: The Complete BookSolutions for Chapter 2Solutions for Section 2.1Exercise 2.1.1The E/R Diagram.Exercise 2.1.8(a)The E/R DiagramKobvxybzSolutions for Section 2.2Exercise 2.2.1The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship.The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether.Solutions for Section 2.3Exercise 2.3.1(a)Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;they might be a borrower, for example, so we put no constraint on the connection from Owns to Accounts. Here is the The E/R Diagram,showing underlined keys andthe numerocity constraint.Exercise 2.3.2(b)If R is many-one from E1 to E2, then two tuples (e1,e2) and (f1,f2) of the relationship set for R must be the same if they agree on the key attributes for E1. To see why, surely e1 and f1 are the same. Because R is many-one from E1 to E2, e2 and f2 must also be the same. Thus, the pairs are the same.Solutions for Section 2.4Exercise 2.4.1Here is the The E/R Diagram.We have omitted attributes other than our choice for the key attributes of Students and Courses. Also omitted are names for the relationships. Attribute grade is not part of the key for Enrollments. The key for Enrollements is studID from Students and dept and number from Courses.Exercise 2.4.4bHere is the The E/R Diagram Again, we have omitted relationship names and attributes other than our choice for the key attributes. The key for Leagues is its own name; this entity set is not weak. The key for Teams is its own name plus the name of the league of which the team is a part, e.g., (Rangers, MLB) or (Rangers, NHL). The key for Players consists of the player's number and the key for the team on which he or she plays. Since the latter key is itself a pair consisting of team and league names, the key for players is the triple (number, teamName, leagueName). e.g., JeffGarcia is (5, 49ers, NFL).Database Systems: The Complete BookSolutions for Chapter 3Solutions for Section 3.1Exercise 3.1.2(a)We can order the three tuples in any of 3! = 6 ways. Also, the columns can be ordered in any of 3! = 6 ways. Thus, the number of presentations is 6*6 = 36.Solutions for Section 3.2Exercise 3.2.1Customers(ssNo, name, address, phone)Flights(number, day, aircraft)Bookings(ssNo, number, day, row, seat)Being a weak entity set, Bookings' relation has the keys for Customers and Flights and Bookings' own attributes.Notice that the relations obtained from the toCust and toFlt relationships are unnecessary. They are:toCust(ssNo, ssNo1, number, day)toFlt(ssNo, number, day, number1, day1)That is, for toCust, the key of Customers is paired with the key for Bookings. Since both include ssNo, this attribute is repeated with two different names, ssNo and ssNo1. A similar situation exists for toFlt.Exercise 3.2.3Ships(name, yearLaunched)SisterOf(name, sisterName)Solutions for Section 3.3Exercise 3.3.1Since Courses is weak, its key is number and the name of its department. We do not have arelation for GivenBy. In part (a), there is a relation for Courses and a relation for LabCourses that has only the key and the computer-allocation attribute. It looks like:Depts(name, chair)Courses(number, deptName, room)LabCourses(number, deptName, allocation)For part (b), LabCourses gets all the attributes of Courses, as:Depts(name, chair)Courses(number, deptName, room)LabCourses(number, deptName, room, allocation)And for (c), Courses and LabCourses are combined, as:Depts(name, chair)Courses(number, deptName, room, allocation)Exercise 3.3.4(a)There is one relation for each entity set, so the number of relations is e. The relation for the root entity set has a attributes, while the other relations, which must include the key attributes, have a+k attributes.Solutions for Section 3.4Exercise 3.4.2Surely ID is a key by itself. However, we think that the attributes x, y, and z together form another key. The reason is that at no time can two molecules occupy the same point.Exercise 3.4.4The key attributes are indicated by capitalization in the schema below:Customers(SSNO, name, address, phone)Flights(NUMBER, DAY, aircraft)Bookings(SSNO, NUMBER, DAY, row, seat)Exercise 3.4.6(a)The superkeys are any subset that contains A1. Thus, there are 2^{n-1} such subsets, since each of the n-1 attributes A2 through An may independently be chosen in or out.Solutions for Section 3.5Exercise 3.5.1(a)We could try inference rules to deduce new dependencies until we are satisfied we have them all.A more systematic way is to consider the closures of all 15 nonempty sets of attributes.For the single attributes we have A+ = A, B+ = B, C+ = ACD, and D+ = AD. Thus, the only new dependency we get with a single attribute on the left is C->A.Now consider pairs of attributes:AB+ = ABCD, so we get new dependency AB->D. AC+ = ACD, and AC->D is nontrivial. AD+ = AD, so nothing new. BC+ = ABCD, so we get BC->A, and BC->D. BD+ = ABCD, giving usBD->A and BD->C. CD+ = ACD, giving CD->A.For the triples of attributes, ACD+ = ACD, but the closures of the other sets are each ABCD. Thus, we get new dependencies ABC->D, ABD->C, and BCD->A.Since ABCD+ = ABCD, we get no new dependencies.The collection of 11 new dependencies mentioned above is: C->A, AB->D, AC->D, BC->A, BC->D, BD->A, BD->C, CD->A, ABC->D, ABD->C, and BCD->A.Exercise 3.5.1(b)From the analysis of closures above, we find that AB, BC, and BD are keys. All other sets either do not have ABCD as the closure or contain one of these three sets.Exercise 3.5.1(c)The superkeys are all those that contain one of those three keys. That is, a superkey that is not a key must contain B and more than one of A, C, and D. Thus, the (proper) superkeys are ABC, ABD, BCD, and ABCD.Exercise 3.5.3(a)We must compute the closure of A1A2...AnC. Since A1A2...An->B is a dependency, surely B is in this set, proving A1A2...AnC->B.Exercise 3.5.4(a)Consider the relationThis relation satisfies A->B but does not satisfy B->A.Exercise 3.5.8(a)If all sets of attributes are closed, then there cannot be any nontrivial functional dependenc ies. For suppose A1A2...An->B is a nontrivial dependency. Then A1A2...An+ contains B and thus A1A2...An is not closed.Exercise 3.5.10(a)We need to compute the closures of all subsets of {ABC}, although there is no need to think about the empty set or the set of all three attributes. Here are the calculations for the remaining six sets: A+ = AB+ = BC+ = ACEAB+ = ABCDEAC+ = ACEBC+ = ABCDEWe ignore D and E, so a basis for the resulting functional dependencies for ABC are: C->A and AB->C. Note that BC->A is true, but follows logically from C->A, and therefore may be omitted from our list.Solutions for Section 3.6Exercise 3.6.1(a)In the solution to Exercise 3.5.1 we found that there are 14 nontrivial dependencies, including the three given ones and 11 derived dependencies. These are: C->A, C->D, D->A, AB->D, AB-> C, AC->D, BC->A, BC->D, BD->A, BD->C, CD->A, ABC->D, ABD->C, and BCD->A.We also learned that the three keys were AB, BC, and BD. Thus, any dependency above that does not have one of these pairs on the left is a BCNF violation. These are: C->A, C->D, D->A, AC->D, and CD->A.One choice is to decompose using C->D. That gives us ABC and CD as decomposed relations. CD is surely in BCNF, since any two-attribute relation is. ABC is not in BCNF, since AB and BC are its only keys, but C->A is a dependency that holds in ABCD and therefore holds in ABC. We must further decompose ABC into AC and BC. Thus, the three relations of the decomposition are AC, BC, and CD.Since all attributes are in at least one key of ABCD, that relation is already in 3NF, and no decomposition is necessary.Exercise 3.6.1(b)(Revised 1/19/02) The only key is AB. Thus, B->C and B->D are both BCNF violations. The derived FD's BD->C and BC->D are also BCNF violations. However, any other nontrivial, derived FD will have A and B on the left, and therefore will contain a key.One possible BCNF decomposition is AB and BCD. It is obtained starting with any of the four violations mentioned above. AB is the only key for AB, and B is the only key for BCD.Since there is only one key for ABCD, the 3NF violations are the same, and so is the decomposition.Solutions for Section 3.7Exercise 3.7.1Since A->->B, and all the tuples have the same value for attribute A, we can pair the B-value from any tuple with the value of the remaining attribute C from any other tuple. Thus, we know that R must have at least the nine tuples of the form (a,b,c), where b is any of b1, b2, or b3, and c is any of c1, c2, or c3. That is, we can derive, using the definition of a multivalued dependency, that each of the tuples (a,b1,c2), (a,b1,c3), (a,b2,c1), (a,b2,c3), (a,b3,c1), and (a,b3,c2) are also in R.Exercise 3.7.2(a)First, people have unique Social Security numbers and unique birthdates. Thus, we expect the functional dependencies ssNo->name and ssNo->birthdate hold. The same applies to children, so we expect childSSNo->childname and childSSNo->childBirthdate. Finally, an automobile has a unique brand, so we expect autoSerialNo->autoMake.There are two multivalued dependencies that do not follow from these functional dependencies. First, the information about one child of a person is independent of other information about that person. That is, if a person with social security number s has a tuple with cn,cs,cb, then if there isany other tuple t for the same person, there will also be another tuple that agrees with t except that it has cn,cs,cb in its components for the child name, Social Security number, and birthdate. That is the multivalued dependencyssNo->->childSSNo childName childBirthdateSimilarly, an automobile serial number and make are independent of any of the other attributes, so we expect the multivalued dependencyssNo->->autoSerialNo autoMakeThe dependencies are summarized below:ssNo -> name birthdatechildSSNo -> childName childBirthdateautoSerialNo -> autoMakessNo ->-> childSSNo childName childBirthdatessNo ->-> autoSerialNo autoMakeExercise 3.7.2(b)We suggest the relation schemas{ssNo, name, birthdate}{ssNo, childSSNo}{childSSNo, childName childBirthdate}{ssNo, autoSerialNo}{autoSerialNo, autoMake}An initial decomposition based on the two multivalued dependencies would give us {ssNo, name, birthDate}{ssNo, childSSNo, childName, childBirthdate}{ssNo, autoSerialNo, autoMake}Functional dependencies force us to decompose the second and third of these.Exercise 3.7.3(a)Since there are no functional dependencies, the only key is all four attributes, ABCD. Thus, each of the nontrvial multivalued dependencies A->->B and A->->C violate 4NF. We must separate out the attributes of these dependencies, first decomposing into AB and ACD, and then decomposing the latter into AC and AD because A->->C is still a 4NF violation for ACD. The final set of relations are AB, AC, and AD.Exercise 3.7.7(a)Let W be the set of attributes not in X, Y, or Z. Consider two tuples xyzw and xy'z'w' in the relation R in question. Because X ->-> Y, we can swap the y's, so xy'zw and xyz'w' are in R. Because X ->-> Z, we can take the pair of tuples xyzw and xyz'w' and swap Z's to get xyz'w and xyzw'. Similarly, we can take the pair xy'z'w' and xy'zw and swap Z's to get xy'zw' and xy'z'w.In conclusion, we started with tuples xyzw and xy'z'w' and showed that xyzw' and xy'z'w must also be in the relation. That is exactly the statement of the MVD X ->-> Y-union-Z. Note that the above statements all make sense even if there are attributes in common among X, Y, and Z.Exercise 3.7.8(a)Consider a relation R with schema ABCD and the instance with four tuples abcd, abcd', ab'c'd, and ab'c'd'. This instance satisfies the MVD A->-> BC. However, it does not satisfy A->-> B. For example, if it did satisfy A->-> B, then because the instance contains the tuples abcd and ab'c'd, we would expect it to contain abc'd and ab'cd, neither of which is in the instance.Database Systems: The Complete BookSolutions for Chapter 4Solutions for Section 4.2Exercise 4.2.1class Customer {attribute string name;attribute string addr;attribute string phone;attribute integer ssNo;relationship Set<Account> ownsAcctsinverse Account::ownedBy;}class Account {attribute integer number;attribute string type;attribute real balance;relationship Set<Customer> ownedByinverse Customer::ownsAccts}Exercise 4.2.4class Person {attribute string name;relationship Person motherOfinverse Person::childrenOfFemalerelationship Person fatherOfinverse Person::childrenOfMalerelationship Set<Person> childreninverse Person::parentsOfrelationship Set<Person> childrenOfFemaleinverse Person::motherOfrelationship Set<Person> childrenOfMaleinverse Person::fatherOfrelationship Set<Person> parentsOfinverse Person::children}Notice that there are six different relationships here. For example, the inverse of the relationship that connects a person to their (unique) mother is a relationship that connects a mother (i.e., a female person) to the set of her children. That relationship, which we call childrenOfFemale, is different from the children relationship, which connects anyone -- male or female -- to their children.Exercise 4.2.7A relationship R is its own inverse if and only if for every pair (a,b) in R, the pair (b,a) is also in R. In the terminology of set theory, the relation R is ``symmetric.''Solutions for Section 4.3Exercise 4.3.1We think that Social Security number should me the key for Customer, and account number should be the key for Account. Here is the ODL solution with key and extent declarations.class Customer(extent Customers key ssNo){attribute string name;attribute string addr;attribute string phone;attribute integer ssNo;relationship Set<Account> ownsAcctsinverse Account::ownedBy;}class Account(extent Accounts key number){attribute integer number;attribute string type;attribute real balance;relationship Set<Customer> ownedByinverse Customer::ownsAccts}Solutions for Section 4.4Exercise 4.4.1(a)Since the relationship between customers and accounts is many-many, we should create a separate relation from that relationship-pair.Customers(ssNo, name, address, phone)Accounts(number, type, balance)CustAcct(ssNo, number)Exercise 4.4.1(d)Ther is only one attribute, but three pairs of relationships from Person to itself. Since motherOf and fatherOf are many-one, we can store their inverses in the relation for Person. That is, for each person, childrenOfMale and childrenOfFemale will indicate that persons's father and mother. The children relationship is many-many, and requires its own relation. This relation actually turns out to be redundant, in the sense that its tuples can be deduced from the relationships stored with Person. The schema:Persons(name, childrenOfFemale, childrenOfMale)Parent-Child(parent, child)Exercise 4.4.4Y ou get a schema like:Studios(name, address, ownedMovie)Since name -> address is the only FD, the key is {name, ownedMovie}, and the FD has a left side that is not a superkey.Exercise 4.4.5(a,b,c)(a) Struct Card { string rank, string suit };(b) class Hand {attribute Set theHand;};For part (c) we have:Hands(handId, rank, suit)Notice that the class Hand has no key, so we need to create one: handID. Each hand has, in the relation Hands, one tuple for each card in the hand.Exercise 4.4.5(e)Struct PlayerHand { string Player, Hand theHand };class Deal {attribute Set theDeal;}Alternatively, PlayerHand can be defined directly within the declaration of attribute theDeal. Exercise 4.4.5(h)Since keys for Hand and Deal are lacking, a mechanical way to design the database schema is to have one relation connecting deals and player-hand pairs, and another to specify the contents of hands. That is:Deals(dealID, player, handID)Hands(handID, rank, suit)However, if we think about it, we can get rid of handID and connect the deal and the player directly to the player's cards, as:Deals(dealID, player, rank, suit)Exercise 4.4.5(i)First, card is really a pair consisting of a suit and a rank, so we need two attributes in a relation schema to represent cards. However, much more important is the fact that the proposed schema does not distinguish which card is in which hand. Thus, we need another attribute that indicates which hand within the deal a card belongs to, something like:Deals(dealID, handID, rank, suit)Exercise 4.4.6(c)Attribute b is really a bag of (f,g) pairs. Thus, associated with each a-value will be zero or more (f,g) pairs, each of which can occur several times. We shall use an attribute count to indicate the number of occurrences, although if relations allow duplicate tuples we could simply allow duplicate (a,f,g) triples in the relation. The proposed schema is:C(a, f, g, count)Solutions for Section 4.5Exercise 4.5.1(b)Studios(name, address, movies{(title, year, inColor, length,stars{(name, address, birthdate)})})Since the information about a star is repeated once for each of their movies, there is redundancy. To eliminate it, we have to use a separate relation for stars and use pointers from studios. That is: Stars(name, address, birthdate)Studios(name, address, movies{(title, year, inColor, length,stars{*Stars})})Since each movie is owned by one studio, the information about a movie appears in only one tuple of Studios, and there is no redundancy.Exercise 4.5.2Customers(name, address, phone, ssNo, accts{*Accounts})Accounts(number, type, balance, owners{*Customers})Solutions for Section 4.6Exercise 4.6.1(a)We need to add new nodes labeled George Lucas and Gary Kurtz. Then, from the node sw (which represents the movie Star Wars), we add arcs to these two new nodes, labeled direc tedBy and producedBy, respectively.Exercise 4.6.2Create nodes for each account and each customer. From each customer node is an arc to a node representing the attributes of the customer, e.g., an arc labeled name to the customer's name. Likewise, there is an arc from each account node to each attribute of that account, e.g., an arc labeled balance to the value of the balance.To represent ownership of accounts by customers, we place an arc labeled owns from each customer node to the node of each account that customer holds (possibly jointly). Also, we placean arc labeled ownedBy from each account node to the customer node for each owner of that account.Exercise 4.6.5In the semistructured model, nodes represent data elements, i.e., entities rather than entity sets. In the E/R model, nodes of all types represent schema elements, and the data is not represented at all. Solutions for Section 4.7Exercise 4.7.1(a)<STARS-MOVIES><STAR starId = "cf" starredIn = "sw, esb, rj"><NAME>Carrie Fisher</NAME><ADDRESS><STREET>123 Maple St.</STREET><CITY>Hollywood</CITY></ADDRESS><ADDRESS><STREET>5 Locust Ln.</STREET><CITY>Malibu</CITY></ADDRESS></STAR><STAR starId = "mh" starredIn = "sw, esb, rj"><NAME>Mark Hamill</NAME><ADDRESS><STREET>456 Oak Rd.<STREET><CITY>Brentwood</CITY></ADDRESS></STAR><STAR starId = "hf" starredIn = "sw, esb, rj, wit"><NAME>Harrison Ford</NAME><ADDRESS><STREET>whatever</STREET><CITY>whatever</CITY></ADDRESS></STAR><MOVIE movieId = "sw" starsOf = "cf, mh"><TITLE>Star Wars</TITLE><YEAR>1977</YEAR></MOVIE><MOVIE movieId = "esb" starsOf = "cf, mh"><TITLE>Empire Strikes Back</TITLE><YEAR>1980</YEAR></MOVIE><MOVIE movieId = "rj" starsOf = "cf, mh"><TITLE>Return of the Jedi</TITLE><YEAR>1983</YEAR></MOVIE><MOVIE movieID = "wit" starsOf = "hf"><TITLE>Witness</TITLE><YEAR>1985</YEAR></MOVIE></STARS-MOVIES>Exercise 4.7.2<!DOCTYPE Bank [<!ELEMENT BANK (CUSTOMER* ACCOUNT*)><!ELEMENT CUSTOMER (NAME, ADDRESS, PHONE, SSNO)> <!A TTLIST CUSTOMERcustId IDowns IDREFS><!ELEMENT NAME (#PCDA TA)><!ELEMENT ADDRESS (#PCDA TA)><!ELEMENT PHONE (#PCDA TA)><!ELEMENT SSNO (#PCDA TA)><!ELEMENT ACCOUNT (NUMBER, TYPE, BALANCE)><!A TTLIST ACCOUNTacctId IDownedBy IDREFS><!ELEMENT NUMBER (#PCDA TA)><!ELEMENT TYPE (#PCDA TA)><!ELEMENT BALANCE (#PCDA TA)>]>Database Systems: The CompleteBookSolutions for Chapter 5Solutions for Section 5.2Exercise 5.2.1(a)PI_model( SIGMA_{speed >= 1000} ) (PC)Exercise 5.2.1(f)The trick is to theta-join PC with itself on the condition that the hard disk sizes are equal. That gives us tuples that have two PC model numbers with the same value of hd. However, these two PC's could in fact be the same, so we must also require in the theta-join that the model numbers be unequal. Finally, we want the hard disk sizes, so we project onto hd.The expression is easiest to see if we write it using some temporary values. We start by renaming PC twice so we can talk about two occurrences of the same attributes.R1 = RHO_{PC1} (PC)R2 = RHO_{PC2} (PC)R3 = R1 JOIN_{PC1.hd = PC2.hd AND PC1.model <> PC2.model} R2R4 = PI_{PC1.hd} (R3)Exercise 5.2.1(h)First, we find R1, the model-speed pairs from both PC and Laptop. Then, we find from R1 those computers that are ``fast,'' at least 133Mh. At the same time, we join R1 with Product to connect model numbers to their manufacturers and we project out the speed to get R2. Then we join R2 with itself (after renaming) to find pairs of different models by the same maker. Finally, we get our answer, R5, by projecting onto one of the maker attributes. A sequence of steps giving the desired expression is: R1 = PI_{model,speed} (PC) UNION PI_{model,speed} (Laptop)R2 = PI_{maker,model} (SIGMA_{speed>=700} (R1) JOIN Product)R3 = RHO_{T(maker2, model2)} (R2)R4 = R2 JOIN_{maker = maker2 AND model <> model2} (R3)R5 = PI_{maker} (R4)Exercise 5.2.2Here are figures for the expression trees of Exercise 5.2.1 Part (a)Part (f)Part (h). Note that the third figure is not really a tree, since it uses a common subexpression. We could duplicate the nodes to make it a tree, but using common subexpressions is a valuable form of query optimization. One of the benefits one gets from constructing ``trees'' for queries is the ability to combine nodes that represent common subexpressions.Exercise 5.2.7The relation that results from the natural join has only one attribute from each pair of equated attributes. The theta-join has attributes for both, and their columns are identical.Exercise 5.2.9(a)If all the tuples of R and S are different, then the union has n+m tuples, and this number is the maximum possible.The minimum number of tuples that can appear in the result occurs if every tuple of one relation also appears in the other. Surely the union has at least as many tuples as the larger of R and that is, max(n,m) tuples. However, it is possible for every tuple of the smaller to appear in the other, so it is possible that there are as few as max(n,m) tuples in the union.Exercise 5.2.10In the following we use the name of a relation both as its instance (set of tuples) and as its schema (set of attributes). The context determines uniquely which is meant.PI_R(R JOIN S) Note, however, that this expression works only for sets; it does not preserve the multipicity of tuples in R. The next two expressions work for bags.R JOIN DELTA(PI_{R INTERSECT S}(S)) In this expression, each projection of a tuple from S onto the attributes that are also in R appears exactly once in the second argument of the join, so it preserves multiplicity of tuples in R, except for those thatdo not join with S, which disappear. The DELTA operator removes duplicates, as described in Section 5.4.R - [R - PI_R(R JOIN S)] Here, the strategy is to find the dangling tuples of R and remove them.Solutions for Section 5.3Exercise 5.3.1As a bag, the value is {700, 1500, 866, 866, 1000, 1300, 1400, 700, 1200, 750, 1100, 350, 733}. The order is unimportant, of course. The average is 959.As a set, the value is {700, 1500, 866, 1000, 1300, 1400, 1200, 750, 1100, 350, 733}, and the average is 967. H3>Exercise 5.3.4(a)As sets, an element x is in the left-side expression(R UNION S) UNION Tif and only if it is in at least one of R, S, and T. Likewise, it is in the right-side expressionR UNION (S UNION T)under exactly the same conditions. Thus, the two expressions have exactly the same members, and the sets are equal.As bags, an element x is in the left-side expression as many times as the sum of the number of times it is in R, S, and T. The same holds for the right side. Thus, as bags the expressions also have the same value.Exercise 5.3.4(h)As sets, element x is in the left sideR UNION (S INTERSECT T)if and only if x is either in R or in both S and T. Element x is in the right side(R UNION S) INTERSECT (R UNION T)if and only if it is in both R UNION S and R UNION T. If x is in R, then it is in both unions. If x is in both S and T, then it is in both union. However, if x is neither in R nor in both of S and T, then it cannot be in both unions. For example, suppose x is not in R and not in S. Then x is not in R UNION S. Thus, the statement of when x is in the right side is exactly the same as when it is in the left side: x is either in R or in both of S and T.Now, consider the expression for bags. Element x is in the left side the sum of the number of times it is in R plus the smaller of the number of times x is in S and the number of times x is in T. Likewise, the number of times x is in the right side is the smaller ofThe sum of the number of times x is in R and in S.The sum of the number of times x is in R and in T.A moment's reflection tells us that this minimum is the sum of the number of times x is in R plus the smaller of the number of times x is in S and in T, exactly as for the left side.Exercise 5.3.5(a)For sets, we observe that element x is in the left side(R INTERSECT S) - T。

数据库基础课后习题及答案

数据库基础课后习题及答案

数据库基础课后习题及答案数据库基础课后习题及答案数据库是计算机科学中非常重要的一个概念,它用于存储和管理大量的数据。

在数据库基础课程中,学生通常需要完成一些习题来巩固所学的知识。

本文将介绍一些常见的数据库基础课后习题,并提供相应的答案。

一、选择题1. 数据库是指什么?A. 存储和管理数据的软件系统B. 存储和管理硬件设备的软件系统C. 存储和管理网络的软件系统D. 存储和管理操作系统的软件系统答案:A2. 数据库管理系统(DBMS)的主要功能是什么?A. 存储和管理数据B. 分析和处理数据C. 网络和通信D. 操作系统管理答案:A3. 下列哪个不属于数据库的特点?A. 数据共享B. 数据冗余C. 数据独立性D. 数据一致性答案:B4. 数据库中的数据是以什么形式存储的?A. 文件B. 表格C. 文本D. 图像答案:B5. 数据库中的主键是什么?A. 唯一标识一个记录的属性B. 存储在数据库中的所有数据C. 数据库中的表格D. 数据库中的索引答案:A二、填空题1. 数据库中的关系是指什么?关系是指数据之间的联系和关联。

2. 数据库中的SQL是什么意思?SQL是结构化查询语言(Structured Query Language)的缩写。

3. 数据库中的DDL是什么意思?DDL是数据定义语言(Data Definition Language)的缩写。

4. 数据库中的DML是什么意思?DML是数据操作语言(Data Manipulation Language)的缩写。

5. 数据库中的索引有什么作用?索引可以提高数据库的查询效率,加快数据检索的速度。

三、简答题1. 数据库的三级模式是什么?数据库的三级模式包括外模式、概念模式和内模式。

外模式是用户对数据库的直接接口,概念模式是数据库的全局逻辑结构,内模式是数据库在物理存储上的表示。

2. 数据库的ACID是什么意思?ACID是数据库事务的四个特性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

数据库课后答案

数据库课后答案

第1章思考与实践1.选择题(1) 从数据库的整体结构看,数据库系统采用的数据模型有(C )。

A.网状模型、链状模型和层次模型 B.层次模型、网状模型和环状模型C.层次模型、网状模型和关系模型 D.链状模型、关系模型和层次模型(2) 数据库系统的构成为:数据库、计算机系统、用户和( D )。

A.操作系统 B.文件系统 C.数据集合 D.数据库管理系统(3) 用二维表形式表示的数据模型是( B )。

A.层次模型 B.关系模型 C.网状模型 D.网络模型(4) 关系数据库管理系统的3种基本关系运算不包括( A )。

A.比较 B.选择 C.连接 D.投影(5) 数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是( B )。

A.DBMS包括DB和DBS B.DBS包括DB和DBMSC.DB包括DBS和DBMS D.DB、DBS和DBMS是平等关系(6) 在关系理论中,把二维表表头中的栏目称为( D )。

A.数据项 B.元组 C.结构名 D.属性名(7) 下面有关关系数据库主要特点的叙述中,错误的是( D )。

A.关系中每个属性必须是不可分割的数据单元B.关系中每一列元素必须是类型相同的元素C.同一关系中不能有相同的字段,也不能有相同的记录D.关系的行、列次序不能任意交换,否则会影响其信息内容(8) 以一定的组织方式存储在计算机存储设备上,能为多个用户所共享的与应用程序彼此独立的相关数据的集合称为( A )。

A.数据库 B.数据库系统 C.数据库管理系统 D.数据结构(9) 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( B )。

A.m∶n B.1∶m C.m∶k D.1∶1(10) 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过( B )。

A.候选键 B.主键 C.外键 D.超键2.填空题(1) 关系数据库中每个关系的形式是(主外键引用0020 )。

《数据库系统概论》课后习题及参考答案

《数据库系统概论》课后习题及参考答案

课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材41页)1.试述数据、数据库、数据库系统、数据库管理系统得概念。

数据:描述事物得符号记录称为数据。

数据得种类有文字、图形、图象、声音、正文等等。

数据与其语义就是不可分得。

数据库:数据库就是长期储存在计算机内、有组织得、可共享得数据集合。

数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。

数据库系统:数据库系统( DBS)就是指在计算机系统中引入数据库后得系统构成.数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库管理系统:数据库管理系统 (DBMS)就是位于用户与操作系统之间得一层数据管理软件.用于科学地组织与存储数据、高效地获取与维护数据.DBMS主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能.2.使用数据库系统有什么好处?使用数据库系统得好处就是由数据库管理系统得特点或优点决定得.使用数据库系统得好处很多,例如可以大大提高应用开发得效率,方便用户得使用,减轻数据库系统管理人员维护得负担等。

为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发得效率。

因为在数据库系统中应用程序不必考虑数据得定义、存储与数据存取得具体路径,这些工作都由DBMS来完成。

此外,当应用逻辑改变,数据得逻辑结构需要改变时,由于数据库系统提供了数据与程序之间得独立性。

数据逻辑结构得改变就是DBA得责任,开发人员不必修改应用程序,或者只需要修改很少得应用程序。

从而既简化了应用程序得编制,又大大减少了应用程序得维护与修改。

使用数据库系统可以减轻数据库系统管理人员维护系统得负担.因为 DBMS在数据库建立、运用与维护时对数据库进行统一得管理与控制,包括数据得完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。

数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。

P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。

数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。

数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。

数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。

2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。

数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。

P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。

两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。

4.请简述关系模型与网状模型、层次模型的区别。

P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。

P48答:关系数据库的基本特征是使用关系数据模型组织数据。

2.请简述什么是参照完整性约束。

P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。

3.请简述关系规范化过程。

数据库课后习题(第一至四章)

数据库课后习题(第一至四章)

第一章1.1 名词解释(1) DB:即数据库(Database),是统一管理的相关数据的集合。

DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。

(2) DBMS:即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

(3) DBS:即数据库系统(Database System),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

(4) 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。

(5) 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。

(6) M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。

(7) 数据模型:模型是对现实世界的抽象。

在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。

它可分为两种类型:概念数据模型和结构数据模型。

(8) 概念数据模型:是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。

(9) 结构数据模型:是直接面向数据库的逻辑结构,是现实世界的第二层抽象。

这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。

结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。

数据库课后习题参考答案与解析

数据库课后习题参考答案与解析

第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。

下列不属于数据库系统组成部分的是B A.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。

数据库课后习题参考答案汇总

数据库课后习题参考答案汇总

第1章数据概述一.选择题1.以下关于数据库管理系统的说法,错误的选项是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.以下关于用文件管理数据的说法,错误的选项是DA.用文件管理数据,难以提供给用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的平安控制D.将相关的数据存储在一个文件中,有利于用户对数据进展分类,因此也可以加快用户操作数据的效率3.以下说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丧失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储构造的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储构造D.不会因为数据逻辑构造的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由假设干局部组成的。

以下不属于数据库系统组成局部的是B A.数据库B.操作系统C.应用程序D.数据库管理系统9.以下关于客户/效劳器构造和文件效劳器构造的描述,错误的选项是D A.客户/效劳器构造将数据库存储在效劳器端,文件效劳器构造将数据存储在客户端B.客户/效劳器构造返回给客户端的是处理后的结果数据,文件效劳器构造返回给客户端的是包含客户所需数据的文件C.客户/效劳器构造比文件效劳器构造的网络开销小D.客户/效劳器构造可以提供数据共享功能,而用文件效劳器构造存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有平安控制机制,能够保证数据的平安、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。

第七章数据库基础习题及参考答案

第七章数据库基础习题及参考答案

第七章数据库基础一、选择题1.在数据库管理技术发展中,数据独立性最高的是(C)。

A.人工管理B.文件管理C.数据库管理D.数据模型2.数据库系统的核心是(B)。

A.数据库B.数据库管理系统C.模拟模型D.软件工程3.用二维表来表示实体与实体之间联系的模型是(C)。

A.层次B.网状C.关系D.面向对象4.关系表中每一行称为一个(A)。

A.元组B.字段C.域D.属性5.在数据库中能唯一地标识一个元组的属性或属性的组合称为(D)。

A.记录B.字段C.域D.关键字6.在关系模型中域是指(D)。

A.记录B.字段C.属性D.属性的取值范围7.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#是R的(C)。

A.候选关键字B.主关键字C.外部关键字D.超键8.一门课可以由多个学生选修,一个学生可以选修多门课程,则学生与课程之间的关系是(C)。

A.一对一B.一对多C.多对多D.多对一9.用树形结构来表示实体之间联系的模型称为(A)。

A.层次B.网状C.关系D.面向对象10. 关系模式中,指定若干属性组成的新的关系称为(A)。

A.投影B、选择C、关系D、自然连接11.在Access中不能建立索引的数据类型是(C )。

A.文本B.数字C.备注D.日期时间12.用于存放基本数据的对象是(A )。

A.表B.查询C.窗体D.报表13.下面不是Access数据库的对象是(D)。

A.表B.查询C.模块D.字段14.Access 2010中,设置为主键的字段(D)。

A.不能设置索引B.可设置为“有(有重复)”索引C.可设置为“无”索引D.系统自动设置索引15.数据库中有A 、B两个表,具有相同的字段C,在两个表中C字段都设为主键,则通过C字段建立两表的关系时,该关系为(A )。

A.一对一B.一对多C.多对多D.多对一16.在Access 2010 中,如果不想显示数据表中的某些字段,可以使用的命令是( A )。

数据库系统的基本原理》练习题及答案

数据库系统的基本原理》练习题及答案

数据库系统的基本原理》练习题及答案1.数据模型通常由( D )三要素构成。

D.数据结构、数据操纵、数据的完整性约束2.在数据库方式下,信息处理中占据中心位置的是( C )。

C.数据3.在DBS中,逻辑数据与物理数据之间可以差别很大,实现两者之间转换工作的是(C )。

C. DBMS4.DB的三级模式结构是对( B )抽象的3个级别。

B.数据5.DB的三级模式结构中最接近外部存储器的是( D )。

D.内模式6. DBS具有“数据独立性”特点的原因是在 DBS中(B )。

B.采用三级模式结构7.在 DBS 中,“数据独立性”和“数据联系”这两个概念之间的联系是(A )。

A.没有必然的联系8.数据独立性是指( B)。

B.应用程序与DB的结构之间相互独立9.用户使用DMI语句对数据进行操作,实际上操作的是(C )。

C.外模式的外部记录10.对DB中数据的操作分为两大类:( A )。

A.查询和更新11.数据库是存储在一起的相关数据的集合,能为各种用户共享,且(B )。

B.降低了数据的冗余度12.数据库管理系统是( C )。

C.位于用户与操作系统之间的一层数据管理软件13. DBS体系结构按照ANSI/SPARC报告分为( ① A);在 DBS 中,DBMS的首要目标是提高(○2 B),对于DBS,负责定义DB结构以及安全授权等工作的是( ○3 C),① A.外模式、概念模式和内模式○2 B.应用程序员的软件生产效率○3 C.数据库管理员14.DBS由DB、( ① E)和硬件等组成,DBS是在(② B)的基础上发展起来的。

○1○2 B.文件系统15.DBS的数据独立性是指(① B); DBMS的功能之一是(○2 C );DBA的职责之一是(○3 B). ○1 B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序○2○3 A.编制与数据库有关的应用程序B.规定存取权C.查询优化16.CAP理论是NoSQL理论的基础,下列性质不属于CAP的是( B)。

数据库试题及课后答案

数据库试题及课后答案

数据库系统概论习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和(C)。

A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。

A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。

I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是(C )。

A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在(B)。

A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是(A )。

A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是(C)。

A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是(A )。

A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。

A.模式B. 物理模式C. 子模式D. 内模式10.下述(D )不是DBA数据库管理员的职责。

A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D课后习题第二章关系数据库一、选择题1. 下面的选项不是关系数据库基本特征的是(A )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库系统基础》课后练习题数据库系统基础课后练习题哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言1.分别用关系代数、元组演算、SQL语句完成CAP数据库的查询。

CAP数据库有四个关系(表):Customers(cid, cname, city, discnt), 客户定义表,描述了客户的唯一标识cid,客户名称cname,客户所在的城市city,以及该客户购买产品时所可能给予的折扣discntAgents(aid, aname, city, percent), 代理商定义表,描述了代理商的唯一标识aid, 代理商名称aname, 代理商所在的城市city,以及该代理商销售产品时所可能给予的佣金/提成percent(以百分比形式表达)哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(1) 找出订单总价大于或者等于$1000的(ordno, pid)对哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(2) 找出所有价格在$0.50和$1.00之间的商品名字,包括边界价格哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(3) 找出订单价格低于$500的(ordno, cname)对,使用一次连接哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(4) 找出所有三月份接受的订单的(ordno, aname)对,使用一次连接哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(5) 找出所有三月份接受的订单的(ordno, cname, aname)三元组,使用两次连接哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(6) 找出所有位于New York的代理商,并且要求这些代理商所接受的单个订单价格少于$500哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(7) 找出所有三月份定购的(位于)Duluth的商品的名字哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(8) 找出所有顾客、代理商和商品都在同一个城市的三元组(cid, aid, pid),本题不涉及订单信息哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(9) 找出所有顾客、代理商和商品不都在同一个城市(可能有两个在同一城市)的三元组(cid, aid, pid)哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(10) 找出所有顾客、代理商和商品两两不在同一个城市的三元组(cid, aid, pid)哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(11) 找出接受顾客c002订单的代理商所在的城市哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(12) 取出至少被一个在Dallas的顾客通过位于Tokyo的代理商定购的商品的名字哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(13) 取出曾经收到Kyoto的顾客订单的代理商所销售的所有的商品的pid值。

注意,本题和要求取出所有曾经被Kyoto的顾客定购的商品不同哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(14) 列出所有在同一个城市的代理商的aid对哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(15) 列出没有通过代理商a03定购过商品的顾客的cid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(16) 找出折扣率最大和最小的顾客的cid值,注意:用关系代数提供的运算来表示本题比较困难.下面是求最大的表达式哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(17) 找出定购了所有商品的顾客的cid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(18) 找出通过代理商a03而不通过代理商a06定购的商品的pid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(19) 取出商品的pname和pid值,要求这些商品所在的城市和某个销售过该商品的代理商所在的城市相同哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(20) 取出名字是以N开头的代理商的aid和aname值,并且这些代理没有销售过任何Newark生产的商品哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(21) 取出同时定购了商品p01和p07的顾客的cid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(22) 取出销售过所有曾被顾客c002定购过的商品的代理商的名字哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(23) 取出销售过所有曾被某些顾客定购过的商品的代理商的名字哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(24) 取出所有的三元组(cid, aid, pid),要求对应的顾客,代理商和商品中至少有两者是位于同一座城市。

[本题的要求与8) 9) 10)相同吗?]哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(25) 取出所有曾在代理商a03处定购商品的顾客定购过的商品的pid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(26) 取出接受过Kyoto的顾客一笔总额超过$500的订单的代理商的aid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(27) 给出所有的(cname, aname)对,要求对应的顾客曾经在对应的代理商处定购过商品哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(28) 取出只从一家代理商定购过商品的顾客的cid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(29) 为每个有订货记录的代理商列出他所订购的每样产品的pid值以及所有通过该代理商订购该产品的顾客们所定购的总量[仅用SQL语句]哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(30) 求出没有为任何住在Duluth的顾客订购任何在Dallas生产的产品的代理商aid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(31) 求出为住在Duluth或Kyoto的所有顾客订购了至少一样公共产品的代理商的aid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(31) 求出为住在Duluth或Kyoto的所有顾客订购了至少一样公共产品的代理商的aid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(32) 求出只通过代理商a03或a05订货的顾客的cid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(33) 求出被所有住在Dallas的顾客都订购了的产品的pid值哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(34) 找出拥有最高Percent的代理商哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(35) 检索订购了至少一样产品但所有产品都只通过代理商a04来订购的顾客的cid值,另外该查询还应在每个cid值所在的同一行上列出每个顾客的总订货金额[仅用SQL语句]哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(36) 求出为住在Duluth的所有顾客订货的代理商的aid和percent值,并按percent值从大到小的顺序排列结果中的aid值[仅用SQL语句]哈尔滨工业大学计算机科学与技术学院《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言(37) 查询满足下列条件的产品的pid值:该产品至少被一个顾客订购,每个顾客与为他订购该产品的代理商住在同一城市哈尔滨工业大学计算机科学与技术学院。

相关文档
最新文档