文档库 最新最全的文档下载
当前位置:文档库 › 山东大学数据库实验答案 1-8 2015最新详细版

山东大学数据库实验答案 1-8 2015最新详细版

山东大学数据库实验答案 1-8 2015最新详细版
山东大学数据库实验答案 1-8 2015最新详细版

目录

实验一 (2)

实验二 (4)

实验三 (6)

实验四 (9)

实验五 (14)

实验六 (15)

实验七 (17)

实验八 (21)

实验一

==1

create table test1_student (

sid char(12) not null,

name varchar(10) not null,

sex char(2),

age int,

Birthday date,

dname varchar(30),

class varchar (10)

)

==2

create table test1_teacher (

tid char(6) not null,

name varchar(10) not null,

sex char(2),

age int,

dname varchar(30)

)

==3

create table test1_course(

cid char(6) not null,

name varchar(40) not null,

fcid char(6),

credit numeric(4,1)

)

==4

create table test1_student_course( sid char(12) not null,

cid char(6) not null,

score numeric(5, 1),

tid char(6)

)

==5

create table test1_teacher_course(

tid char(6) not null,

cid char(6) not null

)

==6

insert into test1_student values('200800020101', 'í?Dà', '??', 19, date '1994-2-2','?????ú?§?o', '2010')

insert into test1_student values('200800020102', 'à??a', '??', 20, date '1995-3-3','èí?t?§?o', '2009')

insert into test1_student values('200800020103', '???ò', '?D', 21, date '1996-4-4','èí?t?§?o', '2009')

==7

insert into test1_teacher values('100101', '??à?ê|', '?D', 44, '?????ú?§?o')

insert into test1_teacher values('100102', 'à?à?ê|', '??', 45, 'èí?t?§?o')

insert into test1_teacher values('100103', '?íà?ê|', '?D', 46, '?????ú?§?o')

==8

insert into test1_course values('30001', 'êy?Y?á11', null, 2.0)

insert into test1_course values('30002', 'êy?Y?a', 300001, 2.5)

insert into test1_course values('30003', '2ù×÷?μí3', 300001, 4.0)

==9

insert into test1_student_course values('200800020101', '300001', 91.5, '100101')

insert into test1_student_course values('200800020101', '300002', 92.6, '100102')

insert into test1_student_course values('200800020101', '300003', 93.7, '100103')

==10

insert into test1_teacher_course values('100101', '300001')

insert into test1_teacher_course values('100102', '300002')

insert into test1_teacher_course values('100103', '300003')

实验二

==01

select sid, name from pub.STUDENT where sid

not in

(select sid from pub.STUDENT_COURSE)

==02

create table test2_02 as

select c.SID, https://www.wendangku.net/doc/7711209797.html, from pub.STUDENT_COURSE a, pub.STUDENT_COURSE b, pub.STUDENT c where a.SID = '200900130417' and a.CID = b.CID and b.SID = c.SID

==03

create table test2_03 as

select c.SID, https://www.wendangku.net/doc/7711209797.html, from pub.COURSE a, pub.STUDENT_course b, pub.STUDENT c

where a.FCID = '300002' and b.SID = c.SID and a.CID = b.CID

==04

create table test2_04 as

select e.SID, https://www.wendangku.net/doc/7711209797.html, from pub.STUDENT_COURSE a natural join pub.COURSE b, pub.STUDENT_COURSE c natural join pub.COURSE d, pub.STUDENT e

where https://www.wendangku.net/doc/7711209797.html, = '操作系统' and https://www.wendangku.net/doc/7711209797.html, = '数据结构' and a.sid = c.sid and e.SID = a.sid

==05

create table test2_05 as

select a.SID, https://www.wendangku.net/doc/7711209797.html,, round(avg(b.SCORE),0) avg_score, sum(b.SCORE) sum_score from pub.STUDENT a, pub.student_course b

where a.AGE = 20 and b.SID = a.SID

group by a.SID, https://www.wendangku.net/doc/7711209797.html,

==06

create table test2_06 as

select cid, max(score) max_score from pub.student_course

group by cid

==07

create table test2_07 as

select sid, name from pub.STUDENT

where sid

not in

(select sid from pub.student

where name like '李' or name like '张' or name like ' %')

==08

create table test2_08 as

select substr(name, 1, 1) second_name, count(*) p_count from pub.STUDENT group by substr(name, 1, 1)

==09

create table test2_09 as

select * from pub.STUDENT natural join pub.STUDENT_COURSE

where cid = '300003'

==10

create table test2_10 as

select a.SID, a.CID from pub.STUDENT_COURSE a

where exists

(select b.SCORE from pub.STUDENT_COURSE b

where a.CID = b.CID)

实验三

==1

create table test3_01 as

(

select * from pub.STUDENT_31

where trim(translate(sid, '0123456789', ' ')) is null and sid not like '% %'

)

==2

create table test3_02 as

(

select * from pub.STUDENT_31

where age = 2012 - extract(year from birthday) )

==3

create table test3_03 as

(

select * from pub.STUDENT_31

where sex = '男'

or sex = '女'

or sex is null

)

==4

create table test3_04 as

(

select * from pub.STUDENT_31

where dname not like '% %'

and length(dname) > 2

and dname is not null

)

==5

create table test3_05 as

(

select * from pub.STUDENT_31

where class not like '%级'

and class not like '% %'

)

==6

create table test3_06 as

(

select * from pub.STUDENT_31

where trim(translate(sid, '0123456789', ' ')) is null and sid not like '% %'

and age = 2012 - extract(year from birthday)

and length(name) > 1

and name not like '% %'

and dname not like '% %'

and length(dname) > 2

and dname is not null

and class not like '%级'

and class not like '% %'

and (sex = '男' or sex = '女' or sex is null)

)

==7

create table test3_07 as

(

select * from pub.student_course_32

where sid in

(

select sid from pub.STUDENT

)

)

==8

create table test3_08 as

(

select count(*) from pub.STUDENT_COURSE_32 where (cid, tid) in

(

select cid, tid from pub.TEACHER_COURSE

)

)

==9

create table test3_09 as

(

select * from pub.STUDENT_COURSE_32 where score > -1

and score < 101

)

==10

create table test3_10 as

(

select * from pub.STUDENT_COURSE_32

where sid in

(

select sid from pub.STUDENT

)

and cid in

(

select cid from pub.COURSE

)

and tid in

(

select tid from pub.TEACHER

)

and (cid, tid) in

(

select cid, tid from pub.TEACHER_COURSE )

and score > -1

and score < 101

)

实验四

==1

create table test4_01 as

(select * from pub.STUDENT_41)

alter table test4_01

add sum_score numeric(10, 1)

update test4_01 a

set sum_score = (

select sum(score)

from pub.STUDENT_COURSE b

where a.SID = b.SID

group by b.SID

)

==2

create table test4_02 as

(select * from pub.STUDENT_41)

alter table test4_02

add avg_score numeric(10, 1)

update test4_02 a

