当前位置:文档之家› 数据库复习资料

数据库复习资料

数据库复习资料
数据库复习资料

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系学生的姓名、所选的课程号和成绩。

select sname,cno,grade from student join sc on student.sno = sc.sno where sdept = '计算机系'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系年龄大于20的学生详细信息。

select * from student where sdept = '计算机系' and sage > 20

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询第3学期开设的学分为4的课程名。

select cname from course where semester = 3 and creidt = 4

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询第2~4学期开设课程的课程名、学分和开课学期。

select cname,credit,semester from course where semester between 2 and 4

设有课程表:Course(Cno,Cname,Credit,Semester)。

写出在Course表中插入一行新数据的SQL语句,课程号为C100,课程名为Java,开课学期未定,学分为3。

insert into course values('C100','Java',3,null)

'设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询奇数学期(设学期的取值是1~8的整数)开设的课程名、开课学期和学分。

select cname,credit,semester from course where semester in(1,3,5,7)

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系成绩在80~90之间的学生姓名、课程名和成绩。

select sname,cname,grade from Student join SC on Student.sno = SC.sno join Course on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where sdept = '计算机系' and grade between 80 and 90

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

写出在Student表中插入一行新数据的SQL语句,学号为S100,姓名:新生,性别:男,年龄:19,所在系未定。

insert into Student values('S100','新生','男',19,null)

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每个系的女生人数,列出系名和女生人数。

select sdept,count(*) 女生人数from student where ssex = '女' group by sdept

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每个系的选课人数,列出系名和选课人数。

select sdept,count(distinct s.sno ) 选课人数from student s join sc on s.sno = sc.sno group by sdept

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

将计算机系学生年龄加1。

update student set sage = sage + 1 where sdept = '计算机系'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计计算机系每个学生的选课门数和考试总成绩(不包括没选课的学生),并按选课门数升序显示结果。

select s.sno,count(*) 选课门数,sum(grade) 总成绩from student s join sc on student.sno = sc.sno

where sdept = '计算机系' group by s.sno order by count(*) asc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询选修了Java课程的学生姓名和所在系。

select sname,sdept from student s join sc on s.sno = sc.sno join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o where cname = 'Java'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。

select sname,cno,grade from student s join sc on s.sno = sc.sno where grade > 80 order by grade desc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询选课门数最多的前2位学生,列出学号和选课门数。(不考虑并列情况)

select top 2 sno,count(*) 选课门数from sc group by sno order by count(*) desc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询选课人数最少的2门课程(包括没人选的课程,包括并列的情况),列出课程号和选课人数。(请用外连接实现)

select top 2 with ties https://www.doczj.com/doc/343117077.html,o,Count(https://www.doczj.com/doc/343117077.html,o) 选课人数from course c left join sc on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o group by https://www.doczj.com/doc/343117077.html,o order by count(https://www.doczj.com/doc/343117077.html,o) asc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询哪些课程没有学生选,列出课程号和课程名。(请用外连接实现)

select https://www.doczj.com/doc/343117077.html,o,cname from course c left join sc on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o where https://www.doczj.com/doc/343117077.html,o is null

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系哪些学生没有选课,列出学生姓名。(请用外连接实现)

select sname from student s left join sc on s.sno = sc.sno where sdept = '计算机系' and sc.sno is null

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系Java考试成绩最高的前3名学生的姓名和Java成绩(包括并列情况)。(请用连接查询实现)

select top 3 with ties sname from student s join sc on s.sno = sc.sno join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o where cname = 'Java' and sdept = '计算机系' order by grade desc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询年龄最大的男生姓名和年龄。(请用子查询实现)

select sname,sage from student where sage in(

select max(sage) from student where ssex = '男')

and ssex = '男'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询C001课程的考试成绩高于该课程平均成绩的学生的学号和C001课成绩。(请用子查询实现)

select sno,grade from sc where cno = 'c001' and grade >(

select avg(grade) from sc where cno = 'c001')

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

删除Java考试成绩小于50的学生的全部选课记录。(请用子查询形式实现)

delete from sc where grade < 50 and cno in (

select cno from course where cname = 'Java' )

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

删除计算机系Java成绩不及格(小于60)学生的Java选课记录。(请用子查询形式实现)delete from sc

where sno in ( select sno from student where sdept = '计算机系')

and cno in ( select cno from course where cname = 'Java')

and grade < 60

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

删除选课人数少于10人的课程(包括没人选的课程)。(请用子查询实现)

