精华内容
下载资源
问答
  • 则由定义可知,例如π2,4(S)表示关系S中的二列和四列组成了一个新的关系,新关系的一列为S中的二列,新关系的二列为S中的四列,由此可知,π运算最初的作用就是一个选择的作用,选择出被需要的列来...

    第三章

    选择题

    1、A。
    π运算符对应的是投影操作,而投影操作是对一个关系进行垂直分割,消去某些列,并重新按排列的操作。则由定义可知,例如π2,4(S)表示关系S中的第二列和第四列组成了一个新的关系,新关系的第一列为S中的第二列,新关系的第二列为S中的第四列,由此可知,π运算最初的作用就是一个选择的作用,选择出被需要的列来组成一个新的关系,故答案A正确。FROM言下之意即为“从···来”,与π运算语义不符,故答案B不正确。WHERE代表的是条件,与选择无关,故答案C不正确。GROUPE BY代表将结果按一定规则进行分组,与π运算无任何关系,故答案D不正确。

    2、C。
    σ运算符对应的是选择操作,而选择操作是对一个关系进行水平切割,选取符合条件的元组的操作。则由定义可知,σ运算只选取符合条件的元组,即与WHERE代表的条件相符合,故答案C正确。

    3、C
    当我们使用SQL Server Management Studio时可知,当我们输入一个正确的SELECT语句时,输出出来的是一个我们需要的表格,所以答案C正确。

    4、C。
    在课本4.5.1这节中可知,RDBMS执行CREATE VIEW语句的结果只是把视图的定义存入数据字典,并不执行其中的SELECT语句。故答案C正确。

    5、C。
    定义视图:SQL语言用CREATE VIEW 命令建立视图
    故答案C正确。

    6、B。
    由书4.3.4一节可知,集合操作主要包括并操作、交操作和差操作结果表的列数必须相同,对应项的数据类型也必须相同,所以当两个子查询的结果结构完全一致时,才可以执行并、交、差操作,故答案B正确。

    7、C。
    HAVING必须和GROUP BY连用,一般结构为:
    SELECT <目标列> FROM <表名或视图名>
    GROUP BY<列名> HAVING<条件表达式>
    当存在HAVING语句时,GROUP BY语句必须存在,故答案C正确。

    8、B。
    由4.3.1中第2项第(4)条字符匹配的查询可知,“%”代表任意长度(长度可以为0)的字符串,“-”代表任意单个字符。故答案B正确。

    9、D。
    已知BETWEEN···AND是闭区间,所以数据是60~100的闭区间,故答案D正确。

    10、A。
    删除数据的一般格式:
    DELETE FROM <表名>
    [WHERE <条件>]
    由4.4.3可知,DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元祖。如果省略WHERE子句,表示删除表中全部元组,但表的定义仍在数据字典中,即DELETE语句删除的是表中的数据,而不是关于表的定义。故答案A正确。

    综合题

    1、(1)、创建客户表Customers
    Create table Customers(
    Cid char(6) primary key,
    Cname varchar(20) not null,
    City varchar(20) not null
    )

    (2)、创建代理人表Agents
    Create table Agents(
    Aid char(4) primary key,
    Aname varchar(20) not null,
    City varchar(20) not null
    )

    (3)、创建产品表Products
    Create table Products(
    Pid char(4) primary key,
    Pname varchar(20) not null,
    Quantity int,
    Price float(2)
    )

    (4)、创建订单表Orders
    Create table Orders(
    Ord_no char(4) primary key,
    Months smallint not null,
    Cid char(5) foreign key references Customers(Cid),
    Aid char(4) foreign key references Agents(Aid),
    Pid char(4) foreign key references Products(Pid),
    Qty int,
    Amount float(2)
    )

    2、(1)、select c#,cname from C
    where teacher=’LIU’

    (2)、select s#,sname from S
    where sex=’男’ and age>23

    (3)、select cname,teacher from C
    where c# in(
    select c# from SC
    where s#=’S3’
    )

    (4)、select sname from S
    where sex=’女’ and s# not in(
    select distinct s# from SC
    where c# not in(
    select c# from C
    where teacher=’LIU’
    )
    }

    (5)、select distinct c# from SC
    where s# not in(
    select s# from S
    where sname=’WANG’
    )

    (6)、select distinct a.s# from SC as a,SC as b
    where a.s#=b.s# and a.c#!=b.c#

    (7)、select c#,cname from c
    where not exists(select * from s where not exists(
    select * from sc where s#=s.s# and c#=c.c#)

    (8)、select distinct s# from sc as a
    where not exists(select * from c where teacher=’LIU’
    and not exists(select * from sc as b
    where b.s#=a.s# and b.c#=a.c#))

    3、(1)、select * from Orders
    where Cid=’C006’

    (2)、select distinct Cname from Customers c,Orders o
    where c. Cid=o. Cid and Pid=’P01’

    (3)、select Cname from Customers c,Orders o,Products p
    where c. Cid=o. Cid and p. Cid=o. Cid and Price=’0.50’
    Group by Cname
    having SUM(Qty) >500

    (4)、select distinct Cname from Customers c,Orders o
    where c. Cid=o.cid and c. Cid not in(
    select Cid from Orders
    where Pid=’P01’
    )

    (5)、select distinct c. Cid, Cname,a.Aid,Aname,c.City
    from Customers c,Agent a,Orders o
    where c.Cid=o.Cid and a.Aid=o.Aid and c.City=a.City

    (6)、select distinct Pid from Orders o,Customers c, Agents a
    where o.Aid=a.Aid and c.Cid=o.Cid and c.City=’南京’ and a.City=’北京’

    (7)、select distinct c.Cid from Orders o,Customers c,Agents a
    where p.Pid=o.Pid and c.Cid=o.Cid and p.Pid in(
    select Pid from Products
    where Price=’1.00’
    )

    4、(1)、select * from Orders
    where Qty between 500 and 800

    (2)、select Pname 产品名称,Price 单价 from Products
    where Pname like ‘%水%’

    (3)、select * from Orders
    where Cid=(
    select Cid from Customers
    where Cname=’王_’) and Months=’1’
    Order by Qty desc

    (4)、select Months 月份,count(*) 订单数,sum(Qty) 总订货数量,sum(Amount)总金额
    from Orders
    Group by Months
    Order by Months desc

    (5)、select Months from Orders
    where Cid in(
    select Cid from Customers
    where City=’上海’
    )
    Group by Months
    having sum(Qty)>200

    (6)、select sum(Qty) 总订货数量,sum(Amount) 总金额
    from Orders
    where Pid=(
    select Pid from Products
    where Pname=’橡皮’
    )

    (7)、select distinct o.Cid,Cname from Orders o,Customers c
    where o.Cid=c.Cid and Aid not in(
    select Aid from Agents
    where City=’北京’) and Pid not in (
    select Pid not in (
    select Pid from Products
    where Pname=’笔袋’)

    (8)、select Ord_no from Orders
    where Qty>All(select Qty from Orders
    where Months=’3’)

    (9)、insert into Products
    values(‘P20’,’粉笔’,’25000’,’1.50’)

    (10)、update Products
    set Price=Price+0.50
    where Price=1.00

    (11)、update Orders
    set Qty=200
    where Aid=(
    select Aid from Agents
    where City=’上海’) and Pid=(
    select Pid from Products where Pname=’笔袋’)

    (12)、update Orders
    set Aid=’A05’
    where Aid=’A06’ and Pid=’P01’ and Cid=’C006’

    (13)、delete from Customers
    where Cid=’C006’

    (14)、delete from Orders
    where Pid=(
    select Pid from Products
    where Pname=’尺子’) and Months=’3’

    (15)、create view Agent
    as
    select Aid,Pid,Price
    from Agents,Products

    (16)、create view product
    as
    select Pname 产品名称,sum(Qty) 总订货数量,sun (Amount) 总金额
    from Products p,Orders o
    where p.Pid=o.Pid and Price>1.00
    group by Pname

    第四章

    简答题
    1、什么是存储过程?为什么要使用存储过程?

    答:(1)、存储过程的定义:存储过程是存储在数据库服务器中的一组编译成单个执行计划的SQL语句。
    原因:存储过程可以包含程序控制流、查询子句、操作字句,还可以接受参数、输出参数、返回单个值或多个结果集,使用存储过程有如下优点:

    (2)、由于存储过程不像解释执行的SQL语句那样在提出操作请求时才进行语法分析和优化,因而运行效率高,它提供了在服务器端快速执行SQL语句的有效途径;

    (3)、存储过程降低了客户机和服务器之间的通信量。客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行多条SQL语句,并执行数据处理,只将最终处理结果返回客户端;

    (4)、方便企业实施规则。可以吧企业规则的运算程序写成存储过程放入数据库服务器,由RDBMS管理,既有利于集中控制,又方便维护。当用户规则发生变化时只要修改存储过程,无需修改其他应用程序。

    2、试述触发器的概念和作用
    答:概念:触发器是用户定义在关系表上的一类由事件驱动的特殊过程,也是一种保证数据完整性的方法。触发器也可以看做是一类特殊的存储过程,一旦定义,无须用户调用,任何对表的修改操作均由服务器自动激活相应的触发器。
    作用:能够实现主键和外键所不能保证的复杂的参照完整性和数据的一致性。

    3、什么是INSERTED表和DELETED表?试说明这两张表的结构。

    INSERTED表:用于存储INSERT和UPDATE语句所影响的行的复本,执行INSERT和UPDATE语句时,新的数据行被添加到基本表中,同时这些数据行的备份被复制到INSERTED临时表中。
    DELETED表:用于存储DELETE和UPDATE语句所影响的行的复本,执行DELETE或UPDATE语句时,行从触发器表中删除,并传输到DELETED表中,DELETED表和元数据表通常没有相同的行。
    两张表的结构:(1)、这两个表都是逻辑表,并且是由系统管理的,存储在内存中,不是存储在数据库中。因此,不允许用户直接对其操作。

    (2)、这两个表的结构与被该触发器作用的表有相同的表结构。它们是动态驻留在内存中,当触发器工作完成,它们也被删除。

    (3)、这两个表主要保存因用户操作而被影响到的原数据值或新数据值,且是只读的,可以引用表中的数据,但不能向其写入内容。

    4、什么是默认对象和默认值?他们有什么区别?

    默认对象: 需要用create default语句进行定义,作为一种单独存储的数据库对象,它是独立于表的,删除表并不能删除默认对象,需要使用drop default语句删除默认对象。
    默认值:是一种数据库对象,可以绑定到表的一列或多列上,也可以绑定到用户自定义的数据类型上,其作用类似于DEFAULT约束,当向表中插入数据,且没有为列输入值时,系统自动给列附一个默认值。与DEFAULT不同的是它的使用规则,通过一次定义,可以多次使用。在create table或alter table语句中定义后,被嵌入到定义的表结构中。也就是说,在删除表的时候默认约束也将随之被删除。
    区别:默认值是用create table语句创建表时,使用default子句为表中的列提供默认值;
    默认值对象是用create default语句来创建时,使用时须将它绑定到列上。

    5、什么是规则?规则和CHECK约束有什么区别?

    答:(1)、规则是数据库对存储在表中的列或用户自定义数据类型中的值的规定和限制,是单独存储的独立的数据库对象。

    (2)、区别:①、CHECK约束是在使用CREATE TABLE 语句建表时指定的,而规则是作为独立于表的数据库对象,通过与指定表或数据类型绑定来实现完整性约束。

    ②、在一列上只能使用一个规则,但可以使用多个CHECK约束

    ③、规则可以应用于多个列,还可以应用于用户自定义的数据类型,而CHECK约束只能应用于它定义的列。

    综合题
    1、(1)、create procedure addPrice
    @Pid char(4)
    as
    update Products
    set Price=Price+0.5
    where Pid=@Pid
    exec addPrice @Pid=’P01’(执行过程自定义)

    (2)、create procedure newRecord
    @Pid char(4),@Pname varchar(20),@Quantity int,@Price real
    as
    insert into Products
    values(@Pid,@Pname,@Quantity,@Price)
    exec newRecord
    @Pid=’P09’,@Pname=’笔记本’,@Quantity=’20’,@Price=’4.50’

    (3)、create procedure totalQty
    @Cid char(5),@Aid char(5)
    as
    select sum(Qty) from Orders
    where Cid=@Cid and Aid=@Aid
    exec totalQty @Cid=’C001’,@Aid=’A01’

    2、(1)、create trigger insertNew
    on Products
    instead of insert
    as
    declare @Pid char(4),@Pname varchar(20),@Quantity int,@Price real
    select @Pid=Pid,@Pname=Pname,@Quantity=Quantity,@Price=Price
    from inserted
    if @Price<0.50
    begin
    set @Price=0.50 ——0.50不用加上单引号,因为@Price为real类型
    print ‘产品单价不得低于0.50元!’
    end
    insert into Products
    values (@Pid,@Pname,@Quantity,@Price)

    (2)、当订货数量发生变化时,需要用inserted表找到相应的唯一的Pid,因为修改了一个数量,所以inserted表中只有一个Pid,通过这个Pid就能找到相应的Price
    create trigger changeQty
    on Orders
    after update
    as
    declare @Qty int,@Pid char(4)
    select @Qty=Qty,@Pid=Pid
    from inserted
    begin transaction
    if update(Qty)
    begin
    update Orders
    set Amount=@Qty*(select Price from Products
    where Pid=@pid)
    end
    commit transaction

    展开全文
  • 五章 选择题 1、A。 二元关系≠二维表,满足二元关系的一定为BCNF,而不论任何一张表,最少要满足的是1NF,故答案A正确。 2、C。 由书6.3一节可知,答案C正确。 3、B。 由2NF的定义可知,1NF消除了非主属性对候选...

    第五章

    选择题
    1、A。
    二元关系≠二维表,满足二元关系的一定为BCNF,而不论任何一张表,最少要满足的是1NF,故答案A正确。

    2、C。
    由书6.3一节可知,答案C正确。

    3、B。
    由2NF的定义可知,1NF消除了非主属性对候选码的部分函数依赖成为了2NF,故答案B正确。

    4、A。
    由书6.3.一节可知,规范化的目的是要设计“好的”关系数据库模式,其基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,以解决数据插入、删除时发生的异常现象,故答案A正确。

    5、D。
    已知不论任何一张表,表中的候选键可以有1个或多个,但是主键必须只有且仅有1个,故答案D正确。

    6、D。
    Armstrong公理系统:设关系模式R<U,F>,其中U为属性集,F是U上的一组函数依赖,则有如下推理规则:
    (1)、自反律:若属性集Y 包含于属性集X,属性集X 包含于U,则X→Y为F所蕴涵。

    (2)、增广律:若X→Y为F所蕴涵,且属性集Z 包含于属性集U,则XZ→YZ为F所蕴涵。

    (3)、传递律:若X→Y,Y→Z为F所蕴涵,则X →Z为F所蕴涵。
    根据以上三条推理规则又可推出下述三条推理规则:
    (1)、合并规则:若X→Y,X→Z,则X→YZ为F所蕴涵。

    (2)、伪传递律:若X→Y,WY→Z,则XW→Z为F所蕴涵。

    (3)、分解规则:若X→Y,Z包含于Y,则X→Z为F所蕴涵。
    由以上定义得,答案D正确。

    7、C。
    由书6.4.2一节引理6.1可知,假设事件p代表X→A1A2···AK,事件q代表X→Ai(i=1,2,···,k),则p成立的充分必要条件是q成立。那么由题知,q成立同样也是q成立的充要条件,故答案C正确。

    8、D。
    一名顾客可能在同一名供应商那里购买不同的东西,所以顾客姓名和供应商姓名不能作为主键,故答案A不正确。一名顾客可能不在同一家商店,却买了相同的商品,所以顾客姓名和商品名不能作为主键,故答案B不正确。一名顾客可能存在多个顾客地址,所以答案C不正确。故答案D正确。

    9、B。
    多值依赖具有如下性质:
    (1)、对称性:若X→→Y,则X→→Z,其中Z=U-X-Y
    (2)、传递性:若X→→Y,Y→→Z,则X→→Z-Y
    (3)、合并性:若X→→Y,X→→Z,则X→→YZ
    (4)、分解性:若X→→Y,X→→Z,则X→→(Y∩Z),X→→Z-Y,X→→Y-Z均成立
    (5)、函数依赖可看做多值依赖的特例。
    由以上性质可得,答案B正确。选项C为多值依赖的对称性。

    10、D。
    选项A应该改为“R中非主属性完全依赖与主键”,故答案A不正确。选项B应改为“R∈1NF”,故答案B不正确。选项C应改为“R∈1NF”,故答案C不正确。故答案D正确。

    问答题

    1、解释下列术语的含义:
    函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、1NF、2NF、3NF、BCNF、多值依赖、4NF、最小函数依赖、函数依赖保持性、无损连接性。

    (1)、函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。若对于R(U)上的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数决定Y”或“Y函数依赖X”,记作X→Y。

    (2)、平凡函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。若Y是X的子集,则称X→Y为平凡函数依赖。

    (3)、非平凡函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。如果X→Y,且Y∉X,则称X→Y为非平凡函数依赖。

    (4)、部分函数依赖:如果X→Y,但不完全函数依赖于X,则称Y对X部分函数依赖。

    (5)、完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有Y函数不依赖于X’,则称Y完全函数依赖于X。

    (6)、传递函数依赖:在R(U)中,如果X→Y ,Y→Z,且Y∉X,X也不函数依赖于Y,则称Z传递函数依赖于X。

    (7)、1NF:如果关系模式R的所有属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式。

    (8)、2NF:如果关系模式R∈1NF,且每个非主属性都完全依赖于R的码,则称R属于第二范式。

    (9)、3NF:如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的候选码,则称R属于第三范式。

    (10)、BCNF:如果关系模式R∈1NF,且对于所有的函数依赖X→Y(Y∉X),决定因素X都包含了R的一个候选码,则称R属于BC范式。

    (11)、多值依赖:设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

    (12)、4NF:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y∉X),X都含有码,则称R<U,F>∈4NF。

    (13)、最小函数依赖:函数依赖集F满足以下条件:
    a、F中的任何一个函数依赖的右部仅含有一个属性;
    b、F中不岑仔这样一个函数依赖X→A,使得F与F-{X→A }等价;
    c、F中不存在这样一个函数依赖X→A,X有真子集Z使得F-{X→A }∪{Z→A}与F等价。

    (14)、函数依赖保持性:设p={R1<U1,F1>,R2<U2,F2>,···,Rn<Un,Fn>}是关系模式R{U,F}上的一个分解。若∪Fi  =F ,则称分解p具有函数依赖保持性。

    (15)、无损连接性:设p={R1<U1,F1>,R2<U2,F2>,···,Rn<Un,Fn>}是关系模式R{U,F}上的一个分解。若任何属于R{U,F}的关系r,令r1=πR1®,r2=πR2®,···,rn=πRn®,有r=r1∞r2∞···∞rn成立,则称分解p具有无损连接性。

    2、什么叫关系模式分解?模式分解要遵循什么准则?

    定义:根据规范化理论将一个结构复杂的关系分解为几个结构简单的关系,以消除数据库操作的异常情况。

    准则:取原始关系的投影,消去决定因素不是候选键的函数依赖,要求分解既要保持函数依赖,又要具有无损连接性。

    3、3NF与BCNF的区别和联系是什么?

    答:区别:(1)、BCNF中消除了主属性对候选码的部分函数依赖和传递函数依赖,而3NF不存在该属性

    (2)、3NF是建立在2NF基础之上的,如果满足2NF的关系模式中不存在非主属性对传递依赖于码,则该关系模式属于3NF。

    (3)、BCNF是3NF的改进形式,它建立在1NF的基础上,如果关系模式R属于1NF,只要其每一个决定因素均包含码,则R属于BCNF。

    联系:BCNF由3NF进一步得到,任何满足BCNF的关系都必然满足第三范式,反之不然。

    4、试证明全码(All-Key)的关系必是3NF,也必定是BCNF。

    (1)、设有关系R(U,F),因为R含全码,所以U中的属性均为主属性,即R不含任何非主属性。根据3NF的定义,R中没有非主属性对码有传递函数依赖存在。根据定义可下结论:
    R∈3NF。

    (2)、采用反证法。假设R∉BCNF,则按照定义R中必含有X→Y(Y不是X的子集),其中X是U的子集,Y包含于U,X不含码。在X→Y的两边同时并上U-Y,得:X(U-Y)→U。显然X(U-Y)≠U或X(U-Y)是U的子集,这与题中已知条件关系R为全码相矛盾。假设R∉BCNF不成立,本题得证。

    5、设一关系为:学生(学号、姓名、年龄、所在系、出生日期),判断此关系属于第几范式,为什么?

    由该关系可知,函数依赖为{学号→姓名,学号→年龄,学号→所在系,学号→出生日期},由函数依赖集可知唯一候选码是学号,在该关系中不存在非主属性和主属性对码的部分和传递函数依赖,故该关系为BCNF。

    6、关系规范化一般遵循的原则是什么?

    答:(1)、将关系模式进行无损连接分解,在关系模式分解的过程中,数据不能丢失或增加,要保持数据的完整性;
    (2)、合理地选择规范化程度。在规范化时,既要考虑到低级范式造成的冗余度高、数据不一致性,又要考虑到高级范式带来的查询效率低的问题
    (3)、要考虑正确性和可实现原则,既要保证规范化过程是正确的,并且通过规范化能达到要求。

    综合题

    1、D→B,C→A,(C,D)→A,(C,D)→B

    2、
    (1)、由函数依赖集F={A→C,B→C}得,

    L类属性:A,B
    因为
    在这里插入图片描述
    所以AB是R的惟一候选码
    (2)、令U1={A,B},根据F得,F1=∅(即A、B之间没有依赖关系)
    所以F在模式AB上的投影为∅

    3、
    (1)、列关系矩阵如下图:
    在这里插入图片描述

    (2)、因为A→B,又因为a1≠b12≠b13
    所以B无变化

    (3)、因为C→D,又因为b31≠a3≠b33
    所以D无变化

    (4)、因为D→B,又因为a4=a4≠b42
    所以b21=a2

    得到如下关系矩阵:
    在这里插入图片描述

    (5)、重复执行步骤,最后可知关系矩阵不能得到一个全a 行,
    所以{AD,BC,BD}相对于R不具有无损连接性。

    4、
    (1)、由函数依赖集F={AB→CE,E→AB,C→D}得,
    LR类属性:A、B、C、E
    在这里插入图片描述
    因为AB→CE,C→D,所以AB→D,即存在非主属性的传递函数依赖,所以不为3NF;
    又因为R中不存在非主属性的部分函数依赖,所以为2NF。

    (2)、由函数依赖集F={B→D,D→B,AB→C}得,

    L类属性:A LR类属性:B、D
    在这里插入图片描述
    在这里插入图片描述
    因为B→D,D→B,未消除主属性的函数依赖关系,所以不为BCNF;
    又因为R中不存在非主属性对码的部分或传递函数依赖,所以 R∈3NF。

    (3)、由函数依赖集F={A→B,B→A,A→C}得,

    LR类属性:A、B
    在这里插入图片描述
    因为A→B,B→A,未消除主属性的传递函数依赖,所以不为BCNF;
    又因为B→A,A→C,未消除非主属性对码的传递函数依赖,所以不为3NF;
    又因为R中不存在非主属性对码的部分函数依赖,所以 R∈2NF.

    (4)、由函数依赖集F={A→C,D→B }得,

    L类属性:A、D
    在这里插入图片描述
    因为R中不存在非主属性对码的部分或传递函数依赖,也不存在主属性对码的部分或传递函数依赖,所以R∈BCNF。

    5、
    设F={ABD→E,AB→G,B→F,C→J,CJ→I,G→H},

    (1)、已知F中各依赖的右部属性已全部单一化

    (2)、逐一考查是否有多余的函数依赖
    a、考查ABD→E

    记F1={ AB→G,B→F,C→J,CJ→I,G→H},
    在这里插入图片描述

    b、考查AB→G

    记F2={ABD→E,B→F,C→J,CJ→I,G→H},
    在这里插入图片描述

    c、考查B→F

    记F3={ABD→E,AB→G,C→J,CJ→I,G→H},
    在这里插入图片描述
    ∴B→F不能删除

    d、同上理得,C→J不能删除

    e、CJ→I不能删除

    f、G→H不能删除

    (3)、逐一考查左部为非单属性的函数依赖的右部是否有多余的属性
    a、考查ABD→E
    在这里插入图片描述

    b、考查AB→G
    在这里插入图片描述
    c、考查CJ→I
    在这里插入图片描述
    6、

    (1)、Sno→Sname,Sno→SD,Sno→Sdname,SD→Sdname,(Sno,Course)→Grade

    (2)、主键为Sno和Course

    (3)、设A=Sno,B=Sname,C=SD,D=Sdname,E=Course,F=Grade
    记F={A→B,A→C,A→D,C→D,AE→F}

    ①、求最小函数依赖集
    Fm={A→B,A→C,C→D,AE→F}
    ∴满足3NF且具有依赖保持性的分解为p={AB,AC,CD,AEF}

    ②、判断无损连接性
    a、先给出如下关系矩阵
    在这里插入图片描述

    b、因为A→B,所以b22=b24=a2
    则得到如下关系图:
    在这里插入图片描述

    c、因为A→C,所以b31=b34=a3
    则得到如下关系图:
    在这里插入图片描述

    d、因为C→D,所以b41=b42=b44=a4
    则得到如下关系图:
    在这里插入图片描述

    由上图可得,AEF一行为全a行,则可知p具有无损连接性
    所以p={ AB,AC,CD,AEF }

    7、
    设顾客号为A,收货地址为B,赊购限额为C,余额为D,折扣为E,订货日期为F,订货细则为G,货物号为S,订货数量为T,制造厂商为M,实际存货量为N,规定的最低存货量为O,货物描述为P,每个细则中的未发量为W
    则函数依赖如下:
    顾客{B→A,A→C,A→D,A→E}
    订货单{AB→F,AB→G}
    订货细则{S→T,GS→W,S→G}
    货物{S→M,MS→N,MS→O,S→P}
    令函数依赖集F={ B→A,A→C,A→D,A→E ,AB→F,AB→G,S→T,GS→W,S→G,S→M,MS→N,MS→O,S→P}

    (1)、由函数依赖集F可得BS为唯一候选码

    (2)、因为B→A,则BS→A肯定成立,所以函数依赖集F没有消除非主属性对码的部分函数依赖,所以F∈1NF

    (3)、由F可得最小函数依赖集为Fm={ B→A,A→C,A→D,A→E ,B→F,B→G,S→T,S→W,S→G,S→M,S→N,S→O,S→P }

    第六章

    简答题

    2、为什么要对数据文件建立索引?

    答:最明显的原因是速度。没有索引时,DBMS通过表扫描方式逐个读取指定表中的数据记录来访问,这样的查找方式就好像在图书馆里查找一本书时,将图书馆中的所有书都找一遍,这样做的效率毫无疑问是非常低的。由于索引表是排序的,可以采取类似二分查找的快速定位算法,在实际应用中,索引表还可以驻留在主存储器中,进一步提高查找的访问速度。

    3、简述聚集索引和非聚集索引的区别。

    答:汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。
    如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。

    4、为什么一个数据文件只能有一个聚集索引?

    答:由于一个数据表只能有一种实际的存储顺序,因此在一个数据表中只能建立一个聚集索引。

    展开全文
  • 由以上几点可知,答案A是数据库物理设计不包括的选项,故答案A正确。 2、A。 由8.2.4一节可知,逻辑结构设计阶段的一个步骤即为将E-R图转化为关系数据模型,故答案A正确。 3、B。 由书中图8.4数据...

    第七章

    选择题

    1、A。
    由书8.2.5一节可知,物理结构设计的工作主要包括以下几点:
    (1)、确定数据的存储结构
    (2)、设计合适的存取路径
    (3)、确定数据的存放位置
    (4)、确定系统配置
    由以上几点可知,答案A是数据库物理设计不包括的选项,故答案A正确。

    2、A。
    由8.2.4一节可知,逻辑结构设计阶段的第一个步骤即为将E-R图转化为关系数据模型,故答案A正确。

    3、B。
    由书中图8.4数据流程图可知,答案B正确。

    4、B。
    由概念模型的特点——易于向各种数据模型转换,可知概念模型独立于特定的DBMS,所以概念设计是一个与DNMS无关的概念模式,故答案B正确。

    5、C。
    了解数据库设计各个阶段的设计步骤可知,在数据库逻辑设计阶段的步骤存在关系模式规范化这一步,答案C正确。

    6、D。
    属性冲突:属性值的类型、取值范围不一致。
    命名冲突:a、同名异义:不同意义的对象在不同的局部应用中具有相同的名字
    b、异义同名:同一意义的对象在不同的局部应用中具有不同的名字
    结构冲突:a、同一对象在不同的局部应用中具有不同的身份
    b、同一对象在不同的局部应用中对应的实体属性组成不完全相同
    c、实体之间的联系在不同的局部应用中具有不同的类型
    由题意可知,学生一方面被当做实体,另一方面被当做属性,即同一对象在不同的局部应用中具有不同的身份,即为结构冲突,故答案D正确。

    7、B。
    数据流图是进行需求分析的主要工具,E-R图是进行概念设计的主要工具,关系模式是进行逻辑设计的主要工具,SQL语句是进行物理设计的主要工具。故答案B正确。

    8、A。
    同第6题解析,由题意得,学号一方面定义为字符型,另一方面定义为整型,即属性值的类型不一致,即为属性冲突,故答案A正确。

    9、A。
    实体之间的联系有3种:一对一、一对多和多对多
    一个m:n联系转化为一个独立的关系模式时,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,关系的码为各实体码的组合。由定义可知,联系本身必须单独转换成为一个关系,故答案A正确。

    10、D。
    数据库正式投入运行标志着数据库运行与维护工作的开始,故答案A不正确,答案D正确。数据库维护工作不仅仅是维持其正常运行,还是设计工作的继续和提高,故答案B、C相结合即正确。

    简答题

    1、请简要阐述一个数据库设计的几个阶段。
    答:(1)、需求分析阶段
    (2)、概念设计阶段
    (3)、逻辑设计阶段
    (4)、物理设计阶段
    (5)、数据库实现阶段
    (6)、数据库的运行与维护阶段

    2、数据库设计的需求分析阶段是如何实现的?目标是什么?

    答:实现步骤:(1)、调查分析用户活动
    (2)、收集和分析需求数据,确定系统边界
    (3)、编写系统需求分析报告
    目标:对系统的应用情况作全面详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据设计者都能够接受的文档。

    3、概念模型有哪些特点?
    答:(1)、语义表达能力丰富。
    (2)、面向用户、易于理解
    (3)、易于更改和扩充
    (4)、易于向各种数据模型转换

    4、概念设计的具体步骤是什么?
    答:(1)、进行数据抽象,设计局部E-R模型,即设计用户视图
    (2)、集成各局部E-R模型,形成全局E-R模型,即视图的集成

    5、试阐述采用E-R方法进行数据库概念设计的过程。

    答:(1)、确定局部E-R图描述的范围
    (2)、画出局部E-R图

    6、在将局部E-R模型合并成全局E-R模型时,应消除哪些冲突?
    答:(1)、属性冲突
    (2)、命名冲突
    (3)、结构冲突

    7、试阐述逻辑设计阶段的主要步骤和内容。
    答:主要步骤:(1)、将E-R图转化为关系数据模型
    (2)、关系模式规范化
    (3)、关系模式优化
    内容:为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型。

    8、规范化理论对数据库设计有什么指导意义?
    答:为了进一步提高数据库应用系统的性能,还应努力减少关系模式中存在的各种异常,改善完整性、一致性和存储效率。

    9、什么是数据库结构的物理设计?试述其具体步骤。
    答:定义:数据库最终要存储在物理设备上,将逻辑设计中产生的数据库逻辑模型结合指定的DBMS,设计出最适合应用环境的物理结构的过程,称为数据库的物理设计。
    步骤:(1)、确定数据库的物理结构
    (2)、评价物理结构

    10、数据库实现阶段主要做什么工作?
    答:(1)、建立数据库结构
    (2)、装入数据
    (3)、应用程序编制调试
    (4)、数据库的试运行
    (5)、文档的整理

    11、数据库投入运行后,有哪些维护工作?
    答:(1)、数据库的转储和恢复
    (2)、数据库的安全性和完整性控制
    (3)、数据库性能的监督、分析和改造
    (4)、数据库的重组织和重构造

    综合题
    1、E-R图如下图所示:
    在这里插入图片描述

    关系模型:
    出版社(出版社名,地址,邮编,电话)
    出版社名为主键
    书(书号,出版社名,读者号,书名,作者,ISBN,借出日期,应还日期)
    书号为主键,出版社名和读者号为外键
    借阅者(读者号,姓名,地址,性别,年龄,单位)
    读者号为主键

    2、
    (1)、E-R图如下图所示:
    在这里插入图片描述

    (2)、关系模式:
    商店(商店编号,商店名,地址,电话属性)
    顾客(顾客编号,姓名,性别,出生年月,家庭地址)
    消费(商店编号,顾客编号,日期,消费金额)

    (3)、商店关系中商店编号为主键
    顾客关系中顾客编号为主键
    消费关系中商店编号、顾客编号和日期为主键,商店编号和顾客编号分别为外键

    第八章

    选择题

    1、A。
    数据库的安全性:是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
    数据库的完整性:数据的正确性和相容性
    数据库的并发控制:保证存取和存储正确的数据,不破坏数据库的一致性
    数据库的恢复:系统把数据库从被破坏、不正确的状态恢复到最近一个正确的状态。
    由以上四个定义可知,答案A正确。

    2、D。
    权限是执行操作、访问数据库的通行证,只有拥有了针对某种对象的指定权限,才能对该对象执行相应的操作。通过该定义可知,权限能控制谁有什么功能来访问数据库,这大大提高了数据库的安全性,故答案D正确。

    3、B。
    由常理课推断,当数据对象的范围越大时,所受的约束条件就越小,那么授权子系统就越灵活,故答案B正确。
    4、A。
    由“授权编译系统”可知,答案A正确。

    5、B。
    存取权限与授权相关,故答案B正确。

    6、B。
    由书9.3.3可知,角色是一个强大的工具,通过它可以将用户集中到一个“组”中,然后对改“组”应用权限。例如可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。故答案B正确。

    7、D。
    数据库系统安全性的主要技术和方法有以上几种:
    (1)、存取控制技术
    (2)、视图机制
    (3)、审计技术
    (4)、数据加密
    故答案A、B、C均属于数据库的安全性。而答案D表示的是数据库的保护,故答案D正确。

    8、D。
    由书9.1.5视图机制可知,有了试视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使要保密数据对无权存取的用户隐藏起来,这样视图机制就自动提供了对机密数据的安全保护功能,故答案D正确。

    9、C。
    已知GRANT和REVOKE语句分别是授予权限和收回权限的SQL语句,而授予和收回权限则实现了数据库的安全性,故答案C正确。

    简答题
    1、什么是数据库的安全性?
    答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

    2、数据库的安全性和计算机系统的安全性有什么关系
    答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
    安全性的问题并不是数据库系统所独有的,所有计算机系统都有这个问题。由于数据库系统中存放大量数据,并为多个用户所共享,使安全性问题更为突出。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。

    3、试述实现数据库安全性控制的常用方法和技术。
    答:实现数据库安全性控制的常用方法和技术有:
    (1)、用户标识和鉴别:数据库会对用户进行标识,系统内部记录所有合法用户的标识,每次用户要求进入系统时,由系统进行核对通过鉴定以确定用户的合法性。
    (2)、存取控制:通过用户权限定义和合法检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
    (3)、视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
    (4)、审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
    (5)、数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

    4、简述SQL Serever2005的安全体系结构。

    (1)、SQL Serever2005的身份验证模式
    a、Windows身份验证
    用户通过Microsoft Windows与用户账户连接时,SQL Serever使用Windows操作系统中的信息验证账户名和密码。
    b、混合模式
    允许用户使用Windows身份验证和SQL Serever身份验证进行连接。

    (2)、SQL Serever2005的安全机制
    a、服务器级别
    服务器级别所包含的安全对象主要有登录名、固定服务器角色等,其中登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。
    b、数据库级别
    数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、构架等。
    c、架构级别
    架构级别所包含的安全对象主要有表、视图、函数、存储过程、类型、聚合函数等。

    5、登录账号和用户账号的联系和区别是什么?
    答:用户账号是登录账号映射到要访问数据库里用户名,但二者不同。
    登录账号:基于服务器使用的用户名,能连接到SQL Server数据库服务器上的帐户。
    用户账号:user帐户,连接数据库的一个帐户,是基于数据库使用的名称。

    6、什么是角色?角色和用户有什么关系?当一个用户被添加到某一角色中后,其权限发生怎样的变化?
    角色的定义:角色是一个强大的工具,通过它可以将用户集中到一个“组”中,然后对改“组”应用权限
    角色和用户的关系:角色可以是管理员或普通用户,而用户名为test的是一个用户,名为test1的则是另一个用户。
    权限的变化:权限在用户成为角色成员时自动生效

    7、简述禁止权限和撤销权限的异同。
    答:相同点:一开始授予的权限均失效
    不同点:禁止权限即拒绝执行某操作,此时就无法再通过角色来获得允许权了;
    而撤销权限即不允许执行某操作,但可以通过加入角色来获得允许权

    综合题
    1、
    (1)、use MyDB
    Grant create table to user1

    (2)、Grant insert,delete,update
    on books to user2
    with grant option

    (3)、Grant select,insert
    on books to user3

    (4)、/user user2/
    Grant delete on books to user3

    (5)、revoke all from user2

    2、
    (1)、create view Student_view1
    as
    select * from Student
    grant select on Student
    to WangMing

    (2)、create view Student_view2
    as
    select * from Student
    grant insert,delete on Student
    to LiYong

    (3)、create view Student_view3
    as
    select * from Student
    grant select,update(Sdept) on Student
    to LiuXing

    (4)、create view Student_view4
    as
    select * from Student
    grant alter on Student
    to ZhangXin

    (5)、create view Student_view5
    as
    select * from Student
    grant all on Student
    to ZhouPing
    with grant option
    3、
    (1)、revoke select on Student
    from WangMing

    (2)、revoke insert,delete on Student
    from LiYong

    (3)、revoke select,update(Sdept) on Student
    from LiuXing

    (4)、revoke alter on Student
    from ZhangXin

    (5)、revoke all on Student
    from ZhouPing

    展开全文
  • 九章 选择题 1、A。 根据书中10.1.2中事务的原子性性质可知,事务在执行过程中,应该遵守“要么不做,要么全做”的规则,故选项A正确。选项B表示的是事务的持久性。选项C表示的是事务的隔离性。选项D表示的是事务...

    第九章

    选择题

    1、A。
    根据书中10.1.2中事务的原子性性质可知,事务在执行过程中,应该遵守“要么不做,要么全做”的规则,故选项A正确。选项B表示的是事务的持久性。选项C表示的是事务的隔离性。选项D表示的是事务的一致性。

    2、D。
    由书中10.2并发控制一节可知,当同一数据库系统中有多个事务并发运行时,如果不加以适当控制,可能产生数据的不一致性故选项D正确。

    3、D。
    事务的一致性要求事务执行完成后,将数据库从一个抑制状态转变到另一个一致状态,故选项D正确。其余选项同题目1。

    4、C。
    同第1题答案概念相同,故选项C正确。

    5、B。
    同第1题答案概念相同,故选项B正确。

    6、C。
    数据库安全性控制:目的是保证数据库的任何部分都不会受到未授权的访问和修改,防止数据泄露和被破坏。
    数据库完整性控制:保证数据的正确性和相容性,防止不合语义的数据进入数据库。
    数据库并发控制:对并发事务之间的相互作用加以控制,保证存取和存储正确的数据,不破坏数据库的一致性。
    数据库可靠性控制:可靠性控制要由外部数据完整,性控制,事务原子性控制,网、络分割/场地毁损检测与处理,事务正确性控制,并发控制和内部数据完整性控制这六部分组成。
    由题意可得,“每个用户好像正在使用一个单用户数据库”体现的是多个事务同时工作,因为使用了并发控制,使得每项事务有序进行,故选项C正确。

    7、D。
    X锁即排他锁,由排他锁的定义我们可知,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁,故选项D正确。

    8、D。
    在《死锁的预防》一节中提出:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后有都请求对方为其他事务封锁的数据对象加锁,从而出现死锁,故我们可知,在数据库系统中是存在死锁的,所以答案A不正确。一直死锁的预防靠封锁法,故答案B不正确。死锁产生的原因正是因为两个用户竞争相同的资源,故答案C不正确。故答案D正确

    9、C。
    由书可知,解决并发操作的方法是封锁协议,故选项C正确。

    10、D。
    由书中10.3.3节中可知,数据库运行过程中发生的故障通常分为事务故障、系统故障和介质故障三类,故选项D正确。

    简答题

    1、什么是数据库的完整性?数据库的完整性包括哪几种?

    数据库的完整性:数据的正确性和相容性。
    数据库的完整性包括以下三种:域完整性、实体完整性、参照完整性

    2、数据库的完整性概念与数据库的安全性概念有什么区别和联系?

    答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。
    前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果;后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

    3、简述事务的概念和事务的四个特性,并解释每一个性质由DBMS的哪个子系统实现,每一个性质对DBS有什么益处。

    事务的概念:事务是数据库应用中构成单一逻辑工作单元的操作集合
    事务的四个特性及实现与益处:

    ①、事务的原子性:每个事务的所有操作要么被成功地执行,要么一个也不被执行。
    原子性是由DBMS的事务管理子系统实现的。
    事务的原子性保证了DBS的完整性。

    ②、事务的一致性:一个事务的正确执行必须数据库从一个正确状态转换为另一个正确的状态。
    事务的一致性是由DBMS的完整性子系统实现的。
    事务的一致性保证数据库的完整性。

    ③、事务的隔离性:多个并发事务之间不能相互干扰,同时并发不影响事务的执行。
    事务的隔离性是由DBMS的并发控制子系统实现的。
    隔离性使并发执行的事务不必关心其他事务,如同在单用户环境下执行一样。

    ④、事务的持久性:事务对数据库的更新必须是永久的;事务一旦提交,则永久改变数据库中的数据。
    持久性是由DBMS的恢复管理子系统实现的。
    持久性能保证DB具有可恢复性。

    4、并发操作可能会产生哪几类数据不一致性?分别用什么方法可以避免各种不一致的情况?

    ①、丢失更新:采用一级封锁协议解决

    ②、污读:采用二级封锁协议解决

    ③、不可重读:采用三级封锁协议解决

    5、简述封锁的概念以及基本的封锁类型。

    封锁的概念:事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁,加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
    基本的封锁类型:①、排他锁
    ②、共享锁

    6、什么是封锁协议?简述不同级别的封锁协议的主要区别。

    封锁协议的定义:在运用X锁和S锁对数据对象加锁时,需要约定一些规则,这些规则为封锁协议
    主要区别:①、一级封锁协议:事务T在修改数据R之前必须先对其加排他锁,直到事务结束才释放。它防止了丢失更新问题,但不能保证可重读和不读“脏”数据。

    ②、二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。它防止丢失更新问题,也进一步防止读“脏”数据,但不能解决不可重读问题。

    ③、三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。它防止了丢失更新问题、读“脏”数据,以及不可重读问题。

    7、数据库恢复的基本原则是什么?具体实现方法是什么?
    基本原则:数据库的重复存储
    具体实现方法:①、转储和建立日志
    ②、数据恢复

    8、什么是“脏”数据?如何避免读取“脏”数据?
    “脏”数据定义:不正确的临时值
    如何避免:采用二级封锁协议或者三级封锁协议

    9、什么是活锁?试述活锁产生的原因及解决办法。
    活锁的定义:多个事务申请对数据R申请加锁,而系统随机地加锁,导致某些事务长等待
    活锁产生的原因:系统随机地加锁
    解决办法:采用“先来先服务”的策略预防活锁的发生

    10、什么是死锁?试述死锁产生的原因及解决办法。
    答:死锁的定义:两个或两个以上的事务互相申请对方加锁对象的排它锁,造成了循环等待
    死锁产生的原因:系统中有两个或两个以上的事务都处于等待状态,并且每个事务都在等待其中另一个事务解除封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这样系统就进入了死锁状态。
    解决办法:①、死锁的预防:一次封锁法、顺序封锁法

    ②、死锁的诊断与解除:超时法、等待图法

    ③、选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去。

    第十章

    问答题
    1、请解释下列名词

    ①、数据仓库:数据仓库是支持管理决策过程的、面向主题的、集成的、随时间而增长的、持久的数据集合。

    ②、粒度:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。

    ③、分割:分割是将数据分散到各自的物理单元中去,以便能分别独立处理,以提高数据处理的效率。

    ④、维:维是人们观察数据的特定角度,是考虑问题时的一类属性。

    ⑤、星形模型:星形模型是一个事实表同时连接很多多维表,类似星形状。

    ⑥、雪花模型:雪花模型是对星形模型的扩展,每个维都可以沿半径向外连接到多个维。

    2、简述OLAP与OLTP的异同点

    相同点:OLAP与OLTP都是数据处理的方式

    不同点:
    在这里插入图片描述
    3、简述数据仓库与数据挖掘的关系

    答、数据仓库技术的发展与数据挖掘有着密切密切的关系,数据仓库的发展是促进数据挖掘越来越热的原因之一。数据挖掘和数据仓库作为决策支持新技术,在近十年来得到迅速发展。作为数据挖掘对象,数据仓库技术的产生和发展为数据挖掘技术开辟了新的战场,同时也提出了新的要求和挑战。数据仓库和数据挖掘是相互结合起来一起发展的,二者是相互影响,相互促进的。但是,数据仓库并不是数据挖掘的先决条件,因为有很多数据挖掘可直接从操作数据源中挖掘信息。

    4、简述你对数据仓库未来发展趋势的看法。

    答:数据仓库是数据管理技术和市场上一个方兴未艾的领域,有着良好的发展前景。数据仓库技术的发展自然包括数据抽取、存储管理、数据表现和方法论等方面。在数据抽取方面,未来的技术发展将集中在系统集成化方面。它将互连、转换、复制、调度、监控纳入标准化的统一管理,以适应数据仓库本身或数据源可能的变化,使系统更便于管理和维护。
    在数据管理方面,未来的发展将使数据库厂商明确推出数据仓库引擎作为服务器产品与数据库服务器并驾齐驱。在这一方面,带有决策支持扩展的并行关系数据库将最具发展潜力。在数据表现方面,数理统计的算法和功能将普遍集成到联机分析产品中,同时与Internet/Web技术紧密结合,推出适用于Internet、终端免维护的数据仓库访问前端。
    软件产品的发展日新月异,作为数据管理市场的热点,数据仓库必定会占据越来越广的市场。为了在市场中占据有有利的竞争地位,各个数据仓库的主流厂商也必定会不断发展完善自己的产品。

    5、简述数据仓库的特点。
    ①、面向主题
    业务系统是以优化事务处理的方式来构造数据结构的,对于某个主题的数据常常分布在不同的业务数据库中,这对于商务分析和决策支持来说是极为不利的,因为这意味着访问某个主题的数据实际上需要去访问多个分布在不同数据库中的数据集合。
    数据仓库将这些数据集中于一个地方,在这种结构中,对应某个主题的全部数据被存放在同一数据表中,这样决策者可以非常方便地在数据仓库中的一个位置检索包含某个主题的所有数据。

    ②、集成
    操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的;而数据仓库中的数据是在对原有分散的数据库数据作抽取、清理的基础上经过系统加工、汇总和整理得到的。所以,必须在某一个主题的统帅下,需要将数据进行提取、净化、转换和装载等集成操作。

    ③、稳定
    业务系统一般只需要当前数据,在数据库中一般也存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中每一个变化的瞬态。但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。没有历史数据的详细分析是难以把握企业的发展趋势的,因此,数据仓库对数据在空间和时间的广度上都有了更高的要求。
    一般情况下,数据仓库的数据一旦加载,将作为数据档案长期保存,几乎不再做修改和删除操作。数据仓库可以看成是一个虚拟的只读数据库系统。在数据集成性中已经说明了数据仓库在数据存储方面是分批进行的,定期执行提取过程为数据仓库增加记录,但是这些记录一旦加入,就不再从系统中删除。正是由于数据仓库的这个显著特点,使得数据仓库不需要在并发读写控制上投入过多的精力,因为所有的用户只是以只读的方式访问数据仓库。

    ④、随时间变化
    业务数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含较久远的历史数据,因此总是包括一个时间维,以便可以研究趋势和变化。数据仓库系统通常记录了一个单位从过去某一时期到目前的所有时期的信息,通过这些信息,可以对单位的发展历程和未来趋势作出定量分析和预测。

    6、什么是空间数据库?简述空间数据库的特点及用途。
    定义:空间数据库是以描述空间位置和点、线、面、体特征的拓扑结构位置数据及描述这些特征性能的属性数据为对象的数据库。

    特点:空间数据用于表示空间物体的位置、形状、大小和分布特征等信息,描述所有二维、三维和多维分布的关于区域的信息,它不仅具有表示物体本身的空间位置及状态信息,还具有表示物体的空间关系的信息。目前的空间数据库成果,大多数以地理信息系统的形式出现,主要应用于环境和资源管理、土地利用、城市规划、森林保护、人口调查、交通、税收、商业网络等领域的管理与决策。

    用途:空间数据库的目的是利用数据库技术实现空间数据的有效存储、管理和检索,为各种空间数据库用户服务。目前,空间数据库的研究,主要集中于空间关系和数据结构的形式定义,空间数据的表示与组织,空间数据查询语言,空间数据库管理系统。

    展开全文
  • 数据库原理与应用实验指导与习题解答第2版 宋金玉陈萍陈刚 编著 数据库原理与应用第二版 课后习题答案 从第85页开始
  • [数据库原理与应用第2版)][高凯][程序源代码]包含数据库的内容
  • 宋金玉等编著,《数据库原理与应用》(第2版),清华大学出版社,配套课件。仅供学习使用,请勿用于任何商业用途
  • 1章 数据概述 一选择题 1下列关于数据库管理系统的说法错误的是 C A数据库管理系统操作系统有关操作系统的类型决定了能够运行的数据库管理系统的类型 B数据库管理系统对数据库文件的访问必须经过操作系统实现...
  • 1 1 章 数据概述 一选择题 1下列关于数据库管理系统的说法错误的是 C A 数据库管理系统操作系统有关操作系统的类型决定了能够运行的数据库管理系统的类型 B数据库管理系统对数据库文件的访问必须经过操作系统...
  • 外键:设F时关系R的一个或一组属性,如果F关系S的主键相对应,则F时关系R的外键 5 关系:关系就是二维表 6 关系模式:二维表的结构 7 关系数据库:对应于一个关系模型的所有关系的集合 3 实体完整性,关系数据库中...
  • 1 略 2 一个实例代表一个独立的数据库系统 3 SQL server 4 配置管理器 5 两个文件,数据文件和日志文件 6 主要数据文件和次要数据文件, 文件名及其位置 初始大小 增长方式 最大大小
  • 本节书摘来自华章出版社《数据库原理与应用(第3)》一 书中的第2章,作者:何玉洁,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 第2章 数据模型与数据库系统结构 第1章我们介绍了数据库技术对管理...
  • 2 文件管理->数据库管理 3 相互关联的数据集合; 较少的数据冗余; 程序数据相互独立; 保证数据的安全和可靠; 最大限度地保证数据的正确性; 数据可以共享并能保证数据的一致性; 4 不需要 在关系数据库中,...
  • 宋金玉等编著,《数据库原理与应用》(第2版)实验指导与习题解答,清华大学出版社,2015年。仅供学习使用,请勿用于任何商业用途
  • 用一种模型满足数据模型的要求比较困难,因此在数据库领域中针对不同的使用对象和应用目的,采用不同的数据模型来事先。根据模型应用的不同目的,可以将模型分为两类 2 概念层数据模型:现实世界抽象成信息世界,对...
  • 1 create table book( Bno char(6) primary key, Bname varchar(30) not NULL, ...2 create table bookstore( Stono char(6) primary key, Stoname varchar(30) not NULL, Tel char(8) check (tel lik.
  • 2 分钟 3 p精度,S小数位数 4 一个是非unicode 一个是unicode char (n)存放N个字节的字符,字母n个,汉字n/2个 nchar(n)代表能存放的字符个数(全是2n) 5 char(n)固定长度,分配固定存储空间 varchar(n)不...
  • 2 隐式事务,Iso 显式事务,T-sql 3 避免多个事务之间的互相干扰 4 加锁 5 6种 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 6 S锁 7 相互等待对方释放资源 8 诊断死锁 超时法和事务等待图法 解除死锁:将代价最小的事务...
  • 2 count()包含NULL,count(列名)不包含NULL 3 count() 4 数值类型的列 5 外连接会保存一个表的全部数据,而内连接只有两个表满足连接条件的数据 6 取表中前若干行的数据 7 是去掉查询结果中重复行的数据 8 嵌...
  • 2数据库对象拥有者,对其所拥有的对象具有全部权限 3对数据库增删改查的权限 3 window身份验证和SQLServer身份验证 4 授予权限 收回权限 拒绝权限 5 用户自己建立的角色,作用是简化数据库用的权限管理 6 普通用户,...
  • 三范式:如果R(U,F)∈2NF,并且所有的非主属性都不传递依赖于主键,则为三范式 3 完全函数依赖:如果X决定Y且X的任意一个真子集X1都有X1不决定Y,则称Y完全依赖于X 部分函数依赖:如果X决定Y且X的任意一个真...
  • 2 select Sname,Sage from Student 3 select Sno,Cno,Grade from SC Where Grade between 70 and 80 4 select Sname, Sage from Student where Sage between 18 and 20 5 select Top 1 Grade from SC where Cno = ...
  • 2 聚集索引,非聚集索引, 聚集索引首先按聚集索引列的值对数据进行物理排序,然后在此基础上直接建立索引B树, 非聚集索引系统直接再现有数据存储顺序的基础之上直接建立索引B树,B书的索引项是有序的。 3 一个聚集...
  • 需求分析,结构设计,行为设计,数据库实施,数据库运行和维护 3 概念结构设计,逻辑结构设计,物理结构设计 4 检查文档,面谈,观察操作中的业务,研究和问卷调查 5 丰富的语义表达能力 易于交流和理解 易于更改 ...
  • 2 count()包含NULL,count(列名)不包含NULL 3 count() 4 数值类型的列 5 外连接会保存一个表的全部数据,而内连接只有两个表满足连接条件的数据 6 取表中前若干行的数据 7 是去掉查询结果中重复行的数据 8 嵌...
  • (1) 实体Entity 客观存在并可相互区别的事物称为实体可以是具体的人事物或抽象的概念 (2) 属性Attribute 实体所具有的某一特性称为属性一个实体可以由若干个属性来刻画 (3) 码Key 唯一标识实体的属性集称为码 (4) ...
  • 数据库原理与应用(第二)-电子教案(人民邮电出版社) 第1章 数据库系统概述 第2章 关系数据库数学模型 第3章 关系数据库设计理论 第4章 Access数据库设计 …… 第11章 面向对象程序设计语言—VBA 第12章 复杂...
  • 1-1 create proc P1_1 AS select Student.Sno,Sum(Credit) from Student join SC on Student.Sno = SC.Sno ...1-2 create proc P1_2 @dept char(10) AS select Student.Sno,Sname,SC.Cno,Cname,Credit from Student jo.
  • create login log1,log2,log3 3 不行,因为没有权限 4 grant select on Course to log1 grant insert on Course to log2 可以,有权限了 5 可以 有insert权限 不行 没select权限 6 可以 不行 没insert权限 7 grant ...
  • 2 可以 3 可以通过输入输出参数 4 输入参数,输出参数 5 判断执行update delete insert语句是否符合约束要求 前触发不执行目标代码,先执行触发器,后触发先执行代码,再执行触发器 6 inserted 插入操作想要插入的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 776
精华内容 310
关键字:

数据库原理与应用第2版