下载频道  >  湖南文理的资源
  • 湖南文理学院2019上学期(大三下)计算机科学与技术专业网络安全,密码学复习提纲(可直接打印).pdf

    湖南文理学院2019上学期(大三下)计算机科学与技术专业网络安全,密码学复习提纲: 密码系统由哪些元素构成,它们分别有什么含义。 简单说明什么是密码系统,它有哪写部分所构成 试说明什么是计算机信息系统,物理安全,信息安全? 分组密码算法在实际应用过程中有4个模式,它们分别是哪些? OSI 安全框架有哪些内容;概念;机制和服务模型 如何认识网络信息安全,它有哪些主要威胁,它们的含义分别是什么 一次一密有什么特征 一个密码系统由哪些元素所组成。何谓对称密码和公钥密码 什么是分组密码,分组密码和流密码有什么区别 什么是哈希函数,一个哈希函数必须具备哪些基本性质,它能应用在哪些场景 试简要说明 SHA-512 的执行过程 什么是消息验证码(MAC),对比它和哈希算法在安全性能上的不同 Feistel 模型是分组密码的经典模型;它的实现依赖于哪些参数,它们分别如何影响安全性 影响密码系统安全性的参数除了密钥长度,分组长度等算法参数外,还有工作模式,试说明 在哪些主要工作模式和它们的简写,并指出其典型应用场景,哪些使用了 IV,哪些只使用 了加密函数,哪些转化为流算法,哪些适用并行计算? OSI 安全框架也就是 ITU-T 所提出 X.800 框架,它定义了安全攻击,安全机制,安全服务; 试说明 3 个要概念的含义;并指出分别存在哪些典型的攻击,机制与服务? 分组密码和流密码的主要区别在哪里;攻击密码体制的主要方法有两种 什么是一次一密,为什么说它是一种绝对安全的密码体制,它是否实用,为什么? 什么是单向陷门函数,公钥密码算法应满足哪些要求 利用 GF(2^8)的点乘运算,计算 3•(6E)=? 手工计算 0x57•0x13=? 什么是公钥密码,公钥密码算法由哪些元素构成。 设计公钥密码算法必须满足哪些要求,该算法有哪些应用? 已知 q=13 , g=7 ;A 和 B 分别选择随机数 Xa=5 ,Xb=8 试写 DH 公钥密码算法的密钥 协商过程,并求其协商后的密钥。 有限域在密码中得到广泛应用,试说明有限域的定义,p=5 情况下完成下表;并判断 F5<+5,×5> 是否构成域。其中 F5={0,1,2,3,4} 1. 【一次一密】体制是不可攻破的,它要求密钥和明文一样长,给密钥的产生和分配带来 现实性难题 2. AES 算法【美】国,【2001】年底,完成最终标准的,被认为是当今分组密码中最安全 的算法。它每轮由四个步骤组成,依次为:【字节代替】,【列移位】,【列混淆】,【轮密钥加】 3. AES 算法是替代 DES 成未来 10 年分组密码算法,它没采用 DES 的费斯妥结构,它的 每轮依次由四个操作构成【字节代替】【列移位】,列混淆和【轮密钥加】。 4. DES 是 DES 的一种变种。它的工作过程如下:如它采用 3 个不同的工作密钥,使得整 个密钥的长度为【168】位。 5. DES 算法提出以后;密码分析方法也取得相应进展,提出了【 差分密码分析】和线性 密码分析,其中前者只有在有相当多的密文条件下,才具有理论意义。 6. ITU-T 提出 X.800 的安全框架又称【OSI 安全框架】,这是是信息安全领域国际范围内 定义的一种系统化标准化描述方法,它定义了【安全攻击】、【安全机制】、【安全服务】。传 统的信息 安全主要依靠行政手段和物理手段来保证。由于计算机的使用和分布式系统介入, 要求人们采用自动化工具保护计算机数据,称为【计算机安全】同时也需要保护数据据传输, 称【网络安全】 7. SHA-1 是在 MD5 之后推出的哈希算法,它也一次对固定长度的消息进行处理,而且 产 生固定长度的哈希值,在哈希过程当中,最后得到【160】位的消息摘要值 8. 公司对电脑密码的强度要求是:字母加数字组合【8】位以上。 9. 将明文转换为密文的操作类型上,基于操作有两类【代替】和【置换】,还有一类多层 反复使用前两者,称为【乘积】密码系统,如近代算法 DES。 10. 密码系统构成的 5 个基本成分是【明文】、它作为算法输入,【加密算法】、它对前者进 行 变换,【密钥】、它也是输入,但它独立前二者,【密文】、它是输出,【解密算法】,最后 一个可认为是一种可逆运算。 11. 任意的整数a 能且仅能写成一种如下积的形式,那么数 9000 可唯一地分解为【23*32*53】 12. 数据安全包含【可用性】、【完整性】、【保密性】三个基本特性。 13. 通过同余式计算 3201 % 11=【3】。 14. 通过同余式计算 560 模 56 的的余数是【1】 15. 为了掩盖密文的统计特征,香农将两个概念【混淆】和【扩散】引入密码分析;前者指 的 是明文统计特征消散在密文当中。 16. 维吉尼亚算法比凯撒算法有更高的安全性,将空格字符定义为第 26 个字符,则使用 不 密钥词” best ”来加密” huas ”的到的密文串为【21】。 17. 信息安全四大要素是:【技术】【制度】、【流程】、【人】。 18. 影响加密安全性的除算法外,还有算法的工作模式,其中 CBC 模式可用用于加密大 量 数据,其中文名称为【密文分组链接】,OFB 模式的中文名称为【输出反馈】;它转化为了流 密码。 19. 员工离开自己的计算机时要立即设置【锁屏】。 20. "在模 p=7 的剩余{0,1,2,3,4,5,6}可以定义为有限域,其中加法为+p,加法幺元为 0, 21. 乘法为×p,乘法幺元为 1,对于乘法,除元素【0】以外的元素都有逆元。" 22. 在信息安全领域美国有两个很有名的机构联邦调查局 FBI 和 NSA,后者的中文名称分 别是【美国国家安全局】。 23. 中国工商银行的给每个工行网络银行用户配备了一个 U 盾,用于网络银行支付,其 算 法使用了 1024 位的RSA算法,1024 位指的是公钥数偶中【密钥】的长度 公开密钥密码体制”的含义是【B 】。 A、将所有密钥公开 B、将私有密钥公开,公开密钥保密 C、将公开密钥公开,私有密钥保密 D、两个密钥相同 225-x是47的倍数,则x为【C】 A.1 B.2 C.4 D.7 a=7,b=5,c=11则a/b≡z %c,则 Z 等于【C】 z=7/5=7x/5x=>7x/5x=>5x=1=>x=9=>7*9=8 A.6 B.4 C.8 D.2 n=35,则n的欧拉函数值为【C 】 A.34 B.4 C.24 D.7 PGP加密技术是一个基于【A 】体系的邮件加密软件。 A、RSA 公钥加密 B、DES 对称密钥 C、MD5 数字签名 D、MD5 加密 PKI的主要组成不包括(C) A CA B SSL C RA D CR SHA-512能对消息M进行哈希,计算得到消息M的摘要值,M的最大长度为【B】 (A)128bits (B)2128 bits (C)2128 MB (D)2128 Bytes 比特币是___D____。 A、美国法定货币 B、网络通用电子货币 C、国际通用货币 D、有一定流通性和认可性 的虚拟货币 采用美国数据加密标准DES进行数据加密时,加密算法中的基本运算不包括【A】。 A.模幂运算 B.排列运算 C.替换运算(S 盒子) D.移位运算 常规的数据加密标准DES采用【B】有效密钥位对64位的数据块进行加密。 A.64 B.56 C.112 D.128 常规的数据加密标准DES对【A】位的数据块进行加密。 A.64 B.56 C.112 D.128、 对于RSA算法不正确的是【C】 A.RSA 算法可用于某种数字签名方案 B.RSA 算法的运算速度比 DES 慢 C.RSA 算法是一种对称加密算法 D.RSA 的安全性主要基于素因子分解的难度 分组密码有多个工作模式,它们也对保密安全性影响很大,其中,只能用于加密极少量分组 的模式是【A】 A.ECB(电码本) B.OFB(输出反馈)C.CBC(密文分组链接);D.CFB(密文反馈)。 公钥密码算法的功能主要有三类;保密通信,数字签名,密钥交换,下列算法当中,同时具 有三种功能的是【D 】。 A.ECC B.DSS C.DH D.SHA-512 公钥密码算法的功能主要有三类;保密通信,数字签名,密钥交换,下列算法当中,只能用 于协商密钥的是【 C 】。 A.ECC B.DSS C.DH D.SHA-512 公钥密码算法一般都是基于某个难题,基于离散对数问题(DLP)的公钥算法是【B 】。 A.RSA 算法。 B.椭圆曲线密码算法 C.DH 算法 D.以上都不对。 公钥密码算法一般都是基于某个难题,基于整数因子分解难题(IFP)的公钥算法是【 A】。 A.RSA 算法。 B.椭圆曲线密码算法 C.DH 算法 D.以上都不对。 关于 RSA 算法下列说法不正确的是【C 】。 A.RSA 算法可用于某种数字签名方案 B.RSA 算法的运算速度比 DES 慢 C.RSA 算法是一种对称加密算法 D.RSA 的安全性主要基于素因子分解的难度 关于RC4算法下列结论不正确的是【 D】 A.它是一个对称算法。 B.它由 RSA 公司开发 C.它的密钥最长 256 字节。 D.它可以用于数字签名。 关于哈希算法下列说法不正确是【 D】。 A.具有单向性。 B.具有强抗冲突性。 C.是不可逆的。 D.可用于加密。 关于模运算,下列等式可结论不成立的是【C 】 A.[(a% m)±(b% m)] % m≡(a±b)%m B.[(a% m)*(b% m)]%m≡[ra×rb] % m C.ab≡ac%m 则 b≡c%m D.a≡b (%m)则: %m。 关于消息验证码MAC,如果接收方收到的MAC与计算得到的MAC相等,则下列描述正确 的是【D】。 A.接收方可以相信消息未改动 B.接收方可以相信消息来自真正的发送方 C.如消息有有序列号,可信为顺序列是对的 D. 可由 MAC 反算法消息。 局域网中用来运行网络操作系统的设备是___D____。 A. 网络工作站 B. 网桥 C. 网关 D. 网络服务器 可以认为数据的加密和解密是对数据进行的某种变换,加密和解密的过程都是在的【C 】 控制下进行的。 A.明文 B.密文 C. 密钥 D.消息 美国数据加密标准DES描述不正确的是【B】。 A 它是分组算法 B.它是公钥密码算 C.它有效密钥 56 位 D.它生成了 16 个子密钥 社会工程学常被黑客用于踩点阶段信息收集(A) A 口令获取 B ARP C TCP D DDOS 使用PGP 6 对剪切板消息进行对称加密,必不可少的操作为【B】? (A)从公钥列表中选择接受者的公钥 (B)选择 Conventional Encryption 选项 (C)先从 PGP 服务器下载接受者的公钥 (D)以上说法都不对 使用PGP 6 对剪切板消息进行加密,要选择Clipboard 菜单的【B】? (A)Decrypt (B)Encrypt (C)Encrypt and Sign (D)Decrypt and Verify 使用PGP 6 为邮箱产生公私钥对时,它提供了2类算法Diffle Hellman 和RSA,其中它能支 持的RSA密钥最大长度为【B】? (A)1024bits (B)2048bits (C)4096bits (D)任意长 使用SHA512对”www.huas.cn”进行哈希,必须填充【B】个0x00字节 (A)100 (B)101 (C)102 (D)103 使用多个DES密钥执行多重加密可以增加安全性;但是双重DES由于【A】而并没有相应地 增加安全性。 A.中间相遇攻击 B.线性分析攻击 C.差分分析攻击 D.计时攻击 我们常提到的"在Windows操作系统中安装VMware,运行Linux虚拟机"属于【C】。 A、 存储虚拟化 B、 内存虚拟化 C、 系统虚拟化 D、 网络虚拟化 下列传输介质中,哪种传输介质的抗干扰性最好? B (A)双绞线 (B)光缆 (C)同轴电缆 (D)无线介质 下列算法当中,属于非对称的算法的是【D】。 A.RC4 B.GHOST C.DES D.DH 下列选项中不属于加密算法的是【D】。 A.MD5 B.IDEA C.AES D. RC4 下列选项中属于加密算法的是【A】。 A.MD5 B.SHA C.MD4 D. RC4 下图是公钥保密通信系统的概念图,A和B应分别是【 C】。 A:Alice 的公钥和 Bob 的公钥;B:Alice 的私钥和 Bob 的公钥; C:Bob 的公钥和 Bob 的私钥;D:Alice 的公钥和 Alice 的私钥; 消息验证码MAC不可以【D】。 A.鉴别消息来源 B.检测消息改动 C.验证消息顺序 D.实现保密性

    2019-07-19
    50
  • 湖南文理学院计算机科学与技术专业2019年上学期(大三下)编译原理复习提纲.docx

    湖南文理学院计算机科学与技术专业2019年上学期(大三下)编译原理复习提纲: 一、 选择题 5*2=10分 二、 填空题 10分 三、 简单计算 50分 1. 写文法 5*2=10分 2. 三元式、四元式、逆波兰 5分 3. 文法左递归的消除、左公因子的提取 5分 4. 文法二义性的判断 5分 5. 自动机,正规式转为不确定自动机、不确定自动机确定化、确定自动机最小化 15分 6. LR,短语、直接短语、素短语、句柄、最左素短语、句型画出语法树 10分 四、 综合题 1. LL分析 10分 2. 算符优先 10分 3. LR分析 10分

    2019-07-19
    14
  • java连接SqlServer完整代码,工具类,jdbc

    java连接SqlServer完整代码,工具类,jdbc JDBC工具类的构建 1.资源释放 见https://mp.csdn.net/postedit/86577443 2.驱动防二次注册 ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //Driver是静态代码块,类加载了就执行,用registerDriver会二次注册 //DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.**SQLServerDriver**()); ``` 3.使用properties配置文件 1.在src低下声明一个文件XXX.properties 2.在工具类里使用静态代码块读取属性 对应文件位于根目录

    2019-01-21
    37
  • oracle实验报告

    实验一 SQL*PLUS练习 【实验目的】 (1) 了解Oracle的工作环境和基本使用方法。 (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验内容】 一、 准备使用SQL*PLUS 1. 进入SQL*PLUS 2. 退出SQL*PLUS 3. 显示表结构命令DESCRIBE SQL>DESCRIBE emp 使用DESCRIBE(缩写DESC)可以列出指定表的基本结构,包括各字段的字段名以及类型、长度、是否非空等信息。 4. 使用SQL*PLUS显示数据库中EMP表的内容 输入下面的查询语句: SQL>SELECT * FROM emp; 按下回车键执行查询 5. 执行命令文件 START或@命令将指定文件调入SQL缓冲区中,并执行文件内容。 SQL>@ 文件名(文件后缀缺省为.SQL)或 SQL>START 文件名 文件中每条SQL语句顺序装入缓冲区并执行。 二、 数据库命令——有关表、视图等的操作 1. 创建表employee 例1 定义一个人事信息管理系统中存放职工基本信息的一张表。可输入如下命令: SQL>CREATE TABLE employee (empno number(6) PRIMARY KEY, /* 职工编号 name varchar2(10) NOT NULL, /* 姓名 deptno number(2) DEFAULT 10, /* 部门号 salary number(7,2) CHECK(salary<100000), /*工资 birth_date date, /*出生年月 soc_sec_num char(9) U NIQUE, /*内部序列号 foreign key(deptno) references dept(deptno)); 例2 复制一个与emp表的表结构相同的新空表emp2. 可输入如下命令: SQL>create table emp2 as select * from emp where 1=2; 在命令的where子句中给出1=2,表示条件不可能成立,因而只能复制表结构,而不能复制任何数据到新表中去。另外,还可以复制一个表的部分列定义或部分列定义及其数据。 三、 Oracle数据库数据查询 1、单表查询 2、多表查询 四、 SQL*PLUS常用命令 表1 常用报表格式化名命令 命令 定义 Btitle 为报表的每一页设置底端标题 Column 设置列的标题和格式 Compute 让SQL*PLUS计算各种值 Remark 将某些字标记为注释 Set linesize 设置报表的行宽字符数 Set newpage 设置报表各页之间的行数 Spool 使SQL*PLUS将输出写入文件中 Start 使SQL*PLUS执行一个sql文件 Ttitle 设置报表每页的头标题 Break 让SQL*PLUS进行分组操作 例3 建立一个批命令文件对查询到的数据以报表的形式输出并将其保存到指定的文件中。 处理方法:利用SQL*PLUS语言工具(也可以使用其他文本编辑器)建立批命令的.SQL文件。在“SQL>”提示符下,使用EDIT命令在”E:\”中建立SCGB.SQL文件。 SCGB.SQL文件中的命令组如下: SQL>EDIT E:\ SCGB.SQL SET echo off SET pagesize 30 SET linesize 75 TTITLE’2008年4月10号’CE’公司职员基本情况登记表’R’Page:’ FORMAT 99- >SQL.PNO SKIP 1 CE’===========================’ BTITLE COL 60 ’制标单位’ TAB 3 ‘人事部’ COLUMN empno heading ‘职工|编号’ COLUMN ename format a10 heading ‘姓 名’ COLUMN job heading ‘工 种’ COLUMN sal format $99,990 heading 工 资’ COLUMN comm Like sal heading ‘奖 金’ COLUMN deptno format 9999 heading ‘部门|编号’ COLUMN hiredate heading ‘参加工作时间’ SPOOL e:\sjbb /*在E盘中建立格式报表输出文件,默认属性为LST BREAK on deptno skip 1 COMPUTE sum of sal comm on deptno SELECT empno,ename,job,hiredate,sal,comm,deptno from emp ORDER BY deptno,sal; SPOOL off /*终止SPOOL功能,关闭其文件。注意,此命令不可省,否则将建立空文件。 五、 实验内容 1、以cs+学号为用户名创建用户,并授予用户创建数据对象的权限。 2、复制emp表,复制表名为emp_学号,然后将emp表中工资低于$2000 的职工插入到复制的表中。 3、对复制的emp表插入一行只包含有职工号,职工名,工资与部门号四个数据 项值的记录。 4、在复制的emp表中将雇员ALLEN提升为经理,工资增至$2500, 奖(佣 )金增加40%。 5、删除复制的emp表中工资低于500的记录行。 6、列出10号部门中既不是经理,也不是秘书的职工的所有信息。 7、查找出部门所在地是CHICAGO的部门的职工姓名、工资和工种。 8、统计各部门中各工种的人数、工资总和及奖金总和。 9、查找出工资比其所在部门平均工资高的职工姓名、工种与工资情况。 实验3 Oracle数据库开发环境下PL/SQL编程 【实验目的】 (1)掌握 PL/SQL 的基本使用方法。 (2)在SQL*PLUS环境下运行PL/SQL的简单程序。 (3)应用 PL/SQL 解决实际问题 【实验内容与步骤】 PL/SQL块中的可执行部分是由一系列语句组成的(包括对数据库进行操作的SQL语句,PL/SQL语言的各种流程控制语句等)。在块中对数据库查询,增、删、改等对数据的操作是由SQL命令完成的。在PL/SQL块中,可以使用SQL的数据查询命令,数据操纵命令和事务控制命令。可使用全部SQL函数。PL/SQL中的SQL语句,可使用SQL的比较操作等运算符。但不能使用数据定义语句。 在PL/SQL块中使用SELECT语句时注意几点: (1)SELECT语句必须含有INTO子句。 (2)INTO子句后的变量个数和位置及数据类型必须和SELECT命令后的字段名表相同。 (3)INTO子句后可以是简单类型变量或组合类型变量。 (4)SELECT语句中的WHERE条件可以包含PL/SQL块中定义的变量及表达式,但变量名不要同数据库表列名相同。 (5)在未使用显式游标的情况下,使用SELECT语句必须保证只有一条记录返回,否则会产生异常情况。 [例3-1] 问题:编写一个过程,求和运算。 SET SERVEROUTPUT ON; DECLARE a number:=1; BEGIN a:=a+5; DBMS_OUTPUT.PUT_LINE('和为:'||TO_CHAR(a)); END; / 【例3-2】:使用%TYPE声明变量,输出制定表中的相关信息。 DECLARE my_name student.sname%TYPE; BEGIN SELECT sname INTO my_name FROM student WHERE no=’01203001’; DBMS_OUTPUT.PUT_LINE(my_name); END; / 【例3-3】问题:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。 declare v_sal emp.sal%type; begin select sal into v_sal from emp where ename=spName; if v_sal<2000 then update emp set sal=sal+sal*10% where ename=spName; end if; end; / 实验内容: 1、用PL/SQL实现:输入empno的值,显示emp表中对应记录的内容。 2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。 3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%,其它都按原来的7%提高。 4、用PL/SQL块实现下列操作 公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门,则增加$250;若职工属于10号部门,则增加$350。 实验四 PL/SQL存储过程 (2学时) 【实验目的】 (1)了解存储过程的使用方法。 (2)掌握存储过程的使用方法。 【实验要求】 (1)按照业务要求创建实现特定功能的存储过程。 (2)按照业务内容创建实现具有特定功能的函数。 【实验内容】 1、 写存储过程,显示所指定雇员名所在的部门名和位置。 CREATE OR REPLACE PROCEDURE DeptMesg(pename emp.ename%TYPE, pdname OUT dept.dname%TYPE,ploc OUT dept.loc%TYPE) AS BEGIN SELECT dname,loc INTO pdname,ploc FROM emp,dept WHERE emp.deptno=dept.deptno AND emp.ename=pename; END; / VARIABLE vdname VARCHAR2(14); VARIABLE vloc VARCHAR2(13); EXECUTE DeptMesg('SMITH',:vdname,:vloc); PRINT vdname vloc; 2、 定义一个为修改职工表(emp)中某职工工资的存储过程子程序,职工名作为形参,若该职工名在职工表中查找不到,就在屏幕上提示“查无此人”然后结束子程序的执行;否则若工种为MANAGER的,则工资加$1000;工种为SALESMAN,工资加$500;工种为ANALYST,工资加$200,否则工资加$100。 create or replace procedure xggz(name varchar2) is k_job emp.job%type; addsal emp.sal%type; begin select job into k_job from emp where ename=name; if k_job=’MANAGER’ then addsal:=1000; elsif k_job=’SALESMAN’ then addsal:=500; elsif k_job=’ANALYST’ then addsal:=200; else addsal:=100; end if; update emp set sal=sal+addsal where ename=name; exception when no_data_found then dbms_output.put_line(‘查无此人”); end; 3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,并退出程序。并统计显示各部门人数及工资调整后的总和。 4、 以bs123456(bs学号)用户登录orcl数据库,利用PL/SQL编写程序实现下列功能模块。 1)、创建一个函数,以客户号微参数,返回该客户订购图书的价格总额。 2)、创建一个函数,以订单号为参数,返回该订单购图书的价格总额。 3)、创建一个函数,已出版社名为参数,返回该出版社出版的图书的平均价格。 4)、创建一个函数,以客户号为参数,返回该客户可以获得的礼品名称。 5)、创建一个函数,以图书号为参数,统计该图书被订购的总数量。 湖南文理学院实验报告 课程名称 大型数据库技术 实验名称 五、PL/SQL触发器 成绩 学生姓名 专 业 年级、学号 同组者姓名 实验日期 一、实验目的: 1. 了解触发器的类型。 2. 掌握PL/SQL触发器的使用方法。 二、实验要求: 1. 掌握SQL Developer编译功能,使用SQL Developer完成PL/SQL命令。 2. 按照业务要求创建实现特定功能的触发器。 三、实验步骤: 1. 打开SQLDeveloper,建立system链接、bs+学号连接登录ORCL数据库。 2. 在SQLDeveloper中,用密码tiger解锁scott账号。 3. 触发器注意事项 (1)触发器可以声明为在对记录进行操作之前,在之前(检查约束之前和 INSERT,UPDATE 或 DELETE 执行前)或之后(在检查约束之后和完成 INSERT, UPDATE 或 DELETE 操作)触发.。 (2)一个 FOR EACH ROW 执行指定操作的触发器为操作修改的每一行都调用一次。 (3)SELECT 并不更改任何行,因此不能创建 SELECT 触发器。这种场合下规则和视图更适合。 (4)触发器和某一指定的表格有关,当该表格被删除时,任何与该表有关的触发器同样会被删除。 (5)在一个表上的每一个动作只能有一个触发器与之关联。 (6)在一个单独的表上,最多只能创建三个触发器与之关联,一个INSERT触发器,一个DELETE触发器和一个UPDATE触发器。 1. 实例讲解Oracle数据库自带的几个触发器 Oracle数据库自带的几个触发器(最简单触发器格式)示例如下: -- create or replace trigger MDSYS.sdo_drop_user after drop on DATABASE declare stmt varchar2(200); BEGIN if dictionary_obj_type = 'USER' THEN stmt := 'DELETE FROM SDO_GEOM_METADATA_TABLE ' || ' WHERE SDO_OWNER = ''' || dictionary_obj_name || ''' '; EXECUTE IMMEDIATE stmt; end if; end; --- create or replace trigger SYS.aurora$server$startup after startup on database call dbms_java.server_startup -- create or replace trigger SYS.JIS$ROLE_TRIGGER$ after drop on database when (ora_dict_obj_type='ROLE') begin sns_context.role_dropped(ora_dict_obj_name); http_security_cascade.principal_dropped(ora_dict_obj_name); end; --删除前备份数据的器 Create Or Replace Trigger YSPJ.T_Bill_reMain_Del Before delete On bill_remain FOR EACH ROW Begin Insert into BILL_REMAIN_TIGER Values(:old.BILL_REMAINID,:old.BILL_TYPEID,:old.REMAIN_NUM,:old.ADD_TIME,:old.ORG_ID,:old.STATE,:old.BILL_ID,'删除记录',Sysdate,user); End; 四、实验内容: 1、 验证触发器 创建触发器,当用户对test表执行DML语句时,将相关信息记录到日志表。 --创建测试表 CREATE TABLE test ( t_id NUMBER(4), t_name VARCHAR2(20), t_age NUMBER(2), t_sex CHAR ); --创建记录测试表 CREATE TABLE test_log ( l_user VARCHAR2(15), l_type VARCHAR2(15), l_date VARCHAR2(30) ); --创建触发器 CREATE OR REPLACE TRIGGER test_trigger AFTER DELETE OR INSERT OR UPDATE ON test DECLARE v_type test_log.l_type%TYPE; BEGIN IF INSERTING THEN --INSERT触发 v_type := 'INSERT'; DBMS_OUTPUT.PUT_LINE('记录已经成功插入,并已记录到日志'); ELSIF UPDATING THEN --UPDATE触发 v_type := 'UPDATE'; DBMS_OUTPUT.PUT_LINE('记录已经成功更新,并已记录到日志'); ELSIF DELETING THEN v_type := 'DELETE'; DBMS_OUTPUT.PUT_LINE('记录已经成功删除,并已记录到日志'); END IF; INSERT INTO test_log VALUES(user,v_type, TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss')); END; / --下面分别执行DML语句 INSERT INTO test VALUES(101,'zhao',22,'M'); UPDATE test SET t_age = 30 WHERE t_id = 101; DELETE test WHERE t_id = 101; --然后查看效果 SELECT * FROM test; SELECT * FROM test_log; 3、创建触发器,它将映射emp表中每个部门的总人数和总工资。 --创建映射表 CREATE TABLE dept_sal AS SELECT deptno,COUNT(empno) AS total_emp,SUM(sal) AS total_sal FROM emp GROUP BY deptno; DESC dept_sal; --创建触发器 CREATE OR REPLACE TRIGGER emp_info AFTER INSERT OR UPDATE OR DELETE ON emp DECLARE CURSOR cur_emp IS SELECT deptno,COUNT(empno) AS total_emp,SUM(sal) AS total_sal FROM emp GROUP BY deptno; BEGIN DELETE dept_sal; --触发时首先删除映射表信息 FOR v_emp IN cur_emp LOOP --DBMS_OUTPUT.PUT_LINE(v_emp.deptno || v_emp.total_emp || v_emp.total_sal); --插入数据 INSERT INTO dept_sal VALUES(v_emp.deptno,v_emp.total_emp,v_emp.total_sal); END LOOP; END; / --对emp表进行DML操作 INSERT INTO emp(empno,deptno,sal) VALUES('123','10',10000); SELECT * FROM dept_sal; DELETE EMP WHERE empno=123; SELECT * FROM dept_sal; 4、创建触发器,它记录表的删除数据 --创建表 CREATE TABLE employee ( id VARCHAR2(4) NOT NULL, name VARCHAR2(15) NOT NULL, age NUMBER(2) NOT NULL, sex CHAR NOT NULL ); DESC employee; --插入数据 INSERT INTO employee VALUES('e101','zhao',23,'M'); INSERT INTO employee VALUES('e102','jian',21,'F'); --创建记录表 CREATE TABLE old_employee AS SELECT * FROM employee; DESC old_employee; --创建触发器 CREATE OR REPLACE TRIGGER tig_old_emp AFTER DELETE ON employee -- FOR EACH ROW --语句级触发,即每一行触发一次 BEGIN INSERT INTO old_employee VALUES(:old.id,:old.name,:old.age,:old.sex); --:old代表旧值 END; / --进行测试 DELETE employee; SELECT * FROM old_employee; 5、创建触发器,比较emp表中更新的工资。 CREATE OR REPLACE TRIGGER sal_emp BEFORE UPDATE ON emp FOR EACH ROW BEGIN IF :OLD.sal > :NEW.sal THEN DBMS_OUTPUT.PUT_LINE('工资减少'); ELSIF :OLD.sal < :NEW.sal THEN DBMS_OUTPUT.PUT_LINE('工资增加'); ELSE DBMS_OUTPUT.PUT_LINE('工资未作任何变动'); END IF; DBMS_OUTPUT.PUT_LINE('更新前工资 :' || :OLD.sal); DBMS_OUTPUT.PUT_LINE('更新后工资 :' || :NEW.sal); END; / --执行UPDATE查看效果 UPDATE emp SET sal = 3000 WHERE empno = '7788'; 6、需要对在表上进行DML操作的用户进行安全检查,看是否具有合适的特权。 Create table foo(a number); Create trigger biud_foo Before insert or update or delete On foo Begin If user not in (‘DONNY’) then Raise_application_error(-20001, ‘You don’t have access to modify this table.’); End if; End; / 即使SYS,SYSTEM用户也不能修改foo表。 2、 利用PL/SQL编写程序实现下列触发器 1)、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp表中删除该部门的所有雇员。(要求:emp表、dept表均为复制后的表) 2)、创建一个触发器,当客户下完订单后,自动统计该订单的所有图书的价格总额。 3)、创建一个触发器,禁止客户在非工作时间(早上8:00前,晚上17:00后)下订单。 五、实验心得

    2019-01-10
    47
  • 操作系统实验报告

    三、实验内容与要求 1、熟悉windows的编程接口,使用系统调用编程实现将参数1对应文件1.txt和参数2对应文件2.txt的内容合并到参数3对应文件zong.txt中(上传文件名为学号后5位ex0701.c)。 2、使用windows提供的命令将文件1.txt和文件2.txt的内容合并到文件total.txt中 (请将实现的操作命令写入下题批处理文件的第一行)。 3、主管助理小张经常接收公司员工发来的文件,开始为了节省时间,小张将下载的文件都保存在文件夹xiazai中(文件名如图1所示,下载后直接解压即可),这样不便于后期的统计和分类管理,现在领导要求必须为所有员工(90人)每人单独建立一个文件夹(以员工工号命名10201、10202......10290),然后将他们提交的文件分别剪切到各自对应的文件夹中(如图2所示)。于是小张开始为7名员工建立文件夹,再一个一个的去做……同学们想想有没有一种方法能快速完成所要求的操作呢? 请熟悉windows的命令接口,使用windows提供的常用命令copy、md、del等编写一个批处理文件(上传文件名为学号后5位ex0703.bat),实现所要求的功能: 1、启动linux系统或通过windows telnet到linux。 2、用huas用户名和密码123456登入系统中。 3、打开一终端窗口(在linux桌面上单击右键,选择从终端打开)。然后在其中输入以下命令实验。 4、熟悉常用操作命令. 5、编辑如下源代码(实验教材P86 1.进程的创建)并保存 二、实验目的 (1)加深对进程概念的理解,明确进程和程序的区别。 (2)分析进程竞争资源现象,学习解决进程互斥的方法。 (3了解Linux系统中进程通信的基本原理。 三、实验内容与要求 (1)任务一:编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed by Parent! Child Processl2 is Killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed! (2)任务二:在上面的程序中增加语句signal (SIGNAL, SIG-IGN)和signal (SIGQUIT, SIG-IGN),观察执行结果,并分析原因。 (3)任务三:进程的管道通信 编制一段程序,实现进程的管道通信。 使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道中写一句话: Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。 要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。 二、实验目的 自行编制模拟程序,通过形象化的状态显示,加深理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。 三、实验内容与要求 1)设计并实现一个模拟进程状态转换及其相应PCB内容、组织结构变化的程序。 2)独立编写、调试程序。进程的数目、进程的状态模型(三状态、五状态、七状态或其它)以及PCB的组织形式可自行选择。 3)合理设计与进程PCB相对应的数据结构。PCB的内容要涵盖进程的基本信息、控制信息、资源需求及现场信息。 4)设计出可视性较好的界面,应能反映出进程状态的变化引起的对应PCB内容、组织结构的变化。 二、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 三、实验内容与要求 通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。 计算并输出下属算法在不同内存容量下的命中率。  先进先出的算法(FIFO); 最近最少使用算法(LRU) 二、实验目的 死锁会引起计算机工作僵死,因此操作系统中必须防止。本实验的目的在于使用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。 三、实验内容与要求 设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。 系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析。 四、算法描述(含数据结构定义)或流程图 (一) 数据结构 1. 可利用资源向量Available ,它是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源的数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而动态地改变。如果Available(j)=k,标是系统中现有Rj类资源k个。 2. 最大需求矩阵Max,这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max(i,j)=k,表示进程i需要Rj类资源的最大数目为k。 3. 分配矩阵Allocation,这是一个n×m的矩阵,它定义了系统中的每类资源当前一分配到每一个进程的资源数。如果Allocation(i,j)=k,表示进程i当前已经分到Rj类资源的数目为k。Allocation i表示进程i的分配向量,有矩阵Allocation的第i行构成。 4. 需求矩阵Need,这是一个n×m的矩阵,用以表示每个进程还需要的各类资源的数目。如果Need(i,j)=k,表示进程i还需要Rj类资源k个,才能完成其任务。Need i表示进程i的需求向量,由矩阵Need的第i行构成。 上述三个矩阵间存在关系:Need(i,j)=Max(i,j)-Allocation(i,j)。 (二) 银行家算法 Request i 是进程Pi 的请求向量。Request i (j)=k表示进程Pi请求分配Rj类资源k个。当Pi发出资源请求后,系统按下述步骤进行检查: 1. 如果Request i ≤Need,则转向步骤2;否则,认为出错,因为它所请求的资源数已超过它当前的最大需求量。 2. 如果Request i ≤Available,则转向步骤3;否则,表示系统中尚无足够的资源满足Pi的申请,Pi必须等待。 3. 系统试探性地把资源分配给进程Pi,并修改下面数据结构中的数值: 二、实验目的 磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。由于磁盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降低寻道时间。本实验要求模拟设计一个磁盘调度程序,观察调度程序的动态运行过程。通过实验来理解和掌握磁盘调度的职能。 三、实验内容与要求 分别模拟如下磁盘调度算法,对磁盘进行移臂操作:  先来先服务算法  最短寻道优先算法 1. 假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 2. 磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用磁盘调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进程。 3. 由于磁盘与处理器是并行工作的,所以当磁盘在为一个进程服务时,占有处理器的其它进程可以提出使用磁盘(这里我们只要求访问磁道),即动态申请访问磁道,为此设置“接受请求”进程。 4. 为了模拟以上两个进程的执行,可以考虑使用随机数来确定二者的允许顺序,参考程序流程图。 5. “接受请求”进程建立一张“进程请求I/O”表,指出等待访问磁盘的进程要求访问的磁道,表的格式如下: 进程名 要求访问的磁道号 6. 磁盘调度的功能是查“请求I/O”表,当有等待访问的进程时,按磁盘调度算法从中选择一个等待访问的进程,按其指定的要求访问磁道。流程图中的“初始化”工作包括:初始化“请求I/O”表,设置当前移臂方向;当前磁道号。并且假设程序运行前“请求I/O”表中已有若干进程(4~8个)申请访问相应磁道。

    2019-01-10
    10
  • uml rational rose

    实验一 实验名称:业务建模 一、实验目的 1.熟悉业务建模内容。 2.掌握如何使用建模工具rational rose绘制业务模型图。 3.学习使用Microsoft Project对题目进行进度安排。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。 要求: 1、创建业务用例模型。(参与者--用例)。 2、用活动图来描述系统核心业务过程。 3、创建业务对象模型。 四、实验步骤 1. 系统当前业务描述 …………………………… 2. 系统业务用例模型 ………………………….. 3. 核心业务用例的活动图 …………………………. 4. 系统业务对象模型 ………………………… 五、 实验心得 实验二 用例建模 一、 实验目的: 通过学生对提供的案例进行用例建模,熟练掌握用例建模技术。 二、主要实验仪器设备及环境 1. 计算机:安装有:操作系统为windows 2000,WindowsXP Professional; 2. 软件:National rose 三、实验内容: 1. 认真阅读案例的需求,根据其内容建立相应的用例模型; 2. 选择主要用例进行事件流分析,并把分析结果作为说明文档附在用例模型中; 四、实验步骤: 1. 系统参与者 2. 系统用例 3. 系统用例模型 4. 用例文档(主要用例) 五、实验心得 (对用例模型、用例的粒度、关系的理解) 实验三 顺序图 一、实验目的 1.理解顺序图的基本概念。 2. 掌握在Rational Rose中绘制交互图的操作方法。 3. 细化用例文档中的事件流,绘制顺序图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 通过对系统动态模型部分的学习,根据用例建模阶段的用例图和用例文档,对对应的用例实现用顺序图来描述系统的动态特性。完成如下任务: 对选定系统中的主要用例进行动态建模(顺序图)。 四、实验步骤 1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(类图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在logic view中分别添加三个包(构造型:layer):边界层、控制层、实体层。主要根据用例文档来识别分析类(边界类、控制类、实体类)。如下图: 3.对主要的用例实现,根据细化用例文档中的主要事件流。 ……………………………………… 4.结合用例实现中识别出来的分析类,绘制顺序图。如下图: ……………………………………… 五:实验心得: 实验四 系统分析类图 一、实验目的 1.识别分析类之间的关系、类的属性和操作。 2.使用ROSE软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析类,识别类的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析类图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析类图 四、实验步骤 1. 对每个用例实现识别分析类,根据需求、常识识别类的属性,根据交互图识别类的方法,在每个用例实现下创建一个类图,命名为 **用例的VOPC图(借书用例VOPC) 2. 综合所有VOPC图,在系统分析包中创建一个类图,命名为系统分析类图 3. 通过用例实现顺序图中的消息映射出分析类的操作(如下图)。 ……………………………………. 4. 根据用用例文档映射出类的属性(如下图)。 ……………………………………….. 五、实验总结 实验五 实验名称:子系统和接口 一、实验目的 1.基于分析阶段的BCE架构,抽取子系统。 2.根据包设计原则,对系统组织结构进行设计 。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据指定系统的开发进度,已经完成对系统用例分析,应用BCE架构构建了系统的组织结构。本次实验主要根据抽取子系统的方法设计子系统、子系统接口,然后根据打包原则重构系统组织结构 要求: 1、抽取子系统,设计相应接口 2、利用包图设计系统架构 四、实验步骤 1. 抽取子系统 子系统是一种特殊的包,采用构造型《subsystem》扩展包的寓意,子系统内部是完全封装的,子系统提供接口对外服务。  你抽取子系统是依据什么角度(从那几个方面收取子系统?教材P263) ………文字描述子系统及抽取角度…………………… 2. 接口设计 接口是子系统对外提供的服务。接口采用构造型《interface》通过对类进行扩展表示 ……………子系统和接口的关系及几口中的操作,如P262 8-11图…….. 3. 更新软件架构 …………系统架构更新后的包图,如图8-17………………. 五、 实验心得 实验四 (系统静态模型)分析类图 一、实验目的 1.识别分析类、关系、类的属性和操作。 2.使用UML工具软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析类,识别类的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析类图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析类图 3、根据顺序图为类添加操作 4、根据需求和用例文档为类添加属性 四、实验步骤 1. 对每个用例实现识别分析类,根据需求、常识识别类的属性,根据交互图识别类的方法,在每个用例实现下创建一个类图,命名为 **用例的VOPC图(借书用例VOPC) 1) 添加VOPC图 2) 打开vopc图,把该用例中的边界类、控制类、实体类拖入其中,并建立关系 2. 通过用例实现顺序图中的消息映射出分析类的操作(如下图)。 把每个类收到的消息映射为该类的一个操作。下面以申请边界类为例: 3. 根据用用例文档映射出类的属性(如下图)。 1) 打开某个类的规格说明,选择“属性”选项卡,在编辑窗口中点击鼠标右键,在菜单中“Insert”,可以为类添加属性 . 2) 例: 4. 综合所有的VOPC图,创建完整的系统分析类图 1) 在分析模型包下添加一个类图:命名为系统分析类图 2) 打开系统分析类图,把边界类包、控制类包、实体类包中的所有类拖入系统分析类图中,由于类的属性和操作、类之间的关系已经在每个类图中已经描述,所以在系统分析类图中会自然体现出来。 五、实验总结

    2019-01-10
    23
  • uml实验报告整合

    实验一 实验名称:业务建模 一、实验目的 1.熟悉业务建模内容。 2.掌握如何使用建模工具rational rose绘制业务模型图。 3.学习使用Microsoft Project对题目进行进度安排。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。 要求: 1、创建业务用例模型。(参与者--用例)。 2、用活动图来描述系统核心业务过程。 3、创建业务对象模型。 四、实验步骤 1. 系统当前业务描述 …………………………… 2. 系统业务用例模型 ………………………….. 3. 核心业务用例的活动图 …………………………. 4. 系统业务对象模型 ………………………… 五、 实验心得 实验二 用例建模 一、 实验目的: 通过学生对提供的案例进行用例建模,熟练掌握用例建模技术。 二、主要实验仪器设备及环境 1. 计算机:安装有:操作系统为windows 2000,WindowsXP Professional; 2. 软件:National rose 三、实验内容: 1. 认真阅读案例的需求,根据其内容建立相应的用例模型; 2. 选择主要用例进行事件流分析,并把分析结果作为说明文档附在用例模型中; 四、实验步骤: 1. 系统参与者 2. 系统用例 3. 系统用例模型 4. 用例文档(主要用例) 五、实验心得 (对用例模型、用例的粒度、关系的理解) 实验三 顺序图 一、实验目的 1.理解顺序图的基本概念。 2. 掌握在Rational Rose中绘制交互图的操作方法。 3. 细化用例文档中的事件流,绘制顺序图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 通过对系统动态模型部分的学习,根据用例建模阶段的用例图和用例文档,对对应的用例实现用顺序图来描述系统的动态特性。完成如下任务: 对选定系统中的主要用例进行动态建模(顺序图)。 四、实验步骤 1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(类图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在logic view中分别添加三个包(构造型:layer):边界层、控制层、实体层。主要根据用例文档来识别分析类(边界类、控制类、实体类)。如下图: 3.对主要的用例实现,根据细化用例文档中的主要事件流。 ……………………………………… 4.结合用例实现中识别出来的分析类,绘制顺序图。如下图: ……………………………………… 五:实验心得: 实验四 系统分析类图 一、实验目的 1.识别分析类之间的关系、类的属性和操作。 2.使用ROSE软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析类,识别类的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析类图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析类图 四、实验步骤 1. 对每个用例实现识别分析类,根据需求、常识识别类的属性,根据交互图识别类的方法,在每个用例实现下创建一个类图,命名为 **用例的VOPC图(借书用例VOPC) 2. 综合所有VOPC图,在系统分析包中创建一个类图,命名为系统分析类图 3. 通过用例实现顺序图中的消息映射出分析类的操作(如下图)。 ……………………………………. 4. 根据用用例文档映射出类的属性(如下图)。 ……………………………………….. 五、实验总结 实验五 实验名称:子系统和接口 一、实验目的 1.基于分析阶段的BCE架构,抽取子系统。 2.根据包设计原则,对系统组织结构进行设计 。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据指定系统的开发进度,已经完成对系统用例分析,应用BCE架构构建了系统的组织结构。本次实验主要根据抽取子系统的方法设计子系统、子系统接口,然后根据打包原则重构系统组织结构 要求: 1、抽取子系统,设计相应接口 2、利用包图设计系统架构 四、实验步骤 1. 抽取子系统 子系统是一种特殊的包,采用构造型《subsystem》扩展包的寓意,子系统内部是完全封装的,子系统提供接口对外服务。  你抽取子系统是依据什么角度(从那几个方面收取子系统?教材P263) ………文字描述子系统及抽取角度…………………… 2. 接口设计 接口是子系统对外提供的服务。接口采用构造型《interface》通过对类进行扩展表示 ……………子系统和接口的关系及几口中的操作,如P262 8-11图…….. 3. 更新软件架构 …………系统架构更新后的包图,如图8-17………………. 五、 实验心得 实验四 (系统静态模型)分析类图 一、实验目的 1.识别分析类、关系、类的属性和操作。 2.使用UML工具软件构建系统的分析类图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析类,识别类的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析类图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析类图 3、根据顺序图为类添加操作 4、根据需求和用例文档为类添加属性 四、实验步骤 1. 对每个用例实现识别分析类,根据需求、常识识别类的属性,根据交互图识别类的方法,在每个用例实现下创建一个类图,命名为 **用例的VOPC图(借书用例VOPC) 1) 添加VOPC图 2) 打开vopc图,把该用例中的边界类、控制类、实体类拖入其中,并建立关系 2. 通过用例实现顺序图中的消息映射出分析类的操作(如下图)。 把每个类收到的消息映射为该类的一个操作。下面以申请边界类为例: 3. 根据用用例文档映射出类的属性(如下图)。 1) 打开某个类的规格说明,选择“属性”选项卡,在编辑窗口中点击鼠标右键,在菜单中“Insert”,可以为类添加属性 . 2) 例: 4. 综合所有的VOPC图,创建完整的系统分析类图 1) 在分析模型包下添加一个类图:命名为系统分析类图 2) 打开系统分析类图,把边界类包、控制类包、实体类包中的所有类拖入系统分析类图中,由于类的属性和操作、类之间的关系已经在每个类图中已经描述,所以在系统分析类图中会自然体现出来。 五、实验总结

    2019-01-10
    9
  • 数据库原理实验报告整合

    《数据库原理及应用》课程实验 实验1 创建数据库和数据表 一、实验目的 熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验课时 2课时。 四、实验内容 SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。 在SQL Server中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。 (一)向导方式创建 1、从“开始”菜单选择“所有程序”→“Microsoft SQL Server ”,打开“SQL Server Management Studio”窗口,使用Windows或SQL Server身份验证建立连接。 2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。 3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。 (1)“数据库名称”文本框中输入数据库的名称,如“student”,再输入该数据库的所有者,这里使用默认值即可。(也可以通过单击文本框右边的“浏览”按钮选择所有者。 (2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。通过单击下面相应的按钮可以添加或删除相应的数据文件。  逻辑名称:指定该文件的文件名。  文件类型:用于区别当前文件是数据文件还是日志文件。  文件组:显示当前数据库文件所属的文件组。  初始大小:指定该文件的初始容量。在SQL Server 中数据文件的默认值为3MB,日志文件的默认值为1MB。  自动增长:用于设置在文件容量不够用时,文件根据何种增长方式自动增长。  路径:指定存放在文件的目录。默认情况下,SQL Server 将存放路径设置为其安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。 完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库的创建,可以在“对象资源管理器”窗格中看到新建的数据库。 (二)语言方式创建 SQL Server 使用的Transact-SQL语言是标准SQL的增强版本,使用它提供的Create Database语句同样可以完成对数据库的建立(参考内容见附录)。 1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;单击“执行”按钮即可执行语句,在查询窗口内的“查询”窗格中可以看到“命令已成功完成”的提示消息。在“对象资源管理器”窗格中刷新,即可看到新建的数据库。 2、继续执行Create Database之后的语句,在“student”数据库中用Create Table命令依次建立S、C和SC这三个数据表,各表字段如下: STUDENT(SNO,SNAME,SEX,DOB,DEPT,TELNO) COURSE(CNO,CNAME,CPNO,TEACHER,CREDIT) SC(SNO,CNO,SCORE) 表1:STUDENT表 列名 类型 长度 约束 NULL PK FK CHECK sno char 10 N Y sname varchar 8 N sex Char 2 N ‘男’ or ‘女’ DOB datetime dept varchar 10 telno char 11 N 表2:COURSE表 列名 类型 长度 约束 NULL PK FK CHECK cno char 5 N Y cname varchar 10 N Cpno char 5 teacher varchar 8 N credit smallint 表3:SC表 列名 类型 长度 约束 NULL PK FK CHECK sno char 10 N Y References s(sno) cno char 5 N References c(cno) score decimal(6,2) 0-100 要求:当主表STUDENT中的主码SNO和COURSE中的主码CNO发生修改或删除时,SC表中的相应外码做CASCADE操作。 (三)知识巩固 用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容如下(下划线为主码): S(SNO,SNAME, ADDRESS,TEL) 释义:供应商(供应商编号,姓名,地址,电话) J(JNO,JNAME,LEADER,BG) 释义:项目(编号,项目名,负责人,预算) P(PNO,PNAME,SPEC,CITY,COLOR) 释义:零件(编号,零件名,规格,生产地,颜色) SPJ(SNO,JNO,PNO,QTY) 释义:供应(供应商编号,项目编号,零件编号,数量) 其中,sno,jno,pno分别为对应S表,J表,P表的外码。 S表 列名 类型 长度 约束 NULL PK FK CHECK sno char 10 N Y sname varchar 8 N address char 10 N tel char 11 N J表 列名 类型 长度 约束 NULL PK FK CHECK jno char 10 N Y jname varchar 8 N leader varchar 8 N bg int N P表 列名 类型 长度 约束 NULL PK FK CHECK pno char 10 N Y pname varchar 8 N spec char 10 N city char 10 N color char 10 N SPJ表 列名 类型 长度 约束 NULL PK FK CHECK sno char 10 N Y References s(sno) jno char 10 N References j(cno) pno char 10 N References p(pno) qty int 实验2 数据库的简单查询 一、实验目的 掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验课时 2课时。 四、实验内容 在已建立的学生数据库和数据表的基础上,用Select语句完成下列查询操作。 STUDENT(SNO,SNAME,SEX,DOB,DEPT,TELNO) COURSE(CNO,CNAME,CPNO,TEACHER,CREDIT) SC(SNO,CNO,SCORE) 1、 查询全体学生的学号和姓名。 Select sno,sname From s 2、 查询全体学生的所有基本信息(仅针对S表)。 Select * From S 3、 对SC表查询全体学生的选课记录,并对score列增加5分。 Select sno,cno,score=score+5 From SC 4、 查询全体学生的学号和姓名,将原来的英文列名设置中文别名。 Select sno,sname from 5、 显示所有选课学生的学号,去掉重复结果。 Select distinct sno From sc 6、 查询成绩在80分以上的学生选课记录。 Select * From sc Where score>80 7、 查询经济系所有学生的学号和姓名。 Select sno,sname From S 8、 查询成绩在80~90分的学生选课记录. 9、 查询年龄不在22~25的学生记录。 10、 查询所有姓“刘”的学生基本信息。 11、 查询无考试成绩(成绩为空值)的学号、课程号。 12、 查询考试成绩非空值的学号、课程号。 13、 查询数学系年龄小于20岁的学生记录。 14、 查询选修了‘101’或‘102’课程的选课记录。 15、 查询学生总人数。 16、 查询选修了课程的学生人数。 17、 查询选修了‘101’课程的学生的平均成绩。 18、 查询学号为‘01003’的学生的考试总成绩。 19、 查询‘101’课程的最高分和最低分。 20、 查询每门课程的选课人数。 21、 查询每个学生的学号、选课数、平均成绩和总成绩。 22、 查询选课数超过2门的学生学号及其选课数。 23、 查询所有学生信息,查询结果按年龄降序排列。(针对S表操作) 24、 查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。 25、查询选课数超过2门的学生学号及其选课数,查询结果按选课数降序排列。 实验3 数据库的多表查询 一、实验目的 继续熟练SQL-SELECT语句的使用;理解多表查询的概念;掌握多表连接查询中各个子句的用法,特别要比较内连接和外连接的结果。掌握非相关子查询、相关子查询的用法,理解它们的执行过程。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验课时 2课时。 四、实验内容 (一)、在已建立的STUDENT数据库和数据表的基础上,用Select语句的连接查询完成下列操作。 1、查询每个学生的基本信息及其选课情况。 select * from s,sc where s.sno=sc.sno 2、查询选修‘a’课程的学生学号、姓名和成绩。 select sno,sname,score from s,sc where cno=’a’ and s.sno=sc.sno 3、查询与‘李四’在同一个系学习的学生记录。 select from where 4、查询与‘李平’年龄相同的学生记录。 select from where 5、查询选修课程名为“高数”的选课记录。 select sno,score from c,sc where cname=’高数’ and c.cno=sc.cno 6、查询选修课程名为“高数”的学生记录。 select s.sno,sname from s,c,sc where cname='高数' and s.sno=sc.sno and c.cno=sc.cno 7、查询选修‘a’课程且成绩大于等于90的学号、姓名和成绩。 select s.sno,sname,score from s,sc where cno='a' and score>90 and s.sno=sc.sno 8、查询‘吴十’的所有选课记录。 select cno from s,sc where sname=’吴十’ and s.sno=sc.sno 9、查询计算机系学生选修的课程号,要求结果中去掉重复记录。 select distinct cno from s,sc where dept=’计算机’ and s.sno=sc.sno 10、查询计算机系选修课程数大于等于2的学号、姓名及平均成绩,查询结果按平均成绩降序。 select sno,sname,avg(score)平均成绩 from s,sc where sc and s.sno=sc.sno order by avg(score) 11、查询每个学生的学号、选修课程号、课程名及成绩。 select s.sno,c.cno,cname,score from s,c,sc where s.sno=sc.sno and c.cno=sc.cno 12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。 select sno,sname,cno,score from where (二)、在已建立的数据库和数据表的基础上,用Select语句的嵌套查询完成下列操作。 1、查询选修‘a’课程且成绩大于等于90的学号、姓名。 select sno,sname from s where sno=(select sno from sc where cno='a' and score>90) 2、查询‘李四’的所有选课记录。 select cno from sc where sno= (select sno from s where sname=’李四’ ) 3、查询与‘李平’在同一个系学习的学生记录。 select from where 4、查询与‘李平’年龄相同的学生记录。 select from where 5、查询选修课程名为‘高数’的选课记录,输出结果包括学号和成绩。 select sno,score from sc where cno= (select cno from c where cname=’ 高数’ ) 6、查询选修课程名为‘高数’的学生记录,输出结果包括学号、姓名和所在系。 select sno,sname,dept from s where sno= (select sno from sc where cno= (select cno from c where cname=’高数’ ) ) 7、查询学号为‘1’学生的选修课程号和课程名。 select cno,cname from c where sno= (select from where 8、查询没有选修‘101’课程的学生学号和姓名。 select from where 9、查询选修‘101’课程或‘102’课程的学生姓名。 select from where 10、查询选修‘101’课程和‘102’课程的学生学号。 select from where 11、查询选修‘101’课程但没选修‘102’课程的学生学号。 select from where 12、查询没有选修任何课程的学生记录,输出结果包括学号、姓名和所在系。 select from where 13、查询数学系学生选修的课程号,要求结果中去掉重复记录。 select from where 14、查询选修课程至少包含‘01003’选修课程的学生学号。 select from where 实验4 数据库更新、视图定义及使用 一、实验目的 掌握Insert、Update、Delete语句的使用;对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。理解视图的概念,掌握Create View、Drop View语句的使用;掌握基于视图的查询语句的使用。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验课时 2课时。 四、实验内容 (一)、在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST,其结构与S表结构相同。用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。再用三个更新语句完成下列操作。 1、向S表添加若干新记录,内容自定。(观察已定义的表的约束情况) 2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。 3、为临时表ST添加记录。 4、把S表的所有行一次性地加到临时表ST中。 select * into ST from S; 5、在SC表中把所有学生的成绩加2分。 update sc set score=case when score+2>100 then 100 else isnull(score,0)+2 end; 6、在ST表中把所有学生的年龄增加1。 7、在ST表中把‘李四’的所在系改为‘计算机’。 update st set dept='计算机' where sname='李四' 8、在SC表中将选修课程‘高数’的学生成绩加2分。 update sc set score=score+2 from sc,c where sc.cno=c.cno and cname='高数' 9、在SC表中删除所有成绩为空值的选修记录。 delete sc where score is null 10、删除计算机系选修成绩不及格的选课记录。 delete sc from s,sc where s.sno=sc.sno and score<60 and dept='计算机' (二)、在已建立的数据库和数据表的基础上,完成下列操作。 1、建立数学系学生的视图MAST。 create view MAST as select sno,sname,dept from s where dept='数学' 2、建立计算机系选修课程名为‘高数’的学生视图,视图名:CSTVIEW,该视图中应包括属性列:学号、姓名、成绩。 create view CSTVIEW as select s.sno,sname,score from s,sc,c where s.sno=sc.sno and c.cno=sc.cno and dept='计算机' and cname='高数' 3、创建一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。 create view STSUMVIEW as select s.sno,score from s,sc where s.sno=sc.sno and s.sno=sc.sno 4、建立学生选课视图SCVIEW,包括所有学生的学号、姓名、课程号、课程名和成绩。 create view SCVIEW as select s.sno,sname,c.cno,cname,score from s,sc,c where s.sno=sc.sno and c.cno=sc.cno 5、通过MAST视图查询学生基本信息。 6、通过SCVIEW查询成绩大于90分的学生的学号和成绩。 select sno,score from SCVIEW where score>90 7、查询计算机系选修课程名为“高数”并且成绩大于70分的学生的学号和成绩。 select sno,score from SCVIEW where cname='高数' and score>70 8、通过MAST视图将学号为‘01008’学生的年龄修改为21岁。 9、通过MAST视图将学号为‘2’学生所在系改为‘经济’,是否能成功执行?若不能成功请说明理由;若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?若不能查询请说明理由。 能成功执行以下语句: update MAST set dept='经济' where sno='2' 不能查到该生,因为在MAST视图下他的条件已经不符合系名为数学。 10、通过SCVIEW视图将学号为‘1’学生的总成绩修改为380分,是否能成功执行?若不能成功请说明理由。 实验5 数据库的安全与保护 一、实验目的 理解SQL Server的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。掌握如何为给定的用户分配权限。 二、实验环境 Windows7操作系统,SQL Server软件。 三、实验课时 2课时。 四、实验内容 用户与权限管理 (1)打开“SQL Server Management Studio”窗口,使用对象资源管理器创建两个服务器登录帐号Test1和Test2,并在“sample_st”数据库中创建两个对应的同名用户。设置Test1用户和Test2用户的默认架构为guest。 (2)使用Test1身份登录,并为Test2分配创建数据表的权限;用Test2身份登录来验证权限分配成功。 (3)使用Test1身份登录,收回刚刚分配给Test2的创建数据表的权限;用Test2身份登录来验证权限回收成功。 五、实验步骤 1、使用对象资源管理器创建两个服务器登录帐号。 以系统管理员身份登录SQL Server。打开“SQL Server Management Studio”窗口,在对象资源管理器列表中,打开展开“安全性”文件夹,选择“登录名”图标,单击鼠标右键,在弹出的菜单中选择“新建登录名”。在打开的对话框中依次建立Test1和Test2,选择“SQL Server身份验证”,同时还要输入密码,默认数据库为“sample_st”。 (2)在“用户映射”中列出了当前登录帐号可以选择访问的数据库如“sample_st”,在其左侧的复选框中打勾,表示当前登录帐号可以访问对应的数据库,默认用户名与登录帐号相同。 (3)单击“确定”按钮完成创建。 2、创建新的数据库用户。 在对象资源管理器中选中要访问操作的数据库,展开“安全性”文件夹,在“用户”文件夹中查找是否已建立与登录名Test1和Test2同名的数据库用户,若已建立,则在属性中修改其默认架构为guest;否则右击鼠标在菜单中选择“新建用户”选项,出现“数据库用户-新建”对话框,建立相应的用户。 3、用Grant、Revoke命令实现对用户的授权和收权。 4、用Create命令创建数据表验证授权和收权是否成功。 5、以系统管理员身份登录SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分别以Test1和Test2身份登录,进行授权及查询数据表,验证“WITH GRANT OPTION”能否成功执行。 6、以系统管理员身份使用“REVOKE”命令回收上述授权。

    2019-01-10
    50
  • 湖南文理学院大三专业英语翻译

    整合版,书上没有的课文翻译 目录 1.1仔细看看处理器和主存储器 3.4介绍java 4.1操作系统概要 5.1 互联网 6.2载波频率和多路复用 7.2 SQL引言

    2019-01-10
    5
  • 湖南文理学院微机原理期末复习大纲

    考试复习大纲哦 湖南文理学院,学长亲传1. cpu基本结构:两大部件,数据总线 2. 指令系统、堆栈操作:进栈 3. 串操作:串怎么传送 4. 转移指令:条件转移,短转移,进远转移

    2019-01-10
    7
img
湖南文理
  • GitHub

    绑定GitHub第三方账户获取

关注 私信