set avg_score = (

select avg(score)

from pub.STUDENT_COURSE b

where a.SID = b.SID

group by b.SID

)

==3

create table test4_03 as

(select * from pub.STUDENT_41)

alter table test4_03

add sum_credit numeric(10, 1)

update test4_03 a

set sum_credit = (

select sum(credit)

from pub.course natural join pub.STUDENT_COURSE where a.SID = SID

and score > 59

group by SID

)

==4

create table test4_04 as

(select * from pub.STUDENT_41)

update test4_04 a

set dname = (

select did

from pub.DEPARTMENT b

where a.DNAME = b.DNAME

)

where dname in (

select dname

from pub.DEPARTMENT

)

==5

create table test4_05 as

(select * from pub.STUDENT_41)

update test4_05

set sum_score = (

select sum(score)

from pub.STUDENT_COURSE b

where a.SID = b.SID

group by b.SID

)

update test4_05 a

set avg_score = (

select avg(score)

from pub.STUDENT_COURSE b

where a.SID = b.SID

group by b.SID

)

update test4_05 a

set sum_credit = (

select sum(credit)

from pub.course natural join pub.STUDENT_COURSE where a.SID = SID

and score > 59

group by SID

)

update test4_05 a

set did = case

when a.dname in (

select dname

from pub.DEPARTMENT

)

then (

select did

from pub.DEPARTMENT b

where a.DNAME = b.DNAME

)

when a.DNAME in (

select dname

from pub.DEPARTMENT_41

)

then (

select did

from pub.DEPARTMENT_41 c

where a.DNAME = c.DNAME

)

else '00'

end

==6

create table test4_06 as

(select * from pub.STUDENT_42)

update test4_06

set name = replace(name, ' ', '')

==7

create table test4_07 as

(select * from pub.STUDENT_42)

update test4_07

set sex = replace(sex, ' ', '')

update test4_07

set sex = case

when sex = '男性' or sex = '男'

then '男'

when sex = '女性' or sex = '女'

then '女'

end

==8

create table test4_08 as

(select * from pub.STUDENT_42)

update test4_08

set class = replace(class, '级', '')

where class like '%级'

==9

create table test4_09 as

(select * from pub.STUDENT_42)

update test4_09

set age = 2012 - extract(year from birthday) where age is null

==10

create table test4_10 as

(select * from pub.STUDENT_42)

update test4_10

set name = replace(name, ' ', '')

update test4_10

set dname = replace(dname, ' ', '')

update test4_10

set sex = replace(sex, ' ', '')

update test4_10

set sex = case

when sex = '男性' or sex = '男'

then '男'

when sex = '女性' or sex = '女'

then '女'

end

update test4_10

set class = replace(class, '级', '')

where class like '%级'

update test4_10

set age = 2012 - extract(year from birthday) where age is null

==1

create table test5_00 as (select * from pub.TEACHER)

88

90

90

86

90

90

86

86

76

86

==1

create view test6_01 as (

select sid, name, dname

from pub.student

where age < 20

and dname = '物理学院'

order by sid

)

==2

create view test6_02 as (

select sid, name, sum(score) sum_score

from pub.STUDENT natural join pub.STUDENT_COURSE

where class = '2009'

and dname = '软件学院'

group by sid, name

)

==3

create view test6_03 as (

select a.SID, https://www.wendangku.net/doc/7711209797.html,, b.SCORE from pub.STUDENT a, pub.STUDENT_COURSE b, pub.COURSE c

where a.SID = b.SID

and b.CID = c.CID

and a.CLASS = '2010'

and a.DNAME = '计算机科学与技术学院'

and https://www.wendangku.net/doc/7711209797.html, = '操作系统'

)

==4

create view test6_04 as (

select a.SID, https://www.wendangku.net/doc/7711209797.html, from pub.STUDENT a, pub.STUDENT_COURSE b, pub.COURSE c

where a.SID = b.SID

and b.CID = c.CID

and b.score > 90

and https://www.wendangku.net/doc/7711209797.html, = '数据库系统'

)

==5

create view test6_05 as (

select c.CID, https://www.wendangku.net/doc/7711209797.html,, b.score from pub.STUDENT a, pub.STUDENT_COURSE b, pub.COURSE c where a.SID = b.SID

and b.CID = c.CID

and https://www.wendangku.net/doc/7711209797.html, = '李龙'

)

==6

create view test6_06 as (

select https://www.wendangku.net/doc/7711209797.html,, b.sid from pub.STUDENT b

where not exists (

(select cid

from pub.COURSE)

minus

(select a.cid

from pub.STUDENT_COURSE a

where a.sid = b.sid)

)

)

==7

create view test6_07 as (

select https://www.wendangku.net/doc/7711209797.html,, b.sid from pub.STUDENT b

where not exists (

(select cid

from pub.COURSE)

minus

(select a.cid

from pub.STUDENT_COURSE a

where a.sid = b.sid

and a.score > 59)

)

)

==8

create view test6_08 as (

select a.cid, https://www.wendangku.net/doc/7711209797.html, from pub.COURSE a, pub.COURSE b

where a.FCID = b.CID

and b.CREDIT = 2

)

==9

create view test6_09 as (

select a.sid, https://www.wendangku.net/doc/7711209797.html,, sum(c.credit) sum_credit

from pub.STUDENT a, pub.STUDENT_COURSE b, pub.COURSE c

where a.sid = b.sid

and b.cid = c.cid

and b.SCORE > 59

and a.class = '2010'

and a.dname = '化学与化工学院'

group by a.sid, https://www.wendangku.net/doc/7711209797.html,

)

==10

create view test6_10 as (

select a.cid, https://www.wendangku.net/doc/7711209797.html, from pub.COURSE a, pub.COURSE b, pub.COURSE c

where a.FCID = b.CID

and b.FCID = c.CID

)

实验七

==1

create table test7_01 (First_name varchar(4), frequency numeric(4))

