大家好,又见面了,我是你们的朋友全栈君。
为了方便 之后的大题都放在这里
第一道大题——ER图和关系模式
相关参考资料:
(一)什么是ER图?
(1)概念
ER图:实体关系图,简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式
(2)要素
3要素:实体、属性和关系
(3)表示
**实体**型: 用矩形表示,**矩形框内**写明实体名;
**属性**: 用**椭圆形**或圆角矩形表示,与相应的实体连接起来;多值属性由双线连接;
主属性名称下加下划线;
**联系**:用**菱形**表示,菱形框内写明联系名,与有关实体连接起来,同时在无向边旁标上联系的类型
(4)关系
在E-R图中要明确表明1对多关系,1对1关系和多对多关系。
1对1关系在两个实体连线方向写1;
1对多关系在1的一方写1,多的一方写N;
多对多关系则是在两个实体连线方向各写N,M
用于需求分析阶段,例题题目:
ER图
关系模式
第二道大题——SQL语句填空
1)使用FOR或AFTER选顶定义的触发器为后触发器,即只有在引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。
2)使用INSTEAD OF选顶定义的触发器为前触发器。这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。
在触发器语句中可以使用两个特殊的临时工作表:INSERTED表和DELETED表。这两个表是在用户自行数据的更改操作时,SQL Server自动创建和管理的。
其中INSERTED表是用于存储INSERT和UPDATE语句所影响的行的副本。而DELETED表用于存储DELETE和UPDATED语句所影响的行的副本。
建立触发器语法是:
CreateTRIGGER trigger_name
ON { table | view }
{
{ { FOR |AFTER | INSTEAD OF } { [ Insert ] [ , ] [ Update ] }
AS
[{ IF Update (column )
[{ AND | or } Update ( column )]
[…n ]
| IF ( COLUMNS_UpdateD ( ) { bitwise_operator } updated_bitmask)
{ comparison_operator } column_bitmask […n ]
}]
sql_statement […n ]
}
}
第三道大题——案例分析
【解题思路】
本题考查的是分区表的相关知识和数据库运行环境和参数调整知识。
(1)分区表是将表中的数据按照水平方式分成不同的子集,这些数据子集存储在数据库的一个或多个文件组中。合理使用分区会在很大程度上提高数据库的性能。是否创建分区表主要取决于表当前的数据量大小以及将来数据量大小,同时还取决于对表中数据进行的操作特点。通常,如果某个大型表同时满足下列条件,则比较适合于进行分区:①该表包含(或将包含)以多种不同形式使用的大量数据,②数据是分段的,比如数据以年份分隔。然而,数据量大并不是创建分区表的唯一条件**,如果表中大量的数据都是经常使用的数据,而且他们的操作方式基本是一样的,则最好不要使用分区表**。而对数据的操作只涉及一部分数据而不是所有数据时,可以考虑建立分区表。
(2)对于CPU、内存、磁盘等硬件设备在空闲时使用率超过90%,说明硬件资源匮乏。如果在高峰时使用率小于90%说明硬件资源充足。
对于分区表来说,如果对某表中当前分段数据,经常进行的操作是添加、修改、删除、查询,而对于其他的数据,则几乎不操作,或者操作仅限于查询,那么就可以对表进行分区。使用RAID时,可以将基本表和建立在表上的索引分别放在不同的磁盘上,这样访问基本表时,存放数据和存放索引的磁盘驱动器并行工作,可以得到较快的文件读写速度;类似的,日志文件与数据对象(表、索引等)也可分别存放在不同磁盘上以改善系统的I/O性能。**RAID1相对于RAID0来说提高了读速度,加强了系统的可靠性,但是写效率没有提高。**在RAID中,如果不考虑价格因素,其实RAID10最适合,它是一个RAID0与RAID1的组合体,它继承了RAID0的快速和RAID1的安全,同时读写速度均提高。但题目中主要考查读能力,因此RAID1比RAID0更适合些。
答案:
[1]对登录日志表中在登录时间列上以月为单位创建右侧分区函数,将登录日志表分成12个分区,每个分区对应一年中一个月的值。因为操作仅限于查询,建立分区表可以有效的提高查询效率。
[2]釆用方案2。对于CPU、内存、磁盘等硬件设备在空闲时使用率超过90%,说明硬件资源匮乏。如果在高峰时使用率小于90%说明硬件资源充足。本题中,内存和磁盘的使用率都高于90%,而CPU的使用率不高于50%,说明**内存、硬盘的资源匮乏,需要调整,而CPU的资源充足不需要调整。**因此在硬件调整时,应提高内存的容量和硬盘的访问效率。RAID1相对于RAID0来说提高了读速度,加强了系统的可靠性,但是写效率没有提高。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150615.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...