文档库 最新最全的文档下载
当前位置:文档库 › 山东大学《数据库系统》上机实验答案 详细整理 2013最新版

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

山东大学《数据库系统》上机实验答案 详细整理 2013最新版
山东大学《数据库系统》上机实验答案 详细整理 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),

FOREIGN KEY (sid) REFERENCES test1_student(sid),

FOREIGN KEY (cid) REFERENCES test1_course(cid),

FOREIGN KEY (tid) REFERENCES test1_teacher(tid)

)

5.教师授课信息(教师编号、课程编号)

test1_teacher_course:tid char 6 not null,cid char 6 not null。

5、create table test1_teacher_course(

tid char(6) ,

cid char(6) ,

primary key(tid,cid),

FOREIGN KEY (tid) REFERENCES test1_teacher(tid),

FOREIGN KEY (cid) REFERENCES test1_course(cid)

)

二、创建索引

1、create index index_table1 on test1_teacher(name);

2、create index index_table2 on test1_student(name);

3、create index index_table3 on test1_course(name);

三、插入数据

1、

insert into test1_teacher values('100101','张老师','男',44,'计算机学院');

insert into test1_teacher values('100102','李老师','女',45,'软件学院');

insert into test1_teacher values('100103','马老师','男',46,'计算机学院');

2、