insert into test7_01 (

select replace(https://www.wendangku.net/doc/7711209797.html,, substr(https://www.wendangku.net/doc/7711209797.html,, 0, 1), '') , count(*) from pub.STUDENT a, pub.STUDENT b

where replace(https://www.wendangku.net/doc/7711209797.html,, substr(https://www.wendangku.net/doc/7711209797.html,, 0, 1), '') = replace(https://www.wendangku.net/doc/7711209797.html,, substr(https://www.wendangku.net/doc/7711209797.html,, 0, 1), '') group by a.sid, https://www.wendangku.net/doc/7711209797.html,

)

==2

create table test7_02 (

letter varchar(2),

frequency numeric(4)

)

insert into test7_02 (

select a.letter, count(*) from (

(select substr(name, 3, 1) letter from pub.STUDENT

where substr(name, 3, 1) is not null)

union (--这个地方没有all

select substr(name, 2, 1) letter from pub.STUDENT

)

) a, (

(select substr(name, 3, 1) letter from pub.STUDENT

where substr(name, 3, 1) is not null)

union all (--这个地方有all

select substr(name, 2, 1) letter from pub.STUDENT

)

) b

where a.letter = b.letter

group by a.letter

)

==3

create table test7_03 (

dname varchar(30),

class varchar(10),

P_count1 int,

P_count2 int,

P_count int

)

insert into test7_03 (

select c.dname, c.class, count(*), 0, 0 from pub.STUDENT c, (select sid, sum(credit) sum_credit from pub.student_course a, pub.COURSE b

where a.CID = b.CID

and a.SCORE > 59

group by sid) temp

where c.SID = temp.sid

and temp.sum_credit > 9

and c.dname is not null

group by c.dname, c.class

)

update test7_03

set p_count2 = (

select count(*) from pub.STUDENT c, (select sid, sum(credit) sum_credit from pub.student_course a, pub.COURSE b

where a.CID = b.CID

and a.SCORE > 59

and c.dname = test7_03.dname

and c.class = test7_03.class

group by sid) temp

where c.SID = temp.sid

and temp.sum_credit < 10

and c.dname is not null

group by c.dname, c.class

)

update test7_03

set p_count = (

select count(*) from pub.STUDENT c

where c.dname is not null

and c.dname = test7_03.dname

and c.class = test7_03.class

group by c.dname, c.class

)

==4

create table test7_04 (

dname varchar(30),

class varchar(10),

P_count1 int,

P_count2 int,

P_count int

)

insert into test7_04 (

select c.dname, c.CLASS, count(*), 0, 0 from pub.STUDENT c, (select sid, sum(credit) sum_credit from pub.student_course a, pub.COURSE b

where a.CID = b.CID

and a.SCORE > 59

group by sid) temp

where c.SID = temp.sid

and temp.sum_credit >= 8

and to_number(c.CLASS) <= 2008

and c.dname is not null

group by c.dname, c.class

)

insert into test7_04 (

select c.dname, c.CLASS, count(*), 0, 0 from pub.STUDENT c, (select sid, sum(credit) sum_credit from pub.student_course a, pub.COURSE b

where a.CID = b.CID

and a.SCORE > 59

group by sid) temp

where c.SID = temp.sid

and temp.sum_credit >= 10

and to_number(c.CLASS) > 2008

and c.dname is not null

group by c.dname, c.class

)

update test7_04

set p_count = (

select count(*) from pub.STUDENT c

where c.dname is not null

and c.dname = test7_04.dname

and c.class = test7_04.class

group by c.dname, c.class

)

update test7_04

set P_count2 = p_count - p_count1

山东大学数据库实验答案2—8

山东大学数据库实验答案2—8 CREATE TABLE test2_01 AS SELECT SID, NAME FROM pub.STUDENT WHERE sid NOT IN ( SELECT sid FROM pub.STUDENT_COURSE ) CREATE TABLE test2_02 AS SELECT SID, NAME FROM PUB.STUDENT WHERE SID IN ( SELECT DISTINCT SID FROM PUB.STUDENT_COURSE WHERE CID IN ( SELECT CID FROM PUB.STUDENT_COURSE WHERE SID='200900130417' ) ) CREATE TABLE test2_03 AS

select SID,NAME from PUB.STUDENT where SID in ( select distinct SID from PUB.STUDENT_COURSE where CID in (select CID from PUB.COURSE where FCID='300002') ) CREATE TABLE test2_04 AS select SID,NAME from PUB.STUDENT where SID in ( select distinct SID from PUB.STUDENT_COURSE where CID in (select CID from PUB.COURSE where NAME='操作系统') intersect select distinct SID from PUB.STUDENT_COURSE where CID in (select CID from PUB.COURSE where NAME='数据结构') ) create table test2_05 as with valid_stu(sid,name) as ( select SID,NAME from PUB.STUDENT where AGE=20 and SID in (select SID from PUB.STUDENT_COURSE) ) select sid,name as name,ROUND(avg(score)) as avg_score,sum(score) as sum_score from PUB.STUDENT_COURSE natural join valid_stu where SID in (select SID from valid_stu) group by SID,NAME create table test2_06 as

同济大学数据库课程考核试卷 A卷 秋季数据库期中考试 英语 参考答案

同济大学课程考核试卷(A卷) 2012 —2013 学年第一学期 课号:10014501 课名:数据库系统原理(双语)考试考查:考试此卷选为:期中考试( )、期终考试( )、重考( ) 试卷 年级专业学号姓名得分 Ⅰ. Multiple choice (20 marks, 2 marks each) (C )1. Five basic relational algebra operations are , others can be derived from these operations. A. ?,-,π,σ,? B. ?,-,π,σ, C. ?,-,π,σ,? D. ?,÷,π,σ, (ABD)2. The following aggregation function(s) will neglect null value. A. SUM B. MAX C. COUNT D. A VG (A. )3. Given R, U={A,B,C}, F={B→C}, a decomposition of R is ρ={AB, BC}, and the decomposition is: A. lossless-join, dependency preserving B. lossless-join, not dependency preserving C. lossy-join, dependency preserving D. lossy-join, not dependency preserving (BD )4. When we generate relational schemas from an E-R diagram, the rules for relationship sets are: A. for a binary 1: n relationship set, translate it into a relation, and the primary key of the relationship set is the primary key of the “1” side entity set; B. for a binary 1: n relationship set, translate it into a relation, and the primary key of the relationship set is the primary key of the “n” side entity set; C. a binary 1: n relationship set can be united with the “1”side entity set, and translated into one relation; D. a binary 1: n relationship set can be united with the “n”side entity set, and translated into one relation; (ABC)5. If R∈BCNF, then: A. non-attributes are entirely functional dependent on non-key attributes; B. all key attributes are entirely functional dependent on each candidate key that does not contain them; C. all partial dependencies and transitive dependencies are removed for any

山东大学网络教育数据库系统原理期末考试试题及参考答案

数据库系统原理—线上 一、选择题 1、数据是以()的方式存储于操作系统(OS)之中的。 A、数据文件 B、日志文件 C、存储类型 D、并行 正确答案:A 2、()是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。 A、数据管理 B、数据处理 C、数据加工 D、数据收集 正确答案:A 3、数据库管理系统简称() A、DDA B、DB C、DBA D、DBMS 正确答案:D 4、Oracle数据库特点说法正确的是:() 1支持单用户、大事务量的事务处理 2数据安全性和完整性控制 3提供对于数据库操作的接口 4支持集中式数据处理 5可移植性、可兼容性和可连接性 A、12 B、235 C、35 D、25 正确答案:B 5、()是位于用户与操作系统之间的一层数据管理软件。 A、数据库管理系统 B、数据库 C、数据库系统 D、数据库管理员 正确答案:A 6、一般来说,数据库用户账号总是与某一登录账号相关联,但有一个例外那就是()用户 A、sa B、system C、guest D、admin 正确答案:C 7、()以自由软件为主。 A、MySQL B、SQL Server C、Dreanwaver D、Oracle 正确答案:A 8、数据库的简称()A、DAB、DBC、BDD、DD 正确答案:B 9、()是自由软件,因此不属于厂商产品,所以归属于应用中间件软件。 A、MSSQL B、MySQL C、oracle D、linux正确答案:B10、MS SQL Server 能在那两种安全模式下运行A、数据库认证模式 B、WINDOWS认证模式 C、混合模式 D、安全认证模式 正确答案:BC

计算机网络答案-山东大学期末考题目答案

计算机网络答案-山东大学期末考题目答案

第一章概述 1-3试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 答:1、电路交换电路交换是一种必须经过“建立连接-通话-释放链接”三个步骤的一条专用物理通路。从建立连接开始,通讯就一直占用信道资源,直到释放。它具有实施性强,时延小,交换设备成本低的优点。同时,其线路利用效率低,通信效率低,不同类型终端之间不可通讯。电路交换适用于信息量大,较长的报文。 2、报文交换报文交换本质上也是存储转发方式,但是它将整个报文从一个结点传到下一个。它的优点是中继电路利用率高,可以多个用户同时在一条线路上传送。缺点在于报文信息量大,时延长,且占用交换机内存较大,不具有实时性。它适用于报文较短,实时性较低的通讯。 3、分组交换分组交换是将报文分组,在每个分组之前加上地址信息,通过路由器经接收,存储,再转发到下一个接口,直到将分组传到目标地址,再去掉地址信息将其重组为完整报文。在分组传输的过程中动态分配传输宽带,逐

段占用通信链路,多个分组数可同时传送。它传输效率高,且保证数据传输有很高可靠性。同时分组排队会造成时延,但比报文交换小,且成本较高。 1-12 因特网的两大组成部分(边缘部分与核心部分)的特点是什么?他们的工作方式各有什么特点? 答:边缘部分由所有连接在因特网上的主机组成,由用户直接使用,进行通信和资源共享。核心部分,是由大量网络和连接这些网络的路由器组成,主要为边缘部分服务提供连通性和交换。边缘部分不同终端上的程序通信方式有客户-服务器方式和对等方式。客户-服务器方式指进行通讯的双方中一方为服务请求方,一方为服务提供方。客户向服务器发送远程服务请求,因此客户程序必须知道服务器程序地址,而服务器只需要被动接受请求,不需要知道客户程序地址,但需要强大硬件和高级操作系统支持。对等方式是双方均可既为服务提供者,也可以为服务请求

山东大学《数据库系统》上机实验答案 详细整理 2013最新版

数据库实验(一) 熟悉环境、建立/删除表、插入数据 Drop table 表名 update dbtest set test=1 select * from dbscore 1.教师信息(教师编号、姓名、性别、年龄、院系名称) test1_teacher:tid char 6 not null、name varchar 10 not null、sex char 2、age int、dname varchar 10。 根据教师名称建立一个索引。 1、create table test1_teacher( tid char(6) primary key, name varchar(10) not null, sex char(2), age int, dname varchar(10) ) 2.学生信息(学生编号、姓名、性别、年龄、出生日期、院系名称、班级)test1_student:sid char 12 not null、name varchar 10 not null、sex char 2、age int、birthday date(oracle的date类型是包含时间信息的,时间信息全部为零)、dname varchar 10、class varchar(10)。 根据姓名建立一个索引。 2、create table test1_student(

sid char(12) primary key, name varchar(10) not null, sex char(2), age int, birthday date, dname varchar(10), class varchar(10) ) 3.课程信息(课程编号、课程名称、先行课编号、学分) test1_course:cid char 6 not null、name varchar 10 not null、fcid char 6、credit numeric 2,1(其中2代表总长度,1代表小数点后面长度)。 根据课程名建立一个索引。 3、create table test1_course( cid char(6) primary key, name varchar(10) not null, fcid char(6), credit numeric(2,1) ) 4.学生选课信息(学号、课程号、成绩、教师编号) test1_student_course:sid char 12 not null、cid char 6 not null、 score numeric 5,1(其中5代表总长度,1代表小数点后面长度)、tid char 6。 4、 create table test1_student_course( sid char(12) , cid char(6) , score numeric(5,1), tid char(6), primary key(sid,cid),

同济大学数据库作业lab5

同济大学 《数据库技术及应用》 实验报告 实验报告题目: 视图,存储过程和触发器 姓名:学号: 年级:专业: 指导教师: 日期:2014 年10 月27 日

一.实验目的 1.学会视图的建立和基于视图的数据库建立 2.学会存储过程的建立和存储方法 3.学会触发器的建立和使用方法,通过实验数据的操作过程了解应用触发器实现数据库完整性控制的设计过程 二.实验内容 (实验题目+运行界面截图+实现代码) 1.(1)创建视图viewa,查询有选课记录的学生号,课程号,课程名称。成绩。 create view viewA as select student.snum,sc.secnum,https://www.wendangku.net/doc/7711209797.html,ame,sc.score from student,sc,sections,course where student.snum=sc.snum and sc.secnum=sections.secnum and https://www.wendangku.net/doc/7711209797.html,um=https://www.wendangku.net/doc/7711209797.html,um

(2)在上述视图的基础上查询所有学生都及格的课程名称select cname from viewA group by cname having min(score)>60 2.存储过程的建立和执行 (1)建立存储过程proca,其功能是显示所有学生的基本信息

create proc proca as select* from student exec proca (2)建立procb,查询出给定出生年份信息的学生信息 create proc procb @_year int as select*from student where year(birthday)=@_year declare@y int set@y=1994 exec procb@y (3)建立存储过程procc,查询给定学好的学生的课程平均成绩,选修课程的门数和不及格课程的门数 create proc procc @_xh char(4) as

山东大学数据库第四次实验实验报告

實驗4 視圖操作 實驗目の:掌握創建、刪除視圖のSQL語句の用法,掌握使用企業管理器創建、視圖の方法。 實驗准備: 1)了解創建視圖方法。 2)了解修改視圖のSQL 語句の語法格式。 實驗內容: 1)使用企業管理器創建視圖 a)在pubs數據庫中以authors表為基礎,建立一個名為CA_authorの視圖, 使用該視圖時,將顯示所有state為CAの作者の基本信息。 2)使用SQL語句創建視圖 a)在查詢分析器中利用author表建立一個每個作者のID,lname,fname, phone,addressの視圖S_author。 b)建立一個employee_date視圖,利用employee表中信息,顯示1991年 1月1日之後雇傭の雇員のid,name,minit,job_id。 3)刪除視圖 a)使用企業管理器S_author視圖 b)使用SQL語句刪除CA_author、employee_date視圖 實驗要求: 用不同の方法創建視圖。 實驗步驟如下: 一、使用企業管理器創建視圖 a )在pubs數據庫中以authors表為基礎,建立一個名為CA_author の視圖,使用該視圖時,將顯示所有state為CAの作者の基本信息。