delete from course where cno in ( select cno from course c left join sc on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o group by https://www.doczj.com/doc/343117077.html,o having count(https://www.doczj.com/doc/343117077.html,o)<10)

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系每个学生的Java考试情况,列出学号、姓名、Java成绩和成绩情况,其中成绩情况的显示规则为:

如果成绩大于等于90,则成绩情况为“好”;

如果成绩在80~89,则成绩情况为“较好”;

如果成绩在70~79,则成绩情况为“一般”;

如果成绩在60~69,则成绩情况为“较差”;

如果成绩小于60,则成绩情况为“差”。

select s.sno,sname,grade,成绩情况= case

when grade >= 90 then '好'

when grade between 80 and 89 then '较好'

when grade between 70 and 79 then '一般'

when grade between 60 and 69 then '较差'

when grade < 60 then '差'

end

from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和选课情况,其中选课情况显示规则如下:

如果选课门数大于等于6,则选课情况为“多”;

如果选课门数在3~5,则选课情况为“一般”;

如果选课门在1~2,则选课情况为“偏少”。

如果没有选课,则选课情况为“未选课”。

select s.sno,count(https://www.doczj.com/doc/343117077.html,o) 选课门数, 选课情况= case

when count(https://www.doczj.com/doc/343117077.html,o) >= 6 then '多'

when count(https://www.doczj.com/doc/343117077.html,o) between 3 and 5 then '一般'

when count(https://www.doczj.com/doc/343117077.html,o) between 1 and 2 then '偏少'

else '未选'

end

from student s left join sc on s.sno = sc.sno

group by s.sno

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每个系Java课程的考试情况,列出系名和考试情况,其中考试情况为:

如果Java平均成绩大于等于90,则考试情况为“好”;

如果Java平均成绩在80~89分,则考试情况为“良好”;

如果Java平均成绩在70~79分,则考试情况为“一般”;

如果Java平均成绩低于70分,则考试情况为“较差”。

select sdept,考试情况= case

when avg(grade) >= 90 then '好'

when avg(grade) between 80 and 89 then '良好'

when avg(grade) between 70 and 79 then '一般'

when avg(grade) < 70 then '较差'

end

from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java'

group by sdept

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

修改全部课程的学分,修改规则如下:

如果是第1~2学期开设的课程,则学分增加5分;

如果是第3~4学期开设的课程,则学分增加3分;

如果是第5~6学期开设的课程,则学分增加1分;

其他学期开设的课程学分不变。

update course set credit = credit + case

when semester in (1,2) then 5

when semester in (3,4) then 3

when semester in (5,6) then 1

else 0

End

为描述乘客对车票的订票情况,定义了三张表:车票表、乘客表和订票情况表,各表结构如下:

1.乘客表

乘客编号:小整型,主键。

姓名:普通编码定长字符型,10位长,非空。

身份证号:普通编码定长字符型,6位长,第一位取值为1,后五位取值均为0~9的整数。

2.车票表

车次:普通编码定长字符型,4位长,主键。

票价:整数,非空。

起点:普通编码定长字符型,最多存4个汉字。

终点:普通编码定长字符型,最多存4个汉字。

种类:统一字符编码定长字符型,最多存2个汉字,取值范围为:{直达、特快、普快、慢车}。;

发车时间:普通编码定长字符型,5位长,取值格式为:2位时:2位分,其中时和分可以是任何字符。

3.订票表

乘客编号:小整型,非空。

车次:普通编码定长字符型,4位长,非空。

订票日期:日期型,非空。

订票数量:小整型,默认值为1。

其中:(乘客编号,车次,订票日期)为主键。

乘客编号为引用乘客表的外键,车次为引用车票表的外键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

CREATE TABLE 乘客表(

乘客编号smallint primary key,

姓名char(10) not null,

身份证号char(6) check (身份证号like '1[0-9][0-9][0-9][0-9][0-9]'))

create table 车票表(

车次char(4) primary key,

票价int not null,

起点char(8) ,

终点char(8),

种类nchar(2) check (种类in('直达','特快','普快','慢车')),

发车时间char(5) check (发车时间like '__:__'))

create table 订票表(

乘客编号smallint not null,

车次char(4) not null,

订票日期smalldatetime not null,

订票数量smallint default 1,

primary key(乘客编号,车次,订票日期),

foreign key(乘客编号) references 乘客表(乘客编号),

foreign key(车次) references 车票表(车次))

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询Java考试成绩最高的前三个成绩,列出学生姓名、所在系和成绩(包括并列情况)。

select top 3 with ties sname,sdept,grade from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where canme='Java'

order by grade desc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每个学生的选课门数(包括没选课的学生),并按选课门数降序显示结果。

select s.sno,count(https://www.doczj.com/doc/343117077.html,o) 选课门数from Student s left join SC on s.sno = SC.sno

group by s.sno order by count(https://www.doczj.com/doc/343117077.html,o) asc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系总成绩超过200分的学生的学号和总成绩。

select s.sno,sum(grade) 总成绩from student s join sc on s.sno = sc.sno group by s.sno having sum(grade) > 200

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

列出“Java”考试成绩前三名(包括并列情况)的学生的学号、姓名、所在系和Java 考试成绩。

select top 3 with ties s.sno,sname,sdept,grade from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java'

order by grade desc

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询第3学期开设的没人选的课程,列出课程名和学分。(请用子查询实现)

select cname,credit from course

where cno not in ( select cno from sc)

and semester = 3

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系学生中,考试成绩高于计算机系学生总平均成绩的学生的姓名、考试的课程名和成绩。

select sname,cname,grade from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where sdept = '计算机系' and grade < (

select avg(grade) from sc join student s on s.sno = sc.sno where sdept = '计算机系')

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询Java考试成绩最低的学生的姓名、所在系和Java成绩。

select top 1 with ties sname,sdept,grade from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java'

order by grade asc

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询计算机系Java考试成绩高于Java总平均成绩的学生姓名。

select sname from student S join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where sdept = '计算机系' and cname = 'Java' and grade > (

select avg(grade) from sc join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java')

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询平均成绩大于80的课程的课程名、学分和开课学期。

select cname,credit,semester from course where cno in (

select cno from sc group by cno having avg(grade) > 80 )

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

统计每门课程的选课人数,包括没有人选的课程,列出课程号、选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。

select https://www.doczj.com/doc/343117077.html,o,count(https://www.doczj.com/doc/343117077.html,o) 选课人数, case

when count(https://www.doczj.com/doc/343117077.html,o) > 100 then '人多'

when count(https://www.doczj.com/doc/343117077.html,o) between 40 and 100 then '一般'

when count(https://www.doczj.com/doc/343117077.html,o) between 1 and 40 then '人少'

else '无人选'

end 选课情况

from course c left join sc on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

group by https://www.doczj.com/doc/343117077.html,o

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

删除信息系成绩小于50分的学生的修课纪录。(请用子查询实现)

delete from sc where grade < 50 and sno in (

select sno from student where sdept = '信息系' )

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

删除“Java”考试成绩最低的2个学生的Java修课记录。

delete from sc where sno in (

select top 2 with ties sno from sc join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = 'Java'

order by grade asc )

and cno in (select cno from course where cname = 'Java')

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

修改高等数学的考试成绩,修改规则如下:如果是计算机系学生,则加10分;如果是信息系学生则加5分;如果是数学系学生则分数不变。

update sc set grade = grade + case sdept

when '计算机系' then 10

when '信息系' then 5

when '数学系' then 0 end

from sc join student s on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where cname = '高等数学'

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,写出创建满足如下要求的视图的SQL语句。

查询考试成绩大于等于90的学生姓名、所在系、课程名、课程学分和成绩。视图名为v1 create view v1 as

select sname,sdept,cname,credit,grade from student s join sc on s.sno = sc.sno

join course c on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where grade >= 90

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计计算机系每个学生的选课门数(不考虑没选课的学生),列出学生学号和选课门数。

create view v2(学号,选课门数) as

create view v2(学号,选课门数) as

select s.sno,count(*) from student s join sc on s.sno = sc.sno where sdept = '计算机系' group by s.sno

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。

create view v3(学号,总学分) as

create view v3(学号,总学分) as

select sno,sum(credit) from course c join sc on https://www.doczj.com/doc/343117077.html,o = https://www.doczj.com/doc/343117077.html,o

where grade >= 60

group by sno

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计每个学期开设的课程总门数及总学分。

create view v4(学期,开课总门数,总学分) as

create view v4(学期,开课总门数,总学分) as

select semester,count(*),sum(credit) from course group by semester

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计选课人数最多的前三门课程(包括并列的情况),列出课程名、学分和开课学期。create view v5(课程名,学分,开课学期) as

create view v5(课程名,学分,开课学期) as

select cname,semester from course

where cno in (select top 3 with ties cno from sc group by cno order by count(*) desc)

设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计选课人数最多的前3门课程的课程名和开课学期(包括并列情况)。

create view v8(课程名,开课学期) as

create view v8(课程名,开课学期) as

select canme,semester from course

where cno in (

select top 3 with ties cno from sc group by cno order by count(*) desc )

为描述商场的商品销售情况,设计了三张表:商品表、客户表和销售表,各表结构如下:1.客户表

客户号:普通编码定长字符型,长度为8,主键。

客户名:普通编码定长字符型,长度为10,非空。

身份证号:普通编码定长字符型,长度为18,取值不重。

性别:普通编码定长字符型,长度为2,默认值为“女”。

2.商品表

商品号:普通编码定长字符型,长度为8,主键。

商品名:普通编码可变长字符型,最大长度为30,非空。

单价:定点小数类型,整数部分4位,小数部分2位。

类别:普通编码定长字符型,长度为4,取值范围为{冰箱,电视,电脑}

3.销售表

客户号:普通编码定长字符型,长度为8,非空。外键,引用“客户表”的“客户号”商品号:普通编码定长字符型,长度为8,非空。外键,引用“商品表”的“商品号”销售时间:日期时间型,非空。

销售数量:整型。

其中(客户号,商品号,销售时间)为主键。

写出创建“客户表”、“商品表”和“销售表”的SQL语句,要求在创建表时定义表中

的全部约束。

Create table 客户表(

客户号char(8) primary key,

客户名char(10) not null,

身份证号char(18) unique,

性别char(2) default ‘女’)

Create table 商品表(

商品号char(8) primary key,

商品名varchar(30) not null,

单价numeric(6,2),

类别char(4) check(类别in (‘冰箱’,’电视’,’电脑’) )

Create table 销售表(

客户号char(8) not null,

商品号char(8) not null,

销售时间datetime not null,

销售数量int,

Primary key(客户号,商品号,销售时间),

Foreign key(客户号) references 客户表(客户号),

Foreign key(商品号) references 商品表(商品号))

为描述读者对图书的借阅情况,设计了三张表:图书表、读者表和借阅表,各表结构如下:

1.读者表

读者号:普通编码定长字符型,长度为8,主键。

读者名:普通编码定长字符型,长度为10,非空。

读者身份:普通编码定长字符型,长度为4,取值范围为{学生,教师}。

2.图书表

书号:普通编码定长字符型,长度为8,主键。

书名:普通编码可变长字符型,最大长度为30,非空。

单价:定点小数类型,整数部分3位,小数部分1位。

出版日期:日期型。

类别:普通编码定长字符型,长度为8,默认值为“计算机”。

在库数量:整型。

3.借阅表

读者号:普通编码定长字符型,长度为8,非空。外键,引用“读者表”的“读者号”。

书号:普通编码定长字符型,长度为8,非空。外键,引用“图书表”的“书号”。

借书日期:日期时间型,非空。

还书日期:日期时间型。

其中(读者号,图书号,借书日期)为主键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

Create table 读者表(

读者号char(8) primary key,

读者名char(10) not null,

读者身份char(4) check(读者身份in (‘教师’,’学生’)))

Create table 图书表(

书号char(8) primary key,

书名varchar(30) not null,

单价numeric(4,1),

出版日期date,

类别char(8) default ‘计算机’)

Create table 借阅表(

读者号char(8) not null,

书号char(8) not null,

借书日期date not null,

还书日期date,

Primary key(读者号,书号,借书日期),

Foreign key(读者号) references 读者表(读者号),

Foreign key(书号) references 图书表(书号))

为描述房屋出租情况,设计了三张表:房屋表、客户表和出租表,各表结构如下:1.客户表

客户号:普通编码定长字符型,长度为8,主键。

客户名:普通编码定长字符型,长度为10,非空。

身份证号:普通编码定长字符型,长度为18,取值不重。

年龄:小整型。

2.房屋表

房屋号:普通编码定长字符型,长度为8,主键。

使用面积:小整型。

户型:普通编码定长字符型,长度为4,取值范围为{朝南,朝北,朝西,朝东}月租金:整型。

3.出租表

客户号:普通编码定长字符型,长度为8,非空。外键,引用“客户表”的“客户号”

房屋号:普通编码定长字符型,长度为8,非空。外键,引用“房屋表”的“房屋号”

出租日期:日期型,非空。

租期:小整型。(说明:单位为“月”)

其中(客户号,房屋号,出租日期)为主键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

Create table 客户表(

客户号char(8) primary key,

客户名char(10) not null,

身份证号char(18) unique,

年龄smallint )

Create table 房屋表(

房屋号char(8) primary key,

使用面积smallint,

户型char(4) check(类别in (‘朝南’, ’朝北’, ’朝西’,’朝东’)) ,

月租金int )

Create table 出租表(

客户号char(8) not null,

房屋号char(8) not null,

出租日期date not null,

租期smallint,

Primary key(客户号,房屋号,出租日期),

Foreign key(客户号) references 客户表(客户号),

Foreign key(房屋号) references 房屋表(房屋号))

为描述教师对课程的授课情况,设计了三张表:教师表、课程表和授课表,各表结构如下:

1. 教师表

教师号:普通编码定长字符型,长度为8,主键。

教师名:普通编码定长字符型,长度为10,非空。

职称:普通编码定长字符型,长度为8,取值范围为:{讲师,副教授,教授}。

所在部门:普通编码定长字符型,长度为20,默认值为“计算机学院”。

2. 课程表

课程号:普通编码定长字符型,长度为6,主键。

课程名:普通编码定长字符型,长度为20,非空。

学分:整型,取值范围为1~10。

学期:整型。

3. 授课表

教师号:普通编码定长字符型,长度为8,非空。外键,引用“教师表”的“教师号”

课程号:普通编码定长字符型,长度为6,非空。外键,引用“课程表”的“课程号”

授课学期:普通编码定长字符型,长度为10,非空。

授课时数:整型。

其中(教师号,课程号,授课学期)为主键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

Create table 教师表(

教师号char(8) primary key,

教师名char(10) not null,

职称char(8) check(职称in (‘讲师’,’副教授’,’教授’)),

所在部门char(20) default ‘计算机学院’)

Create table 课程表(

课程号char(6) primary key,

课程名char(10) not null,

学分int check(学分between 1 and 10),

学期int )

Create table 授课表(

教师号char(8) not null,

课程号char(6) not null,

授课学期char(10) not null,

授课时数int,

Primary key(教师号,课程号,授课学年),

Foreign key(教师号) references 教师表(教师号),

Foreign key(课程号) references 课程表(课程号))

为描述书店对某一出版社出版的图书的进书情况,创建了三张表:图书表,书店表和书店进书表,各表结构如下:

1.图书表

图书ISBN:普通编码定长字符型,4位长,主键。

书名:普通编码可变长字符型,30位长,非空。

类别:普通编码定长字符型,10位长,取值范围为{计算机、通讯、数学、外语}

印刷数量,小整型,允许空,取值:大于等于1000。

单价:定点小数,小数点后保留2位,小数点前4位。

出版日期:日期型。

2.书店表

书店编号:普通编码定长字符型,4位长,主键。

书店名称:普通编码定长字符型,20位长,非空。

地址:普通编码可变长字符型,30位长。

电话(DH):普通编码定长字符型,12位长,取值形式为:“(3位数字)-6位数字”。

3.书店进书表

图书ISBN:普通编码定长字符型,4位长,非空。

书店编号:普通编码定长字符型,4位长,非空。

进书日期:日期型,非空,默认值为插入记录时的系统当前日期。

进书数量:小整型,取值:大于等于10。

其中:(图书ISBN,书店编号,进书日期)为主键。

图书ISBN为引用图书表的外键,书店编号为引用书店表的外键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

CREATE TABLE 图书表(

图书ISBN CHAR(4) PRIMARY KEY,

书名V ARCHAR(30) NOT NULL,

类别CHAR(10) CHECK (类别IN('计算机','通讯','数学','外语')),

印刷数量SMALLINT CHECK (印刷数量>= 1000),

单价NUMERIC(6,2),

出版日期DA TE)

CREATE TABLE 书店表(

书店编号CHAR(4) PRIMARY KEY,

书店名称CHAR(20) NOT NULL,

地址V ARCHAR(30),

电话CHAR(14) CHECK(电话LIKE '([0-9][0-9][0-9])-[0-9][0-9][0-9][0-9][0-9][0-9]'))

CREATE TABLE 进书表(

图书ISBN CHAR(4) NOT NULL,

书店编号CHAR(4) NOT NULL,

进书日期DA TE NOT NULL DEFAULT GETDA TE(),

进书数量SMALLINT CHECK (进书数量>= 10),

PRIMARY KEY(图书ISBN,书店编号,进书日期),

FOREIGN KEY (图书ISBN) REFERENCES 图书表(图书ISBN),

FOREIGN KEY(书店编号) REFERENCES 书店表(书店编号))

为描述图书的销售情况,创建了三张表:图书表,书店表和图书销售表,各表结构如下:

1.图书表

书号:普通编码定长字符型,4位长,主键。

书名:普通编码可变长字符型,20位长,非空。

类别:普通编码定长字符型,6位长,取值范围为{会计、软件、网络}。

价格:定点小数,小数点后保留1位,小数点前3位。

2.书店表

书店编号:普通编码定长字符型,4位长,主键。

书店名:普通编码定长字符型,10位长,非空。

电话:普通编码定长字符型,4位长,第一位是1-9的数字,后三位是0-9的数字。

邮箱:普通编码可变长字符型,20位长,后8位字符固定为:“@https://www.doczj.com/doc/343117077.html,”。

3.销售表

书号:普通编码定长字符型,4位长,非空。

书店编号:普通编码定长字符型,4位长,非空。

销售时间:小日期时间型,非空。

销售数量:小整型,大于0。

其中:(书号,书店编号,销售时间)为主键,即允许一种图书在不同时间在同一书店有多次销售。

“书号”为引用图书表的“书号”的外键,“书店编号”为引用书店表的“书店编号”的外键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

create table 图书表(

书号char(4) primary key,

书名varchar(20) not null,

类别char(6) check(类别in('软件','网络','会计')) ,

价格numeric(4,1))

create table 书店表(

书店编号char(4) primary key,

书店名char(10) not null,

电话char(4) check(电话like '[1-9][0-9][0-9][0-9]'),

邮箱varchar(20) check(yx like '%@https://www.doczj.com/doc/343117077.html,'))

create table 销售表(

书号char(4) not null,

书店编号char(4) not null,

销售时间smalldatetime not null,

销售数量smallint check(销售数量>0),

primary key(书号,书店编号,销售时间),

foreign key(书号) references 图书表(书号),

foreign key(书店编号) references 书店表(书店编号))

为描述产品的定购情况,创建了三张表:产品表,客户表和产品定购表,各表结构如下。

1.产品表

产品号:普通编码定长字符型,4位长,主键。

产品名:普通编码可变长字符型,20位长,非空。

产地:普通编码定长字符型,4位长,允许空,取值范围为{北京、上海、南京、天津}。

价格:定点小数,小数点后保留1位,小数点前5位。

2.客户表

客户号:普通编码定长字符型,4位长,主键。

客户名:普通编码定长字符型,10位长,非空。

年龄:微整型。

邮箱:普通编码可变长字符型,20位长,后8位字符固定为:“@https://www.doczj.com/doc/343117077.html,”,取值不允许有重复。

3.定购表

产品号:普通编码定长字符型,4位长,非空。

客户号:普通编码定长字符型,4位长,非空。

订购日期:日期型,非空,小于等于系统的当前日期时间。

订购数量:小整型。

发货日期(FHRQ):日期型,大于“订购日期”。

其中:(产品号,客户号,订购日期)为主键。

“产品号”为引用产品表的“产品号”的外键,“客户号”为引用客户表的“客户号”的外键。

写出创建这三张表的SQL语句,要求在创建表时定义表中的全部约束。

create table 产品表(

产品号CHAR(4) PRIMARY KEY,

产品名NV ARCHAR(20) NOT NULL,

产地CHAR(4) CHECK(产地IN('北京','上海','南京','天津')),

价格numeric(6,1))

create table 客户表(

客户号CHAR(4) PRIMARY KEY,

客户名CHAR(10) NOT NULL,

年龄TINYINT ,

邮箱V ARCHAR(20) CHECK (邮箱LIKE '%@https://www.doczj.com/doc/343117077.html,') UNIQUE)

create table 订购表(

产品号CHAR(4) NOT NULL,

客户号CHAR(4) NOT NULL,

订购日期DA TE NOT NULL DEFAULT GETDA TE(),

订购数量SMALLINT ,

校园基础地理空间数据库建设设计方案

校园基础地理空间数据库建设设计方案 遥感1503班第10组 (杨森泉张晨欣杨剑钢熊倩倩) 测绘地理信息技术专业 昆明冶金高等专科学校测绘学院 2017年5月

一.数据来源 二. 目的 三 .任务 四. 任务范围 五 .任务分配与计划六.小组任务分配七. E-R模型设计八.关系模式九.属性结构表十.编码方案

一.数据来源 原始数据为大二上学期期末实训数字测图成果(即DWG格式的校园地形图) 导入GIS 软件数据则为修改过的校园地形图 二.目的 把现实世界中有一定范围内存在着的应用数据抽象成一个数据库的具体结构的过程。空间数据库设计要满足用户需求,具有良好的数据库性能,准确模拟现实世界,能够被某个数据库管理系统接受。

三.任务 任务包括三个方面:数据结构、数据操作、完整性约束 具体为: ①静态特征设计——结构特性,包括概念结构设计和逻辑结构设计; ②动态特性设计——数据库的行为特性,设计查询、静态事务处理等应用程序; ③物理设计,设计数据库的存储模式和存储方式。 主要步骤:需求分析→概念设计→逻辑设计→物理设计 原则:①尽量减少空间数据存储冗余;②提供稳定的空间数据结构,在用户的需要改变时,数据结构能够做出相应的变化;③满足用户对空间数据及时访问的需求,高校提供用户所需的空间数据查询结果;④在空间元素间为耻复杂的联系,反应空间数据的复杂性;⑤支持多种决策需要,具有较强的应用适应性。 四、任务范围 空间数据库实现的步骤、建库的前期准备工作内容、建库流程 步骤:①建立实际的空间数据库结构;②装入试验性数据测试应用程序;③装入实际空间数据,建立实际运行的空间数据库。 前期准备工作内容:①数据源的选择;②数据采集存储原则;③建库的数据准备;④数据库入库的组织管理。 建库流程:①首先必须确定数字化的方法及工具;②准备数字化原图,并掌握该图的投影、比例尺、网格等空间信息;③按照分层要求进行

实验空间数据库管理及属性编辑实验报告

实验报告 一、实验名称 二、实验目的 三、实验准备 四、实验内容及步骤 五、实验后思考题 班级:资工(基)10901 姓名:魏文风 序号:28 实验二、空间数据库管理及属性编辑 一、实验目的 1.利用ArcCatalog管理地理空间数据库,理解Personal Geodatabse空间数据库模型的有关概念。 2.掌握在ArcMap中编辑属性数据的基本操作。 3.掌握根据GPS数据文件生成矢量图层的方法和过程。 4.理解图层属性表间的连接(Join)或关联(Link)关系。 二、实验准备 预备知识: ArcCatalog 用于组织和管理所有GIS 数据。它包含一组工具用于浏览和查找地理数据、记录和浏览元数据、快速显示数据集及为地理数据定义数据结构。 ArcCatalog 应用模块帮助你组织和管理你所有的GIS 信息,比如地图,数据集,模型,元数据,服务等。它包括了下面的工具: ●浏览和查找地理信息。 ●记录、查看和管理元数据。 ●创建、编辑图层和数据库 ●导入和导出geodatabase 结构和设计。 ●在局域网和广域网上搜索和查找的GIS 数据。

管理ArcGIS Server。 ArcGIS 具有表达要素、栅格等空间信息的高级地理数据模型,ArcGIS支持基于文件和DBMS(数据库管理系统)的两种数据模型。基于文件的数据模型包括Coverage、Shape文件、Grids、影像、不规则三角网(TIN)等GIS数据集。 Geodatabase 数据模型实现矢量数据和栅格数据的一体化存储,有两种格式,一种是基于Access文件的格式-称为Personal Geodatabase,另一种是基于Oracle或SQL Server等RDBMS关系数据库管理系统的数据模型。 GeoDatabase是geographic database 的简写,Geodatabase 是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase是ArcGIS软件中最主要的数据库模型。 Geodatabase 支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。 在Geodatabase数据库模型中,可以将图形数据和属性数据同时存储在一个数据表中,每一个图层对应这样一个数据表。 Geodatabase可以表达复杂的地理要素(如,河流网络、电线杆等)。比如:水系可以同时表示线状和面状的水系。 基本概念:要素数据集、要素类 数据准备: 数据文件:National.mdb ,GPS.txt (GPS野外采集数据)。 软件准备: ArcGIS Desktop 9.x ---ArcCatalog 三、实验内容及步骤 第1步启动ArcCatalog打开一个地理数据库 当ArcCatalog打开后,点击, 按钮(连接到文件夹). 建立到包含练习数据的连接(比如 “E:\ARCGIS\EXEC2”), 在ArcCatalog窗口左边的目录树中, 点击上面创建的文件夹的连接图标旁的(+)号,双击个人空间数据库-National.mdb。打开它。. 在National.mdb中包含有2个要素数据集、1个关系类和1个属性表第2步预览地理数据库中的要素类 在ArcCatalog窗口右边的数据显示区内,点击“预览”选项页切换到“预览”视图界面。在目录树中,双击数据集要素集-“WorldContainer”,点击要素类-“Countries94”激活它。 在此窗口的下方,“预览”下拉列表中,选择“表格”。现在,你可以看到Countries94的属性表。查看它的属性字段信息。 花几分钟,以同样的方法查看一下National.mdb地理数据库中的其它数据。

石油钻井工程数据库的建设与应用系列五

石油钻井工程数据库的建设与应用系列五 【摘要】世界石油勘探开发的发展趋势,是以自动化、信息化、实时化、集成化、智能化为特点,向数字化方向全面发展,目的是增加产量、降低成本、提高经济效益。数字化的基础是数据库的建设及应用。 【关键词】石油钻井;数字化;数据库建设 0 前言 以上四期《石油钻井工程数据库的建设与应用系列》讲述了石油钻井工程数据库和钻井辅助决策平台建设的重要性。讲到第一个层面是数据实时采集系统,第二个层面是由数传模块将数据无线传输给井队值班房计算机,经过数据处理以图表的形式在计算机上显示出来,然后通过网络传输到钻井公司及总公司的数据库,即可实现钻井参数的实时监测和数据共享;第三个层面是数据分析及决策系统。目前国内数据分析系统即各种计算机分析软件的开发是短板,本期介绍石油钻井工程参数数据库的未来发展趋势。 1 钻井工程参数数据库和辅助决策平台建设的现状 《SY/T 5705-1995 石油钻井工程数据库文件格式》中钻井数据库共设计了数百个数据表,数千个数据项,但主要是手工录入数据。随着钻井监测技术和计算机技术的发展,现在已经有好多工程参数实现了在线实时监测,不能适应现在钻井综合数据库的需要,因此需要将钻井工程数据库的显示界面分为工程参数实时监测数据部分和人工输入的数据部分。 1.1 钻井综合数据库设计与实现 数据库以井的工程生命周期为路线,包括钻井、录井、测井、完井、交井的全部数据以及形成上报统计钻井资料的数据。既能够适应高速发展的钻井系统现状,同时又需具有较好的扩充能力。 《SY/T 5705-1995 石油钻井工程数据库文件格式》中钻井数据库共设计了数百个数据表,数千个数据项,可分为钻井标准数据库、钻井编码数据库、钻井工程设计数据库、钻井IADC报表数据库、钻井工程数据库、钻井实时数据库、钻井井史数据库等大类,但主要是手工录入数据。随着钻井监测技术和计算机技术的发展,现在已经有好多工程参数实现了在线实时监测,因此需要将钻井工程数据库的显示界面分为工程参数实时监测数据部分和人工输入的数据部分。 1.2 基于实时监测系统基础上的数据分析及决策系统 钻井辅助决策平台的核心就是一个综合的实时决策系统,在钻井实时监测系统的基础上,由专家诊断系统、钻井辅助设计系统、钻井生产指挥系统和事故与

动态监测数据库开发与应用

摘要:吐哈油田油资料每年产生大量的测试数据,历史资料非常丰富,这些资料没有得到充分有效的利用。建立油藏动态监测数据库,对油藏动态监测资料进行统一管理和实时共享,以扩大在油田开发中的深化应用,并提高测试数据的利用率和解释评价质量。 关键词:油藏动态监测数据库 一、项目背景 吐哈油田油藏动态监测资料每年产生大量的测试数据,历史资料非常丰富,这些资料没有得到充分有效的利用。建设动态监测数据库综合应用系统,对历史资料进行资源整合,以扩大在油田开发中的深化应用,有效提高测试数据的利用率和解释评价质量。 二、技术路线 系统实现了以下功能: 1、搭建了油藏动态监测数据的录入、查询、维护及综合分析的应用平台。 2、实现了油藏动态监测数据库的统计与查询。 3、实现了区块井点分布图、区块开采现状图、动用状况统计分析图、历史资料对比等的综合查询与应用。 三、系统功能 动态监测综合应用平台实现了对油藏动态监测数据库中数据的综合应用,在对地质数据和测试数据灵活应用的基础上实现了地理信息导航模块,在对测试数据分类综合应用的基础之上实现了监测项目查询模块,在对单井信息综合应用方面实现了单井智能搜索引擎,在对区块、井组、单井信息综合应用方面实现了基于动态数据、静态数据的综合应用模块。 1、系统导航功能 在动态监测综合应用平台的建设过程中,在对地质数据灵活应用的基础上,结合动态监测数据,完成了可视化的信息导航功能,实现了基于单井、多井测试信息的综合应用导航;基于油田―采油厂―区块―井组―单井的地理信息导航;以目录树的方式实现的系统功能导航。 2、监测项目查询 监测项目查询功能模块实现了单井智能搜索引擎,基于试井、测井的综合信息发布,化验分析数据的综合发布以及基于生产测井注、产剖面的动用状况统计分析模块。 2.1 试井信息发布 在整个试井综合信息发布模块中,首先完成了试井综合信息的通用查询功能,用户通过指定井号、测试时间段、采油厂、区块、测试项目、测试工艺、测试方式等项目的组合,来实现用户指定条件的试井综合信息的查询、统计、报表生成。 2.2 测井综合信息发布 在测井综合信息发布中,实现了生产测井、工程测井、饱和度测井、井间监测信息的综合发布。 2.3、单井综合探索引擎 单井综合探索引擎是单井最广泛的应用,该引擎实现了对单井所包含的各类信息的综合引擎,实现了基于单井信息的综合应用分析,帮助用户进行基于单井的辅助决策。 2.4、区块信息综合应用 在区块信息综合应用中,系统完成了区块井点参数分布图、区块开采现状图、井组注、产剖面综合对比图以及井组试井模型诊断图综合对比、井组试井解释成果图综合对比、单井注、产剖面历次对比分析图、单井模型诊断图历次对比分析图、单井解释成果图历次对比分析。 3、数据录入

数字航道空间数据库管理系统

长江空间数据库管理系统 1、项目介绍 建设长江航道数据库管理软件,包括元数据管理、数据预处理、数据管理、空间分析、测绘成果管理、区域局空间数据发布、空间数据应用接口等模块,同时接合各区域局业务需求,定制相关业务功能处理模块。要满足6个区域局和长江航道局、长江航道测量中心、长江规划研究院9个用户的需求。 2、系统功能模块 系统分为数据入库、数据管理、业务应用、系统设置、数据交换及建库工具等功能模块。 数据入库模块:包括数据质检检查、数据预处理和数据入库三大模块;主要用于数据入库及入库数据的准备工作。

数据入库:完成全要素数据、水深、DEM、DRG、DOM数据的入库工作。 数据质检:对入库数据进行质量检查,并将检查结果与清华山维进行对接,以在清华山维中显质检结果。 数据处理工具:对入库前数据进行相应处理,如果坐标转换、格式转换、DEM生成等。

数据编辑:对ESRI格式的数据进行简单的图形和属性编辑。 数据管理模块:包括数据数据浏览、基础数据管理、测绘成果管理、查询分析、制图与输出、测绘成果管理、DEM基础分析、工具箱等模块,主要完成对入库数据的管理和浏览工作,是数据管理系统的的核心。 数据制图输出:对当前分析结果进行制图成图,并打印输出等,以及对数据库中进行数据输出。

工具箱:提供数据处理的常用工具。 查询分析:查询统计模块主要是针对图层数据属性的查询与统计,这是对数据信息展示,方便用户随时了解数据成果的详细详细,整个“查询统计”功能模块包含以下功能点。 测绘成果管理:对工程测图成果、维护性测图成果、专项测图成果、ENC测图成果及整治建筑物测量成果等专题测绘成果进行管理,包括测量项目信息、成果入果、成果管理等。

钻井数据采集与综合展示系统

钻井数据采集与综合展示系统斯伦贝谢Osprey软件主要针对的对象为上游油田企业中的钻完井部门,最终用户可以是现场的钻井监督、钻井专家以及管理层。通过该系统的实施,达到加强对各作业项目的钻井生产动态管理,规范钻井数据录入,保障钻井数据的准确性、及时性和再利用性,从而提高公司整体钻井生产管理水平。 Osprey软件系统的主要特点: 1) 业务集中管理 统一制定钻井作业数据的规范,整个钻井软件系统都按照规范运行;下级个各个组织机构都是软件系统中的业务执行机构,所有的规范(新制定或者修改)都将通过软件系统由上至下的传达。 2) 数据集中管理,分级授权 井场为钻井作业数据采集点,钻井监督采集数据后通过软件系统直接同步到总部钻井专业库,每口井将对应授权管理的上级机构,管理机构负责各自的作业数据同步的及时以及准确。 3) 集中管理的钻井综合展示分析系统 通过授权可以允许处于不同位置的人员,从井场监督、各级管理人员到总部专家、管理者直接访问系统,从中分析各自关注的井的作业情况。 系统的架构图:

在系统架构图中按照数据流程描述了整个系统的组成情况以及各类人员在系统中的角色,具体说明如下: 1)钻井监督在井场通过前端数据采集工具进行钻井数据采集,数据保存在本地临时存储库中 2)通过配置井场软件,钻井监督根据要求将采集的钻井数据按时传送到总部钻井专业库 3)分析应用程序从钻井数据专业库获取所有钻井作业信息,并通过分析展示工具提供给钻井专家、钻井监督、管理层以及其它用户 4)总部的管理人员可以制定规则以及要求并管理监控数据流动情况;钻井监督在井场可以通过井场软件从总部下载相应的规则与要求应用到采集工作中。 系统建设的预计效益: 1)建立起内容完善与高可用性的公司级钻井数据库,为企业信息化建设夯实基础。 2) 及时了解作业进度,与设计进度进行比较,发现进度滞后的井并查找原因通过对施工数据进行专业分析,及时了解钻井过程中可能遇到的问题与风险,进而采取有效的规避措施,减少非生产时间。 3) 通过对费用数据与关键指标数据的分析,可以更好的掌握各项经济指标,有利于更好的控制成本,并且对后续项目作出指导。 4) 规范钻井施工数据采集标准,减少现场工作人员工作负担。 斯伦贝谢科技服务公司(中国)信息简讯,《钻井数据采集与综合展示系统》,2010, 12, 22-30

污染源在线监控站点基础数据库系统

佛山市水质自动监测系统软件开发项目 项目名称 佛山市水质自动监测系统软件开发项目 二、项目范围 软件开发和数据对接 、项目建设背景 为加强对江河水质的监控并及时掌握水质情况,2006 年建设了水环境质量自动监测网络,其中,全市已建成7个水质自动监测站,拟建3 个,监测项目达14 项,水环境质量自动监测网能实时对全市主要江河水源地和跨界断面水质进行监控。水站建成后由于分布地方不同,收集各站点的信息比较麻烦,环境管理人员不能及时掌握各水站的水质监测情况,因此急需建设一套水质自动监测系统,把各水站监测的各主要江河水质数据在系统上表现出来。 同时,2004 年我局建设了污染源在线监控系统,该系 统实时监控我市重点污染源排污状况,包括废水重点污染源和省控制废气重点污染源企业。为进一步扩展系统将地表水自动监测站监测数据纳入系统监控,要求在此平台基础上开发水质自动监测系统,把各水站监测的各主要江河水质数据在环境信息管理平台上表现出来,为环境管理和环境决策提供有效信息。

四、各水站点运行及建设概况 1、水站建设现状 截至2008 年4 月,佛山市境内已建成水质自动监测子 站共7 个,包括位于禅城区沙口站,顺德区陈村潭村站、伦教羊额站、龙江杨滘站、均安七滘站、容桂穗香围站,以及省环保局投资建设的位于三水区青岐站。拟建水质自动监测站共3 个,包括即将建成的位于南海区小塘站、计划年内兴建的位于高明区富湾站和位于三水区大塘站。 2、监测项目 目前沙口水质自动监测站监测项目包括水温、pH 值、 溶解氧、电导率、浊度、高锰酸盐指数、氨氮、总磷、总有机碳等9 项。年内新增包括硬度、酚、氰化物、总砷、镉、六价铬、镍等7 项 监测项目。 位于顺德区5 个水质自动监测站监测项目相同,包括 pH 值、溶解氧、电导率、浊度、高锰酸盐指数、硬度、酚、 氟化物、硝酸盐氮、氨氮、总磷、氰化物及总砷等14 项。 三水区青岐站监测项目包括水温、pH 值、溶解氧、电 氰化物 等10 项。 在建南海区小塘站监测项目包括水温、pH 值、溶解氧、

无锡市基础空间数据库SHP格式方案(大比例尺)

无锡市基础空间数据SHP格式设计方案 (大比例尺) 1、综述 1.1目的 为无锡市规划局基础空间数据建库提供标准。 1.2适用范围 1:500、1:1000、1:2000基础地形图数据 1.3制定原则 ●保证按本方案生产的数据可以实现同SHP数据的高效互转; ●保证按本方案生产的数据在转入数据库后可以实现标准图的输出; ●操作方便。 1.4类型约定 ● ●

1.5引用标准 《GB/T 14804-93 1:500 1:1000 1:2000 地形图要素分类与代码》(1994-08-01)《GB/T 7929-1995 1:500 1:1000 1:2000 地形图图式》(1996-05-01) 《GB 1:500 1:1000 1:2000 地形图数字化规范》(1998-08-01) 《GB/T14804-93 1:500 1:1000 1:2000 地形图要素分类与代码》(1994-08-01)《GT地籍数据库标准》 《GB/T 13923-92 国土基础信息数据分类与代码》(1993-07-01) 2、实体的划分 数据在SDE的服务器里是按照点、线、面和注记划分的,每一个SDE图层(FEATURECLASS)只能存储上述的一种空间对象。由于这种存储模型的限制,势必造成很多国标中的复杂地物被拆分到不同的SDE图层。为了在编码中体现设计的合理性、对实体的物理存储进行统一的管理,特在数据库的设计中在对空间实体做逻辑的划分。 2.1简单点 ●简单点实体只记录插入点的位置和相关属性,所有的简单点实体都必须以插入符号 的形式采集。 ●简单点状实体对应ARCOBJECT体系的IPOINT对象。 ●采集单位在使用点符号的时候要保证简单点的符号要和本方案提供的符号描述一 致,符号的插入点一致。 2.2简单无向线 ●简单线需要作业单位针对每一种实体制作线符号,这里所指的线符号必须是采集系 统提供的线符号库,不能用程序绘制。

空间数据管理平台解决方案

空间数据管理平台解决方案

1.引言 1.1方案概述 空间数据管理平台解决方案主要是针对我国各级测绘院、信息中心建设区域地理信息基础框架的迫切需求,开发的一套专业性强、具有高可扩展性的基础地理信息数据库管理平台。 整个方案从管理多源、多尺度、多类型的基础地理信息数据的角度出发,开发了一些列软件系统,包括空间数据入库更新子系统、空间数据质量检查子系统以及空间数据管理平台等,可以实现对现有基础地理信息数据的整合、转换与集成管理,为政府、企业、公众等提供空间信息服务。 1.2系统特点 ●“多源、多尺度、多时相”基础地理数据的集成管理 由于基础地理数据具有多源、多尺度、多时相的特点,基础地理数据管理平台必须具有集成不同数据类型、不同比例尺、不同时间的各种基础地理数据的能力。 ●多比例尺数据集成 对于不同尺度的基础地理数据,其集成通过统一空间参考系(WGS84、西安80、北京54)或动态投影技术来实现。不同比例尺的

基础地理数据可以叠加一起显示,通过控制其显示比例实现地图的逐层显示效果。 ●多类型数据集成 对于不同类型的数据(如DLG与DRG)的集成采用按空间坐标范围或图幅索引实现。 ●多时序数据集成 对于不同时间段的基础地理数据,采用历史数据库来实现。根据数据更新周期的不同,采用按数据集、图幅、对象级别的历史数据库机制。 ●基础地理数据管理全过程支持 SuperMap D-Manager特别针对我国各级测绘院、信息中心设计开发,系统支持数据加工、数据入库管理、数据共享、数据发布的整个业务过程,可以快速为用户打造完备的基础地理数据中心,满足各种用户对基础地理信息的需求,为数字城市建设服务。 ●基础性与平台性 SuperMap D-Manager从设计到实现,充分考虑了其作为基础性、平台性等支撑性要求。SuperMap D-Manager在设计思路、软件开发实现上都具有高可扩展性的特点。

空间数据库管理模式

空间数据管理模式 1.文件管理——ArcInfo中Coverage文件管理 ARC/INFO7.X以前版本以Coverage作为矢量数据的基本存储单元。一个Coverage存储指定区域内地理要素的位置、拓扑关系及其专题属性。每个Coverage一般只描述一种类型的地理要素(一个专题Theme)。位置信息用X,Y表示,相互关系用拓扑结构表示,属性信息用二维关系表存储。 ?Coverage的优点 空间数据与属性数据关联 空间数据放在建立了索引的二进制文件中,属性数据则放在DBMS表(TABLES)里面,二者以公共的标识编码关连。 矢量数据间的拓扑关系得以保存 由此拓扑关系信息,我们可以得知多边形是哪些弧段(线)组成、弧段(线)由哪些点组成、两条弧段(线)是否相连以及一条弧段(线)的左 或右多边形是谁?这就是通常所说的“平面拓扑”。 ?新技术条件下Coverage的缺陷 Coverage模型可取的方面,有的已经可以不再继续作为强调的因素; 拓扑关系的建立可以由面向对象技术解决(记录在对象中) 硬件的发展,不再将存储空间的节省与否作为考虑问题的重心 计算机运算能力的提高,已经可以实时地通过计算直接获得分析结果。 空间数据不能很好地与其行为相对应; 以文件方式保存空间数据,而将属性数据放在另外的DBMS系统中。这种方式对于日益趋向企业级和社会级的GIS应用而言,已很难适应(如海量数据、 并发等) Coverage模型拓扑结构不够灵活,局部的变动必须对全局的拓扑关系重新建立(Build) “牵一发而动全身”,且费时 在不同的Coverage之间无法建立拓扑关系; 河流与国界 人井与管道 2.文件-关系数据库混合型管理——ArcInfo、ArcView GIS的Shape文件和Mapinfo中的Tab文件管理 用文件系统管理几何图形数据,用商用关系型数据库管理属性数据,两者之间通过目标标识或内部连接码进行连接。在这一管理模式中,除通过OID(object,ID)连接之外,图形数据和属性数据几乎是完全独立组织、管理与检索的。当前GIS ODBC(Open Database Consortium,开放性数据库连接协议)

数据库基础知识试题(含答案)

数据库基础知识试题 部门____________ __________ 日期_________ 得分__________ 一、不定项选择题(每题1.5分,共30分) 1.DELETE语句用来删除表中的数据,一次可以删除( )。D A .一行 B.多行 C.一行和多行 D.多行 2.数据库文件中主数据文件扩展名和次数据库文件扩展名分别为( )。C A. .mdf .ldf B. .ldf .mdf C. .mdf .ndf D. .ndf .mdf 3.视图是从一个或多个表中或视图中导出的()。A A 表 B 查询 C 报表 D 数据 4.下列运算符中表示任意字符的是( )。B A. * B. % C. LIKE D._ 5.()是SQL Server中最重要的管理工具。A A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器 6.()不是用来查询、添加、修改和删除数据库中数据的语句。D A、SELECT B、INSERT C、UPDATE D、DROP 7.在oracle中下列哪个表名是不允许的()。D A、abc$ B、abc C、abc_ D、_abc 8.使用SQL命令将教师表teacher中工资salary字段的值增加500,应该使用的命令 是()。D A、Replace salary with salary+500 B、Update teacher salary with salary+500 C、Update set salary with salary+500 D、Update teacher set salary=salary+500 9.表的两种相关约束是()。C

空间数据库复习重点答案完整)

1、举例说明什么是空间数据、非空间数据?如何理解空间查询和非空间查询的区别?常用的空间数据库管理方式有哪几种及其各自特点。 数据:是指客观事务的属性、数量、位置及其相互关系等的符号描述。空间数据:是对现实世界中空间对象(事物)的描述,其实质是指以地球表面空间位置为参照,用来描述空间实体的位置、形状、大小及其分布特征等诸多方面信息的数据。河流的泛洪区,卫星影像数据、气象气候数据等都可以是空间数据书店名称店员人数,去年的销售量,电话号码等是非空间数据 空间查询是对空间数据的查询或命令 人工管理阶段 文件管理阶段缺点: 1)程序依赖于数据文件的存储结构,数据文件修改时,应用程序也随之改变。 2)以文件形式共享,当多个程序共享一数据文件时,文件的修改,需得到所有应用的许可。不能达到真正的共享,即数据项、记录项的共享。 常用: 文件与数据库系统混合管理阶段优点:由于一部分建立在标准的RDBMS上,存储和检索数据比较有效、可靠。 缺点:1)由于使用了两个子系统,它们各自有自己的规则,查询操作难以优化,存储在RDBMS外的数据有时会丢失数据项的语义。 2)数据完整性的约束条件可能遭破坏,如在几何空间数据系统中目标实体仍存在,但在RDBMS中却已删除。 3)几何数据采用图形文件管理,功能较弱,特别是在数据的安全性、一致性、完整性、并发控制方面,比商用数据库要逊色得多 全关系型空间数据库管理系统 ◆属性数据、几何数据同时采用关系式数据库进行管理 ◆空间数据和属性数据不必进行烦琐的连接,数据存取较快 ◆属性间接存取,效率比DBMS的直接存取慢,特别是涉及空间查询、对象嵌套等复杂的空间操作 ◆GIS软件:System9,Small World、GeoView等 本质:GIS软件商在标准DBMS顶层开发一个能容纳、管理空间数据的系统功能。 对象关系数据库管理系统 优点:在核心DBMS中进行数据类型的直接操作很方便、有效,并且用户还可以开发自己的空间存取算法。缺点:用户须在DBMS环境中实施自己的数据类型,对有些应用相当困难。 面向对象的数据库系统。 采用面向对象方法建立的数据库系统; 对问题领域进行自然的分割,以更接近人类通常思维的方式建立问题领域的模型。 目前面向对象数据库管理系统还不够成熟,价格昂贵,在空间数据管理领域还不太适用; 基于对象关系的空间数据库管理系统可能成为空间数据管理的主流 2、什么是GIS,什么是SDBMS?请阐述二者的区别和联系。 GIS是一个利用空间分析功能进行可视化和空间数据分析的软件。它的主要功能有:搜索、定位分析、地形分析、流分析、分布、空间分析/统计、度量GIS 可以利用SDBMS来存储、搜索、查询、分享大量的空间数据集 改:地理信息系统是以地理空间数据库为基础,在计算机软硬件的支持下,运用系统工 科学管理和综合分析具有空间内涵的地理数据,以提供管理、决策等所需信息的技术系统。简单的说,地理信息系统就是综合处理和分析地理空间数据的一种技术系统。