insert into test1_student values('200800020101','王欣','女

',19,to_date('19940202','yyyymmdd'),'计算机学院','2010');

insert into test1_student values('200800020102','李华','女

',20,to_date('19950303','yyyymmdd'),'软件学院','2009');

insert into test1_student values('200800020103','赵岩','男

',18,to_date('19960404','yyyymmdd'),'软件学院','2009');

3、

insert into test1_course values('300001','数据结构','',2);

insert into test1_course values('300002','数据库','300001',2.5); insert into test1_course values('300003','操作系统','300001',4);

4、

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');

5、

insert into test1_teacher_course values

('100101','300001');

insert into test1_teacher_course values

('100102','300002');

insert into test1_teacher_course values

('100103','300003');

数据库实验(二)检索查询

1、找出没有选修任何课程的学生的学号、姓名。

create table test2_01 as select sid ,name

from pub.student

where sid not in

(select sid

from pub.student_course)

2、找出至少选修了学号为“200900130417”的学生所选修的一门课的学生的学

号、姓名。

create table test2_02 as select distinct student.sid,name

from pub.student, pub.student_course

where student_course.sid = student.sid and student_course.cid in (select cid

from pub.student_course

where sid='200900130417')

3、找出至少选修了一门其先行课程号为“300002”号课程的学生的学号、姓名。

create table test2_03 as select distinct student.sid,name

from pub.student, pub.student_course

where student_course.sid = student.sid and student_course.cid in (select cid

from pub.course

where fcid='300002')

4、找出选修了“操作系统”并且也选修了“数据结构”的学生的学号、姓名。

create table test2_04 as select sid,name

from pub.student

where sid in

(select sid

from pub.student_course,pub.course

where student_course.cid=course.cid

and name ='操作系统')

and sid in

(select sid

from pub.student_course,pub.course

where student_course.cid=course.cid

and name ='数据结构')

5、查询20岁的所有有选课的学生的学号、姓名、平均成绩(avg_score,此为列

名,下同)(平均成绩四舍五入到个位)、总成绩(sum_score)

create table test2_05 as select student.sid,name,cast(avg(score) as numeric(5,0)) avg_score,sum(score) sum_score

from pub.student,pub.student_course

where student.sid = student_course.sidand age ='20'

group by student.sid,name

6、查询所有课以及这门课的最高成绩,test2_06有两个列:课程号cid、最高

成绩max_score

create table test2_06 as select sid,max(score) max_score

from pub.student_course

group by cid

7、查询所有不姓张、不姓李、也不姓王的学生的学号sid、姓名name

create table test2_07 as select sid,name

from pub.student

where name not in

(select name

from pub.student

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

8、查询学生表中每一个姓氏及其人数(不考虑复姓),test2_08有两个列:second_name、p_count

create table test2_08 as select substr(name,1,1) second_name,count(*) p_count

from pub.student

group by substr(name,1,1)

9、查询选修了300003号课程的学生的sid、name、score

create table test2_09 as select student.sid,https://www.wendangku.net/doc/1c2314764.html,,score

from pub.student,pub.student_course

where student.sid = student_course.sid

and cid ='300003'

10、查所有有成绩记录的学生sid和cid

create table test2_10 as select sid,cid

from pub.student_course

where score is not null

数据库实验(三)复制表、删除数据

1.将pub用户下的Student_31及数据复制到主用户的表test3_01,删除表中的学号不是12位数字的错误数据。

create table test3_01 as select * from pub.Student_31

delete from test3_01 where length(translate(sid,'\0123456789','\'))>0

2.将pub用户下的Student_31及数据复制到主用户的表test3_02,删除表中的出生日期和年龄不一致 (年龄=2012-出生年份) 的错误数据。

create table test3_02 as select * from pub.Student_31

delete from test3_02 where age < 2012 - extract(year from birthday) delete from test3_02 where age > 2012 - extract(year from birthday)

3.将pub用户下的Student_31及数据复制到主用户的表test3_03,删除表中的性别有错误的数据(性别只能够是“男”、“女”或者空值)。

create table test3_03 as select * from pub.Student_31

delete from test3_03 where sex not in(select sex from test3_03 where sex='男' or sex='女' or sex=null)

4.将pub用户下的Student_31及数据复制到主用户的表test3_04,删除表中的院系名称有空格的、院系名称为空值的或者院系名称小于3个字的错误数据。

create table test3_04 as select * from pub.student_31

delete from test3_04 where dname is null or length(dname)<3 or dname like '% %'

5.将pub用户下的Student_31及数据复制到主用户的表test3_05,删除表中的班级不规范的数据,不规范是指和大多数不一致。

create table test3_05 as select * from pub.student_31

delete from test3_05 where length(class)>4

6.将pub用户下的Student_31及数据复制到主用户的表test3_06,删除表中的错误数据,不规范的数据也被认为是错误的数据。

create table test3_06 as select * from pub.student_31

delete from test3_06 where length(translate(sid,'/0123456789','/'))<12

delete from test3_06 where age>2012-extract(year from birthday) or age<2012-extract(year from birthday)

delete from test3_06 where name is null or length(name)<2 or name like '% %'

delete from test3_06 where sex not in (select sex from test3_06 where sex ='男' or sex='女' or sex=null)

delete from test3_06 where dname is null or length(dname)<3 or name like

'% %'

delete from test3_06 where length(class)>4

7.将pub用户下的Student_course_32及数据复制到主用户的表test3_07,删除其中的错误数据,错误指如下情况:学号在学生信息pub.student中不存在的;

create table test3_07 as select * from pub.Student_course_32

delete from test3_07 where sid not in (select sid from pub.student)

8.将pub用户下的Student_course_32及数据复制到主用户的表test3_08,删除其中的错误数据,错误指如下情况:课程号和教师编号在教师授课表pub.teacher_course中不同时存在的,即没有该教师教该课程;

create table test3_08 as select * from pub.student_course_32

delete from test3_08 where (cid,tid) not in(select test3_08.cid,test3_08.tid from test3_08,pub.teacher_course where test3_08.cid=pub.teacher_course.cid and test3_08.tid=pub.teacher_course.tid)

9.将pub用户下的Student_course_32及数据复制到主用户的表test3_09,删除其中的错误数据,错误指如下情况:成绩数据有错误(需要先找到成绩里面的错误)。

create table test3_09 as select * from pub.student_course_32

delete from test3_09 where score<0 or score>100

10.将pub用户下的Student_course_32及数据复制到主用户的表test3_10,删除其中的错误数据。

create table test3_10 as select * from pub.student_course_32

delete from test3_10 where score<0 or score>100

delete from test3_10 where sid not in (select sid from pub.student)

delete from test3_10 where cid not in (select cid from pub.course)

delete from test3_10 where tid not in (select tid from pub.teacher)

delete from test3_10 where (cid,tid) not in(select test3_10.cid,test3_10.tid from test3_10,pub.teacher_course where

test3_10.cid=pub.teacher_course.cid and test3_10.tid=pub.teacher_course.tid)

Test4 复制表、修改表结构、修改数据

1、将pub用户下表student_41及数据复制到主用户的表test4_01中,使用

alter table语句为表增加五个列:“总成绩:sum_score”、“平均成

绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。

使用update语句,利用pub.student_course、pub.course,统计“总成绩”;

create table test4_01 as select* from pub.student_41

alter table test4_01 add sum_score int

alter table test4_01 add avg_score numeric(5,1)

alter table test4_01 add sum_credit int

alter table test4_01 add did varchar(2)

select *from test4_01

create table test01 as select sid,sum(score) sum_score from pub.student_course

group by sid

update test4_01

set sum_score=(select test01.sum_score

from test01

where test01.sid=test4_01.sid)

2、将pub用户下表student_41及数据复制到主用户的表test4_02中,使用

alter table语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。

利用pub.student_course、pub.course,统计“平均成绩”;

create table test4_02 as select* from pub.student_41

alter table test4_02 add sum_score int

alter table test4_02 add avg_score numeric(5,1)

alter table test4_02 add sum_credit int

alter table test4_02 add did varchar(2)

select *from test4_02

create table test02 as select sid,avg(score) avg_score from pub.student_course group by sid

update test4_02

set avg_score=(select test02.avg_score

from test02

where test02.sid=test4_02.sid)

3、将pub用户下表student_41及数据复制到主用户的表test4_03中,使用

alter table语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。

使用update语句,利用pub.student_course、pub.course,统计“总学分”;

drop table test4_03

create table test4_03 as select* from pub.student_41

alter table test4_03 add sum_score int

alter table test4_03 add avg_score numeric(5,1)

alter table test4_03 add sum_credit int

alter table test4_03 add did varchar(2)

select *from pub.course

drop table test03

create table test031 as select sid,cid,score from pub.student_course alter table test031 add credit int

update test031

set credit=(select credit

from pub.course

where test031.cid=pub.course.cid and score>=60)

update test031

set credit=0

where score<60

create table test03 as select sid,sum(credit) sum_credit from test031 group by sid

update test4_03

set sum_credit=(select test03.sum_credit

from test03

where test03.sid=test4_03.sid)

4、将pub用户下表student_41及数据复制到主用户的表test4_04中,使用

alter table语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。

根据院系名称到pub.department或者pub.department_41中,找到对应编号,填写到院系编号中,如果都没有对应的院系,则填写为00。

drop table test4_04

drop table test04

create table test4_04 as select* from pub.student_41

alter table test4_04 add sum_score int

alter table test4_04 add avg_score numeric(5,1)

alter table test4_04 add sum_credit int

alter table test4_04 add did varchar(2)

select *from pub.department

create table test04 as select* from pub.department

insert into test04 select*from pub.department_41

update test4_04

set did=(select test04.did

from test04

where test4_04.dname=test04.dname) where dname in(select dname from test04)

update test4_04

set did='00'

where dname not in(select dname from test04) or dname is null

update dbtest set test=4

select * from dbscore

5、将pub用户下表student_41及数据复制到主用户的表test4_05中,使用

alter table语句为表增加五个列:“总成绩:sum_score”、“平均成绩:avg_score”(四舍五入到个位)、“总学分:sum_credit”、“院系编号:did varchar(2) ”。

(1)利用pub.student_course、pub.course,统计“总成绩”;

(2)利用pub.student_course、pub.course,统计“平均成绩”;

(3)利用pub.student_course、pub.course,统计“总学分”;

(4)根据院系名称到pub.department或者pub.department_41中,找到对应编号,填写到院系编号中,如果都没有对应的院系,则填写为

00。

create table test4_05 as select* from pub.student_41

alter table test4_05 add sum_score int

alter table test4_05 add avg_score numeric(5,1)

alter table test4_05 add sum_credit int

alter table test4_05 add did varchar(2)

update test4_05

set sum_score=(select test4_01.sum_score

from test4_01

where test4_01.sid=test4_05.sid) update test4_05

set avg_score=(select test4_02.avg_score

from test4_02

where test4_02.sid=test4_05.sid) update test4_05

set sum_credit=(select test4_03.sum_credit

from test4_03

where test4_03.sid=test4_05.sid)

update test4_05

set did=(select test04.did

from test04

where test04.dname=test4_05.dname)

where dname in (select dname

from test04)

update test4_05

set did='00'

where dname not in (select dname

from test04) or dname is null

update dbtest set test=4

select * from dbscore

6、将pub用户下的Student_42及数据复制到主用户的表test4_06中,对表中的

数据进行整理,修复那些不规范的数据:

剔除姓名列中的所有空格;

select *from pub.student_42

drop table test4_06

create table test4_06 as select* from pub.student_42

update test4_06

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

7、将pub用户下的Student_42及数据复制到主用户的表test4_07中,对表中的

数据进行整理,修复那些不规范的数据:

对性别列进行规范(需要先确定哪些性别数据不规范,也就是那些和大多数不一样的就是不规范的);

create table test4_07 as select* from pub.student_42 update test4_07

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

update test4_07

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

8、将pub用户下的Student_42及数据复制到主用户的表test4_08中,对表中的

数据进行整理,修复那些不规范的数据:

对班级列进行规范(需要先确定哪些班级不规范)。

create table test4_08 as select* from pub.student_42 update test4_08

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

update test4_08

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

9、将pub用户下的Student_42及数据复制到主用户的表test4_09中,对表中的

数据进行整理,修复那些不规范的数据:

年龄为空值的根据出生日期设置学生年龄(年龄=2012-出生年份),年龄不为空值的不要改变。

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、将pub用户下的Student_42及数据复制到主用户的表test4_10中,对表

中的数据进行整理,修复那些不规范的数据:

(1)剔除姓名列中的所有空格;

(2)剔除院系名称列中的所有空格;

(3)对性别列进行规范(需要先确定哪些性别数据不规范,也就是那些和大多数不一样的就是不规范的);

(4)对班级列进行规范(需要先确定哪些班级不规范)。

(5)年龄为空值的根据出生日期设置学生年龄(年龄=2012-出生年份),年龄不为空值的不要改变。

select *from pub.student_42

drop table test4_06

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=replace(sex,' ','')

update test4_10

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

update test4_10

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

update test4_10

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

update dbtest set test=4

select * from dbscore

生物化学实验六——酵母RNA的提取与含量测定 山东大学实验报告

实验六——酵母RNA的提取与含量测定 13生物基地 201300140059 刘洋 2015-05-10 同组者:张奕 一、实验目的 1.掌握稀碱法提取酵母RNA的原理和方法。 2.掌握紫外分光光度计的使用。 3.了解和掌握紫外吸收法测定RNA浓度的原理。 二、实验原理 酵母核酸中RNA含量较多,DNA则少于2%。RNA可溶于碱性溶液,当碱被中和后,可加乙醇使其沉淀,由此即可得到RNA制品。但是用碱液提取的RNA有不同的降解。 核酸及其衍生物,核苷酸、核苷、嘌呤和嘧啶有吸收紫外光的性质,其吸收高峰在260nm 左右,且一定浓度范围内其浓度与吸光度成正比(浓度为5μg/ml—45μg/ml吸光度与浓度成正比),利用此性质,可用RNA标准液绘制RNA吸光标准曲线(标准曲线的斜率为0.022-0.024左右),测定样品RNA浓度。由于蛋白质在280nm的光吸收,对核酸测定有一定的干扰作用,最大吸收峰在280nm处,原因是蛋白质组成中常含有酪氨酸和色氨酸等芳香族氨基酸。所以如果有蛋白质的干扰必须得先测260nm处的吸光度,再测280nm处的吸光度,通过计算消除其对核酸的影响。 三、实验器材 干酵母粉 电子天平 量筒 容量瓶100ml 磁力搅拌器 试管 100℃水浴锅pH试纸(pH1-14)烧杯 离心机 722型分光光度计锥形瓶 离心管 四、实验试剂 0.2%氢氧化钠溶液95%乙醇 无水乙醚酸性乙醇(5ml浓Hcl加入到500ml95%乙醇中混匀)RNA标准蛋白溶液(200μg/ml)

1.RNA的提取 (1)称取4g干酵母粉,放入200ml锥形瓶中,加入40ml0.2%的氢氧化钠溶液混匀,在沸水浴中煮沸30min中并冷却; (2)冷却后,把液体倒入离心管中,在4000r/min的条件下离心15min; (3)离心后留上清液加入95%的酸性乙醇40ml,边加边搅拌,静置5min左右,再4000r/min的条件下离心5min; (4)离心后保留沉淀,用20ml 95%乙醇分两次洗涤沉淀,每次洗后在3000r/min的条件下离心5min; (5)离心后的沉淀再用无水乙醇10ml洗涤两次,每次用3000r/min离心5min; (6)离心结束后,收集沉淀与滤纸上,称重备用。 2.RNA样液的配制 (1)取粗RNA0.2-0.25g与烧杯中,加入5mlNaOH溶液,搅拌,溶解,调成糊状。 (2)再加入蒸馏水40ml,搅拌混匀,调PH至7.0后,放入100ml容量瓶中定容。 (3)再分3-4次分别取2ml定容后溶液于100ml容量瓶中继续定容待测,并且把容量瓶依次编号为A、B、C。 3.RNA标准曲线的绘制 (1)取洁净的试管,依次标号为1-10、A、B、C后,按照下表分别往各试管中加所需液体,并用磁力搅拌器混匀。 (2)混匀后以0号试管为参比液,在260nm下测各试管的吸光度A,并根据0-9试管的吸光值绘制出RNA标准曲线,并最终得出样品的浓度。 六、注意事项 1.离心机的使用,使用前一定要将两离心液(包括外壳)在天平上调平,对称放置在离 心机上,防止力臂不对称而损坏离心机。 2.紫外分光光度计的使用,要先预热10分钟,往比色皿中到液体只需到三分之二即可, 防止液体溢出腐蚀仪器,爱护仪器。

山东大学数据库实验答案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

数学实验期末考试上机考试

2014-2015学年第一学期数学实验上机试卷 一、上机操作题 1. 画出以下函数图形(要求写出程序和结果): ⑴ 3411()2 1 x x x f x x x ?++≥=? +>求 ⑵22(sin )(1cos )x a t t d y y a t dx =-??=-? 求 ⑶ 2cos (sin )'x y x y =求 ⑷22 2''02 1 (,),x y x y x y u u x y e u u x +==?=?求及 结果:⑴ ⑵ ⑶ ⑷ 4. 计算下列积分(要求写出程序和计算结果): ⑴ 211ln 11x dx x x +--? ⑵2220sec 2tan x dx x π+?

(3) 2,02}x x ≤≤≤?? 2其中D={(x,y):y (4) 2221 L dl x y z ++?其中L 为空间螺旋线cos ,sin ,(02,0)x a t y a t z bt t b π===≤≤> . (5) 222()S x y z dS ++?? 其中S 是球2222x y z az ++=. (6) 22S x dydz y dzdx +?? 其中S 为球面2222()()()x a y b z c R -+-+-=的外侧. 结果:⑴ ⑵ ⑶ ⑷ ⑸ ⑹ 5. 判断以下级数的敛散性: ⑴ 1()21n n n n +∞ =+∑ ⑵ 12n n n x n +∞ =∑ 结果:⑴ ⑵ 6. 用两种以上的方法求解下列方程组: 1234234 1242342344331733 x x x x x x x x x x x x x -+-=??-+=-?? ++=??-++=-? 结果: 二、写出解题的思想,计算过程和程序,结果及分析等内容. ⑴在某化学反应里,由实验得到生成物的浓度y 与时间t 有如下关系,求浓度与时间的关系的拟合函数.(30分) ⑵某公司刊登广告:“现有一栋住宅楼,每套只需自备七万元,其余由公司贷款,贷款可分期偿还,每月只需800元,十年还清。”现在的问题是如果一次性付清该付多少(即该房屋的实际价格是多少)?如果贷款,买房人实际借了多少钱?(假设月利率为1%)(40分)

同济大学数据库课程考核试卷 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

山东大学操作系统实验报告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的一些行为,利用系统调用来创建共享内存区域,并设定他的长度并获取共享内存的首地址。然后设定消费者互斥与同步的信号灯,并为他们设置相应的初值。当有消费进程在运行而其他消费者请求时,相应的信号灯就会阻止它,当共享内存区域已空时,信号等也会提示生产者不能再从共享内存中取出相应的内容。 运行的消费者应该与相应的生产者对应起来,只有这样运行结果才会正确。

山东大学《数据库系统》上机实验答案 详细整理 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/1c2314764.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/1c2314764.html,um=https://www.wendangku.net/doc/1c2314764.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

山东大学信息安全实验报告

山东大学软件学院 信息安全导论课程实验报告 学号:201300301385 姓名:周强班级: 2013级八班 实验题目:缓冲区溢出实验 实验学时:日期: 实验目的: (1)了解缓冲区溢出的原理 (2)利用缓冲区溢出现象构造攻击场景 (3)进一步思考如何防范基于缓冲区溢出的攻击 硬件环境: 软件环境: WindowsXP操作系统 VS2008 实验步骤与内容: (1)了解缓冲区溢出的原理 缓冲区溢出简单来说就是计算机对接收的输入数据没有进行有效的检测(理情况下是程序检测数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。 看一个代码实例,程序如下: void function(char *str) { char buffer[16]; strcpy(buffer,str); } 上面的strcpy()将直接把str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。

(2)利用缓冲区溢出现象构造攻击场景 首先打开Microsoft Visual C++,新建工程和cpp文件,复制实验指导书的代码进行编译连接: 单击运行按钮,然后第1次输入“zhouqianga”,第2次输入2个“ga”,即可看到输出“correct”。

按F10开始进行逐步调试: 当第一次执行gets()函数之前,内存情况如下图所示

在最新的版本中gets被认为是不安全的,gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。现在都被要求改为get_s。来防止溢出。 如下图所示。 (3)学习例子程序2:数据被执行 在xp系统下,直接运行Exploit-1.1.exe,如下图所示:

上机实验 11 参考答案

上机实验11 指针与数组 一.实验目的 1. 掌握用下标、数组名或指针等不同方式引用数组元素; 2. 掌握数组名作函数参数的方法; 3.掌握常用的字符串处理函数和字符处理函数; 4.掌握用指针处理字符串的方法; 二.实验内容 【实验题1】程序填空:自定义函数del(s), 功能是删除字符串s中的数字字符, 要求使用字符处理函数isdigit()和字符串处理函数strcpy()。在主函数中输入1个字符串,然后调用函数del(), 用于删除其中的数字字符,并输出处理后的字符串。 提示:从字符串s的首字符开始, 到结束符’\0’之前为止,逐个检查第i个字符是否是数字字符,是则删除该字符——使用字符判别函数isdigit(s[i]), 如果s[i]是数字字符,该函数返回1,否则返回0. 难点:如何删除s的第i个字符?——使用字符串复制函数strcpy(), 将子串s+i+1(从字符s[i+1]开始的子串)复制到给s+i (从字符s[i]开始的子串),即strcpy(s+i, s+i+1)。 #include #include < ctype.h > #include void del( char *s); //line 4 函数声明 void main() { char str[80]; gets( str); //输入字符串str del(str ); //调用函数del(),删除str中的数字 puts(str); //输出字符串str } void del(char *s) //line 12 函数定义 { int i=0; while(s[i]!='\0') if(isdigit(s[i]) ) strcpy( s+i, s+i+1); // 如果字符s[i]是数字,用函数strcpy删除它 else i++; // 否则,继续查看下一个字符 } 运行程序,输入字符串"a1b2 #include

山东大学-中间件实验报告

山东大学软件学院 中间件技术课程实验报告

onResize(); }, error : function(e) { alert('初始化数据错误!'); } }); }); 并从bootstrap上找一些已经写好的布局,作为参考。加入到网页的界面中。 一、数据库操作的封装 1、AutoCreateDB——自动创建数据库 (1)可以根据下列query的结果判断数据库是否存在: Object obj = dao.QueryOnly("SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME=?",new Object[] { DATABASE }); 不存在则创建数据库,则执行executeCreate方法。 (2)AutoCreateDB自动创建数据库的表 遍历表,对于数据库中的每一个表,都执行“检测、若不存在则创建”操作,可以根据该query的结果判断数据库的表是否存在,不存在则创建数据库表,则执行executeCreate方法。 2、JdbcDao数据库相关操作 (1)在JdbcDao 中定义应用与数据库建立连接,其相关参数从 config.properties中获取: /**获取Connection连接*/ public Connection getConnection(){ Connection conn = null; System.out.println(JDBC_URL); System.out.println(USER_NAME); System.out.println(USER_PWD); try { conn = DriverManager.getConnection(JDBC_URL,USER_NAME,USER_PWD);

山大网络教育《数据结构》(-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 )。

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

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

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 易燃

山东大学软件测试实验报告

实验一。黑盒测试 一、等价类划分 电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前缀:非'0'或'1'的三位数字; (3)后缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 根据题目,分别将地区码、前缀、后缀进行分类,分析结果如下: 输入有效等价类编号无效等价类编号 地区码空白 1 包含其他字符 3 三位数字 2 少于三位 4 多于三位 5 前缀非0或 非1的三位数6 包含其他字符8 包含0的三位数9 包含1的三位数10 少于三位数11 多于三位数12 后缀四位数字7 包含其他字符13 少于四位数14 多于四位数15 根据上图的分析,可的测试用例 测试数据预期结果覆盖类地区码前缀后缀 空白555 4344 接受(有效)1、6、7 232545 4343 接受(有效)2、6、7 A23 322 4343 拒绝(无效) 3 21322 4343 拒绝(无效) 4 2323322 4343 拒绝(无效) 5 232 32A4343 拒绝(无效)8 232 208 4343 拒绝(无效)9 232 1114343 拒绝(无效)10

232 32 4343 拒绝(无效)11 232 322224343 拒绝(无效)12 232 322 4AS2 拒绝(无效)13 232 322 434拒绝(无效)14 232 322 434311拒绝(无效)15 三角形问题根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明不是三角形、三角形是三边不等的、是等腰的、还是等边的。 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数 (5)两边之和大于第三边(6)等腰(7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

山东大学操作系统实验二

软件学院操作系统实验报告 实验题目: 实验二、线程和进程/线程管道通信实验 学号:201100300124 日期:2013年04月19日 班级:5班姓名:韩俊晓 Email:hanjunxiao188@https://www.wendangku.net/doc/1c2314764.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 第六题:查询男女职工的最低工资、最高工资和平均工资(工资是指实发工资)。请参阅下图(仅供参考)。

小鼠脾脏细胞原代培养及观察计数实验报告-山东大学

小鼠脾脏细胞原代培养及观察计数 【实验目的】 1.学习掌握细胞培养的基本原理以及具体方法,并对小鼠脾细胞进行原代培养; 2.掌握无菌操作的具体过程及无菌操作台的使用; 3.学习掌握染色法鉴别细胞的生死状态的原理及方法; 4.学习使用血球计数板对细胞总数及活细胞数进行计数; 【实验原理】 1.细胞培养 细胞培养指的是在无菌条件下,把动、植物细胞从组织中取出,在体外模拟体的生理环境,使离体的细胞在体外生长和繁殖,并且维持其结构和功能的一种培养技术。动物细胞培养可分为原代培养和传代培养。从供体获得组织细胞,在无菌条件下,用胰蛋白酶消化或机械分散等方法,将动物组织分散成单个细胞开始首次培养长出单层细胞的方法称为细胞的原代培养。当培养的动物细胞生长增殖达到一定密度,形成致密的单层细胞时,用胰蛋白酶将细胞消化分散成单细胞,从一个容器中以1:2或其他比例转移到另一个容器中扩大培养的方法,称为细胞的传代培养。传代培养的累计次数就是细胞的培养代数。 高等生物是由多细胞构成的整体,在整体条件下要研究单个细胞或某一群细胞在体的功能活动是十分困难的。但如果把活细胞拿到体外培养、增殖并进行观察和研究,则要方便和简单得多。被培养的动物细胞是非常好的实验对象和实验研究材料,对体外培养的活细胞进行研究可以帮助人类揭开生、老、病、死的规律,探索优生、抗衰老和防治各种疾病的途径和机制,也可以人为地诱导和改变细胞的遗传性状和特性,使其向有利于人类健康长寿的方向发展。因此动物细胞体外培养技术是研究细胞分子机制非常重要的实验手段,被广泛应用于医学、生物技术、基因工程等研究领域。 细胞培养的意义:具有其他生物技术无可比拟的优点;培养条件易改变和控制,便于单因子分析;便于人们直接对细胞结构、细胞生长及发育等过程的观察;在生物学的各个领域(如分子生物学、细胞生物学、遗传学、免疫学、肿瘤学及病毒学等)已被广泛应用。 细胞培养的局限性:在脱离机体复杂环境下,细胞培养条件与躯体环境有一定距离;观察到的结果有时难以正确反映机体的状况;细胞培养得到的产物少。 培养细胞的条件有水的质量、无菌环境,最适温度、渗透压、气体条件、最适PH、营养条件和培养基质等。 2.细胞死活鉴定 细胞生死状态的鉴别方法主要是化学染色法和荧光染色法。 活细胞和死亡细胞在生理技能和性质上主要存在一下差异: ①细胞膜通透性的差异:活细胞的细胞膜是一种选择性膜,对细胞起保护和屏障作用,只允许物质选择性地通过;而细胞死后,细胞膜受损,其通透性增加。基于此,发展出了以台盼蓝、伊红、苯胺黑、赤藓红、甲基蓝以及荧光染料碘化丙啶或溴化乙啶等为染料鉴别细胞生死状态的方法,上述染料能使死亡细胞着色,而活细胞不被着色。此外,应用植物质壁分离的性质也可鉴定植物细胞的生死状态。活细胞的原生质具有选择透过性,死细胞因其原生质的选择透过性已遭破坏,故与高渗透压溶液接触时不产生质壁分离。 ②代上的差异:活细胞中新代作用强,细胞的酶具有较强的活性和还原能力。基于此,发展处了以荧光素二乙酸酯(FDA)、荧光素二丙酸酯、荧光素二丁酸酯或荧光素二苯甲酰酯等酯化的荧光素鉴别细胞生死状态的方法,上述酯化的荧光素亲脂性提高,容易被细胞吸收进入,活细胞的酯酶具有较强的活性,可将酯化的荧光素分解而释放出能发荧光的荧光素,该物质不能自由透过活的细胞膜,积累在细胞,荧光显微镜下显示有明亮的绿色或黄绿色荧光;而死亡细胞的酯酶因失去活性,不能分解酯化的荧光素,荧光显微镜下显示不发光。另外,可用亚甲基蓝为染料鉴定酵母细胞的生死状态。亚甲基蓝是一无毒染料,氧化型为蓝色,还原型为无色。活细胞因具有较强的还原能力,能使亚甲蓝从蓝色的氧化型变成无色的还原型,故活的酵母细胞在用亚甲基蓝染色后显示无色;死亡酵母细胞或代缓慢的衰老酵母细胞,因无还原能力或还原能力极弱,使亚甲蓝仍处于氧化态,故呈现蓝色或淡蓝色。 3.血球计数板的使用

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