第一章
1.DBMS的主要功能有那些?
答:DBMS是数据库管理系统。其主要功能有:
(1)数据定义
有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。DDL翻译程序还根据模式定义负责建立数据库的框架(即形成一个空库),等待装入数据。
(2)数据组织,数据存储和数据管理
有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取方法。
(3)数据操纵
有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查,有数据存取或更新程序完成对数据库的存取操作。
(4)数据库的事务管理和运行管理
数据库在建立,运用和维护是由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用及发生故障后的系统恢复。
(5)数据库的建立和维护功能
数据库初始数据的输入,转换功能;数据库的存储,恢复功能;数据库的重组织功能和性能监视,分析功能等。
(6)其他功能:DBMS与网络中其他软件系统的通信功能;一个DBMS也另一个DBMS或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
2.叙述数据模型的三个要素。
答:(1)数据结构:数据结构描述数据库的组成对象以及对象之间的联系。也就是说,数据结构描述的内容有两类:一类是与对象的类型,内容,性质有关的;一类是与数据之间联系有关的对象。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。
(3)数据完整性约束条件:数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
3.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。
答:
4.试述数据库系统三级模式结构,这种结构的优点是什么?
答:三级模式结构:外模式、模式和内模式
(1)模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
(1)模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
① 一个数据库只有一个模式;
② 是数据库数据在逻辑级上的视图;
③ 数据库模式以某一种数据模型为基础;
④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
(1)外模式(External Schema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)
能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)内模式(Internal Schema)
定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
① 一个数据库只有一个内模式;
② 一个表可能由多个文件组成,如:数据文件、索引文件。
(3)内模式(Internal Schema)
定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
① 一个数据库只有一个内模式;
② 一个表可能由多个文件组成,如:数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
① 为了减少数据冗余,实现数据共享;
② 为了提高存取效率,改善性能。
其目的有:
① 为了减少数据冗余,实现数据共享;
② 为了提高存取效率,改善性能。
第二章
1.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。
答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。
2、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
2)求供应工程J1零件P1的供应商号码SNO数据库系统包括db dbms dba:
1)求供应工程J1零件的供应商号码SNO:
2)求供应工程J1零件P1的供应商号码SNO数据库系统包括db dbms dba:
3)求供应工程J1零件为红的供应商号码SNO:
4)求没有使用天津供应商生产的红零件的工程号JNO:
4)求没有使用天津供应商生产的红零件的工程号JNO:
答:(1)SNO: πSno(σSno=‘J1'(SPJ))
(2)SNO: πSno(σSno=‘J1'∧Pno=‘P1‘(SPJ))
(3)SNO: πSno(σPno=‘P1‘ (σCOLOR='红‘ (P)∞SPJ))
(4)JNO: πJno(SPJ)- πJNO(σcity=‘天津'∧Color=‘红‘ (S∞SPJ∞P)
第三章
1.针对上题中建立的 4 个表试用 sQL 语言完成第二章习题 5 中的查询。
( l )求供应工程 Jl 零件的供应商号码 SNO ;
(2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ;
(3)求供应工程 Jl 零件为红的供应商号码 SNO ;
(4)求没有使用天津供应商生产的红零件的工程号 JNO
( l )求供应工程 Jl 零件的供应商号码 SNO ;
(2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ;
(3)求供应工程 Jl 零件为红的供应商号码 SNO ;
(4)求没有使用天津供应商生产的红零件的工程号 JNO
(5)出工程项目J2使用的各种零件的名称及其数量。
(6)出上海厂商供应的所有零件号码。
(7)出使用上海产的零件的工程名称。
(8)把全部红零件的颜改成蓝
(9)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
(10)请将(S2,J6,P4,200)插入供应情况关系。
(6)出上海厂商供应的所有零件号码。
(7)出使用上海产的零件的工程名称。
(8)把全部红零件的颜改成蓝
(9)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
(10)请将(S2,J6,P4,200)插入供应情况关系。
答: (1) SELECT DIST SNO FROM SPJ WHERE JNO='J1'
(2)SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
(3)SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'
(4)SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
(5)SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'
(6)SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'
(7)SELECT JNAME FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO
(8)UPDATE P SET COLOR='蓝' WHERE COLOR='红'
(9)A、DELETE FROM S WHERE SNO='S2' B、DELETE FROM SPJ WHERE SNO=‘S2'
(10)INSERT INTO SPJ VALUES(‘S2',‘J6',‘P4',200)
2.什么是基本表?什么是视图?
答:基本表是本身独立存在的表,在 sQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。第四章
1.试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有:
答:实现数据库安全性控制的常用方法和技术有:
( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
( 2 )存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。
( 3 )视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,出非法存取数据的人、时间和内容等。
( 5 )数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获
知数据的内容。
2.请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(a )用户王明对两个表有SELECT 权力。
(b)用户李勇对两个表有INSERT 和DELETE 权力。
(c ) 每个职工只对自己的记录有SELECT 权力。
(d)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
(e)撤销各用户所授予的权力。
(a )用户王明对两个表有SELECT 权力。
(b)用户李勇对两个表有INSERT 和DELETE 权力。
(c ) 每个职工只对自己的记录有SELECT 权力。
(d)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
(e)撤销各用户所授予的权力。
答:
(a)GRANT SELECT ON 职工,部门 TO 王明
(b)GRANT INSERT,DELETE ON 职工,部门 TO 李勇
(c) GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;
(d) GRANT ALL PRIVILIGES ON 职工,部门 TO 周平
(e) Student.Sdept='IS'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论