数据库性能监测指标

数据库性能监测指标(如Oracle、SqlServer)、LoadRunner 性能测试指标 1.%Disk Time(PhysicalDisk_Total) 2.%Processor Time(Processor_Total) 3.File Data Operations/sec(System) 4.Interrupts/sec(Processor_Total) 5.Page Faults/sec(Memory) 6.Pages/sec(Memory) 7.PoolNonpaged Bytes(Memory) 8.Private Bytes(Process_Total) 9.Processor Queue Length(System) 10.Threads(Objects) dbm: rem_cons_in 到正在被监视的数据库管理器实例的当前连接数,从远程客户端启动 agents_from_pool 代理程序池中已分配的代理程序数 agents_stolen 从应用程序中盗用代理程序的次数。重新分配与应用程序相关联的空闲代理程序,以便对其他应用程序执行操作,称作“盗用” sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数post_threshold_sorts 达到排序堆阈值后,已请求的堆的排序数 db: appls_cur_cons 当前已连接到数据库的应用程序数 appls_in_db2 当前已连接到数据库并且数据库管理器当前正在处理其请求的应用程序数sort_heap_allocated 拍快照时,以所选择的级别为所有排序分配的排序堆空间的总页数total_sorts 已经执行的排序总数 total_sort_time 所有已执行排序的总已用时间(以毫秒为单位) sort_overflows 用完排序堆并且可能需要临时磁盘存储空间的排序总数 hash_join_small_overflows 哈希联接数据大小超过可用排序堆空间,但超出比率小于10% 的次数 pool_data_l_reads 已经通过缓冲池的数据页逻辑读取请求数 pool_data_p_reads 要求I/O 将数据页放入缓冲池的读取请求数 pool_index_l_reads 已经通过缓冲池的索引页逻辑读取请求数 pool_index_p_reads 需要将索引页放入缓冲池的物理读取请求数 files_closed 已关闭的数据库文件的总数 pkg_cache_lookups 应用程序在程序包缓存中查找一个节或程序包的次数。在数据库级,它表示自从启动数据库或重置监视器数据以来的引用总数 pkg_cache_inserts 请求的一个节不可用,因而必须加载到程序包缓存中的总次数。此计数包括由系统执行的任何隐式准备

