数据库系统概念题目及答案

合集下载

数据库概论第章习题参考答案

数据库概论第章习题参考答案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据库系统概论试题及答案7

数据库系统概论试题及答案7

试题七一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个是符合题目要 求的,错选、多选或未选均无分.1。

在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这是( )人员的职责 A .数据库管理员 B .系统分析员 C .数据库设计员 D .应用程序员2. 在数据库三级模式中,模式的个数( )A .只有一个B .可以有任意多个C .与用户个数相同D .由设置的系统参数决定3。

在关系数据库系统中,当关系的类型改变时,用户程序也可以不变。

这是( )A .数据的物理独立性B .数据的逻辑独立性C .数据的位置独立性D .数据的存储独立性4. 设关系R 和S 具有相同的目,且它们相对应的属性的值取自同一个域,则R-(R-S)等于( ) A .R ∪S B .R ∩S C .R ×S D .R ÷S5. 在关系代数中,从两个关系的笛卡尔积中选取它们属性间满足一定条件的元组的操作,称为( ) A .并 B .选择 C .自然连接 D .θ连接试题(6)~(8)基于“学生—选课—课程”数据库中的三个关系是:S(S #,SNAME ,SEX ,AGE),SC(S#,C #,GRADE ),C (C #,CNAME,TEACHER)6. 若要求查找“由张劲老师执教的数据库课程的平均成绩、最高成绩和最低成绩”,将使用关系( )。

A .S 和SC B .SC 和C C .S 和C D .S 、SC 和C7. 若要求查找‘李'姓学生的学生号和姓名,正确的SQL 语句是( ).A 。

SELECT S#,SNAME FROM S WHERE SNAME='李%'(考 生 答 题 不 得 超 过 此 线)B.SELECT S#,SNAME FROM S WHERE SNAME LIKE ’李%’C. SELECT S#,SNAME FROM S WHERE SNAME='%李%’D。

数据库系统概论(第四版)习题和答案

数据库系统概论(第四版)习题和答案

说明:高等教育出版社的《数据库系统概论》第4版,简称《概论》;机械工业出版社的《数据库系统概念》第5版,简称《概念》。

1.试论述数据库系统主要动机、构成及DBMS主要功能特性。

说明数据库系统与文件系统的主要区别。

答:数据库设计的动机:数据库设计的目的是为了管理大量信息。

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

DBMS主要功能:•数据库定义功能:DBMS提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及基相互之间的映象,定义数据的完整性、安全控制等约束。

因此,在DBMS中应包括DDL的编译程序。

•数据库的操纵功能:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。

基本的数据操作分成两类四种:检索(查询)、更新(插入、删除、修改)•数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事。

•数据库的存储管理:把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。

•数据库的维护功能:它有许多实用程序提供给数据库管理员:数据装载程序、备份程序、文件重组织程序、性能监控程序•数据字典:数据库系统中存放三级结构定义的数据库称为数据字典(DD)。

对数据库的操作都要通过访问DD才能实现,通常DD中还存放数据库运行时的统计信息。

文件系统和数据库系统主要区别:•在文件系统中,相互独立的文件的记录内部是有结构的,但记录之间没有联系。

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

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

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

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

数据库系统原理相关习题及答案

数据库系统原理相关习题及答案

相关习题及答案.doc第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。

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

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

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

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

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

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

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

◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。

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

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

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

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

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

它主要有:层次、网状、关系三种模型。

数据库系统概念答案(第五版)

数据库系统概念答案(第五版)

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章数据库系统概论习题及解答

第1章数据库系统概论习题及解答

第 1 章数据库系统概论1.1复习纲要本章介绍的主要内容:·数据管理技术的发展·数据模型·数据库系统结构1.1.1 数据管理技术的发展从20世纪50年代中期开始,数据管理技术大致经历了三个发展阶段:人工管理阶段、文件系统管理阶段和数据库系统管理阶段。

1. 人工管理阶段20世纪50年代中期以前,计算机主要从事计算工作,计算机处理的数据由程序员考虑与安排。

这一阶段的主要特点是:数据不长期保存;数据与程序不具有独立性;系统中没有对数据进行管理的软件。

2. 文件系统管理阶段20世纪50年代后期到60年代中后期,计算机系统中由文件系统管理数据。

其主要特点:数据以文件的形式可长期存储在磁盘上,供相应的程序多次存取;数据文件可脱离程序而独立存在,使得数据与程序之间具有设备独立性。

如果数据文件结构发生变化时,则对应的操作程序必须修改。

即文件系统管理文件缺乏数据独立性,并且数据冗余度大。

数据之间联系弱,无法实施数据统一管理标准。

这些都是文件系统管理的主要缺陷。

3.数据库系统管理阶段70年代初开始,计算机采用数据库管理系统管理大量数据,使计算机广泛应用于数据处理。

数据库系统管理数据的主要特点:·采用数据模型组织和管理数据,不仅有效地描述了数据本身的特性,而且描述了之间的联系。

·具有较高的数据独立性。

即数据格式、大小等发生了改变,使得应用程序不受影响。

·数据共享程度更高,冗余度比较小。

·由DBMS软件提供了对数据统一控制功能,如安全性控制、完整性控制、并发控制和恢复功能。

·由DBMS软件提供了用户方便使用的接口。

数据库系统管理数据是目前计算机管理数据的高级阶段,数据库技术已成为计算机领域中最重要的技术之一。

1.1.2 数据模型数据模型是构建数据库结构的基础,在构建时要经历从概念模型设计到DB逻辑模型和物理模型转换过程。

因此,数据模型可分为两类共4种,两类为概念模型和结构模型,其中结构模型又分为外部模型、逻辑模型和内部模型三种。

数据库系统概论练习题库及参考答案

数据库系统概论练习题库及参考答案

数据库系统概论练习题库及参考答案一、单选题(共80题,每题1分,共80分)1、下列不属于数据库系统特点的是( )A、数据独立性高B、数据冗余度高C、数据完整性D、数据共享正确答案:C2、把表和索引分开放在不同的磁盘上以提高性能是哪个阶段考虑的事项()A、需求分析B、数据库实施C、数据库物理设计D、数据库运行与维护正确答案:C3、下列关于数据模型中实体间联系的描述正确的是()。

A、单个实体不能构成E-R图B、仅在两个实体之间有联系C、实体间的联系不能有属性D、实体间可以存在多种联系正确答案:D4、同一个关系的任两个元组值( )。

A、其他三个答案均不正确B、必须完全相同C、不能完全相同D、可以完全相同正确答案:C5、下列模型中,广泛采用E-R模型设计方法的是()。

A、逻辑模型B、概念模型C、物理模型D、外模型正确答案:B6、在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。

A、WHEREB、SELECTC、FROMD、SET正确答案:B7、下列关系代数操作中,哪些运算要求两个运算对象其属性结构完全相同()。

A、自然连接、除法B、并、交、差C、投影、选择D、笛卡尔积、连接正确答案:B8、设有三个域D1={A,B}、D2={C,D,E}、D3={F,G},则其笛卡尔积D1×D2×D3的基数为( )。

A、3B、7C、5D、12正确答案:D9、当前数据库应用系统的主流数据模型是()。

A、面向对象数据模型B、网状数据模型C、关系数据模型D、层次数据模型正确答案:C10、关于“死锁”,下列说法中正确的是()。

A、当两个用户竞争相同资源时不会发生死锁B、只有出现并发操作时,才有可能出现死锁C、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库D、死锁是操作系统中的问题,数据库操作中不存在正确答案:B11、在关系模式R中,函数依赖X→Y的语义是()。

A、在R的每一关系中,若两个元组的X值相等,则Y值也相等B、在R的某一关系中,Y值应与X值相等C、在R的某一关系中,若两个元组的X值相等,则Y值也相等D、在R的每一关系中,Y值应与X值相等正确答案:A12、从E-R图导出关系模式时,如果两实体间的联系是m:n;下列说法中正确的是()A、将n方码和联系的属性纳入m方的属性中B、增加一个关系表示联系,其中纳入m方和n方的码C、在m方属性和n方属性中均增加一个表示级别的属性D、将m方码和联系的属性纳入n方的属性中正确答案:B13、对于关系模式S-L(Sno,Sdept,Sloc),S-L中有下列函数依赖:Sno→Sdept,Sdept→Sloc ,SnoSloc,将S-L分解为下面三个关系模式:SN(Sno),SD(Sdept),SO(Sloc),这种分解是()。

数据库系统概论试题及答案

数据库系统概论试题及答案

数据库系统概论试题及答案一、选择题(每题4分,共40分)1. 数据库管理系统(DBMS)是一种()A. 数据库B. 数据库系统C. 数据库应用系统D. 系统软件答案:D2. 下列关于数据库的说法中,错误的是()A. 数据库是长期存储在计算机内的、有组织的、可共享的数据集合B. 数据库具有数据冗余度小的特点C. 数据库独立性是指数据的逻辑结构、存储结构与物理结构之间相互独立D. 数据库系统的数据管理能力较弱答案:D3. 数据模型的三要素是()A. 数据结构、数据操作、数据约束B. 数据结构、数据操作、数据存储C. 数据结构、数据操作、数据安全性D. 数据结构、数据操作、数据完整性答案:A4. 下列关于关系型数据库的说法中,正确的是()A. 关系型数据库由表、视图和索引组成B. 关系型数据库不支持多表联合查询C. 关系型数据库的数据操作语言是SQLD. 关系型数据库不支持事务处理答案:C5. 下列关于SQL语言的描述,错误的是()A. SQL是结构化查询语言B. SQL是关系型数据库的标准查询语言C. SQL包含数据定义、数据操作、数据控制等功能D. SQL是一种面向过程的编程语言答案:D6. 下列哪个不是SQL的数据定义功能()A. 创建表B. 修改表结构C. 删除表D. 查询表数据答案:D7. 在数据库设计中,不属于E-R图的基本元素是()A. 实体B. 属性C. 关系D. 表答案:D8. 数据库的完整性是指()A. 数据的正确性B. 数据的独立性C. 数据的安全性D. 数据的一致性答案:A9. 数据库事务的四个特性是()A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、并发性、持久性C. 原子性、一致性、独立性、持久性D. 原子性、一致性、安全性、持久性答案:A10. 数据库系统中的存储结构是指()A. 数据库的数据模型B. 数据库的物理结构C. 数据库的逻辑结构D. 数据库的数据字典答案:B二、填空题(每题4分,共40分)1. 数据库管理系统(DBMS)实现对数据的______、______、______和______等功能。

数据库系统概论试题及答案 3

数据库系统概论试题及答案    3

必须先对其加S锁,直到事务结束才释放。三级封锁协议不 仅解决了“丢失修改”、读“脏”数据问题,而且进一步解决 了“不可重复读”问题。
得 分
阅 卷 人
复 查 人
四、设计题
(第1题4分,第2、3、4题各8分,共28分)
1. 设有学生选课关系SC(学号,课程号,成绩),试用SQL语句检 索每门课程的最高分。 SELECT 课程号,MAX(成绩) FROM SC GROUP BY 课程号
和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行 () A. 全外联接 B. 左外联接 C. 右外联接 D. 自然联接
9. 用下面的T-SQL语句建立一个基本表: CREATE TABLE Student(Sno CHAR (4) NOT NULL, Sname CHAR (8) NOT NULL, Sex CHAR (2), Age SMALLINT) 可以插入到表中的元组是( ) A. '5021','刘祥',男,21 B.NULL,'刘祥',NULL,21 C. '5021',NULL,男,21 D. '5021','刘祥',NULL,NULL
11. 图1中( )是关系完备的系统
A
B
C
D
图1
12. 给定关系模式SCP(Sno,Cno,P),其中Sno表示学号,Cno表示
课程号,P表示名次。若每一名学生每门课程有一定的名次,每门课
程每一名次只有一名学生,则以下叙述中错误的是( )
A.(Sno,Cno)和(Cno,P)都可以作为候选码。
B.(Sno,Cno)是唯一的候选码。
R是1NF。侯选码为WX,则Y,Z为非主属性,又由于X→Z,因 此F中存在非主属性对侯选码的部分函数依赖。

数据库系统试题及答案

数据库系统试题及答案

数据库系统试题及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据操纵C. 数据传输D. 数据控制答案:C2. 关系型数据库中,关系是指什么?A. 数据库B. 表C. 字段D. 记录答案:B3. 在关系型数据库中,以下哪个概念用于表示表之间的关系?A. 索引B. 视图C. 外键D. 约束答案:C4. SQL语言中的SELECT语句用于执行哪种操作?A. 插入数据B. 删除数据C. 查询数据D. 更新数据答案:C5. 在数据库设计中,规范化的主要目的是?A. 提高查询速度B. 减少存储空间C. 减少数据冗余D. 增加数据安全性答案:C6. 数据库系统中,事务的ACID属性不包括以下哪一项?A. 原子性B. 一致性C. 隔离性D. 持久性答案:D7. 数据库的并发控制主要解决什么问题?A. 数据丢失B. 数据冗余C. 数据不一致D. 数据安全性答案:C8. 在数据库中,索引用于提高哪种操作的效率?A. 插入B. 删除C. 查询D. 更新答案:C9. 数据库的备份和恢复机制主要用于解决什么问题?A. 数据丢失B. 数据冗余C. 数据不一致D. 数据安全性答案:A10. 在数据库系统中,死锁是指什么?A. 数据丢失B. 数据冗余C. 两个或多个事务相互等待对方释放资源D. 数据不一致答案:C二、填空题(每题2分,共20分)1. 数据库系统的核心是________。

答案:数据库管理系统(DBMS)2. 在关系型数据库中,一个表由________和________组成。

答案:行和列3. 数据库的三级模式包括外模式、概念模式和________。

答案:内模式4. SQL语言可以分为数据定义语言(DDL)、数据操纵语言(DML)和________。

答案:数据控制语言(DCL)5. 在数据库设计中,第一范式(1NF)要求表中的每一列都是________。

数据库系统概论试题和答案及填空题

数据库系统概论试题和答案及填空题

数据库系统概论试卷(A)一、选择题(15x1分)1、__C___是长期存储在计算机内的有组织,可共享的数据集合.A、数据库管理系统B、数据库系统C、数据库D、文件组织2、在数据库中存储的是__C___。

A、数据B、数据模型C、数据以及数据之间的联系D、信息3、数据库系统阶段,数据___D__。

A、具有物理独立性,没有逻辑独立性B、具有物理独立性和逻辑独立性C、独立性差D、具有高度的物理独立性和一定程度的逻辑独立性4、在数据模型的三要素中,数据的约束条件规定数据及其联系的__A___。

A、制约和存储规则B、动态特性C、静态特性D、数据结构5.___A_____由数据结构、关系操作集合和完整性约束三部分组成。

A、关系模型B、关系C、关系模式D、关系数据库6、一组具有相同数据类型的值的集合称为____D____。

A、关系B、属性C、分量D、域7、集合R与S的交可以用关系代数的5种基本运算表示为____A____。

A、 R-(R-S)B、σF(R×S)C、R-(S-R)D、S-(R-S)8、实体是信息世界中的术语,与之对应的数据库术语为___D____。

A、文件B、数据库C、字段D、记录9、在嵌入式SQL语言中使用游标的目的在于____D____。

A、区分SQL与宿主语言B、与数据库通信C、处理错误信息D、处理多行记录10、FoxBASE、FoxPro属于____B____。

A、表式系统B、最小关系系统C、关系完备的系统D、全关系系统11、在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都没有X'→Y,则____A____。

A、Y函数依赖于XB、Y对X完全函数依赖C、X为U的候选码D、R属于2NF12、3NF___C_____规范为BCNF。

A、消除非主属性对码的部分函数依赖B、消除非主属性对码的传递函数依赖C、消除主属性对码的部分和传递函数依赖D、消除非平凡且非函数依赖的多值依赖13、下面的结论不正确的是___D___。

数据库 第1章_习题参考答案

数据库 第1章_习题参考答案

习题参考答案1.解释数据、数据库、数据库管理系统、数据库系统等概念。

答:数据是描述事物的符号记录,数据的种类是很多的,包括数字、文字、图形、图像、音频、视频等。

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

数据库管理系统:数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

它具有强大的数据定义、数据组织、数据存储、数据操纵和运行维护等功能,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

数据库系统:数据库系统是为适应实际数据处理的需要而发展起来的一种较为理想的数据处理系统,通常由软件、数据库和数据库管理员组成。

2.数据管理经历了哪几个阶段,各有什么特点?答:数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。

人工管理阶段的特点是:数据不保存;数据由程序管理;数据不共享;数据没有独立性。

文件系统阶段的特点是:数据长期保存;数据由文件系统管理;数据共享性差,冗余度大,一致性差;数据的独立性差。

数据库系统阶段的特点是:数据整体结构化;数据共享性高,冗余度低;数据独立性高;数据由DBMS统一管理和控制。

3.什么是数据模型?数据模型包含哪些要素?答:数据模型(Data Model)是对现实世界数据的模拟和抽象,是用来描述数据、组织数据、操作数据以及约束数据的。

数据模型是数据库系统的核心和基础。

数据模型由数据结构、数据操作和完整性约束三部分组成。

4.什么是概念模型,逻辑模型和物理模型?它们之间具有怎样的关系?答:概念模型也称信息模型,它是按照用户的观点和认识对现实世界的数据进行建模。

概念模型是对现实世界数据的第一步抽象,同具体的DBMS无关。

逻辑模型是按照计算机系统的观点来对数据建模,是数据抽象的中间层,用于描述数据库的整体逻辑结构。

逻辑模型同具体的DBMS密切相关。

物理模型是对数据的最底层抽象,主要描述数据在计算机系统内部的表示方式和存取方法,在磁盘等存储介质上的存储结构和存取方法。

数据库系统概论试题及答案整理版

数据库系统概论试题及答案整理版

数据库系统概论复习资料第一章绪论一、选择题1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是A阶段。

A.数据库系ﻩﻩﻩB.文件系统C.人工管理ﻩ D.数据项管理2.数据库的概念模型独立于 A 。

A.具体的机器和DBMSﻩB.E—R图ﻩﻩC.信息世界ﻩﻩ D.现实世界3.数据库的基本特点是B。

A.(1)数据结构化(2)数据独立性ﻩ(3)数据共享性高,冗余大,易移植ﻩ(4)统一管理和控制B。

(1)数据结构化(2)数据独立性ﻩ (3)数据共享性高,冗余小,易扩充ﻩ (4)统一管理和控制C.(1)数据结构化(2)数据互换性(3)数据共享性高,冗余小,易扩充ﻩ (4)统一管理和控制D。

(1)数据非结构化(2)数据独立性(3)数据共享性高,冗余小,易扩充 (4)统一管理和控制4. B 是存储在计算机内有结构的数据的集合。

A.数据库系统ﻩB.数据库ﻩﻩC.数据库管理系统 D.数据结构5.数据库中存储的是 C 。

A。

数据ﻩﻩﻩB。

数据模型ﻩﻩC.数据及数据间的联系ﻩD. 信息6.数据库中,数据的物理独立性是指 C 。

A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立7.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 D .A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合8.数据库系统的核心是 B 。

A.数据库ﻩB.数据库管理系统ﻩC.数据模型ﻩD.软件工具9.下述关于数据库系统的正确叙述是 A .A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据10.数将数据库的结构划分成多个层次,是为了提高数据库的 B ①和 B ② .①A.数据独立性ﻩﻩB.逻辑独立性 C.管理规范性ﻩD.数据的共享②A. 数据独立性B.物理独立性C.逻辑独立性 D.管理规范性11.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 A 。

数据库系统概念试题库及答案

数据库系统概念试题库及答案

数据库系统概念试题库及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是________。

A. 存储数据B. 查询数据C. 更新数据D. 所有上述功能答案:D2. 在关系数据库中,表的逻辑结构是由________决定的。

A. 数据类型B. 数据值C. 列和行D. 数据约束答案:C3. 下面哪个不属于关系数据库的完整性约束?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 物理完整性答案:D4. 数据库设计中,实体-关系模型(E-R模型)主要用于________。

A. 概念设计B. 逻辑设计C. 物理设计D. 实现答案:A5. 事务的四个属性是原子性、一致性、隔离性和持久性,下列描述不正确的是________。

A. 原子性表示事务中的所有操作要么全部完成,要么全部不发生B. 一致性表示事务执行的结果必须是数据库状态的合法状态C. 隔离性表示并发执行的事务彼此隔离,不会互相干扰D. 持久性表示事务一旦提交,其结果就永久保存在数据库中答案:D二、填空题1. 数据库管理系统(DBMS)是位于用户和操作系统之间的一个________,用于管理数据库的软件系统。

答案:应用程序2. 关系数据库中,表是由________组成的,其中每一列称为一个属性,每一行称为一个记录。

答案:行和列3. 为了保证数据库中的数据具有正确的结构和完整性,需要通过________来实现各种约束。

答案:触发器4. 在数据库设计中,将E-R模型转换为关系模型的方法称为________。

答案:E-R图转换5. 事务的概念是为了保证数据库的________,即在多用户并发访问数据库时,数据库能够保持一致性。

答案:一致性三、简答题1. 简述关系模型的完整性约束。

答案:关系模型的完整性约束包括实体完整性、参照完整性和用户定义的完整性。

实体完整性要求关系的主属性不能为空值;参照完整性要求关系的属性组A是另一个关系B的外码,则A的值必须要么为空值,要么等于B中某个元组的主码;用户定义的完整性是针对某一具体应用而由用户定义的约束条件。

数据库系统概论试题及答案精选全文

数据库系统概论试题及答案精选全文

可编辑修改精选全文完整版试题四一、单项选择题得分本大题共20小题,每小题分,共30分在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内;错选、多选或未选均无分;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<2R⨯S B.σ1<4R⨯SC.σ1<2R S D.σ1<4R S8.SQL语言具有的功能;A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵9.假定学生关系是SS,SNAME,SEX,AGE,课程关系是CC,CNAME,TEACHER,学生选课关系是SCS,C,GRADE;要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系;A.S B.SC,C C.S,SC D.S,C,SC10. 已知关系SPJS,P,J,QTY,把对关系SPJ的属性QTY的修改权授予用户张三的T-SQL语句是 CA. 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张三11.图1中是关系完备的系统A B C D图112.在RU中,如果X→Y,并且对于X的任何一个真子集X',都有X'→Y,则;A. Y函数依赖于XB. Y对X完全函数依赖C.X为U的候选码D. R属于2NF13.关系规范化中的插入操作异常是指A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入14.在数据库设计中, E-R图产生于A.需求分析阶段B.物理设计阶段C.逻辑设计阶段D.概念设计阶段15.在合并分E-R图时必须消除各分图中的不一致;各分E-R图之间的冲突主要有三类,即属性冲突、命名冲突和结构冲突,其中命名冲突是指;A.命名太长或太短B.同名异义或同义异名C.属性类型冲突D.属性取值单位冲突16.事务是数据库运行的基本单位;如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于状态;A.安全性B.一致性C.完整性D.可靠性17. 用来记录对数据库中数据进行的每一次更新操作;A.后援副本B.日志文件C.数据库D.缓冲区18.若事务T对数据对象A加上S锁,则;A.事务T可以读A和修改A,其它事务只能再对A加S锁,而不能加X 锁;B.事务T可以读A但不能修改A,其它事务能对A加S锁和X锁;C.事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X 锁;D.事务T可以读A和修改A,其它事务能对A加S锁和X锁;19. 设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是A. 该操作不存在问题B.该操作丢失修改C.修改该操作不能重复读D.该操作读“脏”数据T1 T2readAreadBsum=A+BreadAA=A2writeAreadAreadBsum=A+BwriteA+B图220. 已知事务T 1的封锁序列为:LOCK SA …LOCK SB …LOCK XC…UNLOCKB …UNLOCK A …UNLOCK C事务T 2的封锁序列为:LOCK SA …UNLOCK A …LOCK SB…LOCK XC …UNLOCK C …UNLOCK B则遵守两段封锁协议的事务是 和T 2 D .没有二、填空题本大题共10小题,每小题1分,共10分请在每小题的空格中填上正确答案;错填、不填均无分;1. 数据管理经历了人工管理、文件系统、 三个阶段;2. 数据模型由数据结构、数据操作和 三部分组成;3. 在Student 表的Sname 列上建立一个聚簇索引的SQL 语句为:CREATE Stusname ON studentSname4. SELECT 语句查询条件中的谓词“=ANY ”与运算符 等价;5. 关系模式R{A,B,C},{A,C →B,A,B →C,B →C}最高可达到第 范式;6. 数据抽象主要有分类和 两种;7. 存在一个等待事务集{T 0,T 1,…,T n },其中T 0正等待被T 1锁住的数据项,T 1正等待被T 2锁住的数据项,T n-1正等待被T n 锁住的数据项,且T n 正等待被T 0锁住的数据项,这种情形称为 ; 8. “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的 设计阶段;9. 并发控制的主要方法是 机制;10. 故障分为事务故障、 和介质故障三种;三、简答题本大题共3小题,每小题5分,共15分1. 简述等值连接与自然连接的区别和联系;2.说明视图与基本表的区别和联系3.简述事务的特性;四、设计题第1题20分,第2题10分,共30分1.设有一个工程供应数据库系统,包括如下四个关系模式:●SSno,Sname, Status,City;●PPno,Pname,Color,Weight;●JJno,Jname,City;●SPJSno,Pno,Jno,Qty;供应商表S由供应商号、供应商名、状态、城市组成;零件表P 由零件号、零件名、颜色、重量组成;工程项目表J由项目号、项目名、城市组成;供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;1用关系代数查询没有使用天津供应商生产的红色零件的工程号;3分2用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO;3分3用ALPHA语言查询供应工程J1零件为红色的供应商号SNO;2分4用T-SQL语句建立“供应商”S表主码必须定义;2分5用SQL查询工程J1使用的各种零件的名称和使用数量;3分6用SQL查询没有使用天津供应商生产的零件的工程号;3分7用SQL语句将全部红色零件改为蓝色;2分8用SQL语句将S2,P4,J6,400插入供应情况关系;2分2.设有关系STUDENTS,SNAME,SDEPT,MNAME,CNAME,GRADE,S,CNAME 为候选码,设关系中有如下函数依赖:S,CNAME→SNAME,SDEPT,MNAMES→SNAME,SDEPT,MNAMES,CNAME→GRADESDEPT→MNAME试求下列问题:1关系STUDENT属于第几范式3分2如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为巧BCNF;7分要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖;五、综合题15分某医院病房管理系统中,包括四个实体型,分别为:科室:科名,科地址,科电话病房:病房号,病房地址医生:工作证号,姓名,职称,年龄病人:病历号,姓名,性别且存在如下语义约束:①一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室;②一个医生可负责多个病人的诊治,一个病人的主管医生只有一个;③一个病房可入住多个病人,一个病人只能入住在一个病房;注意:不同科室可能有相同的病房号;完成如下设计:1画出该医院病房管理系统的E-R图;5分2将该E-R图转换为关系模型;5分要求:1:1和1:n的联系进行合并3指出转换结果中每个关系模式的主码和外码;5分试题四参考答案与评分标准一、选择题每题分1.A 2.C 3.D 4.B 5.C 6.D 7.B 8.B 9.D 10.C11.C 12.B 13.D 14.D 15.B 16.B 17.B 18.C 19.C 20.A二、填空题每题1分1. 数据库系统2. 完整性约束3. CLUSTER INDEX4. IN5.三6.聚集7.死锁8.物理9.封锁10.系统故障三、简答题每题5分1、参考答案:答:连接运算符是“=”的连接运算称为等值连接;它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为:R∞S={trts|tr∈R∧ts∈S∧trA=tsB}A=B自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉;2、参考答案:答:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变;视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制;3、参考答案:答:事务具有四个特性,即ACID特性:1原子性:事务中包括的所有操作要么都做,要么都不做;2一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态;3隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的;4持续性:事务一旦提交,对数据库的改变是永久的;四、设计题1、参考答案:1πJno J-πJnoσCity='天津' S SPJσColor='红' P2πPno,Jno SPJ÷πPnoσSno='S1' SPJ3RANGE P PXGET W : ='J1'∧∃PX=∧PX..Color='红'4CREATE TABLE SSno CHAR6 PRIMARY KEY,Sname CHAR10,Status INT,City CHAR20;5SELECT Pname,TotalQty FROM SELECT Pno,SUMQty TotalQty FROM SPJ WHERE Jno='J1' GROUP BY Pno X,P WHERE =;6SELECT Jno FROM J WHERE Jno NOT IN SELECT Jno FROM SPJ WHERE Sno IN SELECT Sno FROM S WHERE City='天津';或:SELECT Jno FROM J WHERE NOT EXISTS SELECT FROM SPJ,S WHERE = AND = AND City='天津';或:SELECT Jno FROM J WHERE NOT EXISTS SELECT FROM SPJ WHERE = AND EXISTS SELECT FROM S WHERE = AND City='天津';7UPDATE P SET Color='蓝' WHERE Color='红';8INSERT INTO SPJ V ALUES'S2','P4','J6',400评分标准:第1、2、5、6每题3分,其余每题2分,书写是否正确、规范、合理需酌情处理,能正确写出大体结构给一半分,局部漏写、错写视情节扣分,大体结构不正确一律不给分;2、参考答案:1关系STUDENT是1NF,因为F中存在非主属性S NAME,SDEPT,MNAME对侯选码S,CNAME的部分函数依赖;2首先消除部分函数依赖S,CNAME→SNAME,SDEPT,MNAME将关系分解为:R1S,SNAME,SDEPT,MNAME,F1 = { S→SNAME,SDEPT,MNAME}R2S,CNAME,GRADE,F2={S,CNAME→GRADE}在关系R1中存在非主属性对候选码的传递函数依赖S→SDEPT,所以将R1进一步分解:R11S,SNAME,SDEPT ,F11 = { S→SNAME,SDEPT}R12SDEPT,MNAME,F12 = { SDEPT→MNAME}在R2,R11,R12关系模式中函数依赖都是非平凡的,并且决定因素均是候选码,所以上述三个关系模式均是BCNF;评分标准:1回答R是1NF并正确说明理由3分,没有正确回答出理由扣1分;2两次分解各3分,每步所得的两个关系模式各分;正确回答消除什么类型的函数依赖和正确说明所得的三个关系模式是BCNF各1分;五、综合题参考答案:1本题的E-R图如下图所示;某医院病房管理系统的基本E-R图2转化后的关系模式如下:科室科名,科地址,科电话病房病房号,病房地址,科名医生工作证号,姓名,职称,年龄,科名病人病历号,姓名,性别,主管医生,病房号,科名3每个关系模式的主码、外码如下:科室:主码是科名;病房:主码是科名十病房号,外码是科名;医生:主码是工作证号,外码是科名;病人:主码是病历号,外码是科名十病房号;评分标准:1四个联系各分,名称一定可表达联系含义,联系类型错误不给分;四个实体型属性漏写、错写扣分,漏写一个实体型扣1 分;2转化后的科室关系模式、病房关系模式、医生关系模式各1分,有一个属性不正确均不给分,病人关系模式2分,漏写一个属性扣1分,3病房关系模式主码1 分、病人关系模式外码分,其余各分;。

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

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

~第一章数据库系统概述选择题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.请简述关系规范化过程。

答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。

数据库系统概念第七版课后习题答案

数据库系统概念第七版课后习题答案

八、专业设计题(每题2分,共10分)1.设计一个简单的学生信息管理系统数据库,列出至少三个表的结构,包括字段名和数据类型。

2.假设有一个在线书店数据库,设计一个查询,显示所有库存少于10本的图书的详细信息。

3.设计一个数据库模式,用于存储一个医院的病人信息,包括医生和护士的信息。

4.为一个电子商务网站设计一个订单处理系统数据库,包括至少四个表和它们之间的关系。

5.设计一个数据库用于存储一个大学的课程信息,包括学生选课记录和成绩。

九、概念解释题(每题2分,共10分)1.解释关系型数据库中的“范式”概念,并简要说明第一范式和第三范式的区别。

2.简述SQL中“JOIN”操作的作用,并解释内连接和外连接的区别。

3.解释事务在数据库中的作用,以及ACID属性的重要性。

4.简述数据库中的索引是什么,以及它如何提高查询效率。

5.解释数据库中的“视图”是什么,以及它的主要用途。

十、附加题(每题2分,共10分)1.描述如何使用SQL语句在数据库中创建一个新的表。

2.解释数据库中的“触发器”是什么,并给出一个使用触发器的例子。

3.简述数据库备份的重要性,并说明两种常见的备份方法。

4.解释数据库中的“锁”是什么,以及它在并发控制中的作用。

5.描述如何使用SQL语句从一个表中删除重复的记录。

一、选择题答案1.C2.B3.A4.D5.A二、判断题答案1.错误2.正确3.错误4.正确5.错误三、填空题答案1.数据模型2.数据库管理系统3.SQL4.事务管理5.数据库设计四、简答题答案1.数据库管理系统是用于管理数据库的软件系统,它允许用户定义、创建、维护和控制访问数据库。

2.关系型数据库是基于关系模型的数据库,使用表格来表示数据,并通过SQL进行查询和管理。

3.数据库规范化是为了消除数据冗余和不一致性,提高数据效率和准确性。

4.数据库事务是一系列操作,它们要么全部执行,要么全部不执行,以确保数据库的一致性。

5.数据库安全包括访问控制、加密、审计和备份等措施,以保护数据不被未授权访问或破坏。

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

1.为什么要研究关系规范化理论?答关系数据库的设计直接影响着应用系统的开发、维护及其运行效率。

一个不好的关系模式会导致插入异常、删除异常、数据冗余(修改异常)等问题。

为此,人们提出了关系数据库规范化理论。

它依据函数依赖,采用模式分解的方法,将一个低一级范式的关系模式转换为若干个高一级范式的关系模式的集合,从而消除各种异常,把不好的关系数据库模式转化为好的关系数据库模式。

2.理解并写出下列术语的含义。

函数依赖,平凡函数依赖,非平凡函数依赖, 1NF范式,BCNF范式,3NF范式,规范化,无损连接性,依赖保持性。

答:.函数依赖:设关系模式R(A1,A2,…,A n),X,Y是R的两个属性集合,X⊂R(A1,A2,…,A n)及Y⊂R(A1,A2,…,A n),R[X,Y]是关系只在属性XUY上的投影,当任何时刻R[X,Y]中任意两个元组中的X属性值相同时,则它们的Y属性值也相同.那么称X函数决定Y,或Y函数依赖于X,记作X→Y。

.平凡函数依赖与非平凡函数依赖:当属性集合Y是属性集合X的子集时,则存在函数依赖X→Y。

这说明一组属性函数决定它的所有子集。

这种类型的函数依赖称为平凡函数依赖。

如果X→Y且Y⊄X,则称X→Y是非平凡的函数依赖。

.1NF范式:定义;如果关系模式的所有属性的值域中每一个值都是不可再分解的值,则称只属于第一范式(1NF)。

lNF是关系模式的最低要求。

这一限制是在关系的基本性质中提出的,每个关系模式都必须遵守。

.BCNF范式:定义:若关系模式R∈lNF且每个非主属性都完全函数依赖于R 的每个键,关系模式及属于第二范式(只E2NF)。

.3NF范式:定义:.规范化:把一个低一级范式的关系模式转换为若干个高一级范式的关系模式的集合的过程叫做规范化。

.范式:规范化理论认为,一个关系数据库中所有的关系,都应满足一定的要求,它把关系应满足的规范要求分成几级,并为每一级定义了相应的约束条件集,称为范式。

.无损连接性:设有关系模R(U)中存在函数依赖集F,R被分解为R1(U1),…,R k(U k),如果这些关系模式的自然连接与原关系模式R完全相等,则称该分解具有无损连接性。

.依赖保持性:设有关系模式R(U)中存在函数依赖集F,R被分解加R1(U1),…,R k (U k),且R i (U i)(1≤i≤k)所包含的函数依赖集为F i,如果∪1k F i与F等价,则称该分解具有依赖保持性。

3.什么叫关系模式分解?为什么要有关系模式分解?关系模式分解要遵守什么规则?答:关系模式分解指采用投影的方式将一个关系模式R(U)分解为R1(U1),…,R k(U k),其中不存在U i ⊆U j(1≤i,j≤k),并且U1∪U2∪…∪U k=U。

关系模式分解是规范化的主要手段,通过关系模式分解可以把一个低一级范式的关系模式分解为若干个高一级范式的关系模式的集合。

关系模式分解应当具有无损连接性和依赖保持性。

4.要建立关于系、学生、班级、研究会等信息的一个关系数据库.规定:一个系有若干个专业.每个专业每年只招一个班级,每个班级有若干名学生,一个系的学生住在同一个宿舍区。

每个学生可以参加若干个研究会.每个研究会有若干名学生。

描述学生的属性有:学号、姓名、出生年月、系号、班号、宿舍区。

描述班组的属性有:班号、专业名、系号、人数、入校年份。

描述系的属性有:系号、系名、系办公地点、人数。

描述研究会的属性有:研究会名、成立年份、地点、人数。

学生参加某研究会,有一个入会年份。

试给出上述数据库的关系模式;写出每个关系的最小函数依赖集(基本的函数依赖,不是导出的函数依赖);指出关系的候选键、外键、有没有全键。

.答·学生:学生(学号,姓名,出生年月,系号,班号,宿舍区)最小函数依赖集:班号→系号,系号→宿舍区,学号→班号,学号→姓名,学号→出生年月。

候选键:学号。

外键:系号,班号。

·班级:班级(班号,专业名,系号,人数,入校年份)最小函数依赖集:班号→专业名,专业名→系号,候选键:班号。

外键:系号。

.系:系(系号,系名,系办公地点,人数)最小函数依赖集:系号→系名,系号→系办公地点候选键:系号或者系名。

外部键:无。

·研究会:研究会(研究会名,成立年份,地点,人数)最小函数依赖集:研究会名→成立年份候选键:研究会名。

外部键;无。

.研究会会员:研究会会员(研究会名,学号.入会年份)最小函数依赖集:(研究会名,学号) →入会年份候选键:(研究会名,学号)。

外部键:研究会名,学号。

填空题1.一个不好的关系模式会存在、和等弊病。

2.函数依赖与属性间的联系类型有关。

当X,Y之间是“1对1”联系时,则存在函数依赖;当X,Y之间是“多对1”联系时,则只存在函数依赖;当X,y之间是“多对多”联系时,则。

3.函数依赖的基本性质有:、、。

4.当属性集合X是属性集合Y的子集时,则存在函数依赖Y→X。

这种类型的函数依赖称为。

如果Y→X且X⊄Y,则称Y→X是。

5.若关系模式R∈1NF,且及中的每个都是,则R∈BCNF。

6.规范化过程.是通过投影分解,把的关系模式“分离”为模式。

但这种投影分解不是惟一的,要求分解既,又具有。

1.插入异常删除异常冗余太大2.X→Y和Y→X X→Y XY之间不存在函数依赖性3.4.平凡函数依赖非平凡的函数依赖6.低一级范式若干个高一级范式保持函数依赖无损连接性选择题1.以下关于函数依赖的说法正确的是。

A.函数依赖和关系表中各属性列的取值有关,因此当关系中各属性列取值发生变化时,函数依赖必然发生改变B.属性间的联系方式与函数依赖密切相关,无论哪种联系方式都对应一种函数依赖C.X→Y是否成立仅取决于X、Y属性集上的值,与其他属性(集)的取值无关D.以上都不是2.当X,Y之间是”1对多”联系时,则存在函数依赖。

A.X→Y B.Y→XC.X→Y、Y→X D.以上都不是3.函数依赖的扩张性是。

A.如果存在函数依赖X→Y及W→Z,则必然存在XW→YZB.如果X→Y及X→Z,则存在着X→YZC.如果存在函数依赖X→YZ,则必然存在X→Y及X→ZD.当属性集合X是属性集合Y的子集时,则存在函数依赖Y→X.4.任何二元关系模式所属的最高范式是。

A.1NF B.2NF C.3NF D.BCNF5.关于关系模式的键,以下说法正确的是。

A.一个关系模式可以有多个主键B.一个关系模式可以有多个候选键C.主键所包含的属性称为主属性D.不是哪个关系模式都有键6.若关系模式R中的函数依赖的决定因素(前面的部分)都是键,则R所属的最高范式为。

A.1NF B.2NF C.3NF D.BCNF1.C 2.B 3.A 4.D 5.B 6.D1.设有关系模式R(0,I,S,Q,D,B) ,其函数依赖集合为S→D,I→B,IS →Q,B→O,试求:(1)R的候选键。

(2)如果R不属于3NF,将R分解为3NF(具有无损连接性和依赖保持性)。

2.设关系模式R(A,B,C,D,E,P),R的函数依赖集F为A→D,E→D,D→B,BC→D,DC→A。

试求:(1)R的候选键。

(2)将及分解为BCNF,并具有无损连接性。

数据库设计方法、规范与技巧一、数据库设计过程数据库技术是信息资源管理最有效的手段。

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求)。

在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。

在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。

然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。

在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

1. 需求分析阶段需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。

需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。

自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。

数据流图表达了数据和处理过程的关系。

系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。

数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。

数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}2. 概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

概念模型用于信息世界的建模。

概念模型不依赖于某一个DBMS支持的数据模型。

概念模型可以转换为计算机上某一DBMS支持的特定数据模型。

概念模型特点:(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。

(2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。

概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。

使用IDEF1X方法创建E-R模型的步骤如下所示:2.1 第零步——初始化工程这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。

收集源材料是这阶段的重点。

通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。

2.2 第一步——定义实体实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。

相关文档
最新文档