①右鍵點擊pubs數據庫文件下の視圖,選擇“新建視圖”,在彈出來の“添加表”中添加表authors。 ②在“添加表”一欄中添加表authors後點擊“關閉”,並全選author表中所有項目。 ③點擊保存,從彈出來の“選擇名稱”框中輸入視圖名稱“CA_author”。

④添加名為CA_author の視圖成功。 ⑤顯示所有state為CAの作者の基本信息。

山东大学操作系统实验报告4进程同步实验

山东大学操作系统实验报告4进程同步实验

计算机科学与技术学院实验报告 实验题目:实验四、进程同步实验学号: 日期:20120409 班级:计基地12 姓名: 实验目的: 加深对并发协作进程同步与互斥概念的理解,观察和体验并发进程同步与互斥 操作的效果,分析与研究经典进程同步与互斥问题的实际解决方案。了解 Linux 系统中 IPC 进程同步工具的用法,练习并发协作进程的同步与互斥操作的编程与调试技术。 实验内容: 抽烟者问题。假设一个系统中有三个抽烟者进程,每个抽烟者不断地卷烟并抽烟。抽烟者卷起并抽掉一颗烟需要有三种材料:烟草、纸和胶水。一个抽烟者有烟草,一个有纸,另一个有胶水。系统中还有两个供应者进程,它们无限地供应所有三种材料,但每次仅轮流提供三种材料中的两种。得到缺失的两种材料的抽烟者在卷起并抽掉一颗烟后会发信号通知供应者,让它继续提供另外的两种材料。这一过程重复进行。请用以上介绍的 IPC 同步机制编程,实现该问题要求的功能。 硬件环境: 处理器:Intel? Core?i3-2350M CPU @ 2.30GHz ×4 图形:Intel? Sandybridge Mobile x86/MMX/SSE2 内存:4G 操作系统:32位 磁盘:20.1 GB 软件环境: ubuntu13.04 实验步骤: (1)新建定义了producer和consumer共用的IPC函数原型和变量的ipc.h文件。