石油钻井工程数据库的建设与应用系列三

石油钻井工程数据库的建设与应用系列三 【摘要】世界石油勘探开发的发展趋势,是以自动化、信息化、实时化、集成化、智能化为特点,向数字化方向全面发展,目的是增加产量、降低成本、提高经济效益。数字化的基础是数据库的建设及应用。 【关键词】石油钻井;数字化;数据库建设 Series 3:The Construction and Application of Petroleum Drilling Engineering Parameter Database SONG Kai (Shandong University of Technology,Zibo Shandong 255049,China) 【Abstract】Nowadays,the development trends of the petroleum exploration and development are based on automation,informatization,real-time,integration and intelligentization. It develops towards the direction of digitalization which plays an important role for oil companies increasing production,reducing the costs and improving the benefit. It is obvious that the digitalization is built on the database construction. 【Key words】Petroleum drilling;Digitalization;Database construction 0 前言 上期《石油钻井工程数据库的建设与应用系列一》讲述了石油钻井工程参数数据库建设的重要性和石油钻井工程参数数据库建设的基本框架,数字化钻井的目的是建立智能化的生产管理系统。在物探、地质油藏等相关专业数据库高度集成共享的基础上,建立钻井、泥浆、固井、定向、测井、完井等多专业的综合数据应用体系。在建立钻井生产和管理流程优化应用模型的基础上,下一步利用实时监测技术、仿真以及CAD等技术对数据实现实时和多维表达,并且通过建立智能化分析模型,为钻井施工和经营管理提供实时辅助决策信息,进一步优化设计与施工,提高钻井的生产时效,减少复杂与事故,降低钻井成本。《石油钻井工程数据库的建设与应用系列二》讲述了钻井数据库数据采集的方式方法。本期讲述石油钻井工程数据库的基本设计。 1 钻井工程参数数据库的基本设计 石油钻井工程参数数据库主要分为工程参数实时监测数据部分和人工输入的数据部分。 1.1 钻井综合数据库设计与实现

数据库性能监控

数据库性能监控 1.纲要: 数据库性能监控是一个常非大范围。 包含:表空间、段、索引、主键、数据缓冲区、库缓冲、用户锁、等待事件、回滚段、I/O、共享池等等。(空间、索引、等待事件) 2.概述: 在日常生产系统中,我们的系统都使用相当长的时间,SGA 中重做日志缓存区的命中率,应该小于1%、高速缓存命中>=90%率等等一般都是正常的,当然一个非常低的命中率的确意味着系统配置或应用存在严重问题;非常高的缓存命中率存在严重低效率的SQL语句(极差的SQL造成%99以上的命中率), 但命中率的多少义意不是很大,主要是查看系统的等待事件,系统的反应时间,吞吐率(I/O)。 在系统的配置都没有问题情况下,影响性能的主要方面集中在: 1、索引 2、oracle、操作系统某些资源利用的不合理 3、系统的等待事件 3.索引 要开始监控一个索引的使用,使用这个命令: ALTER INDEX pk_addr MONITORING USAGE;

要停止监控一个索引,输入: ALTER INDEX pk_addr NOMONITORING USAGE; 开始监控索引的使用之后,就可以在sys.v$object_usage视图中查到你所监控的索引的使用情况。 所有被使用过至少一次的索引都可以被监控并显示到这个视图中。不过,一个用户只可以接收它自己schema中的索引使用。Oracle并没有提供一个视图来接收所有模式中的索引。 4.oracle、操作系统某些资源利用的不合理 内存分配不合理 内存的利用率多于80%时,这时说明内存方面应该调节一下。方法大体有以下几项: 划给Oracle使用的内存不要超过系统内存的1/2,一般保在系统内存的40%为益。 为系统增加内存; 如果你的连接特别多,可以使用MTS的方式;(MTS(Multi-Threaded Server)是ORACLE SERVER的一个可选的配置选择,是相对DEDICATE方式而言,它最大的优点是在以不用增加物理资源(内存)的前提下支持更多的并发的连接。) 打全补丁,防止内存漏洞。 表空间分配的不合理 表空间不足的时候,系统前台根本无法使用。 回滚段空间的不足,持行脚本就回失败。 --监控表空间使用率与剩余空间大小的语句 SELECT D.TABLESPACE_NAME,SPACE "空间(M)", BLOCKS ,SPACE-NVL(FREE_SPACE,0) "使用空间(M)", ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "使用率(%)", FREE_SPACE "空闲空间(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024),2) SPACE, SUM(BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D,