(2)新建ipc.c文件,编写producer和consumer 共用的IPC的具体相应函数。 (3)新建Producer文件,首先定义producer 的一些行为,利用系统调用,建立共享内存区域,设定其长度并获取共享内存的首地址。然后设定生产者互斥与同步的信号灯,并为他们设置相应的初值。当有生产者进程在运行而其他生产者请求时,相应的信号灯就会阻止他,当共享内存区域已满时,信号等也会提示生产者不能再往共享内存中放入内容。 (4)新建Consumer文件,定义consumer的一些行为,利用系统调用来创建共享内存区域,并设定他的长度并获取共享内存的首地址。然后设定消费者互斥与同步的信号灯,并为他们设置相应的初值。当有消费进程在运行而其他消费者请求时,相应的信号灯就会阻止它,当共享内存区域已空时,信号等也会提示生产者不能再从共享内存中取出相应的内容。 运行的消费者应该与相应的生产者对应起来,只有这样运行结果才会正确。

山东大学期末考试知识点复习

第七章新闻图片编辑 【知识框架】 【重点难点归纳】 一、新闻图片的种类及其地位 1.报纸上常见的图片种类 (1)照片 新闻照片就是以新闻事件、新闻人物为拍摄对象,再现新闻现场情景的照片,它可以作为独立的新闻报道出现在版面上,也可以配合文字报道一同编发。 (2)漫画 漫画在现代报纸上的使用非常广泛,有根据新闻事实进行艺术加工的新闻漫画,时效性较强,经常刊登在新闻版上;也有反映社会生活现象的社会性漫画,通常刊登在专刊副刊上;还有用来配合文字报道的图解式漫画以及连环漫画、幽默画等。 (3)图示 图示包括统计图表、示意图和新闻地图三类。 统计图表就是将统计数字制成表格图,便于读者集中阅读,一目了然。

示意图不但将统计数字集中绘制成图,而且用形象化的手法表示这些数据所说明的意义。 新闻地图则是根据标准地图,将新闻发生地的地理位置绘制成更加简洁明确的地图。 (4)图饰 图饰一般是用美术图案点缀和烘托报纸的报头、报眉、标题、栏题、版头或版面的其他部位,使整个版面更加美观生动,恰当地运用图饰还能使版面编排思想得到更加充分的体现。 2.图片的地位与作用 (1)纪实性作用 作为独立报道体裁的新闻照片具有再现新闻现场、记载真实瞬间的作用,这类照片成为报纸上不可或缺的重要组成部分。 (2)证实性作用 非独立使用的新闻照片与非新闻照片具有证实文字报道的作用,这类照片对新闻资源的充分发掘,对提高新闻报道的可信度具有重要意义。 (3)解说性作用 图表、示意图、新闻地图、漫画等能够以形象性的符号统计和描绘新闻报道中的某些内容,从而对相对比较枯燥的文字表述进行生动易懂的解释。 (4)装饰性作用 图片的形象性特征使其可以作为文字稿件的美化装饰手段。 (5)视觉冲击性作用 图片的形象性和直观性能够产生强烈的视觉冲击效果,产生巨大的吸引力与震撼力,这是文字报道所难以达到的。

山大网络教育《数据结构》(-C-卷)

山大网络教育《数据结构》(-C-卷)

《数据结构》模拟卷 一、单项选择题 1.数据结构是()。 A.一种数据类型 B.数据的存储结构 C.一组性质相同的数据元素的集合 D.相互之间存在一种或多种特定关系的数据元素的集合 2.算法分析的目的是( B )。 A.辨别数据结构的合理性 B.评价算法的效率 C.研究算法中输入与输出的关系 D.鉴别算法的可读性 3.在线性表的下列运算中,不.改变数据元素之间结构关系的运算是( D )。 A.插入B.删除 C.排序D.定位 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( B )。 A.3,2,6,1,4,5 B.3,4,2,1,6,5

C.1,2,5,3,4,6 D.5,6,4,2,3,1 5.设串sl=″Data Structures with Java″,s2=″it″,则子串定位函数index(s1,s2)的值为( D )。 A.15 B.16 C.17 D.18 6.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为( A )。 A.1207 B.1209 C.1211 D.1213 7.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是( A )。 A.队列B.栈 C.线性表D.有序表 8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( B )。A.不一定相同B.都相同 C.都不相同D.互为逆序 9.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( C )。

同济大学实验安全考试题库

1 单选题做加热易燃液体实验时,应该()。 A 用电炉加热,要有人看管 B 用电热套加热,可不用人看管 C 用水浴加热,要有人看管 正确答案:C 2 单选题毒物进入人体最主要、最常见的途径是()。 A 呼吸道 B 皮肤 C 眼睛 D 消化道 正确答案:A 3 单选题倾倒液体试剂时,瓶上标签应朝()。 A 上方 B 下方 C 左方 D 右方 正确答案:A 4 单选题当不慎把少量浓硫酸滴在皮肤上时,正确的处理方法是()。 A 用酒精擦 B 马上去医院 C 用碱液中和后,用水冲洗 D 以吸水性强的纸吸去后,用水冲洗 正确答案:D 5 判断题学生可以单独使用剧毒物品吗? 正确答案:对 6 单选题当有危害的化学试剂发生泄漏、洒落或堵塞时,应()。 A 首先避开并想好应对的办法再处理 B 赶紧打扫干净或收拾起来 正确答案:A 7 单选题下列物品不属于剧毒化学品的是()。 A 氰化钾 B 氯化汞 C 铊 D 甲醛 正确答案:D 8 单选题K、Na、Mg、Ca、Li、AlH3、MgO、电石中,遇水发生激烈反应的有()。 A 5种 B 6种 C 7种 D 8种 正确答案:B 9 单选题金属Hg常温下会()。 A 不挥发 B 慢慢挥发