油气开发数据库

一、名词解释 1.数字油田 从广义角度看,数字油田是全面信息化的油田,即指以信息技术为手段全面实现油田实体和企业的数字化、网络化、智能化和可视化; 从狭义角度看,数字油田是一个以油田实体为对象、以地理空间坐标为依据、具有多分辨率、海量数据和多种数据融合、可用多媒体和虚拟技术进行多维表达、具有空间化、数字化、网络化、智能化和可视化特征的技术系统。 2.油气开发数据库 油气开发数据库是数字油田的一个子系统,它采用统一的标准结构,可以嵌入与开发相关的各种数据,是油藏静态特征、开发动态特征、井下作业、采油管理、生产管理的数字化的虚拟体。为科研、生产、经营、管理等活动提供依据。 3.油藏经营管理 油藏经营管理,就是在国家政治、经济允许范围内,充分应用先进的科学技术,为开发某一油藏或油田而制定和实施油藏经营策略的进程,以寻求最佳的经营方案。它通过有效地利用各种资源(人力,技术,财力等),降低投资额度和作业费用,使油田开发获得最大效益。 简而言之,就是把油藏或油田开发技术和经营管理策略相结合,以最少的投入获得最大的回收值。 4.油藏描述 油藏描述是指在一个油藏发现之后,运用多学科方法,多角度地了解和认识其开发地质特征,并进行表述。 5.实体 实体是现实世界的语义范畴,是客观存在并可相互区分的事物,是信息世界最主要的研究对象。实体具有存在和可区分两大特点。 6.属性 实体具有的某一特性称为属性。 7.关系模型 用表格数据来表示实体之间联系的模型叫关系模型。 8.关键字 关键字又称为关键码或码。如果一个属性集的值能够唯一地标识一个关系的元组且不含有多余的属性值,则称该属性集为候选关键字。一个关系中可能存在多个候选关键字,被选用的候选关键字称为主关键字,简称关键字。 9.数据库设计 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 10.数据流图 数据流图是从实际系统抽象出来的、用特定的符号反映系统的数据传递和变换过程的图。它是系统的逻辑模型,与实际系统中具体的处理人员、处理工具和处理方式等无关,只反映数据处理和传送的过程和方向。 11.数据字典 数据字典是各类数据描述的集合,数据字典是进行详细的数据收集和数据分析所获得的主要结果。

空间数据库复习资料

第一章 1数据库的定义:数据库:就是为了一定的目的,在计算机系统中以特定的结构组织、存储、管理和应用的相关联的数据集合。空间数据库是存取、管理空间信息的数据库。 2 空间数据库的内容 (1)矢量地形要素数据库矢量核心地形要素数据库是利用计算机存储的各种数字地形数据及其数据管理软件的集合。 (2)数字高程模型数据库数字高程模型是计算机存储的数字高程模型数据及其管理软件的集合。 (3)数字正射影像数据库数字正射影像数据库是具有正射投影的数字影像的集合。 (4)数字栅格地图数据库数字栅格地图数据库是数据栅格地图及其管理软件的集合。数字栅格地图是现有纸质地形图经计算机处理后的栅格数字文件。 (5)元数据库元数据库是描述数据库/子库和库中各数字产品的元数据构成的数据库。(6)专题数据库专题数据库是各种专题数据的集合 3 空间数据管理演变过程(发展) 空间数据库的研究始于20世纪70年代的地图制图与遥感图像处理领域,其目的是为了有效利用卫星遥感资源迅速绘制出各种经济专题地图。 (1)人工管理阶段(50年代中期以前) (2)文件系统阶段(50年代后期—60年代中期) (3)文件与数据库管理阶段(20世纪70年代初) (4)全关系型空间数据库管理系统(20世纪70年代后期) (5)对象关系数据库管理系统 (6)面向对象的数据库管理系统 4 地理空间数据库主要研究内容 (1)空间数据模型 (2)地理空间数据的获取与处理1)空间数据库的准确性研究2)空间数据质量研究(3)地理空间数据组织1)空间数据的多种表达方式研究2)时空关系的研究 3)海量空间数据库的结构体系研究 (4)空间数据库管理系统1)空间关系语言研究2)分布式处理和Client/Server模式(5)地理空间数据共享研究1)空间数据共享的理论;2)空间数据共享的处理方法,包括数据规范、标准、元数据研究,空间数据融合、集成与互操作的理论与方法等。 第二章 1 空间实体——指具有确定的位置和形态特征并具有地理意义的地理空间物体。(河流、道 路、城市、航线等) 空间实体:地理信息系统中不可再分的最小单元现象称为空间实体.属性是空间实体已定义 的特征(如人口数量、林地上林木名称等) 空间实体:是指现实世界中地理实体的最小抽象单位,主要包括点、线和面三种类型.空间检索的目的是对给定的空间坐标,能够以尽快的速度搜索到坐标范围内的空间对象,进 而对空间对象进行拓扑关系的分析处理 2 空间对象模型特征 (1)点对象点是有特定的位置、维数为零的实体 1)点实体(point entity):用来代表一个实体。 2)注记点:用于定位注记。 3)内点(label point):用于记录多边形的属性,存在于多边形内。 4)结点(node):表示线的终点和起点。