C 很快挥发 正确答案:B 10 单选题HCN无色,气味是()。 A 无味 B 大蒜味 C 苦杏仁味 正确答案:C 11 单选题氮氧化物主要伤害人体的()器官。 A 眼、上呼吸道 B 呼吸道深部的细支气管、肺泡 正确答案:B 12 单选题易燃易爆试剂应放在()。 A 在铁柜中,柜的顶部要有通风口 B 在木柜中,柜的顶部要有通风口 C 在铁柜中,并要密封保存 D 在木柜中,并要密封保存 正确答案:A 13 多选题以下哪些酸具有强腐蚀性,使用时须做必要的防护()。 A 硝酸 B 冰醋酸 C 硼酸 正确答案:A,B 14 多选题使用易燃易爆的化学药品应该注意()。 A 避免明火加热 B 加热时使用水浴或油浴 C 在通风橱中进行操作 D 不可猛烈撞击 正确答案:A,B,C,D 15 多选题剧毒类化学试剂应如何存放()。 A 应锁在专门的毒品柜中 B 应存于实验台下柜中 C 置于阴凉干燥处,并与酸类试剂隔离 D 建立双人登记签字领用制度,建立使用、消耗、废物处理等制度 E 储存室应配备防毒、防盗、报警及隔离、消除与吸收毒物的设施正确答案:A,C,D,E 16 多选题爆炸物品在发生爆炸时的特点有()。 A 反应速度极快,通常在万分之一秒以内即可完成 B 释放出大量的热 C 通常产生大量的气体 D 发出声响 正确答案:A,B,C,D 17 多选题具有下列哪些性质的化学品属于化学危险品()。 A 爆炸 B 易燃

山东大学人工智能复习参考(2017春)(带答案)

山东大学人工智能复习参考(2017春)(带答案)