石油钻井工程数据库的建设与应用系列四

石油钻井工程数据库的建设与应用系列四 【摘要】世界石油勘探开发的发展趋势,是以自动化、信息化、实时化、集成化、智能化为特点,向数字化方向全面发展,目的是增加产量、降低成本、提高经济效益。数字化的基础是数据库的建设及应用。 【关键词】石油钻井;数字化;数据库建设 0 前言 上期《石油钻井数据库的建设与应用系列一》讲述了石油钻井参数数据库建设的重要性和石油钻井参数数据库建设的基本框架,《石油钻井数据库的建设与应用系列二》讲述了钻井数据库数据采集的方式方法,《石油钻井数据库的建设与应用系列三》讲述了数据库的设计,本期介绍一些石油钻井工程数据库的应用。 1 钻井工程参数数据库的应用 1.1 钻井实时监测系统 是利用仪器上多种监测仪器和传感器实时采集钻井工程、钻井液、地质录井、测井等参数,经过数模转换、数据采集、软件处理,最终显示于计算机终端,并在软件处理过程中,实现实时数据的动态模型分析、计算以及动态绘制实时数据曲线等。系统采集:立管压力、套管压力、泥浆泵冲、入口液量、出口液量、出口气量、出口密度、粘度、切力等数十个参数。 钻井数据实时监测系统平台具有动态实时曲线显示、动态数字显示、动态数据库浏览、静态数据曲线显示、理论曲线显示、数据现场传输、远程通讯、自动及人工控制、应急及限值报警、自动数据备份、现场工况及出口情况监视等功能。开发了一套适合该系统的软件,可完成对立管压力、套管压力、出口液量、气量、密度、钻井液粘度、切力等参数的实时采集、变换,并将数据实时存入数据库文件,作为系统平台分析对比、计算和控制的数据源。 钻井过程中,可以把钻井工况分为两种状态:正常,非正常。根据以往的钻井历史数据建立正常和非正常状态的样本集,对模式进行设置。在钻井施工的过程中,将实时监测数据结合地层参数和泥浆进出口液量等参数进行实时事故判断,如发现井下异常,则立即报警。 1.2 钻井辅助决策平台 钻井辅助决策平台在钻井实时监测系统的基础上,由专家诊断系统、钻井辅助设计系统、钻井生产指挥系统和事故与复杂情况处理系统等软件构成。 1)钻井动态实时监测与专家诊断系统

相关主题
文本预览
相关文档 最新文档