复习参考题2016秋 一、填空 1.构成产生式系统的基本元素有综合数据库、规则库、控制系统,控制策略按执行规则的方式分类,分为正向、逆向、双向三类。 2.归结过程中控制策略的作用是给出控制策略,以使仅对选择合适的子句间方可做归结,避免多余的、不必要的归结式出现或者说,少做些归结仍能导出空子句。常见的控制策略有线性归结策略、支持集策略、单元归结、输入归结。 3.公式G和公式的子句集并不等值,但它们在不可满足的意义下是一致的。 4.与或图的启发式搜索算法(AO*算法)的两个过程分别是图生成过程即扩展节点和计算耗散值的过程。 5.人工智能的研究途径主要有两种不同的观点,一种观点称为符号主义,认为人类智能基本单元是符号。另一种观点称为连接主义(仿生主义),认为职能的基本单元是神经元。 6.集合{P(a, x, f (g(y)), P(z, f(z),f(u)))的mgu(最一般合一置换)为{z/a, f(x)/x, u/g(y)}。 7.语义网络是对知识的有向图表示方法,一个最简单的语义网络是一个形如节点1、弧、节点2的三元组,语义网络可以描述事物间多种复杂的语义关系、常用ISA、AKO弧表示节点间具有类属的分类关系。语义网络下的推理是通过继承和匹配实现的。 8.当前人工智能研究的热点之一就是机器学习。常见的机器学习方法可分为连接学习、归纳学习、分析学习和遗传算法与分类器系统等。一个机器学习系统应有环境、知识库、学习环节和执行环节四个基本部分组成。 9.常用的知识表示法有逻辑表示法、产生式规则表示法、语义网络表示法、框架理论表示法、过程表示法等。 10.有两个A*算法A1和A2,若A1比A2有较多的启发信息,则 h1(n)>h2(n)。 11.关于A算法与A*算法,若规定h(n)≥0,并且定义启发函数:f*(n)=g*(n)+h*(n) 表示初始状态S0经点n到目标状态S g最优路径的费用。其中g*(n)为S0到n的最小费用, h*(n)为到S g的实际最小费用。若令h(n)≡0,则A算法相当于宽度优先搜索,因为上一层节点的搜索费用一般比下一层的小。若g(n)≡h(n)≡0则相当于随机算法。若g(n)≡0,则相当于最佳优先算法。特别是当要求h(n)≤h*(n)就称这种A算法为A*算法。

计算机网络答案 山东大学期末考题目答案

第一章概述 1-3试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 答:1、电路交换电路交换是一种必须经过“建立连接-通话-释放链接”三个步骤的一条专用物理通路。从建立连接开始,通讯就一直占用信道资源,直到释放。它具有实施性强,时延小,交换设备成本低的优点。同时,其线路利用效率低,通信效率低,不同类型终端之间不可通讯。电路交换适用于信息量大,较长的报文。 2、报文交换报文交换本质上也是存储转发方式,但是它将整个报文从一个结点传到下一个。它的优点是中继电路利用率高,可以多个用户同时在一条线路上传送。缺点在于报文信息量大,时延长,且占用交换机内存较大,不具有实时性。它适用于报文较短,实时性较低的通讯。 3、分组交换分组交换是将报文分组,在每个分组之前加上地址信息,通过路由器经接收,存储,再转发到下一个接口,直到将分组传到目标地址,再去掉地址信息将其重组为完整报文。在分组传输的过程中动态分配传输宽带,逐段占用通信链路,多个分组数可同时传送。它传输效率高,且保证数据传输有很高可靠性。同时分组排队会造成时延,但比报文交换小,且成本较高。 1-12 因特网的两大组成部分(边缘部分与核心部分)的特点是什么?他们的工作方式各有什么特点? 答:边缘部分由所有连接在因特网上的主机组成,由用户直接使用,进行通信和资源共享。核心部分,是由大量网络和连接这些网络的路由器组成,主要为边缘部分服务提供连通性和交换。边缘部分不同终端上的程序通信方式有客户-服务器方式和对等方式。客户-服务器方式指进行通讯的双方中一方为服务请求方,一方为服务提供方。客户向服务器发送远程服务请求,因此客户程序必须知道服务器程序地址,而服务器只需要被动接受请求,不需要知道客户程序地址,但需要强大硬件和高级操作系统支持。对等方式是双方均可既为服务提供者,也可以为服务请求者。 网络核心部分要想网络边缘部分提供连通性和交换,起关键作用的是路由器,其任务是转发收到的分组,使得边缘部分的每一个终端都能够向其他主机通信。 1-14 计算机网络有哪些常用的性能指标? 答:1、速率:连结在计算机网络上的主机在数字信道上传送数据的速率,单位为b/s(其中 b 为bit,表示一个二进制数字,比特是计算机中数据量的单位) 2、带宽:带宽本来指的是某个信号具有的频带宽度,单位为赫;由于通信的主干线传送的是模拟信号,所以,带宽表示通信线路允许通过的信号频带范围,表示在单位时间内,从网络中的某一点到另一点所能通过的“最高数据率”,单位是比特每秒。 3、吞吐量:表示单位时间内通过某个网络口的数据量,经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能通过网络 4、时延:时延指数据从网络的一段传送到另一端所需要的时间。有以下几个部分组成:(1)发送时延从主机发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需要的

山东大学操作系统实验二

软件学院操作系统实验报告 实验题目: 实验二、线程和进程/线程管道通信实验 学号:201100300124 日期:2013年04月19日 班级:5班姓名:韩俊晓 Email:hanjunxiao188@https://www.wendangku.net/doc/7711209797.html, 实验目的: 通过Linux 系统中线程和管道通信机制的实验,加深对于线程控制和管道通信概念的理解,观察和体验并发进/线程间的通信和协作的效果,练习利用无名管道进行进/线程间通信的编程和调试技术。 实验要求: 设有二元函数f(x,y) = f(x) + f(y) 其中:f(x) = f(x-1) * x(x >1) f(x)=1(x=1) f(y) = f(y-1) + f(y-2)(y> 2) f(y)=1(y=1,2) 请编程建立3个并发协作进程(或线程),它们分别完成f(x,y)、f(x)、f(y) 其中由父进程(或主线程)完成:f(x,y) = f(x) + f(y) 由子进程1(或线程1)完成:f(x) = f(x-1) * x(x >1) f(x)=1(x=1)

由子进程2(或线程2)完成:f(y) = f(y-1) + f(y-2)(y> 2) f(y)=1(y=1,2) 硬件环境: 实验室计算机 软件环境: Ubuntu08.4-Linux操作系统 BASH_VERSION='3.2.33(1)-release gcc version 4.1.2 gedit 2.18.2 OpenOffice 2.3 实验步骤: 1.实验说明: 1)与线程创建、执行有关的系统调用说明 线程是在共享内存中并发执行的多道执行路径,它们共享一个进程的资源,如进程程序段、文件描述符和信号等,但有各自的执行路径和堆栈。线程的创建无需像进程那样重新申请系统资源,线程在上下文切换时也无需像进程那样更换内存映像。多线程的并发执行即避免了多进程并发的上下文切换的开销又可以提高并发处理的效率。 Linux 利用了特有的内核函数__clone 实现了一个叫phread 的线程库,__clone是fork 函数的替代函数,通过更多的控制父子进程共享哪些资源而实现了线程。Pthread 是一个标准化模型,用它可把一个程序分成一组能够并发执行的多个任务。phread 线程库是POSIX 线程标

同济大学大学计算机access作业答案

同济大学大机access作业 有一个数据库Test-5.mdb,其中有表Teachers和Students,他们的结构如下表所示,请写出有关的SQL命令。 点击下载Test-5.mdb数据库 第一题:在表Teachers中插入一条新的记录: 600001 杨梦女64 1966/04/22 YES 1660 210 要求:日期的格式为#4/22/1966# 答案:分数:10.00 INSERT INTO Teachers (教师号,姓名,性别,年龄,参加工作年月,党员,应发工资,扣除工资) VALUES ("600001","杨梦","女",64,#4/22/1966#,YES,1660,210) 第二题:在表Teachers中删除年龄小于36且性别为“女”的记录。 答案:分数:10.00 DELETE FROM Teachers WHERE 年龄<36 AND 性别="女" 第三题:用对表中工龄超过25年的职工加20%元工资。 答案:分数:10.00 UPDATE Teachers SET 应发工资=应发工资*1.2 WHERE(Year(date())-Year(参加工作年月))>25 第四题:查询1990年之前(包括1990年)参加工作的所有教师的教师号、姓名和实发工资,查询结果按实发工资从高到低排序。 答案:分数:10.00 SELECT 教师号,姓名,(应发工资-扣除工资) AS 实发工资FROM Teachers WHERE YEAR(参加工作年月)<=1990 ORDER BY 应发工资-扣除工资DESC 第五题:查询教师的人数和平均实发工资。请参阅下图(仅供参考)。 答案:分数:10.00 SELECT Count(*)AS 教师人数,AVG(应发工资-扣除工资) AS 实发工资 FROM Teachers 第六题:查询男女职工的最低工资、最高工资和平均工资(工资是指实发工资)。请参阅下图(仅供参考)。

山东大学统计学期末重点

山大《统计学》本科生期末考试重点 第一章: 统计3层含义、统计学含义、统计学按照研究方法分科、统计学的研究对象、统计学的基本概念 第二章: 分布集中趋势的测度(重点是均值的特点和应用场合)、分布离散程度的测度(极差、方差和标准差、离散系数应用场合)、统计图(茎叶图、箱线图)、用分组资料计算均值和方差(P27 p35例题) 第三章: 常用的抽样方法含义以及判断、深入理解抽样分布的含义 第四章: 参数估计的基本原理(点估计与区间估计、评价估计量的标准)、一个总体参数的区间估计(总体均值、总体比率、总体方差) 第五章: 假设检验的基本原理、两类错误、一个总体参数的检验、两个总体参数的检验第六章: 方差分析的基本思想原理、p210练习题、单因素方差分析、双因素方差分析 第七章: 相关系数的概念、spearman等级相关系数的应用前提、一元线性回归分析(参数估计、最小二乘法)、检验(拟合优度检验、对变量检验、对方程检验、)预测第八章: 时间序列速度计算、时间序列构成因素(长期趋势、季节变动)、时间序列趋势变动分析方法(移动平均法、指数平滑法、模型法) 第九章: 常见指数、综合指数编制原理、平均指数编制原理、个体指数、总体指数分析的依据(两个恒等式)

考试题型 1、选择(10个共10分其中有几个涉及简单计算) 2、简答(5个共25分) 3、计算(6个共65分) 描述统计1个 10分 区间估计1个 5分 假设检验1个 10分 方差分析1个 10分 回归分析1个 15分 统计指数1个 15分 简答题范围: 1.“统计”一词有哪些含义?什么是统计学? 2.一组数据的分布特征可以从哪几个方面进行测度? 3.分布集中趋势的测度指标有哪些? 4.简述众数、中位数和均值的特点和应用场合。 5.分布离散程度的测度指标有哪些? 6.常用的概率抽样方法有哪些?各自的含义如何? 7.什么是抽样分布? 8.什么是匹配样本? 9.假设检验的思想以及假设检验中的两类错误是什么? 10.什么是方差分析?简述单因素方差分析的基本思想。 11.简述测定时间序列长期趋势的目的和方法有哪些? 12.简述测定时间序列长期趋势的移动平均法的基本原理和特点。 13.时间序列分析中,每月的季节指数(比率)的含义是什么?所学的测定季节变动的方法有几种?各适用于怎样的时间序列? 14.循环变动和季节变动的区别是什么? 15.简述综合指数的编制原理。 16.解释拉氏指数和帕氏指数.

山大数据库简答题整理

1、事务的定义及其特性 答:事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务的ACID特性: 原子性(Atomicity) 事务中包含的所有操作要么全做,要么全不做 一致性(Consistency) 事务的隔离执行必须保证数据库的一致性 隔离性(Isolation) 系统必须保证事务不受其它并发执行事务的影响 持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是永久的。 2、完整性约束: 数据库完整性(Database Integrity)是指数据库中数据的正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。 1、实体完整性:要求每个关系模式有且仅有一个主码,每个主码的值必须唯一, 而且不能为空。 2、域完整性:数据库表中的列必须满足某种特定的数据类型或约束。其 中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGN KEY 约 束和DEFAULT、 NOT NULL定义都属于域完整性的范畴。 3、参照完整性:参照的完整性要求关系中不允许引用不存在的实体。当更新、 删除、插入一个表中的数据时,通过参照引用相互关联的另一个表 中的数据,来检查对表的数据操作是否正确。 3.DBMS 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操 作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。 4.什么是数据独立性?数据库系统如何实现数据独立性? 答:数据独立性是指应用程序和数据之间相互独立、互不影响,及数据结构的修改不会引起

社会心理学[第九章侵犯]山东大学期末考试知识点复习教学文稿

第九章侵犯 一、侵犯的实质 (一)侵犯的概念 1.侵犯的定义 侵犯(aggression)即侵犯行为,也称攻击或攻击行为,指有意伤害别人且不为社会规范所许可的行为。 (1)侵犯概念的三个要素 ①伤害行动——侵犯行为必须是伤害性的,包括实际和可能造成伤害的行为。 ②伤害意图——没有造成伤害却有伤害意图的行为是侵犯;无意伤害不是侵犯。 ③社会评价——侵犯是社会所不允许的。 (2)侵犯的分类 敌意性侵犯:也称作情绪性侵犯,是源于愤怒,意在伤害的侵犯; 工具性侵犯:把伤害作为实现其他目标的手段的侵犯。 2.侵犯与敌意 (1)敌意的多种含义 ①非身体接触性的直接或间接的有意伤害; ②高度排斥性的态度; ③人与人之间的高度怀疑,即一种高度的自我防卫状态。 (2)敌意与侵犯的关系 ①敌意没有明确的社会规范限制。在侵犯受到明确的社会规范约束而不能实

现时,往往是以敌意的方式表现出来。在这种情况下,敌意实质为代偿性的侵犯。 ②敌意不是侵犯,但可能会激发别人的侵犯,也可能发展为侵犯。敌意行为还可以直接激化人际冲突使敌意上升为侵犯。 3.侵犯的普遍性 无论是在整个世界还是中国,暴力与犯罪都是有增无减,愈演愈烈。 (二)侵犯的本能论 1.主要观点 在社会心理学领域,本能论倾向的经典理论主要有弗洛伊德的精神分析观点和洛伦茨的习性论。 (1)弗洛伊德的精神分析观点 弗洛伊德(S.Freud)早期认为,人有两种基本的本能:性本能与自我保持本能,侵犯性是性本能的一部分。后期又修正为生的本能(性本能)与死的本能(侵犯本能),侵犯本能目的在于破坏,标志着人类有一种基本的无意识的死亡愿望。 弗洛伊德认为,死的本能本来是一种对内的自我破坏的倾向,但由于会受到生的欲望的妨碍,从而把破坏力量转向了外部,以侵犯的形式表现出来。侵犯是以社会不允许的方式表现的侵犯冲动。如果以社会许可的方式表现,则表现为争论、竞技、冒险等。如果侵犯冲动得不到表现,就会导致精神疾病。 弗洛伊德的理论主要是通过对心理异常者的治疗实践发展起来的,因而解释的范围限于心理病理患者,而不能简单扩展到正常人。 (2)洛伦茨的习性学观点 洛伦茨认为侵犯是一种本能,但它不指向毁灭,而是具有生物保护意义的生的本能的体现。同类的侵犯不一定以毁灭为结局,而是以失败者的让步为目的。 侵犯是人类生活不可避免的组成部分。战争是人的侵犯本能定期发泄的结果,要想避免战争,就需要多开展冒险性的体育活动,耗散侵犯本能。

山东大学操作系统实验六完整版

山东大学操作系统实验 六 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件学院操作系统实验报告 实验题目: 实验六、死锁问题实验 学号:0124 日期:2013年05月23日 班级:5班姓名:韩俊晓 Email: 实验目的: 通过本实验观察死锁产生的现象,考虑解决死锁问题的方法。从而进一步加深对于死锁问题的理解。掌握解决死锁问题的几种算法的编程和调试技术。练习怎样构造管程和条件变量,利用管程机制来避免死锁和饥俄问题的发生。 实验要求: 在两个城市南北方向之间存在一条铁路,多列火车可以分别从两个城市的车站排队等待进入车道向对方城市行驶,该铁路在同一时间,只能允许在同一方向上行车,如果同时有相向的火车行驶将会撞车。请模拟实现两个方向行车,而不会出现撞车或长时间等待的情况。您能构造一个管程来解决这个问题吗? 硬件环境: 实验室计算机 软件环境: -Linux操作系统 gcc version

实验步骤: 1.实验说明: 管程-Monitor 管程是一种高级抽象数据类型,它支持在它的函数中隐含互斥操作。结合条件变量和其他一些低级通信原语,管程可以解决许多仅用低级原语不能解决的同步问题。利用管程可以提供一个不会发生死锁或饥饿现象的对象;哲学家就餐问题和Java语言中的synchronized对象都是很好的管程的例子. 管程封装了并发进程或线程要互斥执行的函数。为了让这些并发进程或线程在管程内互斥的执行,进入管程的进/线程必须获取到管程锁或二值信号量 条件变量Condition Variables 条件变量提供了一种对管程内并发协作进程的同步机制。如果没有条件变量,管程就不会有很有用。多数同步问题要求在管程中说明条件变量。条件变量代表了管程中一些并发进程或线程可能要等待的条件。一个条件变量管理着管程内的一个等待队列。如果管程内某个进程或线程发现其执行条件为假,则该进程或线程就会被条件变量挂入管程内等待该条件的队列。如果管程内另外的进程或线程满足了这个条件,则它会通过条件变量再次唤醒等待该条件的进程或线程,从而避免了死锁的产生。所以,一个条件变量C应具有两种操作()和()。 当管程内同时出现唤醒者和被唤醒者时,由于要求管程内的进程或线程必须互斥执行,因此就出现了两种样式的条件变量:

相关文档
相关文档 最新文档